rag with human support
1.0.0
当用户在没有提供足够上下文的情况下提出模糊或模棱两可的问题时,传统的 RAG 系统通常很难提供令人满意的答案。这会导致法学硕士提供无益的回答,例如“我不知道”或不正确的、虚构的答案。该存储库包含用于改进传统 RAG 代理的代码。
我们为 RAG Agent 引入了一个定制的 LangChain 工具,当初始问题不清楚或过于模糊时,该工具使 Agent 能够与用户进行对话。通过提出澄清问题、提示用户提供更多详细信息以及合并上下文信息,代理可以收集必要的上下文以提供准确、有用的答案 - 即使是来自模糊的初始查询。
让我们使用以下问题示例来说明该优势:“我的 EC2 实例有多少个 GPU?”。
传统的 RAG 代理不知道用户想要哪个 EC2 实例。因此,它提供的答案不是很有帮助:
使用“AskHuman”工具改进的 RAG 代理执行两个额外步骤:
这有助于改进后的代理提供具体且有用的答案:
要在您的 AWS 账户中运行此演示,您需要执行以下步骤:
demo.py
中 LangChain Agent 中使用的llm
替换为 LangChain 支持的 LLM。sh dependencies.sh
来安装依赖项。demo.py
中指定相应的KENDRA_INDEX_ID
。streamlit run demo.py
来启动Streamlit 应用程序。 请注意,部署新的 Kendra 索引并运行演示可能会增加您的账单的额外费用。为了避免产生不必要的费用,如果您不再使用 Amazon Kendra 索引,请删除它;如果您使用 SageMaker Studio 实例运行演示,请关闭它。