模型目录
模型目录保存模型的标准元数据和外部来源参考价格,用于补充模型资源列表。它不保存模型凭证,不会自动创建上游,也不会决定平台向用户收取的实际价格。
目录字段
| 字段 | 用途 |
|---|---|
| 模型厂商 | 标识实际创建模型的组织 |
| 标准模型 ID | 在厂商范围内唯一的模型标识 |
| 显示名称 | 控制台中更易识别的名称 |
| 上下文长度 | 描述模型可接受的上下文规模 |
| 能力标签 | Chat、Streaming、Tools、Vision、JSON、Reasoning 等 |
| 状态 | 标记目录条目是否可用或需要关注 |
| 更新时间 | 判断目录信息是否可能过期 |
参考价格
来自 models.dev、OpenRouter 等目录的价格只用于模型对比和目录展示,不参与用户扣费。实际售卖价格只能由管理员在平台模型页面手工维护,外部目录导入不会覆盖它。
参考价格采用受控的语义化计价单位:
| 计量类型 | 计价单位 |
|---|---|
| 输入、输出、缓存 Token | 每 100 万 Token |
| Reasoning / 音频 Token | 每 100 万 Token |
| 图像 Token | 每 100 万 Token |
| 请求和工具调用 | 每次 |
| 图片 | 每张 |
| 音视频时长 | 每秒 |
| 语音字符 | 每千字符 |
价格记录不接受任意倍率。models.dev 的 Token 价格可以直接保存;OpenRouter 的 per-token 价格会在导入边界通过高精度十进制适配器转换为每百万 Token。数据库、内部 API 和页面展示只使用每百万 Token,只有 LiteLLM 配置输出会在运行时边界转换回 per-token。币种、来源、观察时间和条件阶梯会随参考价格版本一起保存。
目录导入规则
- models.dev 的
models集合是标准目录模型的权威身份来源;providers集合只补充接入渠道、渠道模型 ID 和参考价格。 - 渠道记录先按来源 ID 精确匹配目录模型,仅在显示名称全局唯一时才允许名称匹配。无法确定身份的记录标记为“未匹配”,不会创建猜测目录模型。
- OpenRouter 使用永久
canonical_slug确定厂商和标准模型 ID,使用可调用的id作为 OpenRouter 渠道模型 ID。缺少永久身份的记录视为无效。 - OpenRouter 的缓存写入、Reasoning、图像/音频 Token、固定请求费、Web Search、长上下文和时段条件会按独立计量项或条件费率保存,不折叠进三项 Token 价格。
- 每条来源记录同时保留原始数据、归一化数据、归一化版本和内容哈希。归一化版本升级会强制重新获取并处理数据,即使上游 ETag 未变化。
与模型资源的关系
模型资源来自上游检测;模型目录提供补充说明。一个目录模型可通过多个“接入渠道 + 渠道模型 ID”映射关联到模型资源。模型厂商描述谁创建了模型,接入渠道描述从哪里调用模型,两者不会混用。
上游检测结果
+ 渠道模型映射
+ 模型目录(模型厂商 + 标准模型 ID)
-> 带上下文和能力信息的模型资源未匹配到目录模型不代表模型不能调用,只表示控制台无法展示完整的上下文和能力信息。是否可调用仍取决于上游、凭证和连接测试。
管理权限
普通用户通常只查看模型目录。厂商是独立的全局实体,管理员先在“厂商管理”中维护厂商代码、名称和图标,再创建手工目录模型;编辑目录模型不会隐式新建或重命名厂商。正在被目录模型或接入渠道使用的厂商不能删除。修改目录模型或渠道模型映射后,已关联的模型资源会同步相应元数据。
使用建议
- 创建配置前核对模型是否支持需要的 Streaming、Tools 或 Vision 能力。
- 不要仅凭显示名称判断模型,始终同时检查模型厂商、标准模型 ID 和渠道映射。
- 厂商发布新版本后,重新检测模型,并等待或联系管理员更新目录模型。
- 自定义模型没有目录信息时,可先完成调用验证,不要把“未匹配”误判为“不可用”。