ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了するときに、これらの値をクラウド環境に固有の値に置き換えます。
Oracle Cloud Infrastructure Generative AIおよびREST APIを使用したシンプルなAIエージェント・ツールの開発
イントロダクション
大規模言語モデル(LLM)の使用は、システムおよびビジネス・プロセスとの対話方法に革命をもたらしました。自然言語を理解し、レガシー・サービスと統合する機能により、これらのモデルはアプリケーションをよりインテリジェントかつ効率的にします。
この資料は、現実的な例を通じて、LLMの概念を適用してレガシー・システムとの統合を最適化する方法を示すことを目的としています。AIエージェントを使用することで、API消費の複雑さを大幅に軽減し、プロセスの自動化をより柔軟かつアクセスしやすくすることができます。
このドキュメント全体を通して、AIエージェントのアプリケーションが業務を簡素化し、手動構成の必要性を減らし、異なるシステム間の通信を容易にする一般的なシナリオが提示されます。
LLMモデルを使用して、ビジネス・プロセスを把握し、レガシー・サービスの直接実行を行います。理解は、コンテキストを含めることによって可能であり、アプリケーションの構築を大幅に促進し、高速化します。LLMモデルは、他のいくつかの言語への翻訳を含む自然言語を使用します。
次のチュートリアルでは、レガシーに基づいて単純なアプリケーションを構築する方法を示します。レガシーなAPIが存在する場合、AIエージェントを使用すると強力な統合が可能になります。多くの場合、LLMの概念をAIエージェントに適用することで、複雑なAPI消費の問題を解決できます。AIを使用しない場合、APIにはすべての入出力属性を知る必要があるため、統合のための多くの作業が必要です。
目的
- OCI生成AIとREST APIを使用して、シンプルなAIエージェント・ツールを開発します。
タスク1: コードのダウンロードと理解
agent_ocigenai.pyからコードをダウンロードします。
コードは5つのモジュールに分かれています。
Simple Database Persistence Services:このコードは、挿入、削除、問合せおよび順序の要約のための単純なデータベースの作成を定義します。
サービス定義:コードは、insert_order
、delete_order
、search_order
、order_cost
、delivery_address
など、複数のサービスを定義します。これらのサービスは、会話型エージェントによってコールできることを示す@toolデコレータで装飾されています。
言語モデル定義:このコードでは、ChatOCIGenAI言語モデルを使用して、ユーザー質問に対するレスポンスが生成されます。
会話型エージェント定義:コードは、LangChainのcreate_tool_calling_agent
関数を使用して会話型エージェントを作成し、言語モデル、定義済サービスおよびプロンプト・テンプレートをパラメータとして渡します。
会話型ループ:コードは無限ループに入ります。このループでは、ユーザー入力を待機し、会話型エージェントを使用してレスポンスを処理します。
-
データベース・サービス:
このデモンストレーションでは、データを単純なデータベースに格納するために、永続性用のSQLite3データベースを作成します。これらのサービスは、ビジネス・サービスで使用されます。
-
RESTサービス:
これらのサービスは、RESTコールの定義に使用されます。zipコードからアドレスをフェッチする例では、OCI API Gatewayをコールして、Oracle Integrationに組み込まれた統合を公開し、Oracle Cloud Infrastructure Kubernetes Engine (OKE)上のマイクロサービスからアドレスを取得します。
-
ビジネス・サービス:
ビジネス・サービスを実装する場合、OCI生成AIがそれぞれをより適切に調査できるように、これらのサービスを公開できます。これは、特定のコンテキストを自然言語で解釈し、特定のビジネス・サービスに関連付けることができる
langchain_core.tools
というライブラリを介して可能です。ビジネス・ロジックの一部となるサービスを宣言する場合、各サービスのドキュメント文字列に別名を宣言して、それらのコンテキスト化に役立てることができます。AIモデルを使用するプロンプトには、コンテキスト宣言も必要です。
各サービス定義では、自然言語でリクエストを送信するときに、ライブラリがリクエストされた内容を解釈し、どの適切なサービスを実行するかを決定できるように、特定のコンテキストを決定できます。
langchain_core.tools
ライブラリは、使用可能なコンテキストとサービスを関連付けることで、作業の範囲を理解します。これは、次の図に示す宣言によって行われます。
langchain_core.tools
ライブラリのもう1つの興味深い点は、サービス署名属性も解釈されることです。つまり、ライブラリ自体が自然言語でリクエストを転送する方法を決定し、問題のサービスのパラメータの属性を定義することです。これは、統合の実装負担を大幅に軽減するため、それ自体で非常に印象的です。従来の統合モデルでは、これらの統合のソースと宛先の間のFROM-TOの定義に時間がかかります。これは非常に合理的な努力です。エージェントAIモデルでは、属性が渡されるコンテキスト、つまり、ライブラリは各パラメータが何であるかを決定し、それを正しい方法でサービスに渡すことができます。
タスク2: コードの変更
コードは目的に応じてテストおよび変更できます。delivery_address
という名前のサービスは、REST APIをコールして実装されました。この例では、コードをテストし、実際のRESTリクエストを偽のリクエストに変更できます。
-
行に
#
を入れて、次のコードをコメント化します。 -
次のコードのコメントを解除します。
OCIリソースを使用して独自のAPIを統合できます。次のものを使用できます。
- OCI APIゲートウェイ
- Oracle Integration
- OCI Kubernetes Engine
- OCIストリーミング
また、オンプレミスまたは他のクラウド・リソースと統合できます。
タスク3: コードの構成
-
このpythonコードにはいくつかのライブラリが必要です。そのため、requirements.txtファイルをダウンロードする必要があります。このファイルにはライブラリが含まれています。
-
ライブラリをインストールするには、次のコマンドを実行します。
pip install -r requirements.txt
-
Oracle Cloud Infrastructureコマンドライン・インタフェース(OCI CLI)を構成し、テナンシにリンクする必要があります。インストールおよび構成は、OCI-CLIのインストールを参照してください。
-
OCI生成AIのリソースを格納するコンパートメントを構成します。
compartment_id
を更新し、auth_profile
をDEFAULTのままにします。
タスク4: コードの実行
次のコマンドを使用してコードを実行します。
python agent_ocigenai.py
AIエージェントのシナリオ
複数のREST APIとの統合やエージェントAIの使用には、いくつかのシナリオがあります。ビジネス情報と使用可能なAPIのマッピングの複雑さは多数あります。これは、いくつかの企業ビジネスにおいて非常に一般的です。エージェントAIがこのタスクを容易にできる例を次に示します。
-
財務プロセスの自動化(ERPおよび銀行)
- シナリオ:企業は、複数の銀行と統合して、取引明細書の取得、支払伝票の生成、支払の処理および税金情報の検証を行う必要があります。
- 課題:各銀行には独自のAPIがあり、支払、PIX、振替および財務照合に固有のパラメータがあります。
- AIエージェントが支援する方法: サプライヤXに対する請求書の支払などの要求を解釈し、必要なパラメータを使用して正しい銀行APIにリダイレクトできます。
-
Order Management and Logistics(Eコマース、ERP、WMS)
- シナリオ: eコマースは、注文の調整、在庫の更新、配送業者の要求をさまざまなタイプの配送で行う必要があります。
- 課題:運送業者APIは様々で(郵便局、FedEx、DHL、ローカル運送業者)、特定のリクエスト・フォーマットが必要です。
- AIエージェントが支援する方法: 最も安い配送業者を介してこの注文を出荷などのリクエストを翻訳し、適切なサービスを自動的に選択できます。
-
カスタマー・サービスとヘルプデスク
- シナリオ: Siebel、Oracle CX、ServiceNowなどのCRMを使用している企業は、顧客の要求を異なるAPIと統合する必要があります。
- 課題:各システムには、チケットの作成、ステータスの更新、顧客情報の取得、および履歴の追跡のための異なるエンドポイントがあります。
- AIエージェントの支援方法: 顧客Xからの最終コールを表示するなどのリクエストを理解し、正しいCRM APIを呼び出すことができます。
-
HRと給与の統合
- シナリオ:人事システムは、給与計算、福利厚生、オンボーディングを複数のベンダーやERP間で同期する必要があります。
- 課題:福利厚生、給与計算、タレントマネジメントのAPIには、さまざまな規制パラメータと検証があります。
- AIエージェントがどのように役立つか: 新規従業員の給与計算への許可などのコマンドを解釈し、適切なAPIへの適切なコールに変換できます。
-
インフラおよびセキュリティ監視(SIEMおよびITSM)
- シナリオ:大企業では、複数の監視システム(Splunk、Datadog、ServiceNow、Zabbix)を使用してインシデントと異常を追跡します。
- 課題:各ツールには、アラート、ログおよび自動応答用の異なるAPIがあります。
- AIエージェントの機能: 最新のクリティカル・アラートをリストし、ServiceNowでチケットを開くなどのコマンドを解釈できます。
-
契約管理とデジタル署名
- シナリオ:企業は、DocuSignやAdobe Signなどのサービスを使用して契約と署名を管理します。
- 課題:各サービスには、ドキュメントの送信、署名の検証、およびステータスの追跡に関する要件が異なります。
- AIエージェントの支援方法: この契約をクライアントXに送信して署名し、署名されたときに通知するなどのリクエストを受信し、正しいAPIに転送できます。
-
医療管理および電子医療記録(HIS、PACS、LIS、ERP)
- シナリオ:病院や診療所では、さまざまなシステムを使用して患者情報、検査室、医療画像を保存しています。
- 課題: Tasy (Philips)、MV、Epic、PACS (DICOM画像ファイル)などのシステムからのAPIには、異なるリクエスト形式があります。
- AIエージェントの機能: 患者John Smithの最新の血液検査を取得し、医療記録に添付するなどのコマンドを解釈して、適切なAPIを自動的に呼び出すことができます。
-
電気通信(テクニカル・サポートおよびサービス・プロビジョニング)
- シナリオ:通信事業者は電話、インターネット、TVサービスを提供し、複数の請求、CRM、ネットワーク監視システムを統合する必要があります。
- 課題:各操作(コールのオープン、計画の変更、消費の確認など)には、各サービスに固有の異なるAPIが含まれます。
- AIエージェントの支援方法: インターネット許容量を500MBに増やすことを理解し、適切なAPIをトリガーして計画をアップグレードできます。
-
保険自動化(請求およびポリシー発行)
- シナリオ:保険会社は、見積り、保険証券の発行、請求のAPIを統合する必要があります。
- 課題:各保険会社には独自のAPIがあり、パラメータは保険のタイプ(車両、健康、自宅)によって異なります。
- AIエージェントの支援方法: お客様のPedro Souzaの自動車に対する請求を副作用で登録するなどのリクエストを、適切なAPIへの自動コールに変換できます。
-
外国貿易および通関
- シナリオ:輸入/輸出を行う企業は、IRS API、国際運送業者、関税管理システムに対応する必要があります。
- 課題:各国には、ドキュメント(DU-E、DI、請求書、梱包リスト)のルールとフォーマットが異なります。
- AIエージェントがどのように役立つか: サントス港での貨物Xのリリースを追跡し、これをIRSおよび運送業者APIのリクエストに変換できます。
-
ホテル管理とオンライン予約
- シナリオ:予約や部屋の空き状況を管理するには、ホテルをBooking、Expedia、Airbnbなどのプラットフォームと統合する必要があります。
- 課題:各プラットフォームには、キャンセル、レート調整、および応答時間のルールが異なります。
- AIエージェントがどのように役立つか: 金曜日のレートをR$400に調整し、月曜日の予約をブロックし、正しいAPIを呼び出すことができます。
-
マーケティング・オートメーションおよび広告キャンペーン
- シナリオ:企業は、デジタル・キャンペーンにMeta Ads、Google Ads、HubSpot、RD Stationなどのツールを使用します。
- 課題:キャンペーンを作成し、オーディエンスをセグメント化し、メトリックを分析するには、複数のAPIとの統合が必要です。
- AIエージェントがどのように役立つか: テクノロジーに関心のある25~40歳のオーディエンスのFacebookで広告を作成し、500ドルの予算でキャンペーンを自動的に構成できます。
-
Supply Chain and Inventory Management
- シナリオ:大規模な小売チェーンでは、在庫をリアルタイムで監視し、自動補充を予測する必要があります。
- 課題: ERP、WMS、およびサプライヤ・システムには、製品購買依頼と需要予測のための個別のAPIがあります。
- AIエージェントの支援方法: 製品Xが10ユニットに達したときに補充を理解し、適切なAPIをトリガーできます。
-
チャットボットとオムニチャネル・サービスの統合
- シナリオ:企業は、WhatsApp、Telegram、電子メール、チャットボットを通じてサポートを提供し、CRMのすべてを一元化する必要があります。
- 課題:自動応答とルーティングのルールが異なる、チャネルごとに異なるAPI。
- AIエージェントがどのように役立つか: この支払質問を人間の参加者に転送し、正しいチャネルにリダイレクトできます。
-
エネルギー管理とIoT(スマートグリッド)
- シナリオ:電力会社はAPIを使用して、消費量の測定、需要の予測、および予防保守を行います。
- 課題: IoTシステム、センサーおよびエネルギー・ディストリビュータには、異なる規制されたAPIがあります。
- AIエージェントがどのように役立つか: ファクトリXの消費をモニターし、100 kWhを超える場合は通知して、自動アラートを構成できます。
次のステップ
LLMを活用したAIエージェントの採用は、レガシー・システムとの統合を合理化する大きな可能性を示しています。自然言語のコマンドを解釈し、リクエストを正確なAPIコールに変換することで、これらのエージェントはビジネス・プロセスの自動化の複雑さを大幅に軽減します。
ここに示す例は、財務やロジスティクスからカスタマー・サービスやインフラストラクチャの監視まで、このアプローチをさまざまな業界にどのように適用できるかを示しています。AIエージェントがさまざまなサービスやコンテキストに動的に適応する能力は、企業のデジタル変革において新たなレベルの柔軟性と効率性を提供します。
AIモデルの進化に伴い、これらの統合はさらにインテリジェントになり、ユーザーとシステム間の自然で正確なやり取りができるようになることが期待されています。自動化の未来には人工知能とAPIの組み合わせが伴い、AIエージェントがこのデジタル接続の新しい時代の鍵となります。
関連リンク
承認
- 著者 - Cristiano Hoshikawa (Oracle LAD Aチーム・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Develop a Simple AI Agent Tool using Oracle Cloud Infrastructure Generative AI and REST APIs
G29030-01
Copyright ©2025, Oracle and/or its affiliates.