ai: перевод абузных постов и саммари подборки (bot buttons, /sum, /tr, /api/summary, cache)
This commit is contained in:
23
README.md
23
README.md
@@ -209,6 +209,29 @@ python -m omni.bot
|
||||
Команды: `/new [N]`, `/abuse [тег]`, `/find <слово>`, `/src <слово>`, `/run <категория>`, `/add <url>`, `/stats`. Бот работает на той же базе и том же реестре, что панель; отвечает только id из `OMNI_BOT_ALLOW`.
|
||||
|
||||
|
||||
|
||||
## ИИ: перевод и саммари
|
||||
|
||||
Абузные площадки в основном не на русском: nodeloc (китайский), afflift и BHW (английский). Лента переводится на лету, подборка сворачивается в саммари — 3-5 пунктов, что раздают, платно или халява, где.
|
||||
|
||||
**Подключение.** Любой OpenAI-совместимый эндпоинт:
|
||||
|
||||
```bash
|
||||
set OMNI_AI_KEY=<ключ> # обязателен только для ИИ-функций
|
||||
set OMNI_AI_BASE=https://api.reformboss.com/v1
|
||||
set OMNI_AI_MODEL=gpt-6.1-sol # по умолчанию он же
|
||||
```
|
||||
|
||||
Если `OMNI_AI_KEY` не задан, `omni/ai.py` ищет ключ в конфиге Hermes (`custom_providers` с `reformboss` в `base_url`). Без ключа парсер работает как раньше: ИИ-функции молча выключаются, кнопки пишут «ИИ не подключён».
|
||||
|
||||
**В боте:** кнопки `ИИ-саммари`, `Перевод: вкл/выкл`, `Саммари в подписке: вкл/выкл`; команды `/sum [тег]`, `/tr <id|слово>`. Перевод включается на чат/канал: в канале можно держать русский формат, в личке — оригинал.
|
||||
|
||||
**Автопостинг.** Если для канала включено «саммари в подписке», бот перед списком новых абузов пишет ИИ-сводку, дальше 5 находок с переводом заголовков.
|
||||
|
||||
**В панели:** вкладка `Абузы` → кнопка `ИИ-саммари` (`GET /api/summary?tag=promo&limit=14`).
|
||||
|
||||
**Как это сделано:** `omni/ai.py`, только stdlib (`urllib`), ретраи с падением на `glm-5.3` и `qwen3.8-flash`, если основная модель отдала 503/429. Переводы и саммари кэшируются в таблице `ai_cache` по хешу текста — повторные прогоны не тратят токены. Ключи не пишутся в репозиторий и не логируются.
|
||||
|
||||
## Что нужно подключить
|
||||
|
||||
1. **Python 3.11+** и зависимости: `pip install -r requirements.txt` (httpx, curl_cffi, bs4, lxml). Больше ничего не обязательно — база создаётся сама в `data/omni.sqlite3`.
|
||||
|
||||
Reference in New Issue
Block a user