文档接入工具

用 OpenAI SDK 调用

官方 OpenAI SDK 只要改 base_url 就能调用棉花糖 API。本页给出 Python、Node.js 和 curl 的最小示例,以及流式输出写法。

更新于

把密钥放进环境变量

不要把密钥写进代码或提交到 Git。在运行程序的终端里设置:

export MALLOW_API_KEY="sk-你的密钥"

Windows PowerShell 用 $env:MALLOW_API_KEY = "sk-你的密钥"。

Python

pip install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["MALLOW_API_KEY"],
    base_url="https://api.mallowapi.com/v1",
)

response = client.responses.create(
    model="gpt-6.1-sol",
    input="用一句话介绍你自己",
)
print(response.output_text)

已有代码用的是 Chat Completions,也可以照常用:

completion = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "用一句话介绍你自己"}],
)
print(completion.choices[0].message.content)

两个接口的区别见Responses 与 Chat Completions。

Node.js

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.MALLOW_API_KEY,
  baseURL: "https://api.mallowapi.com/v1",
});

const response = await client.responses.create({
  model: "gpt-6.1-sol",
  input: "用一句话介绍你自己",
});
console.log(response.output_text);

保存为 hello.mjs,运行 node hello.mjs。

流式输出

加上 stream=True,回复会一段一段返回,适合聊天界面:

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

只用环境变量配置

官方 SDK 也会读取 OPENAI_BASE_URL 和 OPENAI_API_KEY。现有项目不想改代码时,可以这样切过来:

export OPENAI_BASE_URL="https://api.mallowapi.com/v1"
export OPENAI_API_KEY="sk-你的密钥"
提示

这样设置后,这个终端里所有用 OpenAI SDK 的程序都会走棉花糖 API。只想影响一个项目,就在代码里传 base_url。

curl

curl https://api.mallowapi.com/v1/responses \
  -H "Authorization: Bearer $MALLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-6.1-sol", "input": "用一句话介绍你自己"}'