Раскрытие расширенной генерации получения (RAG) | Когда искусственный интеллект встречается с человеческим знанием

Открытие новых возможностей для расширенной генерации (RAG) когда искусственный интеллект встречает человеческое знание

Введение

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

Цели обучения

  • Понять основные концепции Retrieval Augmented Generation (RAG).
  • Понять, как RAG сочетает подходы поиска и генерации искусственного интеллекта.
  • Получить представление о внутреннем устройстве RAG, от запроса до ответа.
  • Понять значение RAG с точки зрения эффективности и настраиваемости.
  • Открыть для себя разнообразные приложения RAG в различных областях.
  • Предвидеть будущие разработки и влияние технологии RAG.
  • Оценить, как RAG сокращает расстояние между огромными цифровыми знаниями и взаимодействием с человеком.

Эта статья была опубликована в рамках Data Science Blogathon.

Что такое RAG?

Начнем с основ. RAG объединяет два различных подхода искусственного интеллекта:

Источник – Hyro

Поиск

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

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

from sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.metrics.pairwise import cosine_similaritydocuments = [    "Машинное обучение является подмножеством искусственного интеллекта.",    "Глубокое обучение - это тип машинного обучения.",    "Обработка естественного языка используется в приложениях искусственного интеллекта.",]# Пользовательский запросquery = "Расскажите мне о машинном обучении."tfidf_vectorizer = TfidfVectorizer()tfidf_matrix = tfidf_vectorizer.fit_transform([query] + documents)# Расчет косинусной схожести между запросом и документамicosine_similarities = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix[1:]).flatten()# Сортировка документов по оценкам сходствасамый_похожий_документ = documents[cosine_similarities.argmax()]# Вывод наиболее релевантного документапrint("Самый релевантный документ:", самый_похожий_документ)

Этот фрагмент кода демонстрирует, как работает Selection AI в процессе Поиска. Он использует векторы TF-IDF и косинусную схожесть для выбора наиболее релевантного документа из набора на основе запроса пользователя.

Генерация

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

import torchfrom transformers import GPT2LMHeadModel, GPT2Tokenizer# Загрузка предобученной модели и токенизатораmodel_name = "gpt2"model = GPT2LMHeadModel.from_pretrained(model_name)tokenizer = GPT2Tokenizer.from_pretrained(model_name)# Пользовательское началоprompt = "Жили-были"# Кодирование начала в тензорinput_ids = tokenizer.encode(prompt, return_tensors="pt")# Генерация текстаoutput = model.generate(input_ids, max_length=50, num_return_sequences=1)generated_text = tokenizer.decode(output[0], skip_special_tokens=True)print("Generated Text:", generated_text)

Этот фрагмент кода демонстрирует Generation AI, где предобученная модель GPT-2 генерирует текст на основе запроса пользователя. Он имитирует то, как RAG создает ответы, похожие на человеческие. Эти фрагменты показывают аспекты Selection и Generation RAG, которые вместе способствуют созданию интеллектуальных и контекстно осознанных ответов.

Выбор искусственного интеллекта: критический компонент систем, таких как RAG

Выбор искусственного интеллекта является критическим компонентом систем, таких как RAG (Расширенная Получение и Генерация). Он помогает выбирать наиболее актуальную информацию из набора извлеченных документов. Давайте исследуем пример реального времени использования выбора искусственного интеллекта с помощью упрощенного кодового фрагмента.

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

Вот базовый фрагмент кода на Python, иллюстрирующий работу выбора искусственного интеллекта:

from sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.metrics.pairwise import cosine_similarity# Пример документов (база знаний)documents = [    "Машинное обучение является подмножеством искусственного интеллекта.",    "Глубокое обучение - это тип машинного обучения.",    "Обработка естественного языка используется в приложениях искусственного интеллекта.",]# Запрос пользователяuser_query = "Что такое глубокое обучение?"# Создание векторов TF-IDF для документов и запросатfidf_vectorizer = TfidfVectorizer()tfidf_matrix = tfidf_vectorizer.fit_transform([user_query] + documents)# Расчет косинусной близости между запросом пользователя и документамиcosine_similarities = cosine_similarity(tfidf_matrix[0:1], tfidf_matrix[1:]).flatten()# Сортировка документов по оценке сходствамost_similar_document_index = cosine_similarities.argmax()most_similar_document = documents[most_similar_document_index]# Вывод наиболее актуального документа в качестве ответапrint("Запрос пользователя:", user_query)print("Наиболее актуальный документ:", most_similar_document)

