7.4 ProviderTransform:模型差异化适配
7.4.1 消息格式标准化(normalizeMessages)
normalizeMessages)Anthropic 的空消息限制
if (model.api.npm === "@ai-sdk/anthropic") {
msgs = msgs
.map((msg) => {
if (typeof msg.content === "string") {
if (msg.content === "") return undefined // 移除空字符串消息
return msg
}
if (!Array.isArray(msg.content)) return msg
const filtered = msg.content.filter((part) => {
if (part.type === "text" || part.type === "reasoning") {
return part.text !== "" // 移除空文本 Part
}
return true
})
if (filtered.length === 0) return undefined
return { ...msg, content: filtered }
})
.filter((msg) => msg !== undefined && msg.content !== "")
}Claude 的 Tool Call ID 规范化
Mistral 的特殊要求
交错思考链处理
7.4.2 Prompt 缓存策略(applyCaching)
applyCaching)7.4.3 不支持的模态处理
7.4.4 输出 Token 上限管理
7.4.5 providerOptions 键映射
providerOptions 键映射7.4.6 Temperature 与采样参数的模型适配
Last updated
