Kod
LangChain
LangChain’in ChatOpenAI sınıfı nokeep ile olduğu gibi çalışır: temel URL’yi, anahtarını ve bir model kimliğini ver. Hem Python hem JavaScript için.
29 Ekim 2026 tarihinde kontrol edildi
Kurulum ve bağlantı
pip install langchain-openai
export NOKEEP_API_KEY="sk-nokeep-test" # your own key once it connectsimport os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="deepseek-v4.1-flash-uncensored",
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
reply = llm.invoke("Name three good names for a tavern.")
print(reply.content)
print(reply.usage_metadata)JavaScript’te temel URL, üst düzeyde değil configuration içinde verilir. Üst düzeydeki baseURL yok sayılır ve çağrı, nokeep anahtarınla varsayılan sunucuya gider.
Akış
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="deepseek-v4.1-flash-uncensored",
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
stream_usage=True, # ask for the token counts in the last chunk
)
full = None
for chunk in llm.stream("Tell me a story in three lines."):
print(chunk.content, end="", flush=True)
full = chunk if full is None else full + chunk
print("\n", full.usage_metadata)Python’da ChatOpenAI, akış için kullanım bilgisini yalnızca varsayılan sunucusu için ister. Özel bir temel URL ile token sayılarını almak için stream_usage=True ayarla. JavaScript istemcisi bunu kendiliğinden ister. Bkz. Akış.
Araç çağırma
from langchain_core.tools import tool
@tool
def get_weather(city: str) -> str:
"""Get the weather in a city."""
return f"18°C and clear in {city}"
message = llm.bind_tools([get_weather]).invoke("What's the weather in Lisbon?")
for call in message.tool_calls:
print(call["name"], call["args"])İki model de araç çağırır. bind_tools üzerine kurulu LangChain ajanları aynı şekilde çalışır. with_structured_output, JSON şemalı bir response_format gönderir; bunu deepseek-v4.1-flash-uncensored alır, GLM düşürür. Yapılandırılmış çıktı için DeepSeek’i kullan. Bkz. Araç çağrıları ve JSON çıktısı.
Düşünme ve örnekleyiciler
import os
from langchain_openai import ChatOpenAI
thinker = ChatOpenAI(
model="deepseek-v4.1-flash-uncensored",
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
reasoning_effort="high",
max_tokens=4000,
extra_body={"min_p": 0.05}, # fields ChatOpenAI has no argument for
)DeepSeek, düşünmesini istemediğin sürece hemen yanıtlar. Düşünme bir çağrıda max_tokens’a dahil olur; düşünen çağrılara yeterli yer ver.
Dikkat edilecekler
- `reasoning_effort` yalnızca modelin kendi değerlerini kabul eder.
deepseek-v4.1-flash-uncensorednone,low,high,maxalır;glm-5.3-flash-uncensoredlow,highalır. Başka uygulamalarınminimal,mediumvexhighdeğerleri modelin en yakın düzeyinde çalışır (mediumyerinehigh,xhighyerine modelde varsamax); başka her değer400 invalid_reasoning_effortdöndürür. Bkz. Düşünme. - GLM araçlarını kendisi seçer.
glm-5.3-flash-uncensoredtool_choiceolarak yalnızcaautoya danonealır. Bir aracı zorlamak (requiredya da bir fonksiyon adı vermek)400 unsupported_tool_choicedöndürür. Birini zorlaman gerektiğinde DeepSeek’i kullan. - Bir modelin alamadığı alanlar reddedilmez, düşürülür. Çağrı yine yanıtlanır ve
x-nokeep-ignoredyanıt üst bilgisi düşürülenlerin adını yazar. GLM yalnızcatools,tool_choicevereasoning_effortalanlarını tutar; bu yüzdentemperatureveresponse_formatdüşürülür. Bkz. hangi modelin hangi alanları aldığı. - İçerik parçaları yalnızca metin ve görseldir.
image_urlparçalarıdeepseek-v4.1-flash-uncensoredüzerinde çalışır; GLM yalnızca metin okur. Ses ve dosya parçaları (bir PDF)400 unsupported_inputdöndürür. - `n` 1 olmalıdır. Birden çok yanıt için birden çok çağrı yap.
- Yalnızca sohbet tamamlamaları.
/v1/responsesve/v1/embeddingsyoktur. Bunlardan birini varsayılan olarak kullanan bir framework’ün sohbet tamamlamalarına yönlendirilmesi gerekir; embedding için başka bir sağlayıcı gerekir.
ChatOpenAI(use_responses_api=True) ve JavaScript’teki useResponsesApi: true, nokeep’te olmayan /v1/responses adresini çağırır. Bunları kapalı bırak.
Sorular
nokeep için bir LangChain paketine ihtiyacım var mı?
Hayır. Python’da langchain-openai ve JavaScript’te @langchain/openai, OpenAI uyumlu herhangi bir API ile çalışır. Temel URL’yi https://nokeep.ai/v1 olarak ayarla.
Bir LangChain ajanı hangi modeli kullanmalı?
Çoğu ajan için deepseek-v4.1-flash-uncensored: görselleri okur, her örnekleyiciyi alır ve bir aracı çağıracak şekilde yönlendirilebilir. glm-5.3-flash-uncensored daha ucuzdur ama araçlarını kendisi seçer.