テキストを翻訳する

このページでは、Vertex AI Studio を使用してテキストをある言語から別の言語に迅速に翻訳する方法について説明します。Vertex AI Studio の翻訳では、Gemini と 2 つの特殊な翻訳モデル(Cloud Translation のニューラル機械翻訳(NMT)モデルと、翻訳用にファインチューニングされた LLM)のどちらかを選択できます。翻訳 LLM を使用すると、スタイル、トーン、業界ドメインに近い翻訳例を指定することで、レスポンスを調整できます。モデルは、テキストを翻訳する前に、少量のサンプルをコンテキストとして使用します。

Gemini または NMT モデルでテキストを翻訳する場合は、サンプルを渡すことはできません。ただし、サンプルのない直接翻訳の場合は、Gemini または専門の翻訳モデルを使用できます。

サポートされている言語

各モデルがサポートする言語は異なります。翻訳をリクエストする前に、使用しているモデルが目的のソース言語とターゲット言語をサポートしていることを確認してください。

翻訳 LLM

翻訳 LLM では、次の言語ペア間で翻訳できます。

  • 中国語(簡体)<-> 英語
  • フランス語 <-> 英語
  • ドイツ語 <-> 英語
  • イタリア語 <-> 英語
  • 日本語 <-> 英語
  • 韓国語 <-> 英語
  • ポルトガル語 <-> 英語
  • スペイン語 <-> 英語

Gemini と NMT

Gemini と NMT モデルでサポートされている言語については、次のドキュメントをご覧ください。

テキストを翻訳する

Google Cloud コンソールまたは API を使用して、翻訳 LLM、Gemini、または NMT モデルを使用してテキストを翻訳します。

コンソール

  1. Google Cloud コンソールの [Cloud Translation] セクションで、[Vertex AI Studio] の [翻訳] ページに移動します。

    Vertex AI Studio に移動

  2. [実行設定] ペインの [モデル] フィールドで、翻訳モデルを選択します。

  3. モデルの設定(温度など)を変更するには、[詳細] を開きます。

  4. 原文の言語と訳文の言語を設定します。

  5. 入力フィールドに、翻訳するテキストを入力します。

  6. [送信] をクリックします。

  7. 翻訳のリクエスト方法を示すコードまたは curl コマンドを取得するには、[コードを取得] をクリックします。

API

翻訳に使用するモデルを選択します。

翻訳 LLM

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: このオペレーションを実行するリージョン。例: us-central1
  • SOURCE_LANGUAGE: 入力テキストの言語コード。適応型翻訳に記載されているいずれかの言語コードを設定します。
  • TARGET_LANGUAGE: 入力テキストを翻訳する言語。適応型翻訳に記載されているいずれかの言語コードを設定します。
  • SOURCE_TEXT: 翻訳対象のソース言語のテキスト。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate

リクエストの本文(JSON):

{
  "sourceLanguageCode": "SOURCE_LANGUAGE_CODE",
  "targetLanguageCode": "TARGET_LANGUAGE_CODE",
  "content": ["INPUT_TEXT"],
  "model": "projects/PROJECT_ID/locations/LOCATION/model/general/translate-llm"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT"
    }
  ],
  "languageCode": "TARGET_LANGUAGE"
}

Node.js

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

const projectId = '<PROJECT_ID>';
const location = 'global';
const text = '<INPUT_TEXT>';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function translateText() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    sourceLanguageCode: '<SOURCE_LANGUAGE_CODE>',
    targetLanguageCode: '<TARGET_LANGUAGE_CODE>',
    model: `projects/${projectId}/locations/${location}/model/general/translate-llm`
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.translations) {
    console.log(`Translation: ${translation.translatedText}`);
  }
}

translateText();
      

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

# Imports the Google Cloud Translation library
from google.cloud import translate

# Initialize Translation client
def translate_text(
    text: str = "YOUR_TEXT_TO_TRANSLATE", project_id: str = "YOUR_PROJECT_ID"
) -> translate.TranslationServiceClient:
    """Translating Text."""

    client = translate.TranslationServiceClient()

    location = "global"

    parent = f"projects/{project_id}/locations/{location}"
    model = f"{parent}/models/general/translate-llm"

    # Translate text from English to French
    # Detail on supported types can be found here:
    # https://cloud.google.com/translate/docs/supported-formats
    response = client.translate_text(
        request={
            "parent": parent,
            "contents": [text],
            "model": model
            "mime_type": "text/plain",  # mime types: text/plain, text/html
            "source_language_code": "<SOURCE_LANGUAGE_CODE>",
            "target_language_code": "<TARGET_LANGUAGE_CODE>",
        }
    )

    # Display the translation for each input text provided
    for translation in response.translations:
        print(f"Translated text: {translation.translated_text}")

    return response

