Skip to content

W&B Weaveエクスポーター

Koogは、AIアプリケーションの可観測性と分析のためのWeights & Biasesが提供する開発者ツールであるW&B Weaveへエージェントのトレースをエクスポートする組み込みのサポートを提供します。 Weave連携により、プロンプト、補完、システムコンテキスト、および実行トレースをキャプチャし、それらをW&Bワークスペースで直接可視化できます。

KoogのOpenTelemetryサポートに関する背景については、OpenTelemetryサポートを参照してください。


セットアップ手順

  1. https://wandb.aiでW&Bアカウントを作成します。
  2. https://wandb.ai/authorizeからAPIキーを取得します。
  3. https://wandb.ai/homeでW&Bダッシュボードにアクセスしてエンティティ名を見つけます。個人のアカウントであればユーザー名、チーム/組織名であればチーム/組織名がエンティティ名となります。
  4. プロジェクト名を定義します。事前にプロジェクトを作成する必要はなく、最初のトレースが送信されたときに自動的に作成されます。
  5. Weaveエンティティ、プロジェクト名、APIキーをWeaveエクスポーターに渡します。 これは、addWeaveExporter()関数にパラメーターとして渡すか、または以下に示すように環境変数を設定することで可能です。
bash
export WEAVE_API_KEY="<your-api-key>"
export WEAVE_ENTITY="<your-entity>"
export WEAVE_PROJECT_NAME="koog-tracing"

設定

Weaveエクスポートを有効にするには、OpenTelemetry機能をインストールし、WeaveExporterを追加します。 エクスポーターは、OtlpHttpSpanExporter経由でWeaveのOpenTelemetryエンドポイントを使用します。

例: Weaveトレースを使用するエージェント

kotlin
fun main() = runBlocking {
    val apiKey = "api-key"
    val entity = System.getenv()["WEAVE_ENTITY"] ?: throw IllegalArgumentException("WEAVE_ENTITY is not set")
    val projectName = System.getenv()["WEAVE_PROJECT_NAME"] ?: "koog-tracing"
    
    val agent = AIAgent(
        promptExecutor = simpleOpenAIExecutor(apiKey),
        llmModel = OpenAIModels.CostOptimized.GPT4oMini,
        systemPrompt = "You are a code assistant. Provide concise code examples."
    ) {
        install(OpenTelemetry) {
            addWeaveExporter()
        }
    }

    println("Running agent with Weave tracing")

    val result = agent.run("Tell me a joke about programming")

    println("Result: $result
See traces on https://wandb.ai/$entity/$projectName/weave/traces")
}

トレースされるもの

有効にすると、WeaveエクスポーターはKoogの一般的なOpenTelemetry連携と同様に、以下のスパンをキャプチャします。

  • エージェントのライフサイクルイベント: エージェントの開始、停止、エラー
  • LLMのインタラクション: プロンプト、補完、レイテンシー
  • ツール呼び出し: ツール呼び出しの実行トレース
  • システムコンテキスト: モデル名、環境、Koogバージョンなどのメタデータ

W&B Weaveで可視化すると、トレースは以下のようになります。 W&B Weave tracesW&B Weave traces

詳細については、公式のWeave OpenTelemetryドキュメントを参照してください。


トラブルシューティング

Weaveにトレースが表示されない

  • 環境変数にWEAVE_API_KEYWEAVE_ENTITY、およびWEAVE_PROJECT_NAMEが設定されていることを確認してください。
  • W&Bアカウントが指定されたエンティティとプロジェクトへのアクセス権を持っていることを確認してください。

認証エラー

  • WEAVE_API_KEYが有効であることを確認してください。
  • APIキーに、選択されたエンティティのトレースを書き込むための権限があることを確認してください。

接続の問題

  • 環境がW&BのOpenTelemetry取り込みエンドポイントへのネットワークアクセスを持っていることを確認してください。