Hệ thống Chatbot RAG (Retrieval-Augmented Generation) hướng production, cho phép người dùng trò chuyện và truy vấn thông tin từ nhiều nguồn dữ liệu như tài liệu, hình ảnh OCR và website.
- Ho tro da dinh dang du lieu:
- Tai lieu van ban:
PDF,DOCX,TXT - OCR hinh anh bang
EasyOCR - Web crawling qua
Cloudflare Browser Rendering API
- Tai lieu van ban:
- Pipeline RAG nang cao:
Hybrid Search: ket hopFAISS(semantic) +BM25(keyword)Cross-Encoder Re-ranking: chon context lien quan nhatQuery Rewriting+Multi-hop RetrievalSelf-Evaluation: tu danh gia chat luong cau tra loi
- Kien truc linh hoat:
- Hoat dong tren
CPU - Ho tro
GPU(NVIDIA)
- Hoat dong tren
- Da cai
DockervaDocker Compose. - Co tai khoan Cloudflare (neu dung web crawl).
- Tuy chon:
NVIDIA Container Toolkitneu chay bang GPU.
Dam bao thu muc du an co toi thieu:
manage.pyDockerfiledocker-compose.yml- Thu muc
rag_app/ - Thu muc
streamlit_frontend/ requirements.txt
Tao file moi truong tu mau:
cp .env.example .envMo .env va dien cac gia tri can thiet:
- Database:
POSTGRES_DBPOSTGRES_USERPOSTGRES_PASSWORD
- Hardware:
- Dat
USE_GPU=Trueneu dung GPU NVIDIA - Neu khong dung GPU, dat
USE_GPU=False
- Dat
- Cloudflare (neu dung web crawl):
CLOUDFLARE_ACCOUNT_IDAPI_TOKEN
Neu chay GPU, cap nhat docker-compose.yml cho cac service can GPU (vi du ollama, web):
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]Mac dinh du an dung faiss-cpu. Neu chay GPU, sua requirements.txt:
- Xoa/comment:
faiss-cpu==1.8.0 - Them:
faiss-gpu==1.8.0
Dieu kien bat buoc khi dung GPU:
- Da cai NVIDIA Driver phu hop
- Da cai NVIDIA Container Toolkit
Chay lenh sau tai thu muc goc:
docker-compose up -d --buildLenh nay se build backend/frontend va khoi dong cac service can thiet (bao gom Postgres, Ollama neu co cau hinh).
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuserDu an mac dinh dung:
- LLM:
qwen2:7b - Embedding:
nomic-embed-text
Tai model trong container Ollama:
docker-compose exec ollama ollama pull qwen2:7b
docker-compose exec ollama ollama pull nomic-embed-textBan co the thay doi ten model trong file .env de phu hop cau hinh may.