Skip to Content

Odoo 19: DI vertimas su kryžmine patikra – modulis ai_translation_consensus, kuriame keli DI vienas kitą tikrina

2026 m. lapkričio 3 d. | Odoo 19 Community | Nuosava plėtra
2026 m. lapkričio 3 d. pagal
Odoo 19: DI vertimas su kryžmine patikra – modulis ai_translation_consensus, kuriame keli DI vienas kitą tikrina

Odoo 19 modulis ai_translation_consensus: keli DI verčia, anonimiškai vienas kitą vertina, o žmogus patvirtina

Svetainę išversti į dešimt, dvidešimt ar keturiasdešimt kalbų su vienu DI padaryti greitai. Sunkesnis klausimas – ar rezultatu galima pasitikėti. Vienas kalbos modelis kartais išgalvoja žodžius, išverčia produktų pavadinimus ar pakeičia skaičių, ir pats to nepastebi. Todėl sukūrėme Odoo 19 modulį, kuriame keli DI ir vertimo paslaugų teikėjai dirba su tuo pačiu tekstu, anonimiškai vienas kito rezultatus vertina ir susitaria dėl formuluotės, kuri skamba ir tiksliai, ir natūraliai. Ką neaišku, sprendžia žmogus.

Modulis vadinasi ai_translation_consensus ir kaip laisvoji programinė įranga pagal AGPL-3 licenciją prieinamas GitHub:

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

Idėja: kryžminė patikra vietoj pasitikėjimo

Modulis gali dvi dalis:

  • Versti: papildyti trūkstamus (ar pasenusius) kiekvieno verčiamo Odoo lauko vertimus, t. y. tinklaraščio įrašus, svetaines, meniu, produktus ir viską, ką Odoo saugo daugiakalbiai. DI mato ne tik pavienį sakinį, bet ir gretimus blokus bei viso puslapio ištrauką. Taip pavieniai žodžiai suprantami teisingame kontekste.
  • Korektūra: patikrinti tekstą jo paties kalba ir pasiūlyti geresnes formuluotes ar taisymus. Originalas visada yra vienas iš kandidatų. Jei laimi originalas, nieko nekeičiama.

Pagrindas yra abipusė patikra. Kiekvienas DI gerai vertina svetimus tekstus, net jei pats kartais klysta. Tuo modulis ir pasinaudoja: keli teikėjai parašo po versiją, o tie patys teikėjai paskui įvertina visas versijas nežinodami, kas jas parašė. Savo versijos teikėjas nevertina.

Kaip atsiranda pasiūlymas

Eiga: versti, tikrinti, vertinti, susitarti, žmogaus patvirtinimas

  1. Versti. Kiekvienas vertėjas lygiagrečiai parašo versiją.
  2. Fiksuotos patikros. Be DI tikrinama, ar HTML žymės, esybės, vietos žymekliai, tokie kaip %s ar {}, skaičiai ir nuorodos liko nepakitę. Versija, kuri tai pažeidžia, niekada negali laimėti, nors ir kaip sklandžiai skambėtų.
  3. Vertinti. Likusios versijos sumaišomos ir anonimizuojamos. Kiekvienas tikrintojas kiekvienai skiria pažymį už tikslumą ir už natūralumą (nuo 1 iki 10), nurodo favoritą ir gali pasiūlyti patobulinimą.
  4. Susitarti. Versijos rangas yra 0,5 × vidutinis pažymys + 5 × favoritų balsų dalis. Susitarimu laikoma, kai geriausia versija turi bent 60 % favoritų balsų ir bent 7,0 vidutinį pažymį.
  5. Antras ratas. Be susitarimo geriausios versijos kartu su tikrintojų patobulinimo pasiūlymais dar kartą patenka į vertinimą.
  6. Žmogus. Jei ir tada nėra aišku, pasiūlymas laukia sprendimo.

Jei yra tik grynos vertimo paslaugos be tikrinimo funkcijos (pavyzdžiui, DeepL), rezultatas laikomas suderintu tik tada, kai bent dvi paslaugos pateikė tiksliai tą patį tekstą. Atliekant korektūrą, rezultatai turi likti pastebimai panašūs į originalą (panašumas bent 0,6, tie patys skaičiai). Maži nemokami modeliai kartais atsako į paketą pastumtais ar svetimais tekstais. Tokie atsakymai atmetami, o ne balsuojami. Glosarijus fiksuoja prekių ženklų pavadinimus ir pastovius terminus.

