Подключение DeepSeek, Qwen к Claude Code через Unsloth - полный гайд 2026 | AiManual
AiManual Logo Ai / Manual.
29 Янв 2026 Гайд

Подключаем локальные LLM к Claude Code: DeepSeek и Qwen вместо платных API

Пошаговое руководство по интеграции локальных LLM (DeepSeek, Qwen) в Claude Code через Unsloth. Замена дорогих API на собственные модели.

Зачем платить за API, если можно запустить модель локально?

Claude Code в теории - удобный инструмент. На практике - черная дыра для бюджета. Каждый запрос к GPT-4 или Claude 3 стоит денег. Много денег. Особенно если вы работаете с кодом по 8 часов в день.

Типичная картина: вы пишете код, получаете 20-30 запросов в час, а в конце месяца приходит счет на $200-300. И это для одного разработчика. Команда из пяти человек? Умножьте на пять.

Важно: Claude Code по умолчанию отправляет все ваши промпты в облако. Даже если вы думаете, что работаете локально. Проверили? Узнали что на самом деле уходит в облако - испугались.

Решение: локальные модели через Unsloth

Unsloth - не просто еще одна библиотека для работы с LLM. Это оптимизированный движок, который ускоряет инференс в 2-3 раза. Почему именно он? Потому что другие решения либо слишком медленные, либо требуют танцев с бубном.

Мы будем использовать две модели:

  • DeepSeek-Coder-V2 - лучшая модель для программирования на начало 2026 года. Поддерживает контекст 128к токенов, понимает 338 языков программирования.
  • Qwen2.5-Coder-32B - альтернатива от Alibaba. Чуть менее точная в коде, но быстрее и требует меньше памяти.

Обе модели работают через OpenAI-совместимый API. Именно это позволяет подключать их к Claude Code без модификации исходного кода.

1 Готовим среду: железо и софт

Минимальные требования на 2026 год уже другие. Забудьте про 8 ГБ VRAM - этого мало даже для 7B моделей с хорошим контекстом.

Модель Минимальная VRAM Рекомендуемая VRAM Контекст
DeepSeek-Coder-7B 8 ГБ 12 ГБ 128к
Qwen2.5-Coder-7B 8 ГБ 12 ГБ 128к
DeepSeek-Coder-32B 24 ГБ 32 ГБ 64к

Установка базового ПО (Ubuntu/Debian):

# Обновляем систему
sudo apt update && sudo apt upgrade -y

# Ставим Python 3.11 (обязательно, более старые версии не поддерживаются)
sudo apt install python3.11 python3.11-venv python3.11-dev -y

# CUDA 12.4 (актуально на 2026 год)
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
sudo sh cuda_12.4.0_550.54.14_linux.run --silent --toolkit

# Добавляем CUDA в PATH
echo 'export PATH=/usr/local/cuda-12.4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
💡
Если у вас Windows - готовьтесь к боли. Linux работает стабильнее с локальными LLM. Можно использовать WSL2, но будет на 15-20% медленнее.

2 Устанавливаем и настраиваем Unsloth

Вот где большинство людей совершают первую ошибку - пытаются установить Unsloth через pip без дополнительных флагов. Не делайте так.

Неправильно:

# ТАК НЕ ДЕЛАТЬ! Будет установлена версия без CUDA поддержки
pip install unsloth

Правильно:

# Создаем виртуальное окружение
python3.11 -m venv ~/unsloth_env
source ~/unsloth_env/bin/activate

# Устанавливаем PyTorch с поддержкой CUDA 12.4
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

# Устанавливаем Unsloth с поддержкой всех оптимизаций
pip install "unsloth[cu124]" --upgrade
pip install xformers --index-url https://download.pytorch.org/whl/cu124
pip install triton

Проверяем установку:

import torch
from unsloth import FastLanguageModel

print(f"PyTorch версия: {torch.__version__}")
print(f"CUDA доступна: {torch.cuda.is_available()}")
print(f"Количество GPU: {torch.cuda.device_count()}")
print(f"VRAM: {torch.cuda.get_device_properties(0).total_memory / 1024**3:.2f} ГБ")

3 Загружаем и запускаем модель

DeepSeek-Coder или Qwen? Зависит от ваших задач. DeepSeek лучше справляется со сложным кодом, Qwen быстрее генерирует простые функции.

from unsloth import FastLanguageModel
import torch

# Загружаем DeepSeek-Coder-7B с оптимизациями Unsloth
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "deepseek-ai/deepseek-coder-7b-instruct-v2",
    max_seq_length = 32768,  # Можно увеличить до 65536 если хватит памяти
    dtype = torch.float16,
    load_in_4bit = True,  # Квантование 4-bit для экономии памяти
    token = "hf_your_token_here",  # Нужен для gated models
)

# Применяем патчи для ускорения
model = FastLanguageModel.for_inference(model)

Внимание: DeepSeek требует токен Hugging Face для скачивания. Бесплатный аккаунт дает доступ. Qwen2.5-Coder пока не требует токена, но это может измениться.

Тест модели:

# Простой тест - генерация функции Python
prompt = """Напиши функцию на Python, которая:
1. Принимает список чисел
2. Возвращает словарь с статистикой: среднее, медиана, стандартное отклонение
3. Обрабатывает пустые списки
4. Использует только стандартную библиотеку

Код:"""

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0]))

4 Создаем OpenAI-совместимый сервер

Claude Code понимает только OpenAI API. Значит, нужно превратить нашу локальную модель в сервер, который говорит на том же языке.

Устанавливаем vLLM (альтернатива - Ollama, но vLLM быстрее):

pip install vllm
pip install "vllm[openai]"  # Для OpenAI-совместимого API

Запускаем сервер:

# Для DeepSeek-Coder-7B
python -m vllm.entrypoints.openai.api_server \
    --model deepseek-ai/deepseek-coder-7b-instruct-v2 \
    --served-model-name deepseek-coder \
    --max-model-len 32768 \
    --gpu-memory-utilization 0.9 \
    --port 8000 \
    --api-key "local-key" \
    --quantization awq  # Или gptq, зависит от модели

# Для Qwen2.5-Coder-7B
python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-Coder-7B-Instruct \
    --served-model-name qwen-coder \
    --max-model-len 32768 \
    --port 8001 \
    --api-key "local-key"
💡
Запускайте сервер на разных портах, если хотите использовать несколько моделей одновременно. Claude Code умеет переключаться между ними.

5 Настраиваем Claude Code

Теперь самое интересное - заставить Claude Code говорить с нашим сервером.

Создаем конфигурационный файл для Claude Code:

{
  "mcpServers": {
    "local-llm": {
      "command": "node",
      "args": [
        "/path/to/mcp-server-local-llm/index.js"
      ],
      "env": {
        "OPENAI_API_KEY": "local-key",
        "OPENAI_BASE_URL": "http://localhost:8000/v1"
      }
    }
  },
  "ai": {
    "providers": [
      {
        "id": "local-deepseek",
        "name": "DeepSeek Coder Local",
        "type": "openai",
        "config": {
          "apiKey": "local-key",
          "baseURL": "http://localhost:8000/v1",
          "defaultModel": "deepseek-coder",
          "maxTokens": 8192
        }
      },
      {
        "id": "local-qwen",
        "name": "Qwen Coder Local",
        "type": "openai",
        "config": {
          "apiKey": "local-key",
          "baseURL": "http://localhost:8001/v1",
          "defaultModel": "qwen-coder",
          "maxTokens": 8192
        }
      }
    ]
  }
}

Расположение файла зависит от ОС:

  • Linux: ~/.config/Claude Code/claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude Code/claude_desktop_config.json
  • Windows: %APPDATA%\Claude Code\claude_desktop_config.json

Почему это работает лучше, чем облачные API?

Три причины:

  1. Конфиденциальность. Ваш код не уходит к Anthropic, OpenAI или другим компаниям. Особенно важно для коммерческих проектов.
  2. Скорость. Нет сетевой задержки. Запросы обрабатываются локально за 100-500 мс вместо 1-3 секунд.
  3. Стоимость. Ноль рублей в месяц после начальных инвестиций в железо. Сравните с $20-50 в месяц за одного разработчика.

Но есть и недостатки:

  • Требует мощное железо (минимум RTX 4070 для 7B моделей)
  • Потребляет электроэнергию (50-150 Вт дополнительно)
  • Модели нужно обновлять вручную

Типичные ошибки и как их избежать

Собрал самые частые проблемы, с которыми сталкивался сам:

Ошибка Причина Решение
"CUDA out of memory" Слишком большой контекст или batch size Уменьшить max_model_len до 16384, включить квантование 4-bit
Медленная генерация Используется CPU вместо GPU Проверить torch.cuda.is_available(), переустановить CUDA
Claude Code не видит сервер Брандмауэр или неправильный порт curl http://localhost:8000/v1/models проверить доступность
Плохое качество кода Старая версия модели Обновить до DeepSeek-Coder-V2 или Qwen2.5-Coder

А что насчет команды разработчиков?

Для команды из 3+ человек есть два варианта:

  1. Серверная стойка - один мощный сервер с RTX 4090 или A100, к которому подключаются все разработчики. Дешевле в долгосрочной перспективе.
  2. Индивидуальные рабочие станции - у каждого свой GPU. Дороже, но надежнее (нет единой точки отказа).

Для серверного варианта рекомендую прочитать сравнение локальных альтернатив для команд - там подробно разобраны экономические аспекты.

Что будет дальше?

К концу 2026 года ожидаю:

  • Модели размером 3B с качеством сегодняшних 7B (благодаря better architectures)
  • Встроенную поддержку локальных LLM в Claude Code (Anthropic уже тестирует)
  • Автоматическое обновление моделей как в пакетных менеджерах

Но ждать не нужно. Уже сегодня можно настроить систему, которая экономит $500-1000 в месяц на команду из пяти человек. Настройка занимает день. Окупаемость - неделя.

Следующий шаг - добавить RAG для работы с документацией и интегрировать с Obsidian для полной локальной системы продуктивности.

Совет: Начните с DeepSeek-Coder-7B. Если не хватает качества - переходите на 32B версию. Если не хватает скорости - пробуйте Qwen. Экспериментируйте с разными моделями, пока не найдете оптимальный баланс для ваших задач.

Вопросы? Ошибки в гайде? Пишите в комментарии - исправлю и дополню. Сам прошел через все эти грабли, знаю каждый подводный камень.