Skip to content

aiLlmModelCapabilities

AI 大模型 capabilities 字段的默认值、归一化、Admin 表单 flags 互转与调用模式标签。

函数签名

typescript
const DEFAULT_AI_LLM_MODEL_CAPABILITIES: AiLlmModelCapabilities

function normalizeAiLlmModelCapabilities(raw: unknown): AiLlmModelCapabilities
function capabilitiesFromDbRow(row: Record<string, unknown>): AiLlmModelCapabilities
function capabilitiesFlagsFromCapabilitiesRaw(capabilities: unknown): AiLlmModelCapabilitiesFormFlags
function capabilitiesFlagsFromModelRow(row: { capabilities?: unknown }): AiLlmModelCapabilitiesFormFlags
function buildCapabilitiesPayload(flags: AiLlmModelCapabilitiesFormFlags): AiLlmModelCapabilities
function modelCallModeLabelFromCapabilities(capabilities: unknown): string
function modelCallModeLabelFromModelRow(row: { capabilities?: unknown }): string

类型见 @zengchaowu/shared/types/ai-llm-model-capabilities

参数

参数名类型必填说明
raw / capabilitiesunknownAPI 或 DB 中的 capabilities JSON
rowobjectcapabilities 字段的模型行
flagsAiLlmModelCapabilitiesFormFlagsAdmin 表单勾选状态

返回值

函数类型说明
normalizeAiLlmModelCapabilitiesAiLlmModelCapabilities无效字段回退默认值
capabilitiesFlagsFrom*AiLlmModelCapabilitiesFormFlags表单用布尔 flags
buildCapabilitiesPayloadAiLlmModelCapabilitiesflags → 落库结构
modelCallModeLabelFrom*stringSSE 流式HTTP 同步

工作原理

  1. 默认DEFAULT_AI_LLM_MODEL_CAPABILITIES 定义 streaming、attachmentAccept(空=不支持附件)、temperature,以及关闭态的 maxTokens 占位。
  2. 归一化normalizeAiLlmModelCapabilities 合并 raw 与默认;各模型应在目录里把 parameters.maxTokens.max 设为官方最大输出。
  3. 表单capabilitiesFlagsFromCapabilitiesRaw 提取 temperature、maxTokens、streaming、attachmentAccept、attachmentPayloadFormat。
  4. 落库buildCapabilitiesPayload 由 flags 重建;maxTokens 的 min/max/default 保留自 previous capabilities。
  5. 请求resolveModelRequestMaxTokens / applyModelMaxTokensToExtraBody 按模型 maxTokensParammax_tokensmax_completion_tokens)写入上游。ai-chat 工具清单不在 capabilities,见 ai_llm_model_tools
  6. 展示modelCallModeLabelFromCapabilitiesstreaming 返回中文标签;modelSupportsAttachments / resolveModelAttachmentAccept 以 accept 非空为准。

异常

无异常抛出;解析失败时使用默认值。