Ứng dụng chatbot thông minh sử dụng RAG (Retrieval-Augmented Generation) để trả lời câu hỏi về nội dung tài liệu PDF bằng tiếng Việt.
Dự án này là một chatbot được xây dựng bằng Streamlit, sử dụng:
- LangChain: Framework để xây dựng ứng dụng LLM
- Groq API: LLM model (Llama 3.1 8B Instant) để tạo phản hồi
- Chroma: Vector database để lưu trữ embeddings
- HuggingFace Embeddings: Model tiếng Việt để tạo embeddings
- 📄 Upload và xử lý file PDF
- 🔍 Semantic chunking để chia nhỏ tài liệu
- 💬 Chatbot trả lời câu hỏi dựa trên nội dung PDF
- 🇻🇳 Hỗ trợ tiếng Việt
- 🎯 RAG (Retrieval-Augmented Generation) để tìm kiếm thông tin chính xác
- Python 3.8 trở lên
- Groq API Key (lấy tại https://console.groq.com/)
- Clone repository
git clone https://github.com/trannam1084/RAG-Chatbot.git
cd "RAG-Chatbot"- Tạo virtual environment (khuyến nghị)
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate- Cài đặt dependencies
pip install -r requirements.txt- Tạo file .env
Tạo file
.envtrong thư mục gốc với nội dung:
GROQ_API_KEY=your_groq_api_key_here
- Chạy ứng dụng
streamlit run chatbot_app.pyỨng dụng sẽ mở tại http://localhost:8501
- Upload PDF: Chọn file PDF từ sidebar và nhấn "Xử lý PDF"
- Đặt câu hỏi: Nhập câu hỏi về nội dung tài liệu vào ô chat
- Nhận trả lời: Chatbot sẽ trả lời dựa trên thông tin trong PDF
- Streamlit: Framework web app
- LangChain: LLM framework
- Groq: LLM API
- Chroma: Vector database
- HuggingFace: Embedding models
Dự án này được tạo cho mục đích học tập và nghiên cứu.
- Trần Hải Nam