Экосистема: где LangChain среди RAG, промптов и API

Урок ставит LangChain в контекст знакомых тем: API LLM, промпты и RAG.

Оркестрация — соединение отдельных вызовов LLM, источников данных и инструментов в единый управляемый поток.

LangChain и прямое API LLM

В курсе про работу с API LLM вы дёргали модель напрямую через SDK провайдера. Это нижний уровень. LangChain не отменяет его, а оборачивает: под капотом всё равно идут те же HTTP-запросы. Разница в том, что вы пишете не «собери словарь сообщений и отправь», а «промпт | модель | парсер». Когда логика простая — прямое API проще. Когда появляется конвейер из шагов, прямое API превращается в клубок.

LangChain и промпт-инжиниринг

Промпт-инжиниринг — это искусство формулировать запрос. LangChain не заменяет его, а даёт инструменты: PromptTemplate для подстановки переменных, few-shot-шаблоны для примеров, парсеры для гарантии формата ответа. То есть хорошие промпты вы по-прежнему придумываете сами, а фреймворк помогает их переиспользовать и параметризовать.

LangChain и RAG

RAG (Retrieval-Augmented Generation) — подход, где модель отвечает, опираясь на найденные в базе документы. Вы изучали его идею и векторные базы отдельно. LangChain собирает RAG из готовых блоков: загрузчик документов → сплиттер → эмбеддинги → векторное хранилище → retriever → цепочка с моделью. Каждый блок мы разберём в этом курсе.

# Схема RAG-пайплайна в терминах LangChain
DocumentLoader > TextSplitter > Embeddings > VectorStore
                                                    |
                                                Retriever
                                                    |
                                  (вопрос + найденный контекст) > LLM > ответ

Как работает под капотом

LangChain — это «клей». Он не изобретает новых алгоритмов поиска или генерации: за эмбеддингами стоит модель эмбеддингов, за поиском — векторная БД, за генерацией — LLM. Ценность фреймворка в том, что у всех этих разнородных компонентов единый интерфейс, и их можно соединять, заменять и тестировать как кубики. Поэтому переход с одного векторного хранилища на другое или с одной модели на другую затрагивает одну строку, а не весь код.

Частые ошибки

  • Считать, что LangChain заменяет промптинг или RAG. Он их реализует и упорядочивает, но качество промптов и данных по-прежнему на вас.
  • Внедрять фреймворк до того, как поняли задачу. Сначала ясная архитектура потока, потом инструмент.

Итог

  • LangChain — слой оркестрации над уже знакомыми API LLM, промптами и RAG.
  • Прямое API — для простого, LangChain — для конвейеров и составных приложений.
  • Единый интерфейс компонентов делает их взаимозаменяемыми «кубиками».
Проверьте себя
1. Как LangChain соотносится с прямым вызовом API LLM?
AПолностью заменяет API и не использует его
BОборачивает те же вызовы в удобный конвейер из компонентов
CРаботает только с локальными моделями
DЗапрещает прямые HTTP-запросы
2. Что из перечисленного НЕ делает LangChain сам по себе?
AСоединяет загрузчик, сплиттер, эмбеддинги и retriever в RAG
BДелает качество ваших промптов и данных автоматически идеальным
CДаёт единый интерфейс для разных моделей
DПомогает переиспользовать промпт-шаблоны