
Science‑purpose‑RAG: туда и обратно
Cartienj 4 минуты назад Science‑purpose‑RAG: туда и обратно Средний 9 мин 165 Big Data * Python * SQLite * Ретроспектива Из песочницы TLDRЯ хотел написать маленький локальный RAG для научных статей: графы, hybrid...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. Cartienj 4 минуты назад Science‑purpose‑RAG: туда и обратно Средний 9 мин 165 Big Data * Python * SQLite * Ретроспектива Из песочницы TLDRЯ хотел написать маленький локальный RAG для научных статей: графы, hybrid search, HyDE, reranker, всё красиво. В итоге Full Pipeline проиграл почти всем простым baseline’ам, графы начали портить контекст, HyDE вредил, а локальная LLM уверенно делала вид, что всё хорошо. Потом я разобрался, что ломалось, выкинул лишние LLM‑вызовы, починил trimming и получил систему, которая наконец начала выигрывать там, где должна.
Я начал писать с виду простенький проект: чуть‑чуть графов, чуть‑чуть retrieve, чуть‑чуть генерации и ждать ответ. Почему‑то я сразу решил сконцентрироваться на таком scientific‑purpose‑RAG, возможно желал облегчить себе студенческие годы, но тем не менее…ИдеяОна была проста и элегантна:Берем что‑то адекватного формата: (I)путь до pdf/md/docx/doc/pptx, (II)ссылку на что‑то познавательное (медиум, хабр), (III) ссылку на ютуб с нужной информацией. Обрабатываем everything2text.
Технические детали
Проводим шаманства, связанные с извлечением метаданных для графов. Режем на чанки, делаем overlap. Получаем ответ на проиндексированной базы.
Вот так выглядела моя мечта, но с одним небольшим добавлением: все должно было происходить локально. Выбор технологийПо сути я видел необходимость правильно выбрать ML‑сущности так, чтобы они адекватно исполняли свои функции, достаточно быстро работали на macmini m4 16gb unified memory. На первую итерацию проекта я взял:gemma4-4B-4bit — LLM движок, он давал около 80 ток/сек, занимался извлечением метаинформации из файлов, перефразировал вопрос, генерировал ответ, даже пытался делать Hypothetical Document Embedding.
wikineural‑multilingual‑ner — NER, чтобы извлекать поименованные сущности (авторы, институты и так далее). intfloat‑multilingual‑e5-base — эмбеддер, который нормально работает с русским и английским языком. А остальное, как я тогда думал, доберу по дороге.
Чего париться о мелочахКак понять, что мой baseline хорош? Идея была проста — накрутить конфиг так, чтобы на лету можно было отключать различные модули, посмотреть, что другие конфигурации действительно плохи и радоваться тому, что я оказался прав.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





