Một chatbot thông minh sử dụng LangChain và RAG để tương tác với hệ thống bệnh viện
Chatbot thông minh này được xây dựng với LangChain và RAG (Retrieval-Augmented Generation) để cung cấp trải nghiệm tương tác tự nhiên với hệ thống bệnh viện.
- 🔍 Truy vấn thông tin về bệnh viện, bác sĩ và bệnh nhân
- 📊 Phân tích dữ liệu về lượt khám và chi phí
- 💬 Xử lý đánh giá và phản hồi của bệnh nhân
- ⏱️ Theo dõi thời gian chờ tại các bệnh viện
- 🏦 Quản lý thông tin bảo hiểm và thanh toán
-
RAG với LangChain
- Kết hợp dữ liệu có cấu trúc và phi cấu trúc
- Tạo câu trả lời chính xác và tự nhiên
-
Neo4j Graph Database
- Lưu trữ dữ liệu quan hệ phức tạp
- Truy vấn hiệu quả với Cypher
-
FastAPI Backend
- API hiệu năng cao
- Tài liệu API tự động với Swagger
- Dễ dàng mở rộng
-
Streamlit Frontend
- Giao diện người dùng thân thiện
- Tương tác trực quan
- Cập nhật realtime
-
Xử lý ngôn ngữ tự nhiên
- Hỗ trợ tiếng Việt
- Hiểu ngữ cảnh và ý định người dùng
git clone https://github.com/LeHuyHongNhat/LLM-RAG-Chatbot-with-LangChain.git
cd LLM-RAG-Chatbot-with-LangChain
conda create -n chatbot python=3.10
conda activate chatbot
pip install -r requirements.txt
# Tạo file .env từ mẫu
cp .env.example .env
# Cập nhật các biến môi trường trong .env
# Terminal 1 - Backend
cd chatbot_api
uvicorn src.main:app --reload --port 8000
# Terminal 2 - Frontend
cd chatbot_frontend
streamlit run src/main.py
chatbot-pro/
├── chatbot_api/ # Backend FastAPI
│ ├── src/
│ │ ├── main.py # Entry point
│ │ ├── agents/ # LangChain agents
│ │ ├── models/ # Pydantic models
│ │ └── utils/ # Helper functions
│ └── requirements.txt
├── chatbot_frontend/ # Frontend Streamlit
│ ├── src/
│ │ └── main.py # UI components
│ └── requirements.txt
├── docs/ # Documentation
├── tests/ # Unit tests
└── README.md
Chatbot có thể trả lời nhiều loại câu hỏi:
Loại câu hỏi | Ví dụ |
---|---|
🏥 Thông tin bệnh viện | "Có những bệnh viện nào trong hệ thống?" |
⏰ Thời gian chờ | "Thời gian chờ hiện tại ở bệnh viện Wallace-Hamilton là bao lâu?" |
💰 Chi phí | "Chi phí trung bình cho các lượt khám bảo hiểm y tế là bao nhiêu?" |
👨⚕️ Thông tin bác sĩ | "Bác sĩ nào có thời gian điều trị trung bình ngắn nhất?" |
📈 Thống kê | "Tỷ lệ lượt khám có đánh giá tại mỗi bệnh viện là bao nhiêu?" |
Mọi đóng góp đều được chào đón! Quy trình đóng góp:
- Fork repository
- Tạo branch mới (
git checkout -b feature/AmazingFeature
) - Commit thay đổi (
git commit -m 'Add some AmazingFeature'
) - Push lên branch (
git push origin feature/AmazingFeature
) - Mở Pull Request
Distributed under the MIT License. See LICENSE
(View on GitHub) for more information.
Lê Huy Hồng Nhật - @LeHuyHongNhat
Project Link: https://github.com/LeHuyHongNhat/LLM-RAG-Chatbot-with-LangChain