Show HN: Khoj - Trò chuyện ngoại tuyến với bộ não thứ hai bằng Llama 2
(github.com/khoj-ai)- Khoj là ứng dụng AI cá nhân giúp mở rộng năng lực của người dùng, với kiến trúc có thể mở rộng từ AI cá nhân chạy trên thiết bị đến AI doanh nghiệp ở quy mô đám mây
- Có thể trò chuyện với LLM cục bộ hoặc trực tuyến; các mô hình ví dụ gồm llama3, qwen, gemma, mistral, gpt, claude, gemini, deepseek
- Có thể nhận câu trả lời từ Internet và tài liệu; các định dạng tài liệu được hỗ trợ gồm hình ảnh, PDF, Markdown, org-mode, Word, tệp Notion, v.v.
- Có thể truy cập từ Browser, Obsidian, Emacs, Desktop, Phone, Whatsapp, và hỗ trợ tạo agent với tri thức, persona, mô hình chat và công cụ tùy chỉnh
- Hỗ trợ tự động hóa nghiên cứu lặp lại, gửi newsletter cá nhân và thông báo thông minh vào inbox, tìm kiếm tài liệu liên quan bằng tìm kiếm ngữ nghĩa nâng cao, tạo hình ảnh, hội thoại bằng giọng nói và phát lại tin nhắn
- Là mã nguồn mở, có thể tự host, có thể chạy riêng tư trên máy tính của người dùng hoặc dùng trên ứng dụng đám mây
- Phiên bản Enterprise được cung cấp dưới dạng dịch vụ đám mây, on-premises và giải pháp hybrid
1 bình luận
Ý kiến trên Hacker News
Trên landing page của website hoàn toàn không thấy nhắc đến Llama hay trường hợp sử dụng offline nào, có vẻ chỉ đề cập đến việc dùng online thông qua OpenAI
Cũng tò mò không biết dùng kích thước model và fine-tuning nào, cũng như hiệu năng trong trường hợp sử dụng này được đánh giá ra sao
Tôi đã thử dùng Llama 2 với kích thước 7B và 13B một chút, và cảm giác là nó ăn khá nhiều RAM trên máy consumer, nên khả năng này thật sự đáng kỳ vọng
Cũng tò mò liệu phần tìm kiếm có phải là cách dùng embedding và vector DB, kèm thêm lọc metadata bổ sung như lệnh theo ngày không
Khoj đang dùng Llama 7B 4-bit quantized GGML của TheBloke
Đây gần như là model chat offline đầu tiên có thể đưa ra câu trả lời nhất quán cho truy vấn của người dùng khi đưa ghi chú vào làm ngữ cảnh, và việc nó mang tính hội thoại hơn GPT-3.5+ cũng khá thú vị
Nếu khi tự host có thể đảm bảo rằng thông tin cá nhân hoàn toàn không được gửi đến dịch vụ từ xa, thì việc ghi thật rõ cam kết về quyền riêng tư đó sẽ rất hữu ích
Nhìn cái này thật sự rất tuyệt, và tôi nghĩ chạy local mới là tương lai thật sự của AI
Tôi thử chạy trên chiếc M2 MacBook Air nhỏ thì máy bị đơ hoàn toàn
Nó gợi tôi nhớ đến thời PC cũ bị virus, di chuột rồi 45 giây sau con trỏ mới di chuyển, nên còn thấy hoài niệm một cách kỳ lạ
Có lẽ phải hạ kỳ vọng hiệu năng với chiếc Air này, và đây là lần đầu tôi gặp chuyện như vậy
Model 7B thường chạy ổn nếu có unified memory từ 16GB trở lên, nhưng tôi đã thấy Mac 8GB khá chật vật
Liệu có thể lấy nội dung lịch sử web trong một ngày rồi tóm tắt thành ghi chú những thứ tôi đã nghiên cứu không?
Nó đang ngày càng tiến gần đến hình mẫu AI cá nhân lý tưởng
Tôi rất mong chỉ vài năm nữa là có thể có một bộ não số chứa đầy mọi thứ mình biết
Việc làm một browser extension tóm tắt lịch sử web hằng ngày có lẽ không phải là việc quá lớn, và tôi nghĩ có thể đã có thứ tương tự rồi
Việc lập chỉ mục toàn bộ hành trình số và giúp chúng dễ tiêu hóa sẽ rất có giá trị
Mong Khoj sẽ trở thành như vậy
Không biết có ai đề xuất công cụ nào làm được chức năng này không
Hoặc tôi cũng muốn tìm người cùng làm thử
Telemetry của PostHog được dùng để làm gì?
Tôi không hiểu vì sao tài liệu không nói gì, và vì sao không có cách opt-out rõ ràng
Ví dụ như để nắm được mọi người dùng Markdown hay org, v.v.
Tất cả dữ liệu được thu thập đều hoàn toàn ẩn danh, và thông tin có thể nhận dạng không được gửi đến telemetry server
Để opt-out, hãy đặt giá trị
should-log-telemetrytrongkhoj.ymlthành falseTôi đã thêm các mục được thu thập và cách thu thập vào tài liệu: https://docs.khoj.dev/#/telemetry
Ngoài điểm đó ra thì dự án hoạt động tốt đến đáng kinh ngạc
Trông là một dự án hay
Nếu có thể lập chỉ mục thư mục PDF, và thậm chí OCR PDF để lập chỉ mục tài liệu scan thì thật sự rất tốt
Có thể hiện ngoài phạm vi dự án, nhưng ngay vài ngày trước tôi cũng vừa nghĩ ước gì có một công cụ như vậy
Khoj có thể lập chỉ mục thư mục PDF để tìm kiếm và chat
Tuy nhiên hiện tại chưa xử lý được các file PDF scan không có văn bản có thể chọn
Sẽ rất tốt nếu xử lý được cả những file đó, chỉ cần triển khai thôi
Hy vọng sẽ sớm có
Nó sẽ crawl PDF, download, screenshot, ảnh, v.v., hiển thị cây logic của cách tổ chức file, rồi cho phép chỉnh kiểu như “thêm các PDF liên quan đến chủ đề này vào đây và sắp xếp theo nguồn/tác giả, còn screenshot thì chuyển vào đây theo thứ tự ngày tháng”
Tôi luôn muốn có một chiếc máy tính mà chỉ cần gọi “COMPUTER.”
Tôi gọi “COMPUTER!” thì nó đáp “Thưa ngài, ngài phải dùng bàn phím”, ôi bàn phím đúng là cổ điển làm sao
Có vẻ đang dùng gpt4all, tôi tò mò liệu có cách được hỗ trợ chính thức để đổi model suy luận local hay không
Nhiều app được thiết kế cho completion/chat API của OpenAI chỉ cần trỏ đến endpoint do llama-cpp-python [0] cung cấp là có thể hoạt động gần như tương tự, đồng thời dùng được nhiều model và bản quantization mà llama.cpp hỗ trợ
Khi đó có thể chạy model lớn hơn trên phần cứng mong muốn, bao gồm tăng tốc Metal trên Apple Silicon hoặc NVIDIA GPU, và cũng có thể dùng các proxy khác như openrouter.io
Cá nhân tôi thích dùng openrouter.io vì nó hỗ trợ model 100k của Anthropic
[0]: https://github.com/abetlen/llama-cpp-python
Có lẽ chỉ cần đổi dòng này https://github.com/khoj-ai/khoj/blob/master/src/khoj/process... sang model bạn muốn
Bạn sẽ phải tự build image local bằng
docker-compose, nhưng tương đối đơn giảnNhiều developer muốn thử nhiều model khác nhau, nhưng chúng tôi muốn đi theo hướng vừa dễ dùng vừa hỗ trợ sâu
Vì nguồn lực có hạn nên chúng tôi đang hơi cân nhắc nên tập trung vào đâu
Với tư cách là người mới bắt đầu dùng Obsidian và đang thử nghiệm AI chat, cái này thật sự tuyệt vời
Mình chưa dùng thử, nhưng những thứ như thế này chắc chắn là cần phải có
Nếu không có GPU đủ tốt thì có lẽ nó vẫn chưa thật sự dùng ngon trên phần cứng tiêu dùng, nhưng mình tin rằng điều đó sẽ khả thi trong vài năm nữa, hoặc thậm chí sớm hơn
Logo cũng đẹp, màu sắc mình cũng thích
Với kiểu trường hợp sử dụng này, Llama 2 đủ năng lực đến mức việc trả tiền cho ChatGPT sẽ kém hấp dẫn hơn, nhất là khi quyền riêng tư là điều quan trọng
Mong các bạn tiếp tục làm tốt
Mình đã dùng Khoj trong một ngày và thấy nó thật sự gọn gàng, được làm rất chỉn chu
Có vài quan sát như sau
Mình đã để lại issue và đề xuất liên quan ở đây: https://github.com/khoj-ai/khoj/issues/389
Mình cũng đã thêm ghi chú vào issue GitHub ở trên
Ví dụ, mình muốn biết có thể cấu hình model huggingface/gpt4all hay không; nếu có thì nó có tự tải xuống dựa trên tên không, hay phải đặt
.binvà YAML vào một volume nào đóNhư đã ghi trong tài liệu, bạn có thể trực tiếp xem telemetry server[1]
Nếu thấy điều gì bất thường, hãy cho biết và mình sẽ hotfix ngay
Toàn bộ metadata telemetry cũng có thể xem tại đây[2]
[1]: https://github.com/khoj-ai/khoj/tree/master/src/telemetry
[2]: https://github.com/khoj-ai/khoj/blob/master/src/khoj/routers...
Cấu hình
docker-composehơi đặc thù, nên xem issue đó để biết thêm chi tiếtCảm ơn cả các điểm tham khảo liên quan đến tích hợp GPU; để nói rõ thì chúng tôi dùng tối ưu hóa GPU cho việc lập chỉ mục, nhưng chưa dùng cho chat cục bộ dựa trên Llama
Chúng tôi đang làm để phần đó hoạt động
./servertrong ggml không?Nếu đang token hóa trước ngữ cảnh tìm kiếm thì có thể việc này sẽ khó hơn
Dự án thật sự rất hay
Việc nhắc đến
C-skhá thú vịisearch-forwardthường được dùng cho tìm kiếm khớp nguyên văn với độ trễ thấpMình tò mò trong workflow nào Khoj có thể đem lại độ trễ chấp nhận được để thay thế isearch, hoặc mang lại lợi ích tốt hơn
Có ví dụ nào về cách dùng nó khi duyệt tài liệu không?
Nó mang lại trải nghiệm tìm kiếm ngay khi nhập, nhưng bằng giao diện tìm kiếm ngôn ngữ tự nhiên thay vì từ khóa
Workflow của mình như sau
C-c s sRETn n o 2[1]:
C-c sđược bind vào transient menukhoj[2] https://orgmode.org/manual/Speed-Keys.html