Dùng Lina và HY-MT1.5-1.8B cục bộ để dịch mục bản địa hóa
Nhân viên AICommunity Edition+Tài liệu này mô tả một thực hành dịch bản địa hóa: triển khai cục bộ một mô hình nhỏ chuyên cho dịch thuật, cung cấp nó như dịch vụ tương thích OpenAI, rồi cấu hình cho Lina dịch hàng loạt các mục bản địa hóa của NocoBase.
Cách này phù hợp để dịch nhiều mục hệ thống, văn bản plugin, menu, tiêu đề collection và nhãn field. So với mô hình trực tuyến, mô hình cục bộ không bị ảnh hưởng bởi giới hạn RPM, TPM hay đồng thời của API bên ngoài, và có thể điều chỉnh số lượng đồng thời theo năng lực máy và mô hình.
Tổng quan
Tài liệu này sử dụng:
- Mô hình:
tencent/HY-MT1.5-1.8B-GGUF - Dịch vụ suy luận:
llama-server - Tích hợp: OpenAI-compatible API
- Nhân viên AI: Lina
- Điểm vào: trang Localization Management
HY-MT1.5-1.8B là mô hình nhỏ chuyên cho dịch thuật. Nó phù hợp hơn với mục ngắn, văn bản UI và dịch hàng loạt. Không nên ưu tiên dùng mô hình chat tổng quát cho tác vụ bản địa hóa.
Điều kiện chuẩn bị
- Plugin Localization Management đã được bật.
- Ngôn ngữ đích đã được bật.
- Các mục bản địa hóa đã được đồng bộ.
- Máy cục bộ hoặc máy chủ có thể chạy
llama-server. - Dịch vụ NocoBase có thể truy cập địa chỉ HTTP của
llama-server.
Triển khai HY-MT GGUF
Cài đặt llama.cpp
Trên macOS, bạn có thể cài bằng Homebrew:
Bạn cũng có thể dùng binary llama.cpp dựng sẵn hoặc biên dịch từ mã nguồn. Yêu cầu cuối cùng là llama-server khả dụng.
Khởi động dịch vụ tương thích OpenAI
Khởi động dịch vụ với mô hình GGUF từ Hugging Face:
Nếu tài nguyên máy chủ hạn chế, bắt đầu với -np 1 hoặc -np 2, rồi tăng dần sau khi xác nhận ổn định.
Kiểm thử dịch vụ mô hình
Sau khi llama-server khởi động, kiểm tra trạng thái dịch vụ:
Sau đó kiểm thử dịch qua API tương thích OpenAI:
Nếu bạn khởi động từ file mô hình cục bộ, hãy đổi model thành tên mô hình thực tế do dịch vụ trả về hoặc đã cấu hình.
Nếu request không phản hồi trong thời gian dài, mô hình có thể quá chậm, số lượng đồng thời quá cao hoặc ngữ cảnh quá lớn. Trước tiên giảm -np và số lượng đồng thời dịch của NocoBase, rồi quan sát thời gian phản hồi.
Cấu hình dịch vụ LLM trong NocoBase
Vào System Settings -> AI Employees -> LLM service và thêm một dịch vụ LLM.
Sau khi cấu hình, dùng Test flight để kiểm tra mô hình.
Nếu NocoBase chạy trong Docker, 127.0.0.1 trỏ tới chính container và có thể không truy cập được dịch vụ trên host. Hãy dùng IP host, địa chỉ mạng container hoặc host.docker.internal.
Cấu hình mô hình chuyên dụng cho Lina
Vào System Settings -> AI Employees -> AI employees, mở Lina và chuyển sang Model settings.
- Bật
Enable dedicated model configuration. - Chọn mô hình HY-MT cục bộ trong
Models. - Lưu cấu hình.
Sau đó, Lina sẽ dùng mô hình này cho tác vụ dịch bản địa hóa và tránh chuyển sang mô hình chat tổng quát.
Xem chi tiết tại Cấu hình mô hình cho nhân viên AI.
Cấu hình số lượng đồng thời dịch
Số lượng đồng thời của tác vụ dịch bản địa hóa được kiểm soát bằng AI_LOCALIZATION_CONCURRENCY:
Quy tắc:
- Mặc định:
10 - Tối thiểu:
1 - Tối đa:
20 - Giá trị ngoài phạm vi dùng mặc định
Số lượng đồng thời phù hợp phụ thuộc vào CPU, GPU, bộ nhớ, lượng tử hóa mô hình và llama-server -np. Nếu giá trị mặc định gây vấn đề:
- Bắt đầu với
AI_LOCALIZATION_CONCURRENCY=1và kiểm tra dịch một mục. - Đặt cả
llama-server -npvàAI_LOCALIZATION_CONCURRENCYthành2hoặc4. - Quan sát thời gian phản hồi, mức dùng CPU/GPU và tiến độ tác vụ.
- Chỉ tăng dần khi hệ thống ổn định.
Không đặt số lượng đồng thời quá cao ngay từ đầu. Nếu vượt quá năng lực thực tế của mô hình, tác vụ có thể chậm hơn do hàng đợi, timeout hoặc dịch vụ bị treo.
Thực hiện dịch bản địa hóa
Vào System Management -> Localization Management.
- Chuyển sang ngôn ngữ đích.
- Bấm
Synchronizeđể đảm bảo các mục đã được đồng bộ. - Bấm avatar của Lina.
- Chọn phạm vi tác vụ:
Incremental translation: dịch các mục chưa có bản dịch.Selected translation: dịch các mục được chọn trong bảng.Full translation: dịch toàn bộ mục của ngôn ngữ hiện tại.
- Kiểm tra số lượng mục, provider và model trong hộp thoại xác nhận.
- Xác nhận để tạo tác vụ bất đồng bộ.
- Chờ hoàn tất, rà soát bản dịch và publish.
Hãy bắt đầu bằng Selected translation với vài mục để kiểm tra phong cách đầu ra và tốc độ trước khi chạy dịch tăng dần hoặc toàn bộ.
Cách Lina tạo request dịch
Lina tạo request từ mục và bản dịch tham chiếu. Với các mục ngắn, tham chiếu hiện có giúp tăng tính nhất quán:
- Mục tích hợp ưu tiên dùng bản dịch tiếng Trung làm tham chiếu.
- Mục không tích hợp ưu tiên dùng ngôn ngữ mặc định của hệ thống làm tham chiếu.
- Nếu có tham chiếu tiếng Anh, tiếng Anh được dùng làm văn bản nguồn.
- Kết quả được ghi vào ngôn ngữ đích nhưng không tự động publish.
Ngữ nghĩa của prompt tương tự như sau:
Khắc phục sự cố
Không có tiến độ sau khi tạo tác vụ
Kiểm tra llama-server có nhận request hay không. Xem log dịch vụ hoặc gọi /v1/chat/completions bằng curl.
Nếu mô hình nhận request nhưng không trả kết quả, hãy giảm:
AI_LOCALIZATION_CONCURRENCYllama-server -npllama-server -c
Mô hình trả về giải thích thay vì bản dịch
Mô hình dịch cục bộ thường ổn định hơn mô hình chat tổng quát. Nếu vẫn có giải thích, trước tiên thử cùng prompt bằng curl để kiểm tra kiểu đầu ra của mô hình. Bạn cũng có thể dịch các mục ngắn hơn trước hoặc giảm tham số sampling như temperature.
NocoBase không kết nối được dịch vụ mô hình
Kiểm tra:
- Base URL có bao gồm
/v1hay không. - Môi trường chạy NocoBase có truy cập được địa chỉ đó hay không.
- Firewall hoặc mạng container có chặn cổng hay không.
llama-servercòn đang chạy hay không.
Rà soát trước khi publish
Sau khi AI dịch xong, hãy rà soát trước khi publish:
- Lọc theo module và kiểm tra mục ngắn như menu, nút, tên field và trạng thái.
- Kiểm tra biến, placeholder, thẻ HTML và ký hiệu định dạng.
- Kiểm tra tính nhất quán của thuật ngữ nghiệp vụ quan trọng.
- Nếu bản dịch mục tích hợp bị ghi đè, đồng bộ lại trong Localization Management và chọn
Reset system built-in entry translationsđể khôi phục mặc định. Để đóng góp bản dịch mặc định cho hệ thống và plugin chính thức, xem Translation Contribution. - Publish trong môi trường kiểm thử trước, sau đó đồng bộ lên production.

