Урок 05. Экосистема LangChain и PromptHub
⚡ Кратко: LangChain и PromptHub
Когда приложение сложнее «отправил промпт — получил ответ», нужны инструменты-оркестраторы. LangChain — фреймворк-конструктор для сборки цепочек (chains) обработки данных вокруг LLM. PromptHub — платформа для хранения, версионирования и совместной работы над промптами.
- LLM = двигатель, LangChain = инструменты управления им, PromptHub = управление «топливом» (промптами).
- Цепочка (Chain) — последовательность операций: промпт → LLM → обработка → внешний инструмент.
- Компоненты: Models (LLM-провайдеры), Prompts (шаблоны), Chains (LLMChain, SequentialChain, RouterChain).
- Интеграция с данными: Document Loaders (PDF, web, CSV) + Vector Stores (FAISS, Chroma, Pinecone) → «вопрос-ответ по документам».
- PromptHub ≈ Git для промптов: версии, история, откат, командная работа.
# chain.py — простая цепочка: промпт → LLM → текст (современный LCEL-синтаксис)
from langchain_core.prompts import ChatPromptTemplate
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_core.output_parsers import StrOutputParser
llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash")
prompt = ChatPromptTemplate.from_template("Кратко изложи: {text}")
chain = prompt | llm | StrOutputParser() # | — оператор сборки цепочки (pipe)
print(chain.invoke({"text": "..."}))
📖 О чём этот урок
В уроках 03–04 мы вручную отправляли промпты, обрабатывали ответы, считали эмбеддинги и строили поиск через FAISS. Как только приложение усложняется — несколько шагов, обращение к внешним данным, выбор инструмента под задачу — писать всё «руками» становится громоздко. Сегодня знакомимся с двумя инструментами, которые упрощают разработку LLM-приложений: LangChain (оркестрация: цепочки, модели, интеграция с данными) и PromptHub (управление промптами: версии, командная работа).
Аналогия из лекции. LLM — это мощный двигатель. Чтобы построить на его основе «автомобиль» (полезное приложение), нужны инструменты управления двигателем и соединения его с другими частями — это LangChain. А промпты — «топливо»; управлять им помогает PromptHub.
Что изучим
- Зачем нужны фреймворки поверх LLM и что такое цепочка (Chain)
- Основные компоненты LangChain: Models, Prompts, Chains
- Современный синтаксис цепочек — LCEL (оператор
|) вместо устаревшегоLLMChain - Интеграция с внешними данными: Document Loaders и Vector Stores
- Цепочка «вопрос-ответ по документам» (основа RAG — подробно в уроке 09)
- PromptHub: хранение, версионирование и совместная работа над промптами
📚 Что повторить перед изучением
- ← Урок 04: эмбеддинги, векторы, семантический поиск, FAISS
- Урок 03: клиент Gemini, хранение ключа в
.env - Python: функции, установка пакетов через
pip, основыasync/await(для примера с PDF) - Установленные
langchain,langchain-google-genai,langchain-community; ключ Gemini