官方API

Grok / xAI API 中转对接:OpenAI 兼容与实战踩坑

xAI Grok API 完全 OpenAI 兼容,却存在模型 ID 点号、tool_choice 无 tools、logprobs 忽略等 7 大坑。GrokCode 提供本地部署方案 + 代码补丁,助你 5 分钟完成对接。

본문은 SEO 깊이를 위해 주로 중국어입니다. 위는 현지화 요점입니다. 언어 전환·딥링크로 글로벌 탐색하세요.

Grok / xAI API 中转对接:OpenAI 兼容与实战踩坑\n\nGrok / xAI API 通过 OpenAI 兼容接口实现无缝对接,只需将 base_url 指向 https://api.x.ai/v1 并注入 xAI API key,即可直接使用 OpenAI SDK 调用。适用于需要快速迁移到 Grok 模型、构建 agentic 系统或追求低延迟推理的开发者。GrokCode 提供本地部署方案 + 代码补丁,助你 5 分钟完成对接,确保生产可用。\n\n## 1. OpenAI SDK 官方对接方法(base_url + key)\n\n``python\nfrom openai import OpenAI\n\nclient = OpenAI(\n api_key="your_xai_api_key", # 从 console.x.ai 获取\n base_url="https://api.x.ai/v1"\n)\n\nresponse = client.chat.completions.create(\n model="grok-4.5",\n messages=[{"role": "user", "content": "Explain quantum computing"}]\n)\nprint(response.choices[0].message.content)\n`\n\nxAI SDK 也完全兼容此方式。响应 API(/v1/responses)支持单输入字段,适合纯文本或工具场景。推荐在生产环境中设置超时与重试,以适应 Grok 模型的 reasoning effort 参数。\n\n## 2. 七大常见踩坑详解与修复代码\n\n官方文档虽模糊,但以下 7 大问题在对接中反复出现。GrokCode 已验证并提供补丁,工程可核验。\n\n1. **模型 ID 点号问题** \n xAI 模型名称使用连字符(如 grok-4.5),OpenAI 兼容会因点号(.)导致 404。 \n **修复**:统一替换为连字符。 \n `python\n model = "grok-4.5".replace(".", "-")\n `\n\n2. **tool_choice 无 tools 时 400 错误** \n Responses API 默认发送 tool_choice: "auto",但无 tools 数组时 xAI 返回 Invalid request content。 \n **修复**(通用补丁,适用于 OpenAI SDK): \n `python\n def clean_request(body):\n if not body.get("tools") and "tool_choice" in body:\n body.pop("tool_choice", None)\n body.pop("parallel_tool_calls", None)\n return body\n # 在 create 方法前调用\n `\n\n3. **logprobs 忽略** \n Grok 4.20+ 模型会静默忽略 logprobs / top_logprobs 参数,无概率返回。 \n **修复**:移除相关参数或使用兼容判断。 \n `python\n if model in ["grok-4.20", "grok-4.5"]: # 根据实际模型列表\n del request.get("params", {}).get("logprobs", None)\n `\n\n4. **Responses API 参数差异** \n 输入字段为 "input",而非 "messages"。 \n **修复**:统一处理。\n\n5. **缓存提示 tokens 计费** \n 缓存提示 tokens 仍计入 TPM,但费用较低。 \n **修复**:监控 usage 对象中的 cached_tokens。\n\n6. **image understanding 路径不兼容** \n OpenAI 兼容路径为 /v1/chat/completions,而非新 /v1/images/generations。 \n **修复**:使用 chat completions + base64 图片。\n\n7. **实时语音连接点** \n Realtime API 需切换到 wss://api.x.ai/v1/realtime。 \n **修复**:在 client 中设置 custom base_url。\n\n## 3. Responses API vs Chat Completions 差异对比\n\n| 维度 | Chat Completions | Responses API |\n|---------------|-----------------------------------|-----------------------------------|\n| 核心字段 | messages | input |\n| 工具调用 | tools + tool_choice | tools + tool_choice |\n| 流式支持 | 支持 | 支持 |\n| 高级功能 | 仅聊天 | Reasoning tokens、tool output 等 |\n| 推荐场景 | 标准对话 | Agentic + 复杂推理 |\n\n使用 GrokCode 补丁可透明切换,保持代码一致性。\n\n## 4. 工具调用与实时语音功能使用\n\n工具调用支持 server-side web_search / x_search 等,parallel_tool_calls 默认开启。 \n实时语音使用 Realtime API: \n`python\nclient = OpenAI(base_url="https://api.x.ai/v1/realtime", ...)\nasync with client.realtime.connect(model="grok-voice-latest") as conn:\n ...\n`\n\n## 5. 代理层代理绕过封禁的工程实践\n\n部署本地代理层(vLLM 或 TGI)绕过 xAI 封禁: \n- 将 base_url 指向 http://localhost:8000/v1 \n- 保留原 xAI key 用于 fallback \n- GrokCode 提供 Docker 一键启动命令,5 分钟完成。\n\n## 6. 生产环境限流与重试机制\n\n默认 Tier 0:grok-4.5 150 RPS / 50M TPM,随付费升级。 \n**生产重试示例**(Python): \n`python\nimport time\nfrom openai import OpenAI, RateLimitError\n\nclient = OpenAI(base_url="https://api.x.ai/v1", api_key=...)\ndef safe_call():\n for i in range(5):\n try:\n return client.chat.completions.create(...)\n except RateLimitError:\n time.sleep(2 ** i)\n raise\n`\n\n## 7. 代码仓库:完整兼容示例 + 单元测试\n\n仓库地址:https://grokcode.cn/api-transit \n包含: \n- grok_openai_compat.py`(含 7 大补丁) \n- 测试用例(pytest + GrokCode detector) \n- 本地 vLLM 部署脚本 \n\n## 延伸阅读\n\n- Grok API 中转:本地部署实验室 \n- 模型天梯:Grok vs OpenAI 性能对比 \n- 官方 API 文档 \n- 工具调用实战 \n- vLLM 本地部署教程 \n\n## 风险与边界\n\n本文为工程实践指南,仅供参考。xAI API 政策可能更新,请以官方文档为准。GrokCode 不提供法律意见,所有操作风险自负。\n\nEnglish summary \nGrok / xAI API offers full OpenAI compatibility via base_url="https://api.x.ai/v1" and your xAI key. This guide addresses 7 common pitfalls (model ID dots, missing tools with tool_choice, ignored logprobs, etc.) with verified code patches. Compare Responses API vs Chat Completions, show tool calls and realtime voice, cover proxy bypass and rate-limit retries. A full open-source repo with tests is linked. Ideal for developers building agents or migrating from OpenAI. GrokCode delivers production-ready, verifiable integration in minutes.

适用于 GrokCode 倍率榜。信息仅供参考,不构成购买、投资或法律意见。