apresentar (alguém para um emprego etc.)
O Manual do Usuário de Conversão de Consultas demonstra o uso da transformação de consultas na recuperação da geração aprimorada (RAG) Várias técnicas para transformações e decomposições antes de executar consultas de usuários em mecanismos de consulta, inteligências ou outros processos. Essas transformações podem melhorar a qualidade e a relevância das respostas em aplicativos de IA.
https://github.com/adithya-s-k/AI-Engineering.academy/tree/main/RAG/06_Query_Transformation_RAG
Tecnologia de conversão de consultas
1. roteamento
O roteamento envolve a identificação de um subconjunto de ferramentas relevantes para uma determinada consulta.
fluxograma LR A[User Query] --> B[Selector] B --> C[Tool 1] B --> D[Tool 2] B --> E[Tool N] C & D & E --> F[Selected Tool]
Método de realização:
- fazer uso de
LLMSingleSelector
talvezLLMMultiSeletor
Fazer uma seleção com base em um modelo de linguagem amplo - fazer uso de
PydanticSingleSelector
talvezPydanticMultiSelector
Fazer seleções baseadas em chamadas de função - fazer uso de
ToolMetadata
Definição de opções de ferramentas
2. reescrita de consultas
A reescrita de consultas envolve a geração de várias variantes da consulta original para melhorar os resultados da recuperação.
Método de realização:
- fazer uso de
PromptTemplate
e Large Language Model (LLM) para implementações personalizadas - fazer uso de
HyDEQueryTransform
Realizar consultas hipotéticas de incorporação de documentos
3. geração de subconsultas
Essa técnica decompõe uma consulta complexa em várias subconsultas, cada uma delas orientada para uma ferramenta específica.
Método de realização:
- fazer uso de
Gerador de perguntas OpenAIQuestionGenerator
talvezGerador de perguntas LLM
- fazer uso de
ToolMetadata
Definição de opções de ferramentas
4. seleção inteligente de ferramentas de carroceria ReAct
Esse método usa ReAct A estrutura determina a ferramenta a ser usada e as consultas a serem executadas nessa ferramenta.
Método de realização:
- fazer uso de
ReActChatFormatter
Realizar a formatação da entrada - fazer uso de
ReActOutputParser
Análise da saída do modelo de linguagem grande - fazer uso de
Ferramenta de função
Ferramentas de definição
fazer uso de
Cada uma das técnicas de transformação de consultas pode ser usada como componentes modulares em um sistema maior. A seguir, exemplos de uso básico da reescrita de consultas:
from llama_index.core import PromptTemplate
de llama_index.llms.openai import OpenAI
query_gen_prompt = PromptTemplate("Seu modelo de prompt está aqui")
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)
consultas = response.split("\n")
retornar consultas
consultas = generate_queries("Suas consultas estão aqui", llm)
resumos
O Manual do Usuário de Transformação de Consultas oferece um conjunto completo de técnicas para ajudar os desenvolvedores a aprimorar o processamento de consultas em aplicativos de IA. Ao aproveitar essas técnicas de transformação, os desenvolvedores podem criar sistemas de recuperação de informações e de perguntas e respostas mais avançados e precisos.
Para obter mais informações sobre a implementação detalhada e a integração com mecanismos de consulta ou recuperadores específicos, consulte a documentação do LlamaIndex.
Este LEIAME fornece uma visão geral do Manual do Usuário de Transformação de Consultas, incluindo breves descrições e gráficos Mermaid para cada técnica de transformação de consultas, abrangendo as quatro principais técnicas de transformação de consultas: Roteamento, Reescrita de Consultas, Geração de Subquery e Seleção de Ferramentas de Corpo Inteligente ReAct.
Cada seção inclui uma visualização de fluxograma, uma breve descrição da tecnologia e detalhes básicos de implementação. Além disso, este LEIAME inclui um exemplo de uso simples de reescrita de consultas para fornecer aos usuários um ponto de partida.
Que parte deste LEIAME você gostaria que eu expandisse ou modificasse em detalhes?