跳转到内容

规范详情

核心规范(v1/spec.yaml)定义了所有供应商清单和运行时共享的标准词汇。

以下参数在所有供应商中含义一致:

参数类型描述
temperaturefloat随机性控制(0.0 – 2.0)
max_tokensinteger最大响应 token 数
top_pfloat核采样阈值
streamboolean启用流式响应
stopstring[]停止序列
toolsobject[]工具/函数定义
tool_choicestring/object工具选择模式
response_formatobject结构化输出格式

供应商清单将这些标准名称映射到供应商特定的参数名。例如,OpenAI 使用 max_completion_tokens,而 Anthropic 使用 max_tokens

规范定义了运行时发出的统一流式事件类型:

事件描述
PartialContentDelta文本内容片段
ThinkingDelta推理/思考块(扩展思考模型)
ToolCallStarted函数/工具调用开始
PartialToolCall工具调用参数流式传输
ToolCallEnded工具调用完成
StreamEnd响应流结束
StreamError流级错误
Metadata使用统计、模型信息

供应商清单声明基于 JSONPath 的规则,将供应商特定事件映射到这些标准类型。

V2 定义了 13 个标准化错误码。供应商特定错误会映射到这些代码,以便在各运行时中一致处理:

代码名称类别可重试可回退
E1001invalid_requestClientNoNo
E1002authenticationClientNoYes
E1003permission_deniedClientNoNo
E1004not_foundClientNoNo
E1005request_too_largeClientNoNo
E2001rate_limitedRateYesYes
E2002quota_exhaustedRateNoYes
E3001server_errorServerYesYes
E3002overloadedServerYesYes
E3003timeoutServerYesYes
E4001conflictOperationalYesNo
E4002cancelledOperationalNoNo
E9999unknownUnknownNoNo
  • 可重试 — 运行时可为临时故障重试请求(带退避)
  • 可回退 — 运行时可在回退链中尝试备选供应商或模型

规范定义标准重试策略:

retry_policy:
strategy: "exponential_backoff"
max_retries: 3
initial_delay_ms: 1000
max_delay_ms: 30000
backoff_multiplier: 2.0
retryable_errors:
- "rate_limited"
- "overloaded"
- "server_error"
- "timeout"

响应完成时的标准化结束原因:

原因描述
end_turn正常结束
max_tokens达到 token 限制
tool_use模型希望调用工具
stop_sequence遇到停止序列
content_filter被内容策略过滤

供应商按 API 系列分类,以避免请求/响应格式混淆:

  • openai — OpenAI 兼容 API(也用于 Groq、Together、DeepSeek 等)
  • anthropic — Anthropic Messages API
  • gemini — Google Gemini API
  • custom — 供应商特定格式