Utiliser Lina et HY-MT1.5-1.8B local pour traduire les entrées de localisation
Employés AICommunity Edition+Ce guide présente une pratique de traduction de localisation : déployer localement un petit modèle spécialisé en traduction, l’exposer comme service compatible OpenAI, puis le configurer pour que Lina traduise en lot les entrées de localisation NocoBase.
Cette approche convient aux entrées système, textes de plugins, menus, titres de collections et libellés de champs. Par rapport aux modèles en ligne, les modèles locaux ne sont pas soumis aux limites externes de RPM, TPM ou concurrence, et la concurrence peut être ajustée selon la machine et le modèle.
Vue d’ensemble
Ce guide utilise :
- Modèle:
tencent/HY-MT1.5-1.8B-GGUF - Service d’inférence:
llama-server - Intégration: OpenAI-compatible API
- Employée IA: Lina
- Point d’entrée: page Localization Management
HY-MT1.5-1.8B est un petit modèle spécialisé en traduction. Il convient mieux aux entrées courtes, aux textes d’interface et aux traductions en lot. Les modèles de discussion généraux ne sont pas recommandés comme premier choix pour les tâches de localisation.
Prérequis
- Le plugin Localization Management est activé.
- La langue cible est activée.
- Les entrées de localisation ont été synchronisées.
- La machine locale ou le serveur peut exécuter
llama-server. - Le service NocoBase peut accéder à l’adresse HTTP de
llama-server.
Déployer HY-MT GGUF
Installer llama.cpp
Sur macOS, vous pouvez l’installer avec Homebrew:
Vous pouvez aussi utiliser un binaire llama.cpp précompilé ou le compiler depuis les sources. L’exigence finale est que llama-server soit disponible.
Démarrer un service compatible OpenAI
Démarrez le service avec le modèle GGUF depuis Hugging Face:
Si les ressources serveur sont limitées, commencez avec -np 1 ou -np 2, puis augmentez progressivement après avoir vérifié la stabilité.
Tester le service de modèle
Après le démarrage de llama-server, vérifiez l’état du service:
Testez ensuite la traduction via l’API compatible OpenAI:
Si vous partez d’un fichier de modèle local, remplacez model par le nom réel retourné ou configuré par le service.
Si une requête ne répond pas longtemps, le modèle peut être trop lent, la concurrence trop élevée ou le contexte trop grand. Réduisez d’abord -np et la concurrence de traduction NocoBase, puis observez le temps de réponse.
Configurer un service LLM dans NocoBase
Allez dans System Settings -> AI Employees -> LLM service et ajoutez un service LLM.
Après la configuration, utilisez Test flight pour vérifier le modèle.
Si NocoBase s’exécute dans Docker, 127.0.0.1 pointe vers le conteneur lui-même et peut ne pas accéder au service hôte. Utilisez l’IP de l’hôte, l’adresse réseau du conteneur ou host.docker.internal.
Configurer le modèle dédié de Lina
Allez dans System Settings -> AI Employees -> AI employees, ouvrez Lina, puis passez à Model settings.
- Activez
Enable dedicated model configuration. - Sélectionnez le modèle HY-MT local dans
Models. - Enregistrez la configuration.
Après cela, Lina utilisera ce modèle pour les tâches de traduction de localisation et évitera de basculer vers des modèles de discussion généraux.
Pour plus de détails, consultez Configurer les modèles des employés IA.
Configurer la concurrence de traduction
La concurrence des tâches de traduction de localisation est contrôlée par AI_LOCALIZATION_CONCURRENCY:
Règles:
- Valeur par défaut:
10 - Minimum:
1 - Maximum:
20 - Les valeurs hors plage utilisent la valeur par défaut
La meilleure concurrence dépend du CPU, du GPU, de la mémoire, de la quantification du modèle et de llama-server -np. Si la concurrence par défaut pose problème:
- Commencez avec
AI_LOCALIZATION_CONCURRENCY=1et vérifiez la traduction d’une seule entrée. - Définissez
llama-server -npetAI_LOCALIZATION_CONCURRENCYsur2ou4. - Observez le temps de réponse, l’utilisation CPU/GPU et la progression de la tâche.
- Augmentez progressivement seulement si tout reste stable.
Ne définissez pas une concurrence trop élevée au départ. Si elle dépasse la capacité réelle du modèle, les tâches peuvent ralentir à cause de files d’attente, de timeouts ou de blocages du service.
Exécuter la traduction de localisation
Allez dans System Management -> Localization Management.
- Passez à la langue cible.
- Cliquez sur
Synchronizepour vous assurer que les entrées sont synchronisées. - Cliquez sur l’avatar de Lina.
- Choisissez un périmètre de tâche:
Incremental translation: traduit les entrées sans traduction.Selected translation: traduit les entrées sélectionnées dans le tableau.Full translation: traduit toutes les entrées de la langue actuelle.
- Vérifiez le nombre d’entrées, le fournisseur et le modèle dans la boîte de confirmation.
- Confirmez pour créer la tâche asynchrone.
- Attendez la fin, relisez les traductions, puis publiez.
Commencez par Selected translation sur quelques entrées pour vérifier le style de sortie et la vitesse avant de lancer une traduction incrémentale ou complète.
Comment Lina construit les requêtes de traduction
Lina construit les requêtes à partir des entrées et des traductions de référence. Pour les entrées courtes, les références existantes améliorent la cohérence:
- Les entrées intégrées privilégient les traductions chinoises comme références.
- Les entrées non intégrées privilégient la langue par défaut du système comme référence.
- Si une référence anglaise existe, l’anglais est utilisé comme texte source.
- Les résultats sont écrits dans la langue cible, mais ne sont pas publiés automatiquement.
La sémantique du prompt est similaire à:
Dépannage
Aucune progression après la création d’une tâche
Vérifiez si llama-server a reçu des requêtes. Consultez les logs du service ou appelez /v1/chat/completions avec curl.
Si le modèle reçoit les requêtes mais ne répond pas, réduisez:
AI_LOCALIZATION_CONCURRENCYllama-server -npllama-server -c
Le modèle renvoie des explications au lieu de traductions
Les modèles de traduction locaux sont généralement plus stables que les modèles de discussion généraux. Si des explications apparaissent encore, testez d’abord le même prompt avec curl pour vérifier le style de sortie du modèle. Vous pouvez aussi traduire d’abord des entrées plus courtes ou réduire des paramètres d’échantillonnage comme temperature.
NocoBase ne peut pas se connecter au service de modèle
Vérifiez:
- Que Base URL inclut
/v1. - Que l’environnement d’exécution NocoBase peut accéder à l’adresse.
- Que le pare-feu ou le réseau de conteneurs ne bloque pas le port.
- Que
llama-serverest toujours en cours d’exécution.
Relire avant publication
Après la traduction par IA, relisez avant de publier:
- Filtrez par module et vérifiez les entrées courtes comme les menus, boutons, noms de champs et statuts.
- Vérifiez les variables, placeholders, balises HTML et symboles de formatage.
- Vérifiez la cohérence des termes métier importants.
- Si les traductions d’entrées intégrées sont écrasées, resynchronisez dans Localization Management et sélectionnez
Reset system built-in entry translationspour restaurer les valeurs par défaut. Pour contribuer aux traductions par défaut du système et des plugins officiels, consultez Translation Contribution. - Publiez d’abord dans un environnement de test, puis synchronisez vers la production.

