翻译
翻译自托管 LLM 翻译

自托管 LLM 翻译

将自托管 LLM(例如:通过 Ollama)作为翻译提供商注入指令 @strTranslate,将字段值翻译成任意目标语言。

描述

将自托管 LLM 作为翻译提供商在指令 @strTranslate 中使用。

为任意 String 类型的字段添加指令 @strTranslate,即可将其翻译成目标语言。

例如,以下 Query 使用自托管 LLM 将文章的 titlecontent 字段从英语翻译成法语:

{
  posts {
    title @strTranslate(
      from: "en",
      to: "fr",
      provider: self_hosted_llm
    )
    
    content @strTranslate(
      from: "en",
      to: "fr",
      provider: self_hosted_llm
    )
  }
}

鉴权

如果 LLM 托管在您自己的服务器上,则无需 API 密钥。

如果您在云端使用自托管 LLM(例如:使用 Ollama Cloud),则可能需要通过设置页面中的 Plugin Management > Self-Hosted LLM Translation 标签页提供 API 密钥。

请按照以下任意方法输入该值。

通过设置页面

在设置页面的对应输入框中输入 API 密钥,然后点击「Save Changes (All)」:

设置 API 密钥
设置 API 密钥

wp-config.php 中配置

wp-config.php 中添加常量 GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_API_KEY

define( 'GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_API_KEY', '{your API key}' );

通过环境变量

定义环境变量 SELF_HOSTED_LLM_TRANSLATION_SERVICES_API_KEY

LLM 配置

您需要配置以下值:

  • Endpoint URL:自托管 LLM 模型的 HTTP 端点 URL。例如:
    • 使用 ChatGPT 格式并通过 Ollama 在服务器上托管 LLM 模型时,使用 http://localhost:11434/v1/chat/completions
    • 使用 Claude 格式并通过 Ollama 在服务器上托管 LLM 模型时,使用 http://localhost:11434/v1/messages
    • 使用 ChatGPT 格式与 Ollama Cloud 时,使用 https://ollama.com/v1/chat/completions
    • 使用 Claude 格式与 Ollama Cloud 时,使用 https://ollama.com/v1/messages
  • Compatible with API endpoint from:您的自定义端点所兼容的 AI 服务提供商,可选 ChatGPTClaude
  • Model:翻译内容时使用的自托管 LLM 模型名称。
  • Max tokens:模型在响应中可生成的最大 token 数量。ChatGPT 不设上限时留空,或使用 Claude 的默认值。

请按照以下任意方法输入这些值。

通过设置页面

在设置页面的对应输入框中输入模型信息,然后点击「Save Changes (All)」:

设置 LLM 配置
设置 LLM 配置

wp-config.php 中配置

wp-config.php 中添加以下常量:

  • GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_ENDPOINT_URL
  • GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_ENDPOINT_FORMAT_PROVIDER
  • GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_MODEL
  • GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_MAX_TOKENS
define( 'GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_ENDPOINT_URL', 'http://localhost:11434/v1/chat/completions' );
define( 'GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_ENDPOINT_FORMAT_PROVIDER', 'chatgpt' );
define( 'GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_MODEL', 'translategemma' );
define( 'GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_MAX_TOKENS', '128000' );

通过环境变量

定义以下环境变量:

  • SELF_HOSTED_LLM_TRANSLATION_SERVICES_ENDPOINT_URL
  • SELF_HOSTED_LLM_TRANSLATION_SERVICES_ENDPOINT_FORMAT_PROVIDER
  • SELF_HOSTED_LLM_TRANSLATION_SERVICES_MODEL
  • SELF_HOSTED_LLM_TRANSLATION_SERVICES_MAX_TOKENS

翻译提示词

您可以自定义传递给自托管 LLM 以执行翻译的提示词。

请按照以下任意方法输入该值。

通过设置页面

在设置页面的对应输入框中输入「System message」和「Prompt template」,然后点击「Save Changes (All)」:

设置 SelfHostedLLM 的提示词
设置 SelfHostedLLM 的提示词

wp-config.php 中配置

wp-config.php 中添加常量 GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_PROMPT_TEMPLATE

define( 'GATOGRAPHQL_SELF_HOSTED_LLM_TRANSLATION_SERVICES_PROMPT_TEMPLATE', 'Please translate strings from {$sourceLang} to {$targetLang}' );

通过环境变量

定义环境变量 SELF_HOSTED_LLM_TRANSLATION_SERVICES_PROMPT_TEMPLATE