🚀 C3-Lite: Contextual Neural Autocomplete Engine
C3-Lite — компактная гибридная система предиктивного ввода и контекстного автодополнения текста (Next-Word / Word-Completion), объединяющая N-граммы (L1) и символьную 2×GRU нейросеть (L2) с аппаратной защитой от зацикливаний и синтаксического дрейфа.
- 📦 Hugging Face Репозиторий: longtimedevs/C3-Lite
- 🌐 Сайт разработчика: long-time.ru
- ⚖️ Лицензия: MIT
💡 Особенности и преимущества
- 🛡️ Hard Anti-Loop Guard: Полный запрет повторяющихся биграммных циклов ($A \to B \to A \to B$), триграммных петель и непосредственных дубликатов слов ($w_t \neq w_{t-1}$).
- 📐 Синтаксический контроль: Встроенная фильтрация грамматической несогласованности (блокировка связок вроде «a + plural», двух артиклей или предлогов подряд).
- 🧠 Долговременный контекст: Скрытое состояние нейросети $h_T$ аккумулирует предшествующий текст (до 512 символов), сохраняя связность темы на протяжении всего предложения.
- ⚡ Экстремальная легковесность: Вес всех артофактов модели на диске — всего ~15 МБ, задержка отклика — < 15 мс на CPU.
🏗️ Архитектура C3-Lite
[Контекст ввода пользователя (до 512 симв.)]
│
├───► L1: N-Grams (Top-140k 3-грамм, Top-70k 2-грамм)
│ └─► Быстрый отбор кандидатов с приоритетом живой речи
│
├───► L2: 2×GRU Neural Network (Embed=128, Hidden=512, ~3.6M params)
│ └─► Пакетная оценка беглости (fluency) от скрытого состояния h_T
│
▼
[Grammar Filter + Hard Anti-Loop Guard]
│
▼
[Top-3 кандидата без зацикливаний и смысловых сбоев]
🛠️ Быстрый старт
1. Установка зависимостей
pip install torch transformers safetensors
2. Загрузка и инференс через Transformers
import torch
from transformers import AutoModel, AutoTokenizer
REPO_ID = "longtimedevs/C3-Lite"
# Загрузка токенизатора и модели
tokenizer = AutoTokenizer.from_pretrained(REPO_ID, use_fast=False)
model = AutoModel.from_pretrained(REPO_ID)
model.eval()
# Подготовка контекста
context = "we are not "
input_ids = torch.tensor([[tokenizer.char_to_id.get(c, 1) for c in context]], dtype=torch.long)
with torch.no_grad():
outputs = model(input_ids)
logits = outputs.logits
print("Logits shape:", logits.shape)
3. Автономный запуск с клавиатурой Tkinter
Если вы используете монолитный скрипт c3_lite.py:
python c3_lite.py
Скрипт автоматически инициализирует движок и запустит темный графический интерфейс мобильной клавиатуры.
📊 Датасеты и обучение
Обучение проводилось с нуля на открытых корпусах:
- OPUS Tatoeba (RU/EN) — разговорные диалоги и бытовые фразы;
- wikitext-103-raw-v1 — связный английский корпус с очисткой от энциклопедического шума;
- atBuba/ruwiki-dataset — очищенные русскоязычные предложения.
👨💻 Автор
Разработка: LongTime
Официальный сайт проекта: long-time.ru
- Downloads last month
- -