Teikėjai: su raktu ir be rakto

Nemokamos ir mokamos paslaugos gali dalyvauti tame pačiame balsavime. Modulis turi daugelio teikėjų numatytąsias nuostatas; visos po įdiegimo yra išjungtos.

RūšisVerčiaTikrina / taisoPavyzdžiai
OpenAI suderinama sąsajataiptaipOpenAI, Mistral, DeepSeek, xAI, Groq, Together, OpenRouter, Cerebras, Qwen, Moonshot, GitHub Models, Hugging Face, Ollama, LM Studio, vLLM, llama.cpp
OpenAI suderinama be raktotaiptaipOllama savo serveryje, Pollinations
AnthropictaiptaipClaude
Google Gemini, Coheretaiptaip
Vietinė komandataiptaipclaude -p arba bet kuri programa, skaitanti iš stdin ir išvedanti atsakymą
Vertimo paslaugostaipneDeepL, Google Translate, Azure Translator, LibreTranslate, MyMemory, Lingva

Įvedamas raktas (arba aplinkos kintamojo, kuriame jis yra, pavadinimas), paspaudžiama Išbandyti ryšį ir teikėjas įjungiamas. Modelių pavadinimai numatytosiose nuostatose yra atskaitos taškai; kas jais naudojasi, turėtų juos palyginti su aktualiu teikėjo sąrašu. Su dviem ar daugiau teikėjų yra tikra kryžminė patikra, su vienu niekas netikrina jo darbo. Vedlys į tai atkreipia dėmesį.

Visa svetainė iš karto

Pradžios vedlys (meniu DI vertimas → Pradėti čia) paaiškina žingsnius ir sukuria pirmąją taisyklę. Jei įdiegtas modulis website, automatiškai pridedamas tiltinis modulis ai_translation_consensus_website. Jis papildo apimtį „Visa svetainė su viskuo, kas joje yra“: pasirenkama svetainė ir leidžiama pasiūlyti turinį. Modulis peržiūri visus modelius su verčiamais laukais, priklausančius svetainei (puslapiai, meniu, tinklaraščiai, produktai, renginiai, forumai, kursai ir kt.), ir pasiūlo po vieną taisyklę kiekvienai turinio rūšiai, tikslu nustatydamas svetainės kalbas.

Pradžios vedlys su visos svetainės apimtimi ir pasiūlytomis turinio rūšimis

  • Kas neįdiegta (forumai, kursai, galerijos), nerodoma ir bus įtraukta vėliau, kai tik bus įdiegta.
  • Parduotuvės modeliai siūlomi tik tada, jei svetainė turi parduotuvę. Registruojami tik paskelbti įrašai.
  • Kontaktų, įmonių, mokėjimo teikėjų, kainoraščių, pristatymo būdų, lojalumo programų ir snippet filtrų modulis sąmoningai nesiūlo.
  • Puslapių adresų pavadinimai (seo_name) neverčiami.
  • Nepageidaujamas rūšis prieš sukuriant galima pašalinti.

Sukūrimas ir paieška nieko nekainuoja: taisyklė tik išvardija, kuriems tekstams reikia darbo. Tik apdorojant iškviečiami teikėjai ir atsiranda išlaidų.

Skydelis, išlaidos ir automatinis paleidimas

Skydelis kiekvienai taisyklei rodo, kiek tekstų baigta, laukia patvirtinimo ar žmogaus, įrikiuota ar nepavyko. Be to, pateikiamas skirstymas pagal kalbą ir teikėją, dabartinės ir dar laukiamos išlaidos, numatomas likęs laikas ir suplanuoto apdorojimo jungiklis.

Skydelis su pažanga, išlaidomis, žetonais (tokens) ir kalbomis. Pavyzdiniai duomenys.

