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)}")