Skip to content

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

xAI 的开发者入口是 console.x.ai,官方文档是 docs.x.ai。截至 2026年8月24日,官方 Quickstart 使用 Responses API,并在示例中调用 grok-4.6。模型名称、价格、上下文和限流可能变化,部署前应查看 模型与价格页

一、开始前需要什么

项目说明
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",
    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",
                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 和错误类型,不记录完整敏感输入;
  • 对用户输入、输出长度和并发进行限制;
  • 在业务层设置总成本和失败降级策略。

七、常见错误怎么排查

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

八、成本与数据安全

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吗?

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

应该使用哪个模型名称?

使用 官方模型页 当前列出的名称。本文核查时 Quickstart 使用 grok-4.6

API支持图片输入吗?

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

如何控制费用?

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

相关阅读

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