Ves al contingut

Odoo 19: traducció amb IA i revisió creuada — mòdul ai_translation_consensus, en què diverses IA es revisen mútuament

3 de novembre de 2026 | Odoo 19 Community | Desenvolupament propi
3 de novembre de 2026 per
Odoo 19: traducció amb IA i revisió creuada — mòdul ai_translation_consensus, en què diverses IA es revisen mútuament

Mòdul ai_translation_consensus per a Odoo 19: diverses IA tradueixen, es valoren anònimament i una persona ho aprova

Traduir un lloc web a deu, vint o quaranta idiomes amb una sola IA és ràpid. El més difícil és saber si ens podem refiar del resultat. De vegades, un model de llenguatge s'inventa paraules, tradueix noms de productes o canvia una xifra sense adonar-se'n. Per això hem desenvolupat un mòdul per a Odoo 19 en què diverses IA i serveis de traducció treballen sobre el mateix text i valoren mútuament els resultats de manera anònima fins a consensuar una formulació que sigui alhora precisa i natural. Quan no hi ha un resultat clar, una persona pren la decisió.

El mòdul es diu ai_translation_consensus i està disponible a GitHub com a programari lliure amb la llicència AGPL-3:

github.com/Alex0176/odoo-ai-translation-consensus

La idea: contrastar els resultats en lloc de refiar-se'n

El mòdul pot fer dues coses:

  • Traduir: afegir les traduccions que falten (o actualitzar les obsoletes) de qualsevol camp traduïble d'Odoo: articles de blog, pàgines web, menús, productes i tot allò que Odoo desa en diversos idiomes. Les IA no només veuen la frase aïllada, sinó també els blocs del voltant i un fragment de la pàgina sencera. Així, cada paraula s'interpreta en el context adequat.
  • Corregir: revisar el text en el seu idioma i proposar formulacions millors o correccions. L'original sempre és una de les versions candidates. Si guanya l'original, no es canvia res.

La clau és la revisió mútua. Cada IA sap valorar bé els textos d'altres, encara que de vegades s'equivoqui en els seus. El mòdul ho aprofita: diversos proveïdors redacten una versió cadascun i, després, aquests mateixos proveïdors valoren totes les versions sense saber qui les ha escrit. Cap proveïdor no valora la seva pròpia versió.

Com es genera una proposta

Procés: traducció, comprovació, valoració, consens i aprovació humana

  1. Traducció. Cada traductor redacta una versió en paral·lel.
  2. Comprovacions fixes. Es comprova, sense IA, que les etiquetes HTML, les entitats, els marcadors de posició com ara %s o {}, els nombres i els enllaços no hagin canviat. Una versió que incompleixi aquest requisit no pot guanyar mai, per més fluida que sigui.
  3. Valoració. Les versions restants es barregen i s'anonimitzen. Cada revisor puntua de l'1 al 10 la precisió i la naturalitat de cadascuna, n'escull una de preferida i pot proposar una millora.
  4. Consens. La puntuació d'una versió és 0,5 × nota mitjana + 5 × proporció de vots com a preferida. Es considera que hi ha consens quan la millor versió obté almenys el 60 % dels vots com a preferida i una nota mitjana mínima de 7,0.
  5. Segona ronda. Si no hi ha consens, les millors versions es tornen a valorar juntament amb les propostes de millora dels revisors.
  6. Intervenció humana. Si el resultat continua sense ser clar, la proposta queda pendent d'una decisió.

Si només hi ha serveis de traducció sense funció de revisió (per exemple, DeepL), un resultat només es considera consensuat quan almenys dos serveis han retornat exactament el mateix text. En la correcció, els resultats han de mantenir una semblança clara amb l'original (similitud mínima de 0,6 i els mateixos nombres). Els models petits gratuïts de vegades responen a un lot amb textos desordenats o que no hi tenen res a veure. Aquestes respostes es descarten en lloc de sotmetre-les a votació. Un glossari fixa els noms de marca i la terminologia establerta.

