Metadata-Version: 2.4
Name: quovantiq
Version: 0.3.1
Summary: HF -> GGUF конвертер
License: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: gguf>=0.10.0
Requires-Dist: numpy>=1.24.0
Dynamic: license-file

Quovantiq

Конвертер моделей Hugging Face в формат GGUF на чистом Python без внешних зависимостей для скачивания.

Особенности

· Скачивание моделей с Hugging Face через встроенный urllib (без huggingface_hub)
· Чтение safetensors через mmap (ленивая загрузка тензоров)
· Поддержка популярных архитектур: LLaMA, Mistral, Qwen2, Qwen3, Gemma, Phi, GPT-NeoX
· Квантизация: f32, f16, bf16, q4_0, q4_1, q5_0, q5_1, q8_0, q2_k, q3_k, q4_k, q5_k, q6_k
· Работает в Termux на Android

Установка

```bash
pip install quovantiq
```

Или в режиме разработки:

```bash
git clone https://github.com/lev73748/quovantiq
cd quovantiq
pip install -e .
```

Использование

Скачивание и конвертация модели с Hugging Face:

```bash
quovantiq --hf microsoft/phi-2 model.gguf
```

С указанием типа квантизации:

```bash
quovantiq --hf microsoft/phi-2 model.gguf q4_k_m
```

Конвертация локальной модели:

```bash
quovantiq /path/to/model/folder model.gguf q4_k_m
```

Для приватных моделей:

```bash
export HF_TOKEN=your_token_here
quovantiq --hf meta-llama/Llama-2-7b-hf llama.gguf
```

Доступные типы квантизации

Тип Описание
f32 Float32, оригинальная точность, самый большой размер
f16 Float16, баланс размера и точности (по умолчанию)
bf16 BFloat16
q4_0 4-битная квантизация, базовая
q4_1 4-битная квантизация, улучшенная
q5_0 5-битная квантизация
q5_1 5-битная квантизация, улучшенная
q8_0 8-битная квантизация
q2_k K-квантизация 2 бита
q3_k_s K-квантизация 3 бита, маленькая
q3_k_m K-квантизация 3 бита, средняя
q3_k_l K-квантизация 3 бита, большая
q4_k_s K-квантизация 4 бита, маленькая
q4_k_m K-квантизация 4 бита, средняя (рекомендуется)
q5_k_s K-квантизация 5 бита, маленькая
q5_k_m K-квантизация 5 бита, средняя
q6_k K-квантизация 6 бит

Поддерживаемые архитектуры

Архитектура Hugging Face GGUF
LlamaForCausalLM LLAMA
MistralForCausalLM LLAMA
MixtralForCausalLM LLAMA
Qwen2ForCausalLM QWEN2
Qwen3ForCausalLM QWEN3
GemmaForCausalLM GEMMA
Gemma2ForCausalLM GEMMA2
Gemma3ForCausalLM GEMMA3
Phi3ForCausalLM PHI3
GPTNeoXForCausalLM GPTNEOX
StableLmForCausalLM STABLELM
FalconForCausalLM FALCON

Структура проекта

· init.py - Инициализация пакета
· cli.py - CLI интерфейс
· hf_downloader.py - Скачивание с Hugging Face
· pure_safetensors.py - Чтение safetensors через mmap
· tensor_source.py - Ленивая загрузка тензоров
· arch_map.py - Маппинг архитектур
· utils.py - Утилиты
· gguf_convert.py - Конвертация в GGUF

Требования

· Python 3.8+
· gguf >= 0.10.0
· numpy >= 1.24.0

Для скачивания моделей с Hugging Face не требуется huggingface_hub.

Примеры

Конвертация Phi-2 с квантизацией q4_k_m:

```bash
quovantiq --hf microsoft/phi-2 phi-2-q4.gguf q4_k_m
```

Конвертация Qwen3 для русского языка:

```bash
quovantiq --hf Lev384501/qwen3-0.6b-russian-dialogues qwen-russian.gguf q4_k_m
```

Конвертация с отладочным выводом:

```bash
quovantiq --hf microsoft/phi-2 model.gguf --verbose
```

Известные ограничения

· MoE архитектуры (Mixtral, QwenMoE) требуют специальной обработки экспертов
· SSM архитектуры (Mamba) не поддерживаются
· Для некоторых моделей может потребоваться ручное добавление архитектуры в arch_map.py

Лицензия

MIT

Вклад в проект

Приветствуются pull request'ы. Основные направления для развития:

· Добавление новых архитектур
· Улучшение производительности
· Поддержка дополнительных типов квантизации
· Добавление тестов