Skaičiai šiame paveiksle yra pavyzdiniai duomenys ir nieko nesako apie tikras išlaidas.

  • Išlaidos apskaičiuojamos pagal tai, ką teikėjai iš tikrųjų praneša: žetonus (OpenAI, Anthropic, Gemini, Cohere) arba simbolius (DeepL, Google, Azure). Žetonai rodomi visada, pinigai tik tada, jei pas teikėją nurodėte kainą už milijoną žetonų (ar simbolių). Numatytosiose nuostatose kainų nėra, nes jos keičiasi. Paslaugos, kurios žetonų nepraneša, įvertinamos pagal teksto ilgį ir pažymimos kaip įvertis.
  • Prognozė: vidutinės išlaidos ir darbo laikas vienam tekstui, padauginti iš įrikiuotų tekstų skaičiaus. Tai įvertis, kuris gerėja su pirmaisiais paketais.
  • Automatinis paleidimas: taisyklės su parinktimi Paleisti pačiam, kai įrašas pasikeičia kiekvieno suplanuoto veiksmo paleidimo metu ieško tik įrašų, pasikeitusių nuo paskutinės paieškos. Taigi, įjungus suplanuotą veiksmą, redaguota svetainė iš naujo išverčiama be jokio rankų darbo.
  • Užbaigimo pranešimas: kai baigiamas paskutinis taisyklės neapdorotas tekstas, kanale AI Translation vieną kartą pasirodo pranešimas „Visos kalbos išverstos“ (taisant – „Visi tekstai patikrinti“).

Žmogaus patvirtinimas

Pagal numatytuosius nustatymus modulis nieko neįrašo į Jūsų duomenų įrašus be Jūsų sutikimo. Kiekvienas pasiūlymas rodo variantus, jų autorius, įvertinimus ir recenzentų pastabas. Galite priimti pasiūlymą, pasirinkti kitą variantą, įvesti savo formuluotę arba pasiūlymą atmesti.

Pasiūlymas su trimis kandidatais, įvertinimais, mėgstamiausio balsais ir žmogaus sprendimu. Pavyzdinis tekstas išgalvotas.

Šiame paveikslėlyje pateiktas tekstas ir tiekėjų pavadinimai yra išgalvoti, kad būtų parodytas vaizdas.

Kas pasitiki taisykle, gali įjungti Susitarimą priimti automatiškai. Pasiūlymai be susitarimo vis tiek laukia žmogaus. Priimdamas modulis dar kartą patikrina, ar šaltinio tekstas tuo tarpu nepasikeitė, iš naujo atlieka žymėjimo patikras ir įrašo be sekimo ir be pranešimų sekėjams.

Sauga ir duomenų apsauga

  • Įdiegus viskas išjungta. Tiekėjai ir suplanuotas veiksmas yra išjungti. Be Jūsų žinios niekas nesiunčiama.
  • Tekstai palieka Jūsų serverį, kai dalyvauja talpinama (hosted) paslauga. Taisyklę galima pažymėti kaip Konfidenciali; tuomet tekstą mato tik tiekėjai, pažymėti kaip veikiantys savoje infrastruktūroje.
  • Raktai laikomi lauke, kurį mato tik administratoriai, arba aplinkos kintamajame, į kurį nurodo tik pavadinimas. Klaidų pranešimuose jie užmaskuojami ir siunčiami antraštėse (headers). Išimtis: pasirenkamas MyMemory raktas ten gali būti perduodamas tik kaip užklausos parametras.
  • Vietinė komanda vykdo programą, todėl yra užblokuota, kol sistemos parametras ai_translation_consensus.allow_command nenustatomas į True. Komanda iškviečiama be shell ir veikia tuščiame laikinajame kataloge.
  • Prompt injection: užduotyse tekstas pažymimas kaip duomenys. Išverstame tekste esančių nurodymų nepaisoma, o rezultatas, pažeidžiantis žymas ar vietos žymeklius, atmetamas.
  • Nemokamos paslaugos turi apribojimų. Pollinations anonimiškai leidžia vieną atsakymą per 45 sekundes. Tiekėjo parinktis min_interval išlaiko šį tarpą, o atsakymai „Bandykite vėliau“ yra atsižvelgiami.

Diegimas

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

Reikalingas Odoo 19 ir Python paketas requests. Pridedamas vertimas į vokiečių kalbą. Tiltinis modulis ai_translation_consensus_website įdiegiamas automatiškai, jei yra website. Įdiegus Odoo tarnybą reikia paleisti iš naujo, nes modulyje yra Python kodo. Kas eksploatuoja produkcinę sistemą, modulį pirmiausia turėtų įdiegti duomenų bazės kopijoje.

