№ 64
Nói một câu. ViOla lo phần còn lại. Toàn bộ hành trình đặt xe — điểm đón, điểm đến, hạng xe, giờ hẹn, xác nhận cước — hoàn tất được chỉ bằng lời nói. Màn hình ở đây để phản chiếu cuộc hội thoại, không phải để anh/chị phải thao tác thêm.
Đặt xe bằng giọng nói — tự nhiên như gọi tổng đài, nhanh chóng như sử dụng ứng dụng.
ViOla là một Voice AI Agent hỗ trợ đặt xe bằng giọng nói tiếng Việt, được xây dựng nhằm tự động hóa quy trình tiếp nhận và xử lý cuộc gọi tại các tổng đài vận tải.
Thay vì phải mở ứng dụng, nhập địa chỉ, lựa chọn loại xe và thực hiện nhiều thao tác trên màn hình, người dùng chỉ cần nói yêu cầu của mình một cách tự nhiên:
“Đặt cho tôi một xe 4 chỗ từ Đại học Bách khoa Hà Nội đến sân bay Nội Bài lúc 8 giờ sáng mai.”
ViOla có thể tiếp nhận yêu cầu, xác định điểm đón và điểm đến, hỏi bổ sung những thông tin còn thiếu, chuẩn hóa địa chỉ, báo giá, xác nhận thông tin và thực hiện đặt xe thông qua một cuộc hội thoại bằng giọng nói.
Mục tiêu của ViOla là kết hợp hai ưu điểm:
Qua đó tạo ra một tổng đài viên AI hoạt động 24/7, đồng thời vẫn duy trì khả năng chuyển cuộc gọi cho tổng đài viên thật khi AI gặp tình huống phức tạp.
Mặc dù các ứng dụng gọi xe ngày càng phổ biến, một bộ phận khách hàng vẫn ưu tiên gọi điện trực tiếp đến tổng đài để đặt xe.
Nhóm người dùng này bao gồm:
Tuy nhiên, mô hình tổng đài truyền thống tồn tại nhiều hạn chế.
Số lượng tổng đài viên có giới hạn trong khi lượng cuộc gọi có thể tăng đột biến. Khách hàng phải chờ máy lâu hoặc bỏ cuộc trước khi được phục vụ.
Doanh nghiệp cần duy trì đội ngũ tổng đài viên làm việc theo ca để đảm bảo khả năng phục vụ liên tục 24/7.
Phần lớn các yêu cầu phổ biến như:
đều tuân theo một quy trình tương đối rõ ràng và có khả năng tự động hóa.
| Tổng đài truyền thống | Ứng dụng đặt xe | |
|---|---|---|
| Giao diện | Giọng nói tự nhiên | Chạm / nhập liệu |
| Rào cản sử dụng | Thấp | Cao hơn |
| Khả năng mở rộng | Phụ thuộc nhân sự | Cao |
| Chi phí vận hành | Cao | Thấp |
| Xử lý tình huống phức tạp | Tốt | Hạn chế |
ViOla được xây dựng để lấp khoảng trống giữa hai mô hình này: giữ lại trải nghiệm hội thoại tự nhiên của hotline nhưng đưa khả năng tự động hóa của phần mềm vào quy trình vận hành.
ViOla hoạt động như một tổng đài viên AI, có khả năng thực hiện toàn bộ quy trình đặt xe thông qua hội thoại bằng tiếng Việt.
Một phiên đặt xe điển hình diễn ra theo luồng:
Khách hàng nói yêu cầu
↓
Nhận diện giọng nói
↓
Hiểu yêu cầu & thu thập thông tin
↓
Chuẩn hóa điểm đón / điểm đến
↓
Xác nhận lại với khách hàng
↓
Báo giá & đặt xe
↓
Hoàn tất
Nếu thông tin chưa đầy đủ, ViOla chủ động hỏi lại:
Khách: Tôi muốn đặt xe đi Nội Bài.
ViOla: Anh/chị muốn được đón ở đâu?
Khách: Đại học Bách khoa Hà Nội.
ViOla: Anh/chị muốn đặt xe 4 chỗ hay 7 chỗ?
Khách: Xe 4 chỗ.
ViOla: Tôi xác nhận...
Hệ thống hỗ trợ các nghiệp vụ chính:
Một nguyên tắc quan trọng của ViOla là không để AI tự ý thực hiện những hành động nghiệp vụ quan trọng. Trước khi tạo chuyến, hệ thống bắt buộc đọc lại các thông tin như điểm đón, điểm đến và loại xe để khách hàng xác nhận.
Nếu AI không thể xử lý yêu cầu một cách an toàn, cuộc gọi được chuyển cho tổng đài viên thật cùng với ngữ cảnh đã thu thập.
ViOla được thiết kế dưới dạng một hệ thống Voice AI thời gian thực, trong đó luồng âm thanh được truyền hai chiều giữa người dùng và server.
Ở mức tổng quát:
Voice
↓
Speech-to-Text
↓
Conversation Engine
↓
Geocoding & Business Logic
↓
Text-to-Speech
↓
Voice Response
ViOla sử dụng Blaze STT để chuyển giọng nói tiếng Việt thành văn bản và Blaze TTS để tạo phản hồi bằng giọng nói.
Audio được streaming hai chiều qua WebSocket, giúp hệ thống phản hồi ngay trong quá trình hội thoại thay vì phải chờ xử lý toàn bộ file âm thanh.
Luồng đặt xe được kiểm soát bằng Deterministic State Machine.
Cách tiếp cận này giúp đảm bảo AI luôn tuân thủ đúng quy trình nghiệp vụ:
Thu thập thông tin
↓
Chuẩn hóa
↓
Xác nhận
↓
Báo giá
↓
Đặt xe
Nhờ đó giảm nguy cơ LLM bỏ qua bước hoặc thực hiện sai hành động.
Địa chỉ do người dùng nói được chuẩn hóa và chuyển thành tọa độ thông qua hệ thống Geocoder nhiều tầng:
Goong → GogoDuk → Local Fixtures
Thiết kế này đặc biệt hướng tới các đặc điểm của địa chỉ và địa danh Việt Nam.
Khi AI hỏi lại quá nhiều lần, không thể xác định địa chỉ, gặp yêu cầu ngoài phạm vi hoặc khi khách chủ động yêu cầu gặp người thật, phiên hội thoại được chuyển sang Operator Board.
Tổng đài viên nhận được cả thông tin đã thu thập và lịch sử hội thoại để tiếp tục xử lý mà không cần bắt đầu lại từ đầu.
| Thành phần | Công nghệ |
|---|---|
| Frontend | React 19, TypeScript, Tailwind CSS v4 |
| Backend | FastAPI, Python 3.12 |
| Real-time Communication | WebSocket |
| Speech-to-Text | Blaze STT |
| Text-to-Speech | Blaze TTS |
| Database | PostgreSQL 16 |
| Geocoding | Goong REST API V2, GogoDuk |
| Conversation Management | Deterministic State Machine |
| Deployment | Docker, Docker Compose |
| Infrastructure | AWS EC2 |
| Networking / Security | Cloudflare Tunnel, HTTPS/WSS |
ViOla không chỉ dừng lại ở ý tưởng về một Voice AI Agent mà đã được xây dựng theo hướng MVP có khả năng triển khai thực tế.
Các thành phần quan trọng của pipeline đã có giải pháp cụ thể:
Kiến trúc được đóng gói bằng Docker Compose và có thể triển khai trên một máy chủ cloud.
ViOla không yêu cầu thay đổi hoàn toàn cách khách hàng đang sử dụng dịch vụ.
Với khách hàng, giao diện vẫn rất quen thuộc:
Gọi → nói yêu cầu → xác nhận → có xe.
Trong khi đó, doanh nghiệp có thể sử dụng AI như lớp tiếp nhận đầu tiên, chỉ chuyển những trường hợp khó cho tổng đài viên.
Điều này cho phép triển khai theo từng bước thay vì phải thay thế hoàn toàn hệ thống tổng đài hiện tại.
ViOla đặt ra các mục tiêu:
ViOla vì vậy không hướng tới thay thế hoàn toàn tổng đài viên, mà hướng tới mô hình:
Voice AI
│
┌──────────┴──────────┐
│ │
Ca thông thường Ca phức tạp
│ │
▼ ▼
AI xử lý tự động Tổng đài viên
ViOla hiện tập trung hoàn thiện nền tảng Voice AI trên Web với:
Tích hợp:
Mục tiêu là đưa ViOla từ giao diện Voice AI trên Web thành một AI Agent có thể trực tiếp tiếp nhận cuộc gọi từ đầu số hotline của doanh nghiệp.
Kết nối API hai chiều với hệ thống điều phối xe để ViOla có thể:
Nhận cuộc gọi
→ hiểu yêu cầu
→ tìm xe
→ báo giá
→ tạo chuyến
→ theo dõi trạng thái
trên hệ thống vận hành thực tế.
Tích hợp các cổng thanh toán nhằm mở rộng quy trình từ đặt xe sang một trải nghiệm hoàn chỉnh hơn.
Ứng dụng Speaker Verification để nhận diện/xác thực khách hàng dựa trên đặc trưng giọng nói.
Mở rộng Voice Agent ngoài tiếng Việt để phục vụ:
Kiến trúc của ViOla không bị giới hạn ở đặt xe.
Trong tương lai, nền tảng có thể được mở rộng cho:
ViOla hướng tới một mô hình tổng đài trong đó:
AI xử lý những gì có thể tự động hóa, con người xử lý những gì cần phán đoán và sự linh hoạt.
Thay vì buộc khách hàng phải thích nghi với một giao diện mới, ViOla đưa khả năng của AI vào giao diện tự nhiên nhất mà con người đã sử dụng từ trước đến nay:
giọng nói.
Mục tiêu dài hạn là phát triển ViOla từ một Voice AI Agent đặt xe thành một nền tảng AI-powered Contact Center có khả năng tích hợp vào hệ thống vận hành thực tế của doanh nghiệp.
Nhóm kỹ sư ViOla — T-173
| Member | Role | Student ID |
|---|---|---|
Trần Minh Hạnh (hanhtran01) | Kỹ sư AI · Frontend | 2A202601232 |
Nguyễn Thị Phương (phuongphuongnguyen) | Xử lý dữ liệu · Backend | 2A202601315 |
Phạm Đức Mạnh (manhjhhh) | Kỹ sư AI · Backend · Kiểm thử | 2A202601075 |
Chu Hoàng Việt (Horaise) | Kỹ sư AI · Kiểm thử · Frontend · Knowledge Base | 2A202601277 |