텍스트 번역

Vertex AI Translation 서비스를 사용하면 한 언어로 작성된 텍스트를 지원되는 언어로 번역할 수 있습니다.

이 페이지에서는 Google Distributed Cloud (GDC) 에어갭에서 Vertex AI Translation API를 사용하여 샘플 텍스트를 번역하는 방법을 보여줍니다.

시작하기 전에

Vertex AI Translation API를 사용하려면 Vertex AI Translation API가 사용 설정된 프로젝트가 있고 적절한 사용자 인증 정보가 있어야 합니다. 클라이언트 라이브러리를 설치하여 API를 호출할 수도 있습니다. 자세한 내용은 번역 프로젝트 설정을 참고하세요.

텍스트 번역

translateText 메서드는 특정 언어로 된 입력 텍스트를 가져와 다른 언어로 번역된 텍스트를 반환합니다. 일반 텍스트 또는 HTML 텍스트를 입력으로 사용할 수 있습니다.

HTML 텍스트를 입력하면 translateText 메서드는 태그를 번역하지 않고 HTML 태그 사이의 텍스트만 번역합니다. 하지만 alt 속성과 같은 HTML5 태그의 속성은 번역합니다. HTML5 태그와 속성을 사용하는 예는 번역에서 텍스트를 제외하는 구문에서 사용됩니다. 출력에는 번역되지 않은 HTML 태그가 유지되며 태그 사이에 번역된 텍스트가 포함됩니다.

Vertex AI Translation 사전 학습된 API에 curl 요청을 합니다. 그렇지 않은 경우 Python 스크립트에서 Vertex AI Translation 사전 학습 API와 상호작용하여 텍스트를 한 언어에서 다른 언어로 번역합니다.

다음 예에서는 입력 텍스트를 한 언어에서 다른 언어로 번역하는 방법을 보여줍니다.

curl

curl 요청을 하려면 다음 단계를 따르세요.

  1. 인증 토큰 가져오기

  2. 요청을 합니다.

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

다음을 바꿉니다.

  • TOKEN: 획득한 인증 토큰입니다.
  • ENDPOINT: 조직에서 사용하는 Vertex AI Translation 엔드포인트입니다. 자세한 내용은 서비스 상태 및 엔드포인트 보기를 참고하세요.
  • PROJECT_ID: 프로젝트 ID입니다.
  • SOURCE_LANGUAGE: 입력 텍스트의 언어 코드입니다. 지원되는 언어 및 해당 언어 코드 목록을 참고하세요.
  • TARGET_LANGUAGE: 텍스트를 번역할 언어 코드입니다. 지원되는 언어 및 해당 언어 코드 목록을 참고하세요.
  • INPUT_TEXT: 출발어의 입력 텍스트입니다.

mime_type 필드를 사용하여 파일 유형을 지정합니다. mime_type 필드를 다음 값 중 하나로 설정합니다.

  • text/plain: 입력이 일반 텍스트입니다.
  • text/html: 입력이 HTML 텍스트입니다.

mime_type 필드가 비어 있으면 text/html이 기본값입니다.

다음 예시에서는 mime_type 필드를 사용합니다.

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"mime_type": "text/html", "parent": "projects/PROJECT_ID", "source_language_code": "SOURCE_LANGUAGE", "target_language_code": "TARGET_LANGUAGE", "contents": ["INPUT_TEXT"]}'

출력은 번역된 텍스트를 반환합니다.

Python

