Model API 参数

只要不与以下内容冲突,你的请求就保持灵活: 平台身份。

Anyhost 是透明推理代理。它为当前模型 adapter 保留请求参数,只管理鉴权、一个请求的 Catalog Model ID、一个 Generation、隐私安全存储和结算。

请求约定

Anyhost 不维护一份冻结的上游参数白名单。

对于当前透明 adapter,Anyhost 不管理的字段会按原 JSON 类型和值转发。即使 Anyhost 文档尚未列出,新发布的采样、推理、工具、模态、Provider 偏好和协议字段也包括在内。

model 为必填项,内部会替换为匹配且已审核的 route。公开响应仍显示你请求的 Anyhost Catalog Model ID。Anyhost 不会静默添加 max_tokens,不会更改采样值,也不会覆盖调用方选择的 Provider 偏好。

公开的 Anyhost OpenAPI 是权威请求约定。 它同时发布已上线的协议字段结构和下文所述的平台边界。模型 Catalog 是发现元数据,不是第二层参数防火墙。

约定层级

从外向内理解请求。

协议字段描述有效 JSON。模型元数据把范围缩小到某个 Model ID 声明的能力。所选 Provider endpoint 做出最终的实时支持判断。Anyhost 只管理最外层的平台边界。

正在加载当前参数约定…

协议请求字段

类型与结构遵循已发布的 Anyhost 约定。

选择一个协议,复制准确的 Anyhost Catalog Model ID,并使用该协议的请求结构。以下对象字段会保留其上游 JSON 结构: provider, reasoning, tools, plugins,以及结构化输出都会保留其上游 JSON 结构。

平台边界

只拒绝会破坏单一 Generation 语义的已启用控制项。

Field已发布行为Why
models, fallbacks必须缺失、为 null、false 或空值一个 Anyhost Generation 只有一个请求的 Catalog Model ID。
previous_response_id必须缺失、为 null、false 或空值Anyhost 不公开已存储响应续接能力。
prompt必须缺失、为 null、false 或空值Anyhost 不公开已存储 Prompt 引用。
backgroundtrue 会被拒绝; false 允许已发布的请求生命周期是同步 JSON 或 SSE。
storetrue 会被拒绝; false 允许Model API 不持久化 Prompt 或响应内容。

SDK 可以序列化未启用的可选值,例如 null, false、空字符串或空数组,而不会被拒绝。Anyhost 可以在不削弱此边界的情况下接入未来 adapter;新 adapter 在其透明约定通过审核前默认采用严格模式。

Provider 路由

Provider 偏好仍由调用方控制。

当前 adapter 会转发 provider 对象,而不是用 Catalog snapshot 覆盖它。你可以使用上游路由约定选择 Provider 顺序、启用或关闭 Provider fallback、要求参数支持、筛选 Provider、按价格/吞吐/延迟排序、请求隐私属性或设置上游最高价格。

model 不属于 provider. 请把必填且准确的 Anyhost Catalog Model ID 放在顶层;从经过鉴权的 GET /models 或者使用 公开模型浏览器复制。可选的顶层 provider 对象只会在能服务同一模型的合格 endpoint 之间选择;它不能替换模型,也不能选择第二个模型。因此, provider.allow_fallbacks 可以使用,因为它只在同一模型的 Provider 之间 fallback;而已启用的顶层 models or fallbacks 会被拒绝,因为它们请求的是跨模型 fallback。
{
  "model": "meta-llama/llama-3.3-70b-instruct",
  "messages": [{"role": "user", "content": "Hello"}],
  "provider": {
    "sort": "throughput",
    "allow_fallbacks": true,
    "require_parameters": true
  }
}
provider field类型 / 值路由效果
orderProvider slug 数组按指定顺序尝试合格的 Provider。
onlyProvider slug 数组本次请求只允许列出的 Provider。
ignoreProvider slug 数组本次请求排除列出的 Provider。
allow_fallbacks布尔值;默认为 true当第一个合格 Provider 不可用时,允许另一个 Provider 服务同一个顶层 model.
require_parameters布尔值;默认为 false只使用支持全部已提供模型参数的 endpoint,不允许忽略不支持的参数。
sort字符串或 { "by", "partition" }按已发布的价格、吞吐量、延迟或其他当前排序策略排列合格 endpoint。
quantizations量化格式数组按以下值筛选 endpoint,例如 int4, int8, fp8, fp16或 bf16.
data_collection"allow" or "deny";默认为 "allow"选择可能收集请求数据的 endpoint 是否合格。Anyhost 不会覆盖该值。
zdrBooleanWhen true时,只使用零数据保留(ZDR)endpoint。
enforce_distillable_textBooleanWhen true时,只使用作者允许文本蒸馏的模型。
max_price对象,包含 prompt, completion, request, image或 audio拒绝价格超过所提供单次请求上限的 endpoint。
preferred_min_throughput数字或百分位对象优先选择达到每秒 token 阈值的 endpoint;更慢的 endpoint 仍可作为 fallback。
preferred_max_latency数字或百分位对象优先选择达到指定秒数延迟阈值的 endpoint;更慢的 endpoint 仍可作为 fallback。

