国と時間帯に基づいて挨拶を返す簡単なAPIサーバーをたてた上で、LangChainのAPIChainを使用することでAPIドキュメントを与えるだけで適切なAPIエンドポイントを叩くことができるサンプルです。
まず、アプリケーションで必要なライブラリをインストールしてください。requirements.txtファイルに記載されているライブラリをインストールするには、以下のコマンドを実行します。
pip install -r requirements.txt環境構築が完了したら、アプリケーションを実行することができます。次のコマンドを実行して、アプリケーションを起動してください。
uvicorn main:app --reloadこのコマンドは、main.pyファイル内のFastAPIインスタンスappを使用して、アプリケーションを起動します。--reloadオプションを使うことで、コードの変更が自動的に反映されるようになります。
アプリケーションが起動している間は、以下のURLでAPIにアクセスできます。
http://127.0.0.1:8000
APIエンドポイントには、time(時間帯)とcountry(言語コード)パラメータが必要です。例えば、日本語の朝の挨拶を取得するには、以下のURLを使用します。
http://127.0.0.1:8000/?time=morning&country=ja
Webブラウザやcurlコマンド、またはPostmanのようなAPIクライアントを使ってリクエストを送信し、挨拶を取得できます。
export OPENAI_API_KEY=<your api key>python langchain/api_chain.pyQuestion: ドイツの朝の挨拶は?
> Entering new APIChain chain...
http://127.0.0.1:8000/?time=morning&country=de
{"greeting":"Guten Morgen"}
> Finished chain.
質問内容に合わせて適切にAPIエンドポイントを叩いてくれていることがわかります🎉