文本生成
OpenAI Chat Completions
bash
curl "$BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MODEL","messages":[{"role":"user","content":"你好,请用一句话介绍自己"}]}'流式请求增加 "stream": true,客户端读取 SSE 事件:
bash
curl -N "$BASE_URL/v1/chat/completions" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MODEL","stream":true,"messages":[{"role":"user","content":"写一首四行短诗"}]}'OpenAI Responses
bash
curl "$BASE_URL/v1/responses" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"MODEL","input":"请列出三个使用建议"}'六种语言选项卡
下面示例都调用 Chat Completions:
bash
curl "$BASE_URL/v1/chat/completions" -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" -d '{"model":"MODEL","messages":[{"role":"user","content":"你好"}]}'javascript
const response = await fetch(`${process.env.BASE_URL}/v1/chat/completions`, {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ model: 'MODEL', messages: [{ role: 'user', content: '你好' }] })
})
console.log(await response.json())javascript
import OpenAI from 'openai'
const client = new OpenAI({ apiKey: process.env.API_KEY, baseURL: `${process.env.BASE_URL}/v1` })
const result = await client.chat.completions.create({ model: 'MODEL', messages: [{ role: 'user', content: '你好' }] })
console.log(result.choices[0].message.content)java
var client = java.net.http.HttpClient.newHttpClient();
var body = "{\"model\":\"MODEL\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}";
var request = java.net.http.HttpRequest.newBuilder()
.uri(java.net.URI.create(System.getenv("BASE_URL") + "/v1/chat/completions"))
.header("Authorization", "Bearer " + System.getenv("API_KEY"))
.header("Content-Type", "application/json")
.POST(java.net.http.HttpRequest.BodyPublishers.ofString(body)).build();
System.out.println(client.send(request, java.net.http.HttpResponse.BodyHandlers.ofString()).body());go
payload := strings.NewReader(`{"model":"MODEL","messages":[{"role":"user","content":"你好"}]}`)
req, _ := http.NewRequest("POST", os.Getenv("BASE_URL")+"/v1/chat/completions", payload)
req.Header.Set("Authorization", "Bearer "+os.Getenv("API_KEY")); req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req); if err != nil { log.Fatal(err) }; defer resp.Body.Close()
io.Copy(os.Stdout, resp.Body)python
import os, requests
r = requests.post(os.environ['BASE_URL'] + '/v1/chat/completions',
headers={'Authorization': 'Bearer ' + os.environ['API_KEY']},
json={'model': 'MODEL', 'messages': [{'role': 'user', 'content': '你好'}]}, timeout=120)
r.raise_for_status(); print(r.json())请求上下文
长对话由客户端维护 messages 或 input 上下文。若客户端支持,可发送稳定的请求 ID 和 Session ID,便于账号调度、审计和排查。