UNPKG

ai

Version:

AI SDK by Vercel - The AI Toolkit for TypeScript and JavaScript

34 lines (32 loc) 1.3 kB
import { LanguageModelV3CallOptions } from '@ai-sdk/provider'; import { LanguageModelMiddleware } from '../types'; import { mergeObjects } from '../util/merge-objects'; /** * Applies default settings for a language model. */ export function defaultSettingsMiddleware({ settings, }: { settings: Partial<{ maxOutputTokens?: LanguageModelV3CallOptions['maxOutputTokens']; temperature?: LanguageModelV3CallOptions['temperature']; stopSequences?: LanguageModelV3CallOptions['stopSequences']; topP?: LanguageModelV3CallOptions['topP']; topK?: LanguageModelV3CallOptions['topK']; presencePenalty?: LanguageModelV3CallOptions['presencePenalty']; frequencyPenalty?: LanguageModelV3CallOptions['frequencyPenalty']; responseFormat?: LanguageModelV3CallOptions['responseFormat']; seed?: LanguageModelV3CallOptions['seed']; tools?: LanguageModelV3CallOptions['tools']; toolChoice?: LanguageModelV3CallOptions['toolChoice']; headers?: LanguageModelV3CallOptions['headers']; providerOptions?: LanguageModelV3CallOptions['providerOptions']; }>; }): LanguageModelMiddleware { return { specificationVersion: 'v3', transformParams: async ({ params }) => { return mergeObjects(settings, params) as LanguageModelV3CallOptions; }, }; }