experimental_telemetry オプションを通じて、OpenTelemetry を組み込みでサポートしています。
このガイドでは、Vercel AI SDK から Weave にトレースを送信するように OTel を設定し、Weave UI で AI SDK の Call を確認してデバッグできるようにする方法を説明します。AI SDK は、Next.js と組み合わせて使用することも、スタンドアロンの Node.js アプリケーションとして使用することもできます。このガイドは、既存のアプリにトレースを追加したい、Vercel AI SDK で AI を活用したアプリケーションを構築する開発者を対象としています。
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() 関数をご使用のチーム名とプロジェクト名に合わせて更新してください。
instrumentation.ts
関数のテレメトリーを設定する
experimental_telemetry オプションを使用して、OTel スパンを出力します。
route.ts
generateText Callで、Weave にエクスポートされる OTel スパンが生成されます。これで、Next.js アプリは Vercel AI SDK のトレースを Weave に送信するよう設定されました。
Node.js 用に OTel トレースを設定する
test-app.ts
BatchSpanProcessor はスパンを非同期でフラッシュします。スタンドアロン スクリプト、サーバーレス関数、CLI ツールなど、短時間で終了するプロセスでは、すべてのスパンが Weave に送信されるよう、プロセスの終了前に provider.shutdown() を呼び出してください。長時間稼働するサーバー (instrumentation.ts 経由で起動した Next.js の dev サーバーなど) では、この操作は不要です。