Proveïdors: amb clau i sense

Els serveis gratuïts i els de pagament poden participar en una mateixa votació. El mòdul inclou configuracions predefinides per a molts proveïdors; després de la instal·lació, tots estan desactivats.

TipusTradueixRevisa / corregeixExemples
Interfície compatible amb OpenAIsísíOpenAI, Mistral, DeepSeek, xAI, Groq, Together, OpenRouter, Cerebras, Qwen, Moonshot, GitHub Models, Hugging Face, Ollama, LM Studio, vLLM, llama.cpp
Compatible amb OpenAI sense clausísíOllama al vostre servidor, Pollinations
AnthropicsísíClaude
Google Gemini, Coheresísí
Ordre localsísíclaude -p o qualsevol programa que llegeixi de stdin i emeti la resposta
Serveis de traducciósínoDeepL, Google Translate, Azure Translator, LibreTranslate, MyMemory, Lingva

Introduïu la clau (o el nom d'una variable d'entorn que la contingui), premeu Prova la connexió i activeu el proveïdor. Els noms de model de les configuracions predefinides són punts de partida; si els feu servir, contrasteu-los amb la llista actual del proveïdor. Amb dos proveïdors o més hi ha una revisió creuada real; amb un de sol, ningú no en revisa la feina. L'assistent ho adverteix.

Tot un lloc web d'una sola vegada

Un assistent inicial (menú Traducció amb IA → Comença aquí) explica els passos i crea la primera regla. Si el mòdul website està instal·lat, s'hi afegeix automàticament el mòdul d'integració ai_translation_consensus_website. Aquest incorpora l'abast «Tot un lloc web amb tot el que conté»: seleccioneu el lloc web i demaneu suggeriments de contingut. El mòdul examina tots els models amb camps traduïbles que pertanyen al lloc web (pàgines, menús, blogs, productes, esdeveniments, fòrums, cursos i més) i proposa una regla per a cada tipus de contingut, amb els idiomes del lloc web com a destinació.

Assistent inicial amb l'abast de tot el lloc web i els tipus de contingut proposats

  • Allò que no està instal·lat (fòrums, cursos, galeries) no apareix i s'hi incorpora més endavant, quan s'instal·la.
  • Els models de botiga només es proposen si el lloc web té una botiga. Només s'inclouen registres publicats.
  • El mòdul exclou expressament els contactes, les empreses, els proveïdors de pagament, les tarifes, els mètodes d'enviament, els programes de fidelització i els filtres de blocs de contingut.
  • Els noms de les pàgines que formen part de l'adreça (seo_name) no es tradueixen.
  • Podeu eliminar els tipus que no vulgueu abans de crear les regles.

La creació i la cerca no tenen cap cost: la regla només enumera els textos que necessiten treball. Els proveïdors només es criden i es generen costos quan es processen els textos.

Tauler de control, costos i inici automàtic

El tauler de control mostra, per a cada regla, quants textos estan acabats, esperen una confirmació o una decisió humana, són a la cua o han fallat. També inclou el desglossament per idioma i proveïdor, els costos acumulats i previstos, el temps restant estimat i l'interruptor del processament programat.

Tauler de control amb el progrés, els costos, els tokens i els idiomes. Dades d'exemple.

