experimental_telemetry オプションを通じて、OpenTelemetry を組み込みでサポートしています。
このガイドでは、Vercel AI SDK から Weave にトレースを送信するように OTel を設定する方法を説明します。AI SDK は、Next.js と組み合わせて使用することも、スタンドアロンの Node.js アプリケーションとして使用することもできます。
Weave での OTel トレースの詳細については、Send OTel traces to Weave を参照してください。
前提条件
-
次の Vercel および OTel ライブラリをインストールします。
-
次の環境変数を設定します。
W&B APIキーは User Settings から取得できます。
Next.js 向けに OTel トレースを設定する
インストルメンテーションを設定する
instrumentation.ts ファイルを使用します。このファイルはサーバーの起動時に 1 回だけ実行され、AI SDK が使用するトレーサープロバイダーを設定します。
Weave を Vercel の OTel 機能と統合するには、project ルートに instrumentation.ts ファイルを作成し、次のコードを追加します。その際、resourceFromAttributes() 関数のチーム名と project 名を更新してください。
instrumentation.ts
関数でテレメトリーを設定する
experimental_telemetry オプションを使用して、OTel スパンを生成します。
route.ts
generateText Call で、Weave にエクスポートされる OTel スパンが生成されます。
Node.js 向けに OTel トレースを設定する
test-app.ts
BatchSpanProcessor は スパン を非同期でフラッシュします。スタンドアロンのスクリプト、サーバーレス関数、CLI ツールのような短命なプロセスでは、すべての スパン が Weave に送信されるよう、プロセスが終了する前に provider.shutdown() を呼び出してください。長時間稼働するサーバー (instrumentation.ts 経由で起動した Next.js の Dev サーバーなど) では、これは不要です.