GPTs 怎么添加第三方模型服务商接口,为什么填不了 Base URL、只能用 Actions 中转?
GPTs 没有填写 Base URL 和模型名的入口,底层模型不能换成第三方服务商;可行路径是写一个 OpenAPI 3.1.0 的 Actions,让 GPT 通过 HTTPS 调用你自建的中转层,再由中转层请求第三方模型接口。只想直接切换模型,应改用支持自定义 Base URL 的客户端,而不是 GPTs。
GPTs 无法直接添加第三方模型服务商接口,因为它没有 Base URL、模型名和密钥这三个可填字段,底层模型由平台固定,能走通的只有一条路:用 Actions 调用一个自建的公网 HTTPS 中转接口,由中转层去请求第三方模型。需要整段对话都由第三方模型完成时,GPTs 不适用,应改用支持自定义 Base URL 的客户端或编排平台,否则只会在错误的入口上反复折腾。
GPTs 的工具体系只有 Actions,而 Actions 认的是 REST 语义的 OpenAPI 描述,不是模型协议里的地址替换。这解释了为什么在配置页翻遍也找不到填第三方接口的位置:平台不开放底层推理替换,只开放调用外部服务这一层能力。把这个分层想清楚,后面每个配置项该填什么、为什么填,都有判断依据,而不是照抄教程。
中转层最小可用形态是一个对话接口:接收 model 与 messages,返回文本或结构化的 content 字段。第三方服务商的密钥、配额、供应商切换全部收在中转层内部,GPT 侧只看到一个业务动作,看不到外部账号体系。接口路径尽量短,返回结构只暴露必要字段,这样更换供应商时只需修改中转层,不用动已经发布的 GPT。
OpenAPI 描述文件要用 3.1.0 版本,servers 里只填一个公网 HTTPS 域名,IP 地址、localhost、自签名证书都会被拒绝。operationId 用动作加对象的短名,参数结构尽量扁平,模型名用 enum 收敛成固定选项,避免 GPT 自由发挥填入不存在的模型名。这些约束看着琐碎,但每一项都对应一类线上调用失败,按规范先写完比事后排查省时间。
description 决定 GPT 什么时候发起调用,写成「把用户要翻译的文本发给翻译模型并返回译文」这类明确句式,比只写「调用接口」有效得多。描述含糊时会出现两种坏结果:闲聊里也去调接口、白耗额度,或者该调的时候不调、模型自己编一个答案。描述里最好同时写清输入格式与返回什么字段,让模型知道拿到的结果是可引用的原文而不是素材。
认证只有无认证、API Key、OAuth 三种,第三方密钥必须留在中转层,不要写进描述文件或提示词。选 API Key 时这份凭证会保存在平台侧,需要配套轮换与吊销流程;权限敏感或多人协作的场景用 OAuth 更稳,但接入和维护成本更高。无论选哪种,中转层都要再做一次来源校验与限流,不能把平台侧的认证当成唯一防线。
配置入口在 GPT 编辑器的 Configure 页,Actions 中新建一个 action,粘贴描述文件、选定认证方式后就能在预览里实测。发布前还要准备隐私政策链接,且该链接的域名要与 action 的域名一致。域名对不上是提交审核被退回的常见原因,改动本身只要几分钟,但往往卡住整条发布流程。
Instructions 里要写清调用约定:什么条件下必须调、失败重试几次、拿不到结果时怎么向用户交代。缺少这段约束,模型容易把接口返回当素材二次改写,用户看到的是被润色过的结论而不是原始结果。调用约定固定之后,回答的稳定性主要取决于中转层,而不是提示词写得多漂亮。
单次 action 调用有超时限制,响应体也有字符数上限,量级分别在数十秒和十万字符这个范围。长文本生成、批量处理这类任务要改成异步:提交后返回 job_id,再提供查询接口让 GPT 轮询,或者在中转层先做摘要与截断。中转层还应带上幂等键,防止 GPT 重试时重复提交、重复计费。
最常见的失败来自描述文件本身:版本写成 3.0.x、$ref 出现循环引用、认证头少了 Bearer 后面的空格、响应体超限被截断。排查时先看预览里的调用日志,确认请求体与返回码,再回头核对描述文件字段是否与真实接口一致。先怀疑配置、再怀疑网络,顺序反了会浪费大量时间在抓包上。
把第三方模型挂进 GPTs 意味着对话数据会离开原平台、发给另一家服务商,涉及个人信息、商业秘密或跨境传输时要先做合规评估。输出内容的责任落在接入方,模型服务商的条款通常只覆盖其自身服务,不覆盖你在 GPT 里二次分发的结果。内部最好先明确哪些字段允许出站、哪些必须在中转层脱敏后再转发。
成本由三块构成:第三方模型的 token 费用、中转层的计算与带宽、为超时和重试预留的冗余额度。Actions 不按次单独计费,但会消耗对话额度;如果目标只是一个能用第三方模型的助手,直接用支持自定义地址的客户端少一层故障点,成本也更可控。只有当第三方模型是挂在主对话下的子能力,比如翻译、审稿、领域生成,用 Actions 绕这一层才有实际收益。