Python SDK
使用 OpenAI 官方 Python SDK 接入 WLON API,只需修改 base_url 即可。
前提条件:Python 3.7+,已在 控制台 创建 API Key。
安装
pip install openai
建议使用虚拟环境或在项目中通过 requirements.txt 管理依赖:
# requirements.txt
openai>=1.0.0
配置客户端
将 base_url 指向 WLON API,填入你的 API Key 即可:
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api2everything.xyz/v1"
)
提示:推荐通过环境变量传入 API Key,避免硬编码在代码中。详见下方「环境变量」章节。
基本用法
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api2everything.xyz/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "你是一个有帮助的助手。"},
{"role": "user", "content": "用 Python 写一个快速排序"}
],
temperature=0.7,
max_tokens=2048
)
print(response.choices[0].message.content)
流式输出
设置 stream=True 即可逐 token 获取响应,适合实时展示场景:
from openai import OpenAI
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api2everything.xyz/v1"
)
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "讲一个故事"}],
stream=True
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
print() # 换行
异步用法
使用 AsyncOpenAI 在异步框架(如 FastAPI、aiohttp)中调用:
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(
api_key="sk-your-api-key",
base_url="https://api2everything.xyz/v1"
)
async def main():
response = await client.chat.completions.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "你好!"}]
)
print(response.choices[0].message.content)
asyncio.run(main())
异步流式输出
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI(
api_key="sk-your-api-key",
base_url="https://api2everything.xyz/v1"
)
async def main():
stream = await client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一首诗"}],
stream=True
)
async for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)
print()
asyncio.run(main())
错误处理
SDK 会抛出特定异常,建议进行捕获处理:
from openai import OpenAI, APIError, APIConnectionError, RateLimitError, AuthenticationError
client = OpenAI(
api_key="sk-your-api-key",
base_url="https://api2everything.xyz/v1"
)
try:
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
except AuthenticationError:
print("API Key 无效,请检查密钥是否正确。")
except RateLimitError:
print("请求过于频繁,请稍后重试。")
except APIConnectionError:
print("无法连接到 API 服务器,请检查网络。")
except APIError as e:
print(f"API 返回错误:{e.status_code} — {e.message}")
环境变量
推荐使用环境变量配置 API Key 和 Base URL,避免在代码中硬编码敏感信息:
# .env 或 shell 中设置
export OPENAI_API_KEY="sk-your-api-key"
export OPENAI_BASE_URL="https://api2everything.xyz/v1"
设置后无需在代码中传参,SDK 会自动读取:
from openai import OpenAI
# 自动读取 OPENAI_API_KEY 和 OPENAI_BASE_URL
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好!"}]
)
print(response.choices[0].message.content)
安全提醒:永远不要将 API Key 提交到 Git 仓库。将
.env 加入 .gitignore。