Pirmieji žingsniai: atverkite meniu KI-Übersetzung → Anbieter, išbandykite ir įjunkite paslaugas, tada Hier starten ir sukurkite pirmąją taisyklę. Su Nach Texten suchen sukuriami pasiūlymai, su Einen Stapel verarbeiten iškviečiami tiekėjai. Pradėkite nuo mažos taisyklės, pavyzdžiui, vieno tinklaraščio įrašo ir dviejų kalbų, ir prieš įtraukdami į eilę visą svetainę įvertinkite rezultatą bei kainą.

apribojimus

  • Kokybė priklauso nuo modelių, kuriuos įjungiate. Kryžminis patikrinimas sumažina pavienių modelių klaidas, bet negarantuoja. Teisiškai ar saugumui svarbių tekstų modulis nepakeičia gimtakalbio.
  • Išlaidos auga greitai. Vienas tekstas kainuoja vieną iškvietimą kiekvienam vertėjui, vieną patikros iškvietimą kiekvienam recenzentui, o esant padalytam balsavimui – dar antrą ratą. Puslapio kontekstas padidina kiekvieno iškvietimo įvestį. Taisyklė su 45 tikslinėmis kalbomis padaugina tekstų skaičių. Apribokite vykdymus parametrais Datensätze je Suchlauf, Neue Vorschläge je Suchlauf ir Vorschläge je Cron-Lauf ir kaip recenzentus pasitelkite pigius ar vietinius modelius.
  • Tik laukai su translate=True. Formatuotas tekstas apdorojamas po bloką (Odoo terminų mechanizmas).
  • Kainos ir modelių pavadinimai keičiasi. Numatytosios reikšmės nėra prižiūrimas kainynas.
  • Sukurta Odoo 19.0 Community. Kitos versijos nepalaikomos.

Dažniausiai užduodami klausimai

Ar kas nors verčiama arba perrašoma be mano sutikimo?

Ne, kol neįjungiate Susitarimą priimti automatiškai. Net ir tada įrašomi tik pasiūlymai, dėl kurių pasiektas susitarimas. Tiekėjai ir suplanuotas veiksmas po įdiegimo yra išjungti.

Ar man reikia raktų mokamiems tiekėjams?

Tik tiems tiekėjams, kurie jų reikalauja. Su Pollinations, MyMemory ar vietoje eksploatuojamu modeliu (pavyzdžiui, Ollama) apsieinama be jų. Nemokamos paslaugos dažnai apribotos ir lėtos, visai svetainei jos dažniausiai tinka tik kaip papildymas.

Kiek kainuoja vertimas?

Tai priklauso nuo tiekėjo, modelio, teksto ilgio ir kalbų skaičiaus, todėl modulis nenurodo fiksuotų skaičių. Skydelis (dashboard) rodo sunaudojimą ir išlaidas, kai tik įvedate kainas, ir įvertina į eilę įtrauktų tekstų likusias išlaidas.

Ar galiu išlaikyti tekstus konfidencialius?

Taip, naudodami taisyklės parinktį Vertraulich. Tuomet dirba tik tiekėjai, pažymėti kaip veikiantys Jūsų pačių infrastruktūroje, pavyzdžiui, vietinis Ollama.

Ar tai pakeičia paties Odoo vertimą?

Ne. Modulis naudoja Odoo daugiakalbystę ir rašo į tuos pačius vertimus, kuriuos kitu atveju prižiūrėtumėte rankiniu būdu.

Pagal kokią licenciją platinamas?

Pagal AGPL-3. Apie klaidas ir patobulinimus laukiame pranešimų užduočių (issue) pavidalu GitHub saugykloje .

Biricon IT Services palaikymas

Prižiūrime Odoo diegimus mažoms ir vidutinėms įmonėms: nuo įdiegimo, pritaikymų ir migracijų iki einamosios eksploatacijos. Jei savo Odoo svetainę eksploatuojate keliomis kalbomis, norite vertimus apsaugoti dirbtiniu intelektu arba saugiai perkelti modulį į savo produkcinę instanciją, mielai padėsime. Kiti nuosavi kūriniai: Įmonės archyvavimas kartu su portalo naudotojais, Dokumentų numeriai iš prefikso, metų ir skaitiklio ir Įmonių registras ir adresų patikra Austrijos klientams.

Susisiekite dabar

Būsena: 2026 m. lapkričio 3 d. Modulio versija 19.0.1.0.0. Paveikslėliuose rodomi išgalvoti pavyzdiniai duomenys.