Flowise: Cài đặt và xây dựng chatbot, pipeline RAG bằng giao diện kéo thả không cần code

Artificial Intelligence tutorial - IT technology blog
Artificial Intelligence tutorial - IT technology blog

Vấn đề với AI development theo kiểu truyền thống

Mình bắt đầu thử build ứng dụng RAG hồi đầu năm ngoái — và phải thú thật là giai đoạn đầu khá mất thời gian. Chỉ để setup một pipeline đơn giản (load PDF → chunk → embed → lưu vector store → query), mình phải viết cả trăm dòng Python, debug version conflict giữa LangChain và các thư viện phụ thuộc, rồi refactor lại khi muốn đổi từ Chroma sang Qdrant.

Vấn đề không phải là quá khó. Vấn đề là mỗi lần thay đổi một thành phần trong pipeline là phải sửa code ở nhiều chỗ, chạy lại, test lại. Với developer thì chịu được, nhưng khi cần prototype nhanh cho client hoặc làm internal tool cho team không biết code — đây là rào cản thật sự.

Flowise ra đời để giải quyết đúng điểm đó.

Flowise là gì và tại sao nó khác

Flowise là open-source tool cho phép xây dựng LLM workflow và chatbot thông qua giao diện kéo thả. Thay vì viết code, bạn kéo các “node” (LLM, document loader, vector store, memory, tool…) vào canvas và nối chúng lại thành một flow hoàn chỉnh.

So với các tool tương tự như LangFlow hay n8n, Flowise có một số điểm nổi bật:

  • Chạy hoàn toàn local — không cần cloud, phù hợp với dữ liệu nhạy cảm của doanh nghiệp
  • Expose REST API tự động — mỗi flow sau khi lưu là có ngay API endpoint để tích hợp
  • Tích hợp sẵn với Ollama — build AI stack local 100%, không tốn một xu API fee
  • Hỗ trợ cả Chatflow lẫn Agentflow — từ chatbot đơn giản đến multi-agent workflow phức tạp

Hai loại flow chính trong Flowise

  • Chatflow: Pipeline tuyến tính — input đi qua các node theo thứ tự cố định. Dùng cho chatbot, Q&A, RAG.
  • Agentflow: Agent có tools, tự quyết định bước tiếp theo dựa trên context. Dùng cho autonomous task, multi-step reasoning.

Cài đặt Flowise

Có ba cách cài: npm (nhanh nhất cho dev), Docker Compose (khuyên dùng cho production), hoặc tự build từ source. Mình thường dùng Docker cho server và npm khi cần test nhanh trên máy local.

Cách 1 — npm (5 phút là xong)

npm install -g flowise
npx flowise start

Truy cập http://localhost:3000 là thấy ngay UI. Phù hợp để thử nhanh, không cần cấu hình thêm gì.

Cách 2 — Docker Compose (khuyên dùng)

version: '3.1'
services:
  flowise:
    image: flowiseai/flowise
    restart: always
    environment:
      - PORT=3000
      - FLOWISE_USERNAME=admin
      - FLOWISE_PASSWORD=your_strong_password
    ports:
      - '3000:3000'
    volumes:
      - ~/.flowise:/root/.flowise
docker compose up -d

Cấu hình environment variables

Để bảo mật endpoint và tùy chỉnh storage path, tạo file .env:

PORT=3000
FLOWISE_USERNAME=admin
FLOWISE_PASSWORD=strongpassword123
DATABASE_PATH=/data/flowise
APIKEY_PATH=/data/flowise
LOG_PATH=/data/flowise/logs
FLOWISE_SECRETKEY_OVERWRITE=your_secret_key_here

Thực hành: Xây dựng chatbot với Ollama

Giả sử bạn đã có Ollama chạy local (xem bài hướng dẫn Ollama trên blog này). Dưới đây là cách tạo chatbot đơn giản nhất — chỉ mất khoảng 5 phút.

Tạo Chatflow đầu tiên

  1. Vào ChatflowsAdd New
  2. Từ panel bên trái, kéo vào canvas 3 node:
    • ChatOllama (mục Chat Models)
    • ChatPromptTemplate (mục Prompts) — tùy chọn, để tùy chỉnh system prompt
    • BufferMemory (mục Memory) — để bot nhớ ngữ cảnh hội thoại
  3. Cấu hình node ChatOllama:
    • Base URL: http://localhost:11434
    • Model Name: llama3.2 (hoặc model bạn đã pull)
  4. Nối các node và click Save
  5. Click biểu tượng chat ở góc phải để test ngay trên UI

Gọi chatbot qua API

Mỗi Chatflow sau khi save sẽ có một ID riêng. Gọi từ bất kỳ ngôn ngữ nào:

curl -X POST http://localhost:3000/api/v1/prediction/{chatflow-id} \
  -H "Content-Type: application/json" \
  -d '{"question": "Xin chào, bạn có thể giúp gì cho tôi?"}'

Flowise còn generate sẵn embed snippet (HTML + React) để nhúng chatbot lên website — copy paste là xong, không cần viết thêm gì.

Thực hành: Pipeline RAG đọc tài liệu PDF

Đây là use case mình dùng nhiều nhất trong thực tế — cho chatbot “đọc” tài liệu nội bộ (hướng dẫn kỹ thuật, policy công ty, catalog sản phẩm) và trả lời câu hỏi chính xác từ nội dung đó.

Sơ đồ flow

PDF File Loader → Recursive Character Text Splitter
                                   ↓
                        Ollama Embeddings
                                   ↓
                        Faiss Vector Store ← (Upsert mode)
                                   ↓
              Conversational Retrieval QA Chain ← ChatOllama

Cấu hình từng node quan trọng

Recursive Character Text Splitter:

  • Chunk Size: 1000
  • Chunk Overlap: 200 — quan trọng, để không mất context ở ranh giới giữa các chunk

Ollama Embeddings (thay thế miễn phí cho OpenAI Embeddings):

# Pull model embedding trước
ollama pull nomic-embed-text
  • Base URL: http://localhost:11434
  • Model Name: nomic-embed-text

Faiss Vector Store: Không cần setup server riêng, lưu file local — phù hợp cho prototype và internal tools. Flowise hỗ trợ thêm Qdrant, Chroma, Pinecone, Weaviate nếu cần scale.

Upsert document và test

Sau khi thiết kế xong flow, click nút Upsert. Flowise sẽ:

  1. Đọc PDF và extract text
  2. Chia thành các chunk theo cấu hình
  3. Embed từng chunk bằng Ollama
  4. Lưu vectors vào Faiss

Chuyển sang Retrieval mode và đặt câu hỏi về nội dung PDF — kết quả thường khá chính xác ngay lần đầu.

Một số tips từ quá trình dùng thực tế

Trong quá trình làm việc thực tế, mình nhận thấy đây là một trong những kỹ năng quan trọng cần nắm — không phải chỉ biết cách kéo node, mà còn hiểu được khi nào nên dùng tool nào và cách tránh các lỗi phổ biến.

Backup flow thường xuyên: Flowise lưu data trong ~/.flowise/. Export flow thành JSON sau mỗi lần thay đổi lớn:

# Backup toàn bộ flowise data
tar -czf flowise-backup-$(date +%Y%m%d).tar.gz ~/.flowise/

API Key Management: Flowise có built-in API key manager (Settings → API Keys). Tạo key riêng cho từng client — dễ revoke mà không ảnh hưởng các integration khác.

Streaming response: Trong cấu hình Chatflow, enable streaming để user thấy response xuất hiện từng chữ — UX tốt hơn nhiều so với chờ toàn bộ rồi hiện một lúc.

Custom Tool cho Agentflow: Nếu build agent phức tạp hơn, Flowise cho phép viết custom tool bằng JavaScript và import vào flow — điểm mạnh để mở rộng khả năng mà không cần fork source code.

Flowise phù hợp với ai, không phù hợp với ai

Mình không nghĩ Flowise thay thế code hoàn toàn. Với pipeline production-grade, cần kiểm soát từng chi tiết nhỏ, hoặc team đã quen với Python/LangChain — code vẫn là lựa chọn linh hoạt hơn.

Nhưng Flowise tỏa sáng trong những tình huống sau:

  • Prototype nhanh — validate idea trong 30 phút thay vì vài tiếng
  • Internal tools — chatbot đọc tài liệu nội bộ, Q&A hệ thống, tự động hóa nhỏ
  • Team không phải developer — product manager, analyst tự build và test flow
  • Demo cho client — visual flow dễ giải thích hơn đống code rất nhiều

Kết luận

Flowise thu hẹp khoảng cách giữa “muốn build AI app” và “phải biết code mới làm được”. Cài đặt nhanh (5 phút với Docker), giao diện kéo thả trực quan, expose API tự động — đủ để đưa một ý tưởng từ whiteboard ra thành tool chạy được trong buổi sáng.

Nếu bạn đang cần prototype một chatbot hoặc hệ thống RAG, thử Flowise trước khi quyết định viết code từ đầu — bạn có thể sẽ bất ngờ vì không cần đến code.

Source code và tài liệu chính thức: github.com/FlowiseAI/Flowise

Share: