跳到主要内容

渠道、模型与策略

适用版本

本文档基于 Aivory v2.4.7 编写。管理界面位于“AI 与模型”导航组下的“渠道 / 模型 / 模型标签 / 模型策略 / 上下文与记忆 / 内容审核”六个页签。

渠道保存“如何连接一个上游服务商”(协议类型 + Base URL + 凭据),模型保存“该连接可以调用哪个具体模型”(请求 ID + 能力 + 价格 + 策略)。二者分开管理,让同一个模型 ID 在不同账号、区域、网关或成本策略下共存。

用户能正常聊天的最小条件:存在一个已启用的可用渠道;至少一个关联该渠道的已启用聊天模型;模型策略中的“默认对话模型”有效。完整首次流程见管理员首次配置

规划渠道

场景建议
同一服务商有生产与测试 Key创建两条渠道,名称清楚标记环境;不要让测试 Key 支撑默认模型
同一模型通过两个网关可用两条渠道 + 两条模型记录,便于独立排序、禁用或兜底
需要按团队、地区或成本分流每个独立合同、区域或预算池一条渠道
服务商不提供模型列表接口保留渠道后手动“新建模型”;列表导入不是使用渠道的前提

渠道 API Key 只应通过管理员后台保存(明文存于服务端数据库的渠道记录中,前端只回显掩码)。不要把服务商 Key 写进 VITE_*、前端页面、公开示例、浏览器请求参数或应用日志。

新建渠道:逐类型字段说明

新建对话框统一包含以下字段:

字段说明示例默认
名称管理员识别用,不影响请求OpenAI 生产必填
类型上游协议族:OpenAI / Claude / Gemini / Mock 等OpenAI必填
接口格式仅对话模型使用,选择该渠道的对话协议变体chat / responses类型默认值
Base URL上游 API 根地址,留空使用厂商默认端点https://api.openai.com/v1厂商默认
API Key服务端密钥;编辑时留空表示保留原密钥sk-…
启用禁用会使该渠道下所有模型立即不可用于新请求
  • 类型选 OpenAI;几乎所有兼容网关(Azure 兼容端点、OneAPI 类网关、本地 Ollama/vLLM 的 OpenAI 端点)都走这一族。
  • Base URL 填上游 API 根地址,可使用 /v1/v2/v3 或网关自定义路径;留空即 https://api.openai.com。填“网页控制台地址”而不是 API 地址是最常见错误。
  • 接口格式:OpenAI 有 chat completions 与 responses 两套对话协议。以服务商文档为准;模型名相同不代表两套格式互通。
  • 若希望 Aivory 同时从该渠道使用 embedding 或图片能力,只需在此渠道下创建对应类型的模型记录,渠道本身不需要切换。

新建渠道对话框:类型、接口格式、Base URL 与 API Key

渠道列表与编辑对话框。列表中“已设密钥/未设置密钥”只表示状态,不回显 Key 内容。

保存后立即验证

  1. 保存并启用渠道。
  2. 在新建对话框中点“从上游获取”:能列出模型说明地址、密钥与网络三者都通。
  3. 无法列举不代表渠道不可用——很多服务商限制列表权限。直接添加一个已知模型 ID 并发一条真实短请求,验证网络、认证、模型授权与额度四件事。

模型发现与批量导入

模型页提供两条路径:

  • 拉取新模型(推荐日常增量):在“AI 与模型 → 模型”点击“拉取新模型”,选择一个已保存的渠道,Aivory 读取该渠道上游当前提供的模型列表;对话框会区分“可加入 / 已加入”,并自动隐藏 Aivory 暂不支持的条目。勾选后批量加入,重复的模型会被跳过并明确提示。
  • 在渠道内“从上游获取”:新建/编辑渠道时直接勾选模型,适合首次接入。
  • 手动新建模型:不开放列表接口、私有网关或仅允许推理的 Key 使用此路径。
导入后仍需人工运营判断

自动导入不会替你决定:哪些模型对用户可见、是聊天/embedding/图片哪一种职责、价格与上下文描述是否正确。逐条检查启用状态、能力勾选和计费字段后再放开。

模型列表:每个模型的渠道、能力与启用状态

模型列表页。同一请求 ID 可以在不同渠道下各建一条记录,互不覆盖。

模型记录字段

编辑模型分“基本信息 / 对话行为 / 计费 / 权限 / 标签 / 技能 / 图片生成”几个区块,核心字段:

