LangServe 0.2 : 概要
作成 : クラスキャット セールスインフォメーション
作成日時 : 07/07/2024
* 本ページは、github : langchain-ai/langserve の以下のページを独自に翻訳してまとめ直したものです :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
◆ お問合せ : 本件に関するお問合せは下記までお願いします。
- クラスキャット セールス・インフォメーション
- sales-info@classcat.com
- ClassCatJP
LangServe 0.2 : 概要
LangServe は、開発者が LangChain の runnable と chain を REST API として配備するのに役立ちます。このライブラリは FastAPI と統合され、データ検証のために pydantic を使用しています。
更に、サーバ上に配備された runnable を呼び出すために使用できるクライアントも提供します。JavaScript クライアントは LangChain.js で利用可能です。
特徴
- 入出力スキーマは LangChain オブジェクトから自動的に推論され、すべての API 呼び出しで強制され、詳細なエラーメッセージを含みます。
- JSONSchema と Swagger を使用した API docs ページ (サンプルのリンクを挿入)
- 単一サーバ上で多くの同時リクエストをサポートをする、効率的な /invoke, /batch と /stream エンドポイント。
- チェイン/エージェントからのすべての (or 一部の) 中間ステップをストリーミングするための /stream_log エンドポイント。
- 0.0.40 から新たに /stream_events をサポート、これは /stream_log の出力を解析する必要なくストリーミングを簡単にします。
- ストリーミング出力と中間ステップを備えた、/playground/ のプレイグラウンド・ページ。
- LangSmith への組み込みの (オプション) トレース、API キーを追加するだけです (手順 参照)。
- FastAPI, Pydantic, uvloop と asyncio のような、実績あるオープンソースの Python ライブラリですべて構築されています。
- クライアント SDK を使用して、ローカルで動作している Runnable であるかのように LangServe サーバを呼び出します (または HTTP API を直接呼び出します)。
- LangServe Hub
インストール
クライアントとサーバの両方のためには :
pip install "langserve[all]"
または、クライアントコードのために :
pip install "langserve[client]"
、そしてサーバコードのために :
pip install "langserve[server]"
LangChain CLI 🛠️
LangChain CLI を使用して LangServe プロジェクトを素早くブートストラップします。
langchain CLI を使用するには、langchain-cli の最新版がインストールされていることを確認してください。”pip install -U langchain-cli” でインストールできます。
セットアップ
Note : 依存関係管理に poetry を使用します。その詳細は poetry doc に従ってください。
- langchain cli コマンドを使用して新しい app を作成します。
langchain app new my-app
- add_routes 内に runnable を定義します。server.py に進み編集します :
add_routes(app. NotImplemented)
- poetry を使用して 3rd パーティのパッケージ (e.g., langchain-openai, langchain-anthropic, langchain-mistral 等) を追加します。
poetry add [package-name] // e.g `poetry add langchain-openai`
- 関連する環境変数をセットアップします。例えば :
export OPENAI_API_KEY="sk-..."
- Serve your app :
poetry run langchain serve --port=8100
以上