OpenAI SDK 兼容
LAYSO AI 提供 OpenAI 兼容接口。已有 OpenAI SDK 项目通常只需替换客户端的 Base URL 和 API Key,再使用 LAYSO AI 模型价格页展示的完整模型 ID。
一个 Key,访问全平台模型
一个 LAYSO AI API Key 可以访问平台全部可用模型。系统按所选模型的当前价格计费;每个成功请求都有独立扣费明细,失败任务不会产生扣费。
开始之前
- 在 API Key 页面 创建并复制密钥。
- 在 模型与价格页面 选择模型,并复制页面显示的完整模型 ID。
- 确认服务端可以访问
https://api.layso.ai。
| 配置项 | LAYSO AI 值 |
|---|---|
| Base URL | https://api.layso.ai/v1 |
| API Key 环境变量 | LAYSO_API_KEY |
| 模型 | <MODEL_ID>,以模型与价格页面为准 |
不要把密钥写进前端代码
OpenAI SDK 应在服务器、命令行脚本或其他可信环境中运行。不要把完整 API Key 提交到 Git 仓库、日志、截图或浏览器端代码。
安装 SDK
Python
python -m pip install --upgrade openaiTypeScript / JavaScript
npm install openai从 OpenAI 直连迁移
Python
Python SDK 使用蛇形命名的 base_url:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["LAYSO_API_KEY"],
base_url="https://api.layso.ai/v1",
)TypeScript / JavaScript
TypeScript / JavaScript SDK 使用驼峰命名的 baseURL:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.LAYSO_API_KEY,
baseURL: "https://api.layso.ai/v1",
});两种 SDK 的参数拼写不同
Python 是 base_url,TypeScript / JavaScript 是 baseURL。Base URL 已包含 /v1,不要再次追加。
设置 API Key
macOS / Linux / WSL
export LAYSO_API_KEY="<YOUR_LAYSO_API_KEY>"Windows PowerShell
$env:LAYSO_API_KEY = "<YOUR_LAYSO_API_KEY>"Windows CMD
set LAYSO_API_KEY=<YOUR_LAYSO_API_KEY>以上命令只对当前终端会话生效。生产环境请使用部署平台的 Secret 管理功能。
使用 Responses API
Responses API 适合新项目。所选模型必须支持该端点;请以 LAYSO AI API 参考和模型能力说明为准。
Python
response = client.responses.create(
model="<MODEL_ID>",
input="用一句话介绍 LAYSO AI。",
)
print(response.output_text)TypeScript / JavaScript
const response = await client.responses.create({
model: "<MODEL_ID>",
input: "用一句话介绍 LAYSO AI。",
});
console.log(response.output_text);使用 Chat Completions
已有项目可以继续使用 Chat Completions。消息结构与 OpenAI SDK 保持一致。
Python
completion = client.chat.completions.create(
model="<MODEL_ID>",
messages=[
{"role": "user", "content": "用一句话介绍 LAYSO AI。"}
],
)
print(completion.choices[0].message.content)TypeScript / JavaScript
const completion = await client.chat.completions.create({
model: "<MODEL_ID>",
messages: [
{ role: "user", content: "用一句话介绍 LAYSO AI。" },
],
});
console.log(completion.choices[0].message.content);流式输出
Python
stream = client.chat.completions.create(
model="<MODEL_ID>",
messages=[{"role": "user", "content": "写一段简短的欢迎语。"}],
stream=True,
)
for chunk in stream:
text = chunk.choices[0].delta.content or ""
print(text, end="", flush=True)TypeScript / JavaScript
const stream = await client.chat.completions.create({
model: "<MODEL_ID>",
messages: [{ role: "user", content: "写一段简短的欢迎语。" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}验证迁移结果
完成一次最小请求后,检查以下内容:
- 响应中的模型与 模型与价格页面 选择的一致。
- 请求成功后可以在 LAYSO AI 任务或账单明细中看到逐笔扣费记录。
- 失败请求没有产生扣费。
- 代码中不再残留 OpenAI 直连地址或旧密钥。
兼容范围
LAYSO AI 的 OpenAI 兼容层覆盖常用调用方式,但具体能力取决于端点、模型和供应商。不要把某个 OpenAI 专属参数默认应用到所有模型。
| 能力 | 使用建议 |
|---|---|
| Responses | 新项目优先;先确认模型支持该端点 |
| Chat Completions | 适合已有对话项目迁移 |
| Streaming | 两种接口均可使用,按对应 API 参考实现 |
| Function calling / JSON / Vision | 先检查所选模型的能力说明 |
| Embeddings / Images | 使用对应端点与支持该能力的模型 |
| Models | 可通过 /v1/models 查询 |
框架与工具
任何允许自定义 OpenAI Base URL 和 API Key 的服务端框架,都可以按相同原则接入。项目已经提供独立教程:
修改第三方框架时,请使用该框架当前版本的参数名;不要默认它与 OpenAI SDK 的 base_url / baseURL 完全相同。
常见问题
401 或 403
确认密钥来自 LAYSO AI API Key 页面,环境变量没有空格或换行,并且程序已经重新加载环境变量。
404
确认客户端 Base URL 是 https://api.layso.ai/v1。不要写成 https://api.layso.ai,也不要重复追加 /v1/v1。
找不到模型
不要猜测模型别名。回到 模型与价格页面,复制完整模型 ID 后重新请求。
某个参数无效
不同供应商和模型的能力不完全相同。删除非必要参数,并对照 LAYSO AI API 参考 检查当前端点支持的字段。
浏览器提示跨域或暴露密钥
不要从浏览器前端直接调用。把 OpenAI SDK 放在服务端,通过你自己的后端接口向前端提供受控能力。
