本页还没有译文
本页 12 段还没译成简体中文,下面显示的是英文原文。defaultInstructionsMiddleware
还没翻译译自英文(ai-sdk.dev)本页 12 段都还没译
defaultInstructionsMiddleware applies default instructions to language model
calls that do not already contain a system message. This is useful for
configuring reusable model behavior while allowing call-level instructions to
take precedence.
Import
import { defaultInstructionsMiddleware } from "ai"API Signature
function defaultInstructionsMiddleware(options: {
instructions: Instructions;
}): LanguageModelMiddleware;Parameters
instructions(string | SystemModelMessage | Array<SystemModelMessage>): Default instructions to prepend when a call does not already contain a system message.
Returns
Returns a LanguageModelMiddleware that:
- Prepends the configured instructions to calls without a system message.
- Preserves instruction-level
providerOptions. - Leaves calls containing any system message unchanged, so call-level instructions take precedence.
- Applies to both non-streaming and streaming language model calls.
Usage Example
import {
defaultInstructionsMiddleware,
generateText,
wrapLanguageModel,
} from 'ai';
const model = wrapLanguageModel({
model: 'anthropic/claude-sonnet-5.5',
middleware: defaultInstructionsMiddleware({
instructions: 'You are a concise technical assistant.',
}),
});
const defaultResult = await generateText({
model,
prompt: 'Explain HTTP caching.',
});
const overriddenResult = await generateText({
model,
instructions: 'Explain concepts for a complete beginner.',
prompt: 'Explain HTTP caching.',
});You can attach provider options to default instructions by using a
SystemModelMessage:
const model = wrapLanguageModel({
model: 'anthropic/claude-sonnet-5.5',
middleware: defaultInstructionsMiddleware({
instructions: {
role: 'system',
content: 'You are a concise technical assistant.',
providerOptions: {
anthropic: {
cacheControl: { type: 'ephemeral' },
},
},
},
}),
});Note
This middleware provides defaults, not enforced instructions. Any system
message in the normalized prompt suppresses the defaults. Only use
allowSystemInMessages with trusted message histories, because an untrusted
system message could override the configured defaults.
AI 翻译查看英文原文