> ## Documentation Index
> Fetch the complete documentation index at: https://docs.latitude.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Vercel AI SDK

> Connect your Vercel AI SDK-powered application to Latitude for observability.

## Overview

This guide shows you how to integrate **Latitude Telemetry** into an application that uses the **Vercel AI SDK**.

The Vercel AI SDK can emit OpenTelemetry spans through its `experimental_telemetry` flag. Latitude can ingest those spans without a provider-specific instrumentation entry.

<Note>
  This guide covers **Vercel AI SDK v6**. On **v7**, OpenTelemetry moved into the separate
  `@ai-sdk/otel` package and became opt-out — see the
  [Vercel AI SDK v7](/telemetry/frameworks/vercel-ai-sdk-v7) guide instead.
</Note>

<Check>
  You'll keep calling the Vercel AI SDK exactly as you do today. Telemetry simply
  observes and enriches those calls.
</Check>

<Note>
  The Vercel AI SDK integration is **TypeScript only**.
</Note>

***

## Requirements

* A **Latitude account** and **API key**
* A **Latitude project slug**
* A Node.js project that uses the **Vercel AI SDK** (`ai` package)

***

## Steps

<Steps>
  <Step title="Install">
    <CodeGroup>
      ```bash npm theme={"theme":{"light":"github-light","dark":"github-dark"}}
      npm install @latitude-data/telemetry
      ```

      ```bash pnpm theme={"theme":{"light":"github-light","dark":"github-dark"}}
      pnpm add @latitude-data/telemetry
      ```

      ```bash yarn theme={"theme":{"light":"github-light","dark":"github-dark"}}
      yarn add @latitude-data/telemetry
      ```

      ```bash bun theme={"theme":{"light":"github-light","dark":"github-dark"}}
      bun add @latitude-data/telemetry
      ```
    </CodeGroup>
  </Step>

  <Step title="Initialize and use">
    Initialize Latitude **without** an `instrumentations` array. The Vercel AI SDK emits its own OpenTelemetry spans. Pass `latitude.getTracer("vercelai")` to the AI SDK telemetry config on each call.

    ```ts theme={"theme":{"light":"github-light","dark":"github-dark"}}
    import { Latitude, capture } from "@latitude-data/telemetry"
    import { generateText } from "ai"
    import { openai } from "@ai-sdk/openai"

    const latitude = new Latitude({
      apiKey: process.env.LATITUDE_API_KEY!,
      project: process.env.LATITUDE_PROJECT_SLUG!,
    })

    await capture("generate-support-reply", async () => {
      const { text } = await generateText({
        model: openai("gpt-4o"),
        prompt: "Hello",
        experimental_telemetry: {
          isEnabled: true,
          tracer: latitude.getTracer("vercelai"),
        },
      })
      return text
    })

    await latitude.shutdown()
    ```
  </Step>
</Steps>

***

## Seeing Your Traces

Once connected, traces appear automatically in Latitude:

1. Open your **project** in the Latitude dashboard
2. Each execution shows input/output messages, model, token usage, latency, and errors
