vk_hackathon/doc/todo_people.md
2026-04-18 11:36:45 +03:00

3.5 KiB
Raw Permalink Blame History

Для того чтобы раскидать задачи между тремя людьми, я распределю их по сложности и приоритету.

Человек 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 участникам с учётом сложности и области фокуса.