国と時間帯に基づいて挨拶を返す簡単な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.py
Question: ドイツの朝の挨拶は?
> Entering new APIChain chain...
http://127.0.0.1:8000/?time=morning&country=de
{"greeting":"Guten Morgen"}
> Finished chain.
質問内容に合わせて適切にAPIエンドポイントを叩いてくれていることがわかります🎉