Retrieval Augmented Generation (RAG)
Изучи, как генерация с дополнением извлечением (RAG) оптимизирует LLM с помощью данных в реальном времени. Узнай, как создавать мультимодальные конвейеры, используя Ultralytics YOLO26 для визуального RAG.
Retrieval Augmented Generation (RAG) — это передовой метод в области искусственного интеллекта, который оптимизирует выходные данные Large Language Model (LLM), обращаясь к авторитетной базе знаний за пределами его обучающих данных. Традиционные генеративные модели полагаются исключительно на статическую информацию, полученную во время их первоначального обучения, что может привести к устаревшим ответам или уверенным неточностям, известным как hallucinations. RAG устраняет этот разрыв, извлекая актуальную информацию из внешних источников — таких как базы данных компаний, текущие новости или технические руководства — и передавая её модели в качестве контекста перед генерацией ответа. Этот процесс гарантирует, что ответы ИИ будут не только лингвистически связными, но и фактически точными, опирающимися на конкретные данные.
Link to this sectionКак работают системы RAG#
Архитектура системы RAG обычно включает две основные фазы: извлечение и генерацию. Этот рабочий процесс позволяет тебе поддерживать foundation model без необходимости дорогостоящего частого дообучения.
-
Извлечение (Retrieval): Когда ты отправляешь запрос, система сначала выполняет semantic search через специализированную систему хранения, называемую vector database. Эта база данных содержит данные, преобразованные в численные представления, известные как embeddings, что позволяет системе находить концептуально похожую информацию, а не просто сопоставлять ключевые слова.
-
Генерация (Generation): Соответствующие документы или фрагменты данных, найденные во время извлечения, объединяются с твоим исходным вопросом. Этот обогащенный промпт затем отправляется генеративной модели. Модель использует предоставленный контекст для синтеза ответа, гарантируя, что он опирается на извлеченные факты. Чтобы углубиться в детали работы, IBM предоставляет подробное руководство по рабочим процессам RAG.
Link to this sectionВизуальный RAG: Интеграция компьютерного зрения#
Хотя RAG традиционно основан на тексте, развитие multi-modal learning привело к появлению «визуального RAG». В этом сценарии модели computer vision выступают в качестве механизма извлечения. Они анализируют изображения или видеопотоки для извлечения структурированных текстовых данных — таких как названия объектов, их количество или действия, — которые затем передаются в LLM для ответа на вопросы о визуальной сцене.
Например, ты можешь использовать YOLO26 для обнаружения объектов на изображении и передать этот список текстовой модели для создания описательного отчета.
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."Link to this sectionРеальные приложения#
RAG трансформирует индустрии, позволяя AI agents безопасно получать доступ к проприетарным или актуальным данным.
- Корпоративные базы знаний: Компании используют RAG для создания внутренних чат-ботов, отвечающих на вопросы сотрудников о кадровой политике или технической документации. Подключая LLM к живому хранилищу документов, система избегает предоставления устаревшей информации. Подробнее о корпоративных внедрениях смотри в обзоре RAG в Vertex AI от Google Cloud.
- Поддержка принятия клинических решений: В AI in healthcare системы RAG могут извлекать историю болезни пациента и последние медицинские исследовательские работы, чтобы помочь врачам в диагностике, гарантируя, что рекомендации учитывают самые последние клинические исследования.
- Умные помощники в розничной торговле: Приложения, использующие AI in retail, применяют RAG для проверки баз данных складских запасов в реальном времени. Если клиент спрашивает чат-бота: «Есть ли у вас эти кроссовки 43-го размера?», модель извлекает текущие уровни запасов перед ответом, предотвращая разочарование из-за отсутствия товаров.
Link to this sectionRAG против дообучения (Fine-Tuning)#
Крайне важно различать RAG и fine-tuning, поскольку они решают разные задачи.
- RAG (Retrieval Augmented Generation): Лучше всего подходит для доступа к динамическим, часто меняющимся данным (например, курсы акций, новости) или к частным данным, отсутствующим в публичном наборе для обучения. Он фокусируется на предоставлении новой информации во время выполнения.
- Дообучение (Fine-Tuning): Лучше всего подходит для адаптации поведения, стиля или терминологии модели. Оно включает обновление model weights на конкретном наборе данных. Хотя дообучение помогает модели освоить специфический языковой паттерн (например, медицинский жаргон), оно не дает доступа к фактам в реальном времени. См. руководство OpenAI по сравнению дообучения и RAG для принятия решений.
Link to this sectionСвязанные концепции#
- LangChain: Популярный фреймворк с открытым исходным кодом, специально разработанный для упрощения создания приложений RAG путем связывания извлекателей (retrievers) и LLM.
- Knowledge Graph: Структурированный способ представления данных, который можно использовать в качестве источника для извлечения, предлагающий более богатые контекстные связи, чем простое векторное сходство.
- Prompt Engineering: Искусство создания входных данных для управления моделью. RAG — это, по сути, автоматизированная форма промпт-инжиниринга, где «промпт» программно обогащается извлеченными данными.
- Ultralytics Platform: В то время как RAG обрабатывает генерацию текста, подобные платформы необходимы для управления data preprocessing и обучения моделей компьютерного зрения, которые передают визуальные данные в мультимодальные конвейеры RAG.






