Instructions to use LLiserginov/Luqwen4-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use LLiserginov/Luqwen4-4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="LLiserginov/Luqwen4-4B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("LLiserginov/Luqwen4-4B", device_map="auto") - PEFT
How to use LLiserginov/Luqwen4-4B with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use LLiserginov/Luqwen4-4B with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf LLiserginov/Luqwen4-4B:Q4_K_M # Run inference directly in the terminal: llama cli -hf LLiserginov/Luqwen4-4B:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf LLiserginov/Luqwen4-4B:Q4_K_M # Run inference directly in the terminal: llama cli -hf LLiserginov/Luqwen4-4B:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf LLiserginov/Luqwen4-4B:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf LLiserginov/Luqwen4-4B:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf LLiserginov/Luqwen4-4B:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf LLiserginov/Luqwen4-4B:Q4_K_M
Use Docker
docker model run hf.co/LLiserginov/Luqwen4-4B:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use LLiserginov/Luqwen4-4B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "LLiserginov/Luqwen4-4B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "LLiserginov/Luqwen4-4B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/LLiserginov/Luqwen4-4B:Q4_K_M
- SGLang
How to use LLiserginov/Luqwen4-4B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "LLiserginov/Luqwen4-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "LLiserginov/Luqwen4-4B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "LLiserginov/Luqwen4-4B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "LLiserginov/Luqwen4-4B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Ollama
How to use LLiserginov/Luqwen4-4B with Ollama:
ollama run hf.co/LLiserginov/Luqwen4-4B:Q4_K_M
- Unsloth Desktop
- Pi
How to use LLiserginov/Luqwen4-4B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf LLiserginov/Luqwen4-4B:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "LLiserginov/Luqwen4-4B:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use LLiserginov/Luqwen4-4B with Docker Model Runner:
docker model run hf.co/LLiserginov/Luqwen4-4B:Q4_K_M
- Lemonade
How to use LLiserginov/Luqwen4-4B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull LLiserginov/Luqwen4-4B:Q4_K_M
Run and chat with the model
lemonade run user.Luqwen4-4B-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use LLiserginov/Luqwen4-4B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf LLiserginov/Luqwen4-4B:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default LLiserginov/Luqwen4-4B:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use LLiserginov/Luqwen4-4B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf LLiserginov/Luqwen4-4B:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "LLiserginov/Luqwen4-4B:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Luqwen4-4B
Luqwen4-4B — русскоязычная текстовая модель, полученная дообучением Qwen3.5-4B-Base методом LoRA (QLoRA), продолжающая линейку Luqwen-4B. Датасет построен на основе датасета Luqwen3.5 с добавлением новых частей: русских притч, кода (web + batch) и задач на внимание по логике и математике. Модель сочетает способность следовать инструкциям, вызывать инструменты, решать задачи по математике, физике, истории и аналитике, а также генерировать выразительные литературные тексты, притчи и программный код.
Базовая модель Qwen3.5-4B-Base использует гибридную архитектуру (Gated DeltaNet + Full Attention) с контекстом до 262k токенов, что обеспечивает эффективный инференс при сохранении качества генерации.
Что нового в версии 4
К датасету из Luqwen3.5 (принятому за 100%) добавлено:
- +10% — Притчи — русские притчи и поучительные истории (датасет LLiserginov/russian_parables)
- +10% — Код (web + batch) — генерация HTML-страниц и скриптов для Windows (
.bat), включая примеры с инструментами и запросами на создание/доработку кода - +5% — Логические и математические задачи на внимание — задачи на внимательность, аккуратность к условию и пошаговые вычисления
Base model
| Свойство | Значение |
|---|---|
| Архитектура | Qwen3.5 For Causal LM (гибрид Linear/Full Attention) |
| Параметров | 4B |
| Скрытая размерность | 1024 |
| Слоёв | 24 |
| Контекст | до 262 144 токенов |
| Вокабуляр | 248 320 (padding) |
| MTP | 1 слой |
Подробнее: Qwen3.5-4B-Base
Training data
Датасет Luqwen4 построен на основе датасета Luqwen3.5, к которому добавлены новые части. Доли добавлений указаны относительно датасета Luqwen3.5, принятого за 100%:
| Добавление | Доля от базы 3.5 |
|---|---|
| База Luqwen3.5 | 100% |
| Притчи | +10% |
| Код (web + batch) | +10% |
| Логические и математические задачи на внимание | +5% |
Итоговое распределение частей в суммарном датасете (125%):
| Часть | Доля в итоге |
|---|---|
| База Luqwen3.5 | 80% |
| Притчи | 8% |
| Код (web + batch) | 8% |
| Логика и математика на внимание | 4% |
База — датасет Luqwen3.5 (80%)
Состоит из трёх частей (доли — внутри базы):
70% — Креативное письмо
Оригинальные тексты, написанные Claude Opus 4.6. Примерно 50% примеров оставлено на английском языке в оригинале, остальные переведены на русский с помощью Gemma 4 26B. После перевода был сделан ещё один проход Gemma 4 26B для исправления ошибок перевода, а затем выполнена ручная доработка и редактура текстов.
15% — Реальные диалоги пользователя с LLM
Диалоги включают:
- Задачи с использованием инструментов (tool calling) — вызов API, работа с файлами, команды
- Логические и рассуждающие задачи
- Кодинг — написание, отладка и объяснение кода
- Общие инструкции и вопросы
15% — Инструкционный датасет на русском языке
Примеры решения задач по категориям:
- Математика — алгебра, геометрия, задачи с рассуждениями
- Физика — механика, термодинамика, электродинамика
- Код — примеры решения задач по программированию
- История — вопросы и анализ исторических событий
- Аналитика — интерпретация данных, выводы и прогнозы
Новые части Luqwen4 (20%)
8% — Притчи
Русские притчи и поучительные истории из датасета LLiserginov/russian_parables. Примеры представлены в виде диалогов с пересказом, разбором смысла и морали.
8% — Код (web + batch)
- Web — генерация и доработка HTML-страниц: вёрстка, интерактивные элементы, стилизация
- Batch — создание Windows-скриптов (
.bat) для автоматизации задач
4% — Логические и математические задачи на внимание
Задачи на внимательность к условию, проверку данных и последовательные вычисления (скорость, время, расстояния, перестановки). Развивают аккуратность при решении и снижают количество «заученных» ошибок.
Pipeline подготовки данных
- Сбор диалогов с LLM (tool-calling, код, логика) — анонимизация, форматирование в ChatML
- Написание креативных текстов на английском через Claude Opus
- Перевод части текстов на русский через Gemma 4 26B (примерно половина креативных примеров остаётся на английском в оригинале)
- Проход Gemma 4 26B для исправления ошибок перевода
- Ручная доработка и редактура текстов
- Составление инструкционного датасета (математика, физика, код, история, аналитика)
- Сбор датасета притч (LLiserginov/russian_parables) и генерация промптов для притч с помощью Gemma 4 26B
- Составление датасета кода (web + batch) и задач на внимание
- Фильтрация и дедупликация
- Конвертация в ChatML-формат
Training procedure
Параметры LoRA
| Параметр | Значение |
|---|---|
| rank (r) | 16 |
| lora_alpha | 32 |
| lora_dropout | 0 |
| bias | none |
| Целевые модули | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj, in_proj_qkv, in_proj_z, out_proj, in_proj_a, in_proj_b |
Гиперпараметры обучения
| Параметр | Значение |
|---|---|
| Оптимизатор | AdamW 8-bit |
| Precision | BF16 (mixed) |
| Batch size | 1 (8 gradient accumulation steps) |
| Learning rate | 2e-4 |
| Эпохи | 4 |
| Warmup steps | 50 |
| Max seq length | 4096 токенов |
| Обёртка | unsloth (4-bit QLoRA) |
| Маскирование | обучаются только токены ответа (prompt замаскирован) |
Слияние весов
После обучения LoRA-адаптер был слит с базовой моделью в 16-bit точность (метод merged_16bit через unsloth) для удобного использования без дополнительных зависимостей PEFT.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "LLiserginov/Luqwen4-4B"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
trust_remote_code=True,
)
messages = [
{"role": "user", "content": "Напиши рассказ о одиноком фонаре в осеннем парке."},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=1024,
temperature=0.7,
top_p=0.9,
do_sample=True,
)
response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(response)
Вызов инструментов
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "LLiserginov/Luqwen4-4B"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
trust_remote_code=True,
)
messages = [
{"role": "user", "content": "Узнай текущую погоду в Москве."},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.3,
top_p=0.9,
do_sample=True,
)
response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(response)
Генерация кода (web + batch)
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "LLiserginov/Luqwen4-4B"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto",
trust_remote_code=True,
)
messages = [
{"role": "user", "content": "Напиши HTML-страницу с простым калькулятором."},
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=2048,
temperature=0.4,
top_p=0.9,
do_sample=True,
)
response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(response)
Использование с vLLM
from vllm import LLM, SamplingParams
llm = LLM(model="LLiserginov/Luqwen4-4B", trust_remote_code=True)
messages = [
{"role": "user", "content": "Объясни разницу между supervised и unsupervised learning."},
]
outputs = llm.chat(messages, sampling_params=SamplingParams(temperature=0.7, max_tokens=1024))
print(outputs[0].outputs[0].text)
GGUF (llama.cpp)
GGUF-версию модели можно найти в файлах или сконвертировать самостоятельно:
git clone https://github.com/ggml-ai/llama.cpp
cd llama.cpp
python convert_hf_to_gguf.py /path/to/Luqwen4-4B --outfile Luqwen4-4B.Q4_K_M.gguf --outtype q4_K_M
Запуск через llama.cpp:
llama-cli -m Luqwen4-4B.Q4_K_M.gguf \
--prompt "Напиши рассказ о одиноком фонаре в осеннем парке." \
--temp 0.7 --top-p 0.9 \
--repeat-penalty 1.0 --repeat-last-n 206
Limitations
- Креативный датасет состоит из англо- и русскоязычных примеров; русскоязычная часть переведена машинным способом (Gemma 4 26B) — возможны отдельные артефакты и буквализмы
- Инструкционный датасет ограничен по объёму — покрытие тем по математике, физике, истории и аналитике неполное
- Код (web + batch) охватывает ограниченный набор сценариев — генерация сложного или специфичного кода может быть неточной
- Модель не проходила RLHF/DPO-калибровку и может генерировать нежелательный или фактически неверный контент
- Не предназначена для использования в медицинских, юридических или других критических областях
License
Модель распространяется под лицензией Apache 2.0.
Базовая модель: Qwen3.5-4B-Base — Apache 2.0.
Датасет притч: LLiserginov/russian_parables.
- Downloads last month
- 1,912
4-bit
6-bit
8-bit
16-bit
Model tree for LLiserginov/Luqwen4-4B
Base model
Qwen/Qwen3.5-4B-Base