Một chatbot AI đơn giản với backend FastAPI và frontend React.js, sử dụng Ollama để chạy các mô hình AI cục bộ.
******* Lưu ý: Sử dụng python 3.11.
-
Đảm bảo đã cài đặt Docker và Docker Compose
-
Cài đặt Ollama:
- Windows: Tải và cài đặt từ trang chủ Ollama
- Linux/Mac: Chạy lệnh sau:
curl -fsSL https://ollama.ai/install.sh | sh
-
Tải mô hình AI (ví dụ: gemma:2b):
ollama pull gemma:2b # Bạn có thể dụng các model khác -
Chạy lệnh sau từ thư mục gốc của dự án:
docker-compose up --build
-
Truy cập ứng dụng:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Tạo môi trường ảo Python:
cd backend
python -m venv venv
source venv/bin/activate # Trên Windows: venv\Scripts\activate- Cài đặt dependencies:
pip install -r requirements.txt- Chạy backend server:
uvicorn main:app --reload- Cài đặt dependencies:
cd frontend
npm install- Chạy development server:
npm startbackend/: Chứa code FastAPIfrontend/: Chứa code React.js
docker-compose.yml: Cấu hình Docker Compose cho cả frontend và backendfrontend/Dockerfile: Cấu hình Docker cho frontend Reactbackend/Dockerfile: Cấu hình Docker cho backend FastAPI
- Build và chạy:
docker-compose up --build - Chạy ở chế độ nền:
docker-compose up -d --build - Dừng các container:
docker-compose down - Xem logs:
docker-compose logs -f
- llama2
- mistral
- codellama
- phi
- gemma
- và nhiều mô hình khác...
- Tải mô hình:
ollama pull <tên-mô-hình> - Xem danh sách mô hình đã tải:
ollama list - Xóa mô hình:
ollama rm <tên-mô-hình> - Chạy mô hình:
ollama run <tên-mô-hình>
- Đảm bảo Ollama đang chạy trước khi khởi động ứng dụng
- Mô hình sẽ được tải xuống lần đầu tiên khi sử dụng
- Kiểm tra tài nguyên hệ thống trước khi tải các mô hình lớn
-
Kiểm tra trạng thái Ollama:
# Kiểm tra phiên bản Ollama ollama --version # Kiểm tra trạng thái dịch vụ Ollama systemctl status ollama # Linux # hoặc kiểm tra trong Task Manager trên Windows
-
Kiểm tra trạng thái Docker:
# Kiểm tra trạng thái các container docker ps # Kiểm tra logs của container cụ thể docker logs <container_id> # Kiểm tra tài nguyên Docker docker stats
-
Kiểm tra kết nối API:
# Kiểm tra API backend curl http://localhost:8000/health # Kiểm tra API Ollama curl http://localhost:11434/api/version
-
Lỗi Ollama không khởi động:
# Khởi động lại dịch vụ Ollama systemctl restart ollama # Linux # hoặc khởi động lại ứng dụng Ollama trên Windows
-
Lỗi Docker container:
# Xóa và tạo lại container docker-compose down docker-compose up --build # Xóa cache Docker docker system prune -a
-
Lỗi kết nối giữa frontend và backend:
# Kiểm tra network Docker docker network ls # Kiểm tra kết nối giữa các container docker network inspect <network_name>
-
Lỗi mô hình Ollama:
# Xóa và tải lại mô hình ollama rm <model_name> ollama pull <model_name> # Kiểm tra dung lượng mô hình ollama list
# Kiểm tra CPU và RAM
top # Linux/Mac
# hoặc Task Manager trên Windows
# Kiểm tra dung lượng ổ đĩa
df -h # Linux/Mac
# hoặc This PC trên Windows- Kiểm tra logs của từng service
- Đảm bảo đủ tài nguyên hệ thống
- Kiểm tra phiên bản của các thành phần
- Đảm bảo các port không bị chiếm dụng
- Kiểm tra kết nối mạng