function createModel<TName, TInput>(name, input): ExtendedModelDef<TName, TInput>;function createModel<TName, TInput>(name, input): ExtendedModelDef<TName, TInput>;Defined in: packages/ai/src/extend-adapter.ts:91
Creates a custom model definition for use with extendAdapter.
This is a helper function that provides proper type inference without requiring manual as const casts on individual properties.
TName extends string
The model name (inferred from argument)
TInput extends readonly Modality[]
The input modalities array (inferred from argument)
TName
The model name identifier (literal string)
TInput
Array of supported input modalities
ExtendedModelDef<TName, TInput>
A properly typed model definition for use with extendAdapter
import { extendAdapter, createModel } from '@tanstack/ai'
import { openaiText } from '@tanstack/ai-openai'
// Define custom models with full type inference
const customModels = [
createModel('my-fine-tuned-gpt4', ['text', 'image']),
createModel('local-llama', ['text']),
] as const
const myOpenai = extendAdapter(openaiText, customModels)import { extendAdapter, createModel } from '@tanstack/ai'
import { openaiText } from '@tanstack/ai-openai'
// Define custom models with full type inference
const customModels = [
createModel('my-fine-tuned-gpt4', ['text', 'image']),
createModel('local-llama', ['text']),
] as const
const myOpenai = extendAdapter(openaiText, customModels)// Capabilities object form - declare features and provider tools
const reasoner = createModel('reasoner', {
input: ['text'],
features: ['reasoning', 'structured_outputs'],
tools: ['web_search'],
})// Capabilities object form - declare features and provider tools
const reasoner = createModel('reasoner', {
input: ['text'],
features: ['reasoning', 'structured_outputs'],
tools: ['web_search'],
})function createModel<TName, TCaps>(name, capabilities): ExtendedModelDef<TName, TCaps["input"] extends readonly Modality[] ? any[any] : readonly Modality[], TCaps["modelOptions"], TCaps["features"] extends readonly string[] ? any[any] : readonly string[], TCaps["tools"] extends readonly string[] ? any[any] : readonly string[]>;function createModel<TName, TCaps>(name, capabilities): ExtendedModelDef<TName, TCaps["input"] extends readonly Modality[] ? any[any] : readonly Modality[], TCaps["modelOptions"], TCaps["features"] extends readonly string[] ? any[any] : readonly string[], TCaps["tools"] extends readonly string[] ? any[any] : readonly string[]>;Defined in: packages/ai/src/extend-adapter.ts:96
Creates a custom model definition for use with extendAdapter.
This is a helper function that provides proper type inference without requiring manual as const casts on individual properties.
TName extends string
The model name (inferred from argument)
TCaps extends ModelCapabilities<readonly Modality[], readonly string[], readonly string[], unknown>
TName
The model name identifier (literal string)
TCaps
ExtendedModelDef<TName, TCaps["input"] extends readonly Modality[] ? any[any] : readonly Modality[], TCaps["modelOptions"], TCaps["features"] extends readonly string[] ? any[any] : readonly string[], TCaps["tools"] extends readonly string[] ? any[any] : readonly string[]>
A properly typed model definition for use with extendAdapter
import { extendAdapter, createModel } from '@tanstack/ai'
import { openaiText } from '@tanstack/ai-openai'
// Define custom models with full type inference
const customModels = [
createModel('my-fine-tuned-gpt4', ['text', 'image']),
createModel('local-llama', ['text']),
] as const
const myOpenai = extendAdapter(openaiText, customModels)import { extendAdapter, createModel } from '@tanstack/ai'
import { openaiText } from '@tanstack/ai-openai'
// Define custom models with full type inference
const customModels = [
createModel('my-fine-tuned-gpt4', ['text', 'image']),
createModel('local-llama', ['text']),
] as const
const myOpenai = extendAdapter(openaiText, customModels)// Capabilities object form - declare features and provider tools
const reasoner = createModel('reasoner', {
input: ['text'],
features: ['reasoning', 'structured_outputs'],
tools: ['web_search'],
})// Capabilities object form - declare features and provider tools
const reasoner = createModel('reasoner', {
input: ['text'],
features: ['reasoning', 'structured_outputs'],
tools: ['web_search'],
})