准备环境

鉴权指南设置 QINGYUN_TOP_API_KEYQINGYUN_TOP_BASE_URLQINGYUN_TOP_MODEL。将模型占位符替换成实际可用 ID。

Bash / WSL

把下面内容保存为 request.json,先修改 YOUR_MODEL_ID。独立 JSON 文件可以避免终端引号差异。

{
  "model": "YOUR_MODEL_ID",
  "messages": [{"role": "user", "content": "请用一句话介绍你能做什么"}],
  "stream": false
}
curl --fail-with-body --connect-timeout 10 --max-time 60 \
  "$QINGYUN_TOP_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $QINGYUN_TOP_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary @request.json

--fail-with-body 需要较新的 curl。如果不支持,升级 curl 或自行检查 HTTP 状态,不要隐藏错误正文。

PowerShell

$body = @{
  model = $env:QINGYUN_TOP_MODEL
  messages = @(@{ role = 'user'; content = '请用一句话介绍你能做什么' })
  stream = $false
} | ConvertTo-Json -Depth 6
$headers = @{ Authorization = "Bearer $env:QINGYUN_TOP_API_KEY" }
$result = Invoke-RestMethod -Method Post -Uri "$env:QINGYUN_TOP_BASE_URL/chat/completions" -Headers $headers -ContentType 'application/json; charset=utf-8' -Body ([System.Text.Encoding]::UTF8.GetBytes($body)) -TimeoutSec 60
$result.choices[0].message.content

检查返回

普通文本回复通常位于 choices[0].message.content。工具调用可能没有普通正文,应结合返回字段和完成原因判断。usage 若存在,可用于观察用量,但最终费用请核对日志。

遇到非成功状态时保存已脱敏错误与请求 ID。不要直接进入循环重试;先看错误处理。成功后进入流式输出