Appearance
Grok Chat Completions
通过 DouDi.ai 的 Grok / xAI API 协议族调用 Grok 模型。这个 Grok / xAI 路由只会调度 Grok-family 模型和上游;文本请求与响应正文采用 xAI 的 OpenAI-compatible Chat Completions JSON / SSE 格式。
该协议描述 Grok / xAI 的路由和调度边界,并不表示它是 OpenAI 上游的别名。请使用 DouDi.ai API Key,而不是 xAI OAuth 凭据,并配置下面的 Grok 入口。
Base URL 与端点
协议根地址:
text
https://doudi.ai/grok使用官方 OpenAI SDK 时,请配置以下 SDK Base URL:
text
https://doudi.ai/grok/v1Chat Completions 端点:
http
POST https://doudi.ai/grok/v1/chat/completions认证
通过 Bearer Token 传递 DouDi.ai API Key:
text
Authorization: Bearer <你的 DOUDI_API_KEY>模型选择
请使用带 grok/ 前缀的 canonical model ID。当前可用模型以 Grok Models API 和 模型广场/价格页面 为准。
请求示例
cURL
bash
curl https://doudi.ai/grok/v1/chat/completions \
-H "Authorization: Bearer $DOUDI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<GROK_MODEL_ID>",
"messages": [
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "解释 API 网关如何工作。"}
]
}'Python
python
from openai import OpenAI
client = OpenAI(
base_url="https://doudi.ai/grok/v1",
api_key="<你的 DOUDI_API_KEY>",
)
response = client.chat.completions.create(
model="<GROK_MODEL_ID>",
messages=[
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "解释 API 网关如何工作。"},
],
)
print(response.choices[0].message.content)TypeScript
typescript
import OpenAI from 'openai'
const client = new OpenAI({
baseURL: 'https://doudi.ai/grok/v1',
apiKey: '<你的 DOUDI_API_KEY>'
})
const response = await client.chat.completions.create({
model: '<GROK_MODEL_ID>',
messages: [
{ role: 'system', content: '你是一个有帮助的助手。' },
{ role: 'user', content: '解释 API 网关如何工作。' }
]
})
console.log(response.choices[0].message.content)流式响应
设置 stream: true 后,服务会以 xAI-compatible Chat Completions SSE 格式持续返回内容:
python
stream = client.chat.completions.create(
model="<GROK_MODEL_ID>",
messages=[{"role": "user", "content": "写一段简短的欢迎语。"}],
stream=True,
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)需要使用 xAI-compatible Responses 格式时,请参考 Grok Responses API。