translate_text(<INPUT_TEXT>, <PROJECT_ID>)
      

Gemini

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID。
  • LOCATION: リクエストを処理するリージョン。使用できる選択肢は以下のとおりです。

    クリックして利用可能なリージョンを開く

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • MODEL_ID: モデルの ID(gemini-1.0-pro-002 など)
  • SOURCE_LANGUAGE_CODE: 入力テキストの言語。
  • TARGET_LANGUAGE_CODE: 入力テキストを翻訳する言語。
  • SOURCE_TEXT: 翻訳するテキスト。
  • TEMPERATURE: 温度は、レスポンス生成時のサンプリングに使用されます。レスポンス生成は、topPtopK が適用された場合に発生します。温度は、トークン選択のランダム性の度合いを制御します。温度が低いほど、確定的で自由度や創造性を抑えたレスポンスが求められるプロンプトに適しています。一方、温度が高いと、より多様で創造的な結果を導くことができます。温度が 0 の場合、確率が最も高いトークンが常に選択されます。この場合、特定のプロンプトに対するレスポンスはほとんど確定的ですが、わずかに変動する可能性は残ります。

    モデルが返すレスポンスが一般的すぎる、短すぎる、あるいはフォールバック(代替)レスポンスが返ってくる場合は、温度を高く設定してみてください。

  • TOP_P: トップ P は、モデルが出力用にトークンを選択する方法を変更します。トークンは、確率の合計がトップ P 値に等しくなるまで、確率の高いもの(トップ K を参照)から低いものへと選択されます。たとえば、トークン A、B、C の確率が 0.3、0.2、0.1 であり、トップ P 値が 0.5 であるとします。この場合、モデルは温度を使用して A または B を次のトークンとして選択し、C は候補から除外します。

    ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。

  • TOP_K: トップ K は、モデルが出力用にトークンを選択する方法を変更します。トップ K が 1 の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものであることになります(グリーディ デコードとも呼ばれます)。トップ K が 3 の場合は、最も確率が高い上位 3 つのトークンから次のトークン選択されることになります(温度を使用します)。

    トークン選択のそれぞれのステップで、最も高い確率を持つトップ K のトークンがサンプリングされます。その後、トークンはトップ P に基づいてさらにフィルタリングされ、最終的なトークンは温度サンプリングを用いて選択されます。

    ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。

  • MAX_OUTPUT_TOKENS: レスポンス内に生成できるトークンの最大数。1 トークンは約 4 文字です。100 トークンは約 60~80 語に相当します。

    レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。

  • SAFETY_CATEGORY: しきい値を構成する安全性カテゴリ。指定できる値は以下のとおりです。

    クリックして安全性カテゴリを開く

    • HARM_CATEGORY_SEXUALLY_EXPLICIT
    • HARM_CATEGORY_HATE_SPEECH
    • HARM_CATEGORY_HARASSMENT
    • HARM_CATEGORY_DANGEROUS_CONTENT
  • THRESHOLD: 確率に基づいて、指定された安全性カテゴリに属する可能性のあるレスポンスをブロックするためのしきい値。指定できる値は以下のとおりです。

    クリックしてブロックしきい値を開く

    • BLOCK_NONE
    • BLOCK_ONLY_HIGH
    • BLOCK_MEDIUM_AND_ABOVE(デフォルト)
    • BLOCK_LOW_AND_ABOVE
    BLOCK_LOW_AND_ABOVE はブロック対象が最も多く、BLOCK_ONLY_HIGH はブロック対象が最も少なくなります。

HTTP メソッドと URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent

リクエストの本文(JSON):

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
        "text": "SOURCE_LANGUAGE_CODE: SOURCE_TEXT\nTARGET_LANGUAGE_CODE:"
        }
      ]
    }
  ],
  "generation_config": {
    "temperature": TEMPERATURE,
    "topP": TOP_P,
    "topK": TOP_K,
    "candidateCount": 1,
    "maxOutputTokens": MAX_OUTPUT_TOKENS
  }
  "safetySettings": [
    {
      "category": "SAFETY_CATEGORY",
      "threshold": "THRESHOLD"
    }
  ]
}

リクエストを送信するには、次のいずれかのオプションを展開します。

