Машинный перевод

Своя система

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Функция «Своя система» (BYO Engine) позволяет интегрировать внешние движки машинного перевода (МП) в Phrase для использования в рабочих процессах перевода наравне с другими провайдерами МП.

Своя система подходит для:

  • Предприятий с моделями МП, обученными для конкретных предметных областей.

  • Языковых сервисных компаний (LSP) с собственными клиентскими движками или предпочтительными стеками ИИ.

  • Организаций с внутренней политикой, требующей использования определенных движков (например, Gemini, внутренних LLM и т. д.).

Можно использовать специально обученные движки или направлять переводы внутренним большим языковым моделям или провайдерам МП, чтобы сохранять полный контроль над качеством, конфиденциальностью и затратами, продолжая при этом пользоваться преимуществами памяти переводов (TM), глоссариев, QPS и CAT-редактора Phrase.

Где можно использовать свою систему

После интеграции своя система становится доступна для предварительного перевода. Настройте ее в профиле Phrase Language AI и используйте этот профиль для предварительного перевода из проектов Phrase TMS, Phrase Portal, проектов Phrase Strings, Phrase Studio и Phrase Language AI через API.

Настройка своей системы

Создание адаптера

  • Организация должна создать и протестировать облегченный API-адаптер. Этот адаптер обеспечивает связь между Phrase и движком.

    Адаптер должен поддерживать:

    • Запросы на перевод

    • Поддержку языковых пар

    • Проверку состояния движка (Phrase отправляет запрос о состоянии)

  • Инфраструктура, обеспечивающая работу движка (движок машинного перевода или LLM), должна размещаться и обслуживаться организацией.

  • Phrase требуются разрешения для подключения к этой инфраструктуре.

  • Адаптер должен возвращать переводы с тем же количеством сегментов и в том же порядке.

Интеграция движка в профиль машинного перевода

После реализации и развертывания адаптера API своя система становится доступна в Phrase Language AI для выбора в профилях машинного перевода и может быть назначена проектам.

Чтобы подключить свою систему к профилю машинного перевода:

  1. На странице профиля машинного перевода Phrase Language AI нажмите «Подключить движки МП».

    Откроется страница «Подключить движок МП».

  2. Выберите «Своя система».

    Откроется страница настройки своей системы.

  3. Введите «Базовый URL движка».

  4. Укажите учетные данные в зависимости от выбранного «Метода аутентификации» (заголовок HTTP или учетные данные клиента (OAuth 2.0)).

  5. Выберите, нужно ли включить параметр «Использовать кэш переводов». Включено по умолчанию.

    Снижает трафик и ускоряет получение перевода за счет повторного использования сегментов, переведенных за последние 30 дней. Это лишь оптимизация производительности вызовов, она не снижает стоимость перевода. Оставьте эту функцию включенной по умолчанию; отключайте ее только во время активной разработки адаптера движка.

  6. При необходимости укажите дополнительную информацию о движке в поле «Пользовательские метки».

  7. Нажмите «Проверить подключение», чтобы убедиться, что интеграция движка работает.

  8. Нажмите Добавить.

    Теперь движок доступен для включения в профиле.

Рекомендации

При использовании своей системы не включайте другие движки в профиле машинного перевода. Это гарантирует, что для предварительного перевода будет выбрана своя система.

Редактирование своей системы

Чтобы отредактировать свою систему, нажмите значок редактирования на ее плитке.

Удаление своей системы

Чтобы удалить свою систему:

  1. Нажмите значок редактирования на плитке движка.

  2. Нажмите «Удалить свою систему».

Часто задаваемые вопросы

В:

Почему требуется запрос статуса? Отправляет ли его Phrase движку или ожидается, что его будет обрабатывать клиент?

О:

Phrase отправляет запрос, чтобы проверить, работает движок или нет.

В:

Один запрос может содержать 500 maxItems в segments. Означает ли это, что 500 исходных предложений должны быть переведены в режиме реального времени?

О:

