Skip to content

第一个请求 ​

准备 ​

  • 一个 API Key(见 鉴权与密钥)
  • 一个模型 ID(在控制台模型列表复制,下面用 YOUR_MODEL_ID 代替)

curl ​

bash
curl https://api.molicat.cc/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MOLICAT_API_KEY" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [
      {"role": "system", "content": "你是一个简洁的助手。"},
      {"role": "user", "content": "用一句话解释什么是云服务器。"}
    ],
    "temperature": 0.7,
    "max_tokens": 300
  }'

返回:

json
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1760000000,
  "model": "YOUR_MODEL_ID",
  "choices": [
    {
      "index": 0,
      "message": {"role": "assistant", "content": "云服务器是..."},
      "finish_reason": "stop"
    }
  ],
  "usage": {"prompt_tokens": 30, "completion_tokens": 40, "total_tokens": 70}
}

Python(OpenAI SDK) ​

bash
pip install openai
python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.molicat.cc/v1",
)

resp = client.chat.completions.create(
    model="YOUR_MODEL_ID",
    messages=[
        {"role": "system", "content": "你是一个简洁的助手。"},
        {"role": "user", "content": "用一句话解释什么是云服务器。"},
    ],
    temperature=0.7,
    max_tokens=300,
)

print(resp.choices[0].message.content)
print(resp.usage)

Node.js(OpenAI SDK) ​

bash
npm install openai
js
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: process.env.MOLICAT_API_KEY,
  baseURL: 'https://api.molicat.cc/v1',
})

const resp = await client.chat.completions.create({
  model: 'YOUR_MODEL_ID',
  messages: [
    { role: 'system', content: '你是一个简洁的助手。' },
    { role: 'user', content: '用一句话解释什么是云服务器。' },
  ],
  temperature: 0.7,
  max_tokens: 300,
})

console.log(resp.choices[0].message.content)

流式输出 ​

加 stream: true:

bash
curl -N https://api.molicat.cc/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MOLICAT_API_KEY" \
  -d '{
    "model": "YOUR_MODEL_ID",
    "messages": [{"role":"user","content":"写三行关于猫的诗"}],
    "stream": true
  }'

返回是 SSE,每行 data: {...},最后以 data: [DONE] 结束:

text
data: {"choices":[{"delta":{"content":"猫"}}]}
data: {"choices":[{"delta":{"content":"在"}}]}
...
data: [DONE]

Python SDK:

python
stream = client.chat.completions.create(
    model="YOUR_MODEL_ID",
    messages=[{"role": "user", "content": "写三行关于猫的诗"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

参数速查 ​

参数说明
model必填,控制台里的模型 ID
messages必填,system / user / assistant
temperature0–2,越高越发散
max_tokens限制回复长度,防止超长扣费
stream是否流式
top_p与 temperature 二选一调整

第一次跑不通 ​

现象先查
401密钥、Bearer 空格、密钥是否有效
404 model not found模型 ID 是否从控制台复制、是否拼错
400JSON 是否合法、messages 是否为空
429触发限流,降低并发或联系客服提额
超时网络、代理、max_tokens 过大

错误结构见 错误码。

魔力猫 · 让云触手可及