成功を示すステータス コード(2xx)と空のレスポンスが返されます。

Node.js

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

const {VertexAI} = require('@google-cloud/vertexai');

// Initialize Vertex with your Cloud project and location
const vertex_ai = new VertexAI({project: '<PROJECT_ID>', location: '<LOCATION>'});
const model = 'gemini-1.0-pro';

// Instantiate the models
const generativeModel = vertex_ai.preview.getGenerativeModel({
  model: model,
  generationConfig: {
    'candidate_count': 1,
    'max_output_tokens': <MAX_OUTPUT_TOKENS>,
    'temperature': <TEMPERATURE>,
    'top_p': <TOP_P>,
    'top_k': <TOP_K>,
  },
  safetySettings: [
    {
        'category': 'HARM_CATEGORY_HATE_SPEECH',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    },
    {
        'category': 'HARM_CATEGORY_DANGEROUS_CONTENT',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    },
    {
        'category': 'HARM_CATEGORY_SEXUALLY_EXPLICIT',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    },
    {
        'category': 'HARM_CATEGORY_HARASSMENT',
        'threshold': 'BLOCK_MEDIUM_AND_ABOVE'
    }
  ],
});

async function generateContent() {
  const req = {
    contents: [
      {role: 'user', parts: [{text: `<SOURCE_LANGUAGE_CODE>: <TEXT>
<TARGET_LANGUAGE_CODE>:`}]}
    ],
  };

  const streamingResp = await generativeModel.generateContentStream(req);

  for await (const item of streamingResp.stream) {
    process.stdout.write('stream chunk: ' + JSON.stringify(item) + '\n');
  }

  process.stdout.write('aggregated response: ' + JSON.stringify(await streamingResp.response));
}

generateContent();
      

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

import base64
import vertexai
from vertexai.generative_models import GenerativeModel, Part, FinishReason
import vertexai.preview.generative_models as generative_models

def generate():
  vertexai.init(project="<PROJECT_ID>", location="<LOCATION>")
  model = GenerativeModel("gemini-1.0-pro")
  responses = model.generate_content(
      ["""<SOURCE_LANGUAGE_CODE>: <TEXT>
<TARGET_LANGUAGE_CODE>:"""],
      generation_config=generation_config,
      safety_settings=safety_settings,
  )

  print(responses)

generation_config = {
    "candidate_count": 1,
    "max_output_tokens": <MAX_OUTPUT_TOKENS>,
    "temperature": <TEMPERATURE>,
    "top_p": <TOP_P>,
    "top_k": <TOP_K>,
}

safety_settings = {
    generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
}

generate()
      

NMT

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID。
  • SOURCE_LANGUAGE: (省略可)入力ドキュメントの言語コード。サポートされている言語コードについては、言語のサポートをご覧ください。
  • TARGET_LANGUAGE: 入力テキストを翻訳する言語。サポートされている言語コードのいずれかに設定します。
  • SOURCE_TEXT: 翻訳するテキスト。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID:translateText

リクエストの本文(JSON):

{
  "sourceLanguageCode": "SOURCE_LANGUAGE",
  "targetLanguageCode": "TARGET_LANGUAGE",
  "contents": ["SOURCE_TEXT1", "SOURCE_TEXT2"]
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT1"
    },
    {
      "translatedText": "TRANSLATED_TEXT2"
    }
  ]
}

Node.js

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'global';
// const text = 'text to translate';

// Imports the Google Cloud Translation library
const {TranslationServiceClient} = require('@google-cloud/translate');

// Instantiates a client
const translationClient = new TranslationServiceClient();

async function translateText() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    contents: [text],
    mimeType: 'text/plain', // mime types: text/plain, text/html
    sourceLanguageCode: 'en',
    targetLanguageCode: 'sr-Latn',
  };

  // Run request
  const [response] = await translationClient.translateText(request);

  for (const translation of response.translations) {
    console.log(`Translation: ${translation.translatedText}`);
  }
}

translateText();

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

# Imports the Google Cloud Translation library
from google.cloud import translate

# Initialize Translation client
def translate_text(
    text: str = "YOUR_TEXT_TO_TRANSLATE", project_id: str = "YOUR_PROJECT_ID"
) -> translate.TranslationServiceClient:
    """Translating Text."""

    client = translate.TranslationServiceClient()

    location = "global"

    parent = f"projects/{project_id}/locations/{location}"

    # Translate text from English to French
    # Detail on supported types can be found here:
    # https://cloud.google.com/translate/docs/supported-formats
    response = client.translate_text(
        request={
            "parent": parent,
            "contents": [text],
            "mime_type": "text/plain",  # mime types: text/plain, text/html
            "source_language_code": "en-US",
            "target_language_code": "fr",
        }
    )

    # Display the translation for each input text provided
    for translation in response.translations:
        print(f"Translated text: {translation.translated_text}")

    return response

