LangChainのLangServeは、LangChainで構築したチェーン(Chain)やエージェント(Agent)をAPIとしてデプロイできる仕組みです。これは、モデルの推論処理をWeb APIとして公開することで、他のアプリケーションやシステムと連携しやすくするための仕組みです。
以下に「LangServeによるLangChain APIのデプロイ」について詳しく説明します。
LangServeとは
LangServeは、LangChainのチェーンやエージェントをFastAPIベースのサーバーとして立ち上げるツールです。
LangChainプロジェクトをPythonモジュールとして記述することで、LangServeが自動的にAPIエンドポイントを生成します。
主な特徴
| 特徴 | 内容 |
|---|---|
| API自動生成 | チェーンやエージェントに基づいてRESTful APIを自動生成 |
| Web UI提供 | ローカルホストでSwagger UIやLangServe独自UIを提供 |
| シンプルな構成 | chain.yamlやmain.pyを使って簡単に構成可能 |
| デバッグしやすい | 入出力ログやメタ情報を可視化できる |
LangServeによるデプロイ手順
1. LangChainプロジェクトの作成
まず、LangChainでチェーンまたはエージェントを作成します。以下はシンプルなチェーンの例です:
2. main.pyでAPIエクスポート準備
main.pyでAPIエクスポート準備
3. サーバーの起動
ターミナルで以下を実行:
すると、以下のAPIが自動生成されます:
-
POST /hello/invoke(チェーンの実行) -
POST /hello/stream(ストリーム出力) -
GET /hello/openapi.json(OpenAPIスキーマ) -
GET /hello/docs(Swagger UI)
LangServeのWeb UI
LangServeは、ローカルのWeb UIも提供します。
-
/hello/playground:チェーンの動作確認やプロンプトテストが可能 -
/hello/docs:API仕様をSwagger形式で閲覧・試行可能
LangServeの用途例
-
LLMベースのチャットボットAPIを社内Webサービスとして提供
-
チェーンをベクトルDBや外部APIと連携させたエージェントとして提供
-
RAG(Retrieval-Augmented Generation)処理をREST APIとして公開
LangServe + LangChainHubとの連携
LangServeは、LangChainHubからチェーン定義を直接読み込むことも可能です。LangChainHubはチェーンやプロンプトの公開・共有プラットフォームであり、以下のように呼び出せます:
まとめ
LangServeは、LangChainで作成したLLMチェーンやエージェントを手軽にREST APIとしてデプロイできる強力なツールです。開発者が迅速にプロトタイピングし、他のサービスと連携させるためのインターフェースとして重要な役割を果たします。
ChatGPT4o 生成日:2025/06/12