GPTs 想调用模型聚合平台的国产模型,Actions 里的 OpenAPI schema 和鉴权头要写哪些参数?
GPTs 本身不能把底座模型替换成第三方聚合平台,只能通过 Actions 调用聚合平台的对话接口。必填参数分三块:servers 里的公网 HTTPS Base URL 加 /v1/chat/completions 路径、Authorization 头里的 Bearer API Key、请求体里的 model 模型 ID,另需 openapi 版本、唯一 operationId,并把 stream 设为 false。
GPTs 接入模型聚合平台不需要改底座模型,需要的是 Actions 里的一套参数:公网 HTTPS 的 Base URL、Authorization 头中的 Bearer API Key、请求体里的 model 模型 ID,以及一份带唯一 operationId 的 OpenAPI schema。这套做法只解决让 GPTs 调用聚合平台完成问答、总结或分类,不适用于把 GPT 的底层模型直接替换成第三方模型的诉求,后者在 GPTs 编辑界面里没有入口。
GPTs 的模型下拉框只提供平台自有模型,第三方聚合平台的模型不能直接写进这一栏。原因是 GPTs 的推理发生在平台侧,Actions 只是让助手在对话中发起一次外部 HTTP 调用,把返回结果读回上下文。因此参数配置的目标是让这次外部调用成功,而不是改变 GPTs 自身的生成模型。想用聚合平台的国产模型,正确路径是把聚合平台暴露成 Action 工具,由 GPTs 决定何时调用。
Base URL 必须是公网可访问的 HTTPS 地址,且要写到具体路径 /v1/chat/completions,不能只填域名。OpenAPI schema 的 servers 字段填域名部分,paths 里写 /v1/chat/completions,两者拼接后才是完整请求地址。填 localhost、内网 IP 或带自签证书的地址都会失败,因为调用从平台侧发起,不经过本地网络。地址末尾多一个斜杠或少了 /v1 都会导致 404,配置前先用浏览器或命令行确认完整 URL 能返回 JSON。
鉴权参数是 Authorization 请求头,值为 Bearer 加空格加 API Key,在 schema 的 securitySchemes 里声明为 apiKey 类型、in 为 header、name 为 Authorization。最常见的 401 来自三处:Key 复制时带了多余空格或换行、schema 里漏写 Bearer 前缀、Key 绑定了 IP 白名单而平台出口 IP 不在名单内。部分平台还要求在控制台先创建独立的调用密钥,而不是复用登录凭证。配置完成后用 Actions 预览里的测试按钮发一次最小请求,能返回模型列表或一句回复再继续。
model 字段必须填聚合平台上已开通的模型标识,不能填界面展示名或自己起的别名。标识通常由厂商名和版本号组成,大小写和连字符都要一致,写错会返回模型不存在或 400。稳妥做法是在请求体 schema 里把 model 定义成 string 并给出 enum 候选值,让 GPTs 只能从中选择,减少拼写错误。模型切换时只改这一处,不要改动 paths 和鉴权头,否则容易把原本可用的配置改坏。
一份能被 Actions 识别的 schema 至少包含 openapi 版本号、servers、paths,以及每个操作的唯一 operationId。operationId 重复会让平台无法区分工具,表现为导入失败或调用错乱,建议用动词加对象命名,例如 chatCompletion。requestBody 要声明 content 为 application/json,并给出 messages 数组的结构。schema 里不需要写完整业务逻辑,但字段类型、必填项和示例值要写清楚,否则 GPTs 生成参数时会缺字段。
请求体最少需要 messages 数组,每条含 role 和 content,role 取 system、user、assistant 之一。stream 要显式设为 false,因为 Actions 按一次性 JSON 响应解析,流式返回会被截断或解析失败。temperature 和 max_tokens 建议写进 schema 并给默认值,避免模型自由发挥导致超长输出。如果一次要传多轮上下文,由 GPTs 在调用时组装 messages,聚合平台侧按无状态处理,不需要额外传会话 ID。
响应必须是标准 JSON,且单次调用要在平台规定的响应时限内返回,超时表现为 Action 调用失败而非模型报错。控制方式是调小 max_tokens、在提示词里限制输出长度、避免一次请求里串联多个模型调用。返回体里只要保留 choices 下的文本字段即可,多余结构会增加解析负担。若接口偶发慢响应,应在 schema 的 description 里说明用途,让 GPTs 在非必要场景不频繁调用。
排查按 curl 直连、schema 校验、Actions 测试三步走,能快速定位参数错误的位置。直连返回 401 说明 Key 或头格式问题,404 说明路径拼接错误,400 多半是 model 或 messages 结构不对,429 是限流,5xx 是上游或网关问题。直连通了但 Actions 失败,重点看 schema 的 servers 与 paths 是否重复拼接、operationId 是否重复、Content-Type 是否声明。每一步只改一个变量,避免多个参数同时变动后无法归因。
API Key 只放在 Actions 的鉴权配置里,不要写进提示词、schema 描述或示例值,否则会随对话内容泄露。生产使用时给 Key 设置调用额度、可用模型范围和到期时间,并定期轮换。涉及用户数据的请求要在提示词里说明用途和保留范围,返回内容做脱敏。聚合平台侧若有内容合规审核,需预留审核不通过时的降级话术,避免 GPTs 直接把错误码抛给用户。
最终核对时,把 Base URL、路径、鉴权头、模型 ID、operationId、请求体字段、stream 开关、超时与限额八项逐条对照。任一项缺失都可能表现为同一类报错,所以不要凭报错码猜原因,而是按顺序回看配置。参数一次配好后,把可用版本另存为副本,后续换模型只改 model 字段,能显著降低回归成本。