Python 스크립트에서 Vertex AI Translation 서비스를 사용하려면 다음 단계를 따르세요.

  1. Vertex AI Translation 클라이언트 라이브러리의 최신 버전 설치

  2. Python 스크립트에서 필수 환경 변수를 설정합니다.

  3. API 요청을 인증합니다.

  4. 만든 Python 스크립트에 다음 코드를 추가합니다.

    from google.cloud import translate
    import google.auth
    from google.auth.transport import requests
    from google.api_core.client_options import ClientOptions
    
    audience = "https://ENDPOINT:443"
    api_endpoint="ENDPOINT:443"
    
    def translate_client(creds):
      opts = ClientOptions(api_endpoint=api_endpoint)
      return translate.TranslationServiceClient(credentials=creds, client_options=opts)
    
    def main():
      creds = None
      try:
        creds, project_id = google.auth.default()
        creds = creds.with_gdch_audience(audience)
        req = requests.Request()
        creds.refresh(req)
        print("Got token: ")
        print(creds.token)
      except Exception as e:
        print("Caught exception" + str(e))
        raise e
      return creds
    
    def translate_func(creds):
      tc = translate_client(creds)
      req = {
        "parent": "projects/PROJECT_ID",
        "source_language_code": "SOURCE_LANGUAGE",
        "target_language_code": "TARGET_LANGUAGE",
        "mime_type": "text/plain",
        "contents": ["INPUT_TEXT"]
      }
    
      resp = tc.translate_text(req)
      print(resp)
    
    if __name__=="__main__":
      creds = main()
      translate_func(creds)
    

    다음을 바꿉니다.

    • ENDPOINT: 조직에서 사용하는 Vertex AI Translation 엔드포인트입니다. 자세한 내용은 서비스 상태 및 엔드포인트 보기를 참고하세요.
    • PROJECT_ID: 프로젝트 ID입니다.
    • SOURCE_LANGUAGE: 입력 텍스트의 언어 코드입니다. 지원되는 언어 및 해당 언어 코드 목록을 참고하세요.
    • TARGET_LANGUAGE: 텍스트를 번역할 언어 코드입니다. 지원되는 언어 및 해당 언어 코드 목록을 참고하세요.
    • INPUT_TEXT: 출발어의 입력 텍스트입니다.

    mime_type 필드를 사용하여 파일 유형을 지정합니다. mime_type 필드를 다음 값 중 하나로 설정합니다.

    • text/plain: 입력이 일반 텍스트입니다.
    • text/html: 입력이 HTML 텍스트입니다.

    mime_type 필드가 비어 있으면 text/html이 기본값입니다.

  5. Python 스크립트를 저장합니다.

  6. Python 스크립트를 실행하여 텍스트를 번역합니다.

    python SCRIPT_NAME
    

    SCRIPT_NAME을 Python 스크립트에 지정한 이름(예: translation.py)으로 바꿉니다.

translateText 메서드에 대한 자세한 내용은 Python 클라이언트 라이브러리를 참고하세요.

번역에서 텍스트 제외

요청의 contents 필드에서 다음 HTML 태그 중 하나를 사용하여 텍스트의 일부를 번역에서 제외하세요.

  • <span translate="no">"TEXT"</span>
  • <span class="notranslate">"TEXT"</span>

TEXT을 번역에서 제외할 텍스트 부분으로 바꿉니다.

예를 들어 다음과 같은 스페인어 입력 텍스트가 있다고 가정해 보겠습니다.

Hola, esto es una prueba.

그런 다음 해당 텍스트가 영어로 번역되어 다음과 같은 문장이 됩니다.

Hello, this is a test.

입력 텍스트에서 Hola,를 제외하고 텍스트의 다음 부분만 번역한다고 가정해 보겠습니다.

esto es una prueba.

이 텍스트 부분은 영어로 다음과 같이 번역됩니다.

this is a test.

HTML 태그를 사용하여 번역에서 텍스트를 제외합니다. 예를 들어 다음 curl 요청은 텍스트를 영어로 번역할 때 <span class="notranslate">"TEXT"</span> 태그를 사용하여 스페인어의 이전 입력 텍스트에서 Hola,를 제외합니다.

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d '{"parent": "projects/PROJECT_ID", "source_language_code": "es", "target_language_code": "en", "contents": [<span class="notranslate">"Hola,"</span>"esto es una prueba."]}'

언어 감지

detectLanguage 메서드는 HTTP 요청을 전송하여 텍스트 문자열의 언어를 반환합니다.

예를 들어 다음 요청은 입력 텍스트 Hello, this is a test에서 영어로 언어를 감지합니다.

curl

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:detectLanguage -d '{"parent": "projects/PROJECT_ID", "content": "Hello, this is a test"}'

작업 가져오기

getOperation 메서드는 장기 실행 작업의 최신 상태를 반환합니다. 이 메서드를 사용하여 Vertex AI Translation API 서비스에서 생성된 작업 결과를 가져옵니다. 이 메서드를 사용하려면 프로젝트 ID와 Vertex AI Translation 엔드포인트를 지정하세요.

예를 들어 다음 요청은 프로젝트에서 실행 중인 장기 실행 작업(예: 용어집 만들기)의 상태를 반환합니다.

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations/PROJECT_ID

작업 나열

listOperations 메서드는 요청에 지정된 필터와 일치하는 장기 실행 작업 목록을 반환합니다. 이 메서드를 사용하려면 프로젝트 ID와 Vertex AI Translation 엔드포인트를 지정하세요.

예를 들어 다음 요청은 프로젝트에서 실행 중인 작업 목록을 반환하고 페이지 크기를 페이지당 결과 10개로 제한합니다.

curl

curl -vv -X GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/operations?page_size=10

지원되는 언어 가져오기

supportedLanguages 메서드는 Vertex AI Translation API에서 지원하는 언어 목록을 반환합니다.

예를 들어 다음 요청은 Vertex AI Translation 엔드포인트를 지정하여 지원되는 언어를 반환합니다.

curl

curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages -d "{}"

지원되는 언어의 전체 목록은 Vertex AI Translation 지원 언어를 참고하세요.