- Triển khai các hệ thống RAG cục bộ để tương tác với các tài liệu riêng tư mà không cần gửi dữ liệu lên đám mây.
- Cấu hình linh hoạt các mô hình ngôn ngữ và nhúng thông qua tích hợp Ollama.
- Quản lý kiến thức nâng cao thông qua các không gian làm việc độc lập với khả năng kiểm soát quyền truy cập đa người dùng.
AnythingLLM và Ollama cho phép bạn tạo ra một trợ lý có thể tra cứu tài liệu của chính bạn. Sử dụng các mô hình chạy trên máy tính hoặc máy chủ. Ollama đảm nhiệm việc tải mô hình ngôn ngữ, trong khi AnythingLLM cung cấp giao diện, sắp xếp các tệp và truy xuất thông tin liên quan bằng RAG.
Khi tất cả các thành phần được cấu hình cục bộ, tài liệu và truy vấn không cần phải được gửi đến nhà cung cấp mô hình đám mây. Tuy nhiên, quyền riêng tư này Điều đó cũng phụ thuộc vào việc bạn không kích hoạt các công cụ tìm kiếm trên web, API bên ngoài hoặc các công cụ khác. Những thiết bị truyền tải thông tin ra bên ngoài nhóm.
Những thứ bạn cần trước khi kết nối AnythingLLM với Ollama

Bạn cần cài đặt và chạy Ollama, cũng như AnythingLLM Desktop hoặc một phiên bản được triển khai bằng Docker. Phiên bản Desktop đơn giản hơn cho người dùng cá nhân, trong khi đó, Docker cho phép truy cập từ trình duyệt. và chia sẻ quá trình cài đặt.
Các tài nguyên cần thiết phụ thuộc vào mô hình được chọn, lượng tử hóa của nó và độ dài ngữ cảnh. Một mô hình nhỏ có thể chạy hoàn toàn trên CPU, mặc dù tốc độ sẽ chậm hơn. Các mô hình với 7.000 hoặc 8.000 tỷ tham số thường yêu cầu nhiều bộ nhớ hơn và mang lại trải nghiệm tốt hơn khi Ollama có thể sử dụng GPU tương thích.
Không nên đặt yêu cầu RAM tối thiểu áp dụng cho tất cả các trường hợp. Trước khi tải xuống một mô hình lớn, hãy kiểm tra kích thước của nó và đảm bảo bạn có đủ bộ nhớ cho hệ điều hành, AnythingLLM và cơ sở dữ liệu vector.
Tải xuống mẫu trò chuyện và mẫu nhúng.
Ollama cần một mô hình để tạo ra câu trả lời. Và nếu bạn cũng muốn sử dụng nó như một nhà cung cấp nhúng, thì đây là một mô hình khác chuyên về chuyển đổi tài liệu thành vector.
Bạn có thể tải xuống hai mẫu có sẵn bằng cách sử dụng:
ollama pull llama3.1:8b
ollama pull nomic-embed-text
Mô hình đầu tiên được sử dụng để hội thoại và viết phản hồi. nomic-embed-text Nó chỉ tạo ra các đoạn mã nhúng và không thể được sử dụng như một mẫu trò chuyện. Bạn có thể kiểm tra các mẫu có sẵn bằng lệnh:
ollama list
Những cái tên này chỉ là ví dụ, không phải là yêu cầu bắt buộc. Bạn có thể... Chọn mẫu trò chuyện nhỏ hơn nếu nhóm có nguồn lực hạn chế.Đối với các tài liệu chủ yếu bằng tiếng Tây Ban Nha, bạn cũng có thể quan tâm đến mẫu nhúng đa ngôn ngữ có sẵn trong thư viện Ollama, chẳng hạn như: bge-m3.
Mô hình nhúng phải được lựa chọn trước khi lập chỉ mục cho một thư viện lớn. Nếu bạn thay đổi nó sau này, bạn sẽ phải xử lý lại các tài liệu để tạo ra các vectơ tương thích.
Hướng dẫn cách kết nối AnythingLLM Desktop với Ollama
Mở cài đặt AnythingLLM và chọn Ollama làm nhà cung cấp mô hình ngôn ngữ.Nếu cả hai ứng dụng đều chạy trên cùng một máy tính, thông thường bạn sẽ sử dụng địa chỉ này:
http://127.0.0.1:11434
AnythingLLM sẽ hiển thị các mẫu đã tải xuống. Chọn mẫu bạn sẽ sử dụng cho cuộc trò chuyện và kiểm tra trước khi thêm tài liệu.
Tiếp theo, hãy mở cài đặt nhà cung cấp nhúng. Bạn có thể Chọn mô hình nhúng AnythingLLM hoặc chọn Ollama và sử dụng mô hình nhúng. Đã tải xuống trước đó. LanceDB có thể được giữ lại như một cơ sở dữ liệu vector cục bộ nếu bạn không cần một hệ thống khác.
Đừng thiết lập cửa sổ ngữ cảnh nâng cao chỉ vì mô hình hỗ trợ điều đó. Việc tăng ngữ cảnh sẽ làm tăng mức tiêu thụ bộ nhớ và có thể làm chậm phản hồi. Hãy bắt đầu với cấu hình được Ollama phát hiện và chỉ sửa đổi nếu tình huống của bạn yêu cầu.
Cách kết nối AnythingLLM trong Docker với Ollama

