update README and SERVICE

This commit is contained in:
2026-04-20 20:59:51 +07:00
parent 4b1fd185d7
commit 89fbac3177
5 changed files with 640 additions and 27 deletions
+71 -17
View File
@@ -45,8 +45,8 @@ huggingface_hub
| Model | Repo HuggingFace | Mô tả |
|-------|-----------------|-------|
| `gemma-4-E2B-it` | [google/gemma-4-E2B-it](https://huggingface.co/google/gemma-4-E2B-it) | Edge 2B — nhanh hơn, nhẹ hơn |
| `gemma-4-E4B-it` | [google/gemma-4-E4B-it](https://huggingface.co/google/gemma-4-E4B-it) | Edge 4B — thông minh hơn, nặng hơn |
| `gemma-4-E2B-it` | [litert-community/gemma-4-E2B-it-litert-lm](https://huggingface.co/litert-community/gemma-4-E2B-it-litert-lm) | Edge 2B — nhanh hơn, nhẹ hơn |
| `gemma-4-E4B-it` | [litert-community/gemma-4-E4B-it-litert-lm](https://huggingface.co/litert-community/gemma-4-E4B-it-litert-lm) | Edge 4B — thông minh hơn, nặng hơn |
> **Lưu ý:** Nên dùng bản `-it` (instruction-tuned) cho chat/hỏi đáp. Bản không có `-it` là base model, chỉ predict token tiếp theo, không phù hợp để hội thoại.
@@ -54,25 +54,23 @@ huggingface_hub
```bash
# Gemma 4 E2B (nhỏ hơn, ~nhanh hơn)
huggingface-cli download google/gemma-4-E2B-it \
hf download litert-community/gemma-4-E2B-it-litert-lm \
--include '*.litertlm' \
--local-dir models/
# Gemma 4 E4B (lớn hơn, ~thông minh hơn)
huggingface-cli download google/gemma-4-E4B-it \
hf download litert-community/gemma-4-E4B-it-litert-lm \
--include '*.litertlm' \
--local-dir models/
```
> **Hoặc** để server tự động tải khi chọn model chưa có sẵn.
---
## 🚀 Hướng dẫn sử dụng
### Bước 1 — Tải ít nhất một model vào thư mc `models/`
Xem lệnh tải ở trên.
### Bước 2 — Chạy server
### Cách 1: Chạy với tùy chọn mc định
```bash
python server.py
@@ -92,18 +90,51 @@ Server sẽ hiển thị menu **chọn model** trước khi khởi động:
Gemma 4 Edge 4B — thông minh hơn, chậm hơn
✗ chưa tải
Chọn model (1/2):
[3] Sử dụng model từ đường dẫn khác
Chọn model (1/2/3):
```
Nếu model chưa được tải, server sẽ hiển thị lệnh `huggingface-cli download` tương ứng và hỏi có muốn chọn model khác không.
**Tính năng tự động tải model:**
- Nếu chọn model chưa có, server sẽ hỏi: `Bạn muốn tải model ngay bây giờ? (y/n)`
- Chọn `y` để tự động tải từ Hugging Face
- Hoặc chọn `n` để tải thủ công sau
### Bước 3 — Mở Web UI
**Tự động xử lý port:**
- Nếu port 8000 đã bị chiếm, server sẽ hỏi chọn port khác
- Hoặc nhấn Enter để tự động tìm port khả dụng (8001-8999)
```
http://<địa-chỉ-ip>:8000
### Cách 2: Chạy với tham số command line
```bash
# Chỉ định port
python server.py --port 8080
# Chỉ định model từ đường dẫn
python server.py --model /path/to/model.litertlm
# Kết hợp cả hai
python server.py --port 8080 --model ~/models/gemma-4-E2B-it.litertlm
# Xem hướng dẫn đầy đủ
python server.py --help
```
Tên model đang chạy sẽ hiển thị trên header của Web UI.
### Mở Web UI
```
http://<địa-chỉ-ip>:<port>
```
Tên model và port sẽ hiển thị khi server khởi động:
```
====================================================
🚀 Server đang khởi động...
📍 URL: http://localhost:8000
📦 Model: gemma-4-E2B-it.litertlm
====================================================
```
---
@@ -307,6 +338,16 @@ curl -X DELETE http://localhost:8000/chat/$SESSION
## ⚙️ Cấu hình
### Tham số command line
| Tham số | Mô tả | Mặc định |
|---------|-------|---------|
| `--port`, `-p` | Port để chạy server | `8000` |
| `--model`, `-m` | Đường dẫn đầy đủ tới file model .litertlm | None (chọn từ menu) |
| `--help`, `-h` | Hiển thị hướng dẫn | - |
### Cấu hình trong code
Các tham số chỉnh trong đầu `server.py`:
| Biến | Mô tả | Mặc định |
@@ -315,7 +356,6 @@ Các tham số chỉnh trong đầu `server.py`:
| `AVAILABLE_MODELS` | Danh sách model + repo HuggingFace | xem trong file |
| `backend` | Backend inference | `litert_lm.Backend.CPU` |
| `host` | Địa chỉ lắng nghe | `0.0.0.0` |
| `port` | Cổng | `8000` |
Để thêm model mới vào menu, bổ sung vào dict `AVAILABLE_MODELS` trong `server.py`:
@@ -323,7 +363,7 @@ Các tham số chỉnh trong đầu `server.py`:
AVAILABLE_MODELS = {
"gemma-4-E2B-it": {
"file": "gemma-4-E2B-it.litertlm",
"repo": "google/gemma-4-E2B-it",
"repo": "litert-community/gemma-4-E2B-it-litert-lm",
"desc": "Gemma 4 Edge 2B — nhỏ hơn, nhanh hơn",
},
"ten-model-moi": {
@@ -340,6 +380,20 @@ AVAILABLE_MODELS = {
engine = litert_lm.Engine(str(MODEL_PATH), backend=litert_lm.Backend.GPU)
```
### Chạy như systemd service (Linux)
Xem hướng dẫn chi tiết trong [SERVICE_README.md](SERVICE_README.md)
```bash
# Cài đặt service
sudo bash install_service.sh
# Quản lý service
sudo systemctl status litert-lm
sudo systemctl restart litert-lm
sudo journalctl -u litert-lm -f
```
---
## 📝 Ghi chú