Langfuseとは?
LangfuseはLLMを用いたアプリケーションのためのオープンソースの観測・分析プラットフォームです。トレースを取得し、ダッシュボードからレイテンシやコストを確認することが可能です。watsonx OrchestrateのADKはLangfuseを同梱しており、構成をすることで簡単にAgentの挙動をモニタリングできます。
Langfuseとwatsonx Orchestrateの構成
Langfuseサーバーの起動とAPIKeyの取得
デフォルトではLangfuseのコンテナは起動しないため、-lオプションを用いてサーバーを起動します。
orchestrate server start -l -e env
これにより、サーバー起動時に、docker-langfuse-web-1とdocker-langfuse-worker-1というコンテナが起動します。
ブラウザより http://localhost:3010 にアクセスすることで管理画面を表示します。
User:orchestrate@ibm.com
Password: orchestrate
でログインすることが可能です。
※本来自動的に開発環境とlangfuseとの接続構成が行われるようなのですが、なぜか構成されなかったため、構成方法の勉強も兼ねて手動で構成します。
プロジェクトが作成済みなので、Settings > API Keysから新規のAPIKeyを作成して、Public KeyとSecret Keyをメモしてください。
サーバーの構成
APIKeyを取得できたら、Orchestrate側の構成を行います。まず、以下のようなyamlファイルを作成します。
api_keyとpublic_keyを取得した値に置き換えます。注意点としては、public_keyの前はスペースではなくて、タブである必要があります。
spec_version: v1
kind: langfuse
project_id: default
api_key: <your_secret_key>
url: http://langfuse-web:3000/api/public/otel
host_health_uri: http://langfuse-web:3000/api/public/health
config_json:
public_key: <your_public_key>
mask_pii: true
次に以下のコマンドを発行して適用します。
orchestrate settings observability langfuse configure --config-file ./sample_langfuse.yaml
以上で準備は完了です。
traceの確認
chat画面から何かしらの処理を実行した後に、再び http://localhost:3010 にアクセスし、traceが取得できているか確認してみましょう。
一連の処理の流れや、プロンプト、レイテンシなどを確認することが可能です。
ダッシュボードの確認
Langfuseでは、ダッシュボーを構築して様々な指標を確認することが可能です。デフォルトでいくつかのダッシュボードが構成済みなのでそちらも見てみましょう。
まとめ
この記事ではwatsonx OrchestrateのADKでLangfuseを使用するための手順について説明しました。AIAgentは様々なコンポーネントを用いて複雑に動作したり、モデルの使用量がコストに影響するケースもあるため、特に可観測性が求められます。このような簡単な手順でリッチなモニタリング機能を利用できるのは非常に有用と感じられました。