Этот практический курс от freeCodeCamp.org посвящен созданию интегрированных ИИ-систем, выходящих за рамки простых чат-ботов. В центре внимания две ключевые технологии: RAG (Retrieval-Augmented Generation — генерация с дополненной выборкой) и MCP (Model Context Protocol). Ведущий курса объясняет, как RAG позволяет моделям работать с вашими частными данными, а MCP — координировать действия между различными программными компонентами.
🧠 Основы RAG: Когда «памяти» модели недостаточно 0:00
Большие языковые модели (LLM), такие как ChatGPT, ограничены данными, на которых они обучались. Если спросить модель о внутреннем регламенте вашей компании, она либо выдаст общую информацию, либо начнет галлюцинировать . Простейший способ решить это вручную: скопировать нужный документ и вставить его в промпт. Это и есть суть RAG в миниатюре .
Полноценная RAG-система автоматизирует этот процесс и состоит из трех этапов:
- Retrieval (Поиск): Система сама находит релевантные фрагменты в базе документов.
- Augmentation (Дополнение): Найденная информация добавляется в запрос к ИИ.
- Generation (Генерация): Модель выдает точный ответ, опираясь на предоставленный контекст .
Когда использовать RAG, а когда — Fine-tuning?
Многие ошибочно полагают, что для «обучения» модели новым знаниям нужно дообучение (Fine-tuning). Ведущий приводит четкое разграничение:
- Fine-tuning идеален для изменения стиля общения, тона или следования специфическому формату (например, заставить бота говорить как шотландский CEO) .
- RAG необходим для работы с динамическими фактами. Дообучение слишком дорогое, медленное и не дает ссылок на источники. RAG же позволяет обновлять информацию мгновенно, просто добавив новый файл в базу .
🔍 Механика поиска: От ключевых слов к смыслам 8:27
Чтобы система нашла нужный документ, используются два подхода: ключевой поиск и семантический поиск.
Традиционный поиск (Keyword Search)
Самые популярные методы здесь — TF-IDF и BM25 . Они подсчитывают частоту слов в документах.
- Плюс: Точно находит конкретные термины (например, артикул товара).
- Минус: Полный провал, если пользователь использует синонимы. Если в документе написано «reimbursement» (возмещение), а пользователь ищет «allowance» (выплата), классический поиск ничего не найдет .
Семантический поиск и эмбеддинги
Семантический поиск понимает смысл. Это становится возможным благодаря эмбеддингам — преобразованию текста в математические векторы (наборы чисел) в многомерном пространстве .
Для этого используются специализированные модели, такие как all-miniLM-L6-v2. В отличие от гигантской GPT-4 с её 1,8 трлн параметров, эта модель имеет всего 22 млн параметров и весит около 90 МБ . Это позволяет запускать её локально на ноутбуке для мгновенного превращения текстов в координаты. Похожие по смыслу фразы («собаки в офисе» и «домашние животные на работе») в этом пространстве будут находиться близко друг к другу .
🗄️ Векторные базы данных и искусство чанкинга 30:58
Когда документов тысячи, сравнивать запрос с каждым из них слишком долго. Векторные базы данных (Chroma, Pinecone, Weaviate) решают эту проблему с помощью индексации, например алгоритма HNSW . Он организует векторы в «соседства», позволяя искать только среди похожих объектов .
Проблема «длинных документов» (Chunking)
Нельзя загрузить 50-страничный справочник целиком: ответ будет слишком размытым . Документы нужно разбивать на части — чанки.
- Оптимальный размер: 200–500 символов .
- Наложение (Overlap): Конец одного чанка должен дублировать начало следующего (обычно на 50–100 символов), чтобы не потерять контекст на месте разрыва предложения .
🛠️ MCP: Универсальный разъем для ИИ 59:40
Model Context Protocol (MCP) — это новый открытый стандарт, предложенный для решения проблемы «зоопарка» API. Раньше для каждого сервиса (Google Drive, Slack, GitHub) приходилось писать уникальный код интеграции . MCP унифицирует это взаимодействие.
Архитектура MCP
Система работает по принципу «клиент-сервер»:
- MCP Server: Предоставляет ресурсы (данные), инструменты (функции, которые можно вызвать) и промпты (шаблоны запросов) .
- MCP Client: Это может быть IDE (Cursor, VS Code) или ИИ-агент, который подключается к серверу .
- Транспорт: Обмен данными идет через JSON-RPC по протоколам HTTP или Standard IO .
Почему это важно для агентов?
ИИ-агенты — это скрипты, которые могут «думать» и принимать решения в цикле . MCP дает им «руки» для взаимодействия с внешним миром. Например, агент через MCP-сервер Stripe может анализировать транзакции, а через сервер GitHub — изучать историю коммитов, объединяя эту информацию для решения бизнес-задач .
🚀 Продакшн: Кэширование и мониторинг 52:54
RAG-системы в реальных условиях могут работать медленно (до 1 секунды на запрос). Чтобы этого избежать, ведущий рекомендует внедрять кэширование на четырех уровнях:
- Query Cache: Сохранение пар «вопрос-ответ».
- Embedding Cache: Чтобы не пересчитывать векторы для одних и тех же слов.
- Vector Search Cache: Результаты поиска в базе.
- LLM Response Cache: Самый дорогой и эффективный уровень .
Для мониторинга используются классические IT-инструменты: Prometheus для метрик, Grafana для дашбордов и ELK-стек для логов . Важно отслеживать не только общую скорость, но и специфические метрики, такие как качество выборки (retrieval quality) .