API 调用

401 错误表示认证失败,请检查:
  1. API Key 是否正确
  2. Authorization 头格式是否为 Bearer YOUR_API_KEY
  3. API Key 是否已过期或被禁用
# 正确格式
curl -H "Authorization: Bearer sk-xxxxxxxx" ...
429 错误表示请求过于频繁,超过了速率限制:
  1. 检查当前等级的速率限制
  2. 实现指数退避重试
  3. 考虑升级账户等级
import time

def retry_with_backoff(func, max_retries=5):
    for i in range(max_retries):
        try:
            return func()
        except RateLimitError:
            time.sleep(2 ** i)
402 错误表示账户余额不足:
  1. 登录控制台查看余额
  2. 进行充值
  3. 重新发起请求
设置 stream: true 即可启用流式响应:
stream = client.chat.completions.create(
    model="gpt-5",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True
)

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

模型相关

根据场景选择:
场景推荐模型
通用对话gpt-5, claude-sonnet-4-5
代码生成claude-sonnet-4-5, gpt-5
快速响应gpt-5-mini, gemini-2.5-flash
复杂推理claude-opus-4-1, gpt-5
图像理解gpt-5, claude-sonnet-4-5
各模型上下文长度不同:
模型上下文长度
gpt-5128K tokens
claude-sonnet-4-5200K tokens
gemini-2.5-pro1M tokens
gemini-2.5-flash1M tokens
是的,所有主流模型都支持中文:
  • GPT-5 系列:优秀的中文理解和生成
  • Claude 系列:出色的中文写作能力
  • Gemini 系列:良好的多语言支持

集成问题

可以,LangChain 支持自定义 Base URL:
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-5",
    openai_api_key="your-yuanneng-key",
    openai_api_base="https://api.yuannengai.com/v1"
)
是的,完全支持 OpenAI 格式的 Function Calling:
response = client.chat.completions.create(
    model="gpt-5",
    messages=[{"role": "user", "content": "北京天气如何?"}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "获取天气信息",
            "parameters": {
                "type": "object",
                "properties": {
                    "city": {"type": "string"}
                }
            }
        }
    }]
)
是的,支持 OpenAI 格式的 Embeddings API:
response = client.embeddings.create(
    model="text-embedding-ada-002",
    input="Hello, world!"
)