DeepSeek-V3.1, doğru sağlayıcı/niceleme ve araçları kullanırsanız yerel olarak çalıştırılabilen hibrit bir "düşünen/düşünmeyen" MoE dil modelidir (toplam 671 milyar, jeton başına yaklaşık 37 milyar etkinleştirilir). Aşağıda DeepSeek-V3.1'in ne olduğunu, donanım/yazılım gereksinimlerini, adım adım yerel çalıştırma eğitimlerini (Ollama + llama.cpp örnekleri) ve nasıl çalıştırılacağını açıklıyorum. Düşünme Modunu dağıtın ve kullanın ( <think>/</think> (sohbet şablonu) kod örnekleriyle birlikte kopyalayıp yapıştırabilirsiniz.
DeepSeek-V3.1 nedir?
DeepSeek-V3.1, DeepSeek'in MoE (Uzman Karışımı) ailesinin v3.1 sürümüdür. İki konuşma şablonunu/modunu destekleyen hibrit bir çıkarım modeli olarak tasarlanmıştır: Düşünme ve Düşünmeyen — sohbet şablonunu değiştirerek aynı kontrol noktasından. Model mimarisi, DeepSeek-V3 MoE tasarımına dayanır (toplam 671 milyar parametre; çıkarım için belirteç başına yaklaşık 37 milyar parametre etkinleştirilir) ve araç kullanımı, aracı becerileri ve uzun bağlam yönetimi için eğitim sonrası iyileştirmeler ekler.
Hızlı özellik vurguları
- melez Düşünme / Düşünmeme modlar (sohbet şablonu belirteçlemesiyle açılıp kapatılır).
- MoE mimarisi: toplam parametre sayısı büyük ancak token başına etkinleştirilen parametre sayısı sınırlı (verimliliği mümkün kılar).
- Araç çağrıları ve aracı iş akışları için eğitim sonrası güçlendirmeler (araç çağrısı formatı ve aracı şablonları model varlıklarında belgelenmiştir).
DeepSeek-V3.1'i yerel olarak çalıştırmak için neye ihtiyacım var?
Koşuyor tam DeepSeek-V3.1 (ham kontrol noktaları) ağır bir dildir; eğitim/kontrol noktası depolama ve çıkarım düzenlemesi önemsiz değildir. Ancak pratik yollar da mevcuttur:
donanım
- Tam dağıtılmış çıkarım (araştırma / küme): birden fazla yüksek bellekli GPU (A100/H800 sınıfı) veya model paralel sunuculu bir GPU kümesi (tipik olarak 600B+ kontrol noktaları için). Yalnızca üretim araştırma kümeleri çalıştırıyorsanız kullanın.
- Pratik yerel seçenekler: kullan etkinleştirilmiş parametre Perspektif (≈37B etkin) veya nicemlenmiş bir GGUF/1 bit dinamik yapı. Topluluk nicemlemeleri (1 bit dinamik/GGUF), disk+RAM gereksinimlerini önemli ölçüde azaltır; örneğin, topluluk gönderileri, nicemlenmiş bir varyant için 720 GB'lık bir kontrol noktasının ~170 GB GGUF'a sıkıştırıldığını bildiriyor. Bu, yerel tek sunuculu GPU çıkarımını, iyi kaynaklara sahip masaüstü bilgisayarlar/sunucular için mümkün kılar.
Alt satır: büyük model iş akışı bekleyin (nicelikli eserler için onlarca ila birkaç yüz GB disk); GPU VRAM için, makul bir verim için nicelikli varyantları kullanın ve ≥24–48 GB VRAM'i hedefleyin; aksi takdirde performanstan ödün vererek CPU+swap kullanın.
Yazılım ve araçlar
Python 3.10+ (dönüştürücü/belirteçleyici araçları ve özel betikler için).
transformers (tokenizer ve yardımcı işlevler için) — model kartı, kullanarak örnekler gösterir transformers.AutoTokenizer.
Bir veya daha fazla yerel çıkarım çalışma zamanı:
- Ollama (kolay:
ollama pull/ollama runEntegrasyon; Ollama'daki bazı DeepSeek sürümleri ön sürüm gerektirir (model/ollama notunu kontrol edin). Ollama, topluluk modelleri için standart bir yerel çalıştırıcı haline geldi. - llama.cpp / ggml yığınlar veya
llama-serverGGUF nicemlenmiş dosyalar için — doğrudan GGUF yürütme için harika. - metin oluşturma çıkarımı / Triton / FlashAttention yığınları daha yüksek performanslı GPU çıkarımı için (gelişmiş kurulumlar).
Disk: model dosyaları için büyük boş alan (nicelemeye bağlı olarak onlarca → yüzlerce GB).
Model eserleri (hangi dosyanın alınacağı)
- Resmi safetensörler / BF16 / FP8 / GGUF varyantları: Hugging Face, V3.1 model eserlerini ve çoklu nicelemeleri barındırır. Bir GGUF/niceleme dosyasına ihtiyacınız varsa
llama.cpp, bir topluluk niceleme sürümü arayın (veya safetensörlerden → GGUF'a bir dönüştürme betiği) — model kartı nicelenmiş varyantları listeler.
Modeli yerel çıkarım için nasıl hazırlarım?
Aşağıda basit → ileri düzey olarak sıralanmış önerilen hazırlama adımları yer almaktadır.
Adım 1 — Bir çalışma zamanı seçin (öneri)
- Başlangıç / hızlı test: Ollama — minimum kurulum: indirme, modeli çalıştırma, API çağırma. Not: Bazı DeepSeek-V3.1 sürümleri, belirli özellikler için Ollama v0.11.7'nin gerekli olduğunu belirtir.
- Gelişmiş / düşük seviyeli kontrol:
llama.cpp+ GGUF nicemlemesi (bir GGUF nicelemesi mevcutsa). Bu size doğrudan çıkarım kontrolü ve entegrasyon sağlar.llama-server.
Adım 2 — Modeli indirin
Ollama kullanıyorsanız:
# install ollama (see https://ollama.com/docs)
# Pull the model (this downloads the model to your machine)
ollama pull deepseek-ai/DeepSeek-V3.1
# or a specific tag: ollama pull deepseek-ai/DeepSeek-V3.1:quant-q4_0
(Ollama'nın run mevcut değilse otomatik olarak çekilecektir; pull (zamanlamayı kontrol etmenizi sağlar.)
Hugging Face + llama.cpp kullanıyorsanız:
# Example: download via huggingface-cli or hf_transfer
pip install huggingface_hub
hf_hub_download(repo_id="deepseek-ai/DeepSeek-V3.1", filename="DeepSeek-V3.1.gguf")
# or use a community quant file (gguf) referenced on the Hugging Face model page
Sarılma Yüzü, model kartında model eserlerini, şablonları ve nicelemeleri listeler.
Adım 3 — Dönüştürme / niceleme (isteğe bağlı)
Yalnızca safetensörler veya BF16 eserleri bulursanız ancak GGUF'a ihtiyacınız varsa llama.cpp, dönüştürme betiklerini kullanın llama.cpp (veya topluluk araçları) dönüştürerek → nicemleyin. Boyutu küçültürken doğruluğu koruyan 1 bit dinamik nicemleme için topluluk araçları mevcuttur; yaklaşık 170 GB'a kadar küçültülebileceğini bildiren topluluk gönderilerine bakın.
DeepSeek-V3.1'i yerel olarak nasıl çalıştırabilirim? (Pratik çalıştırma eğitimleri)
Göstereceğim Ollama (kolay, tavsiye edilir) ve lama.cpp (GGUF) örnekleri ve model kartı belirteç yardımcılarını kullanan kısa bir Python örneği.
A — Ollama ile Koşu (hızlı başlangıç)
- Ollama'yı kurun (resmi talimatları izleyin).
- Modeli çekip çalıştırın:
# pull model to disk (optional; run will pull automatically)
ollama pull deepseek-ai/DeepSeek-V3.1
# start an interactive session (runs model and exposes local API)
ollama run deepseek-ai/DeepSeek-V3.1
- Yerel Ollama sunucusuna bir HTTP isteği yapın:
# curl usage example (local Ollama server usually listens on port 11434)
curl -sS -X POST 'http://localhost:11434/api/generate' \
-H 'Content-Type: application/json' \
-d '{
"model":"deepseek-ai/DeepSeek-V3.1",
"prompt":"Explain the difference between thinking and non-thinking mode in DeepSeek.",
"max_tokens":256
}'
Ollama'nın CLI ve API desenleri basit olacak şekilde tasarlanmıştır: ollama run Gerekirse çeker ve bir model sunucusu başlatır. Bellek ipuçları ve tam model adları/etiketleri için Ollama belgelerine ve model sayfalarına bakın.
B — llama.cpp aracılığıyla niceliksel bir GGUF çalıştırma
- İnşa etmek
llama.cppCUDA (isteğe bağlı) veya CPU ile:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# for CUDA:
make clean && make LLAMA_CUBLAS=1
# or CPU only:
make
- Model GGUF dosyasını bir yola yerleştirin ve şunu çalıştırın:
./main -m /path/to/DeepSeek-V3.1.q4_K_M.gguf \
-p "Explain how to enable thinking mode." \
--temp 0.2 --n_predict 512
- Sunucu kullanımı için,
llama-server(topluluk projesi) bir HTTP uç noktasını açığa çıkarabilir:
llama-server -m /path/to/DeepSeek-V3.1.q4_K_M.gguf
# then POST to the server like:
curl -X POST "http://localhost:8080/api/v1/generate" -d '{"prompt":"Hello","max_tokens":200}'
GPU/CPU bütçelerine uyması için topluluk GGUF nicemlemelerini (q4/q8/1-bit dinamik) kullanın; llama.cpp repo, dönüştürme araçları ve rehberlik sağlar.
C — Tokenizer + sohbet şablonunu kullanan Python örneği
Sarılma Yüz modeli kartı bir tokenizer.apply_chat_template yardımcı olur ve bir konuşmanın nasıl kodlanacağını gösterir thinking=Trueİşte model kartından uyarlanmış minimal bir Python örneği:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
messages = [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Who are you?"},
{"role": "assistant", "content": "<think>Hmm</think>I am DeepSeek"},
{"role": "user", "content": "1+1=?"}
]
# apply thinking chat template
s = tokenizer.apply_chat_template(messages, tokenize=False, thinking=True, add_generation_prompt=True)
print(s) # the template includes the special <think> token placement
Daha sonra, yığınınıza bağlı olarak belirteçleştirilmiş istemi çıkarım çalışma zamanınıza (Ollama/llama.cpp/TGI) besleyebilirsiniz.
Düşünme Modu nasıl çalışır ve onu yerel olarak nasıl dağıtabilirim?
DeepSeek-V3.1 kullanımları sohbet şablonları özel bir düşünme belirteci içeren (örneğin, <think> ve </think>.) şablon modelin Düşünen veya Düşünmeyen modda olup olmadığını belirler:
- Düşünmeyen şablon yerleri
</think>Modelin doğrudan yanıtlar üretmesini talimatlandıran yardımcı önekte (araç çağrısı biçimi düşünmeme durumunda desteklenir). - Düşünme şablon yerleri
<think>Modelin dahili düşünce zinciri tarzı ara sinyaller üretmesini sağlayan yardımcı önek (model, bu belirteç dizisini kullanarak dahili olarak akıl yürütmek ve daha kaliteli çok adımlı yanıtlar üretmek üzere eğitilmiştir). Sarılma Yüzü model kartı, bu tam belirteçleri vetokenizer.apply_chat_template(..., thinking=True)API.
Programatik geçiş (örnekler)
A — Tokenizer ile (Python):
# thinking=True or thinking=False changes how the prompt is formatted
prompt_thinking = tokenizer.apply_chat_template(messages, thinking=True, add_generation_prompt=True)
prompt_non_thinking = tokenizer.apply_chat_template(messages, thinking=False, add_generation_prompt=True)
Takip prompt_thinking Düşünme davranışını elde etmek için çıkarım çalışma zamanınıza.
B — Ham komut istemiyle (llama.cpp / manuel):
Ekle <think> asistanınız komut verdiğinizde dönmeden önce:
<|begin_of_sentence|>You are a helpful assistant<|User|>How to optimize this code?<|Assistant|><think>
(Tam olarak bu simge çerçevelemesi model kartta yer almaktadır; ham şablonu kullanıyorsanız boşluklara ve özel işaretleyicilere saygı göstermelisiniz.)
C — Ollama ile (UI geçişi):
Resmi DeepSeek web demosu ve sürüm notlarında, barındırılan kullanıcı arayüzünde modlar arasında geçiş yapmak için bir "DeepThink" geçiş düğmesi/anahtarından bahsediliyor. Yerel olarak, Ollama veya uygulamanız, sohbet şablonunu değiştirerek (yani, iki belirteçli form arasında çalışma zamanına gönderdiğiniz istemi değiştirerek) bu davranışı taklit etmelidir. DeepSeek'i Ollama üzerinden çalıştırıyorsanız, iki istem şablonu (düşünen ve düşünmeyen) tutarak ve Ollama API'sinden geçirdiğiniz geçişleri yaparak bunu uygulamanızda uygulayabilirsiniz.
Thinking Mode'u bir ajan (araç çağrıları, kod ajanları) olarak nasıl dağıtabilirim?
DeepSeek-V3.1 belgeleri araç çağrısı ve ajan Model varlıklarındaki şablonlar. Model, araçların belirli bir JSON/talimat biçiminde sunulmasını bekler ve model kartında açıklanan sarmalayıcı belirteçlerini tam olarak izlerseniz, tek seferde birden fazla araç çağrısının zincirlenmesini destekler.
Örnek: basit araç çağrısı sarmalayıcısı (sahte)
Model, bir araç tanımlayıcı bloğu ve katı bir tool_calls_begin / tool_call_begin biçim. Minimal bir örnek (kavramsal):
## Tools
You have access to the following tools:
### web_search
Description: Query the web
Parameters: {"q": "string"}
<|begin_of_sentence|>{system prompt}
## Tools
...tool descriptions...
<|User|>Find the population of Tokyo<|Assistant|></think>
<|tool_calls_begin|><|tool_call_begin|>web_search<|tool_sep|>{"q":"population of Tokyo 2025"}<|tool_call_end|><|tool_calls_end|>
Araç çıktısı daha sonra modelin öngörülen formatına uygun olarak bir sonraki turda modele geri bildirilmelidir (bkz. assets/search_tool_trajectory.html (Tam akış için model sayfasında). Aracı uygulamak programatik orkestrasyon gerektirir: aracı çağır → sonucu yakala → sonucu şablonun öngördüğü şekilde sohbet bağlamına geri enjekte et → modeli tekrar çağır.
Pratik ipuçları, sorun giderme ve güvenlik notları (Nelere dikkat etmeliyim?)
- Token şablonları katıdır. Modelin kullanın
tokenizer.apply_chat_templateveya tam olarak aynısını yeniden üretin<think>/</think>gösterildiği gibi belirteçler. Yanlış aralık veya eksik işaretleyiciler model davranışını değiştirecektir. - Araç formatı geçerli JSON olmalıdır. Model, araç argümanlarını JSON olarak ayrıştıracaktır; geçersiz JSON araç çağrılarını bozacaktır.
- Nicemleme uzlaşmaları. 1 bit dinamik/agresif nicemlemeler depolama alanını ve RAM'i küçültür, ancak sayısal doğruluğu biraz değiştirebilir. İş yüklerinizde test edin. Disk kullanımının %80'ini düşüren topluluk nicemlemeleri mevcuttur (örnek rapor: 720 GB → ~170 GB), ancak her zaman komutlarınızla doğrulayın.
- Ollama uyumluluğu. Bazı DeepSeek sürümleri, ön sürüm özellikleri için Ollama v0.11.7'nin gerekli olduğunu belirtiyor; Ollama model sayfasını kontrol edin ve buna göre güncelleyin.
Örnek uçtan uca: DeepSeek-V3.1'i Düşünme Modu ile yerel olarak çalıştırın (mini adım adım açıklama)
- Ollama'yı kurun ve modeli çekin:
# install ollama per docs, then:
ollama pull deepseek-ai/DeepSeek-V3.1
ollama run deepseek-ai/DeepSeek-V3.1 &
- Düşünme isteği oluşturmak için Python belirteçleyicisini kullanın:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
msgs = [
{"role":"system","content":"You are a helpful assistant."},
{"role":"user","content":"Plan a multi-step strategy to prototype a mobile app in 2 weeks."}
]
prompt = tokenizer.apply_chat_template(msgs, thinking=True, add_generation_prompt=True)
import requests
resp = requests.post("http://localhost:11434/api/generate", json={
"model": "deepseek-ai/DeepSeek-V3.1",
"prompt": prompt,
"max_tokens": 400
})
print(resp.json())
- Model, araç çağrısı biçiminde bir araç çağrısı döndürürse, JSON'u ayrıştırın ve aracı çalıştırın, ardından sonuçları model kartı şablonlarına göre bir sonraki mesaja enjekte edin.
Dağıtım yolunuzu nasıl seçmelisiniz?
- Deney yapmanın en hızlı yolunu istiyorsanız: kullanım Ollama ve Hugging Face model kartının örnekleri. Ollama birçok alt yapı detayını gizler ve yerel bir HTTP API'si verir.
- Daha düşük maliyete / daha fazla taşınabilirliğe ihtiyacınız varsa: bir topluluk kullanın GGUF nicemlenmiş eser ve koşmak
llama.cpporllama-serverNicemleme disk ve bellek tasarrufu sağlar ancak iş yükünüz için doğruluğu test eder. - Eğer inşaat acentesi veya aracısıysanız: model kartını takip edin araç çağrısı ve ajan şablonları tam olarak; araç çıktılarını model bağlamına geri düzenleyin.
Başlamak
CometAPI, OpenAI'nin GPT serisi, Google'ın Gemini, Anthropic'in Claude, Midjourney, Suno ve daha fazlası gibi önde gelen sağlayıcılardan 500'den fazla AI modelini tek bir geliştirici dostu arayüzde toplayan birleşik bir API platformudur. Tutarlı kimlik doğrulama, istek biçimlendirme ve yanıt işleme sunarak CometAPI, AI yeteneklerinin uygulamalarınıza entegrasyonunu önemli ölçüde basitleştirir. İster sohbet robotları, görüntü oluşturucular, müzik bestecileri veya veri odaklı analiz hatları oluşturuyor olun, CometAPI daha hızlı yineleme yapmanızı, maliyetleri kontrol etmenizi ve satıcıdan bağımsız kalmanızı sağlar; tüm bunları yaparken AI ekosistemindeki en son atılımlardan yararlanırsınız.
Geliştiriciler erişebilir DeepSeek V3.1 CometAPI aracılığıyla listelenen en son model sürümleri, makalenin yayınlandığı tarih itibarıyla geçerlidir. Başlangıç olarak, modelin yeteneklerini keşfedin. Oyun Alanı ve danışın API kılavuzu Ayrıntılı talimatlar için. Erişimden önce, lütfen CometAPI'ye giriş yaptığınızdan ve API anahtarını edindiğinizden emin olun. Kuyrukluyıldız API'si Entegrasyonunuza yardımcı olmak için resmi fiyattan çok daha düşük bir fiyat teklif ediyoruz.
Sonuç
DeepSeek-V3.1, sohbet şablonları ve araç gereksinimlerine uyduğunuzda, düşünce zinciri tarzı akıl yürütme ve aracı araç kullanımıyla denemeler yapmayı kolaylaştıran pratik bir hibrit çıkarım felsefesi (tek kontrol noktası + şablonlanmış düşünme davranışı) sunar. İlk durağınız olarak Hugging Face model kartını ve DeepSeek sürüm notlarını kullanın, yerel bir çalışma zamanı seçin (basitlik için Ollama, llama.cpp (kontrol için) ve pratik yerel dağıtımlar için niceliksel yapıları test edin.



