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 / capabilities | unknown | 是 | API 或 DB 中的 capabilities JSON |
row | object | 是 | 含 capabilities 字段的模型行 |
flags | AiLlmModelCapabilitiesFormFlags | 是 | Admin 表单勾选状态 |
返回值
| 函数 | 类型 | 说明 |
|---|---|---|
normalizeAiLlmModelCapabilities | AiLlmModelCapabilities | 无效字段回退默认值 |
capabilitiesFlagsFrom* | AiLlmModelCapabilitiesFormFlags | 表单用布尔 flags |
buildCapabilitiesPayload | AiLlmModelCapabilities | flags → 落库结构 |
modelCallModeLabelFrom* | string | SSE 流式 或 HTTP 同步 |
工作原理
- 默认:
DEFAULT_AI_LLM_MODEL_CAPABILITIES定义 streaming、attachmentAccept(空=不支持附件)、temperature,以及关闭态的maxTokens占位。 - 归一化:
normalizeAiLlmModelCapabilities合并 raw 与默认;各模型应在目录里把parameters.maxTokens.max设为官方最大输出。 - 表单:
capabilitiesFlagsFromCapabilitiesRaw提取 temperature、maxTokens、streaming、attachmentAccept、attachmentPayloadFormat。 - 落库:
buildCapabilitiesPayload由 flags 重建;maxTokens的 min/max/default 保留自 previous capabilities。 - 请求:
resolveModelRequestMaxTokens/applyModelMaxTokensToExtraBody按模型maxTokensParam(max_tokens或max_completion_tokens)写入上游。ai-chat 工具清单不在 capabilities,见ai_llm_model_tools。 - 展示:
modelCallModeLabelFromCapabilities按streaming返回中文标签;modelSupportsAttachments/resolveModelAttachmentAccept以 accept 非空为准。
异常
无异常抛出;解析失败时使用默认值。