Les xifres d'aquesta imatge són dades d'exemple i no reflecteixen costos reals.

  • Els costos es calculen a partir del consum que comuniquen els proveïdors: tokens (OpenAI, Anthropic, Gemini, Cohere) o caràcters (DeepL, Google, Azure). Els tokens es mostren sempre; l'import monetari, només si heu introduït el preu per milió de tokens (o caràcters) a la configuració del proveïdor. Les configuracions predefinides no inclouen preus perquè poden canviar. En els serveis que no comuniquen el nombre de tokens, el consum s'estima a partir de la llargada del text i s'indica que és una estimació.
  • Previsió: cost i temps de treball mitjans per text multiplicats pel nombre de textos a la cua. És una estimació que es va afinant amb els primers lots.
  • Inici automàtic: a cada execució de l'acció programada, les regles amb l'opció Inicia automàticament quan canviï un registre només cerquen registres modificats des de l'última cerca. Per tant, amb l'acció programada activada, una pàgina web modificada es torna a traduir sense intervenció manual.
  • Consum de les subscripcions: En el cas dels proveïdors que funcionen mitjançant un programa de línia d'ordres amb la sessió iniciada (Antigravity, Codex), el mòdul consulta cada deu minuts quina part de la quota del període s'ha consumit i quan es restableix. El tauler mostra, per a cada proveïdor actiu, una barra amb l'hora de restabliment, les peticions de les últimes 24 hores i el motiu de qualsevol pausa en curs. Un botó permet actualitzar les dades immediatament. Així es pot veure que una quota setmanal es pot esgotar en poques hores, abans que es comencin a rebutjar peticions. Els proveïdors que no informen del consum (com ara MyMemory) ho indiquen explícitament, en lloc d'inventar-se una xifra.
  • Avís de finalització: quan s'acaba l'últim text pendent d'una regla, es publica una sola vegada el missatge «Traducció completada en tots els idiomes» (o «Tots els textos revisats» en el cas de la correcció) al canal AI Translation.

Aprovació humana

Per defecte, el mòdul no escriu res als vostres registres sense aprovació. Cada proposta mostra les versions, qui les ha escrit, les notes i els comentaris dels revisors. Podeu acceptar la proposta, triar una altra versió, escriure una formulació pròpia o rebutjar-la.

Proposta amb tres versions candidates, notes, vots com a preferida i decisió humana. Text d'exemple inventat.

El text i els noms dels proveïdors d'aquesta imatge són inventats per mostrar la vista.

Si confieu en una regla, podeu activar Accepta automàticament el consens. Les propostes sense consens continuen esperant una decisió humana. En aplicar una proposta, el mòdul torna a comprovar si el text d'origen ha canviat mentrestant, repeteix les comprovacions del marcatge i desa el resultat sense registrar-ne el seguiment ni notificar els seguidors.

Seguretat i protecció de dades

  • Després de la instal·lació, tot està desactivat. Els proveïdors i l'acció programada estan desactivats. No s'envia res sense que hi intervingueu.
  • Els textos surten del vostre servidor quan hi participa un servei allotjat externament. Podeu marcar una regla com a Confidencial; aleshores, només veuran el text els proveïdors identificats com a executats en infraestructura pròpia.
  • Les claus es desen en un camp que només poden veure els administradors o en una variable d'entorn a la qual es fa referència només pel nom. S'emmascaren als missatges d'error i s'envien a les capçaleres. Excepció: la clau opcional de MyMemory només es pot transmetre com a paràmetre de consulta.
  • Ordre local executa un programa i, per això, està bloquejada fins que el paràmetre del sistema ai_translation_consensus.allow_command s'estableix en True. L'ordre es crida sense intèrpret d'ordres i s'executa en un directori temporal buit.
  • Injecció d'instruccions: les peticions identifiquen el text com a dades. No se segueixen les instruccions que contingui el text traduït i es descarta qualsevol resultat que alteri les etiquetes o els marcadors de posició.
  • Els serveis gratuïts tenen límits. Pollinations permet una resposta anònima cada 45 segons. L'opció del proveïdor min_interval respecta aquest interval i es tenen en compte les respostes «Torneu-ho a provar més tard».

Instal·lació

git clone https://github.com/Alex0176/odoo-ai-translation-consensus.git
ln -s /pfad/odoo-ai-translation-consensus/ai_translation_consensus /pfad/addons/
ln -s /pfad/odoo-ai-translation-consensus/ai_translation_consensus_website /pfad/addons/
odoo-bin -c odoo.conf -d <datenbank> -i ai_translation_consensus --stop-after-init

