# Hàm Factory Vieneu()

Source: https://docs.vieneu.io/vi/docs/api/factory

Điểm vào chính để tạo một instance VieNeu-TTS.

## Chữ Ký

```python
Vieneu(mode="standard", **kwargs)
```

## Tham Số

| Tham Số | Kiểu | Mặc Định | Mô Tả |
|---------|------|---------|-------|
| `mode` | `str` | `"standard"` | Chế độ backend: `"standard"`, `"fast"`, `"remote"`, `"xpu"` |

### Kwargs Chế Độ Standard

| Tham Số | Kiểu | Mặc Định | Mô Tả |
|---------|------|---------|-------|
| `backbone_repo` | `str` | `"pnnbao-ump/VieNeu-TTS-0.3B-q4-gguf"` | Repo HuggingFace hoặc đường dẫn local |
| `backbone_device` | `str` | `"cpu"` | `"cpu"`, `"cuda"`, `"mps"` |
| `codec_repo` | `str` | `"neuphonic/distill-neucodec"` | Repo mô hình codec |
| `codec_device` | `str` | `"cpu"` | Thiết bị cho codec |
| `hf_token` | `str` | `None` | Token HuggingFace cho mô hình riêng tư |

### Kwargs Chế Độ Remote

| Tham Số | Kiểu | Mặc Định | Mô Tả |
|---------|------|---------|-------|
| `api_base` | `str` | bắt buộc | URL máy chủ (vd. `"http://host:23333/v1"`) |
| `model_name` | `str` | bắt buộc | ID mô hình trên máy chủ |

## Trả Về

Một instance của `BaseVieneuTTS` (lớp con tuỳ thuộc vào `mode`).

## Ví Dụ

```python
# Mặc định: GGUF Q4 trên CPU
tts = Vieneu()

# PyTorch trên GPU
tts = Vieneu(backbone_repo="pnnbao-ump/VieNeu-TTS-0.3B", backbone_device="cuda")

# Chế độ fast LMDeploy
tts = Vieneu(mode="fast", backbone_repo="pnnbao-ump/VieNeu-TTS")

# Client remote
tts = Vieneu(mode="remote", api_base="http://server:23333/v1", model_name="pnnbao-ump/VieNeu-TTS")
```
