mirror of
https://gitverse.ru/kpa39l/vesti.git
synced 2026-09-29 09:55:03 +00:00
30 lines
2.1 KiB
Markdown
30 lines
2.1 KiB
Markdown
## Purpose
|
|
|
|
Классификация постов по направлениям локальным LLM + словарный фильтр. Дополняется
|
|
приоритетом «своего контента» и поддержкой мультинаправлений для fan-out.
|
|
|
|
## ADDED Requirements
|
|
|
|
### Requirement: Приоритет своего контента
|
|
Классификатор MUST обрабатывать посты с `is_own=1` как «сильные кандидаты»: при наличии
|
|
направления по словарю — relevance=critical, classified=True — даже если LLM недоступна
|
|
(фолбэк без LLM, пост не теряется). Для внешних постов поведение без изменений.
|
|
|
|
#### Scenario: Свой пост, LLM недоступна
|
|
- **WHEN** пост is_own=1, словарь дал направление, но Ollama недоступна
|
|
- **THEN** пост получает direction (словарь), relevance=critical, classified=True,
|
|
method='dict-own' (не требует LLM)
|
|
|
|
#### Scenario: Свой пост без направления по словарю
|
|
- **WHEN** пост is_own=1, словарь не дал направление
|
|
- **THEN** классификации нет (classified=False) до LLM; пост не теряется (остаётся в очереди)
|
|
|
|
### Requirement: Мультинаправления
|
|
Классификатор MUST уметь возвращать несколько направлений для поста (для маппинга fan-out);
|
|
основное направление хранится в posts.direction, дополнительные — в classifications
|
|
(таблица уже позволяет несколько классификаций на пост).
|
|
|
|
#### Scenario: Пост про Linux + AI
|
|
- **WHEN** пост упоминает и линукс, и нейросети
|
|
- **THEN** в classifications может быть несколько записей (linux, ai); fan-out использует
|
|
оба при подтверждении |