← 所有文档
READ. CONNECT. BUILD.

文本与多模态.

常用参数、Python / JavaScript 示例和流式响应。

下载 .md
API GUIDE

API 调用以服务端目录、密钥权限与可用额度为准;示例需配置真实型号与应用密钥,执行会真实计费,音视频以实际渠道配置为准。

MARKDOWN / 4 TOPICS
接口指南 / 文本与多模态

文本与多模态#

OpenAI Chat 文本请求至少包含 model、messages 与正整数 max_tokens,输出上限不得超过目录中的 maxOutputTokens。对话历史按顺序追加到 messages 中,再发送下一次请求。型号必须来自本站服务端目录,协议、密钥权限与额度均满足才可调用。

常用参数#

参数 用途 说明
model 具体型号 使用完整模型 ID
messages 对话内容 包含角色与消息内容
stream 流式输出 true 时按流式协议读取
max_tokens 限制生成长度 本文的 OpenAI Chat 请求必填;为不超过目录 maxOutputTokens 的正整数,其他协议参数名不同
temperature 调整输出随机性 部分推理型号不接受此参数

Python 示例#

以下示例使用 Python 标准库,在服务端读取环境变量。

python
import json
import os
from urllib.request import Request, urlopen

payload = {
    "model": os.environ["AI_RELAY_MODEL"],  # 目录中的真实 openai-chat 型号
    "messages": [{"role": "user", "content": "帮我整理一份项目计划。"}],
    "max_tokens": int(os.environ["AI_RELAY_MAX_TOKENS"]),  # 不超过目录 maxOutputTokens
}
request = Request(
    os.environ["AI_RELAY_BASE_URL"].rstrip("/") + "/chat/completions",
    data=json.dumps(payload).encode("utf-8"),
    headers={
        "Authorization": "Bearer " + os.environ["AI_RELAY_API_KEY"],
        "Content-Type": "application/json",
    },
    method="POST",
)
with urlopen(request, timeout=60) as response:
    result = json.load(response)
    print(result["choices"][0]["message"]["content"])

JavaScript 示例#

适用于支持 fetch 的 Node.js 服务端环境。代码读取环境变量,不在网页中填写真实密钥。

javascript
const baseURL = process.env.AI_RELAY_BASE_URL;
const apiKey = process.env.AI_RELAY_API_KEY;
const model = process.env.AI_RELAY_MODEL;
const maxTokens = Number(process.env.AI_RELAY_MAX_TOKENS);
if (!baseURL || !apiKey || !model || !Number.isSafeInteger(maxTokens) || maxTokens < 1) {
  throw new Error("请配置接入地址、密钥、目录中的真实型号与允许的最大输出 Token");
}

const response = await fetch(baseURL.replace(/\/$/, "") + "/chat/completions", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + apiKey,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model,
    messages: [{ role: "user", content: "帮我整理一份项目计划。" }],
    max_tokens: maxTokens, // 不超过该型号目录 maxOutputTokens
  }),
  signal: AbortSignal.timeout(60000),
});
if (!response.ok) throw new Error("请求失败:" + response.status);
const result = await response.json();
console.log(result.choices[0].message.content);

流式与图像理解#

设置 stream: true 后,响应通常为 SSE 事件流,应逐段读取并在结束信号到达时完成对话;不能按普通完整 JSON 处理。

支持图像理解的文本模型可接收图文内容,但这不代表它能生成图片。图片输入格式与大小限制以对应接口说明为准。先在模型广场确认能力,再配置请求。

搜索文档

输入关键词,查找文档章节。

Enter 打开首条结果Esc 关闭