Skip to Content

Odoo 19: превод со ВИ и вкрстена проверка – модулот ai_translation_consensus, во кој повеќе ВИ меѓусебно се контролираат

3 ноември 2026 | Odoo 19 Community | Сопствен развој
3 ноември 2026 од
Odoo 19: превод со ВИ и вкрстена проверка – модулот ai_translation_consensus, во кој повеќе ВИ меѓусебно се контролираат

Модулот ai_translation_consensus за Odoo 19: повеќе ВИ преведуваат, анонимно се оценуваат меѓусебно, а човек дава одобрение

Веб-страница да се преведе на десет, дваесет или четириесет јазици со една единствена ВИ е брза работа. Потешко е прашањето дали на резултатот може да му се верува. Еден единствен јазичен модел повремено измислува зборови, преведува и имиња на производи или менува некој број, а самиот не го забележува тоа. Затоа за Odoo 19 напишавме модул во кој повеќе ВИ и услуги за превод работат на истиот текст, анонимно ги оценуваат резултатите меѓусебно и се договараат за формулацијата што истовремено звучи точно и природно. Она што не е недвосмислено, му се дава на човек да одлучи.

Модулот се вика ai_translation_consensus и е достапен како слободен софтвер под лиценцата AGPL-3 на GitHub:

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

Идејата: вкрстена проверка наместо доверба

Модулот може две работи:

  • Преведување: да ги дополни недостасувачките (или застарените) преводи на секое преводливо поле во Odoo, значи блог-написи, веб-страници, менија, производи и сè друго што Odoo го чува повеќејазично. ВИ притоа не ја гледаат само поединечната реченица, туку соседните блокови и исечок од целата страница. Така одделните зборови се разбираат во правилниот контекст.
  • Лектура: да го провери текстот на неговиот сопствен јазик и да предложи подобри формулации или корекции. Оригиналот притоа е секогаш еден од кандидатите. Ако победи оригиналот, ништо не се менува.

Јадрото е меѓусебната проверка. Секоја ВИ е добра во оценувањето на туѓи текстови, дури и кога самата повремено греши. Тоа го користи модулот: повеќе даватели пишуваат по една верзија, а потоа истите даватели ги оценуваат сите верзии, без да знаат од кого потекнуваат. Својата верзија давателот не ја оценува.

Како настанува еден предлог

Тек: преведување, проверка, оценување, договарање, одобрување од луѓе

  1. Преведување. Секој преведувач паралелно пишува по една верзија.
  2. Цврсти проверки. Без ВИ се контролира дали HTML-таговите, ентитетите, заменските ознаки како %s или {}, броевите и врските остануваат непроменети. Верзија што го нарушува тоа никогаш не може да победи, колку и да звучи течно.
  3. Оценување. Останатите верзии се мешаат и анонимизираат. Секој проверувач за секоја дава оценка за точност и за природност (1 до 10), именува фаворит и може да предложи подобрување.
  4. Договарање. Рангот на една верзија е 0,5 × просечна оценка + 5 × удел на гласови за фаворит. Како договор се смета кога најдобрата верзија има најмалку 60 % од гласовите за фаворит и просечна оценка од најмалку 7,0.
  5. Втор круг. Без договор најдобрите верзии заедно со предлозите за подобрување од проверувачите повторно одат на оценување.
  6. Човек. Ако и тогаш не стане недвосмислено, предлогот чека на одлука.

Ако има само чисти услуги за превод без функција за проверка (на пример DeepL), резултатот се смета за договорен само ако најмалку две услуги испорачале точно ист текст. При лектурата резултатите мора да останат препознатливо слични на оригиналот (сличност најмалку 0,6, исти броеви). Малите бесплатни модели повремено одговараат на еден куп со поместени или туѓи текстови. Такви одговори се отфрлаат, наместо да се гласа за нив. Еден речник ги чува имињата на марките и цврстите поими.

Даватели: со и без клуч

Бесплатни и платени услуги може да бидат во истото гласање. Модулот носи претходни поставки за многу даватели; сите се по инсталацијата исклучени.

ВидПреведуваПроверува / коригираПримери
Интерфејс компатибилен со OpenAIдадаOpenAI, Mistral, DeepSeek, xAI, Groq, Together, OpenRouter, Cerebras, Qwen, Moonshot, GitHub Models, Hugging Face, Ollama, LM Studio, vLLM, llama.cpp
Компатибилен со OpenAI без клучдадаOllama на сопствениот сервер, Pollinations
AnthropicдадаClaude
Google Gemini, Cohereдада
Локална командададаclaude -p или секоја програма што чита од stdin и го испишува одговорот
Услуги за преводданеDeepL, Google Translate, Azure Translator, LibreTranslate, MyMemory, Lingva