Khi AnythingLLM được chạy bên trong một container, localhost Nó trỏ đến chính container, chứ không phải máy tính chủ. Trong Docker Desktop dành cho Windows hoặc macOS, bạn có thể sử dụng:
http://host.docker.internal:11434
Trên Linux, tên đó có thể không tự động có sẵn. Bạn có thể thêm ánh xạ khi khởi động container hoặc đưa nó vào Docker Compose:
extra_hosts:
- "host.docker.internal:host-gateway"
Nó cũng có thể cần thiết Cấu hình Ollama để lắng nghe trên một địa chỉ có thể truy cập được từ mạng Docker.Không nên để cổng 11434 được tiếp xúc trực tiếp với Internet, vì API cục bộ của Ollama không được thiết kế để công khai mà không có thêm lớp bảo vệ.
Nếu Ollama và AnythingLLM đang chạy dưới dạng các dịch vụ từ cùng một tệp Docker Compose, sẽ gọn gàng hơn nếu kết hợp chúng vào một mạng riêng chung và sử dụng tên dịch vụ, ví dụ:
http://ollama:11434
Sau khi lưu địa chỉ, hãy kiểm tra xem AnythingLLM có hiển thị được các mô hình đã cài đặt trước khi tiếp tục.
Thêm tài liệu và cấu hình RAG
Tạo một không gian làm việc và tải lên các tài liệu bạn muốn tham khảo. Để chúng có thể truy cập được qua RAG, bạn phải thêm chúng vào không gian làm việc và bắt đầu xử lý. AnythingLLM sẽ chia văn bản thành các đoạn, tạo ra các vector nhúng và lưu trữ chúng trong cơ sở dữ liệu vector.
Khi bạn đặt câu hỏi, hệ thống sẽ truy xuất một số đoạn văn bản liên quan và kết hợp chúng vào ngữ cảnh được gửi đến mô hình. Điều này giúp giảm lượng văn bản được xử lý, nhưng đồng thời cũng làm tăng khối lượng xử lý của mô hình. Nó không tự động đọc tất cả các tài liệu. trong mỗi lần tư vấn.
Nếu phản hồi bỏ sót thông tin liên quan, hãy xem xét lại số lượng tối đa các đoạn được truy xuất và ngưỡng tương đồng. Ngưỡng quá khắt khe có thể loại bỏ đoạn chứa phản hồi. Tài liệu hướng dẫn khuyến nghị nên tạm thời thử tùy chọn không giới hạn khi RAG không tìm thấy thông tin có trong các tệp.
Các tài liệu tham khảo được hiển thị bởi AnythingLLM giúp xác định tài liệu được sử dụng, nhưng chúng không đảm bảo rằng câu trả lời là chính xác hoặc số trang chính xác luôn được chỉ ra. Bạn nên kiểm tra lại nguồn trước khi sử dụng kết quả cho các quyết định quan trọng.
Nó giải quyết những vấn đề phổ biến nhất.
Nếu AnythingLLM không phát hiện Ollama, trước tiên hãy kiểm tra xem dịch vụ có đang chạy hay không và địa chỉ đã cấu hình có thể truy cập được từ cùng môi trường nơi AnythingLLM đang chạy hay không. Bạn cũng có thể xác minh API cục bộ bằng cách sử dụng:
curl http://localhost:11434/api/tags
Nếu mô hình xuất hiện trong Ollama nhưng không xuất hiện trong AnythingLLM, hãy làm mới danh sách mô hình và kiểm tra xem bạn đã chọn đúng nhà cung cấp chưa. Trong Docker, vấn đề thường liên quan đến... lạm dụng localhost hoặc với cấu hình mạng ngăn cản việc truy cập máy chủ..
Khi phản hồi không chính xác, hãy kiểm tra mô hình nhúng, ngôn ngữ tài liệu, kích thước đoạn văn và ngưỡng tương đồng. Một mô hình trò chuyện lớn hơn sẽ không khắc phục được tình trạng truy xuất kém nếu các đoạn văn phù hợp không đến được ngữ cảnh.
Việc sử dụng Ollama giúp tránh được chi phí truy vấn API bên ngoài, nhưng vẫn tiêu tốn điện năng, không gian lưu trữ và chi phí bảo trì thiết bị. Ưu điểm chính của sự kết hợp này là khả năng kiểm soát nơi xử lý tài liệu và điều chỉnh mô hình phù hợp với nguồn lực sẵn có.
Tôi là một người đam mê công nghệ và đã biến sở thích “đam mê” của mình thành một nghề. Tôi đã dành hơn 10 năm cuộc đời mình để sử dụng công nghệ tiên tiến và mày mò đủ loại chương trình chỉ vì tò mò. Bây giờ tôi chuyên về công nghệ máy tính và trò chơi điện tử. Điều này là do trong hơn 5 năm, tôi đã viết cho nhiều trang web khác nhau về công nghệ và trò chơi điện tử, tạo ra các bài viết nhằm cung cấp cho bạn thông tin bạn cần bằng ngôn ngữ mà mọi người đều có thể hiểu được.
Nếu bạn có bất kỳ câu hỏi nào, kiến thức của tôi bao gồm mọi thứ liên quan đến hệ điều hành Windows cũng như Android dành cho điện thoại di động. Và cam kết của tôi là với bạn, tôi luôn sẵn sàng dành một vài phút và giúp bạn giải quyết mọi thắc mắc mà bạn có thể có trong thế giới internet này.