Provider slug 的拼写以及以下字段的嵌套结构: sort, max_price和百分位阈值,均发布在当前 Anyhost OpenAPI 的 provider 请求结构中。如果实时路由约定在本文档列出前新增字段,请以 OpenAPI 为准。

这些字段会影响实时路由,但不会改变 Anyhost 的公开 Model ID、Resource、Generation、客户价格策略或结算。Provider 偏好可能缩小可用 endpoint 集合,即使模型仍为 active,也可能导致请求失败。当不能接受所请求的模型参数被静默忽略时,请设置 provider.require_parameters: true ,以免静默忽略所请求的模型参数。

Generation 控制

采样与输出长度由调用方决定。

常见控制项,例如 temperature, top_p, top_k, min_p, frequency_penalty, presence_penalty, repetition_penalty, seed, stop, logprobs, max_tokens, max_completion_tokens,以及 max_output_tokens ,在提供时会被转发。

Anyhost 不提供隐藏的输出 token 默认值。如果省略参数,则使用实时模型/router 默认值。如果设置输出长度,实时 Provider 路由会决定哪些 endpoint 能满足它。当 Catalog 有证据支持 Provider 级完成长度上限时,会将该值发布为 max_output_tokens ,但不会把它注入请求;没有已发布的上限时,Anyhost 会省略该 Catalog 字段。

推理控制项,例如 reasoning, reasoning_effort, include_reasoning, thinking,以及 verbosity ,仍取决于协议和模型。

内容、工具与输出

保留每个协议的原生请求结构。

Chat Completions 和 Messages 使用 messages;Responses 使用 input ,并且可以使用 instructions。文本、图片、音频、文件和视频部分会按所选协议的已发布结构转发。模型页面公开当前 Catalog 模态元数据,但实时 route 支持仍是最终依据。

tools, tool_choice、并行工具控制、以下结构化输出字段: response_format or text.format、流式选项以及 server-tool/plugin 字段都是透明参数。Anyhost 不执行它们;实时 adapter 会处理或拒绝。

Set stream: true 以使用原生 SSE。Anyhost 保留事件顺序,并公开 x-anyhost-generation-id 。该值会在准入后出现。

传输与安全限制

大请求最高可达 50 MiB。

  • JSON 请求体限制为 50 MiB(上限) (52,428,800 字节)。更大的请求返回 413 request_too_large ,并在推理前终止。
  • 非流式上游 JSON 响应限制为 64 MiB(上限)。该限制用于保护 Server 内存,不限制 SSE 流持续时间。
  • 负载均衡器空闲超时为 600 秒。如果连接在此期间没有任何网络数据,可能会关闭;正常 SSE 事件会保持连接活跃。
  • 请求必须恰好是一个 JSON 对象,并包含非空字符串 model.

这些是传输和身份保护,不是模型创造力限制。Credits、Resource budget、Runtime Key 有效性、Resource 生命周期、模型生命周期和协议归属是独立准入检查。