Update todolist
This commit is contained in:
parent
142580cd96
commit
3ea1cd3066
1 changed files with 64 additions and 0 deletions
64
doc/todo_people.md
Normal file
64
doc/todo_people.md
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
Для того чтобы раскидать задачи между тремя людьми, я распределю их по сложности и приоритету.
|
||||
|
||||
### Человек 1 (Основной фокус на поиске):
|
||||
|
||||
#### `search/main.py`
|
||||
|
||||
* **P0**: Переключить основной query на `question.search_text` с fallback на `question.text`
|
||||
* **P0**: Подключить `question.variants` как дополнительные query-варианты
|
||||
* **P0**: Подключить `question.hyde` как дополнительные dense-запросы
|
||||
* **P0**: Подключить `question.keywords` как основу для sparse-запросов
|
||||
* **P0**: Перестать терять retrieval-кандидатов после rerank
|
||||
* **P0**: Дедуплицировать `message_ids` перед ответом
|
||||
* **P0**: Ограничить финальную выдачу до `top-50`
|
||||
* **P0**: Агрегировать score по `message_id`
|
||||
* **P2**: Использовать `entities.people` и `entities.emails` для boost или фильтрации
|
||||
* **P2**: Использовать `entities.documents`, `entities.names`, `entities.links` для lexical boost
|
||||
* **P2**: Использовать `date_range` для фильтрации по `metadata.start` и `metadata.end`
|
||||
* **P2**: Использовать `contains_quote` и `contains_forward` как сигналы ранжирования
|
||||
* **P2**: Добавить multi-query fusion в `Qdrant`
|
||||
* **P2**: Подобрать `prefetch`, `retrieve_k`, `rerank_limit`
|
||||
* **P3**: Добавить retry и timeout политику для dense/rerank HTTP вызовов
|
||||
|
||||
---
|
||||
|
||||
### Человек 2 (Основной фокус на индексации и разметке):
|
||||
|
||||
#### `index/main.py`
|
||||
|
||||
* **P1**: Перейти с символьного chunking на chunking по сообщениям
|
||||
* **P1**: Учитывать time gap при сборке чанков
|
||||
* **P1**: Маркировать в тексте `quote`, `forward`, автора сообщения и автора цитаты
|
||||
* **P1**: Развести `page_content`, `dense_content`, `sparse_content`
|
||||
* **P1**: Материализовать `sender_id` и `mentions` в индексируемый текст
|
||||
* **P1**: Разбирать `file_snippets` и вытаскивать имя файла, mime и url
|
||||
* **P1**: Разбирать `member_event` и превращать его в индексируемый текст
|
||||
|
||||
#### `index/requirements.txt` и/или `search/requirements.txt`
|
||||
|
||||
* **P4**: Добавить `razdel`
|
||||
* **P4**: Добавить `pymorphy3`
|
||||
* **P4**: Добавить `rapidfuzz`
|
||||
|
||||
---
|
||||
|
||||
### Человек 3 (Основной фокус на Docker и зависимостях):
|
||||
|
||||
#### `docker-compose.yml`
|
||||
|
||||
* **P3**: Привести локальный `docker-compose.yml` к схеме с `API_KEY`
|
||||
* **P3**: Добавить `--platform linux/amd64` в сборку образов
|
||||
|
||||
#### `doc/` (новый файл с регрессионными вопросами)
|
||||
|
||||
* **P3**: Зафиксировать набор локальных тестовых вопросов для проверки регрессий
|
||||
|
||||
#### `search/requirements.txt`
|
||||
|
||||
* **P4**: Добавить `python-dateutil` или `dateparser`
|
||||
* **P4**: Добавить `tenacity`
|
||||
|
||||
---
|
||||
|
||||
Таким образом, задачи равномерно распределены по 3 участникам с учётом сложности и области фокуса.
|
||||
|
||||
Loading…
Reference in a new issue