Skip to content

Grok API Python 教程:调用 Responses API、配置密钥与错误处理 ​

xAI 的开发者入口是 console.x.ai,官方文档是 docs.x.ai。本文在 2026 年 10 月 6 日更新;示例中的 grok-4.6 只是写作时的参考值,模型名称、价格、上下文和限流都可能变化。部署前请以 模型与价格页 和控制台实际返回的可用模型为准。

想先比较兼容 API 入口?

可查看 ZeoAPI 注册入口,核对当前是否提供所需模型与兼容接口。ZeoAPI 是独立第三方服务,不是 xAI 官方 API;Base URL、模型路由、价格、额度、日志和数据处理规则以登录后的页面及服务条款为准。注册链接含推荐参数,是否使用完全自愿。需要 xAI 官方能力时,请优先使用本文列出的 console.x.ai 与官方文档。

先核验模型 ID,再复制代码:在控制台或官方模型页确认项目可用的精确 model 字符串。网页端显示的“最新 Grok”名称不一定等于 API ID,也不能把 grok-4.6、grok-latest 等别名当成永久兼容的接口。

一、开始前需要什么 ​

项目说明
xAI 开发者账号用于控制台、项目和账单
API Key只在服务端使用,不放入前端
Python 3.10+建议使用虚拟环境
官方 SDK示例使用 xai-sdk
成本控制在控制台设置预算或告警

第三方 API 中转并不等同于 xAI 官方 API。如果使用第三方服务,要单独核对模型、计费、日志和数据处理规则。

二、安装 SDK ​

powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade xai-sdk

macOS 或 Linux:

bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade xai-sdk

三、安全配置 API Key ​

PowerShell 当前会话:

powershell
$env:XAI_API_KEY = "你的密钥"

Bash 当前会话:

bash
export XAI_API_KEY="你的密钥"

不要把真实密钥写入 Markdown、截图、前端 JavaScript 或 Git 仓库。生产环境应使用部署平台的加密环境变量。

四、第一次请求 ​

python
import os

from xai_sdk import Client

api_key = os.environ.get("XAI_API_KEY")
if not api_key:
    raise RuntimeError("XAI_API_KEY is not configured")

client = Client(
    api_key=api_key,
    base_url="https://api.x.ai/v1",
)

response = client.responses.create(
    model="grok-4.6",  # 以控制台当前可用模型 ID 为准
    input=(
        "请用简体中文解释这段函数的错误,并给出最小修复:"
        "function median(a){a.sort();return a[a.length/2]}"
    ),
)

print(response.output_text)

运行:

powershell
python .\app.py

如果当前文档推荐的模型已经变化,将 model 改成控制台和官方模型页列出的有效名称。

五、使用 curl 验证账号和模型 ​

SDK 报错时,可以先用最小 HTTP 请求排除本地依赖问题:

bash
curl https://api.x.ai/v1/responses \
  -H "Authorization: Bearer $XAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-4.6",
    "input": "Return exactly: ok"
  }'

如果 curl 也失败,优先检查密钥、项目权限、账单、模型名称和服务状态。

六、生产代码的最小错误处理 ​

python
import os
import time

from xai_sdk import Client

client = Client(
    api_key=os.environ["XAI_API_KEY"],
    base_url="https://api.x.ai/v1",
)


def ask_grok(prompt: str, attempts: int = 3) -> str:
    if not prompt.strip():
        raise ValueError("prompt must not be empty")

    last_error: Exception | None = None

    for attempt in range(attempts):
        try:
            response = client.responses.create(
                model="grok-4.6",  # 以控制台当前可用模型 ID 为准
                input=prompt,
            )
            return response.output_text
        except Exception as error:
            last_error = error
            if attempt == attempts - 1:
                break
            time.sleep(2 ** attempt)

    raise RuntimeError("xAI request failed") from last_error


print(ask_grok("列出审查一段Python代码时最重要的5个检查项。"))

示例使用有限次数的指数退避。真实项目还应:

  • 为网络请求设置超时;
  • 只对可重试错误重试;
  • 记录请求 ID 和错误类型,不记录完整敏感输入;
  • 对用户输入、输出长度和并发进行限制;
  • 在业务层设置总成本和失败降级策略。

七、API 可以做什么:从单次问答到工作流 ​

Grok API 的价值在于把模型接入已有系统,而不只是手动打开网页提问。常见的落地方式包括:

