0

[Open Source] #106 - Amurex: Hệ thống quản lý tri thức cuộc họp Hybrid AI với Python, Supabase và Ollama

Trong kỷ nguyên của AI, việc tóm tắt cuộc họp không còn là điều mới lạ, nhưng việc bảo mật dữ liệu nhạy cảm và xây dựng một "bộ nhớ dài hạn" từ các cuộc đối thoại là một thách thức lớn. Amurex giải quyết bài toán này bằng cách cung cấp một hạ tầng Backend mạnh mẽ, cho phép người dùng lựa chọn giữa tốc độ của Cloud AI hoặc sự riêng tư tuyệt đối của Local AI.

Dưới góc độ kỹ thuật, Amurex là một minh chứng cho việc xây dựng ứng dụng AI-Native hiện đại, kết hợp giữa khả năng lưu trữ của Supabase và tính linh hoạt của RAG (Retrieval-Augmented Generation).

Github: https://github.com/Amurex-AI/amurex-backend


🛠️ 1. Nền tảng công nghệ: Kiến trúc Hybrid AI độc đáo

Amurex không "khóa chặt" người dùng vào bất kỳ nhà cung cấp AI nào, mà cho phép chuyển đổi linh hoạt dựa trên nhu cầu:

  • Backend Core (Python 3.11): Sử dụng Python làm ngôn ngữ chủ đạo để tận dụng hệ sinh thái AI phong phú. Toàn bộ logic được đóng gói trong Docker, giúp triển khai đồng nhất từ Local đến Cloud.
  • Hybrid AI Strategy:
    • Online Mode: Tích hợp OpenAI, Groq, Mistral AI cho tốc độ xử lý vượt trội.
    • Local Mode: Hỗ trợ Ollama để chạy các mô hình ngôn ngữ lớn (LLM) ngay tại máy chủ nội bộ, đảm bảo dữ liệu cuộc họp không bao giờ rời khỏi hạ tầng của doanh nghiệp.
  • Storage & Database (Supabase & SQLite): Sử dụng Supabase (PostgreSQL) cho các dữ liệu quan hệ và Storage để lưu trữ file ngữ cảnh. SQLite/Redis được dùng để quản lý cache và các phiên làm việc tốc độ cao.
  • Local Embeddings (Fast-embed): Thay vì gửi dữ liệu lên OpenAI để tạo vector, Amurex sử dụng fast-embed để thực hiện vector hóa ngay tại local, tối ưu hóa cả chi phí và bảo mật.

🏗️ 2. Trụ cột kiến trúc: Quản lý ngữ cảnh và "Ký ức" (Memories)

Kiến trúc của Amurex xoay quanh việc biến các cuộc hội thoại rời rạc thành tri thức có cấu trúc:

  • Context-Aware Processing: Hệ thống cho phép tải lên các tệp ngữ cảnh (meeting_context_files). AI sẽ đọc và hiểu bối cảnh trước khi tóm tắt cuộc họp, giúp kết quả chính xác và sát thực tế hơn.
  • Memory System (RAG): Mọi nội dung cuộc họp sau khi xử lý đều được vector hóa và lưu trữ thành "Memories". Điều này cho phép người dùng truy vấn lại các thông tin cũ (ví dụ: "Tháng trước chúng ta đã thống nhất gì về dự án X?") một cách thông minh.
  • Migration-Driven Development: Toàn bộ cấu trúc Database được quản lý qua các file SQL migration trong Supabase, đảm bảo tính nhất quán của dữ liệu qua các phiên bản nâng cấp.

🔄 3. Workflow: Từ âm thanh cuộc họp đến Email tóm tắt (Sequence Diagram)

Sơ đồ dưới đây mô tả quy trình khép kín của Amurex từ khi tiếp nhận dữ liệu đến khi trả kết quả cho người dùng:

image.png

⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn

  1. Dynamic Client Mode: Sử dụng biến môi trường CLIENT_MODE để thay đổi toàn bộ hành vi của hệ thống (Online/Local). Kỹ thuật này cho phép một bộ mã nguồn duy nhất phục vụ cả người dùng cá nhân lẫn khách hàng doanh nghiệp yêu cầu bảo mật cao.
  2. Efficient Vector Ingestion: Sử dụng fast-embed thay vì các thư viện nặng nề, giúp backend khởi động nhanh và xử lý vector hóa với độ trễ cực thấp ngay cả trên CPU thường.
  3. Automated Post-Meeting Flow: Tích hợp Resend API để tự động hóa quy trình hậu cuộc họp. Đây là bước quan trọng để biến một công cụ AI thành một sản phẩm SaaS hoàn chỉnh (Họp -> Phân tích -> Lưu trữ -> Thông báo).
  4. Resilient Cache Layer: Kết hợp Redis và SQLite để đảm bảo dữ liệu tạm thời luôn khả dụng, tránh việc gọi lại AI API gây tốn kém chi phí và thời gian.

⚖️ 5. So sánh chiến lược

Tiêu chí Amurex Otter.ai / Fireflies DIY LangChain Scripts
Quyền riêng tư Rất cao (Hỗ trợ Local AI) Thấp (Dữ liệu trên Cloud) Tùy thuộc người viết
Quản lý ngữ cảnh Có (RAG-based) Hạn chế Phải tự xây dựng
Triển khai Dễ (Docker/Supabase) SaaS (Không cần cài) Khó
Chi phí Linh hoạt (Pay-as-go hoặc Free) Thuê bao hàng tháng Thấp nhưng tốn công

✅ Kết luận: Tại sao Amurex là hình mẫu cho AI Backend?

Amurex chứng minh rằng một ứng dụng AI tốt không chỉ nằm ở Model LLM nó sử dụng, mà nằm ở cách nó quản lý dữ liệu và ngữ cảnh. Bằng cách kết hợp giữa tính năng RAG hiện đại và khả năng chạy Local AI, Amurex đã tạo ra một giải pháp bền vững cho vấn đề bảo mật thông tin trong doanh nghiệp.

Đối với các kỹ sư AI/Backend, nghiên cứu Amurex sẽ giúp bạn hiểu sâu về:

  • Cách triển khai Hybrid AI (Online & Offline).
  • Kỹ thuật xây dựng RAG pipeline đơn giản nhưng hiệu quả.
  • Tư duy thiết kế SaaS Backend với Supabase và Docker.


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í