字段说明示例默认
渠道发起请求所用的上游OpenAI 生产必填
兜底渠道主渠道请求失败时在用户看到错误之前自动重试;类型与格式必须与主渠道一致,仅 URL 与密钥不同备用网关
类型chat / image / embeddingchat必填
显示名 / request_id (实际请求 ID)前者给人看,后者是发给服务商的真实模型 IDGPT 旗舰 / 真实 ID必填
工具模式该模型使用工具的方式:native(原生函数调用)/ prompt(提示词模拟)/ nonenative按类型
内置工具此模型默认勾选的平台工具集合(“全部默认选中”或自定义)自定义全部
MCP 工具此模型默认勾选的 MCP 服务;仅全局启用且已同步工具的服务可运行自定义默认关闭
服务商托管工具默认不配置任何服务商侧工具;确有需要时逐条显式添加请求 JSON
视觉 / 流式 / 深度研究能力声明,影响上传入口与研究模式按模型
快速模型勾选后成为“快速”模式唯一模型:从进阶选择器隐藏、用户看不到其名称、强制关闭深度研究
系统提示词附加到该模型每条请求的系统提示
param_controls / 额外上游参数(JSON)用户可调参数映射与合并进上游请求的额外 JSON;优先级:内建参数 > 参数控件映射 > 额外参数{"temperature":0.7}
向量维度embedding 模型必填,必须与模型真实输出一致1536
压缩阈值(token)覆盖全局上下文压缩触发值;0 = 使用全局阈值0
输入/输出/缓存读/缓存写价格、单张图片价格用于积分扣减与“用量与计费”统计的每 1M token 单价按服务商0
启用(对用户可见)关闭后不出现在选择器与新请求中
能力标记错误的典型症状

“模型能在选择器里出现,但第一条请求就失败”几乎都是能力标记与上游实际不符:把不支持函数调用的模型标成 native 工具模式、把聊天模型标成 embedding、或假设所有模型都支持视觉/JSON/流式。逐能力做一条最小测试请求。

模型策略与上下文压缩

“AI 与模型 → 模型策略”维护系统级模型选择。留空的槽位按提示回退到当前对话模型或任务模型,默认对话模型是唯一硬性项

字段用途建议
默认对话模型新对话使用的主模型已验证、成本可控的聊天模型
标题生成模型生成对话列表标题低延迟、非思考模型
查询路由模型自动工具模式下判断查询是否需要调用工具低延迟、非思考模型
文件路由模型组装文件上下文前决定跳过/片段检索/全文读取能稳定输出 JSON 的模型
其他内部任务模型记忆抽取、研究规划与核验、搜索查询生成等稳定通用的中档模型
审校(审计)模型审校模式下核查答案的第二个模型选“无”即关闭审校
图片提示词模型绘图前润色提示词选“无”则跳过
默认工具调用方式新对话默认的工具模式(自动/开启/关闭)自动

模型策略页:各内部任务模型槽位

“AI 与模型 → 上下文与记忆”控制长对话的压缩与记忆行为,关键项与默认值:

字段说明默认
启用压缩 / 启用记忆总开关开 / 开
保留最近轮数压缩时原样保留的最近对话轮数基准6
超过多少 token 时压缩触发压缩的估算提示 token 数32000
压缩目标低水位(%)压缩后目标降至触发阈值的比例(25–80)
保留最近消息(%)压缩后仍原样保留的最新消息比例(10–50)
摘要输出上限单次摘要请求最大输出 token8192
压缩请求 token 预算单次后台摘要请求输入+预留输出总上限
摘要模型留空使用当前对话模型

上下文与记忆页:压缩阈值与摘要模型

排序、标签、可见性与配额

  • 模型标签(“AI 与模型 → 模型标签”)用于选择器筛选,适合把“推荐 / 经济 / 长上下文 / 图像”等运营语义显式化。
  • 模型的可见性与额度通过用户组与模型页“权限”区块控制:模型组配额(按费用或次数、按周期滚动)决定哪些组可用、超出后扣积分还是拒绝。详见套餐、积分与支付
  • 建议默认只给用户少量已验证模型,再按成本、上下文、速度或数据处理边界逐步放开。

英文界面下的模型列表(同一页面的 English 版本)

变更与故障处理

安全的渠道/模型变更流程:

  1. 记录当前默认模型、各策略槽位、引用该模型的套餐、工作区策略与配额。
  2. 创建或修改渠道,保存新凭据。
  3. 用目标模型发短请求,检查流式、工具、图片或 embedding 等实际能力。
  4. 再修改启用状态、排序和全局策略。
  5. 观察“用量”与错误记录、用户反馈,确认稳定后才停用旧渠道/旧模型。轮换密钥时先验证新 Key,再停用旧凭据,避免直接删除导致用户对话中断。

常见测试连接失败

症状优先检查
401 / 认证失败API Key 是否复制完整、是否已吊销;编辑渠道时留空 Key 表示保留旧值,不是清除
404 / 模型不存在request_id 与服务商文档是否逐字符一致;接口格式是否选对(chat vs responses)
Base URL 报错是否填了控制台网页地址;OpenAI 类型是否包含网关要求的版本路径
列表拉取失败服务商是否允许列举模型、服务器出网与 DNS、Key 是否只允许推理
请求超时/断流到上游的网络路径、代理超时;反向代理是否缓冲了 SSE 流(见域名、HTTPS 与 OAuth
有模型但无法聊天模型类型、启用状态、所属渠道启用状态、默认策略是否指向它
同 ID 选错上游模型记录关联的渠道,而不是显示名
兜底渠道未生效兜底渠道类型与接口格式必须与主渠道一致,否则不会自动重试
禁用与删除的连带影响

禁用渠道会立即使其下所有模型不可用于新请求;删除渠道会级联删除其下模型记录。禁用/删除模型前,先确认它没有被默认策略、审校、图片提示词、摘要、工作区策略、套餐配额或用户收藏引用。