模型命名与路由

1. model 字段约定

ApiSet.ai 网关使用单一的 model 字段同时表示「提供商」和「模型」,中间用冒号分隔:

  • 格式:provider:modelId

示例:

  • DeepSeek 对话模型:deepseek:deepseek-chat
  • DeepSeek 对话模型:deepseek-chat 这种是直接使用deepseek官方模型
  • AliyunBailian的DeepSeek 对话模型:AliyunBailian:deepseek-chat 这种是使用AliyunBailian提供的模型
  • DeepSeek 推理模型:deepseek:deepseek-reasoner
  • OpenAI GPT‑4.1 mini:openai:gpt-4.1-mini

其中:

  • provider:网关内部的提供商标识,可以不用指定,例如:
    • deepseek
    • openai
    • siliconflow
  • modelId:具体模型名称,与各提供商官方文档一致,例如:
    • deepseek-chat
    • deepseek-reasoner
    • gpt-4.1-mini

2. 路由行为(对调用方透明)

发送请求时:

  1. 网关从 model 字符串中解析出 providermodelId
  2. 据此选择实际的上游地址与真实模型名。
  3. 转发前会:
    • 将请求中的 model 重写为提供商真实模型名(如 deepseek-chat)。
    • 用该提供商的密钥替换鉴权头。

您无需关心网关内部如何维护 provider/model 映射。只要 model 填写正确,网关会把请求路由到预期的提供商和模型。

3. 示例:从直连 DeepSeek 迁移到网关

原先直连 DeepSeek 的调用:

curl https://api.deepseek.com/v1/chat/completions \
  -H &amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;lt;span class=&amp;amp;amp;lt;span class=&amp;amp;lt;span class=&amp;lt;span class=&lt;span class=<span class="hljs-string">&quot;hljs-string&quot;</span>&gt;&amp;quot;hljs-string&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;hljs-string&amp;amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;amp;quot;hljs-string&amp;amp;amp;quot;&amp;amp;lt;/span&amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;quot;&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;quot;Authorization: Bearer {api_set_key}&amp;amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;gt; \
  -H &amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;lt;span class=&amp;amp;amp;lt;span class=&amp;amp;lt;span class=&amp;lt;span class=&lt;span class=<span class="hljs-string">&quot;hljs-string&quot;</span>&gt;&amp;quot;hljs-string&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;hljs-string&amp;amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;amp;quot;hljs-string&amp;amp;amp;quot;&amp;amp;lt;/span&amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;quot;&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;quot;Content-Type: application/json&amp;amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;gt; \
  -d &amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;lt;span class=&amp;amp;amp;lt;span class=&amp;amp;lt;span class=&amp;lt;span class=&lt;span class=<span class="hljs-string">&quot;hljs-string&quot;</span>&gt;&amp;quot;hljs-string&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;hljs-string&amp;amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;amp;quot;hljs-string&amp;amp;amp;quot;&amp;amp;lt;/span&amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;quot;&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;#x27;{
    &amp;amp;amp;amp;amp;amp;amp;amp;quot;model&amp;amp;amp;amp;amp;amp;amp;amp;quot;: &amp;amp;amp;amp;amp;amp;amp;amp;quot;deepseek-chat&amp;amp;amp;amp;amp;amp;amp;amp;quot;,
    &amp;amp;amp;amp;amp;amp;amp;amp;quot;messages&amp;amp;amp;amp;amp;amp;amp;amp;quot;: [{&amp;amp;amp;amp;amp;amp;amp;amp;quot;role&amp;amp;amp;amp;amp;amp;amp;amp;quot;:&amp;amp;amp;amp;amp;amp;amp;amp;quot;user&amp;amp;amp;amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;amp;amp;amp;quot;content&amp;amp;amp;amp;amp;amp;amp;amp;quot;:&amp;amp;amp;amp;amp;amp;amp;amp;quot;Hi&amp;amp;amp;amp;amp;amp;amp;amp;quot;}]
  }&amp;amp;amp;amp;amp;amp;amp;amp;#x27;&amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;gt;

