DeepSeek-V3.1 — это гибридная языковая модель MoE «думающая/недумающая» (671 байт всего, ≈37 байт активировано на токен), которая может быть запущена локально при использовании подходящего провайдера/квантизации и инструментария. Ниже я расскажу о DeepSeek-V3.1, требованиях к оборудованию и программному обеспечению, пошаговых руководствах по локальному запуску (примеры Ollama + llama.cpp) и о том, как развернуть и использовать режим мышления ( <think>/</think> шаблон чата) с примерами кода, которые можно скопировать/вставить.
Что такое DeepSeek-V3.1?
DeepSeek-V3.1 — это версия 3.1 семейства MoE (Mixture-of-Experts) DeepSeek. Она была разработана как гибридная модель вывода, поддерживающая два диалоговых шаблона/режима: мышление и Не-думающий — из той же контрольной точки, изменив шаблон чата. Архитектура модели соответствует архитектуре DeepSeek-V3 MoE (671 млрд параметров; ≈37 млрд параметров, активируемых на токен для вывода) и добавляет улучшения после обучения для использования инструментов, навыков агента и обработки длинного контекста.
Краткий обзор особенностей
- Гибридный Мышление / Не-мышление режимы (переключаются токенизацией шаблона чата).
- Архитектура MoE: большое общее количество параметров, но ограниченное количество активированных параметров на токен (обеспечивает эффективность).
- Посттренировочные улучшения для вызовов инструментов и рабочих процессов агентов (формат вызовов инструментов и шаблоны агентов задокументированы в активах модели).
Что нужно для локального запуска DeepSeek-V3.1?
Запуск полный DeepSeek-V3.1 (исходные контрольные точки) — это тяжеловесный набор данных — хранение данных для обучения/контрольных точек и организация вывода — нетривиальные задачи. Но есть и практические решения:
Аппаратные средства
- Полный распределенный вывод (исследование/кластер): несколько графических процессоров с большим объёмом памяти (класса A100/H800) или кластер графических процессоров с параллельной обработкой данных (типично для контрольных точек 600+ байт). Используйте только при запуске исследовательских кластеров для производственных задач.
- Практические местные варианты: использовать активированный-параметр перспектива (активировано ≈37 байт) или квантованная сборка GGUF/1-битная динамическая сборка. Квантования, предлагаемые сообществом (1-битная динамическая сборка/GGUF), значительно снижают требования к дисковому пространству и оперативной памяти — например, в сообщениях сообщества сообщается о сжатии контрольной точки объёмом 720 ГБ до ~170 ГБ GGUF для квантованного варианта. Это делает локальный односерверный вывод на основе GPU осуществимым для настольных компьютеров/серверов с хорошими ресурсами.
Итог: ожидайте рабочего процесса с большой моделью (от десятков до нескольких сотен ГБ дискового пространства для квантованных артефактов); для видеопамяти графического процессора используйте квантованные варианты и целевые значения видеопамяти ≥24–48 ГБ для разумной пропускной способности; в противном случае используйте ЦП+подкачку с компромиссами по производительности.
Программное обеспечение и инструменты
Python 3.10+ (для инструментов преобразователя/токенизатора и пользовательских скриптов).
transformers (для токенизатора и вспомогательных функций) — на карточке модели показаны примеры использования transformers.AutoTokenizer.
Одна или несколько локальных сред выполнения вывода:
- Оллама (легкий:
ollama pull/ollama runинтеграция; некоторые сборки DeepSeek на Ollama требуют предварительных версий, см. примечание model/ollama). Ollama стала стандартным локальным исполнителем для моделей сообщества. - llama.cpp / ggml стеки или
llama-serverдля квантованных файлов GGUF — отлично подходит для прямого выполнения GGUF. - генерация-вывод текста / Triton / стеки FlashAttention для более производительного вывода графического процессора (расширенные настройки).
Диск: большое свободное место для файлов модели (десятки → сотни ГБ в зависимости от квантования).
Артефакты модели (какой файл получить)
- Официальные варианты Safetensors / BF16 / FP8 / GGUF: Hugging Face содержит артефакты модели V3.1 и множественные квантизации. Если вам нужен файл GGUF/квантованной модели для
llama.cpp, найдите релиз квантования сообщества (или скрипт преобразования от safetensors → GGUF) — в карточке модели перечислены квантованные варианты.
Как подготовить модель для локального вывода?
Ниже приведены рекомендуемые этапы подготовки, расположенные от простого к сложному.
Шаг 1 — Выбор среды выполнения (рекомендация)
- Тест для начинающих/быстрый: Ollama — минимальная настройка: загрузка, запуск модели, вызов API. Примечание: в некоторых сборках DeepSeek-V3.1 указано, что Ollama v0.11.7 требуется для определённых функций.
- Расширенное/низкоуровневое управление:
llama.cpp+ GGUF-квантование (если доступно GGUF-квантование). Это обеспечивает прямое управление выводом и интеграцию сllama-server.
Шаг 2 — Загрузите модель
Если вы используете Олламу:
# 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
(Оллама run автоматически вытащит, если его нет; pull позволяет вам контролировать время.)
Если вы используете Hugging Face + llama.cpp:
# 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
Hugging Face перечисляет артефакты модели, шаблоны и квантизации на карточке модели.
Шаг 3 — Преобразование/квантизация (необязательно)
Если вы нашли только сейфтензоры или артефакты BF16, но вам нужен GGUF для llama.cpp, используйте скрипты конвертации в llama.cpp (или инструменты сообщества) для преобразования → квантования. Существуют инструменты сообщества для 1-битного динамического квантования, сохраняющие точность при уменьшении размера; см. сообщения сообщества, в которых сообщается о снижении размера примерно до 170 ГБ.
Как на самом деле запустить DeepSeek-V3.1 локально? (Практические руководства по запуску)
Я покажу Оллама (легко, рекомендуется) и лама.cpp Примеры (GGUF) плюс короткий пример Python с использованием вспомогательных функций токенизатора модели и карты.
A — Бег с Олламой (быстрый старт)
- Установите Ollama (следуйте официальным инструкциям).
- Извлеките и запустите модель:
# 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
- Сделайте HTTP-запрос на локальный сервер Ollama:
# 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
}'
Шаблоны CLI и API Ollama разработаны так, чтобы быть простыми: ollama run При необходимости будет загружен и запущен сервер моделей. Подсказки по памяти и точные названия/теги моделей см. в документации Ollama и на страницах моделей.
B — Запуск квантованного GGUF через llama.cpp
- Построить
llama.cppс CUDA (опционально) или CPU:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# for CUDA:
make clean && make LLAMA_CUBLAS=1
# or CPU only:
make
- Поместите файл модели GGUF в путь и запустите:
./main -m /path/to/DeepSeek-V3.1.q4_K_M.gguf \
-p "Explain how to enable thinking mode." \
--temp 0.2 --n_predict 512
- Для использования на сервере,
llama-server(проект сообщества) может предоставить конечную точку HTTP:
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}'
Используйте квантования GGUF сообщества (динамические q4/q8/1 бит), чтобы вписаться в бюджеты графического процессора/центрального процессора; llama.cpp репозиторий предоставляет инструменты и рекомендации по конвертации.
C — Пример Python с использованием токенизатора + шаблона чата
Модель «Обнимающее лицо» предоставляет tokenizer.apply_chat_template помощник и показывает, как кодировать разговор с thinking=True. Вот минимальный пример Python, адаптированный из карточки модели:
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
Затем вы можете передать токенизированную подсказку в среду выполнения вывода (Ollama/llama.cpp/TGI) в зависимости от вашего стека.
Как работает Thinking Mode и как его развернуть локально?
DeepSeek-V3.1 использует шаблоны чата которые содержат специальный токен мышления (например, <think> и </think>). шаблон определяет, находится ли модель в режиме мышления или немышления:
- Не-думающий шаблонные места
</think>в префиксе помощника, который инструктирует модель выдавать прямые ответы (формат вызова инструмента поддерживается в режиме отсутствия мышления). - мышление шаблонные места
<think>в префиксе помощника, который заставляет модель выдавать промежуточные сигналы в стиле внутренней цепочки мыслей (модель обучена использовать эту последовательность токенов для внутреннего рассуждения и получения более качественных многошаговых ответов). Карточка модели «Обнимающее лицо» документирует эти точные токены иtokenizer.apply_chat_template(..., thinking=True)API.
Программное переключение (примеры)
А — С токенизатором (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)
Лента prompt_thinking в среду выполнения вывода, чтобы получить поведение Мышления.
B — С необработанным приглашением (llama.cpp / руководство):
Вставить <think> до того, как помощник включится, когда вы подскажете:
<|begin_of_sentence|>You are a helpful assistant<|User|>How to optimize this code?<|Assistant|><think>
(Точное обрамление маркера указано в карточке модели — необходимо соблюдать интервалы и специальные маркеры, если вы используете необработанный шаблон.)
C — С помощью Ollama (переключение пользовательского интерфейса):
В официальной веб-демонстрации DeepSeek и примечаниях к выпуску упоминается переключатель/кнопка «DeepThink» для переключения режимов в размещенном пользовательском интерфейсе. Локально Ollama или ваше приложение должны воспроизводить это поведение, переключая шаблон чата (т.е. изменяя подсказку, отправляемую в среду выполнения, между двумя токенизированными формами). Если вы запускаете DeepSeek через Ollama, вы можете реализовать это в своем приложении, поддерживая два шаблона подсказок (с обдумыванием и без обдумывания) и переключая их через API Ollama.
Как развернуть Thinking Mode в качестве агента (вызовы инструментов, агенты кода)?
Документы DeepSeek-V3.1 вызов инструмента и агент Шаблоны в активах модели. Модель ожидает, что инструменты будут представлены в определённом формате JSON/инструкций, и поддерживает цепочку вызовов нескольких инструментов за один шаг при условии точного соблюдения токенов-обёрток, описанных в карточке модели.
Пример: простая оболочка вызова инструмента (псевдо)
Модель определяет блок дескриптора инструмента и строгий tool_calls_begin / tool_call_begin Формат. Минимальный пример (концептуальный):
## 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|>
Выходные данные инструмента затем должны быть возвращены в модель на следующем этапе в соответствии с предписанным форматом модели (см. assets/search_tool_trajectory.html на странице модели для точного описания процесса). Реализация агентов требует программной оркестровки: вызов инструмента → захват результата → внедрение результата обратно в контекст чата точно так, как предписано в шаблоне → повторный вызов модели.
Практические советы, устранение неполадок и меры предосторожности (на что следует обратить внимание?)
- Шаблоны токенов строгие. Используйте модель
tokenizer.apply_chat_templateили воспроизвести точное<think>/</think>Маркеры показаны. Неправильное расположение или отсутствие маркеров приведёт к изменению поведения модели. - Формат инструмента должен быть допустимым JSON. Модель будет анализировать аргументы инструмента как JSON — недопустимый JSON приведет к прерыванию вызовов инструмента.
- Компромиссы квантования. Динамическое/агрессивное квантование 1-битной области уменьшает объём хранилища и оперативной памяти, но может немного повлиять на точность числовых данных. Протестируйте на своих рабочих нагрузках. Существуют варианты квантования, разработанные сообществом, которые снижают использование диска на 80% (пример отчёта: 720 ГБ → ~170 ГБ), но всегда сверяйтесь с вашими подсказками.
- Совместимость с Олламой. В некоторых вариантах DeepSeek указано, что для работы предварительных версий требуется Ollama v0.11.7 — проверьте страницу модели Ollama и обновите ее соответствующим образом.
Пример от начала до конца: запуск DeepSeek-V3.1 локально в режиме Thinking Mode (мини-пошаговое руководство)
- Установите Ollama и извлеките модель:
# install ollama per docs, then:
ollama pull deepseek-ai/DeepSeek-V3.1
ollama run deepseek-ai/DeepSeek-V3.1 &
- Используйте токенизатор Python для составления подсказки к размышлению:
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())
- Если модель возвращает вызов инструмента в формате toolcall, проанализируйте JSON и запустите инструмент, затем внедрите результаты в следующее сообщение в соответствии с шаблонами карточки модели.
Как выбрать путь развертывания?
- Если вам нужен самый быстрый путь к эксперименту: используют Оллама и примеры модели Hugging Face. Ollama скрывает многие инфраструктурные детали и предоставляет локальный HTTP API.
- Если вам нужна более низкая стоимость/большая мобильность: использовать сообщество GGUF квантованный артефакт и запустить с
llama.cpporllama-server. Квантование экономит диск и память, но проверяет точность вашей рабочей нагрузки. - Если вы строите агенты или инструменты: следуйте образцу карты вызов инструмента и агент шаблоны в точности; организуйте выходные данные инструмента обратно в контекст модели.
Первые шаги
CometAPI — это унифицированная платформа API, которая объединяет более 500 моделей ИИ от ведущих поставщиков, таких как серия GPT OpenAI, Gemini от Google, Claude от Anthropic, Midjourney, Suno и других, в единый, удобный для разработчиков интерфейс. Предлагая последовательную аутентификацию, форматирование запросов и обработку ответов, CometAPI значительно упрощает интеграцию возможностей ИИ в ваши приложения. Независимо от того, создаете ли вы чат-ботов, генераторы изображений, композиторов музыки или конвейеры аналитики на основе данных, CometAPI позволяет вам выполнять итерации быстрее, контролировать расходы и оставаться независимыми от поставщика — и все это при использовании последних достижений в экосистеме ИИ.
Разработчики могут получить доступ ДипСик V3.1 Последние версии моделей CometAPI указаны на дату публикации статьи. Для начала изучите возможности модели в Детская Площадка и проконсультируйтесь с API-руководство для получения подробных инструкций. Перед доступом убедитесь, что вы вошли в CometAPI и получили ключ API. CometAPI предложить цену намного ниже официальной, чтобы помочь вам интегрироваться.
Заключение
DeepSeek-V3.1 предлагает практичную гибридную философию вывода (одна контрольная точка + шаблонное мышление), которая упрощает эксперименты с рассуждениями в стиле цепочки мыслей и использованием инструментов-агентов при соблюдении шаблонов чата и требований к инструментам. Используйте карточку модели Hugging Face и заметки о выпуске DeepSeek в качестве первого шага, выберите локальную среду выполнения (Ollama для простоты, llama.cpp для контроля) и тестовых квантованных сборок для практических локальных развертываний.