В этом примере мы используем выбор искусственного интеллекта для ответа на вопрос пользователя о глубоком обучении. Мы создаем базу знаний, генерируем векторы TF-IDF для оценки важности слов и вычисляем косинусную близость для определения наиболее актуального документа. Затем система предоставляет наиболее подходящий документ в качестве ответа, демонстрируя практичность выбора искусственного интеллекта в информационном поиске.

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

Связь между Большой Языковой Моделью (БЯМ) и RAG

БЯМ, или Большие Языковые Модели, представляют собой широкую категорию технологий искусственного интеллекта, включающую модели, такие как GPT-3 (Генеративный Предобученный Трансформер 3). Хотя БЯМы имеют некоторые сходства с RAG (Расширенной Получении и Генерации) в контексте обработки естественного языка и генерации текста, они выполняют разные задачи. RAG специализируется на сочетании методов извлечения и генерации искусственного интеллекта для предоставления ответов с учетом контекста. Она преуспевает в задачах, где требуется извлечение информации из большой базы данных и генерация связных ответов на основе этой информации.

С другой стороны, БЯМы типа GPT-3 в основном являются генеративными моделями. Они могут генерировать текст, похожий на человеческий, для различных приложений, включая генерацию контента, перевод языка и заполнение текста. БЯМы и RAG связаны тем, что они включают понимание и генерацию языка. Однако RAG специализируется на сочетании этих возможностей для конкретных задач, в то время как БЯМы являются более универсальными языковыми моделями.

Работа RAG внутри

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

  • Запрос: Вы задаете вопрос или предоставляете тему. Это служит вашим запросом.
# Пример кода на Python для создания запроса в RAGquery = "Каковы экологические последствия возобновляемых источников энергии?"result = rag.process_query(query)print(result)

Этот фрагмент кода демонстрирует, как создать запрос и отправить его в RAG для извлечения информации.

  • Извлечение: РАГВ работает поиск. Он осуществляет поиск среди обширной базы знаний для нахождения соответствующих документов, статей или веб-страниц.
# Пример кода на Python для извлечения информации в RAGdocument = rag.retrieve_document(query)print(document)

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

  • Выбор: RAG выбирает наиболее соответствующую информацию из извлеченных документов. Это похоже на работу библиотекаря, находящего наиболее полезную книгу на полке.
# Пример кода Python для выбора актуальной информации в RAG
selected_info = rag.select_information(document)
print(selected_info)

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

  • Получение: Теперь наступает этап получения. RAG берет выбранную информацию и вплетает ее в последовательный и понятный ответ, создавая ответ, который имеет смысл для вас.
# Пример кода Python для генерации ответов в RAG
response = rag.generate_response(selected_info)
print(response)

Этот фрагмент кода демонстрирует, как RAG генерирует ответы, похожие на человеческие, на основе выбранной информации.

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

Примеры

  • Вопрос: Вы начинаете с задания вопроса или предоставления темы. Это ваш запрос, например, “Какая сегодня погода?”
  • Полученный запрос: RAG берет ваш вопрос и ищет связанную информацию. Это похоже на то, как вы идете в библиотеку и спрашиваете библиотекаря о книге по вашей теме.
  • Полученный текст: RAG ищет в своей обширной базе знаний, подобно поиску библиотекаря по полкам с книгами. Он находит тексты или документы, связанные с вашим вопросом.
  • Полная подсказка: RAG объединяет ваш вопрос и полученную информацию. Это похоже на то, как библиотекарь передает вам книгу и говорит: “Вот ответ, который вам нужен”.
  • GPT в качестве генератора: RAG использует мощный текстовый генератор, например, GPT, чтобы создавать ответ. Это похоже на то, как талантливый писатель превращает информацию из книги в ясный и понятный ответ.
  • Ответ: RAG генерирует ответ, который имеет смысл для вас. Это, будто писатель предоставляет вам хорошо написанный и информативный ответ.
  • Пользователь: Наконец, вы, как пользователь, получаете ответ и получаете ответ на свой вопрос, так же, как если бы вы разговаривали с компетентным библиотекарем.

