Bing Search APIをLangChainを使って呼び出し、最新の情報を回答させてみた(Azure Chat OpenAI)

はじめに

AzureのLangChainライブラリを使って、特定の質問に対する回答を生成するエージェントを実装してみました。

環境

  • Python 3.11.5
  • LangChain
  • Azure OpenAI
  • dotenv

実装

環境変数の設定

.envファイルを作成し、環境変数を設定します。ご自身の環境に合わせてください。

.env

必要なライブラリのインポート

まず、環境変数の取得、LangChainのチャットモデルの構築、およびエージェントの初期化に必要なライブラリをインポートします。

このコードは、環境変数を読み込み、LangChainおよびAzure関連のクラスをインポートします。

AzureChatOpenAIの設定

次に、AzureのChat OpenAIモデルを設定します。

この部分では、Azure OpenAIのAPIキーとエンドポイントを環境変数から取得し、AzureChatOpenAI オブジェクトを初期化しています。温度パラメータを0に設定していますが、これはモデルがより確実な(あまり創造的ではない)回答を生成するようにするためです。

ツールのロード

LangChainのツールをロードします。

ここでは、Bing検索ツールをロードし、これを先ほど作成した言語モデルに関連付けています。

エージェントの初期化

エージェントを初期化します。

このステップでは、先にロードしたツールと言語モデルを使用してエージェントを初期化しています。ここで、エージェントのタイプとしてZERO_SHOT_REACT_DESCRIPTIONを指定しています。これは、エージェントが与えられたプロンプトに基づいて即座に反応するようにするためです。

エージェントの実行

最後に、エージェントに質問を投げかけて、回答を生成させます。

この行では、エージェントに2023年の野球日本シリーズで優勝したチームに関する質問をしています。

結果

「阪神タイガーズ」という結果が返ってきました。

おわりに

お疲れ様でした!
以下で情報発信しています!

https://twitter.com/t___tatsuki

参考文献

https://zenn.dev/laiso/articles/15b0bcaa3b2a38

この記事を書いた人

azure-recipe-user