Kullanım alanı
Bir oyun NPC diyalog API'si
Her NPC'nin kişiliğini ve görev durumunu sistem mesajı olarak gönder, kısa bir satırı akış halinde geri al. DeepSeek V4.1 Flash Uncensored hemen yanıtlar, kötü adamlar ve haydutlar için karakterinden çıkmaz ve oyunun okuyabileceği JSON döndürebilir. Bin sekiz satırlık konuşma yaklaşık $2.76 tutar.
29 Ekim 2026 tarihinde kontrol edildi
NPC diyaloğunun ihtiyaçları ve nokeep'te karşılığı
| NPC diyaloğunun ihtiyacı | nokeep'te |
|---|---|
| Hızlı başlayan satırlar | Akışı aç, max_tokens değerini küçük tut ve DeepSeek'in varsayılanı olan düşünmeyi kapalı bırak. Saatlik durum kontrolü, tek ve kısa bir sorunun tamamen yanıtlanması; 26 ila 29 Ekim 2026 arasında DeepSeek için günlük ortalama yarım saniye ile 1,7 saniye arasında çıktı. Yoğun bir anda tek bir çağrı çok daha uzun sürebilir. Canlı durum. |
| Acımasız olabilen karakterler | Bir haydut tehdit edebilir, bir tarikat lideri vaaz verebilir: ağırlıklardan reddetme kaldırılmıştır. Yalnızca sert sınırlar reddedilir; bu durumda 422 döner ve ücret alınmaz. |
| Oyunun kullanabileceği veriler | DeepSeek response_format alır, json_schema dahil; böylece bir satır bir ruh hali ve bir eylemle birlikte dönebilir. JSON çıktısı. |
| Oyuncuya dair hafıza | API çağrılar arasında hiçbir şey tutmaz. NPC'nin hatırlaması gerekenleri (görev aşaması, geçmişteki bir hakaret) sistem mesajına koy; kayıt dosyan onları tutar. |
| Planlayabileceğin oyuncu başına maliyet | Önceden ödenmiş krediler, milyonda bir krediye kadar faturalandırılır. Anahtar başına günlük sınır, kontrolden çıkmış bir döngüyü durdurur. |
Bin konuşmanın maliyeti
| Model | Bin konuşma başına, önbelleksiz | Bin konuşma başına, tekrar eden başlangıç önbellekli |
|---|---|---|
| DeepSeek V4.1 Flash Uncensored | $4.88 | $2.76 |
| GLM 5.3 Flash Uncensored | $2.11 | $1.34 |
Bugünkü fiyatlardan hesaplandı: 800 token'lık bir başlangıç, her biri 25 girdi ve 60 çıktı token'lık 8 tur, en uzun çağrı 1.420 token. GLM'in her yanıttan önceki kısa düşünmesi, burada yer almayan çıktı token'ları ekler.
GLM'de aynı bin konuşma, kısa düşünmesinden önce yaklaşık $1.34 tutar; ancak bu düşünme her satırdan önce gelir ve bir NPC'nin ayıramayacağı süreye mal olur. Kısa kişilik promptları her iki durumda da ucuzdur; asıl maliyeti, her çağrıda gönderilen uzun bir lore metni biriktirir.
Akış halinde bir diyalog satırı
Bunu istemcide değil, oyun sunucunda çalıştır: bir oyunun içine konan anahtar oradan çekilip alınabilir. Her parçayı geldiği anda göster; oyuncu izlerken konuşma balonu dolsun.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
persona = "You are Brannoc, the blacksmith of Hollowmere: gruff, superstitious, owes the thieves guild money. The player has the quest \"Missing ore\" and has not yet found the mine. Speak only as Brannoc, in one to three short sentences. Never mention game mechanics."
stream = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
messages=[
{"role": "system", "content": persona},
{"role": "user", "content": "Have you seen any ore carts come through town?"},
],
stream=True,
max_tokens=120,
temperature=0.8,
)
for chunk in stream:
if chunk.choices:
print(chunk.choices[0].delta.content or "", end="", flush=True)Oyunun uygulayabileceği bir satır
NPC'nin yanıtının oyunu değiştirmesi gerektiğinde, akan düz metin yerine JSON iste: gösterilecek satır, animasyon için bir ruh hali ve kodun için bir eylem. Yapıyı promptta da anlat.
import json
reply = client.chat.completions.create(
model="deepseek-v4.1-flash-uncensored",
max_tokens=200,
response_format={"type": "json_object"},
messages=[
{"role": "system", "content": persona + ' Answer as JSON: {"line": string, "mood": "calm" | "angry" | "afraid", "action": "none" | "give_map" | "attack"}.'},
{"role": "user", "content": "Tell me where the mine is or I tell the guild you skipped town."},
],
)
npc = json.loads(reply.choices[0].message.content)
print(npc["line"], npc["mood"], npc["action"])Aynı anda çok oyuncu
- Her anahtar dakikada 120 istek alır, bir hesapta 10 anahtar tutulabilir. 429 aldığında
Retry-Afterbaşlığı ne kadar beklemen gerektiğini söyler. Hız sınırları. - Her ortama günlük sınırı olan kendi anahtarını ver: diyaloğu döngüye sokan bir hata, bakiyende değil sınırda durur. Anahtarlar ve sınırlar.
- Kişilikleri kısa ve sabit tut. Çağrıdan çağrıya tekrar eden yaklaşık 1.000 token ve üzeri bir kişilik, önbellekten fiyatının bir kısmıyla okunur.
- Bir çağrı başarısız olduğunda kullanılacak yedek bir satır yaz; yoğun bir an sahneyi asla dondurmasın.
503 busyücretsizdir.
Hangi model
Sesli satırlar için deepseek-v4.1-flash-uncensored kullan: önce düşünmeden yanıtlar, örnekleme ayarlarını kabul eder ve JSON döndürür. glm-5.3-flash-uncensored token başına daha ucuzdur (milyon başına $0.20 girdi, $0.65 çıktı; DeepSeek'te $0.45 ve $1.75'e karşılık) ama her yanıttan önce kısa süre düşünür. Bu yüzden oyuncunun beklemediği işlere uygundur, örneğin yarının kasaba dedikodusunu yazmak. Karşılaştır.
Oyuncuların sözlerinden neyi tutuyoruz
Çağrı başına bir satır: zaman, anahtar, model, token sayıları, krediler ve durum; 30 gün tutulur. Oyuncunun yazdığı metin de NPC'nin söylediği satır da asla tutulmaz. Kişilik promptuna hiçbir şey eklenmez. Neyi tutuyoruz.
Sorular
Gerçek zamanlı diyalog için yeterince hızlı mı?
Konuşma balonları ve diyalog kutuları için evet: satırı akış halinde al, max_tokens değerini 120 civarında tut ve düşünmeyi kapalı bırak. Süreler yüke göre değişir; durum sayfası her günün ortalamasını gösterir. Dudak senkronlu bir ses satırı için sesi ilk cümle geldikten sonra başlat.
Kötü adamlar küfredebilir, tehdit edebilir ve yalan söyleyebilir mi?
Evet. Modeller karanlık karakterleri jailbreak promptu olmadan yazar. Yalnızca şartlardaki kısa sert sınırlar listesi reddedilir; bu da ücretsiz olan 422 döner.
Oyun istemcisinin içinden çağırabilir miyim?
Çağırabilirsin, çünkü API her kaynağa izin verir; ancak bir oyunun içindeki anahtarı herkes çekip alabilir. Çağrıyı sunucundan yap ve anahtarda günlük bir sınır tut.
Unity, Godot veya Unreal ile çalışır mı?
HTTPS POST gönderebilen her motor çalışır: API, OpenAI'nin chat completions biçimindedir, bu yüzden diline ait bir OpenAI istemci kütüphanesi, bizim temel URL'imize yönlendirilerek olduğu gibi çalışır.