В этой статье я расскажу о своём опыте создания RAG-системы с нуля за два месяца, используя корпус из более чем 20 книг. Я обсудю трудности, с которыми столкнулся при парсинге PDF-документов, создании эмбеддингов и работе с ретривером. Моя система была разработана без помощи LangChain, включая Tesseract, Pillow, MuPDF/Fitz и Qwen3:8B в роли LLM.
Как музыковед, я столкнулся с проблемами, связанными с отсутствием ссылок на источники и невоспроизводимостью ответов нейросетей. Мои усилия по обработке PDF открыли интересный мир эвристического подхода, позволяя создать эффективный сетевой парсер. Я реализовал токенизацию и создание эмбеддингов при помощи e5-multilingual, а также использовал FAISS и bm25 для оптимизации поиска и ранжирования. Наконец, была создана локальная LLM, которая интерпретирует источники. Результаты тестирования показали, что моя система успешно справляется с задачами, оставаясь более точной, чем аналогичные решения на основе GPT. Запуск системы с использованием RTX 4060 позволил обеспечить достойную производительность.
tasani.ru