@goodgo/ai-services
Microservice AI/ML viết bằng Python FastAPI cho GoodGo Platform.
Các dịch vụ
| Dịch vụ | Router | Mô tả |
|---|---|---|
| AVM | /avm |
Mô hình định giá tự động — dự đoán giá bất động sản dựa trên XGBoost |
| Moderation | /moderation |
Kiểm duyệt nội dung tin đăng (phân tích văn bản + hình ảnh) |
| NLP | /nlp |
NLP tiếng Việt — trích xuất đặc trưng, hiểu truy vấn tìm kiếm |
Tech Stack
- Python 3.12+
- FastAPI 0.115 + Uvicorn
- XGBoost 2.1 (mô hình định giá bất động sản)
- Underthesea 6.8 (tokenizer NLP tiếng Việt)
- Pydantic 2.9 (schema request/response)
Quick Start
# Via Docker (recommended — runs as part of the platform stack)
docker compose up -d ai-services
# Standalone
cd libs/ai-services
pip install -e ".[dev]"
uvicorn app.main:app --reload --port 8000
Cấu trúc dự án
libs/ai-services/
├── app/
│ ├── main.py # FastAPI app entry point
│ ├── config.py # Settings (Pydantic BaseSettings)
│ ├── middleware.py # CORS, rate limiting, error handling
│ ├── models/ # Pydantic request/response schemas
│ │ ├── avm.py
│ │ ├── moderation.py
│ │ └── nlp.py
│ ├── routers/ # API route handlers
│ │ ├── avm.py
│ │ ├── moderation.py
│ │ └── nlp.py
│ └── services/ # Business logic
│ ├── avm_service.py
│ ├── moderation_service.py
│ └── nlp_service.py
├── tests/ # pytest test suite
├── Dockerfile # Production container image
└── pyproject.toml # Dependencies and config
Test
cd libs/ai-services
pytest
Health Check
GET /health → {"status": "ok"}