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 實例運行演示,請關閉它。