Skip to main content

Documentation Index

Fetch the complete documentation index at: https://apidoc.deerapi.com/llms.txt

Use this file to discover all available pages before exploring further.

概述

优先通过 DeerAPI 发起请求;如果失败,自动切换到 OpenAI 官方 API 重试。
  1. 发送请求到 DeerAPI
  2. 如果 DeerAPI 返回错误,使用相同参数请求 OpenAI 官方 API
  3. 如果两者均失败,返回错误信息

安装

pip install openai

示例代码

from openai import OpenAI, APIError

def make_request(messages: list, model: str = "your-model-id") -> str:
    """优先 DeerAPI,失败后降级到 OpenAI 官方 API。"""

    # 1. 尝试 DeerAPI
    try:
        client = OpenAI(
            base_url="https://api.deerapi.com/v1",
            api_key="sk-your-deerapi-key",  # 替换为你的 DeerAPI Key
        )
        completion = client.chat.completions.create(
            model=model,
            messages=messages,
        )
        return completion.choices[0].message.content
    except APIError as e:
        print(f"DeerAPI 请求失败: {e}")

    # 2. 降级到 OpenAI
    try:
        client = OpenAI(
            api_key="sk-your-openai-key",  # 替换为你的 OpenAI Key
        )
        completion = client.chat.completions.create(
            model=model,
            messages=messages,
        )
        return completion.choices[0].message.content
    except APIError as e:
        print(f"OpenAI 请求也失败了: {e}")

    return "DeerAPI 和 OpenAI 请求均失败。"


# 使用示例
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"},
]
response = make_request(messages)
print(response)
调用前请把 your-model-id 替换为 DeerAPI 实时定价页上的当前模型 ID。

注意事项

  • 异常类型:使用 openai 包的 APIError(而非 error)来捕获 HTTP 级别的异常。
  • 日志:生产环境中建议接入日志系统替代 print()
  • 监控:如果频繁降级到 OpenAI,可能说明服务方存在问题,需进一步排查。