Files
ModelHub XC d1ecf2b46a 初始化项目,由ModelHub XC社区提供模型
Model: kertpoli/lua-coder-qwen25-3b-gguf
Source: Original Platform
2026-05-25 23:47:24 +08:00

120 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
language:
- en
- ru
license: apache-2.0
base_model: Qwen/Qwen2.5-Coder-3B-Instruct
tags:
- lua
- code
- code-review
- gguf
- qwen2
library_name: llama-cpp-python
pipeline_tag: text-generation
---
# Lua Coder — Qwen 2.5 Coder 3B (GGUF)
Модель для написания, ревью и объяснения Lua-кода. Обучена на базе Qwen 2.5 Coder 3B Instruct с использованием QLoRA файнтюнинга.
## Возможности
- **Написание кода** — генерация Lua-функций, модулей, структур данных
- **Код-ревью** — анализ кода с выявлением багов (SQL injection, утечки переменных, проблемы производительности)
- **Агентское поведение** — задаёт 1-2 уточняющих вопроса перед написанием, если задача неоднозначная
- **Объяснение кода** — разбор сложного Lua-кода с пояснениями
## Примеры
**Написание кода:**
```
Запрос: Write a Lua event system with on, off, and emit methods.
Ответ:
local Event = {listeners = {}}
function Event:on(name, fn)
self.listeners[name] = self.listeners[name] or {}
table.insert(self.listeners[name], fn)
end
function Event:emit(name, ...)
for _, fn in ipairs(self.listeners[name] or {}) do fn(...) end
end
return Event
```
**Код-ревью:**
```
Запрос: Review this Lua code (SQL query with string concatenation)
Ответ: SQL Injection — используйте параметризованные запросы. Stale cache — очищайте кэш при ошибке.
```
**Агентское поведение:**
```
Запрос: I need a Lua save system for my game.
Ответ: Before I write the code, I have a couple questions:
1. Are you saving data to a file or a database?
2. Do you need to handle encryption for sensitive information?
```
## Параметры обучения
| Параметр | Значение |
|----------|----------|
| Базовая модель | Qwen 2.5 Coder 3B Instruct |
| Метод | QLoRA (4-bit) |
| LoRA rank | 128 |
| LoRA alpha | 256 |
| Learning rate | 8e-5 |
| Эпох | 3 |
| Оптимизатор | AdamW 8-bit |
| Квантизация GGUF | Q8_0 |
## Оптимизация
Гиперпараметры подобраны с помощью автоматизированного поиска (50 экспериментов). Лучшая конфигурация выбрана по минимальному val_loss.
## Использование
### Ollama
```bash
ollama run hf.co/kertpoli/lua-coder-qwen25-3b-gguf
```
### llama.cpp
```bash
./llama-server -m lua-coder-q8_0.gguf -ngl 99 -c 1024 --port 8091
```
### Python (llama-cpp-python)
```python
from llama_cpp import Llama
llm = Llama(model_path="lua-coder-q8_0.gguf", n_gpu_layers=-1, n_ctx=1024)
result = llm.create_chat_completion(
messages=[{"role": "user", "content": "Write a Lua stack with push and pop"}],
max_tokens=200,
temperature=0.3,
)
print(result["choices"][0]["message"]["content"])
```
## Темы обучения
Модель обучена на примерах из следующих областей:
- Структуры данных (стеки, очереди, деревья)
- Игровые механики (ECS, state machine, collision)
- Утилиты (event system, config loader, object pool)
- Love2D, Roblox, OpenResty, Neovim
- Metatables, coroutines, closures
## Требования
| Формат | Размер | VRAM (GPU) | RAM (CPU) |
|--------|--------|------------|-----------|
| Q8_0 | 3.1 ГБ | 4 ГБ | 4 ГБ |
## Лицензия
Apache 2.0 (наследуется от Qwen 2.5 Coder)