Calen Odoo 19 i el paquet de Python requests. S'hi inclou una traducció a l'alemany. El mòdul d'integració ai_translation_consensus_website s'instal·la automàticament si hi ha website. Després de la instal·lació cal reiniciar el servei d'Odoo, perquè el mòdul conté codi Python. Si teniu un sistema en producció, instal·leu primer el mòdul en una còpia de la base de dades.

Primers passos: obriu el menú Traducció amb IA → Proveïdors, proveu els serveis i activeu-los; després, aneu a Comença aquí i creeu la primera regla. Amb Cerca textos es generen les propostes; amb Processa un lot es criden els proveïdors. Comenceu amb una regla petita, per exemple un sol article de blog i dos idiomes, i reviseu el resultat i els costos abans d'afegir tot un lloc web a la cua.

Limitacions

  • La qualitat depèn dels models que activeu. La revisió creuada redueix els errors de cada model, però no ofereix cap garantia. En textos amb implicacions legals o de seguretat, el mòdul no substitueix un parlant nadiu.
  • Els costos augmenten ràpidament. Cada text requereix una crida per traductor, una crida de revisió per revisor i, si la votació queda dividida, una segona ronda. El context de la pàgina augmenta el volum d’entrada de cada crida. Una regla amb 45 llengües de destinació multiplica el nombre de textos. Limiteu les execucions amb Registres per cerca, Propostes noves per cerca i Propostes per execució de cron, i afegiu models econòmics o locals com a revisors.
  • Només camps amb translate=True. El text amb format es processa per blocs mitjançant el mecanisme de termes d’Odoo.
  • Els preus i els noms dels models canvien. Els valors predeterminats no són una llista de preus actualitzada.
  • Desenvolupat per a Odoo 19.0 Community. No s’admeten altres versions.

Preguntes freqüents

Es tradueix o se sobreescriu res sense el meu consentiment?

No, sempre que no activeu Aplica automàticament les propostes amb consens. Encara que ho feu, només es desen les propostes que han assolit el consens. Després de la instal·lació, els proveïdors i l’acció planificada estan desactivats.

Necessito claus per als proveïdors de pagament?

Només per als proveïdors que en demanen. Amb Pollinations, MyMemory o un model executat localment, com ara Ollama, no en calen. Els serveis gratuïts sovint tenen limitacions i són lents; per traduir tot un lloc web, generalment només són adequats com a complement.

Quant costa una traducció?

Depèn del proveïdor, del model, de la llargada del text i del nombre de llengües; per això el mòdul no estableix imports fixos. El tauler mostra el consum i els costos un cop hi heu introduït els preus, i estima el cost pendent dels textos en cua.

Puc mantenir la confidencialitat dels textos?

Sí, amb l’opció Confidencial de la regla. En aquest cas, només s’utilitzen proveïdors marcats com a executats a la vostra pròpia infraestructura, com ara una instància local d’Ollama.

Substitueix la traducció pròpia d’Odoo?

No. El mòdul aprofita les funcions multilingües d’Odoo i desa el contingut a les mateixes traduccions que habitualment gestioneu a mà.

Amb quina llicència es distribueix?

Amb la llicència AGPL-3. Podeu comunicar errors i proposar millores obrint una incidència al repositori de GitHub són benvinguts.

Suport de Biricon IT Services

Gestionem instal·lacions d’Odoo per a petites i mitjanes empreses: des de la implantació fins al funcionament diari, passant per les adaptacions i les migracions. Si voleu oferir el vostre lloc web d’Odoo en diverses llengües, reforçar la qualitat de les traduccions amb IA o incorporar un mòdul amb seguretat a la vostra instància de producció, estarem encantats d’ajudar-vos. Altres desenvolupaments propis: Arxivament d’empreses juntament amb els seus usuaris del portal, Numeració de documents amb prefix, any i comptador i Registre mercantil i verificació d'adreces per a clients austríacs.

Contacteu amb nosaltres ara

Actualitzat el 8 de novembre de 2026. Versió del mòdul: 19.0.1.2.0. Les imatges mostren dades d'exemple fictícies.