Синхронные и асинхронные вызовы принимают от 1 до 500 сегментов. На практике синхронные вызовы из редактора содержат один сегмент, а через API и в пакетных процессах (предварительный перевод, анализ) можно отправлять много сегментов — до 500. Асинхронный поток использует тот же лимит и только отделяет отправку задания от получения результата. Время ожидания асинхронного вызова составляет около 30 минут. Мы не переключаемся автоматически с синхронного на асинхронный режим, если ваш адаптер отклоняет запрос. Более подробную информацию о том, чего ожидать от Phrase (количество сегментов, тест проверки движка, повторные попытки и ограничения по времени), см. в руководстве по функции «Своя система».

В:

Все термины глоссария отправляются в запросе или только их часть?

О:

Отправляются все термины глоссария.

В:

Можно ли подключить LLM?

О:

Это должно быть возможно с помощью обертки. Пока движок возвращает сегменты в соответствии со схемой, Phrase не требует использования конкретного движка или LLM.

В:

Возможна ли пользовательская оценка качества (QE)?

О:

Сторонняя оценка качества (QE) не поддерживается.

В:

Как обрабатываются теги?

О:

Контент поступает в Phrase после предварительной обработки. HTML-теги преобразуются в метки, и эти метки передаются без изменений.

В:

Можно ли реализовать только асинхронный подход? Будет ли это корректно работать во всех областях Phrase (предварительный перевод, редактор и т. д.)?

О:

Нет, необходимо реализовать оба подхода (в идеале — все конечные точки). Синхронная конечная точка используется, например, редактором, в то время как асинхронная используется в таких областях, как предварительный перевод.

В:

Что происходит, когда движок получает несколько запросов одновременно?

О:

Движок должен быть способен обрабатывать такие ситуации. Обеспечьте надлежащую обработку параллелизма и потокобезопасности во всех конечных точках, особенно в асинхронных.

В:

Как работают метаданные запроса?

О:

Метаданные запроса, настроенные как «Пользовательские метки» в конфигурации функции «Своя система», поддерживают динамические заполнители, значения которых подставляются до того, как запрос достигает адаптера: {project_uid}, {job_uid} и {idm_organization_uid}. Например, пользовательская метка с ключом project_uid и значением {project_uid} отправляет адаптеру фактический UID проекта Phrase TMS. Разрешение заполнителей применяется только внутри текстовых значений. Неизвестный заполнитель отправляется в адаптер в исходном виде, без разрешения.

В:

Как работают метаданные сегмента?

О:

В настоящее время это должно быть частью схемы.

В:

Использует ли BYOE RAG для получения контекста во время машинного перевода?

О:

Нет, BYOE не использует RAG. Пользователи могут использовать базы памяти переводов, чтобы определять, какие сегменты переводить, но в самом процессе машинного перевода эти базы не используются. Это связано с тем, что системы машинного перевода должны быть специально разработаны для использования данных памяти переводов с помощью RAG, а в сценариях BYOE невозможно контролировать их разработку и настройку.

Справочник схемы адаптера

Адаптер должен возвращать ответы, которые в точности соответствуют следующим именам полей и значениям перечислений. Несоответствие приводит к общей ошибке INTERNAL_ERROR со стороны Phrase, даже если сам адаптер возвращает ответ 200 OK.

  • POST /status должен возвращать поле status со значением перечисления строго в нижнем регистре: ok или not_ok. Пример: { "status": "ok" }

  • POST /languages должен возвращать массив languagePairs (в формате camelCase), где каждая запись содержит поле sourceLanguage и поле targetLanguage. Пример: { "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] }

  • POST /translate и GET /translateAsyncResult/{id} должны возвращать поля верхнего уровня sourceLanguage и targetLanguage, а также массив segments, где каждый сегмент включает поле text (исходный текст, возвращённый без изменений) и поле translatedText. Возврат только translatedText или использование другого имени ключа приводит к ошибке десериализации.

  • POST /translateAsync требует наличия в ответе только поля id. Поле status не является частью этой схемы ответа и игнорируется, если оно присутствует.

  • GET /translateAsyncStatus/{id} должен возвращать поле status с одним из трёх значений перечисления: running — если задание ещё обрабатывается, done — если задание успешно завершено, или failed — если задание завершилось с ошибкой. Для задания, завершившегося с ошибкой, необязательное поле detail может описывать причину сбоя. Примеры значений: { "status": "running" }, { "status": "done" }, { "status": "failed", "detail": "Description of translation failure" }

 

Была ли эта статья полезной?
★ ★ ★ ★ ★

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.