发送第一次 API 请求
本页演示 OpenAI Chat Completions 兼容接口。先用一个支持聊天补全、且当前分组可用的模型完成最小请求。
1. 准备密钥与模型
在控制台创建 API 密钥,从模型广场复制准确的模型 ID。下面的示例从环境变量读取这两项,运行前请在本机终端中设置。
Windows PowerShell:
$env:GUANGJI_API_KEY = '替换成你的完整 API 密钥'
$env:GUANGJI_MODEL = '替换成平台中的模型 ID'
macOS / Linux shell:
export GUANGJI_API_KEY='替换成你的完整 API 密钥'
export GUANGJI_MODEL='替换成平台中的模型 ID'
这些值只在当前终端及其子进程中生效。不要把含真实密钥的终端截图、命令历史或配置文件分享出去。
2. 发送请求
cURL 示例使用 Bash 语法;Windows 用户可选择 PowerShell 标签。Python 示例只依赖标准库,JavaScript 示例使用 Node.js 20+ 并保存为 .mjs 文件运行。
- cURL
- Python
- JavaScript
- PowerShell
# 先在当前终端设置 GUANGJI_API_KEY 和 GUANGJI_MODEL
curl 'https://guangjiapi.top/v1/chat/completions' \
-H "Authorization: Bearer $GUANGJI_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @- <<EOF
{
"model": "$GUANGJI_MODEL",
"messages": [{"role": "user", "content": "你好,请用一句话介绍自己。"}]
}
EOF
import json
import os
import urllib.request
# 密钥从环境变量读取,不写进代码。
payload = {
"model": os.environ["GUANGJI_MODEL"],
"messages": [{"role": "user", "content": "你好,请用一句话介绍自己。"}],
}
request = urllib.request.Request(
"https://guangjiapi.top/v1/chat/completions",
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": "Bearer " + os.environ["GUANGJI_API_KEY"],
"Content-Type": "application/json",
},
)
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
print(result["choices"][0]["message"]["content"])
// Node.js 20+;在服务端运行,避免向浏览器暴露密钥。
const {GUANGJI_API_KEY, GUANGJI_MODEL} = process.env;
if (!GUANGJI_API_KEY || !GUANGJI_MODEL) {
throw new Error('请先设置 GUANGJI_API_KEY 和 GUANGJI_MODEL');
}
const response = await fetch('https://guangjiapi.top/v1/chat/completions', {
method: 'POST',
headers: {
Authorization: `Bearer ${GUANGJI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: GUANGJI_MODEL,
messages: [{role: 'user', content: '你好,请用一句话介绍自己。'}],
}),
signal: AbortSignal.timeout(60_000),
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
const result = await response.json();
console.log(result.choices[0].message.content);
$headers = @{ Authorization = "Bearer $env:GUANGJI_API_KEY" }
$body = @{
model = $env:GUANGJI_MODEL
messages = @(@{ role = 'user'; content = '你好,请用一句话介绍自己。' })
} | ConvertTo-Json -Depth 5
$result = Invoke-RestMethod -Method Post `
-Uri 'https://guangjiapi.top/v1/chat/completions' `
-Headers $headers -ContentType 'application/json; charset=utf-8' `
-Body ([System.Text.Encoding]::UTF8.GetBytes($body)) -TimeoutSec 60
$result.choices[0].message.content
3. 读取返回结果
正常的非流式聊天响应中,回答通常位于:
choices[0].message.content
usage 字段可能包含本次输入、输出和总 Token 数。模型返回工具调用等其他内容时,需要按对应响应结构处理。
返回错误时
保留 HTTP 状态码和响应体中的错误信息。优先核对鉴权、模型、分组与额度,再查看 错误排查。
示例的范围
此处演示的是聊天补全接口。模型是否支持该接口、流式输出或其他参数,以当前平台模型说明为准。第一次测试也可能产生费用。