OpenAvatarChat là một nền tảng mã nguồn mở, cho phép bạn nhanh chóng triển khai hệ thống hội thoại AI avatar hoàn chỉnh trên máy tính cá nhân. Dự án cung cấp một bộ công cụ kỹ thuật đầy đủ, từ triển khai cục bộ đến cấu hình đám mây, hỗ trợ đa dạng các mô hình AI và công nghệ avatar.
Tại sao chọn OpenAvatarChat?
OpenAvatarChat nổi bật nhờ kiến trúc module linh hoạt, cho phép bạn tùy ý kết hợp các thành phần khác nhau:
- Kiến trúc Module Hóa Cao: Tự do lựa chọn và kết hợp các module Nhận dạng giọng nói (ASR), Mô hình ngôn ngữ lớn (LLM), Tổng hợp giọng nói (TTS) và Hiển thị Avatar.
- Tối ưu Độ trễ Thấp: Với các kỹ thuật như phát hiện giọng nói chủ động (VAD) và bộ đệm âm thanh, thời gian phản hồi trung bình chỉ còn 2.2 giây.
- Triển khai Linh hoạt: Hỗ trợ ba chế độ triển khai: hoàn toàn cục bộ, sử dụng API đám mây và kết hợp cả hai.
- Hỗ trợ Đa dạng Công nghệ Avatar: Tích hợp các giải pháp avatar như LiteAvatar, LAM, MuseTalk, FlashHead.
Hãy tưởng tượng bạn có thể sử dụng GPU cục bộ để nhận dạng giọng nói, gọi API đám mây để tạo câu trả lời và sau đó dùng GPU để hiển thị nhân vật avatar 3D – OpenAvatarChat mang đến sự linh hoạt tối đa.
Bắt đầu Nhanh chóng: Hướng dẫn Triển khai trong 5 Phút
Bước 1: Chuẩn bị Môi trường và Tải Dự án
Đảm bảo hệ thống của bạn đáp ứng các yêu cầu cơ bản:
- Hệ điều hành: Linux/Windows/macOS (khuyến nghị Ubuntu 22.04+)
- Phiên bản Python: 3.11.7 - 3.11.11
- GPU: Card đồ họa NVIDIA có hỗ trợ CUDA (RTX 3060 trở lên được khuyến nghị)
- RAM: Tối thiểu 16GB
- Dung lượng lưu trữ: Tối thiểu 20GB trống
Tải mã nguồn dự án và khởi tạo các submodule:
git clone https://gitcode.com/gh_mirrors/op/OpenAvatarChat.git
cd OpenAvatarChat
git submodule update --init --recursive --depth 1
Bước 2: Chọn Cấu hình Phù hợp
OpenAvatarChat cung cấp nhiều tệp cấu hình sẵn. Hãy chọn tệp phù hợp nhất với phần cứng của bạn:
| Tệp Cấu hình | Trường hợp Sử dụng | Yêu cầu Phần cứng | Đặc điểm Chính |
|---|---|---|---|
chat_with_qwen_omni.yaml |
Tích hợp Qwen-Omni | Cấu hình trung bình | Hỗ trợ mô hình đa phương thức |
chat_with_openai_compatible.yaml |
Triển khai API đám mây kết hợp | Cấu hình thấp | Tương thích API OpenAI |
chat_with_lam.yaml |
Trải nghiệm avatar 3D | Cấu hình cao | Điều khiển biểu cảm 3D |
chat_with_openai_compatible_bailian_cosyvoice.yaml |
Trải nghiệm nhanh chóng | Cấu hình cơ bản | Triển khai nhanh |
Bước 3: Cài đặt Phụ thuộc
Sử dụng công cụ uv để cài đặt nhanh các thư viện cần thiết:
# Tạo môi trường ảo
uv venv --python 3.11.11
# Cài đặt các phụ thuộc cơ bản
uv pip install setuptools pip
# Cài đặt phụ thuộc cho tệp cấu hình (ví dụ: cấu hình cơ bản)
uv run install.py --uv --config config/chat_with_openai_compatible_bailian_cosyvoice.yaml
Bước 4: Khởi động Dịch vụ Avatar
Chạy tệp demo để khởi động dịch vụ:
uv run src/demo.py --config config/chat_with_openai_compatible_bailian_cosyvoice.yaml
Sau khi khởi động thành công, truy cập https://localhost:8282 trên trình duyệt để bắt đầu trò chuyện với AI avatar của bạn.
Kiến trúc Cốt lõi: Thiết kế Module Hóa
Phân tích 4 Module Chính
Hệ thống OpenAvatarChat bao gồm bốn module độc lập, mỗi module có thể thay thế được:
- Module ASR: Nhận dạng giọng nói, chuyển đổi giọng nói thành văn bản.
- Hỗ trợ các giải pháp như SenseVoice, Bailian ASR.
- Nằm trong thư mục
src/handlers/asr/.
- Module LLM: Mô hình ngôn ngữ lớn, hiểu ý định người dùng và tạo câu trả lời.
- Hỗ trợ API tương thích OpenAI, Qwen-Omni, Dify, v.v.
- Nằm trong thư mục
src/handlers/llm/.
- Module TTS: Tổng hợp giọng nói, chuyển đổi văn bản thành giọng nói tự nhiên.
- Hỗ trợ CosyVoice, EdgeTTS, Bailian TTS, v.v.
- Nằm trong thư mục
src/handlers/tts/.
- Module Avatar: Hiển thị avatar, tạo hình ảnh cho AI.
- Hỗ trợ LiteAvatar, LAM, MuseTalk, FlashHead.
- Nằm trong thư mục
src/handlers/avatar/.
So sánh các Công nghệ Avatar
| Giải pháp | Chất lượng Hiển thị | Yêu cầu Phần cứng | Trường hợp Sử dụng | Ví dụ Tệp Cấu hình |
|---|---|---|---|---|
| LiteAvatar | 2D, nhẹ | Trung bình | Triển khai nhanh, giáo dục | chat_with_openai_compatible_bailian_cosyvoice.yaml |
| LAM | 3D, điều khiển biểu cảm | Cao | Giới thiệu doanh nghiệp, phát thanh viên ảo | chat_with_lam.yaml |
| MuseTalk | Đồng bộ miệng tốt | Trung bình | Sản xuất video, sáng tạo nội dung | chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml |
| FlashHead | Luồng thời gian thực | Cao | Tương tác thời gian thực, livestream | chat_with_openai_compatible_bailian_cosyvoice_flashhead.yaml |
Cấu hình Nâng cao: Tùy chỉnh AI Avatar
Tùy chỉnh Hình ảnh Avatar
Bạn có thể tạo hình ảnh avatar độc đáo của riêng mình:
- Tùy chỉnh LAM: Tham khảo dự án LAM để tạo mô hình 3D.
- Chỉnh sửa Cấu hình: Cập nhật tham số avatar trong tệp cấu hình tương ứng.
- Thay thế Tệp Mô hình: Đặt mô hình tùy chỉnh vào thư mục
models/.
Tối ưu Hiệu suất
Để cải thiện tốc độ phản hồi, hãy thử cấu hình sau:
# Điều chỉnh tham số VAD để giảm kích hoạt sai
SileroVad:
speaking_threshold: 0.5 # Tăng ngưỡng để giảm kích hoạt sai
start_delay: 2048 # Độ trễ bắt đầu
end_delay: 5000 # Độ trễ kết thúc
# Giảm FPS của avatar để giảm tải GPU
LiteAvatar:
fps: 25 # Giảm FPS xuống 25
enable_fast_mode: false # Tắt chế độ nhanh
Cấu hình API Tốt nhất
Khi sử dụng API đám mây, các cấu hình sau sẽ cải thiện trải nghiệm người dùng:
LLMOpenAICompatible:
enabled: True
model_name: "qwen-plus"
api_url: "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key: "YOUR_API_KEY"
max_tokens: 1000 # Giới hạn độ dài câu trả lời
temperature: 0.7 # Điều chỉnh mức độ sáng tạo
timeout: 30 # Thời gian chờ tối đa
Phân tích Trường hợp Sử dụng Thực tế
Trường hợp 1: Trợ giảng AI trong Giáo dục Trực tuyến
Yêu cầu: Cung cấp trợ giảng AI 24/7.
Giải pháp: Kết hợp LiteAvatar với chế độ API đám mây.
Ưu điểm: Chi phí hợp lý, có thể gọi tài nguyên đám mây khi cần, triển khai nhanh chóng, hỗ trợ đồng thời nhiều học viên, hình ảnh thân thiện tăng trải nghiệm học tập.
Cấu hình gợi ý: Sử dụng chat_with_openai_compatible_bailian_cosyvoice.yaml, kích hoạt LiteAvatar, cấu hình giới hạn số lượng truy cập đồng thời.
Trường hợp 2: Hệ thống Dịch vụ Khách hàng Thông minh cho Doanh nghiệp
Yêu cầu: Xây dựng hệ thống dịch vụ khách hàng 24/7 cho doanh nghiệp.
Giải pháp: Sử dụng LAM với nhận dạng giọng nói cục bộ.
Ưu điểm: Bảo mật dữ liệu (xử lý cục bộ), hình ảnh chuyên nghiệp tăng nhận diện thương hiệu, hỗ trợ tích hợp cơ sở tri thức tùy chỉnh.
Cấu hình gợi ý: Sử dụng chat_with_lam.yaml, cấu hình ASR SenseVoice cục bộ, tích hợp API cơ sở tri thức của doanh nghiệp.
Trường hợp 3: Công cụ Sáng tạo Nội dung Cá nhân
Yêu cầu: Sản xuất nội dung video với AI avatar.
Giải pháp: Sử dụng MuseTalk với mô hình cục bộ.
Ưu điểm: Đồng bộ miệng chất lượng cao, làm việc ngoại tuyến tự do sáng tạo, hỗ trợ tạo video hàng loạt.
Cấu hình gợi ý: Sử dụng chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml, cấu hình TTS và ASR cục bộ, điều chỉnh tham số xuất video.
Triển khai với Docker
Docker là lựa chọn lý tưởng cho môi trường sản xuất. OpenAvatarChat cung cấp hỗ trợ Docker đầy đủ:
Triển khai với một Container
# Xây dựng và chạy nhanh chóng
./run_docker_cuda128.sh --config config/chat_with_openai_compatible_bailian_cosyvoice.yaml
Triển khai Docker Compose Đa Dịch vụ
Sử dụng docker-compose để khởi động đồng thời dịch vụ avatar và máy chủ TURN:
version: '3.8'
services:
open-avatar-chat:
build: .
ports:
- "8282:8282"
volumes:
- ./models:/root/open-avatar-chat/models
- ./ssl_certs:/root/open-avatar-chat/ssl_certs
environment:
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY}
command: ["--config", "config/chat_with_openai_compatible_bailian_cosyvoice.yaml"]
coturn:
image: coturn/coturn:latest
ports:
- "3478:3478"
- "3478:3478/udp"
volumes:
- ./coturn-data:/var/lib/coturn
command: --log-file stdout --external-ip=YOUR_PUBLIC_IP
Các Vấn đề Thường gặp và Giải pháp
Vấn đề Cấu hình Môi trường
- Q: Lỗi khi cài đặt
onnxruntime-gpu?
A: Kiểm tra phiên bản CUDA có tương thích không, hoặc thử cài đặt trong môi trường Conda. Card đồ họa dòng 50 yêu cầu CUDA 12.8 trở lên. - Q: Lỗi mã hóa trên Windows?
A: Đặt biến môi trườngPYTHONUTF8=1để khắc phục.
Vấn đề Chạy và Gỡ lỗi
- Q: Avatar đột ngột dừng hoạt động mà không có lỗi?
A: Kiểm tra tham sốconnection_ttltrong cấu hình. Thời gian chờ phiên mặc định là 900 giây, có thể tăng lên nếu cần. - Q: Làm thế nào để xử lý nhiều yêu cầu đồng thời?
A: Hiện tại LiteAvatar không hỗ trợ đồng thời. Tuy nhiên, LAM có hỗ trợ. Bạn có thể điều chỉnh tham số đồng thời trong tệp cấu hình.
Vấn đề Sử dụng Tính năng
- Q: Mã nguồn giao diện người dùng (frontend) ở đâu?
A: Mã nguồn frontend được đưa vào dưới dạng git submodule, nằm trong thư mụcsrc/third_party/gradio_webrtc_videochat. - Q: Có thể chạy trên CPU hoặc Mac không?
A: Có thể chạy cấu hìnhconfig/chat_with_lam.yaml, nhưng cần chỉnh sửa thủ công để chạy ở chế độ CPU.
Đề xuất Triển khai Sản xuất
Thực tiễn Tốt nhất về Cấu hình Bảo mật
- Cấu hình Chứng chỉ SSL: Sử dụng chứng chỉ SSL hợp lệ để tránh cảnh báo bảo mật trình duyệt.
- Kiểm soát Truy cập: Cấu hình tường lửa để giới hạn phạm vi IP truy cập.
- Cập nhật Định kỳ: Luôn cập nhật các gói phụ thuộc và tệp mô hình lên phiên bản mới nhất.
- Giám sát Nhật ký: Cấu hình luân chuyển nhật ký và cảnh báo giám sát.
Chỉ số Giám sát Hiệu suất
- Thời gian Phản hồi: Theo dõi độ trễ đầu cuối, mục tiêu dưới 3 giây.
- Số lượng Phiên Đồng thời: Theo dõi số lượng phiên hoạt động và mức sử dụng tài nguyên.
- Tỷ lệ Thành công API: Thống kê tỷ lệ thành công của các lệnh gọi API ASR, LLM, TTS.
- Mức sử dụng Tài nguyên: Theo dõi chặt chẽ việc sử dụng CPU, GPU, và RAM.
Kiến trúc Khả năng Sẵn sàng Cao
Đối với các ứng dụng cấp doanh nghiệp, chúng tôi đề xuất kiến trúc sau:
- Cân bằng Tải: Triển khai nhiều instance OpenAvatarChat.
- Bộ đệm Redis: Lưu trữ dữ liệu hội thoại và tệp mô hình thường dùng.
- Cụm Cơ sở dữ liệu: Đảm bảo tính tin cậy của dữ liệu người dùng và lịch sử hội thoại.
- Tăng tốc CDN: Tối ưu hóa tốc độ tải tài nguyên tĩnh.
- Giám sát và Cảnh báo: Tích hợp hệ thống giám sát Prometheus + Grafana.
Bắt đầu Hành trình Phát triển AI Avatar của Bạn
OpenAvatarChat cung cấp một nền tảng phát triển AI avatar hoàn chỉnh. Dù bạn muốn:
- Học công nghệ AI: Tìm hiểu sâu về kiến trúc hệ thống avatar và thiết kế module.
- Phát triển ứng dụng thương mại: Xây dựng hệ thống dịch vụ khách hàng, trợ lý ảo, hoặc nền tảng giáo dục trực tuyến.
- Sáng tạo nội dung số: Sản xuất video AI, livestream, hoặc phát thanh viên ảo.
- Nghiên cứu công nghệ tiên tiến: Khám phá tương tác AI đa phương thức và kết xuất thời gian thực.
Dự án này sẽ cung cấp một lộ trình đầy đủ từ nhập môn đến thành thạo. Hãy bắt đầu với cấu hình đơn giản nhất, và sau 5 phút, bạn sẽ sở hữu AI avatar của riêng mình. Khi đã quen thuộc hơn, bạn có thể dần khám phá các tính năng và cấu hình phức tạp hơn.
Hãy hành động ngay: Bắt đầu với tệp cấu hình config/chat_with_openai_compatible_bailian_cosyvoice.yaml, đây là cách nhanh nhất để bắt đầu. Khi gặp sự cố, hãy tham khảo tài liệu chính thức của dự án hoặc mục Câu hỏi thường gặp để được hỗ trợ.
Cách học tốt nhất là thực hành. Tải mã nguồn, chọn cấu hình, cài đặt và chạy – người bạn AI avatar của bạn đang chờ được trò chuyện!