Back to articles
Technology Insight

Xây dựng Hệ thống Tìm kiếm AI Cá nhân Bảo mật với Perplexica (Vane) và Ollama trên Cloud Server

June 4, 2026

1. Đặt Vấn Đề: Tại Sao Doanh Nghiệp Cần Một Hệ Thống Tìm Kiếm AI Riêng Tư?

Trong kỷ nguyên số, việc tối ưu hóa hiệu suất tìm kiếm thông tin đóng vai trò sống còn đối với sự phát triển của doanh nghiệp. Các công cụ tìm kiếm tích hợp Trí tuệ nhân tạo (AI Search Engine) như Perplexity AI, ChatGPT Search hay Google Gemini đã thay đổi hoàn toàn cách chúng ta khai thác tri thức. Thay vì trả về hàng triệu đường dẫn rời rạc, chúng tổng hợp thông tin, trích dẫn nguồn và đưa ra câu trả lời trực tiếp.

Tuy nhiên, đối với môi trường doanh nghiệp, việc sử dụng các giải pháp đám mây công cộng này đi kèm với rủi ro nghiêm trọng về bảo mật dữ liệu. Khi nhân sự tra cứu thông tin chiến lược, mã nguồn nội bộ hoặc báo cáo tài chính, những dữ liệu nhạy cảm này có thể bị sử dụng để huấn luyện mô hình thế hệ tiếp theo của các hãng công nghệ lớn. Để giải quyết bài toán này, xu hướng xây dựng hệ thống Private Search Engine vận hành hoàn toàn trên hạ tầng Cloud Server cá nhân đang trở thành lựa chọn tối ưu.

Bài viết này sẽ hướng dẫn bạn cách xây dựng một hệ thống tìm kiếm AI bảo mật, sử dụng hai công cụ nguồn mở mãnh mẽ nhất hiện nay: Perplexica (đang được đổi mới thương hiệu thành Vane) và Ollama.

2. Tổng Quan Về Kiến Trúc Giải Pháp: Perplexica và Ollama

Hệ thống tìm kiếm AI riêng tư của chúng ta được cấu thành từ ba thành phần cốt lõi, hoạt động nhịp nhàng để đảm bảo tính chính xác và bảo mật tối đa:

  • Perplexica (Vane): Đây là một AI-powered search engine mã nguồn mở hàng đầu hiện nay. Nó đóng vai trò làm giao diện người dùng (Frontend), hệ thống quản lý logic backend và điều phối quy trình RAG (Retrieval-Augmented Generation). Perplexica tích hợp sẵn công cụ siêu tìm kiếm SearXNG để ẩn danh hóa và thu thập dữ liệu thời gian thực từ internet mà không để lại dấu vết định danh.
  • Ollama: Nền tảng quản lý và thực thi các mô hình ngôn ngữ lớn (LLM) cục bộ như Llama 3, Qwen 2.5 hoặc Mistral. Ollama đóng vai trò là "bộ não" xử lý việc đọc hiểu tài liệu, tổng hợp nội dung và đưa ra câu trả lời cuối cùng.
  • Hạ tầng Cloud Server (VPS/Dedicated Server): Môi trường ảo hóa độc lập để vận hành toàn bộ hệ thống qua Docker, đảm bảo dữ liệu tìm kiếm không bao giờ thoát ra khỏi ranh giới kiểm soát của doanh nghiệp.
Mô hình hoạt động (Workflow): Người dùng nhập câu hỏi → Perplexica gửi yêu cầu ẩn danh qua SearXNG để cào dữ liệu từ các bộ máy tìm kiếm → Nội dung trang web được trích xuất và chuyển vào Ollama để LLM xử lý → Perplexica trả về câu trả lời hoàn chỉnh kèm nguồn trích dẫn (citations) chính xác.

3. Chuẩn Bị Hạ Tầng Trước Khi Cài Đặt

Để hệ thống vận hành mượt mà với tốc độ phản hồi dưới 5 giây, cấu hình Cloud Server cần đáp ứng các tiêu chuẩn kỹ thuật sau:

  • Hệ điều hành: Ubuntu 22.04 LTS hoặc Ubuntu 24.04 LTS ổn định.
  • Phần cứng khuyến nghị: Tối thiểu 4 vCPU, 8GB RAM (nếu chạy mô hình LLM nhỏ như Qwen 2.5 1.5B hoặc Llama 3 3B). Khuyến nghị sử dụng các dòng Cloud Server có hỗ trợ GPU (như NVIDIA T4 hoặc A10G) nếu cần chạy các mô hình lớn hơn (7B, 14B) để đạt tốc độ xử lý tối ưu.
  • Công cụ bổ sung: Docker, Docker Compose, Nginx và một tên miền (Domain Name) đã trỏ về IP của server để thiết lập SSL bảo mật.

4. Quy Trình Triển Khai Chi Tiết Bừng Bước

Bước 1: Cài đặt và cấu hình Ollama

Đầu tiên, truy cập vào Cloud Server của bạn qua SSH và cài đặt Ollama bằng câu lệnh chính thức:

