2 điểm bởi GN⁺ 2024-04-04 | 1 bình luận | Chia sẻ qua WhatsApp

LLocalSearch là gì

  • Một công cụ tìm kiếm vận hành hoàn toàn cục bộ, sử dụng tác nhân LLM.
  • Khi người dùng đặt câu hỏi, hệ thống sẽ dùng chuỗi LLM để tìm câu trả lời.
  • Người dùng có thể xem tiến trình của tác nhân và câu trả lời cuối cùng.
  • Không cần khóa API của OpenAI hay Google.
  • Nay đã bổ sung tính năng câu hỏi tiếp theo: demo.mp4

Tính năng

  • 🕵️ Hoạt động hoàn toàn cục bộ nên không cần khóa API.
  • 💸 Chạy được trên phần cứng LLM "cấu hình thấp" (video demo dùng mô hình 7b).
  • 🤓 Cung cấp nhật ký tiến trình để hiểu rõ hơn quá trình tìm kiếm.
  • 🤔 Có thể đặt câu hỏi tiếp theo.
  • 📱 Giao diện thân thiện với thiết bị di động.
  • 🚀 Triển khai nhanh và dễ bằng Docker Compose.
  • 🌐 Giao diện web dễ truy cập từ bất kỳ thiết bị nào.
  • 💮 UI tự làm hỗ trợ chế độ sáng và tối.

Trạng thái

  • Dự án này vẫn đang ở giai đoạn đầu. Có thể còn một số lỗi.

Cách hoạt động

  • Để có thông tin mới nhất, hãy tham khảo tài liệu infra.

Tự host & phát triển

Yêu cầu

  • Một máy chủ Ollama đang chạy mà container có thể truy cập được.
  • GPU không bắt buộc nhưng được khuyến nghị.
  • Docker Compose

Chạy bản phát hành mới nhất

  • Được khuyến nghị nếu bạn không có ý định phát triển dự án này.
    git clone https://github.com/nilsherzig/LLocalSearch.git
    cd ./LLocalSearch
    # 🔴 kiểm tra biến môi trường trong file compose và thêm host:port của máy chủ ollama
    docker-compose up 🎉
    
  • Bây giờ theo mặc định bạn có thể mở giao diện web tại http://localhost:3000.
  • Theo mặc định sẽ không có gì khác được mở ra ngoài.

Chạy phiên bản git hiện tại

  • Có thể dùng được các tính năng mới hơn, nhưng độ ổn định có thể kém hơn.
    git clone https://github.com/nilsherzig/LLocalsearch.git
    # 1. nhất định phải kiểm tra các biến môi trường trong `docker-compose.dev.yaml`.
    # 2. hãy chắc chắn rằng bạn đang kiểm tra file compose dành cho dev chứ không phải file compose thông thường.
    # 3. build container và khởi động dịch vụ
    make dev
    
  • Nếu chưa cài make, bạn có thể chạy thủ công các lệnh trong Makefile.
  • Bây giờ bạn có thể truy cập frontend tại http://localhost:3000.

Ý kiến của GN⁺

  • LLocalSearch là một lựa chọn thay thế đáng chú ý cho các công cụ tìm kiếm hiện đại chú trọng quyền riêng tư của người dùng. Bằng cách cung cấp khả năng tìm kiếm mà không gửi dữ liệu người dùng lên máy chủ bên ngoài, nó có thể giải tỏa những lo ngại về quyền riêng tư.
  • Dự án này mang đến một cơ hội hấp dẫn cho các nhà phát triển trong cộng đồng mã nguồn mở. Thông qua việc đóng góp cho dự án, các nhà phát triển có thể nâng cao hiểu biết về công nghệ công cụ tìm kiếm và củng cố hồ sơ năng lực của mình.
  • Tuy nhiên, vì vẫn là một dự án ở giai đoạn đầu nên có thể tồn tại lỗi và các vấn đề về độ ổn định. Điều này có nghĩa là cần thận trọng khi cân nhắc áp dụng trong môi trường sử dụng thực tế.
  • Nếu LLocalSearch phát triển thành công, nó có thể trở thành động lực giúp giảm sự phụ thuộc vào các công cụ tìm kiếm lớn hiện nay và tăng thêm tính đa dạng cho thị trường công cụ tìm kiếm.
  • Xét về mặt kỹ thuật, tìm kiếm bằng tác nhân LLM là một hướng rất đổi mới, nhưng để tận dụng hiệu quả thì cần có đủ tài nguyên tính toán và kiến thức kỹ thuật.