Се внесува клучот (или името на променлива на околината што го содржи), се притиска Тестирај врска и се вклучува давателот. Имињата на моделите во претходните поставки се почетни точки; кој ги користи, треба да ги спореди со актуелната листа на давателот. Со двајца или повеќе даватели има вистинска вкрстена проверка, со само еден никој не ја проверува неговата работа. Асистентот укажува на тоа.

Цела веб-страница одеднаш

Стартниот асистент (мени ВИ превод → Започни овде) ги објаснува чекорите и го создава првото правило. Ако е инсталиран модулот website, автоматски доаѓа и мосниот модул ai_translation_consensus_website. Тој го дополнува обемот „Цела веб-страница со сè што е на неа“: се избира веб-страницата и се оставаат да се предложат содржините. Модулот ги разгледува сите модели со преводливи полиња што припаѓаат на веб-страницата (страници, менија, блогови, производи, настани, форуми, курсеви и повеќе) и предлага едно правило по вид на содржина, со јазиците на веб-страницата како цел.

Стартен асистент со обемот цела веб-страница и предложените видови содржина

  • Она што не е инсталирано (форуми, курсеви, галерии) не се појавува и се прифаќа подоцна, штом ќе се инсталира.
  • Моделите на продавницата се предлагаат само ако веб-страницата има продавница. Се опфаќаат само објавени записи.
  • Контакти, фирми, даватели на плаќање, ценовници, начини на испорака, програми за лојалност и филтри за snippet модулот намерно не ги нуди.
  • Имињата на адресите на страниците (seo_name) не се преведуваат.
  • Видовите што не се посакуваат може да се отстранат пред создавањето.

Создавањето и пребарувањето не чинат ништо: правилото само наведува кои текстови бараат работа. Дури при обработката се повикуваат давателите и настануваат трошоци.

Контролна табла, трошоци и автоматско стартување

Контролната табла по правило покажува колку текстови се готови, колку чекаат на потврда или на човек, колку се наредени или неуспешни. Покрај тоа доаѓаат распределбата по јазик и давател, досегашните и уште очекуваните трошоци, проценетото преостанато време и прекинувачот за закажаната обработка.

Контролна табла со напредок, трошоци, токени и јазици. Примерни податоци.

Бројките на оваа слика се примерни податоци и не кажуваат ништо за вистинските трошоци.

  • Трошоците се пресметуваат од она што давателите навистина го пријавуваат: токени (OpenAI, Anthropic, Gemini, Cohere) или знаци (DeepL, Google, Azure). Токените секогаш се прикажуваат, парите само ако кај давателот сте ја внеле цената за милион токени (или знаци). Претходните поставки не содржат цени, бидејќи тие се менуваат. Услугите што не пријавуваат токени се проценуваат од должината на текстот и се означуваат како проценка.
  • Прогноза: просечни трошоци и работно време по текст помножено со бројот на наредени текстови. Тоа е проценка што станува подобра со првите купови.
  • Автоматско стартување: правилата со опцијата Стартувај сами кога ќе се промени запис при секое извршување на закажаното дејство бараат само записи променети од последното пребарување. Со вклучено закажано дејство, изменета веб-страница значи повторно се преведува без никаков зафат.
  • Известување за завршеност: Штом ќе се заврши последниот отворен текст од едно правило, еднаш се појавува пораката „Сите јазици се преведени“ (при лекторирање „Сите текстови се проверени“) во каналот AI Translation.

Одобрување од луѓе

Стандардно, модулот не запишува ништо во Вашите записи без Ваша согласност. Секој предлог ги прикажува верзиите, кој ги напишал, оценките и забелешките на проверувачите. Можете да го прифатите предлогот, да изберете друга верзија, да внесете сопствена формулација или да го одбиете.

Предлог со три кандидати, оценки, гласови за фаворит и одлука на човек. Примерокот на текст е целосно измислен.

Текстот и имињата на давателите на услуги на оваа слика се целосно измислени, за да се прикаже изгледот.

Кој му верува на некое правило, може да ја вклучи опцијата Автоматски прифаќај кога има согласност. Предлозите без согласност и тогаш чекаат човек. При прифаќањето модулот уште еднаш проверува дали изворниот текст во меѓувреме се променил, повторно ги контролира проверките на означувањето (markup) и запишува без следење и без известување на следбениците.

