Giới thiệu History-Aware Retriever là gì?
History-Aware Retriever, một thành phần quan trọng trong LangChain, được thiết kế để cải thiện độ chính xác của kết quả tìm kiếm bằng cách xem xét lịch sử hội thoại trước đó. Thay vì chỉ dựa vào truy vấn hiện tại, nó kết hợp thông tin từ các tương tác trước để cung cấp kết quả phù hợp và có ngữ cảnh hơn.
Chức năng này đặc biệt hữu ích trong các ứng dụng chatbot và hỗ trợ khách hàng, nơi việc hiểu ngữ cảnh là chìa khóa để cung cấp phản hồi hiệu quả. Nó bao gồm một LLM, một vector store retriever và lịch sử trò chuyện để hoạt động.
Cách thức hoạt động Quy trình làm việc của History-Aware Retriever
Khi được gọi, History-Aware Retriever sẽ thực hiện các bước sau:
1. **Xây dựng Prompt mới:** Kết hợp lịch sử hội thoại và truy vấn hiện tại để tạo ra một prompt mới, diễn giải lại truy vấn cuối cùng một cách dễ hiểu, ngay cả khi không có ngữ cảnh hội thoại.
2. **Sử dụng LLM để diễn giải:** Gửi prompt mới đến LLM để diễn giải lại truy vấn.
3. **Tìm kiếm bằng Vector Store Retriever:** Sử dụng truy vấn đã được diễn giải để tìm kiếm các tài liệu liên quan từ vector store retriever.
4. **Trả về kết quả:** Trả về danh sách các tài liệu liên quan.
Ví dụ: Nếu không có lịch sử trò chuyện, retriever chỉ trả về các tài liệu liên quan đến câu hỏi cuối cùng. Nhưng khi có lịch sử, nó sẽ kết hợp thông tin từ các tương tác trước để tìm kiếm các chủ đề như phân rã nhiệm vụ và lập kế hoạch.
Ví dụ Ứng dụng thực tế của History-Aware Retriever
Hãy xem xét một ví dụ về người dùng hỏi về 'phân rã nhiệm vụ'. Khi không có lịch sử hội thoại, retriever chỉ trả về các tài liệu liên quan đến phân rã nhiệm vụ. Tuy nhiên, nếu người dùng trước đó đã thảo luận về 'lập kế hoạch', retriever sẽ trả về các tài liệu liên quan đến cả hai chủ đề, cho thấy khả năng hiểu ngữ cảnh tốt hơn.
Tương tự, nếu câu hỏi hoàn toàn dựa trên lịch sử trò chuyện, retriever vẫn có thể xác định và trả về các đoạn văn bản tham khảo các khái niệm chính xác.
“History-Aware Retriever: Nâng cao độ chính xác tìm kiếm bằng cách tận dụng lịch sử hội thoại.
LangChain Expert
Khám phá thêm về LangChain
Tìm hiểu các tính năng tương tác khác của LangChain.
Vector Store Retriever
Khám phá cách Vector Store Retriever hoạt động để tìm kiếm các tài liệu liên quan.
Kết luận Tóm tắt và những cân nhắc quan trọng
History-Aware Retriever trong LangChain là một công cụ mạnh mẽ để cải thiện độ chính xác và phù hợp của kết quả tìm kiếm trong các ứng dụng hội thoại. Bằng cách kết hợp lịch sử hội thoại, nó cho phép các ứng dụng hiểu rõ hơn về nhu cầu của người dùng và cung cấp phản hồi chính xác hơn.
Lưu ý rằng embedding được sử dụng để chuyển đổi văn bản thành vector sẽ là embedding được chỉ định khi gọi hàm. Nếu không có embedding nào được chỉ định, embedding chroma mặc định sẽ được sử dụng.