Langfuse
LangfuseはLLMアプリケーション専用に設計されたオープンソースの可観測性プラットフォームです。
注意: 現在、AI関連の呼び出しのみが詳細なテレメトリデータを含みます。その他の操作はトレースを作成しますが、情報は限定的です。
設定
MastraでLangfuseを使用するには、環境変数を使用するか、Mastra設定で直接設定することができます。
環境変数を使用する
以下の環境変数を設定してください:
OTEL_EXPORTER_OTLP_ENDPOINT="https://cloud.langfuse.com/api/public/otel/v1/traces" # 🇪🇺 EUデータリージョン
# OTEL_EXPORTER_OTLP_ENDPOINT="https://us.cloud.langfuse.com/api/public/otel/v1/traces" # 🇺🇸 USデータリージョン
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic ${AUTH_STRING}"
ここでAUTH_STRING
は、パブリックキーとシークレットキーのbase64エンコードされた組み合わせです(以下を参照)。
AUTH_STRINGの生成
認証では、LangfuseのAPIキーを使用したベーシック認証を使用します。base64エンコードされた認証文字列は以下を使用して生成できます:
echo -n "pk-lf-1234567890:sk-lf-1234567890" | base64
GNUシステムで長いAPIキーの場合、自動折り返しを防ぐために-w 0
を追加する必要がある場合があります:
echo -n "pk-lf-1234567890:sk-lf-1234567890" | base64 -w 0
実装
OpenTelemetryでLangfuseを使用するようにMastraを設定する方法は以下の通りです:
import { Mastra } from "@mastra/core";
export const mastra = new Mastra({
// ... other config
telemetry: {
enabled: true,
export: {
type: 'otlp',
endpoint: 'https://cloud.langfuse.com/api/public/otel/v1/traces', // または任意のエンドポイント
headers: {
Authorization: `Basic ${AUTH_STRING}`, // base64エンコードされた認証文字列
},
},
},
});
または、環境変数を使用している場合は、設定を簡素化できます:
import { Mastra } from "@mastra/core";
export const mastra = new Mastra({
// ... other config
telemetry: {
enabled: true,
export: {
type: 'otlp',
// エンドポイントとヘッダーはOTEL_EXPORTER_OTLP_*環境変数から読み取られます
},
},
});
ダッシュボード
設定が完了すると、cloud.langfuse.com のLangfuseダッシュボードでトレースと分析を表示できます。