Los sistemas RAG tradicionales a menudo tienen dificultades para proporcionar respuestas satisfactorias cuando los usuarios hacen preguntas vagas o ambiguas sin proporcionar suficiente contexto. Esto lleva a respuestas inútiles como "No sé" o respuestas incorrectas e inventadas proporcionadas por un LLM. Este repositorio contiene código para mejorar los agentes RAG tradicionales.
Presentamos una herramienta LangChain personalizada para un agente de RAG, que permite al agente entablar un diálogo conversacional con un usuario cuando la pregunta inicial no está clara o es demasiado vaga. Al hacer preguntas aclaratorias, solicitar al usuario más detalles e incorporar información contextual, el Agente puede recopilar el contexto necesario para brindar una respuesta precisa y útil, incluso a partir de una consulta inicial ambigua.
Ilustremos la ventaja usando el siguiente ejemplo de pregunta: "¿Cuántas GPU tiene mi instancia EC2?".
El agente RAG tradicional no sabe qué instancia EC2 tiene en mente el usuario. Por tanto, proporciona una respuesta que no es de mucha ayuda:
El Agente RAG mejorado con la herramienta `AskHuman`` realiza dos pasos adicionales:
Esto ayuda al agente mejorado a proporcionar una respuesta específica y útil:
Para ejecutar esta demostración en su cuenta de AWS, debe seguir estos pasos:
llm
utilizado en LangChain Agent en demo.py
con un LLM compatible con LangChain.sh dependencies.sh
en la Terminal.KENDRA_INDEX_ID
respectivo en los parámetros del recuperador demo.py
streamlit run demo.py
en la Terminal. Tenga en cuenta que implementar un nuevo índice Kendra y ejecutar la demostración podría agregar cargos adicionales a su factura. Para evitar incurrir en costos innecesarios, elimine el índice Amazon Kendra si ya no lo usa y cierre una instancia de SageMaker Studio si la usó para ejecutar la demostración.