KDL BLOG

LangChainとAzure OpenAIでAI エージェント ~実装編~

こんにちは! Data Intelligenceチームの福岡です。

今回は、前回に引き続きLangchainとAzure OpenAIでAIエージェントを構築します。

前回記事はこち

前回のまとめ

  • AIエージェントとは「AIが自律的に目標達成に向けたデータを収集し、アクションを実行するシステム」
  • 旅行者の問い合わせと予約を処理するAIエージェントを実装したい。
    • サンプルコードのままではAzure OpenAI Serviceを使用できない。また、手順通りではエラーになる箇所やわかりにくい箇所がある。
  • 不足を補いつつAzure OpenAI Serviceを使用できるように修正し、さらにどのような仕組みになっているかを深堀するのが本連載の目的。
  • 準備編となる前回は、ドキュメントとベクトルを読み込むまで完了した。
    • これにより、Cosmos DBに旅客船や旅行プランの情報が読み込めた(アーキテクチャ図のDATAの部分の準備が完了した)。

本記事では、以下のSERVICEレイヤについて、実際にAPIを呼び出すところから続けます!

アーキテクチャ図(公式ドキュメント中より引用)

API の環境を設定する

APIを呼び出す準備をします。 公式ドキュメントのAPI の環境を設定するの手順に従ってください。 しかし、そのまま実行するとエラーになるので一部を修正します。

修正項目・補足事項

環境構築について

前回記事と同様に、筆者はpyenv + poetryで環境構築をしています。 前回記事で筆者と同様に環境を準備した方は、ここでは以下のように3つのライブラリをインストールすればOKです。

poetry add fastapi
poetry add uvicorn
poetry add langchain-mongodb

環境変数について

前回と同じくOpenAI API をAzure OpenAI Serviceに置き換えるため、手順通りでは不十分です。 以下のように準備してください。

  • まず、前回記事でloaderディレクトリの.envに記述した内容をすべてコピーし、今回作成したapi ディレクトリの.envに貼り付けます。
  • また、今回は埋め込みモデルだけではなくチャット用モデルも使用します。
  • そのため、以下の環境変数を追加してください。デプロイ名は実際のものに置き換えてください。
AZURE_OPENAI_DEPLOYMENT_NAME_CHAT = <チャット用モデルのデプロイ名>


(つづきは、ブログ「神戸のデータ活用塾!KDL Data Blog」へ)

hatena.png