Grok API

Python 接入 Grok API

View as Markdown

更新于:

使用 OpenAI SDK 和 Grok API Dev base URL 在 Python 中调用 Grok 4.5。本页包含普通请求、AsyncOpenAI、流式输出、超时和 API 错误处理。

安装 Python SDK

在虚拟环境中安装当前版本的 OpenAI 包。不要把 API 密钥写入源代码,并在 requirements 文件或 lockfile 中固定经过测试的依赖版本。

Bash
python -m pip install --upgrade openai
Bash
export GROK_API_DEV_KEY="sk-lg-YOUR_API_KEY"

base_url 已包含 /v1。创建客户端时不要追加 /responses,SDK 会自行添加方法路径。

发送第一个 Grok 请求

最小文本请求可以直接把字符串传给 Responses API 的 input。完整回答位于 output_text,token 用量位于 usage。

Python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GROK_API_DEV_KEY"],
    base_url="https://api.llm-gate.tech/v1",
    timeout=3600.0,
    max_retries=2,
)

response = client.responses.create(
    model="grok-4.5",
    input="Explain SSE in two sentences.",
)

print(response.output_text)
print(response.usage)

请在服务器、本地脚本或可信 worker 中运行代码,不要把 API 密钥打包到浏览器端。

使用 AsyncOpenAI

异步客户端适合 FastAPI、后台任务和 asyncio 服务。async 本身不会限制并发量,流量较高时应使用队列或 semaphore。

Python async
import asyncio
import os
from openai import AsyncOpenAI

client = AsyncOpenAI(
    api_key=os.environ["GROK_API_DEV_KEY"],
    base_url="https://api.llm-gate.tech/v1",
)

async def main() -> None:
    response = await client.responses.create(
        model="grok-4.5",
        input="Hello!",
    )
    print(response.output_text)

asyncio.run(main())

重复使用同一个客户端,避免每次请求都新建 HTTP 连接。

流式获取 Grok 回答

设置 stream=True 后,可以在生成过程中接收事件。只把 response.output_text.delta 追加到文本,并在 response.completed 后再标记请求完成。

Python streaming
stream = client.responses.create(
    model="grok-4.5",
    input="Write a short Python example.",
    stream=True,
)

for event in stream:
    if event.type == "response.output_text.delta":
        print(event.delta, end="", flush=True)

连接建立后仍可能收到错误。请区分部分文本和已完成回答。

超时、重试与错误

OpenAI SDK 会自动重试部分临时故障。设置有限的 timeout 和 max_retries,避免请求无限等待或重复。

Python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GROK_API_DEV_KEY"],
    base_url="https://api.llm-gate.tech/v1",
    max_retries=2,
    timeout=3600.0,
)
  • 401:检查 GROK_API_DEV_KEY 以及密钥是否有效。
  • 404:检查 base URL 和 grok-4.5 模型 ID。
  • 429:降低并发量并等待后重试。
  • 临时 5xx:使用次数有限的指数退避重试。

API 错误

相关页面