跳到主要内容

Python SDK 使用指南

Real200 完全兼容 OpenAI Python SDK,只需修改 base_url 即可接入。

安装

pip install openai

需要 Python 3.8+。

基础使用

from openai import OpenAI

# 初始化客户端
client = OpenAI(
api_key="sk-real200-xxxxxxxxxxxxxxxx", # 您的 Real200 API Key
base_url="https://real200.com/v1" # Real200 网关地址
)

# 发送对话请求
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "你是一个专业的翻译助手。"},
{"role": "user", "content": "将以下英文翻译成中文:Hello, world!"}
],
temperature=0.7,
max_tokens=200
)

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

环境变量配置

推荐将敏感信息存储在环境变量中:

import os
from openai import OpenAI

# 方式一:手动设置
os.environ["OPENAI_API_KEY"] = "sk-real200-xxx"
os.environ["OPENAI_BASE_URL"] = "https://real200.com/v1"

# 方式二:使用 .env 文件(需安装 python-dotenv)
# from dotenv import load_dotenv
# load_dotenv()

# 客户端自动读取环境变量
client = OpenAI()

流式响应

stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一首关于 AI 的诗。"}],
stream=True
)

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

批量请求

from concurrent.futures import ThreadPoolExecutor

def translate(text):
return client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": f"翻译:{text}"}],
max_tokens=100
).choices[0].message.content

texts = ["Hello", "World", "AI", "Technology"]

with ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(translate, texts))

print(results)

工具调用(Function Calling)

import json

tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"}
},
"required": ["city"]
}
}
}
]

response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "北京天气怎么样?"}],
tools=tools,
tool_choice="auto"
)

# 检查是否需要调用工具
if response.choices[0].message.tool_calls:
for tool_call in response.choices[0].message.tool_calls:
args = json.loads(tool_call.function.arguments)
print(f"调用 {tool_call.function.name},参数:{args}")

JSON 模式输出

response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "你只能输出 JSON 格式。"},
{"role": "user", "content": "请生成一个包含 name、age、city 的用户信息。"}
],
response_format={"type": "json_object"}
)

data = json.loads(response.choices[0].message.content)
print(data)

错误处理

from openai import OpenAI, APIError, RateLimitError, AuthenticationError

try:
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好"}]
)
except AuthenticationError as e:
print("认证失败,请检查 API Key:", e)
except RateLimitError as e:
print("请求频率超限,请等待后重试:", e)
except APIError as e:
print("API 错误:", e)

Embedding

response = client.embeddings.create(
model="text-embedding-3-small",
input="Real200 是一个 AI Token 网关平台。"
)

embedding = response.data[0].embedding
print(f"向量维度: {len(embedding)}")