+1

Hướng dẫn cài đặt AnythingLLM và tích hợp Chatbot AI vào website EzyPlatform

Từ khi các mô hình ngôn ngữ lớn (LLM) bùng nổ, việc tích hợp chatbot AI vào các nền tảng như Zalo hay Telegram đã trở nên quá quen thuộc. Tuy nhiên, việc đưa một con chatbot lên website công ty thì lại phát sinh một bài toán cực kỳ đau đầu: Làm sao để bot tư vấn đúng nghiệp vụ, không "ảo giác" (bịa thông tin) và tự động ngăn chặn các câu hỏi dẫn dắt sai lệch của khách hàng? Thực tế, việc lấy một đoạn code nhúng lên web không hề khó. Cái khó là làm sao để cấu hình con AI đó phục vụ đúng mục tiêu của doanh nghiệp. Hôm nay, mình sẽ giới thiệu đến anh em AnythingLLM – một giải pháp tuyệt vời để giải quyết vấn đề này, và hướng dẫn chi tiết cách nhúng nó vào website được xây dựng trên EzyPlatform.

1. AnythingLLM là gì?

Đầu tiên, bạn truy cập trang chủ: anythingllm.com Đây là một công cụ cung cấp cả bản miễn phí lẫn trả phí, đóng vai trò như một không gian lưu trữ toàn bộ dữ liệu vận hành của doanh nghiệp hoặc cá nhân.

  • Giới hạn phạm vi: Cho phép các mô hình LLM tương tác và truy vấn thông tin chỉ xoay quanh những dữ liệu được cung cấp. Nó giúp bạn làm việc an toàn trong khuôn khổ tài liệu nội bộ, tự động ngăn chặn các câu hỏi dẫn dắt sai lệch.
  • Tùy chọn Self-hosted: Đảm bảo quyền riêng tư tuyệt đối cho dữ liệu doanh nghiệp.
  • Khả năng mở rộng: Hỗ trợ kết nối với cơ sở dữ liệu (Database), có thiết kế Vector Database tối ưu và kết nối được với nhiều Tools/Agents bên ngoài.

2. Lựa chọn phiên bản: Desktop hay Docker?

AnythingLLM cung cấp 2 phương thức cài đặt chính tùy thuộc vào mục đích sử dụng.

Nên chọn bản Desktop nếu:

  • Bạn muốn 1 ứng dụng cài đặt "1 click" dùng cho cá nhân.
  • Mọi thứ lưu trữ hoàn toàn trên thiết bị (Local RAG, Local LLMs).
  • Không cần xuất Chat Widget ra website công khai ngoài Internet.

Nên chọn bản Docker (Server) nếu:

  • Bạn cần một server chia sẻ không gian làm việc cho nhiều người dùng cùng lúc.
  • Cần quản lý phân quyền (Admin, User) với các tài liệu.
  • Đặc biệt: Bạn muốn tạo Chat Widget và gắn nó lên website công khai (Như bài viết này đang hướng tới).

(Về cấu hình tối thiểu: CPU 2 nhân, RAM 2GB, Ổ cứng 5GB là đủ để chạy AnythingLLM, vì nền tảng này đóng vai trò như một lớp bao bọc kết nối các API bên ngoài nên rất nhẹ).

3. Hướng dẫn cài đặt AnythingLLM (Chi tiết các hệ điều hành)

3.1Cài đặt bản Docker

Sử dụng Docker giúp khởi chạy nhanh và đảm bảo dữ liệu không bị mất khi rebuild container. Chạy lệnh sau trên terminal của bạn:

Bash
export STORAGE_LOCATION=$HOME/anythingllm && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm:latest

Sau khi chạy xong, truy cập http://localhost:3001 để sử dụng.

3.2. Cài đặt bản Desktop

  • Đối với Windows: Tải file .exetừ trang chủ. Khuyến nghị chỉ cài đặt cho "Người dùng hiện tại" (Current User) để tránh lỗi phân quyền. Bản cài sẽ tự động bao gồm Ollama để hỗ trợ chạy mô hình LLM nội bộ bằng GPU.

  • Đối với MacOS: Có thể cài qua file .dmgchọn đúng bản chip Intel hoặc dòng M Apple Silicon để tối ưu tốc độ, hoặc dùng Homebrew với lệnh: brew install --cask anythingllm

  • Đối với Linux: Chạy script cài đặt qua Terminal:

Bash
curl -fsSL https://cdn.anythingllm.com/latest/installer.sh -o installer.sh
chmod +x installer.sh
./installer.sh

4. Cấu hình Workspace và Ngăn chặn Prompt Injection

Sau khi cài đặt xong, hãy truy cập giao diện AnythingLLM:

  • Thiết lập LLM Provider: Truy cập vào Settings -> AI Providers -> LLM. Nếu dùng các hãng phổ thông, bạn cứ chọn thẳng OpenAI, Gemini, Claude... Nếu công ty bạn tự build API riêng hoặc dùng proxy (như ảnh minh họa), hãy chọn mục Generic OpenAI. Sau đó cấu hình các thông số như: Base URL, API Key, Chat Model Name (VD: gpt-5.4), Model context window (độ dài ngữ cảnh, VD: 1.000.000 token) và Max Tokens giới hạn độ dài câu trả lời (VD: 4096).

  • Thiết lập Vector DB & Embedder: Tương tự như LLM, hãy chọn và cấu hình cơ sở dữ liệu vector để hỗ trợ bot trích xuất tài liệu nội bộ.

  • Cấu hình System Prompt: Để bot thực sự phục vụ doanh nghiệp, bạn phải vào phần Settings của bot, định nghĩa rõ các Rule (Luật). Ví dụ: "Bạn là tư vấn viên của công ty X. Bạn chỉ được phép trả lời dựa trên tài liệu được cung cấp. Tự động từ chối và ngăn chặn các câu hỏi dẫn dắt, hỏi về chính trị, thời tiết hoặc các vấn đề nằm ngoài nghiệp vụ công ty".

  • Tạo mã nhúng mang lên Web: Vào Settings -> Chat Widget -> Create new embed. Lúc này một bảng cấu hình sẽ hiện ra :

