环境准备
pip install openai
基础调用
from openai import OpenAI
client = OpenAI(
api_key="你的KEY",
base_url="https://api.ns666.cfd/v1",
)
resp = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[
{"role": "system", "content": "你是一个简洁的助手"},
{"role": "user", "content": "用一句话解释什么是 API 网关"},
],
temperature=0.7,
max_tokens=500,
)
print(resp.choices[0].message.content)
print("用量:", resp.usage)
流式输出
流式输出能让首字更快显示,适合对话类应用。
stream = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "写一首关于秋天的短诗"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
带重试的健壮封装
import time
from openai import OpenAI, APIError, APIConnectionError
client = OpenAI(api_key="你的KEY", base_url="https://api.ns666.cfd/v1")
def chat(messages, model="deepseek-v4-flash", retries=3):
for i in range(retries):
try:
resp = client.chat.completions.create(
model=model, messages=messages, timeout=60,
)
return resp.choices[0].message.content
except (APIConnectionError, APIError) as e:
if i == retries - 1:
raise
time.sleep(2 ** i)
return None
print(chat([{"role": "user", "content": "你好"}]))
注意事项
- 接口地址必须是
https://api.ns666.cfd/v1,末尾不要加斜杠 - Key 不要硬编码在代码里,用环境变量读取
- 长文本建议开启流式,避免超时