1 điểm bởi GN⁺ 2025-03-09 | 1 bình luận | Chia sẻ qua WhatsApp
  • Công cụ hỏi đáp dựa trên AI dành cho tài liệu, hoạt động bằng cách kết nối với mô hình Ollama cục bộ
  • Có thể xây dựng, quản lý và tương tác với hệ thống RAG (Retrieval-Augmented Generation) phù hợp với các yêu cầu tài liệu hóa
  • Có thể sử dụng trên macOS, Linux, Windows
  • Lập chỉ mục thư mục tài liệu: Có thể lập chỉ mục các thư mục tài liệu để tìm kiếm và truy vấn thông minh, hỗ trợ nhiều định dạng tài liệu như văn bản, mã nguồn, PDF, DOCX
  • Xử lý cục bộ: Sử dụng mô hình Ollama để xử lý toàn bộ dữ liệu ngay trên máy, không làm rò rỉ dữ liệu ra bên ngoài
  • Phiên RAG tương tác: Có thể tạo các phiên tương tác để truy vấn cơ sở tri thức tài liệu.
  • Dễ quản lý : Cung cấp các lệnh đơn giản để tạo, liệt kê và xóa hệ thống RAG
  • Thân thiện với nhà phát triển: Được thiết kế bằng ngôn ngữ Go dành cho các nhà phát triển và người dùng kỹ thuật

1 bình luận

 
GN⁺ 2025-03-09
Ý kiến trên Hacker News
  • Hệ thống này không chia tài liệu thành các chunk mà gửi toàn bộ tài liệu tới Ollama dưới dạng yêu cầu embedding. Vì vậy nó chỉ hữu ích khi tài liệu nhỏ

    • Mô hình embedding bge-m3 có độ dài chuỗi 8192 token. rlama cố gắng embedding cả một cuốn sách, nhưng Ollama chỉ có thể đưa vài trang đầu vào yêu cầu embedding
    • Khi tìm kiếm, nó truy xuất toàn bộ tài liệu thay vì các đoạn liên quan, rồi cắt xuống còn 1000 ký tự. Kết quả là dù từ "Buddha" xuất hiện 44.121 lần trong tài liệu, mô hình vẫn trả lời rằng "không có nhắc đến trực tiếp nào về Buddha"
    • Giải pháp tốt hơn là chia tài liệu thành các chunk phù hợp với ngữ cảnh của mô hình embedding và truy xuất các chunk đó cùng với metadata
  • Khuyến nghị nên hiển thị kết quả tìm kiếm cho người dùng. Chỉ riêng công cụ tìm kiếm vector cũng đã rất hữu ích

    • Có thể thay đổi prompt để cung cấp tham chiếu (ví dụ: dựa trên metadata của chunk như số trang)
  • Khen ngợi dự án, kèm một vài ghi chú nhanh

    • Những mối lo chính với ứng dụng dùng hệ thống tệp
      • Ai có thể đọc dữ liệu, và ứng dụng có chia sẻ dữ liệu hay không
      • Cần một cơ chế chặn cứng quyền truy cập Internet. rlama khi đó vẫn có hoạt động bình thường hay không
      • Ứng dụng có thể sửa/xóa tệp hay không
      • Nên chỉ cho phép quyền đọc thay vì quyền truy cập toàn bộ hệ thống tệp
  • Ghi chú về mã: ngạc nhiên là không thấy .ts (TypeScript) trong danh sách

  • Website rất gọn gàng. Tò mò không biết được code từ đầu hay dựa trên template

  • Tự xây RAG là việc rất dễ. Ollama có hướng dẫn bắt đầu nhanh. Có thể điều chỉnh quy trình theo đúng nhu cầu của mình

  • Hoài nghi về mức độ hữu ích của các công cụ kiểu này. Tò mò không biết chúng đáng tin đến đâu do vấn đề hallucination, và trích dẫn nguồn tốt đến mức nào

    • Điều quan trọng nhất là lấy dữ liệu cho chính xác. Thỉnh thoảng tôi dùng công cụ AI cho việc code, nhưng với mục đích khác thì tôi không chắc về kết quả
  • Không có thông tin về kiến trúc/tech stack của dự án. GitHub README hay website cũng không có

    • Tôi thích việc nó được viết bằng Go và đủ nhỏ để có thể lướt qua trong một cuối tuần. Nhưng vì từng lãng phí thời gian với các công cụ trong hệ sinh thái LLM, tôi ngại phải đào code mà không thấy thông tin cơ bản trước
    • Nếu có một cái nhìn tổng quan ở mức cao về kiến trúc của dự án thì sẽ có nhiều người dùng công cụ này hơn
  • Là một nhà sử học nghiệp dư, tôi quét tài liệu trong kho lưu trữ và lưu dưới dạng tệp JPG. Tôi tự hỏi cách tốt nhất để hiểu được tập tri thức này là gì

    • Hiện tôi đang tự làm bằng Gemini, nhưng không chắc có cách nào giải quyết mà không phải tự xây một hệ thống RAG từ đầu hay không
  • Tò mò không biết nó có thể hoạt động cùng llama.cpp, engine của Ollama, hay không

    • Tôi thường build llama.cpp từ source và tải các mô hình đã lượng tử hóa từ Huggingface. Tôi chưa từng dùng Ollama
  • Sẽ rất tốt nếu có giao diện API để có thể tích hợp vào các hệ thống khác

  • Dự án rất hay. Tò mò không biết nó được phát hành theo giấy phép nào. Chưa thấy được tài liệu hóa

  • Tò mò về hiệu năng của RAG. Chỉ ném vào một cơ sở dữ liệu vector thì chưa đủ để tạo ra giá trị