# withAiSdk

URL: https://tailrace.dev/docs/reference/ai-sdk/with-ai-sdk

> Attach fluent model and tools helpers to an existing Tailrace instance.



Add `model()` and `tools()` methods to a Tailrace instance without importing AI SDK types into `@tailrace/core`.

## Import [#import]

```ts
import { withAiSdk } from "@tailrace/ai-sdk";
```

## Signature [#signature]

```ts
function withAiSdk(tailrace: Tailrace): TailraceWithAiSdk;
```

## Parameters [#parameters]

### `tailrace` [#tailrace]

A Tailrace instance from `createTailrace()`.

## Returns [#returns]

The same instance, extended with:

```ts
interface TailraceWithAiSdk extends Tailrace {
  model(model: LanguageModelV2, opts?: AiSdkWrapOptions): LanguageModelV2;
  tools<T extends ToolSet>(tools: T, opts?: AiSdkWrapOptions): T;
}
```

Implementations delegate to [`wrapModel`](/docs/reference/ai-sdk/wrap-model) and [`wrapTools`](/docs/reference/ai-sdk/wrap-tools).

## Example [#example]

```ts
import { createTailrace } from "@tailrace/core";
import { withAiSdk } from "@tailrace/ai-sdk";
import { openai } from "@ai-sdk/openai";

const tailrace = withAiSdk(createTailrace());
const model = tailrace.model(openai("gpt-4o"));
const tools = tailrace.tools({/* ... */});
```

`tailrace.restore` and `tailrace.check` remain available on the same object.

## Related [#related]

* [wrapModel](/docs/reference/ai-sdk/wrap-model) - standalone form
* [Quickstart](/docs/get-started/quickstart)