Chế độ phản hồi: Nên chọn "Query: Only respond to chats related to documents in workspace" để ép bot chỉ trả lời xoay quanh tài liệu, chặn đứng các câu hỏi ngoài lề. Chế độ Chat bên trên sẽ khiến bot trở thành ChatGPT thông thường (hỏi gì cũng trả lời).

Restrict requests from domains: Cực kỳ quan trọng! Hãy điền tên miền website EzyPlatform của bạn vào đây (VD: congtycua ban.com). Nếu để trống, ai cũng có thể lấy mã nhúng của bạn gắn lên web khác và xài "chùa" server tài nguyên của bạn.

Giới hạn tài nguyên: Tùy chỉnh Max chats per day (Số chat tối đa/ngày) hoặc Max chats per session để chống spam.

Message History Limit: Số lượng tin nhắn cũ mà bot nhớ trong một phiên chat (Mặc định là 20). đây là đoạn mã anh em cần sao chép để mang về tích hợp

5. Tích hợp Chatbot lên EzyPlatform

5.1 Hiểu bản chất của đoạn mã Script

Trước khi đi vào thao tác, chúng ta cần hiểu cơ chế hoạt động. Đoạn mã <script> mà AnythingLLM sinh ra ở bước 4 thực chất là một đoạn JavaScript mang tính "toàn cầu". Nghĩa là, nó không phụ thuộc vào nền tảng website của bạn là gì (được code thuần bằng HTML/JS, dùng WordPress, hay xây bằng hệ sinh thái Java như EzyPlatform). Khi bạn dán đoạn mã này vào thẻ <head> hoặc <footer> của website, trình duyệt của người dùng sẽ tự động tải file JavaScript từ server AnythingLLM của bạn về. File JS này sẽ "vẽ" ra một cái khung chat (Widget UI) ở góc màn hình. Mọi thao tác nhắn tin của khách hàng trên khung chat đó đều được gửi qua các luồng API (API Requests) ngầm về máy chủ AnythingLLM để xử lý và trả về kết quả. Nhờ cơ chế này, website chính của bạn hoàn toàn không bị nặng hay ảnh hưởng hiệu năng.

5.2 Các bước nhúng cụ thể trên EzyPlatform

Với EzyPlatform một nền tảng quản trị nội dung mã nguồn mở cực kỳ mạnh mẽ, việc nhúng các đoạn mã bên thứ ba đã được tối ưu hóa sẵn trên giao diện quản trị để bạn không cần đụng vào source code.

Trình tự thực hiện:

  • Đăng nhập vào tài khoản Admin (Trang quản trị) của EzyPlatform.
  • Trên thanh menu điều hướng, tìm và truy cập vào mục Web Settings.
  • Tại đây, bạn sẽ thấy các trường nhập liệu dành cho SEO hoặc mã theo dõi. Hãy tìm đến ô chứa cấu hình Custom Script.
  • Paste toàn bộ đoạn mã <script> vừa copy từ AnythingLLM vào ô này.

Nhấn Save để hệ thống ghi nhận.

Bây giờ, hãy mở tab ẩn danh, truy cập vào trang chủ website của bạn và nhấn F5. Bạn sẽ thấy một chiếc icon Chatbot nhỏ xinh xuất hiện ở góc dưới màn hình!

5.3 Xử lý một vài sự cố giao diện

Mặc dù script của AnythingLLM được tối ưu khá tốt, nhưng khi đưa lên các nền tảng thực tế, đôi khi bạn sẽ gặp vài sự cố nhỏ về mặt hiển thị (UI), đặc biệt là trên giao diện Mobile.

Lỗi thường gặp: Khi người dùng sử dụng iPhone (iOS) và bấm vào ô nhập tin nhắn của chatbot, màn hình trang web tự động bị "zoom" to lên, gây khó chịu.

Cách khắc phục trên EzyPlatform: Bạn hoàn toàn có thể ghi đè lại CSS mặc định.

  • Trong EzyPlatform, tìm đến phần quản lý giao diện: Style / CSS Global.
  • Thêm một vài dòng thuộc tính CSS để ngăn chặn hành vi auto-zoom của iOS.
  • Nhấn lưu lại. Việc cập nhật CSS Global trên EzyPlatform diễn ra ngay lập tức và có tác dụng trên toàn hệ thống.

Việc cài đặt công cụ thì chỉ cần theo đúng document, nhưng để "dạy" cho AI hiểu đúng văn hóa và nghiệp vụ của doanh nghiệp mới là phần ăn tiền. Hy vọng qua bài viết này, anh em đã biết cách kết hợp AnythingLLM và EzyPlatform để tự build cho mình một hệ thống CSKH tự động, an toàn và thông minh. Chúc anh em thành công!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí