代码
Python
官方 openai 包可直接使用。只需更换基础地址和密钥,其余都是 OpenAI 的 SDK。
核对于 2026年10月26日
安装与连接
pip install openai
export NOKEEP_API_KEY="sk-nokeep-test" # your own key once it connectsimport os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)发送消息
reply = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[
{"role": "system", "content": "You are a blunt editor."},
{"role": "user", "content": "Cut this opening line to ten words: ..."},
],
)
print(reply.choices[0].message.content)
print("credits:", reply.usage.model_extra.get("nokeep_credits"))流式输出
stream = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[{"role": "user", "content": "Write a limerick about a cat."}],
stream=True,
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="", flush=True)异步
import asyncio
import os
from openai import AsyncOpenAI
client = AsyncOpenAI(base_url="https://nokeep.ai/v1", api_key=os.environ["NOKEEP_API_KEY"])
async def main():
reply = await client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[{"role": "user", "content": "Hello"}],
)
print(reply.choices[0].message.content)
asyncio.run(main())错误处理
SDK 会为每一类错误抛出一个异常,并自行重试 429 和 5xx,等待 Retry-After 所示的时间。code 字段说明出了什么问题;错误说明列出了全部错误。
import openai
try:
reply = client.chat.completions.create(model="deepseek-v4.1-flash-uncensored", messages=messages)
except openai.APIStatusError as error:
print(error.status_code, error.body["error"]["code"])SDK 没有对应参数的字段
在 extra_body={...} 中传入 min_p、top_k 和 repetition_penalty。参见小说写作采样参数。