B2BB2B LLM

异步请求

对支持的推理请求进行排队并通过Partner API检索其完成的结果。

异步请求

Model Gate 异步模式将推理作业存储在持久的 MariaDB 队列中,并立即返回请求 ID。独立的 sub2proxy 工作人员通过租约声明排队作业,并且在进程重新启动后可以恢复放弃的租约。完成的结果从 Partner API 读取或传递到配置文件中配置的回调。

支持异步模式:

  • POST /v1/chat/completions
  • POST /v1/messages
  • POST /v1/responses
  • POST /v1/images/generations

异步请求不能使用 stream: true

队列请求

添加模型门扩展 "async": true 到其他有效的请求。

要求

curl https://api.model-gate.com/v1/responses \
  -H "Authorization: Bearer mg_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "input": "Write a short release summary.",
    "async": true,
    "stream": false
  }'

回应——202

{
  "request_id": "01KZ...",
  "status": "queued",
  "result_url": "https://p-api.model-gate.com/api/v1/requests/01KZ..."
}

async 字段在请求发送到上游之前被删除。在作业排队之前,模型别名将解析为其规范模型。工作人员重新验证密钥并通过与同步推理相同的模型门请求/会计核心执行。队列行不包含 API 密钥秘密。本机异步定价保持不变,并且不使用批量请求价格系数。

在工作人员领取物品之前,它会检查 MariaDB 中的当前帐户余额和当前可重置密钥/组支出使用情况。如果帐户余额不为正,或者配置的密钥/组支出限额已用完,则该项目将保留 queued 并且不消耗执行尝试。稍后充值、使用重置或限制增加将使该项目自动符合资格。 Model Gate 不保留估计的请求成本:已通过准入的工作可以完成并结算其全部实际成本,即使并发工作使最终余额为负数或略微超出支出限额。然后,新的执行将被阻止,直到该帐户再次符合资格。

恢复语义

持久队列提供 至少一次恢复,不是一次性执行。如果工作进程在上游提供者接受请求之后但在 Model Gate 持久存储异步结果之前停止,则租约最终会过期,并且另一个工作进程可能会重试相同的 Model Gate 请求 ID。结算可以防止双重借记,但通过模型工具引起外部副作用的应用程序应该使这些副作用幂等。

检索结果

使用属于同一 Model Gate 帐户的 Partner API 密钥。

要求

curl https://p-api.model-gate.com/api/v1/requests/01KZ... \
  -H "Authorization: Bearer mg_partner_..."

响应——处理

{
  "data": {
    "request_id": "01KZ...",
    "status": "processing",
    "created_at": "2026-08-05 10:00:00",
    "started_at": "2026-08-05 10:00:01",
    "completed_at": null,
    "expires_at": "2026-08-06 10:00:00"
  }
}

回应——已完成

{
  "data": {
    "request_id": "01KZ...",
    "status": "completed",
    "response_status": 200,
    "response_headers": {
      "content-type": ["application/json"]
    },
    "response": {
      "id": "resp_...",
      "object": "response",
      "status": "completed"
    },
    "created_at": "2026-08-05 10:00:00",
    "started_at": "2026-08-05 10:00:01",
    "completed_at": "2026-08-05 10:00:03",
    "expires_at": "2026-08-06 10:00:00"
  }
}

结果端点返回完整存储的上游主体,直到 expires_at。返回外部、过期或未知的请求 ID 404

错误

{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_async_stream_combination",
    "message": "Async requests cannot be streamed."
  }
}

不支持的端点返回 async_not_supported

回调

已完成的异步结果会持久排队,以便传送到配置文件中配置的回调 URL。回调传递有自己的工作/重试队列,因此不会等待另一个模型 API 请求。维护还将终端异步行协调到请求历史记录中,并在工作线程崩溃后恢复丢失的完成回调。看 回调 用于签名验证、重试和幂等性指导。