白云超级智能 BAIYUN.SI

Python、Node.js 与 LangChain

服务端保存密钥

密钥通过进程环境变量 BAIYUN_API_KEY 读取。浏览器网页和移动应用不能内置共享密钥;需要由你自己的后端鉴权、限额后代发请求。部署前检查日志是否会打印请求头或环境变量。

Python

python
import os
from openai import OpenAI

client = OpenAI(api_key=os.environ["BAIYUN_API_KEY"],
                base_url="https://api.baiyun.si/v1",
                timeout=120.0, max_retries=0)
response = client.responses.create(model="gpt-6-luna",
                                   input="用一句话说明 Token 是什么。")
print(response.output_text)

output_text 是 SDK 提供的便利属性;直接解析 REST JSON 时应遍历 output 消息项中的文本字段。安装依赖应使用隔离环境,保留项目锁文件;不要为了测试升级整个生产项目。

Node.js

javascript
import OpenAI from 'openai';
const client = new OpenAI({
  apiKey: process.env.BAIYUN_API_KEY,
  baseURL: 'https://api.baiyun.si/v1',
  maxRetries: 0,
  timeout: 120000,
});
const stream = await client.chat.completions.create({
  model: 'gpt-6-luna', stream: true,
  messages: [{role: 'user', content: '你好'}],
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}

LangChain

使用支持 OpenAI 兼容地址的模型适配器,在其当前版本中设置 API Key、Base URL 与模型。先调用普通文本,再添加链、检索或工具;框架自动附加的额外参数仍须符合本站开放范围,不要把框架名称当成兼容保证。

错误与重试

首先区分 HTTP 状态、SDK 解析错误和业务返回错误。生成中断可能已经产生消费,不要自动无限重试;429 按提示退避,401 修复凭据,400 修复参数。连接超时应核对状态页和网络,再决定是否重试。

Python SDK 官方项目 · Node SDK 官方项目 · LangChain 官方文档