Os sistemas RAG tradicionais muitas vezes lutam para fornecer respostas satisfatórias quando os usuários fazem perguntas vagas ou ambíguas sem fornecer contexto suficiente. Isso leva a respostas inúteis como “Não sei” ou respostas incorretas e inventadas fornecidas por um LLM. Este repositório contém código para melhorar os agentes RAG tradicionais.
Apresentamos uma ferramenta LangChain personalizada para um agente RAG, que permite ao agente iniciar um diálogo conversacional com um usuário quando a pergunta inicial não é clara ou muito vaga. Ao fazer perguntas esclarecedoras, solicitar mais detalhes ao usuário e incorporar informações contextuais, o Agente pode reunir o contexto necessário para fornecer uma resposta precisa e útil - mesmo a partir de uma consulta inicial ambígua.
Vamos ilustrar a vantagem usando o seguinte exemplo de pergunta: “Quantas GPUs minha instância EC2 possui?”.
O agente RAG tradicional não sabe qual instância do EC2 o usuário tem em mente. Portanto, fornece uma resposta que não é muito útil:
O Agente RAG aprimorado com a ferramenta `AskHuman`` executa duas etapas adicionais:
Isso ajuda o agente aprimorado a fornecer uma resposta específica e útil:
Para executar esta demonstração em sua conta AWS, você precisa seguir estas etapas:
llm
usado no agente LangChain em demo.py
por um LLM compatível com LangChain.sh dependencies.sh
no Terminal.KENDRA_INDEX_ID
nos parâmetros do recuperador demo.py
.streamlit run demo.py
no Terminal. Observe que a implantação de um novo índice Kendra e a execução da demonstração podem adicionar cobranças adicionais à sua conta. Para evitar custos desnecessários, exclua o Amazon Kendra Index se não o usar mais e encerre uma instância do SageMaker Studio se você o usou para executar a demonstração.