Skip to Content
OpenAI 协议

OpenAI 协议

OpenApi 完整兼容 OpenAI 的 Chat Completions 接口。把官方 SDK 的 base_url 指向 OpenApi,你现有的 OpenAI 代码几乎不用改就能跑;而且可以用同一套接口调用 Claude、Gemini、Qwen 等几乎所有模型 —— 只需更换 model 字段。

接口地址

POST https://api.openrealm.cn/v1/chat/completions

请求头

头部
AuthorizationBearer <你的 API Key>
Content-Typeapplication/json

消息与角色

请求体最核心的是 messages 数组,每条消息带一个 role:

role含义
system设定助手的身份、风格与规则(可选,通常作为第一条)
user用户的输入
assistant模型过去的回复(多轮对话时回填)

基础示例

curl https://api.openrealm.cn/v1/chat/completions \ -H "Authorization: Bearer $OPENAPI_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.5", "messages": [ { "role": "system", "content": "你是一个简洁的中文助手。" }, { "role": "user", "content": "用一句话介绍量子计算" } ], "temperature": 0.7 }'

model 换成 claude-sonnet-4.6gemini-3-pro-preview 等,即可用同一套代码调用其他模型。

多轮对话

模型本身没有记忆,“记住上下文”靠你把历史消息一起发回去:每轮把模型的 assistant 回复和新的 user 输入追加到 messages,再次请求。

messages = [{"role": "system", "content": "你是中文助手。"}] messages.append({"role": "user", "content": "我叫小明。"}) reply = client.chat.completions.create(model="gpt-5.5", messages=messages) messages.append({"role": "assistant", "content": reply.choices[0].message.content}) messages.append({"role": "user", "content": "我叫什么名字?"}) reply = client.chat.completions.create(model="gpt-5.5", messages=messages) print(reply.choices[0].message.content) # 模型能答出「小明」

流式输出

stream: true,服务端会按 SSE 逐块返回内容,适合做打字机效果:

stream = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "写一首关于秋天的短诗"}], stream=True, ) for chunk in stream: delta = chunk.choices[0].delta.content if delta: print(delta, end="", flush=True)

常用参数

参数类型说明
modelstring模型名,必填
messagesarray对话消息,必填
streamboolean是否流式,默认 false
temperaturenumber随机性,0~2,越大越发散
max_tokensinteger限制输出长度
top_pnumber核采样,与 temperature 二选一调节
stopstring | array命中即停止生成的字符串
toolsarray函数调用 / 工具定义

响应结构

{ "id": "chatcmpl-...", "object": "chat.completion", "model": "gpt-5.5", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "……" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 18, "completion_tokens": 24, "total_tokens": 42 } }
  • 回复正文:choices[0].message.content
  • 用量(计费依据):usage

返回 401:检查 Key 是否正确、是否带了 Bearer 前缀。返回 403 / 无权限:多半是令牌分组不包含该模型,详见 计费与价格

Last updated on