切换语言

Python 客户端

使用社区版 openai 包与自定义 Base URL 从 Python 调用 Bitdeer AI。

本指南使用 openai 作为 HTTP 客户端。将 base_url 指向 Bitdeer,并使用 Bitdeer API Key。

安装

pip install openai

配置

客户端选项
api_keystrrequired

Bitdeer API Key。不要硬编码进仓库。

base_urlstrrequired
timeoutfloatdefault: 600

请求超时(秒)。

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["BITDEER_API_KEY"],
    base_url="https://api-inference.bitdeer.ai/v1",
)

对话补全

curl https://api-inference.bitdeer.ai/v1/chat/completions \
  -H "Authorization: Bearer $BITDEER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Pro",
    "messages": [{"role": "user", "content": "Hello!"}],
    "max_tokens": 256
  }'

异步

import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI(
    api_key=os.environ["BITDEER_API_KEY"],
    base_url="https://api-inference.bitdeer.ai/v1",
)

async def main():
    chat = await client.chat.completions.create(
        model="deepseek-ai/DeepSeek-V4-Pro",
        messages=[{"role": "user", "content": "Hello!"}],
        max_tokens=256,
    )
    print(chat.choices[0].message.content)

asyncio.run(main())

流式

stream = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Pro",
    messages=[{"role": "user", "content": "Tell me a joke."}],
    max_tokens=256,
    stream=True,
)

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

错误处理

from openai import APIError, RateLimitError

try:
    client.chat.completions.create(...)
except RateLimitError:
    # 退避并重试
    ...
except APIError as err:
    # err.status_code, err.code, err.message
    raise

完整说明见 错误

最后更新于

本页目录

Python 客户端 · Bitdeer AI