RAG за 3 часа на 2млн токенов из телеграм канала?
Легко!
На основе комьюнити чата и с разрешения владельца канала
Канал
@llm_under_hood!
🚀 Чат канала
@llm_driven_productsНиже расскажу как 3-4 часа упаковал всю базу знаний канала и группы в векторное пространство и сделал действительно рабочую базу знаний.
При разработке отошел от классических подходов построения RAG для энтерпрайза - главный челлендж был в том, как превратить живое общение в структурированную базу знаний и сохранить контекст диалогов через parent_id.
Самое главное для меня что я уже получил положительные отзывы, так как люди получают ответы на ЧАВО из тематики канала.
ОБЩАЯ СТАТИСТИКА:
• Всего сообщений: 25,852
• Общий объём в токенах: 1,820,174
• Среднее токенов на сообщение: 70.41
Архитектура поиска:
• 4 связанные коллекции в Milvus:
- Посты канала (778)
- Ответы на посты (2,702) → связь через parent_post_id
- Комментарии (6,517)
- Ответы на комментарии (12,653) → связь через parent_comment_id
• Гибридный поиск:
- Векторный (semantic) через multilingual-e5-large
- Полнотекстовый с ранжированием
- Объединение результатов с учетом parent_id для сохранения контекста
• REST API на FastAPI со Swagger документацией
• Хостинг на Яндекс Облаке
Предобработка данных:
• ~2,000 сообщений до 10 токенов отфильтрованы как шум
• LLM-разметка по типам:
- Технические уточнения (~20%)
- Ссылки (~10%)
- Конкретные вопросы (~15%)
• Сохранение коротких сообщений с упоминанием технологий
• Обработка parent_id для связности диалогов
В планах:
• Собрать аналогичных ботов для других русскоязычных LLM-сообществ
• Объединить всю практику в единый RAG-engine
• Поделиться опытом очистки и структурирования диалогов из Telegram и созданием такого бота в live стриме на своем канале
Попробовать бота можно тут:
@llm_driven_products_botПрисоединяйтесь к тестированию!
🤖P.S. Отдельное спасибо
@llm_under_hood за крутой контент, который позволил собрать такую базу знаний!