№ 04
Trợ lý AI dạng RAG cho đội sale bất động sản, khách hàng và admin — tra cứu tức thời bảng giá, mặt bằng, chính sách và tồn kho real-time, luôn trích nguồn tài liệu và bắt buộc Sale xác nhận (HITL) trước khi gửi thông tin cam kết cho khách.
Đội sale bất động sản phải tra cứu thủ công hàng trăm trang bảng giá, mặt bằng, chính sách bán hàng, tiện ích (PDF/Excel/Word) rải rác nhiều tài liệu — chậm và dễ tư vấn sai giá hoặc cam kết nhầm thông tin hợp đồng khi làm việc trực tiếp với khách tại hiện trường. Các bản tài liệu cũ/mới chồng chéo cũng dễ gây mâu thuẫn dữ liệu mà không ai phát hiện kịp thời.
Auremont — trợ lý AI dạng RAG cho đội sale bất động sản, lõi là một LangGraph StateGraph gồm 13 node xử lý tuần tự/rẽ nhánh:
preflight — chặn sớm câu hỏi vi phạm chính sách hoặc trả lời trực tiếp từ bộ nhớ cá nhân hoá, không tốn vòng retrieval.scope_resolve — suy ra dự án/phân khu đang được nhắc tới từ câu hỏi hiện tại và lịch sử hội thoại.cache_check — semantic cache bằng một collection Qdrant riêng (salesmate_qa_cache) cho các câu hỏi mở đầu trùng lặp, tiết kiệm token.retrieve — tìm kiếm hybrid (vector + BM25 qua RRF) trên Qdrant, lọc theo quyền INTERNAL/PUBLIC, có Cohere rerank (v3.5).criteria_resolve — gộp dần bộ lọc bất động sản (loại căn, ngân sách, diện tích...) tích luỹ qua nhiều lượt chat, quyết định có cần tra tồn kho không.tool_call — function-calling gọi API tồn kho real-time của doanh nghiệp.criteria_diagnose — khi lọc ra 0 kết quả, tự chẩn đoán bằng leave-one-out để giải thích lý do và gợi ý nới điều kiện.image_tool — gắn ảnh mặt bằng/tiện ích liên quan trước khi sinh câu trả lời, để model biết ảnh nào sẽ đính kèm.generate — Gemini sinh câu trả lời kèm trích dẫn nguồn tài liệu.verify — Verifier Agent độc lập chấm điểm Faithfulness/Relevancy/Completeness (điểm cuối lấy giá trị nhỏ nhất trong ba tiêu chí).bump_retry — khi điểm verify dưới ngưỡng, tăng bộ đếm retry rồi quay lại generate sinh lại câu trả lời (tối đa 1 lần).low_confidence — khi Verifier đề xuất từ chối hoặc đã hết lượt retry mà vẫn điểm thấp, trả về thông báo "không đủ thông tin" thay vì trả lời sai.risk_check — dò câu trả lời có đề cập giá/cam kết để bắt buộc hiển thị thẻ HITL, chặn Sale gửi thẳng cho khách khi chưa xác nhận.Ngoài luồng chat, hệ thống còn có: ingest tài liệu kèm quét prompt injection trước khi vector hoá, phát hiện xung đột giữa các phiên bản tài liệu để Admin xử lý, hàng đợi live handoff AI→Sale khi khách cần người thật, quản lý tài khoản/presence của đội Sale, và dashboard observability (trace từng bước pipeline, usage LLM theo ngày, audit log) phục vụ vận hành.
Tech stack thực tế: FastAPI + LangGraph (backend orchestration), MySQL/SQLAlchemy (metadata + audit), Qdrant (vector DB + semantic cache), Redis (session/bộ nhớ cá nhân hoá/rate-limit, fail-open), MinIO (lưu file gốc), Gemini (LLM sinh câu trả lời + embedding), Cohere Rerank v3.5 (cross-encoder reranking), React 19 + React Router 7 + TypeScript + Vite (frontend).
Pipeline hội thoại là phần được kiểm thử sâu nhất trong dự án: hàng chục bộ test riêng cho các tình huống thực tế (đa lượt, intent hỗn hợp, phân giải dự án, reflection/tự sửa lỗi), cộng bộ regression 27 tình huống nghiệp vụ thật (test_27_case_acceptance) và golden dataset chấm bằng DeepEval. Toàn bộ hệ thống chạy được đầy đủ qua Docker Compose (6 container: backend, frontend, MySQL, Qdrant, Redis, MinIO) từ một lệnh docker compose up, và đã có bản demo deploy trên Vercel (frontend) + Render (backend).
INTERNAL/PUBLIC hiện tại.