Большие языковые модели (LLM) обладают значительными возможностями по генерации текста, похожего на человеческий. Однако их база знаний, как правило, ограничена данными, на которых они были обучены. Это накладывает ограничения на доступ к информации в реальном времени, к внутренним данным компании или к узкоспециализированным сведениям.

Knowledge Retrieval (RAG, Retrieval-Augmented Generation) решает эту проблему. RAG позволяет LLM получать и интегрировать внешнюю, актуальную и контекстно-специфичную информацию, тем самым повышая точность, релевантность и фактическую обоснованность их ответов.

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

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

Обзор паттерна «Извлечение знаний» (RAG)

Паттерн Knowledge Retrieval (RAG) значительно расширяет возможности LLM, предоставляя им доступ к внешним источникам знаний перед генерацией ответа. Вместо того чтобы полагаться исключительно на внутренние, заранее обученные данные, RAG позволяет LLM «искать» информацию — так же, как человек может обратиться к книге или выполнить поиск в интернете. Этот процесс даёт моделям возможность предоставлять более точные, актуальные и проверяемые ответы.

Когда пользователь задаёт вопрос или даёт запрос системе ИИ с использованием RAG, запрос напрямую не отправляется в LLM. Сначала система обращается к внешнему источнику знаний — хорошо организованной библиотеке документов, баз данных или веб-страниц — для поиска релевантной информации. Этот поиск не ограничивается простым сопоставлением ключевых слов; это семантический поиск, понимающий намерение пользователя и смысл его слов. На этом этапе извлекаются наиболее подходящие фрагменты или «чанки» информации. Эти фрагменты затем «обогащают» исходный запрос, формируя более содержательный и информированный промпт. Наконец, расширенный промпт передаётся в LLM. Получив дополнительный контекст, модель может сгенерировать ответ, который будет не только плавным и естественным, но и фактически обоснованным на извлечённых данных.

Фреймворк RAG даёт несколько ключевых преимуществ:

Чтобы в полной мере понять, как работает RAG, важно разобраться в нескольких основных концепциях (см. рис. 1).

Эмбеддинги (Embeddings):

В контексте LLM эмбеддинги — это числовые представления текста (слов, фраз или целых документов). Они выражаются в виде вектора, то есть списка чисел. Основная идея заключается в том, чтобы зафиксировать семантический смысл и отношения между разными текстовыми элементами в математическом пространстве. Слова или выражения с похожим значением будут иметь эмбеддинги, расположенные близко друг к другу в этом векторном пространстве.

Например, представьте простую 2D-плоскость: слово «cat» может быть представлено координатами (2, 3), а «kitten» окажется рядом — (2.1, 3.1). В то же время слово «car» будет находиться далеко — (8, 1), что отражает другое значение. В реальности эмбеддинги существуют в пространстве с сотнями или даже тысячами измерений, что позволяет достичь очень тонкого понимания языка.

Сходство текста (Text Similarity):

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

Например: «What is the capital of France?» и «Which city is the capital of France?». Несмотря на разное формулирование, оба предложения задают один и тот же вопрос. Хорошая модель текстового сходства распознает это и присвоит высокую степень сходства данным предложениям, даже если совпадают только отдельные слова. Часто это вычисляется на основе эмбеддингов текстов.

Семантическое сходство и дистанция (Semantic Similarity and Distance):