はじめに
LangfuseはオープンソースのLLM(大規模言語モデル)エンジニアリングプラットフォームです。呼び出しの観察、プロンプトの管理、実験の実行、結果の評価のためのツールを提供することで、LLMアプリケーションのトレース、デバッグ、最適化を支援します。Langfuseチームによって開発されたこのプラットフォームは、LangChainやOpenAIなどのフレームワークをサポートしています。langfuseはクラウドサービス(無料パッケージあり)とセルフホストオプションを提供しており、本番環境への導入が容易で実績があります。
代理店および ラグ ランタイムは、ラングスミスと同様に視覚化され、観察される。
機能一覧
- 応用観察LLMアプリケーションの各コールをトレースし、入出力、レイテンシ、コストを記録する。
- キュー・マネジメントバージョン管理とチームワークの調整をサポートする、キュー・ワードの一元管理。
- データセット管理テストデータセットを作成し、モデルやキューの効果を比較するための実験を行う。
- 評価ツール:: ユーザーフィードバック、手動ラベリング、自動評価による出力品質のチェックのサポート。
- デバッグ・サポート詳細なログとユーザーセッションを表示し、問題を素早く特定します。
- 実験的な遊び場プロンプトの単語やモデル構成をテストし、開発の反復を加速させる。
- マルチフレームワーク対応LangChain、OpenAI SDK、LiteLLMなどに対応。
- APIの統合LLMOpsのワークフローをカスタマイズするための包括的なAPIを提供します。
ヘルプの使用
インストールと展開
クラウドサービス
- アカウント登録アクセス ラングフューズクラウド登録するには「登録」をクリックしてください。
- プロジェクトを作成するログイン後、"New Project "をクリックし、プロジェクト名を入力します。
- キーを入手するプロジェクト設定で生成
PUBLIC_KEY
歌で応えるSECRET_KEY
. - 使い始めるインストール不要で、SDKから直接クラウドサービスに接続できます。
ローカルデプロイメント(Docker Compose)
- 環境を整えるDockerとDocker ComposeはDockerのウェブサイトからダウンロードできます。
- クローンコードターミナルで実行
git clone https://github.com/langfuse/langfuse.git
次に、カタログを入力する。cd langfuse
. - サービス開始入力
docker compose up
を選択し、起動が完了するのを待つ。http://localhost:3000
. - 糺すブラウザアクセス
http://localhost:3000
ログインページが表示されれば成功です。 - キーの設定登録後、SDKのUIでキーを生成します。
Kubernetesのデプロイメント(プロダクションの推奨)
- クラスタの準備Minikube(ローカルテスト用)またはAWSなどのクラウドサービスを使用してKubernetesクラスタを作成します。
- ヘルム追加ランニング
helm repo add langfuse https://langfuse.github.io/langfuse-k8s
歌で応えるhelm repo update
. - コンフィグ作成
values.yaml
データベースと主要な情報が入力される。 公文書). - 展開入力
helm install langfuse langfuse/langfuse -f values.yaml
終わるまで待つ。 - インタビューIngressに基づくサービスアドレスへのアクセスを設定する。
仮想マシンの展開
- 単一の仮想マシン上での実行
docker compose up
手順はローカル展開と同じです。
主な機能
応用観察
- SDKのインストールPython プロジェクト実行
pip install langfuse
JS/TSプロジェクト・ランnpm install langfuse
. - 初期化コードでキーとホストを設定する:
复制复制复制复制复制复制复制复制复制
from langfuse import Langfuse langfuse = Langfuse(public_key="pk-lf-xxx", secret_key="sk-lf-xxx", host="http://localhost:3000")
- レコード・コールデコレーターを使うか、手動でトレースする:
复制复制复制复制复制复制复制复制
from langfuse.decorators import observe @observe() def chat(input): return openai.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": input}]) chat("你好")
- 調べるUIの "Traces "ページでコールの詳細を確認してください。
キュー・マネジメント
- 新しいヒントUIの "プロンプト "ページで "新規プロンプト "をクリックし、名前と内容を入力する:
复制复制复制复制复制复制复制
System: 你是一个助手,直接回答问题。 User: {{question}}
- 使用上の注意コードでの呼び出し
langfuse.get_prompt("prompt-name")
. - バージョン管理プロンプトを変更した後、自動的にバージョンを保存し、ロールバックすることができます。
データセットと実験
- データセットの作成UI の "Datasets "ページで "Create Dataset "をクリックし、名前を "qa-test "とする。
- データ追加CSVを入力またはアップロードします:
复制复制复制复制复制复制
Input: "1+1等于几?" Expected: "2"
- 走行実験:: コードでテストする:
复制复制复制复制复制
dataset = langfuse.get_dataset("qa-test") for item in dataset.items: result = chat(item.input) item.link(langfuse.trace({"output": result}), "test-1")
- 分析済み実験結果をUIで見る。
遊び場
- 入るUIの "Playground "をクリックし、プロンプトとモデルのパラメータを入力する。
- 試験Run をクリックして出力を表示し、パラメータを調整して保存します。
- ジャンプトレース」エラー結果より引用 遊び場 修正。
注目の機能操作
デバッグ・ログ
- トレース」ページでは、入出力とコンテキストを見るためにコールをクリックします。
- セッション」でユーザーセッションを表示し、複数ラウンドの会話を分析。
評価アウトプット
- 手動式スコア」ページで出力を評価する(0~1)。
- オートメーションAPI 経由で評価を追加できます:
复制复制复制复制
langfuse.score(trace_id="xxx", name="accuracy", value=0.95)
APIの使用
- OpenAPI仕様またはSDK(Python/JSなど)を使用して呼び出され、例えばトレースを作成する:
复制复制复制
curl -X POST "http://localhost:3000/api/traces" -H "Authorization: Bearer sk-lf-xxx" -d '{"id": "trace-1", "name": "test"}'
アプリケーションシナリオ
- RAGプロセス可視化トラッキング
- キーワード・リコール、ベクトル・リコール、リコール・フュージョン、並べ替え、回答までのプロセス全体を視覚的に追跡
- インテリジェントな顧客サービスの開発
- チームはLangfuseを使用して会話を追跡し、回答の質を最適化し、カスタマーエクスペリエンスを向上させています。
- モデルの性能比較
- 開発者はデータセットを作成し、クイズ・タスクに対する複数のLLMのパフォーマンスをテストする。
- オンプレミス展開
- 同社は、機密データの保護と社内AIアプリケーションのデバッグのためにLangfuseをセルフホストしている。
品質保証
- どのような言語やフレームワークに対応していますか?
- PythonとJS/TSをサポートし、LangChain、OpenAI、LlamaIndexなどと互換性があります。
- セルフホスティングの最小構成は?
- 小規模なプロジェクトでは2コアのCPUと4GBのRAMを使用し、大規模なプロジェクトでは8コアと16GBを推奨する。
- テレメトリーを無効にするには?
- で環境変数を設定する。
TELEMETRY_ENABLED=false
.
- で環境変数を設定する。