Мой первый RAG без LangChain

net0pyr 8 минут назад Мой первый RAG без LangChain Средний 9 мин 127 Блог компании RUVDS.com Искусственный интеллект Машинное обучение * Python * Natural Language Processing * Роадмэп GPT-5.6 и Opus ищут, как подключить...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Значимый прорыв формирует отрасль ИИ: net0pyr 8 минут назад Мой первый RAG без LangChain Средний 9 мин 127 Блог компании RUVDS. com Искусственный интеллект Машинное обучение * Python * Natural Language Processing * Роадмэп GPT-5. 6 и Opus ищут, как подключить принтер в розеткуВ наши дни все, кому было интересно, уже попробовали RAG, я в том числе.
И стандартная схема тривиальна: цепляем LangChain, три импорта, . from_documents() — и бот с базой знаний готов. Мой первый опыт был такой же, и это даже заработало за один вечер.
Технические детали
Но как это поддерживать? А что случится, если всё полетит? Пять слоёв абстракции, и я без понятия, что происходит на любом из них.
Поэтому я решил повторить свой эксперимент с контейнерами: отбросил все слои и переписал вручную на Python. В этой статье я хочу рассказать о том, что я смог узнать о RAG, с какими подводными камнями столкнулся и как будет выглядеть итоговый продукт. По сути, языковая модель — это архив данных, сжатый в виде весов.
Она знает всё, что было в датасете, на котором она обучалась, и ничего более. Это выливается в 3 проблемы, с которыми пользователи сталкиваются в процессе решения реальных задач:Нехватка знаний: модель не знает о том, что произошло после обучения, а что ещё хуже, она не догадывается о том, что ничего не знает. Внутренние политики, заявки, спецификации, история — ничего из этого нет в её собственной базе знаний и никогда там не окажется.
Отраслевые последствия
Галлюцинации: модель не умеет говорить: «я не знаю», она всегда пытается угадать, через веса определяя самый вероятный вариант. Никаких ссылок: она основывается на своих знаниях и не знает, чем именно они подкреплены, поэтому чёткого подтверждения вы не получите. Ну и есть ещё одна специфическая проблема, которая в определённых сценариях может стрельнуть: нет никаких ограничений доступа.
Если модель что-то знает, то она выдаст это любому, кто запросит. RAG (Retrieval-Augmented Generation) решает все эти проблемы без взаимодействия с весами модели. Идея была представлена в работе Lewis et al.
(FAIR, NeurIPS 2020, arXiv:2005. 11401), и она безумно проста: прежде чем отвечать, ты должен поискать, выделить и приложить нужные фрагменты информации в промт. У меня есть хорошая аналогия с инженером на заводе в закрытом контуре.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.