Почему RAG важен?

RAG – это преобразовательная сила по нескольким убедительным причинам:

  • Эффективность: Он может предоставлять точные ответы с впечатляющей скоростью, повышая производительность.
  • Настройка: RAG адаптирует свои ответы под разные стили письма, что делает его невероятно гибким.
  • Доступ к знаниям: Это ваш вход в обширные базы знаний, дарующий преимущества таким областям, как образование, исследования и поддержка клиентов.
  • Естественные разговоры: RAG делает взаимодействия с искусственным интеллектом более живыми, превращая роботизированные диалоги в похожие на человеческие.
  • Создание контента: Писатели и исследователи могут использовать помощь RAG для выработки идей и проведения исследований.
  • Применения RAG: реальные примеры / кейсы

Применение RAG в реальном мире

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

  • Улучшение поисковых систем: Ведущие поисковые системы интегрировали технологию RAG для улучшения результатов поиска. Когда вы вводите запрос, RAG помогает уточнить ваш поиск, предоставляя более контекстуально связанные результаты. Это означает, что у вас больше шансов найти то, что вы ищете, даже если ваш первоначальный запрос был неясным.
  • Виртуальные ассистенты: Виртуальные ассистенты, такие как чат-боты и голосовые устройства, стали более умными и более разговорчивыми благодаря RAG. Эти ассистенты могут давать детальные ответы на широкий спектр вопросов, что делает их очень полезными в поддержке клиентов и получении общей информации.
  • Образовательная поддержка: RAG нашел применение в образовательной сфере и принес пользу как студентам, так и преподавателям. Он может отвечать на вопросы студентов по различным предметам, помогать в объяснении сложных тем и даже создавать вопросы для викторин и объяснения для учителей, упрощая процесс обучения.
  • Создание контента: Писатели и создатели контента обнаружили ценность RAG в генерации идей и помощи в исследованиях. Он может предлагать темы для обсуждения, резюмировать статьи и предлагать соответствующие цитаты, экономя время и усилия писателей в процессе создания контента.
  • Медицинские исследования: В области медицинского исследования RAG оказался бесценным. Исследователи могут использовать RAG для поиска и резюмирования последних исследований и результатов, помогая им быть в курсе быстро развивающейся медицинской литературы.

Пример исследования: улучшенная поддержка клиентов с помощью RAG

Глобальный интернет-гигант электронной коммерции интегрировал RAG в чат-боты своей службы поддержки клиентов. Клиенты могли задавать вопросы о товарах, доставке и возврате на естественном языке. Чат-боты, работающие на основе RAG, предоставляли быстрые ответы и предлагали рекомендации по продуктам на основе предпочтений и предыдущих покупок клиентов. Уровень удовлетворенности клиентов вырос, что привело к увеличению объема продаж и удержанию клиентов.

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

Вывод

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

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

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

Источник - Neo4j

Ключевые подводки

  • Retrieval Augmented Generation (RAG) объединяет искусственный интеллект и генерацию, функционируя как библиотекарь и опытный писатель.
  • Внутреннее устройство RAG включает формулирование запроса, извлечение информации, выборку и генерацию ответа.
  • RAG предлагает эффективность, настраиваемость и естественные разговоры, что делает его универсальным для различных приложений.
  • Его применения охватывают поисковые системы, виртуальных помощников, образование, создание содержания и медицинские исследования.
  • RAG является мостом между искусственным интеллектом и человеческим знанием, облегчая доступ к обширным информационным ресурсам.

Часто задаваемые вопросы

Показанные в этой статье носители не принадлежат Analytics Vidhya и используются по усмотрению автора.