Vercel AI

Adds instrumentation for Vercel AI SDK.

Import name: Sentry.vercelAIIntegration

The vercelAIIntegration adds instrumentation for the ai library by Vercel to capture spans using the AI SDK's built-in Telemetry.

Copied
Sentry.init({
  integrations: [Sentry.vercelAIIntegration()],
});

To enhance the spans collected by this integration, we recommend providing a functionId to identify the function that the telemetry data is for. For more details, see the AI SDK Telemetry Metadata docs.

Copied
const result = await generateText({
  model: openai("gpt-4-turbo"),
  experimental_telemetry: {
    isEnabled: true,
    functionId: "my-awesome-function",
  },
});

Requires SDK version 9.27.0 or higher.

Type: boolean

Records inputs to the ai function call.

Defaults to true if sendDefaultPii is true or if you explicitly set experimental_telemetry.isEnabled to true in your ai function callsites.

Copied
Sentry.init({
  integrations: [Sentry.vercelAIIntegration({ recordInputs: true })],
});

Requires SDK version 9.27.0 or higher.

Type: boolean

Records outputs to the ai function call.

Defaults to true if sendDefaultPii is true or if you explicitly set experimental_telemetry.isEnabled to true in your ai function callsites.

Copied
Sentry.init({
  integrations: [Sentry.vercelAIIntegration({ recordOutputs: true })],
});

By default this integration adds tracing support to all ai function callsites. If you need to disable span collection for a specific call, you can do so by setting experimental_telemetry.isEnabled to false in the first argument of the function call.

Copied
const result = await generateText({
  model: openai("gpt-4-turbo"),
  experimental_telemetry: { isEnabled: false },
});

If you set experimental_telemetry.recordInputs and experimental_telemetry.recordOutputs it will override the default behavior of collecting inputs and outputs for that function call.

Copied
const result = await generateText({
  model: openai("gpt-4-turbo"),
  experimental_telemetry: {
    isEnabled: true,
    recordInputs: true,
    recordOutputs: true,
  },
});

  • ai: >=3.0.0 <5
Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").