深色模式
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-sdkmacOS 或 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 美元起;当前实际价格、长上下文价格和快速变体仍以模型页与控制台为准。
数据安全建议:
- 不把密钥写进客户端应用。
- 为开发、测试和生产使用不同密钥。
- 对日志中的用户输入、文件名和个人信息做脱敏。
- 给高成本操作设置确认和额度上限。
- 删除不再使用的密钥,并定期轮换。
- 查看 xAI 当前隐私、企业和数据条款。
九、第三方 API 入口怎么判断
如果官方账号、支付或地区条件不适合,也可能遇到第三方 API 平台。使用前确认:
- 服务方明确说明自己不是 xAI;
- 模型名称和版本是否可验证;
- 是否支持 Responses API、流式输出或工具调用;
- 日志保留、密钥管理、退款和故障责任;
- 是否提供可导出的用量记录。
不要只因为接口兼容 OpenAI 格式,就假设底层模型、上下文和工具与官方完全相同。
常见问题
Grok API和grok.com会员是一回事吗?
不是。网页产品订阅和开发者 API 通常属于不同的账号权益与计费路径,应分别查看官方页面。
可以直接在浏览器调用API吗?
不建议。这样会暴露密钥。应由服务端调用,并对用户请求做权限和额度控制。
应该使用哪个模型名称?
使用 官方模型页 当前列出的名称。本文核查时 Quickstart 使用 grok-4.6。
API支持图片输入吗?
官方模型页会列出各模型的输入模态。具体请求格式应参考对应的官方指南。
如何控制费用?
限制输入与输出长度、并发和重试次数,记录用量,并在控制台设置预算或告警。