メインコンテンツへスキップ

概要

Weaveは専用エンドポイントを通じてOpenTelemetry互換のトレースデータの取り込みをサポートしています。このエンドポイントを使用すると、OTLP(OpenTelemetryプロトコル)形式のトレースデータをWeaveプロジェクトに直接送信できます。

エンドポイントの詳細

パス: /otel/v1/traces Method: POST Content-Type: application/x-protobuf

Authentication

標準のW&B認証が使用されます。トレースデータを送信するプロジェクトに対する書き込み権限が必要です。

必須ヘッダー

  • project_id: <your_entity>/<your_project_name>
  • Authorization=Basic <Base64 Encoding of api:$WANDB_API_KEY>

Examples:

以下のコードサンプルを実行する前に、次のフィールドを変更する必要があります:
  1. WANDB_API_KEY: これは以下から取得できます https://wandb.ai/authorize
  2. Entity: You can only log traces to the project under an entity that you have access to. You can find your entity name by visiting your W&N dashboard at [https://wandb.ai/home], そして左サイドバーの Teams フィールドを確認します。
  3. プロジェクト名: 楽しい名前を選んでください!
  4. OPENAI_API_KEY: これは OpenAI dashboardから取得できます。

OpenInference インストルメンテーション:

この例ではOpenAIインストルメンテーションの使用方法を示しています。公式リポジトリで利用可能な他の多くのインストルメンテーションがあります: https://github.com/Arize-ai/openinference まず、必要な依存関係をインストールします:
次に、以下のコードをPythonファイル(例えば openinference_example.py
最後に、上記で指定したフィールドを正しい値に設定したら、コードを実行します:

OpenLLMetry インストルメンテーション:

以下の例ではOpenAIインストルメンテーションの使用方法を示しています。追加の例は https://github.com/traceloop/openllmetry/tree/main/packagesで利用可能です。 まず必要な依存関係をインストールします:
次に、以下のコードをPythonファイル(例えば openllmetry_example.py)に貼り付けます。これは上記と同じコードですが、 OpenAIInstrumentoropentelemetry.instrumentation.openai からではなく openinference.instrumentation.openai
最後に、上記で指定したフィールドを正しい値に設定したら、コードを実行します:

インストルメンテーションなしの場合

インストルメンテーションパッケージの代わりにOTELを直接使用したい場合は、そうすることもできます。スパン属性は https://opentelemetry.io/docs/specs/semconv/gen-ai/gen-ai-spans/で説明されているOpenTelemetryセマンティック規約に従って解析されます。 まず、必要な依存関係をインストールします:
次に、以下のコードをPythonファイル(例えば opentelemetry_example.py
最後に、上記で指定したフィールドを正しい値に設定したら、コードを実行します:
スパン属性のプレフィックス gen_ai および openinference は、トレースを解釈する際にどの規約を使用するか(もしあれば)を決定するために使用されます。どちらのキーも検出されない場合、すべてのスパン属性がトレースビューで表示されます。トレースを選択すると、サイドパネルで完全なスパンが利用可能です。