---
title: "Vercel AI"
description: "Adds instrumentation for the Vercel AI SDK. (default)"
url: https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations/vercelai/
---

# Vercel AI | Sentry for Elysia

Requires SDK version `11.0.0` or higher. On earlier versions, see the [Agent Tracing](https://docs.sentry.io/platforms/javascript/agent-tracing.md) setup for your SDK.

*Import name: `Sentry.vercelAIIntegration`*

This integration is enabled by default when tracing is enabled. If you'd like to modify your default integrations, read [this](https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations.md#modifying-default-integrations).

The `vercelAIIntegration` adds instrumentation for the [`ai`](https://www.npmjs.com/package/ai) SDK by Vercel to capture [agent tracing](https://docs.sentry.io/platforms/javascript/guides/elysia/agent-tracing.md) `gen_ai` spans, recording model, token usage, latency, and (when enabled) inputs and outputs.

```javascript
Sentry.init({
  dsn: "https://<key>@o<orgId>.ingest.sentry.io/<projectId>",
  // Tracing must be enabled for agent tracing to work
  tracesSampleRate: 1.0,
  integrations: [Sentry.vercelAIIntegration()],
});
```

Don't use the AI SDK's `registerTelemetry` API (AI SDK v7 and above) together with this integration. `vercelAIIntegration` already instruments the AI SDK, so registering telemetry separately produces duplicate spans.

## [Supported Operations](https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations/vercelai.md#supported-operations)

By default, tracing support is added to the following `ai` functions:

* `generateText()`
* `streamText()`
* `generateObject()`
* `streamObject()`
* `embed()`
* `embedMany()`
* `rerank()`

Plus `generate()` and `stream()` on [`ToolLoopAgent`](https://ai-sdk.dev/docs/agents/overview#toolloopagent-class).

## [Supported Versions](https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations/vercelai.md#supported-versions)

* `ai`: `>=3.0.0 <=7`

## [Options](https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations/vercelai.md#options)

### [`recordInputs`](https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations/vercelai.md#recordinputs)

*Type: `boolean` (optional)*

Records inputs to `ai` function calls (such as prompts and messages).

Defaults to `true` if `dataCollection.genAI.inputs` is `true` (which is the default when using `dataCollection`), or if the deprecated `sendDefaultPii` is `true`.

### [`recordOutputs`](https://docs.sentry.io/platforms/javascript/guides/elysia/configuration/integrations/vercelai.md#recordoutputs)

*Type: `boolean` (optional)*

Records outputs from `ai` function calls (such as generated text and responses).

Defaults to `true` if `dataCollection.genAI.outputs` is `true` (which is the default when using `dataCollection`), or if the deprecated `sendDefaultPii` is `true`.

```javascript
Sentry.init({
  dsn: "https://<key>@o<orgId>.ingest.sentry.io/<projectId>",
  tracesSampleRate: 1.0,
  integrations: [
    Sentry.vercelAIIntegration({
      recordInputs: true,
      recordOutputs: true,
    }),
  ],
});
```
