Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Retrieval Augmented Generation (RAG)

RAG извлекает релевантные фрагменты из внешней базы знаний и добавляет их в промпт LLM, чтобы ответы опирались на актуальные, закрытые и цитируемые источники.

Генерация с дополнением за счёт поиска (RAG) — это метод, при котором большая языковая модель (LLM) отвечает на вопрос, используя фрагменты, полученные во время запроса из внешнего источника знаний и добавленные в запрос модели рядом с вопросом. Данные для обучения LLM ограничены датой отсечения и никогда не включали внутренние документы компании, поэтому без поиска модели либо не хватает фактов, либо она выдумывает правдоподобные сведения — это называют галлюцинацией. Название появилось в статье 2020 года Генерация с дополнением за счёт поиска для задач обработки естественного языка с интенсивным использованием знаний, написанной Патриком Льюисом и его коллегами из Facebook AI Research. В работе генератор BART, предварительно обученный на больших объёмах данных, сочетался с нейронным поисковым модулем, работающим с плотным векторным индексом Википедии, и достиг передовых результатов в трёх задачах ответов на вопросы открытого домена. Сегодня так называют любую систему, которая сначала ищет информацию, а затем генерирует ответ.

Как работает конвейер RAG#

RAG работает в два этапа. Индексирование выполняется заранее: документы разбиваются на фрагменты, например с помощью семантического разбиения на блоки, каждый фрагмент преобразуется в эмбеддинг, а векторы сохраняются в векторной базе данных. Во время запроса вопрос преобразуется в эмбеддинг той же моделью, векторный поиск возвращает ближайшие фрагменты, а система формирует запрос из инструкций, этих фрагментов и вопроса. Затем LLM формулирует ответ, опираясь на предоставленный текст, и может цитировать фрагмент, подтверждающий каждое утверждение.

В производственных системах к этому основному процессу добавляют дополнительные этапы. Гибридный поиск объединяет векторное сходство с поиском по ключевым словам, чтобы не пропустить точные термины, например номера деталей; переранжировщик упорядочивает лучших кандидатов с помощью более точной модели, а при контекстном поиске LLM добавляет к каждому фрагменту короткую заметку, указывающую на его место в документе, до индексирования. Такие компоненты объединены в инструментах вроде LangChain и LlamaIndex.

Этапы поиска и дополнения можно реализовать всего в нескольких строках Python с помощью библиотеки Sentence Transformers:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")

# Knowledge base: passages the LLM never saw during training
passages = [
    "Badge access to Building C requires a safety briefing completed within the last 12 months.",
    "The cafeteria in Building A serves breakfast from 7:00 to 9:30 on weekdays.",
    "Forklift operators must renew their certification every three years.",
]
passage_embeddings = model.encode(passages)

# Retrieve: embed the question and keep the most similar passage
question = "How often do I need to redo forklift training?"
scores = model.similarity(model.encode(question), passage_embeddings)[0]
context = passages[int(scores.argmax())]

# Augment: put the retrieved passage in the prompt the LLM will answer from
prompt = f"Answer using only this context.\nContext: {context}\nQuestion: {question}"
print(prompt)

В выводе будет запрос с фрагментом о сертификации на управление погрузчиком, который совпадает с вопросом по смыслу: вопрос касается повторного обучения, а фрагмент — продления сертификации. На такой запрос может ответить любая LLM, а фрагменты можно обновлять ежедневно без переобучения модели.

RAG, дообучение и длинный контекст#

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

Базовый подход расширяют несколько вариантов: GraphRAG выполняет поиск по графу знаний, агентный RAG позволяет агенту решать, когда и где искать, а мультимодальный RAG ищет не только текст, но и изображения, видео и аудио.

Где применяют RAG#

  • Корпоративные чат-боты: внутренние помощники отвечают на основе политик, вики и предыдущих обращений в поддержку и дают ссылку на абзац, из которого взят каждый ответ.
  • Поддержка клиентов: перед ответом помощники находят руководство именно для модели продукта клиента и историю его заказов.
  • Здравоохранение: клинические помощники находят актуальные рекомендации и справочники лекарств, поэтому ответы ссылаются на проверяемый источник, а не на память модели.

RAG также позволяет отвечать на вопросы о видео. LLM не может просматривать часы видеозаписей для каждого вопроса, поэтому сначала сочетание RAG с компьютерным зрением преобразует видеозаписи в доступные для поиска записи. Ultralytics YOLO26 в режиме отслеживания сообщает класс, рамку и постоянный идентификатор отслеживания каждого объекта в каждом кадре; конвейер сохраняет эти данные в виде строк, поэтому на вопрос «Сколько грузовиков сегодня утром заехало на док 3?» система находит соответствующие строки, а не видео.

Почему RAG даёт неверные ответы#

Сбой RAG может произойти на двух этапах. При сбое поиска фрагмент с ответом не попадает в запрос, потому что при разбиении на блоки его разделили, модель эмбеддингов не распознала синоним или фрагмент оказался сразу за пределами top-k; такой сбой оценивают по полноте при k на наборе тестовых вопросов. При сбое генерации нужный фрагмент попал в запрос, но модель его проигнорировала, неверно прочитала или ему противоречит. Библиотеки оценки, например Ragas, оценивают оба этапа: полноту контекста для поискового модуля и достоверность для генератора, то есть долю утверждений в ответе, подтверждённых найденным контекстом.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения