Skip to content

文本生成

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())

请求上下文

长对话由客户端维护 messagesinput 上下文。若客户端支持,可发送稳定的请求 ID 和 Session ID,便于账号调度、审计和排查。

瑞科 API 文档