カスタム翻訳

独自の翻訳例を指定することで、翻訳 LLM からのレスポンスをカスタマイズします。カスタム翻訳は、翻訳 LLM でのみ機能します。

データ要件

翻訳サンプルは、TMX ファイルまたは TSV ファイルにセグメントのペアとして記述する必要があります。各ペアには、ソース言語のセグメントとその訳文が含まれます。詳細については、Cloud Translation ドキュメントの翻訳例を準備するをご覧ください。

最も正確な結果を得るには、さまざまなシナリオの具体的な例を含めてください。5 つ以上の文のペアを含める必要があります。ペアは 10,000 個以下にする必要があります。また、1 つのセグメントペアの最大文字数は合計で 512 文字です。

翻訳をカスタマイズする

コンソール

  1. Google Cloud コンソールの [Cloud Translation] セクションで、[Vertex AI Studio] の [翻訳] ページに移動します。

    Vertex AI Studio に移動

  2. [テキストの翻訳] カードで [翻訳] をクリックします。

  3. [パラメータ] ペインで、翻訳の設定を行います。

    1. [モデル] フィールドで [Translation LLM] を選択します。
    2. 温度を変更するには、[詳細] を開きます。
  4. [例を追加] をクリックします。

    1. ローカル ファイルまたは Cloud Storage のファイルを選択します。Vertex AI Studio は、ファイルからソース言語とターゲット言語を決定します。
    2. レスポンスの生成前に、モデルで使用するサンプル数を選択します。

    選択したサンプルの数は、リクエストあたりの入力文字数の上限(3,000)にカウントされます。

  5. 入力フィールドに、翻訳するテキストを入力します。

  6. [送信] をクリックします。

    モデルは、サンプルからパターンを識別し、レスポンスを生成する際にそれらを適用します。リクエストごとの出力文字数は 3,000 文字です。この上限を超えるテキストは破棄されます。

  7. 翻訳のリクエスト方法を示すコードまたは curl コマンドを取得するには、[コードを取得] をクリックします。

REST

データセットを作成する

サンプルの翻訳をインポートするデータセットを作成します。原文および翻訳する言語は、翻訳で使用する言語と一致する必要があります。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: ソース データセットが配置されているリージョン(us-central1 など)。
  • DATASET_ID: データセットの一意の識別子。
  • DISPLAY_NAME: データセットのわかりやすい名前。
  • SOURCE_LANGUAGE: 入力テキストの言語コード。サポートされている言語コードについては、サポートされている言語をご覧ください。
  • TARGET_LANGUAGE: 入力テキストを翻訳する言語。サポートされている言語コードについては、サポートされている言語をご覧ください。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets

リクエストの本文(JSON):

{
  "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID,
  "display_name": "DISPLAY_NAME",
  "source_language_code": "SOURCE_LANGUAGE",
  "target_language_code": "TARGET_LANGUAGE"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID",
  "displayName": "DISPLAY_NAME",
  "sourceLanguageCode": "SOURCE_LANGUAGE",
  "targetLanguageCode": "TARGET_LANGUAGE"
}

データをインポートする