改为通过 apiset.ai 网关的等价调用:

curl https://apiset.ai/api/v1/chat/completions \
  -H &amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;lt;span class=&amp;amp;amp;lt;span class=&amp;amp;lt;span class=&amp;lt;span class=&lt;span class=<span class="hljs-string">&quot;hljs-string&quot;</span>&gt;&amp;quot;hljs-string&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;hljs-string&amp;amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;amp;quot;hljs-string&amp;amp;amp;quot;&amp;amp;lt;/span&amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;quot;&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;quot;Authorization: Bearer {api_set_key}&amp;amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;gt; \
  -H &amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;lt;span class=&amp;amp;amp;lt;span class=&amp;amp;lt;span class=&amp;lt;span class=&lt;span class=<span class="hljs-string">&quot;hljs-string&quot;</span>&gt;&amp;quot;hljs-string&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;hljs-string&amp;amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;amp;quot;hljs-string&amp;amp;amp;quot;&amp;amp;lt;/span&amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;quot;&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;quot;Content-Type: application/json&amp;amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;gt; \
  -d &amp;amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;amp;lt;span class=&amp;amp;amp;amp;lt;span class=&amp;amp;amp;lt;span class=&amp;amp;lt;span class=&amp;lt;span class=&lt;span class=<span class="hljs-string">&quot;hljs-string&quot;</span>&gt;&amp;quot;hljs-string&amp;quot;&lt;/span&gt;&amp;gt;&amp;amp;quot;hljs-string&amp;amp;quot;&amp;lt;/span&amp;gt;&amp;amp;gt;&amp;amp;amp;quot;hljs-string&amp;amp;amp;quot;&amp;amp;lt;/span&amp;amp;gt;&amp;amp;amp;gt;&amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;quot;&amp;amp;amp;lt;/span&amp;amp;amp;gt;&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;quot;hljs-string&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;amp;#x27;{
    &amp;amp;amp;amp;amp;amp;amp;amp;quot;model&amp;amp;amp;amp;amp;amp;amp;amp;quot;: &amp;amp;amp;amp;amp;amp;amp;amp;quot;deepseek-chat&amp;amp;amp;amp;amp;amp;amp;amp;quot;,
    &amp;amp;amp;amp;amp;amp;amp;amp;quot;messages&amp;amp;amp;amp;amp;amp;amp;amp;quot;: [{&amp;amp;amp;amp;amp;amp;amp;amp;quot;role&amp;amp;amp;amp;amp;amp;amp;amp;quot;:&amp;amp;amp;amp;amp;amp;amp;amp;quot;user&amp;amp;amp;amp;amp;amp;amp;amp;quot;,&amp;amp;amp;amp;amp;amp;amp;amp;quot;content&amp;amp;amp;amp;amp;amp;amp;amp;quot;:&amp;amp;amp;amp;amp;amp;amp;amp;quot;Hi&amp;amp;amp;amp;amp;amp;amp;amp;quot;}]
  }&amp;amp;amp;amp;amp;amp;amp;amp;#x27;&amp;amp;amp;amp;amp;amp;amp;lt;/span&amp;amp;amp;amp;amp;amp;amp;gt;

只需改动两处:

  • 基础 URL:从 https://api.deepseek.com 改为 https://apiset.ai/api
  • 鉴权:从 deepseek_api_key 改为 xai_api_key

其余字段(messages、temperature、max_tokens 等)保持不变。

4. 支持的提供商与模型

在 apiset.ai 控制台的模型定价页面中可查看:

  • 支持的 provider 列表。
  • 各 provider 下可用的 modelId 选项。
  • 各模型的计费说明(按千 token 单价、按次计费等)。

接入前建议在控制台确认目标 provider 与 modelId 已开通,并了解其计费规则。