UNPKG

ai

Version:

AI SDK by Vercel - build apps like ChatGPT, Claude, Gemini, and more with a single interface for any model using the Vercel AI Gateway or go direct to OpenAI, Anthropic, Google, or any other model provider.

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