Инженерный колледж AI: 2.11 Расширенная обработка запросов (Руководство пользователя по преобразованию запросов)

представить (кого-л. на работу и т.д.)

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

https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/06_Query_Transformation_RAG

 

Технология преобразования запросов

1. Маршрутизация

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

Блок-схема LR A[Запрос пользователя] --> B[Селектор] B --> C[Инструмент 1] B --> D[Инструмент 2] B --> E[Инструмент N] C & D & E --> F[Выбранный инструмент]

Метод реализации:

  • пользоваться LLMSingleSelector возможно LLMMultiSelector Сделайте выбор на основе большой языковой модели
  • пользоваться PydanticSingleSelector возможно PydanticMultiSelector Делайте выбор на основе вызовов функций
  • пользоваться ToolMetadata Определение параметров инструмента

2. Переписывание запросов

Переписывание запросов подразумевает создание нескольких вариантов исходного запроса для улучшения результатов поиска.

AI工程学院:2.11高级查询处理(查询转换使用手册)

Метод реализации:

  • пользоваться PromptTemplate и Большая языковая модель (LLM) для пользовательских реализаций.
  • пользоваться HyDEQueryTransform Выполнение гипотетических запросов на встраивание документов

3. генерация подзапросов

Эта техника декомпозирует сложный запрос на несколько подзапросов, каждый из которых ориентирован на определенный инструмент.

AI工程学院:2.11高级查询处理(查询转换使用手册)

Метод реализации:

  • пользоваться OpenAIQuestionGenerator возможно LLMQuestionGenerator
  • пользоваться ToolMetadata Определение параметров инструмента

4. ReAct Интеллектуальный выбор инструментов для тела

Этот метод использует ReAct Фреймворк определяет инструмент, который будет использоваться, и запросы, которые будут выполняться на этом инструменте.

AI工程学院:2.11高级查询处理(查询转换使用手册)

Метод реализации:

  • пользоваться ReActChatFormatter Выполните форматирование входных данных
  • пользоваться ReActOutputParser Парсинг больших языковых моделей
  • пользоваться FunctionTool Инструменты для определения

 

пользоваться

Каждый из методов преобразования запросов может быть использован как модульный компонент в более крупной системе. Ниже приведены примеры базового использования переписывания запросов:

from llama_index.core import PromptTemplate  
from llama_index.llms.openai import OpenAI  
query_gen_prompt = PromptTemplate("你的提示模板在这里")  
llm = OpenAI(model="gpt-3.5-turbo")  
def generate_queries(query: str, llm, num_queries: int = 4):  
response = llm.predict(query_gen_prompt, num_queries=num_queries, query=query)  
queries = response.split("\n")  
return queries  
queries = generate_queries("你的查询内容在这里", llm)

 

резюме

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

Более подробную информацию о реализации и интеграции с конкретными движками запросов или ретриверами можно найти в документации LlamaIndex.

В этом README представлен обзор руководства пользователя по трансформации запросов, включая краткие описания и диаграммы Mermaid для каждой техники трансформации запросов, охватывающей четыре основные техники трансформации запросов: маршрутизацию, переписывание запросов, генерацию подзапросов и выбор инструмента ReAct Intelligent Body.

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

Какую часть этого README вы бы хотели, чтобы я расширил или изменил в деталях?

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...