Безбедност и заштита на податоците

  • По инсталацијата сè е исклучено. Давателите на услуги и закажаната акција се деактивирани. Без Ваше дејствување ништо не се испраќа.
  • Текстовите го напуштаат Вашиот сервер штом е вклучена хостирана услуга. Едно правило може да се означи како Доверливо; тогаш текстот го гледаат само даватели кои се означени дека работат на сопствена инфраструктура.
  • Клучевите се наоѓаат во поле што го гледаат само администраторите или во променлива на околината на која упатува само името. Во пораките за грешка тие се маскирани и се испраќаат во заглавија (headers). Исклучок: Изборниот клуч за MyMemory таму може да се проследи само како параметар на барањето.
  • Локалната команда извршува програма и затоа е блокирана сè додека системскиот параметар ai_translation_consensus.allow_command не се постави на True. Командата се повикува без shell и се извршува во празен привремен директориум.
  • Prompt-injection: Налозите го означуваат текстот како податоци. Упатствата во преведениот текст не се следат, а резултат што ги нарушува таговите или местозамениците се отфрла.
  • Бесплатните услуги имаат ограничувања. Pollinations анонимно дозволува еден одговор на секои 45 секунди. Опцијата на давателот min_interval го почитува растојанието, а одговорите „Обидете се повторно подоцна“ се земаат предвид.

Инсталација

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

Потребни се Odoo 19 и Python-пакетот requests. Приложена е германска верзија на преводот. Премостувачкиот модул ai_translation_consensus_website автоматски се инсталира заедно со него ако е присутен website. По инсталацијата Odoo-сервисот мора повторно да се стартува, бидејќи модулот содржи Python-код. Кој управува со продукциски систем, модулот прво го инсталира на копија од базата на податоци.

Првите чекори: отворете го менито АИ-превод → Даватели, тестирајте ги услугите и вклучете ги, потоа Започнете овде и креирајте го првото правило. Со Пребарај текстови се создаваат предлозите, а со Обработи една серија се повикуваат давателите на услуги. Започнете со мало правило, на пример со една блог-објава и два јазика, и погледнете го резултатот и трошоците пред да внесете цела веб-страница во редот.

ограничувања

  • Квалитетот зависи од моделите што ќе ги вклучите. Вкрстената проверка ги намалува грешките на поединечните модели, но не дава гаранција. За правно или безбедносно критични текстови модулот не го заменува мајчиниот говорител.
  • Трошоците растат брзо. Еден текст бара едно повикување по преведувач, едно повикување за проверка по проверувач и, при поделено гласање, втор круг. Контекстот на страницата го зголемува влезот на секое повикување. Едно правило со 45 целни јазици го множи бројот на текстови. Ограничете ги извршувањата со Записи по пребарување, Нови предлози по пребарување и Предлози по Cron-извршување и додадете поевтини или локални модели како проверувачи.
  • Само полиња со translate=True. Форматираниот текст се обработува по блок (механизмот на термини во Odoo).
  • Цените и имињата на моделите се менуваат. Предефинираните вредности не се одржуван ценовник.
  • Изграден за Odoo 19.0 Community. Другите верзии не се поддржани.

Често поставувани прашања

Дали нешто се преведува или презапишува без моја согласност?

Не, сè додека не ја вклучите опцијата Автоматски прифаќај кога има согласност. И тогаш се запишуваат само предлози со согласност. Давателите на услуги и закажаната акција се исклучени по инсталацијата.

Дали ми требаат клучеви за платените даватели на услуги?

Само за давателите кои бараат такви. Со Pollinations, MyMemory или локално управуван модел (на пример Ollama) оди и без. Бесплатните услуги често се ограничени и бавни, а за цела веб-страница обично се погодни само како дополнување.

Колку чини еден превод?

Тоа зависи од давателот, моделот, должината на текстот и бројот на јазици, затоа модулот не дава фиксни бројки. Контролната табла (Dashboard) ги прикажува потрошувачката и трошоците штом ќе ги внесете цените и ги проценува преостанатите трошоци за текстовите во редот.

Можам ли да ги чувам текстовите доверливи?

Да, со опцијата на правилото Доверливо. Тогаш работат само даватели означени дека работат на Вашата сопствена инфраструктура, на пример локален Ollama.

Дали ова го заменува преводот вграден во Odoo?

Не. Модулот ја користи повеќејазичноста на Odoo и запишува во истите преводи што инаку ги одржувате рачно.

Под која лиценца е?

Под AGPL-3. Грешките и подобрувањата се добредојдени како issue во GitHub-репозиториумот .

Поддршка од Biricon IT Services

Се грижиме за Odoo-инсталации за мали и средни претпријатија: од воведувањето преку прилагодувања и миграции до тековното работење. Ако Вашата Odoo веб-страница ја водите на повеќе јазици, преводите сакате да ги обезбедите со вештачка интелигенција или сакате безбедно да внесете модул во Вашата продукциска инстанца, со задоволство ќе помогнеме. Други сопствени развивања: Архивирање на фирма заедно со корисниците на порталот, Броеви на документи од префикс, година и бројач и Firmenbuch и проверка на адреси за австриски клиенти.

Контактирајте не сега

Состојба: 3 ноември 2026. Верзија на модулот 19.0.1.0.0. Сликите прикажуваат измислени примерочни податоци.