curl -fsSL [https://ollama.com/install.sh](https://ollama.com/install.sh) | sh

Vì Perplexica sẽ chạy trong môi trường Docker, chúng ta cần cấu hình để Ollama chấp nhận các kết nối mạng đến từ các container khác thay vì chỉ giới hạn ở localhost. Hãy chỉnh sửa dịch vụ systemd của Ollama:

sudo systemctl edit ollama.service

Thêm đoạn cấu hình sau vào file cấu hình mở rộng:

[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"

Lưu lại và khởi động lại dịch vụ để áp dụng thay đổi:

sudo systemctl daemon-reload
sudo systemctl restart ollama

Tiếp theo, hãy tải xuống mô hình ngôn ngữ lớn và mô hình nhúng (Embedding) phục vụ cho tính năng tìm kiếm tương đồng:

ollama pull qwen2.5:7b
ollama pull nomic-embed-text

Bước 2: Triển khai Perplexica bằng Docker Compose

Tạo một thư mục riêng cho dự án và tiến hành tải mã nguồn Perplexica:

mkdir -p /opt/perplexica && cd /opt/perplexica
git clone [https://github.com/ItzCrazyKns/Perplexica.git](https://github.com/ItzCrazyKns/Perplexica.git) .
cp sample.config.toml config.toml

Chỉnh sửa file config.toml để liên kết với Ollama. Thay đổi tham số đường dẫn kết nối của nhà cung cấp local:

OLLAMA = "http://:11434"

Khởi chạy hệ thống bằng Docker Compose để tự động dựng cả ứng dụng Perplexica và lõi tìm kiếm SearXNG tích hợp bên trong:

docker compose up -d

Kiểm tra trạng thái hoạt động của các container bằng lệnh docker compose ps để đảm bảo cổng 3000 (Giao diện người dùng) và các thành phần bổ trợ đã sẵn sàng.

Bước 3: Cấu hình Reverse Proxy Nginx và Thiết lập SSL

Để đảm bảo an toàn thông tin khi truy cập từ xa, việc mã hóa lưu lượng bằng giao thức HTTPS là bắt buộc. Cài đặt Nginx và Certbot:

sudo apt update
sudo apt install nginx python3-certbot-nginx -y

Tạo cấu hình Nginx mới cho tên miền của bạn tại đường dẫn /etc/nginx/sites-available/search. Do Perplexica sử dụng giao thức WebSockets để truyền dữ liệu thời gian thực theo luồng (streaming), cấu hình Nginx bắt buộc phải hỗ trợ nâng cấp kết nối (Upgrade headers):

server {
    listen 80;
    server_name search.company.com;

    location / {
        proxy_pass [http://127.0.0.1:3000](http://127.0.0.1:3000);
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Kích hoạt cấu hình và tiến hành cấp chứng chỉ SSL miễn phí từ Let's Encrypt:

sudo ln -s /etc/nginx/sites-available/search /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d search.company.com

5. Đánh Giá Hiệu Năng và Trải Nghiệm Thực Tế

Sau khi hoàn tất cài đặt, truy cập vào đường dẫn tên miền của bạn. Giao diện Setup Wizard trực quan của Perplexica xuất hiện, cho phép bạn lựa chọn Provider là Ollama, chọn Chat Model là qwen2.5:7b và Embedding Model là nomic-embed-text.

Hệ thống cung cấp nhiều chế độ tìm kiếm chuyên sâu độc đáo (Focus Modes) mang lại lợi ích thực tế vượt trội:

  1. Chế độ Web (General Search): Thay thế hoàn hảo cho việc tra cứu thông thường nhưng loại bỏ hoàn toàn quảng cáo và mã theo dõi hành vi của các bên thứ ba.
  2. Chế độ Academic: Tìm kiếm sâu trong các cơ sở dữ liệu học thuật, báo cáo khoa học phục vụ đắc lực cho phòng R&D (Nghiên cứu và Phát triển) của doanh nghiệp.
  3. Chế độ Reddit/Discussions: Tìm kiếm giải pháp cho các lỗi kỹ thuật trực tiếp từ các cuộc thảo luận của cộng đồng lập trình viên trên toàn cầu.

Về mặt hiệu năng, nhờ tính năng keep_alive của Ollama giữ mô hình liên tục trên RAM/VRAM, tốc độ xử lý thông tin diễn ra vô cùng nhanh chóng. Dữ liệu câu hỏi được xử lý nội bộ, loại bỏ nguy cơ rò rỉ thông tin mật ra các đám mây công cộng.

6. Kết Luận và Khuyến Nghị Vận Hành

Xây dựng một Private Search Engine bằng Perplexica và Ollama là một bước đi chiến lược đối với các doanh nghiệp coi trọng quyền riêng tư dữ liệu và muốn tự chủ công nghệ AI. Giải pháp này vừa khai thác được nguồn tri thức khổng lồ của internet toàn cầu, vừa tận dụng sức mạnh lập luận của LLM mà không phải đánh đổi bằng an ninh thông tin.

Để tối ưu hệ thống dài hạn, doanh nghiệp nên thường xuyên cập nhật phiên bản Docker Image của Perplexica để nhận các tính năng mới, đồng thời giám sát dung lượng tài nguyên Cloud Server để nâng cấp kịp thời khi số lượng nhân sự truy cập đồng thời gia tăng.