Giới thiệu về Contextual Retrieval
- Để mô hình AI hữu ích trong một ngữ cảnh cụ thể, nó cần có kiến thức nền
- Chatbot hỗ trợ khách hàng cần kiến thức về một doanh nghiệp cụ thể, còn bot phân tích pháp lý cần lượng kiến thức khổng lồ về các tiền lệ trước đó
- Nhà phát triển thường sử dụng Retrieval-Augmented Generation (RAG) để nâng cao kiến thức của mô hình AI
- Các giải pháp RAG truyền thống thường loại bỏ ngữ cảnh khi mã hóa thông tin, nên nhiều trường hợp không thể truy xuất được thông tin liên quan
Phương pháp Contextual Retrieval
- Contextual Retrieval là một phương pháp cải thiện đáng kể giai đoạn truy xuất của RAG
- Nó sử dụng hai kỹ thuật thành phần là Contextual Embeddings và Contextual BM25
- Giảm số lần truy xuất thất bại 49%, và khi kết hợp với reranking có thể giảm tới 67%
- Có thể dễ dàng triển khai giải pháp Contextual Retrieval bằng Claude
Chỉ đơn giản dùng prompt dài hơn
- Nếu cơ sở tri thức có dưới 200.000 token, cung cấp toàn bộ cơ sở tri thức cho mô hình có thể là cách tốt hơn
- Khi dùng tính năng prompt caching của Claude, cách tiếp cận này nhanh hơn và hiệu quả chi phí hơn
- Khi cơ sở tri thức lớn hơn, cần một giải pháp có khả năng mở rộng tốt hơn
Khái niệm cơ bản của RAG
- RAG được dùng để xử lý các cơ sở tri thức lớn
- Cơ sở tri thức được chia thành các đoạn văn bản nhỏ, rồi dùng mô hình embedding để mã hóa ý nghĩa
- Sau đó lưu vào cơ sở dữ liệu vector để truy xuất theo độ tương đồng ngữ nghĩa
- BM25 hiệu quả trong việc tìm các từ hoặc cụm từ khớp chính xác
Hạn chế của RAG truyền thống
- Quá trình chia tài liệu thành các đoạn nhỏ có thể làm mất ngữ cảnh
- Ví dụ, với câu hỏi tìm thông tin tài chính của một công ty cụ thể, có thể trả về một đoạn không có đủ ngữ cảnh
Triển khai Contextual Retrieval
- Thêm ngữ cảnh mô tả vào từng đoạn để tạo chỉ mục embedding và BM25
- Dùng Claude để tạo ngữ cảnh ngắn gọn cho từng đoạn
- Có thể dùng prompt caching để giảm chi phí
Cải thiện hiệu năng
- Contextual Embeddings giúp giảm tỷ lệ truy xuất thất bại 35%
- Kết hợp Contextual Embeddings và Contextual BM25 giúp giảm tỷ lệ truy xuất thất bại 49%
Các điểm cần cân nhắc khi triển khai
- Cần cân nhắc cách chia tài liệu thành đoạn, lựa chọn mô hình embedding, prompt ngữ cảnh hóa tùy chỉnh, v.v.
- Bao gồm nhiều đoạn hơn sẽ làm tăng khả năng chứa thông tin liên quan
Nâng cao hiệu năng bằng reranking
- Reranking cải thiện chất lượng phản hồi bằng cách chỉ chuyển các đoạn liên quan nhất cho mô hình
- Contextual Embedding và Contextual BM25 sau khi reranking giúp giảm tỷ lệ truy xuất thất bại 67%
Kết luận
- Kết hợp Embeddings và BM25 có thể mang lại kết quả tốt hơn
- Embedding của Voyage và Gemini là hiệu quả nhất
- Truyền 20 đoạn đứng đầu cho mô hình là hiệu quả nhất
- Việc thêm ngữ cảnh giúp cải thiện đáng kể độ chính xác truy xuất
- Reranking tiếp tục cải thiện hiệu năng
Tổng hợp của GN⁺
- Contextual Retrieval là phương pháp có thể cải thiện mạnh độ chính xác truy xuất của mô hình AI
- Đặc biệt hữu ích khi xử lý các cơ sở tri thức lớn
- Có thể triển khai hiệu quả về chi phí bằng tính năng prompt caching của Claude
- Các dự án khác có chức năng tương tự gồm GPT-3 của OpenAI và BERT của Google
1 bình luận
Ý kiến trên Hacker News
Ý kiến thứ nhất
Ý kiến thứ hai
Ý kiến thứ ba
Ý kiến thứ tư
Ý kiến thứ năm
Ý kiến thứ sáu
Ý kiến thứ bảy
Ý kiến thứ tám
Ý kiến thứ chín
Ý kiến thứ mười