Image

7 шагов к освоению генерации текста с использованием методов, расширяющих возможности поиска информации.

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

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

# Введение

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

В серии статей на эту тему, «Понимание RAG» , мы представили всесторонний обзор систем RAG, их характеристик, практических аспектов и проблем. Теперь мы обобщаем часть этих знаний и объединяем их с последними тенденциями и методами, чтобы описать семь ключевых шагов, которые считаются необходимыми для освоения разработки систем RAG.

Эти семь шагов связаны с различными этапами или компонентами среды RAG, как показано цифровыми обозначениями ([1] – [7]) на диаграмме ниже, которая иллюстрирует классическую архитектуру RAG:

7 шагов к освоению систем RAG
7 шагов к освоению систем RAG (см. пронумерованные пункты 1-7 и список ниже)

  1. Выберите и очистите источники данных.
  2. Разделение на части и дробление
  3. Встраивание/векторизация
  4. Заполнение баз данных векторов
  5. Векторизация запросов
  6. Получите соответствующий контекст.
  7. Сформулируйте обоснованный ответ.

# 1. Выбор и очистка источников данных

Принцип «мусор на входе — мусор на выходе» приобретает максимальное значение в RAG. Его ценность прямо пропорциональна релевантности, качеству и чистоте исходных текстовых данных, которые он может извлечь. Для обеспечения высокого качества баз знаний необходимо выявлять ценные хранилища данных и периодически проводить аудит баз. Перед загрузкой необработанных данных необходимо выполнить эффективную очистку с помощью надежных конвейеров, которые включают в себя такие важные шаги, как удаление персональных данных (PII), устранение дубликатов и обработка других «шумных» элементов. Это непрерывный инженерный процесс, который необходимо применять каждый раз при добавлении новых данных.

В этой статье вы можете получить общее представление о методах очистки данных.

# 2. Разделение и разбивка документов на части

Многие текстовые данные или документы, такие как романы или диссертации, слишком велики, чтобы их можно было объединить в один блок данных. Разделение на части (чанкинг) заключается в разбиении длинных текстов на более мелкие части, сохраняющие семантическую значимость и контекстную целостность. Это требует тщательного подхода: не слишком много частей (что может привести к потере контекста), но и не слишком мало — слишком большие части могут повлиять на дальнейший семантический поиск!

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

При сегментировании текста также может учитываться перекрытие частей документа для сохранения согласованности в процессе поиска. Для наглядности, вот как может выглядеть такое сегментирование для небольшого, игрушечного текста:

Разбивка документов на блоки в системах RAG с перекрытием
Разбивка документов на фрагменты в системах RAG с пересечениями | Изображение предоставлено автором

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

# 3. Встраивание и векторизация документов

После разбивки документов на фрагменты, следующим шагом перед их безопасным хранением в базе знаний является перевод их на «язык машин»: числа. Обычно это делается путем преобразования каждого текста в векторное представление — плотное многомерное числовое представление, отражающее семантические характеристики текста. В последние годы были созданы специализированные LLM-модели для решения этой задачи: они называются моделями встраивания и включают в себя известные варианты с открытым исходным кодом, такие как all-MiniLM-L6-v2 от Hugging Face .

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

# 4. Заполнение векторной базы данных

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

Этот фрагмент кода используется для разделения текста (см. пункт 2 выше) и заполнения локальной бесплатной векторной базы данных с помощью LangChain и Chroma — при условии, что у нас есть длинный документ, который нужно сохранить в файле knowledge_base.txt:

from langchain_community.document_loaders import TextLoader from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_community.embeddings import HuggingFaceEmbeddings from langchain_community.vectorstores import Chroma # Загрузка и разбивка данных на блоки docs = TextLoader(«knowledge_base.txt»).load() chunks = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50).split_documents(docs) # Создание текстовых встраиваний с использованием бесплатной модели с открытым исходным кодом и сохранение в ChromaDB embedding_model = HuggingFaceEmbeddings(model_name=»all-MiniLM-L6-v2″) vector_db = Chroma.from_documents(documents=chunks, «embedding=embedding_model, persist_directory=»./db») print(f»Успешно сохранено {len(chunks)} встроенных фрагментов.»

Подробнее о векторных базах данных можно прочитать здесь .

# 5. Векторизация запросов

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

