텍스트 번역

이 페이지에서는 Vertex AI Studio를 사용하여 한 언어에서 다른 언어로 텍스트를 빠르게 번역하는 방법을 보여줍니다. Vertex AI Studio의 Translation은 Gemini를 비롯해 Cloud Translation 인공신경망 기계 번역(NMT) 모델과 번역을 위해 미세 조정된 LLM을 포함하는 2가지 특수 번역 모델 중에서 선택할 수 있습니다. 번역 LLM을 사용하는 경우 스타일, 어조, 산업 분야에 더 가깝게 일치하도록 번역 예시를 제공하여 응답을 맞춤설정할 수 있습니다. 모델은 텍스트를 번역하기 전에 사용자의 예시를 퓨샷 컨텍스트로 사용합니다.

Gemini 또는 NMT 모델을 사용하여 텍스트를 번역할 때는 예시를 전달할 수 없습니다. 하지만 예시 없이 직접 번역하려는 경우 Gemini 또는 전문 번역 모델을 사용할 수 있습니다.

지원 언어

각 모델에서 지원하는 언어는 다를 수 있습니다. 번역을 요청하기 전에 사용 중인 모델이 출발어와 도착어를 지원하는지 확인하세요.

번역 LLM

번역 LLM의 경우 다음 언어 쌍으로 또는 그 반대로 번역할 수 있습니다.

  • 중국어(간체) <-> 영어
  • 프랑스어 <-> 영어
  • 독일어 <-> 영어
  • 이탈리아어 <-> 영어
  • 일본어 <-> 영어
  • 한국어 <-> 영어
  • 포르투갈어 <-> 영어
  • 스페인어 <-> 영어

Gemini 및 NMT

Gemini 및 NMT 모델이 지원하는 언어에 대한 자세한 내용은 다음 문서를 참조하세요.

텍스트 번역

Google Cloud 콘솔 또는 API를 사용하여 번역 LLM, Gemini, NMT 모델을 사용하여 텍스트를 번역합니다.

Console

  1. Google Cloud 콘솔의 Cloud Translation 섹션에서 Vertex AI StudioTranslation 페이지로 이동합니다.

    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/translation-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/translation-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/translation-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가 적용될 때 발생합니다. 강도는 토큰 선택의 무작위성 수준을 제어합니다. 온도(temperature)가 낮을수록 자유롭거나 창의적인 답변과 거리가 먼 응답이 필요한 프롬프트에 적합하고, 온도(temperature)가 높을수록 보다 다양하거나 창의적인 결과로 이어질 수 있습니다. 강도가 0이면 확률이 가장 높은 토큰이 항상 선택됩니다. 이 경우 특정 프롬프트에 대한 응답은 대부분 확정적이지만 여전히 약간의 변형이 가능합니다.

    모델이 너무 일반적이거나, 너무 짧은 응답을 반환하거나 모델이 대체 응답을 제공할 경우에는 강도를 높여보세요.

  • TOP_P: Top-P는 모델이 출력용 토큰을 선택하는 방식을 변경합니다. 토큰은 확률의 합이 Top-P 값과 같아질 때까지 확률이 가장 높은 것부터(Top-K 참조) 가장 낮은 것까지 선택됩니다. 예를 들어 토큰 A, B, C의 확률이 0.3, 0.2, 0.1이고 Top-P 값이 0.5이면 모델이 강도를 사용해서 다음 토큰으로 A 또는 B를 선택하고 C는 후보에서 제외합니다.

    임의성이 낮은 응답에 낮은 값을 지정하고 임의성이 높은 응답에 높은 값을 지정합니다.

  • TOP_K: Top-K는 모델이 출력용 토큰을 선택하는 방식을 변경합니다. Top-K가 1이면 선택된 토큰이 모델의 어휘에 포함된 모든 토큰 중에서 가장 확률이 높다는 의미입니다(그리디 디코딩이라고도 함). 반면에 Top-K가 3이면 강도를 사용하여 가장 확률이 높은 3개 토큰 중에서 다음 토큰이 선택된다는 의미입니다.

    각 토큰 선택 단계에서 확률이 가장 높은 Top-K 토큰이 샘플링됩니다. 그런 다음 Top-P를 기준으로 토큰을 추가로 필터링하고 온도(temperature) 샘플링을 사용하여 최종 토큰을 선택합니다.

    임의성이 낮은 응답에 낮은 값을 지정하고 임의성이 높은 응답에 높은 값을 지정합니다.

  • MAX_OUTPUT_TOKENS: 응답에서 생성될 수 있는 토큰의 최대 개수입니다. 토큰은 약 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쌍 이하여야 합니다. 또한 세그먼트 쌍의 최대 길이는 총 512자(영문 기준)입니다.

번역 맞춤설정

Console

  1. Google Cloud 콘솔의 Cloud Translation 섹션에서 Vertex AI StudioTranslation 페이지로 이동합니다.

    Vertex AI Studio로 이동

  2. 텍스트 번역 카드에서 번역을 클릭합니다.

  3. 매개변수 창에서 번역 설정을 구성합니다.

    1. 모델 필드에서 번역 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)