场景调用方式实施要点
客服与工单分流服务端接收问题,返回分类、优先级和草稿回复让模型输出固定 JSON,敏感操作交给人工确认
批量内容处理队列逐条发送摘要、标签或改写任务限制并发、记录请求 ID 和用量,失败任务可重放
RAG 知识库问答检索相关片段后拼入 input限制片段长度,要求模型引用来源,避免把整库直接上传
代码审查与 CI提交或流水线触发 API 请求固定检查清单,结果写回评论,密钥只放 CI Secret
多模型路由先用轻量模型分类,再按任务调用 Grok 或其他模型路由表使用实际可用的模型 ID,并为每个提供商单独统计成本

与 GPT-6 等其他模型协同 ​

当前我们的多模型产品已支持 GPT-6。它与 Grok API 是不同提供商、不同鉴权和计费链路:不要把 GPT-6 的模型名直接填到 xAI 的 model 参数,也不要假设两个接口的工具调用、上下文长度和返回字段完全相同。推荐在自己的服务端建立统一任务层:

  1. 先定义业务输入、输出 JSON Schema 和超时上限。
  2. 根据任务类型选择 Grok、GPT-6、Claude 或 Gemini 的实际可用模型 ID。
  3. 为每个提供商写一层适配器,统一错误、重试、日志和用量记录。
  4. 用同一组验收样本比较质量、延迟和成本,再决定是否自动切换。

如果只是想在产品内切换模型,请以产品当日显示的模型列表为准;如果是直接调用 API,则必须分别查看对应官方文档。

八、常见错误怎么排查 ​

现象常见原因排查方向
401 / 403密钥错误、权限或账号问题重新生成密钥,检查项目与账单
404 / model not found模型名称过期或账号未开放查看官方模型页
429触发请求或 Token 限流降低并发,按响应提示重试
请求超时输入过长、网络或服务繁忙缩短输入,设置超时和重试
成本异常循环调用、输入过长、未限制输出记录用量,设置预算和上限
输出不稳定任务约束不足或输入不同固定模板、测试集和验收标准

排查时按“最小请求 → 权限 → 模型 → 限流 → 业务代码”的顺序缩小范围:先用上面的 curl 发送 Return exactly: ok,再逐步加回长提示词、文件、工具和并发。若 SDK 报错信息被包装过,保留 HTTP 状态码、响应中的 request ID 和时间戳,方便在控制台或官方支持渠道定位;不要把完整用户输入和 API Key 写进日志。

九、成本与数据安全 ​

xAI 在 2026年8月12日的 Grok 4.6 公告 中写明,标准版本价格从每百万输入 Token 2 美元、每百万输出 Token 6 美元起;当前实际价格、长上下文价格和快速变体仍以模型页与控制台为准。

数据安全建议:

  1. 不把密钥写进客户端应用。
  2. 为开发、测试和生产使用不同密钥。
  3. 对日志中的用户输入、文件名和个人信息做脱敏。
  4. 给高成本操作设置确认和额度上限。
  5. 删除不再使用的密钥,并定期轮换。
  6. 查看 xAI 当前隐私、企业和数据条款。

十、第三方 API 入口怎么判断 ​

如果官方账号、支付或地区条件不适合,也可能遇到第三方 API 平台。使用前确认:

  • 服务方明确说明自己不是 xAI;
  • 模型名称和版本是否可验证;
  • 是否支持 Responses API、流式输出或工具调用;
  • 日志保留、密钥管理、退款和故障责任;
  • 是否提供可导出的用量记录。

不要只因为接口兼容 OpenAI 格式,就假设底层模型、上下文和工具与官方完全相同。

常见问题 ​

Grok API和grok.com会员是一回事吗? ​

不是。网页产品订阅和开发者 API 通常属于不同的账号权益与计费路径,应分别查看官方页面。

可以直接在浏览器调用API吗? ​

不建议。这样会暴露密钥。应由服务端调用,并对用户请求做权限和额度控制。

应该使用哪个模型名称? ​

使用 官方模型页 当前列出的名称,并确认该模型已对你的项目开放。本文示例使用 grok-4.6,仅用于演示;如果接口返回 model not found,先不要盲目重试,改用控制台实际列出的 ID。

可以把 GPT-6、Claude 或 Gemini 的模型名填给 xAI API 吗? ​

不可以。模型 ID 属于各自提供商。需要跨模型时,在服务端分别配置凭据和适配器;我们的产品虽然已经支持 GPT-6 等模型,直接调用 xAI 仍应遵循 xAI 的模型列表和鉴权方式。

API支持图片输入吗? ​

官方模型页会列出各模型的输入模态。具体请求格式应参考对应的官方指南。

如何控制费用? ​

限制输入与输出长度、并发和重试次数,记录用量,并在控制台设置预算或告警。

相关阅读 ​

本站为独立的 Grok 中文教程与导航站,非 xAI 官方网站。