コード
Python
公式のopenaiパッケージはそのまま動きます。ベースURLとキーを変えるだけで、あとは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はエラーの種類ごとに例外を1つ投げ、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に引数がないフィールド
min_p、top_k、repetition_penaltyはextra_body={...}に入れて送ります。小説向けのサンプラーを参照してください。