机器翻译

自备引擎

文本由 Phrase Language AI 从英语机器翻译而得。

自备引擎 (BYO Engine) 功能允许将外部机器翻译 (MT) 引擎集成到 Phrase 中,以便像使用任何其他机器翻译服务商一样在翻译工作流中使用。

自备引擎适用于:

  • 拥有特定领域机器翻译模型的企业。

  • 拥有自定义客户引擎或首选 AI 技术栈的语言服务提供商 (LSP)。

  • 有内部政策要求使用特定引擎(例如 Gemini、内部 LLM 等)的公司。

可以使用自定义训练的引擎,或者将翻译路由至内部 LLM 或机器翻译服务商,从而在保持对质量、隐私和成本的完全控制的同时,继续受益于 Phrase 的 翻译记忆库 (TM)、术语库QPS(质量评估分数)CAT Editor

自备引擎的使用场景

一旦集成,自备引擎即可用于预翻译。在 Phrase Language AI 个人资料中进行配置,并使用该个人资料通过 Phrase TMS 项目、Phrase Portal、Phrase Strings 项目、Phrase Studio 以及通过 API 使用 Phrase Language AI 进行预翻译。

配置自备引擎

构建适配器

  • 公司必须构建并测试一个轻量级 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. 点击 移除自备引擎

常见问题解答

Q:

为什么需要状态请求?这是由 Phrase 发送给引擎的,还是需要由客户处理?

A:

Phrase 发送该请求以检查引擎是否正常工作。

Q:

一个请求可能包含 500 个 maxItems片段)。这是否意味着必须实时翻译 500 个原文句子?

A:

同步调用最多仅包含 5 个片段,而异步调用最多可包含 500 个。此外,异步超时时间约为 30 分钟。

Q:

请求中发送的是术语表中的所有术语,还是子集?

A:

发送术语表中的所有术语。

Q:

是否可以接入大语言模型(LLM)?

A:

使用封装器应该可以实现。只要引擎返回架构中定义的句段,Phrase 就不需要特定的引擎或 LLM。

Q:

是否可以进行自定义质量评估 (QE)?

A:

不支持第三方 QE。

Q:

标记是如何处理的?

A:

Phrase 接收的内容会经过预处理。HTML 标记被转换为标记,这些标记会按原样传递。

Q:

我们可以只实现异步方法吗?它能在所有 Phrase 区域(预翻译、编辑器等)中正常工作吗?

A:

不行,两种方法(理想情况下是所有端点)都必须实现。同步端点例如由编辑器使用,而异步端点则用于预翻译等区域。

Q:

当引擎同时收到多个请求时会发生什么?

A:

引擎必须能够处理这种情况。确保在所有端点(尤其是异步端点)中正确处理并发和对话安全。

Q:

请求元数据是如何工作的?

A:

它必须保持静态,正如在引擎设置期间定义的那样。

Q:

句段元数据是如何工作的?

A:

目前,它需要成为架构的一部分。

Q:

在机器翻译处理期间,BYOE 是否使用 RAG 来检索内容?

A:

不,BYOE 不使用 RAG。用户可以利用翻译记忆库来确定哪些句段已翻译,但它们本身并不用于机器翻译过程中。这是因为机器翻译引擎必须经过专门设计,才能通过 RAG 合并翻译记忆库数据,而在自带引擎 (BYOE) 场景中,无法控制引擎的构建或配置方式。

适配器模式参考

适配器必须返回与以下字段名称和枚举值完全匹配的响应。即使适配器本身返回 200 OK 响应,不匹配也会导致 Phrase 出现通用的 INTERNAL_ERROR。

  • POST /status 必须返回一个 状态 键,其枚举值必须严格为小写的 oknot_ok。Example: { "status": "ok" }

  • POST /languages 必须返回一个 languagePairs 数组(驼峰命名法),其中每个条目包含一个 sourceLanguage 键和一个 targetLanguage 键。Example: { "languagePairs": [ { "sourceLanguage": "en", "targetLanguage": "es" } ] }

  • POST /translateGET /translateAsyncResult/{ID} 必须返回顶层的 sourceLanguagetargetLanguage 键,以及一个 句段 数组,其中每个句段都包含一个 text 键(回显的原文)和一个 translatedText 键。仅返回 translatedText,或使用不同的键名,会导致反序列化失败。

  • POST /translateAsync 的响应中仅需要一个 ID 键。状态 键不属于此响应模式,如果存在则会被忽略。

  • GET /translateAsyncStatus/{ID} 必须返回一个 状态 键,并使用以下三个枚举值之一: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.