Skip to content

Python 示例

推荐使用 OpenAI Python SDK,通过自定义 base_url 接入。

安装

bash
python -m pip install --upgrade openai

设置环境变量:

bash
export NEWAPI_API_KEY="sk-你的令牌"
powershell
$env:NEWAPI_API_KEY="sk-你的令牌"

普通请求

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["NEWAPI_API_KEY"],
    base_url="https://coffeecatbox.cc/v1",
)

response = client.chat.completions.create(
    model="控制台中的模型名",
    messages=[
        {"role": "system", "content": "你是一个简洁的中文助手。"},
        {"role": "user", "content": "用三句话介绍 Python。"},
    ],
)

print(response.choices[0].message.content)

流式请求

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["NEWAPI_API_KEY"],
    base_url="https://coffeecatbox.cc/v1",
)

stream = client.chat.completions.create(
    model="控制台中的模型名",
    messages=[
        {"role": "user", "content": "分点解释什么是流式响应。"},
    ],
    stream=True,
)

for chunk in stream:
    content = chunk.choices[0].delta.content
    if content:
        print(content, end="", flush=True)

print()

超时与重试

python
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["NEWAPI_API_KEY"],
    base_url="https://coffeecatbox.cc/v1",
    timeout=60.0,
    max_retries=2,
)

只对临时网络错误和限流做有限重试。对于有副作用的请求,应在业务层设计幂等机制,避免重复执行。

捕获错误

python
import openai

try:
    response = client.chat.completions.create(
        model="控制台中的模型名",
        messages=[{"role": "user", "content": "你好"}],
    )
except openai.AuthenticationError:
    print("令牌无效或已过期")
except openai.RateLimitError:
    print("请求过快或额度不足")
except openai.APIConnectionError as error:
    print(f"网络连接失败: {error}")
except openai.APIStatusError as error:
    print(f"API 错误 {error.status_code}: {error.response}")

本站为猫咖啡 API 使用文档。请合法、合规使用 AI 服务。