Translation
TranslationセルフホストLLM翻訳

セルフホストLLM翻訳

セルフホストLLM(例:Ollama経由)を翻訳プロバイダーとしてディレクティブ@strTranslateに注入し、フィールド値を任意の言語に翻訳します。

説明

セルフホストLLMをディレクティブ@strTranslateの翻訳プロバイダーとして利用できるようにします。

String型の任意のフィールドにディレクティブ@strTranslateを追加すると、そのフィールドを目的の言語に翻訳できます。

たとえば、次のクエリはセルフホスト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:モデルがレスポンスで生成できるトークンの最大数。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を定義します。