❤️ AZDIGI chính thức cập nhật hệ thống blog mới hoàn chỉnh. Tuy nhiên có thể một số bài viết bị sai lệch hình ảnh, hãy ấn nút Báo cáo bài viết ở cuối bài để AZDIGI cập nhật trong thời gian nhanh nhất. Chân thành cám ơn.
Nếu bạn đang tìm một nền tảng để xây dựng ứng dụng AI mà không cần code nhiều, Dify là cái tên đáng chú ý nhất lúc này. Đây là một open-source platform với hơn 80.000 stars trên GitHub, đã được Linux Foundation đưa vào danh mục dự án chính thức. Nói cách khác, đây không phải project hobby của ai đó, mà là một nền tảng nghiêm túc với cộng đồng và tổ chức đứng sau.
Dify cho phép bạn tạo chatbot, AI agent, RAG pipeline, workflow tự động hóa bằng giao diện kéo thả. Bạn kết nối model (OpenAI, Anthropic, Ollama local, v.v.), thiết kế luồng xử lý, rồi publish thành API endpoint hoặc web app. Toàn bộ quá trình gần như không cần viết code.
Trong bài này, mình sẽ hướng dẫn bạn cài Dify lên VPS riêng bằng Docker Compose, kết nối với Ollama để chạy model local, và tạo chatbot đầu tiên.
Dify vs Flowise vs Langflow
Trước khi bắt tay vào cài đặt, bạn có thể thắc mắc tại sao chọn Dify mà không phải Flowise hay Langflow. Cả ba đều là no-code AI platform, nhưng hướng đi khác nhau khá rõ.
| Tiêu chí | Dify | Flowise | Langflow |
|---|---|---|---|
| GitHub Stars | 80k+ | 35k+ | 50k+ |
| Backed by | Linux Foundation | Community | DataStax |
| Giao diện | Workflow builder + Chat UI | Flow builder | Flow builder |
| RAG tích hợp | Có (Knowledge base) | Có | Có |
| Agent support | Có (multi-tool agents) | Có | Có |
| API endpoint | Tự động từ workflow | Có | Có |
| Observability | Tích hợp sẵn (logs, traces) | Hạn chế | Qua LangSmith |
| Độ phức tạp cài đặt | Docker Compose (dễ) | npm/Docker (dễ) | Docker/pip (trung bình) |
| Phù hợp với | Production apps, team | Prototype nhanh | LangChain users |
Tóm lại: Flowise nhẹ và nhanh cho prototype. Langflow mạnh nếu bạn đã quen LangChain. Còn Dify thì toàn diện hơn cho production, có observability, quản lý user, và API endpoint sẵn. Nếu bạn muốn một platform “cài xong là dùng được luôn” cho team hoặc dự án thật, Dify là lựa chọn hợp lý.
Yêu cầu VPS
Dify chạy nhiều container (web, API, worker, database, Redis, vector store), nên cần VPS có cấu hình tối thiểu như sau:
- CPU: 2 cores trở lên
- RAM: 4GB trở lên (khuyến nghị 8GB nếu chạy thêm Ollama)
- Disk: 40GB SSD trở lên
- OS: Ubuntu 22.04/24.04 hoặc Debian 12
- Docker & Docker Compose: đã cài sẵn
Nếu chưa cài Docker, bạn chạy nhanh: curl -fsSL https://get.docker.com | sh rồi thêm user vào group docker: sudo usermod -aG docker $USER. Logout rồi login lại là dùng được.
Cài đặt Dify bằng Docker Compose
Quá trình cài đặt Dify khá đơn giản, chỉ vài lệnh là xong.
Bước 1: Clone repo
git clone https://github.com/langgenius/dify.git
Bước 2: Tạo file .env và khởi chạy
cd dify/docker
cp .env.example .env
docker compose up -d
Lần đầu chạy sẽ mất vài phút để pull images. Dify sẽ khởi tạo các container: nginx, web, api, worker, db (PostgreSQL), redis, weaviate (vector store), và sandbox.
Kiểm tra trạng thái:
docker compose ps
Tất cả container phải ở trạng thái Up hoặc healthy. Nếu container nào bị restart liên tục, kiểm tra log bằng docker compose logs [tên-container].
Truy cập lần đầu
Mở trình duyệt, truy cập http://IP-VPS:80. Bạn sẽ thấy trang thiết lập ban đầu, yêu cầu tạo tài khoản admin.
- Nhập email, tên, và mật khẩu cho admin account
- Đăng nhập vào dashboard
Giao diện Dify khá trực quan: bên trái là menu chính với các mục Studio, Knowledge, Tools, và Explore. Bạn sẽ làm việc chủ yếu trong Studio để tạo ứng dụng AI.
Nếu bạn muốn truy cập qua domain thay vì IP, hãy trỏ domain về VPS và cấu hình reverse proxy (Nginx hoặc Caddy) với SSL. File .env có biến APP_WEB_URL để bạn cập nhật URL.
Kết nối Ollama để chạy model local
Một trong những điểm mạnh của Dify là hỗ trợ rất nhiều model provider. Bạn có thể dùng OpenAI, Anthropic, Google Gemini, hoặc chạy model local qua Ollama.
Nếu bạn đã cài Ollama trên cùng VPS, kết nối như sau:
- Vào Settings (góc trên phải) → Model Provider
- Tìm Ollama trong danh sách provider
- Nhập URL:
http://host.docker.internal:11434 - Nhập tên model (ví dụ:
llama3.2,qwen2.5,gemma3) - Chọn loại model (LLM hoặc Text Embedding) và lưu lại
host.docker.internal là địa chỉ đặc biệt cho phép container Docker truy cập vào host machine. Trên Linux, bạn cần thêm extra_hosts: ["host.docker.internal:host-gateway"] vào docker-compose.yml nếu chưa có, hoặc dùng trực tiếp IP nội bộ của VPS.
Sau khi kết nối thành công, bạn sẽ thấy model Ollama xuất hiện trong danh sách khi tạo ứng dụng mới.
Tạo chatbot đầu tiên
Giờ đến phần hay nhất. Vào Studio → Create from Blank → chọn Chatflow hoặc Workflow.
Với Chatflow, bạn sẽ thấy một canvas với các node kéo thả:
- Start: nhận input từ user
- LLM: gọi model AI (chọn model đã kết nối ở bước trước)
- Answer: trả kết quả cho user
Luồng đơn giản nhất: Start → LLM → Answer. Bạn viết system prompt trong node LLM, chọn model, rồi bấm Preview ở góc phải để test ngay trên giao diện.
Muốn nâng cao hơn? Thêm node Knowledge Retrieval để chatbot tra cứu tài liệu riêng (RAG), hoặc thêm IF/ELSE, Code, HTTP Request để xử lý logic phức tạp.
Các tính năng nổi bật của Dify
Sau khi cài xong và tạo chatbot đầu tiên, bạn sẽ dần khám phá thêm các tính năng mà Dify cung cấp:
RAG (Retrieval-Augmented Generation)
Vào mục Knowledge, upload file PDF, TXT, Markdown, hoặc crawl website. Dify sẽ tự chunk, embedding, và lưu vào vector store. Khi dùng trong workflow, chatbot sẽ tìm kiếm trong tài liệu để trả lời chính xác hơn thay vì “bịa” câu trả lời.
Agents
Dify hỗ trợ tạo AI Agent có khả năng sử dụng tools: tìm kiếm web, chạy code, gọi API bên ngoài, truy vấn database. Bạn cấu hình tools trong phần Tools, rồi gắn vào Agent node trong workflow.
Observability
Mỗi lần user tương tác, Dify ghi lại toàn bộ: input, output, token usage, latency, từng bước trong workflow. Bạn xem được trong mục Logs của mỗi app. Rất hữu ích để debug và tối ưu prompt.
Tạo API endpoint từ workflow
Đây là tính năng mình thấy rất tiện. Khi bạn tạo xong một workflow hoặc chatbot, bấm Publish. Dify sẽ tự động tạo API endpoint cho app đó.
Vào mục API Access của app, bạn sẽ thấy:
- API base URL
- API key để xác thực
- Tài liệu API với curl examples
Ví dụ gọi API từ curl:
curl -X POST 'http://IP-VPS/v1/chat-messages' \
-H 'Authorization: Bearer app-xxxxx' \
-H 'Content-Type: application/json' \
-d '{
"inputs": {},
"query": "Xin chào",
"response_mode": "blocking",
"user": "user-123"
}'
Với tính năng này, bạn có thể biến bất kỳ workflow nào thành một API service. Tích hợp vào website, app mobile, Telegram bot, hoặc bất kỳ hệ thống nào cần gọi AI.
Cập nhật Dify
Dify release bản mới khá thường xuyên (khoảng 1-2 tuần/lần). Để cập nhật:
cd dify/docker
git pull origin main
docker compose pull
docker compose up -d
Trước khi update, nên backup database: docker compose exec db pg_dump -U postgres dify > backup.sql. Phòng trường hợp bản mới có breaking changes.
Nếu có thay đổi trong file .env.example (biến mới), bạn cần cập nhật thủ công vào file .env của mình. Dify thường ghi rõ trong release notes những thay đổi cần lưu ý.
Tổng kết
Dify là một trong những no-code AI platform tốt nhất hiện tại cho self-hosted. Cài đặt đơn giản với Docker Compose, giao diện trực quan, hỗ trợ nhiều model provider, và có sẵn các tính năng production-ready như RAG, Agents, API endpoint, observability.
Nếu bạn đang muốn xây dựng ứng dụng AI cho dự án cá nhân hoặc cho team mà không muốn phụ thuộc hoàn toàn vào các nền tảng SaaS, Dify trên VPS riêng là lựa chọn rất đáng thử. Bạn kiểm soát được data, chọn model tùy ý, và scale theo nhu cầu.
Chúc bạn cài đặt thành công!
Có thể bạn cần xem thêm
- n8n + Ollama - Tự động hóa workflow với AI chạy trên VPS riêng
- n8n + AI: Xây dựng Workflow tự động với ChatGPT và LLMs
- RAG là gì? Xây chatbot tài liệu nội bộ trên VPS
- Cài Open WebUI + Ollama bằng Docker Compose - Tạo ChatGPT riêng trên VPS
- Hướng dẫn dùng Subagents trong Claude để tạo trợ lý AI thông minh
- Reverse Proxy Ollama với Nginx - Truy cập AI qua domain riêng với HTTPS
Về tác giả
Trần Thắng
Chuyên gia tại AZDIGI với nhiều năm kinh nghiệm trong lĩnh vực web hosting và quản trị hệ thống.