1 bình luận

 
GN⁺ 2024-04-04
Ý kiến trên Hacker News
  • Tóm tắt các bình luận trên Hacker News:
    • 🤖 Kết hợp LLM và công cụ tìm kiếm: Mô tả một hệ thống trong đó LLM có thể truy cập công cụ tìm kiếm và truy vấn cơ sở dữ liệu vector. Từ truy vấn tìm kiếm do LLM khởi tạo, hệ thống thu thập n kết quả hàng đầu rồi lưu vào cơ sở dữ liệu vector dưới dạng các đoạn nhỏ; sau đó LLM có thể truy vấn cơ sở dữ liệu này để lấy các đoạn liên quan. Dù không toàn diện bằng việc để một LLM có ngữ cảnh 128k tự tóm tắt mọi thứ, cách này chạy nhanh hơn nhiều và tiêu tốn ít tài nguyên hơn trên phần cứng cục bộ. Bản demo trên GitHub chạy được trên GPU phổ thông cho người dùng cá nhân (amd rx 6700xt).

    • 👍 Lời khen cho kiến trúc: Có kế hoạch dùng cùng các LLM hiện có và rất vui khi thấy nó cũng hoạt động được trên máy cục bộ. Cảm ơn vì đã chia sẻ và đánh giá cao kiến trúc này.

    • Câu hỏi về mức độ liên quan với Perplexity: Chỉ ra rằng chưa rõ hệ thống này liên quan gì tới Perplexity, và thay vào đó cần có tham chiếu tới mô hình nền tảng được sử dụng.

    • 🌟 Tính năng đặc biệt của mô hình cục bộ: Chưa từng thấy mô hình cục bộ gọi các mô-đun đặc biệt như vậy, và đánh giá mẫu 7b open-hermes đang dùng cá nhân là rất tốt.

    • 🚀 Khả năng tích hợp với công cụ tìm kiếm nội bộ cho doanh nghiệp: Dù chưa chạy thử, nó trông rất hứa hẹn và có vẻ sẽ rất hữu ích khi kết nối với công cụ tìm kiếm nội bộ trong doanh nghiệp. Rất vui khi thấy có thêm nhiều sản phẩm không cần API key nhưng kết nối với LLM cục bộ.

    • 🛠️ Câu hỏi về quá trình ra quyết định trong hạ tầng: Hỏi cách các khối 'cần dùng công cụ' và 'đã tìm thấy câu trả lời' được quyết định trong hạ tầng; từ bản demo có vẻ mất thời gian để trả kết quả, nên muốn biết bước nào tốn thời gian nhất giữa tìm kiếm, vector store hay truy vấn cơ sở dữ liệu vector.

    • 🕵️ Cơ chế hoạt động của công cụ tìm kiếm cục bộ: Dù được gọi là 'công cụ tìm kiếm chạy cục bộ', vẫn có thắc mắc về cách nó tìm ra website và trang để lập chỉ mục.

    • 🤫 Bí mật về Perplexity: Có ý kiến cho rằng ngoài việc dùng các mô hình làm sẵn, Perplexity thực ra không làm quá nhiều thứ.

    • 🏭 Perplexity như đối thủ chatbot: Nhận xét rằng Perplexity trông giống một đối thủ cạnh tranh trong mảng chatbot.

    • Đề xuất tích hợp với Plandex: Gợi ý rằng sẽ rất tuyệt nếu kết nối với Plandex được chia sẻ hôm nay để tạo ra công cụ cộng tác với AI bằng mã nguồn mà không cần rời khỏi máy tính.

Kiến thức nền: LLMs (Large Language Models) là các mô hình ngôn ngữ lớn, được dùng trong xử lý ngôn ngữ tự nhiên; cơ sở dữ liệu vector là loại cơ sở dữ liệu lưu trữ dữ liệu dưới dạng vector để cho phép tìm kiếm nhanh. Perplexity cũng là một thước đo đánh giá hiệu năng mô hình trong lĩnh vực xử lý ngôn ngữ tự nhiên, nhưng ở đây có vẻ đang chỉ một sản phẩm hoặc dịch vụ cụ thể.