把密钥放进环境变量
不要把密钥写进代码或提交到 Git。在运行程序的终端里设置:
export MALLOW_API_KEY="sk-你的密钥"Windows PowerShell 用 $env:MALLOW_API_KEY = "sk-你的密钥"。
Python
pip install openaiimport 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 openaiimport 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": "用一句话介绍你自己"}'