Thủ thuật
LangChain ra mắt giải pháp tự động hóa nghiên cứu web bằng Retriever
(giờ Việt Nam)
Tóm tắt AI
LangChain giới thiệu quy trình tự động hóa nghiên cứu web, sử dụng Retriever để tìm kiếm và tổng hợp thông tin từ nhiều nguồn thông qua LLM, giúp tối ưu hóa việc thu thập dữ liệu.
Bản dịch AI
Các liên kết chính
Động lực
Nghiên cứu trên web là một trong những ứng dụng "sát thủ" của LLM: Greg Kamradt đã nhấn mạnh đây là một trong những công cụ AI được mong đợi nhất, và các kho lưu trữ mã nguồn mở (OSS) như gpt-researcher đang ngày càng trở nên phổ biến. Chúng tôi quyết định thử sức với lĩnh vực này, ban đầu cũng giống như bao người khác là xây dựng một tác nhân (agent) nghiên cứu web. Tuy nhiên, chúng tôi đã đi đến một kết quả khác: một bộ truy xuất (retriever) khá đơn giản lại tỏ ra hiệu quả và dễ dàng cấu hình (ví dụ: chạy ở chế độ riêng tư như cách các dự án như PrivateGPT đã phổ biến). Trong bài blog này, chúng tôi sẽ chia sẻ về quá trình khám phá, tư duy, cách chúng tôi xây dựng nó và các bước tiếp theo.
Khám phá
Các dự án đã đề cập ở trên như gpt-researcher và các công cụ tìm kiếm AI (perplexity.ai) mang đến cái nhìn sơ khởi về việc nghiên cứu trên web có thể được tái định hình như thế nào. Giống như nhiều người khác, ban đầu chúng tôi thiết kế một tác nhân có thể nhận prompt, một bộ công cụ, và sau đó tự động bắt đầu quét web! Để làm được điều này, rõ ràng nó cần các công cụ để:
Với những công cụ đó, tác nhân có thể mô phỏng những gì con người làm: tìm kiếm một chủ đề, chọn các liên kết, lướt qua liên kết để tìm thông tin hữu ích và quay lại tìm kiếm trong một quá trình khám phá lặp đi lặp lại. Chúng tôi đã tạo ra một tác nhân, cung cấp cho nó những công cụ này... nhưng nhận thấy nó loay hoay một cách chậm chạp trong quá trình tìm kiếm lặp lại, giống hệt như con người vậy!
Cải tiến
Chúng tôi nhận thấy một ưu điểm cốt lõi mà AI có thể khai thác độc nhất: khởi chạy nhiều tìm kiếm song song và từ đó "đọc" nhiều trang cùng lúc. Tất nhiên, điều này có nguy cơ gây lãng phí nếu bài viết đầu tiên trong quá trình tìm kiếm tuần tự đã chứa tất cả thông tin cần thiết. Nhưng đối với các câu hỏi phức tạp đòi hỏi một nhà nghiên cứu AI, rủi ro này phần nào được giảm thiểu. Chúng tôi đã thêm một số công cụ cơ bản để hỗ trợ quá trình này.
Với một lượng thông tin khổng lồ được thu thập song song từ một tập hợp các trang, việc lấy các đoạn (chunks) liên quan nhất từ mỗi trang và tải chúng vào cửa sổ ngữ cảnh của LLM để tổng hợp là điều hợp lý. Tất nhiên, đến lúc này chúng tôi nhận ra rằng tác nhân của mình đang biến đổi thành một bộ truy xuất! (LƯU Ý: chúng tôi vẫn nghĩ rằng các đặc tính tác nhân có thể mang lại lợi ích hơn nữa cho bộ truy xuất này, như đã thảo luận ở phần cuối.)
Truy xuất
Chính xác thì bộ truy xuất này sẽ hoạt động như thế nào bên dưới lớp vỏ? Suy nghĩ của chúng tôi là:
Tổng hợp lại, các bước này nằm trong quy trình được sử dụng cho kỹ thuật RAG (Retrieval Augmented Generation - Truy xuất tăng cường thế hệ):

Tuy nhiên, logic này lại tương tự với kiến trúc tác nhân của gpt-researcher:

Mặc dù đây không phải là một tác nhân, nhưng sự tương đồng trong logic là một cách kiểm chứng hữu ích cho phương pháp này. Chúng tôi đã tạo một bộ truy xuất LangChain mới và cung cấp tài liệu hướng dẫn sử dụng cùng các cấu hình. Đối với một câu hỏi ví dụ (Các tác nhân tự hành được hỗ trợ bởi LLM hoạt động như thế nào?), chúng ta có thể sử dụng LangSmith để trực quan hóa và xác thực quy trình (xem dấu vết tại đây), quan sát thấy bộ truy xuất tải và lấy các đoạn từ một nguồn hợp lý (bài blog của Lilian Weng về các tác nhân):

Như đã lưu ý trong tài liệu, quy trình tương tự có thể được cấu hình dễ dàng để chạy ở chế độ "riêng tư" bằng cách sử dụng, ví dụ, LlamaV2 và các embedding của GPT4all (dưới đây là dấu vết từ một lần chạy thực thi trên GPU Mac M2 Max của tôi ~50 tok/giây):

Ứng dụng
Chúng tôi đã bao bọc bộ truy xuất bằng một giao diện Streamlit đơn giản (chỉ khoảng 50 dòng mã tại đây), có thể được cấu hình với bất kỳ LLM, vectorstore và công cụ tìm kiếm nào tùy chọn.

Kết luận
Những gì bắt đầu như một nỗ lực xây dựng một tác nhân nghiên cứu web tự hành đã phát triển thành một bộ truy xuất khá đơn giản/hiệu quả và có thể tùy chỉnh. Tuy nhiên, đây chỉ là bước đầu tiên. Dự án này có thể hưởng lợi từ việc bổ sung nhiều đặc tính tác nhân, chẳng hạn như:
Nếu bất kỳ bổ sung nào trong số đó nghe có vẻ thú vị, vui lòng mở một PR (Pull Request) vào kho lưu trữ cơ sở và chúng tôi sẽ làm việc cùng bạn để tích hợp chúng!
Trong khi các công cụ tìm kiếm AI được lưu trữ từ các mô hình lớn như Bard hoặc Perplexity.ai có hiệu suất cực cao, các công cụ nhẹ hơn cho nghiên cứu web cũng có những ưu điểm quan trọng như quyền riêng tư (ví dụ: khả năng chạy cục bộ trên máy tính xách tay của bạn mà không chia sẻ bất kỳ dữ liệu nào ra bên ngoài), khả năng cấu hình (ví dụ: khả năng chọn các thành phần mã nguồn mở cụ thể để sử dụng) và khả năng quan sát (ví dụ: nhìn thấu những gì đang diễn ra "bên dưới lớp vỏ" bằng cách sử dụng các công cụ như LangSmith).
Bài viết được AI dịch và tổng hợp tự động từ LangChain: Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.