| --- |
| title: MoxhiMT — Dịch Trung → Việt |
| emoji: 📜 |
| colorFrom: red |
| colorTo: gray |
| sdk: static |
| pinned: false |
| short_description: Dịch truyện Trung→Việt 30M, chạy ngay trong trình duyệt |
| models: |
| - DanVP/HachimiMT-30-zh-vi-onnx |
| - DanVP/MoxhiMT-30-onnx |
| --- |
| |
| # MoxhiMT — Dịch truyện Trung → Việt trên trình duyệt |
|
|
| Mô hình MarianMT ~31M ([DanVP/HachimiMT-30-zh-vi-onnx](https://huggingface.co/DanVP/HachimiMT-30-zh-vi-onnx), |
| int8 ~55 MB) chạy hoàn toàn trên thiết bị bằng |
| [🤗 Transformers.js](https://huggingface.co/docs/transformers.js) + ONNX Runtime Web. |
| Văn bản không rời khỏi máy của bạn. |
|
|
| Thiết kế để dịch chương truyện dài 2–3k chữ **không crash trên iPhone**: |
|
|
| - tách câu → chunk ≤ 192 token, pad về bucket shape cố định (64/128/224) để arena |
| của ONNX Runtime không phình theo shape động; |
| - dịch tuần tự, greedy, stream kết quả từng đoạn; |
| - iOS: `numThreads = 1` (né bug WASM đa luồng của WebKit) + **thay worker mới** sau |
| mỗi ~12 chunk — WASM linear memory không co lại được, terminate worker là cách |
| duy nhất trả RAM thật sự cho hệ điều hành; |
| - hộp đen ghi localStorage (sống sót sau crash): từng chunk + kích thước WASM memory |
| theo thời gian — mở lại trang sau crash sẽ có nút "Chép báo cáo" để phân tích. |
|
|
| Hai model chọn được trong phần Nâng cao: **HachimiMT-30** (6e2d, ~31M — mặc định) và |
| **MoxhiMT-30** (8e2d, ~37M). Trên PC, app tự bật đa luồng qua service worker COOP/COEP |
| (crossOriginIsolated) + dịch theo batch — nhanh hơn bản 1 luồng ~10 lần. |
|
|
| Mã nguồn: build bằng Vite, xem tab *Files*. |
|
|