Перейти к содержанию

Шаг 2 из 4 · Видео · 32 минуты

Собери RAG для ответов по своим документам

Пройди путь от подготовки фрагментов и поиска до ответа с источником; разберись с примером на JavaScript, локальными файлами в Cursor и выбором стратегии.

Главное из видео

  1. RAG ищет нужные сведения в своих документах и передаёт найденные фрагменты модели вместе с вопросом; веса модели при этом не меняются.
  2. Документы нужно очистить, разделить на осмысленные фрагменты и сохранить текст с идентификаторами источников; векторный поиск помогает находить близкие по смыслу формулировки.
  3. Базовый цикл из ролика: загрузить фрагменты, найти подходящие, собрать контекст и получить ответ; качество поиска нужно проверять до оценки ответа модели.
  4. JavaScript с Chroma показывает этот цикл в коде, а локальный MCP в Cursor даёт агенту доступ к документам и примерам из своих проектов.
  5. Реранжирование, несколько запросов, контекстные фрагменты и другие стратегии стоит добавлять под измеренную ошибку поиска, а не все сразу.

Обновлено 30 сентября 2026 г.

Материалы к шагу

Навигация по видео

Выбери главу: видео выше начнётся с нужного момента.

Пойми, что добавляет RAG

В примере автора модель отвечает на вопрос о политике удалённой работы компании. Без внутреннего документа у неё нет основания для точного ответа. RAG находит подходящий фрагмент и помещает его вместе с вопросом в запрос к модели. Это дополнение контекста во время ответа, а не обучение модели на файлах. Модель видит найденные фрагменты, а не всю базу знаний сразу.

Подготовь небольшой набор знаний

  • Выбери документы, которые можно использовать для этой задачи, и назначь ответственного за их актуальность.
  • Удали мусор извлечения из PDF или HTML, но сохрани заголовки и важные условия.
  • Раздели текст по смысловым границам; у каждого фрагмента оставь ID, название документа и место в нём.
  • Подготовь вопросы с известными ответами, перефразированный вопрос и вопрос без ответа в источниках.
  • Реши, как система покажет основание ответа и что скажет, если подтверждения не нашлось.

Минимальный цикл RAG — схема, не готовый SDK

Подготовка: документы → очистка → смысловые фрагменты с ID и источником → индекс поиска.
Запрос: вопрос → поиск подходящих фрагментов → проверка их релевантности.
Ответ: вопрос + тексты найденных фрагментов → модель → ответ с указанием источника.
Если подходящего фрагмента нет: сообщить, что данных для ответа недостаточно.

Повтори пример на JavaScript

В ролике автор кладёт короткие правила компании в коллекцию Chroma, ищет фрагменты по вопросу и добавляет найденный текст в запрос к языковой модели. Для своего прототипа начни с нескольких коротких документов: сохрани и текст, и ID источника, выведи результаты поиска до вызова модели, затем сравни ответ с первоисточником. Эмбеддинги помогают искать по смыслу; для точных названий, кодов ошибок и формулировок проверь также поиск по словам. Размер фрагмента подбирай по результатам проверки, а не по одному числу из примера.

Подключи локальные файлы в Cursor, если нужен доступ агенту

Автор показывает отдельный путь: локальный сервер MCP открывает агенту Cursor поиск по PDF и примерам кода. Укажи только разрешённую папку, проверь, какие инструменты появились, и задай вопрос, ответ на который есть в конкретном файле. Посмотри, какой документ найден и совпадает ли ответ с ним. MCP здесь соединяет Cursor с поиском; сам RAG может работать и без MCP. Точные команды установки стороннего сервера в транскрипте неразборчивы, поэтому сверяй настройку с документацией выбранного сервера.

Запрос для проверки локального поиска

Найди в подключённых документах ответ на вопрос: [вопрос по моему проекту]. Укажи название файла и конкретный фрагмент, на котором основан ответ. Если такого фрагмента нет, сообщи, что документов недостаточно. Не опирайся на общие знания для ответа о моём проекте.

Выбирай усложнение по ошибке поиска

  • Нужный фрагмент найден, но оказался ниже лишних — попробуй реранжирование.
  • Запрос короткий или двусмысленный — сравни расширение запроса и несколько вариантов вопроса.
  • Фрагмент потерял название раздела или связь с целым документом — проверь контекстное, смысловое или иерархическое разбиение; для больших блоков возможен late chunking.
  • Ответ зависит от связей между сущностями — оцени граф знаний; если путь поиска меняется от задачи к задаче, оцени агентный выбор поиска.
  • Контекст или ответ часто не выдерживает проверку — добавь проверку основания и повторный поиск; специализированные эмбеддинги сравни с базовыми на своих вопросах.

Карточка проверки одного вопроса

Вопрос и ожидаемый ответ: 
Какие фрагменты нашёл поиск (ID, документ, раздел): 
Есть ли в них точное основание для ответа: 
Ответ модели и указанный источник: 
Ошибка поиска или ошибка генерации: 
Что изменю и как сравню результат: 

Попробуй на своей задаче

Собери или настрой небольшой RAG на разрешённых документах своего проекта. Очисти и раздели документы на фрагменты с указанием источника, запусти поиск и ответ на три вопроса: прямой, перефразированный и без подтверждения в базе. Зафиксируй найденные фрагменты и сравни ответы с ними. Затем выбери одну ошибку поиска и предложи только одно улучшение из ролика.

Как понять, что готово

Для двух подтверждаемых вопросов показаны ID найденных фрагментов, документы и ответы с верным основанием; на вопрос без основания система сообщает о нехватке данных. Отдельно указано, произошла ли ошибка на этапе поиска или генерации, и по какому наблюдаемому результату будет оценено одно улучшение.

Отметь шаг после собственной проверки.

Следующий шагРазложи agent loop на проверяемые шаги

Что дальше

Посмотри, как устроен агент на TypeScript

Продолжи с бесплатным уроком «От AI-кодинга к AI-инженерии». На странице урока можно получить доступ через существующую форму регистрации.

Или выбрать другой бесплатный маршрут →