---
title: "@prefactor/ai"
editUrl: true
head: []
template: doc
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

[**Prefactor TypeScript SDK**](../../index.md)

***

[Prefactor TypeScript SDK](../../modules.md) / @prefactor/ai

# @prefactor/ai

Prefactor middleware integration for the Vercel AI SDK.

## `@prefactor/ai` overview

`@prefactor/ai` connects Vercel AI SDK model calls to Prefactor tracing. It captures
agent, model, and tool spans and sends them through your configured transport.

Use this package as a provider for the core `init` function.

## Quick start

```ts
import { init } from '@prefactor/core';
import { PrefactorAISDK } from '@prefactor/ai';
import { generateText, wrapLanguageModel } from 'ai';
import { anthropic } from '@ai-sdk/anthropic';

const prefactor = init({
  provider: new PrefactorAISDK(),
  httpConfig: {
    apiUrl: 'https://app.prefactorai.com',
    apiToken: process.env.PREFACTOR_API_TOKEN!,
    agentIdentifier: 'chat-app-v1',
  },
});

const model = wrapLanguageModel({
  model: anthropic('claude-3-haiku-20240307'),
  middleware: prefactor.getMiddleware(),
});

const result = await generateText({
  model,
  prompt: 'Hello!',
});

await prefactor.shutdown();
```

## Functions

- [getTracer](functions/getTracer.md)
- [init](functions/init.md)
- [withSpan](functions/withSpan.md)

## Classes

- [PrefactorAISDK](classes/PrefactorAISDK.md)

## Interfaces

- [PrefactorAISDKOptions](interfaces/PrefactorAISDKOptions.md)
- [MiddlewareConfig](interfaces/MiddlewareConfig.md)

## Type Aliases

- [ManualSpanOptions](type-aliases/ManualSpanOptions.md)

## Variables

- [DEFAULT\_AI\_AGENT\_SCHEMA](variables/DEFAULT_AI_AGENT_SCHEMA.md)