TSV ファイルまたは TMX ファイルから翻訳サンプルを読み込んでデータセットに追加します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: データセットが配置されているリージョン(us-central1 など)。
  • DATASET_ID: データのインポート先であるデータセットの一意の識別子。
  • GCS_FILE_PATH: Cloud Storage のソースデータ ファイルのパス(gs://example/data.tsv など)。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID:importAdaptiveMtFile

リクエストの本文(JSON):

{
  "gcs_input_source": {
    "input_uri": "GCS_FILE_PATH"
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "adaptiveMtFile": {
    "name": "DATASET_NAME",
    "displayName": "FILE_NAME",
    "entryCount": TOTAL_ENTRIES
  }
}

テキストを翻訳する

翻訳するテキストと、翻訳に使用するデータセットを指定します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_NUMBER_OR_ID: Google Cloud プロジェクトの数字または英数字の ID
  • LOCATION: ソース データセットが配置されているリージョン(us-central1 など)。
  • DATASET_NAME: Cloud Translation が翻訳のカスタマイズに使用するデータセットの名前(projects/PROJECT_ID/locations/LOCATION/adaptiveMtDatasets/DATASET_ID 形式)。データセット名を取得するには、プロジェクト内のすべてのデータセットを一覧表示します。
  • SOURCE_TEXT: 翻訳するテキスト。

HTTP メソッドと URL:

POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:adaptiveMtTranslate

リクエストの本文(JSON):

{
  "dataset": "DATASET_NAME",
  "content": ["SOURCE_TEXT"]
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "translations": [
    {
      "translatedText": "TRANSLATED_TEXT"
    }
  ],
  "languageCode": "TARGET_LANGUAGE"
}

Node.js

このサンプルを試す前に、Cloud Translation クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。詳細については、Cloud Translation Node.js API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

const projectId = '<PROJECT_ID>';
const location = 'us-central1';
const text = '<INPUT_TEXT>';

async function createAdaptiveMtDataset() {
  // Construct request
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    adaptiveMtDataset: {
      name: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
          adaptiveMtDatasetName}`,
      displayName: 'DATASET_DISPLAY_NAME',
      sourceLanguageCode: <SOURCE_LANGUAGE_CODE>,
      targetLanguageCode: <TARGET_LANGUAGE_CODE>,
    }
  };

  // Run request
  const [response] = await translationClient.createAdaptiveMtDataset(request);
  console.log('Created')
  console.log(response)
}

async function importAdaptiveMtFile() {
  const request = {
    parent: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
        adaptiveMtDatasetName}`,
    gcsInputSource: {inputUri: gcs_file_uri}
  } const [response] = await translationClient.importAdaptiveMtFile(request)
  console.log('Importing file')
  console.log(response)
}

async function translate() {
  const request = {
    parent: `projects/${projectId}/locations/${location}`,
    dataset: `projects/${projectId}/locations/${location}/adaptiveMtDatasets/${
        adaptiveMtDatasetName}`,
    content: [text]
  } const [response] = await translationClient.adaptiveMtTranslate(request)
  console.log('Translating')
  console.log(response)
}
  

Python

このサンプルを試す前に、クライアント ライブラリを使用して Cloud Translation クイックスタートにある Python の設定手順を完了してください。詳細については、Cloud Translation Python API リファレンス ドキュメントをご覧ください。

Cloud Translation に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。

# Imports the Google Cloud Translation library
from google.cloud import translate

def create_adaptive_mt_dataset():
  # Create a client
  client = translate.TranslationServiceClient()
  # Initialize request argument(s)
  adaptive_mt_dataset = translate.AdaptiveMtDataset()
  adaptive_mt_dataset.name = "projects/<PROJECT_ID>/locations/us-central1/adaptiveMtDatasets/DATASET_ID"
  adaptive_mt_dataset.display_name = "DATASET_DISPLAY_NAME"
  adaptive_mt_dataset.source_language_code = "<SOURCE_LANGUAGE_CODE>"
  adaptive_mt_dataset.target_language_code = "<TARGET_LANGUAGE_CODE>"
  request = translate.CreateAdaptiveMtDatasetRequest(
      parent="projects/<PROJECT_ID>/locations/us-central1",
      adaptive_mt_dataset=adaptive_mt_dataset,
  )
  # Make the request
  response = client.create_adaptive_mt_dataset(request=request)
  # Handle the response
  print(response)

def import_adaptive_mt_file():
  # Create a client
  client = translate.TranslationServiceClient()
  gcs_input_source = translate.GcsInputSource()
  gcs_input_source.input_uri = "gs://SOURCE_LOCATION/FILE.tsv"
  # Initialize the request
  request = translate.ImportAdaptiveMtFileRequest(
      parent="projects/<PROJECT_ID>/locations/us-central1/adaptiveMtDatasets/DATASET_ID",
      gcs_input_source=gcs_input_source
  )
  # Make the request
  response = client.import_adaptive_mt_file(request)
  # Handle the response
  print(response)

def adaptive_mt_translate():
  # Create a client
  client = translate.TranslationServiceClient()
  # Initialize the request
  request = translate.AdaptiveMtTranslateRequest(
      parent="projects/<PROJECT_ID>/locations/us-central1",
      dataset="projects/<PROJECT_ID>/locations/us-central1/adaptiveMtDatasets/DATASET_ID",
      content=["<INPUT_TEXT>"],

  )
  # Make the request
  response = client.adaptive_mt_translate(request)
  # Handle the response
  print(response)