В этой части серии статей «Понимание RAG» рассматриваются некоторые передовые подходы к векторизации и оптимизации запросов.

# 6. Получение релевантного контекста

После векторизации запроса система поиска RAG выполняет поиск на основе сходства, чтобы найти наиболее подходящие векторы (фрагменты документов). Хотя традиционные подходы с использованием алгоритма top-k часто работают, для оптимизации обработки и интеграции полученных результатов в окончательный, обогащенный запрос для LLM можно использовать более продвинутые методы, такие как объединенный поиск и переранжирование.

Подробнее об этих продвинутых механизмах можно узнать в этой статье . Аналогично, управление контекстными окнами — еще один важный процесс, который следует применять, когда возможности LLM по обработке очень больших входных данных ограничены.

#7. Формулирование обоснованных ответов

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

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

# Заключение

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

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

Иван Паломарес Карраскоса — лидер, писатель, спикер и консультант в области искусственного интеллекта, машинного обучения, глубокого обучения и магистратуры. Он обучает и направляет других в применении ИИ в реальном мире.

Источник: www.kdnuggets.com

✅ Найденные теги: 7, Генерация, Информация, Методы, новости, Поиск, текст

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Диаграмма системы управления XR: контекст, взаимодействие, ввод, генерация ответа.
ideipro logotyp
Новая открытая модель искусственного интеллекта Trinity-Large-Thinking от Arcee — это редкая и мощная модель, разработанная в США, которую предприятия могут загрузить и настроить под свои нужды.
Человек в костюме, текст "how long can this go on?" на черно-белом фоне.
Исследователи разработали революционное носимое устройство, которое способно передавать физические ощущения настоящего поцелуя, позволяя партнёрам на расстоянии отправлять поцелуи друг другу через
Исследователи разработали революционное носимое устройство, которое способно передавать физические ощущения настоящего поцелуя, позволяя партнёрам на расстоянии отправлять поцелуи друг другу через
Микробы также изменяют климат. Может ли это нам помочь?
Одной забастовки недостаточно, чтобы остановить работу системы опреснения воды в Мексиканском заливе.
Colorful собирается возродить производство материнских плат с поддержкой DDR3
Image Not Found
Диаграмма системы управления XR: контекст, взаимодействие, ввод, генерация ответа.

Sensible Agent: платформа для ненавязчивого взаимодействия с проактивными агентами дополненной реальности.

Sensible Agent — это исследовательский прототип, позволяющий агентам дополненной реальности заблаговременно адаптировать предлагаемые ими действия и способы взаимодействия, используя контекст в реальном времени, включая направление взгляда, доступность рук и окружающий шум. Быстрые ссылки Бумага Делиться Скопировать ссылку…

Апр 8, 2026
ideipro logotyp

Представляем стипендиальную программу OpenAI Safety Fellowship | OpenAI

Пилотная программа для поддержки независимых исследований в области безопасности и выравнивания, а также для развития следующего поколения специалистов. Подать заявку сейчас (откроется в новом окне) Сегодня мы объявляем о начале приема заявок на участие в программе OpenAI…

Апр 8, 2026
Новая открытая модель искусственного интеллекта Trinity-Large-Thinking от Arcee — это редкая и мощная модель, разработанная в США, которую предприятия могут загрузить и настроить под свои нужды.

Новая открытая модель искусственного интеллекта Trinity-Large-Thinking от Arcee — это редкая и мощная модель, разработанная в США, которую предприятия могут загрузить и настроить под свои нужды.

Карл Франзен Источник: VentureBeat, создано с помощью Google Gemini 3.1 Pro. За годы существования ChatGPT в конце 2022 года эстафета в разработке моделей искусственного интеллекта с открытым исходным кодом переходила от одной компании к другой: от Meta…

Апр 8, 2026
Человек в костюме, текст "how long can this go on?" на черно-белом фоне.

Долгий ковид повысил риск сердечно-сосудистых заболеваний. Участники исследования перенесли коронавирусную инфекцию дома

Участники исследования перенесли коронавирусную инфекцию дома Риск развития сердечно-сосудистых заболеваний значительно повышается у людей с долгим ковидом. К таким выводам пришли шведские ученые, которые провели масштабное когортное исследование с выборкой больных, которые перенесли инфекцию амбулаторно. При долгом ковиде растет риск аритмий…

Апр 8, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых