Skip to content

Các thành phần chính

Hệ thống Trợ lý ảo Công chức số xứ Lạng được xây dựng dựa trên kiến trúc microservices với các thành phần chính sau đây. Mỗi thành phần có vai trò riêng biệt và tương tác chặt chẽ để đảm bảo hệ thống hoạt động hiệu quả.

🖥️ Frontend (Giao diện người dùng)

Mô tả: Giao diện web responsive cho người dùng cuối.

Chức năng chính:

  • Giao diện tra cứu và hỏi đáp.
  • Quản lý phiên làm việc (chat sessions).
  • Hiển thị kết quả tìm kiếm và câu trả lời.
  • Tích hợp soạn thảo văn bản với AI.

Công nghệ: React/TypeScript, Vite, Tailwind CSS.

Vai trò: Cung cấp trải nghiệm người dùng trực quan và dễ sử dụng.

🔧 Backend API

Mô tả: Lớp dịch vụ API RESTful xử lý logic nghiệp vụ.

Chức năng chính:

  • Xác thực và phân quyền người dùng.
  • Điều phối các yêu cầu từ frontend đến các dịch vụ AI.
  • Quản lý dữ liệu người dùng và lịch sử tương tác.
  • Tích hợp với hệ thống bên ngoài (i.Office, VB QPPL).

Công nghệ: Node.js/Express, Python/FastAPI.

Vai trò: Trung tâm điều phối và xử lý logic ứng dụng.

📊 Data Pipeline Service

Mô tả: Dịch vụ xử lý dữ liệu từ thu thập đến lưu trữ.

Chức năng chính:

  • Thu thập dữ liệu từ các nguồn (crawler, API integrations).
  • Tiền xử lý văn bản (cleaning, normalization).
  • Trích xuất metadata và tạo embedding.
  • Lưu trữ vào vector database và search engine.

Công nghệ: Python, Apache Airflow (cho orchestration), Elasticsearch.

Vai trò: Chuẩn bị và duy trì kho dữ liệu chất lượng cao.

🧠 AI Service (LLM & NLP)

Mô tả: Dịch vụ trí tuệ nhân tạo xử lý ngôn ngữ.

Chức năng chính:

  • Phân tích câu hỏi và tìm kiếm ngữ nghĩa.
  • Tạo câu trả lời dựa trên context.
  • Fine-tuning và prompt engineering.
  • Đánh giá chất lượng phản hồi.

Công nghệ: Python, Transformers (Hugging Face), OpenAI API, LangChain.

Vai trò: Cung cấp khả năng AI cốt lõi cho hệ thống.

🗄️ Vector Database

Mô tả: Cơ sở dữ liệu vector lưu trữ embedding của văn bản.

Chức năng chính:

  • Lưu trữ vector embeddings của các chunk văn bản.
  • Tìm kiếm vector similarity (ANN - Approximate Nearest Neighbor).
  • Quản lý metadata và indexing.

Công nghệ: Pinecone, Weaviate, hoặc Qdrant.

Vai trò: Hỗ trợ tìm kiếm ngữ nghĩa nhanh chóng và chính xác.

🔍 Search Engine

Mô tả: Công cụ tìm kiếm toàn văn bản.

Chức năng chính:

  • Indexing văn bản gốc.
  • Tìm kiếm theo từ khóa và fuzzy matching.
  • Hybrid search kết hợp với vector search.

Công nghệ: Elasticsearch, Solr.

Vai trò: Bổ sung cho vector search trong các trường hợp cần tìm kiếm chính xác.

📁 Document Storage

Mô tả: Hệ thống lưu trữ tài liệu gốc.

Chức năng chính:

  • Lưu trữ file PDF, DOC, văn bản.
  • Phục vụ download và preview.
  • Version control cho tài liệu.

Công nghệ: MinIO (S3-compatible), hoặc cloud storage.

Vai trò: Quản lý tài liệu nguồn và đảm bảo tính toàn vẹn.

🔐 Authentication & Authorization

Mô tả: Dịch vụ quản lý truy cập.

Chức năng chính:

  • Đăng nhập/đăng xuất.
  • Phân quyền theo vai trò (admin, user).
  • JWT token management.
  • Tích hợp SSO nếu cần.

Công nghệ: Keycloak, Auth0, hoặc custom implementation.

Vai trò: Đảm bảo bảo mật và kiểm soát truy cập.

📈 Monitoring & Logging

Mô tả: Hệ thống giám sát và ghi log.

Chức năng chính:

  • Thu thập metrics hiệu suất.
  • Ghi log hoạt động hệ thống.
  • Alert khi có lỗi.
  • Analytics sử dụng.

Công nghệ: ELK Stack (Elasticsearch, Logstash, Kibana), Prometheus, Grafana.

Vai trò: Giám sát sức khỏe hệ thống và hỗ trợ debug.

🔄 Message Queue

Mô tả: Hệ thống hàng đợi tin nhắn.

Chức năng chính:

  • Asynchronous processing cho data pipeline.
  • Load balancing cho AI requests.
  • Decoupling giữa các services.

Công nghệ: RabbitMQ, Redis Queue, Kafka.

Vai trò: Đảm bảo scalability và fault tolerance.

📋 Tương tác giữa các thành phần

Frontend ←→ Backend API ←→ AI Service
    ↓           ↓           ↓
Document Storage ← Data Pipeline ← Vector DB

                    Search Engine

                Monitoring & Logging

Mỗi thành phần được thiết kế để có thể scale độc lập và dễ dàng maintain. Hệ thống sử dụng containerization (Docker) và orchestration (Kubernetes) để triển khai và quản lý.