Menerjemahkan teks

Layanan Vertex AI Translation memungkinkan Anda menerjemahkan teks yang ditulis dalam suatu bahasa ke bahasa lain yang didukung.

Halaman ini menunjukkan cara menerjemahkan teks sampel menggunakan Vertex AI Translation API di Google Distributed Cloud (GDC) yang terisolasi.

Sebelum memulai

Untuk menerjemahkan teks, hubungi Admin IAM Project Anda untuk meminta peran AI Translation Developer (ai-translation-developer) di namespace project Anda.

Untuk mengetahui informasi selengkapnya tentang peran ini, lihat Menyiapkan izin IAM.

Sebelum dapat mulai menggunakan Vertex AI Translation API, Anda harus memiliki project dengan Vertex AI Translation API yang diaktifkan, dan Anda harus memiliki kredensial yang sesuai. Anda juga dapat menginstal library klien untuk membantu melakukan panggilan ke API. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan project terjemahan.

Menerjemahkan teks

Metode translateText mengambil teks input dalam bahasa tertentu dan menampilkan teks terjemahan ke bahasa lain. Anda dapat memasukkan teks biasa atau HTML sebagai input.

Jika Anda memasukkan teks HTML, metode translateText hanya akan menerjemahkan teks di antara tag HTML tanpa menerjemahkan tag. Namun, metode ini akan menerjemahkan atribut dalam tag HTML5, seperti atribut alt. Contoh penggunaan tag dan atribut HTML5 digunakan dalam sintaksis untuk mengecualikan teks dari terjemahan. Output mempertahankan tag HTML yang tidak diterjemahkan dan menyertakan teks terjemahan di antaranya.

Buat permintaan curl ke Vertex AI Translation API yang telah dilatih sebelumnya. Jika tidak, berinteraksilah dengan Vertex AI Translation API yang telah dilatih sebelumnya dari skrip Python untuk menerjemahkan teks dari satu bahasa ke bahasa lain.

Contoh berikut menunjukkan cara menerjemahkan teks input dari satu bahasa ke bahasa lain:

curl

Ikuti langkah-langkah berikut untuk membuat permintaan curl:

  1. Dapatkan token autentikasi.

  2. Buat permintaan:

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"]}'

Ganti kode berikut:

  • TOKEN: token autentikasi yang Anda peroleh.
  • ENDPOINT: endpoint Vertex AI Translation yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
  • PROJECT_ID: project ID Anda.
  • SOURCE_LANGUAGE: kode bahasa teks input Anda. Lihat daftar bahasa yang didukung dan kode bahasa masing-masing.
  • TARGET_LANGUAGE: kode bahasa yang ingin Anda gunakan untuk menerjemahkan teks Anda. Lihat daftar bahasa yang didukung dan kode bahasa masing-masing.
  • INPUT_TEXT: teks input Anda dalam bahasa sumber.

Gunakan kolom mime_type untuk menentukan jenis file. Tetapkan kolom mime_type ke salah satu nilai berikut:

  • text/plain: input Anda adalah teks biasa.
  • text/html: input Anda adalah teks HTML.

Jika kolom mime_type kosong, text/html adalah nilai default.

Contoh berikut menggunakan kolom 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"]}'

Output menampilkan teks terjemahan.

Python

Ikuti langkah-langkah berikut untuk menggunakan layanan Vertex AI Translation dari skrip Python:

  1. Instal versi terbaru library klien Vertex AI Translation.

  2. Tetapkan variabel lingkungan yang diperlukan pada skrip Python.

  3. Autentikasi permintaan API Anda.

  4. Tambahkan kode berikut ke skrip Python yang Anda buat:

    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)
    

    Ganti kode berikut:

    • ENDPOINT: endpoint Vertex AI Translation yang Anda gunakan untuk organisasi Anda. Untuk mengetahui informasi selengkapnya, lihat status dan endpoint layanan.
    • PROJECT_ID: project ID Anda.
    • SOURCE_LANGUAGE: kode bahasa teks input Anda. Lihat daftar bahasa yang didukung dan kode bahasa masing-masing.
    • TARGET_LANGUAGE: kode bahasa yang ingin Anda gunakan untuk menerjemahkan teks Anda. Lihat daftar bahasa yang didukung dan kode bahasa masing-masing.
    • INPUT_TEXT: teks input Anda dalam bahasa sumber.

    Gunakan kolom mime_type untuk menentukan jenis file. Tetapkan kolom mime_type ke salah satu nilai berikut:

    • text/plain: input Anda adalah teks biasa.
    • text/html: input Anda adalah teks HTML.

    Jika kolom mime_type kosong, text/html adalah nilai default.

  5. Simpan skrip Python.

  6. Jalankan skrip Python untuk menerjemahkan teks:

    python SCRIPT_NAME
    

    Ganti SCRIPT_NAME dengan nama yang Anda berikan ke skrip Python Anda, seperti translation.py.

Untuk mengetahui informasi selengkapnya tentang metode translateText, lihat library klien Python.

Mengecualikan teks dari terjemahan

Gunakan salah satu tag HTML berikut di kolom contents permintaan untuk mengecualikan bagian teks Anda dari terjemahan:

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

Ganti TEXT dengan bagian teks yang ingin Anda kecualikan dari terjemahan.

Misalnya, jika Anda memiliki teks input berikut dalam bahasa Spanyol:

Hola, esto es una prueba.

Teks terjemahan yang diharapkan ke dalam bahasa Inggris adalah:

Hello, this is a test.

Misalkan Anda hanya ingin menerjemahkan bagian teks berikut, dengan mengecualikan Hola, dari teks input:

esto es una prueba.

Teks terjemahan yang diharapkan ke dalam bahasa Inggris adalah:

this is a test.

Gunakan tag HTML untuk mengecualikan teks dari terjemahan. Misalnya, permintaan berikut curl menggunakan tag <span class="notranslate">"TEXT"</span> untuk mengecualikan Hola, dari teks input sebelumnya dalam bahasa Spanyol saat menerjemahkan teks ke dalam bahasa Inggris:

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.\""]}'

Menerjemahkan dengan glosarium

Untuk menerjemahkan teks dengan kata-kata dari glosarium, Anda harus membuat glosarium:

  1. Simpan file request_glossary.json berikut:

    cat <<- EOF > request_glossary.json
    {
    "sourceLanguageCode": "SOURCE_LANGUAGE",
    "targetLanguageCode": "SOURCE_LANGUAGE",
    "contents": "TEXT",
    "glossaryConfig": {
      "glossary": "projects/PROJECT_ID/glossaries/GLOSSARY_ID",
      "ignoreCase": IGNORE_CASE_BOOLEAN,
      "contextual_translation_enabled": CONTEXTUAL_BOOLEAN
    }
    }
    EOF
    

    Ganti kode berikut:

    • PROJECT_ID: project ID Anda.
    • SOURCE_LANGUAGE: bahasa yang digunakan untuk menulis dokumen Anda. Lihat daftar bahasa yang didukung dan kode bahasa masing-masing.
    • TARGET_LANGUAGE: bahasa atau bahasa yang ingin Anda gunakan untuk menerjemahkan dokumen Anda. Lihat daftar bahasa yang didukung dan kode bahasa masing-masing.
    • TEXT: menerjemahkan teks yang menyertakan kata-kata glosarium
    • GLOSSARY_ID: ID glosarium, contoh: G11111111114524
  2. Buat permintaan:

    curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d @request_glossary.json
    

Contoh dan output yang diharapkan:

Permintaan:

{
  "sourceLanguageCode": "es",
  "targetLanguageCode": "en",
  "contents": "La novela cuenta la historia de una joven que viaja a Madrid",
  "glossaryConfig": {
    "glossary": "projects/test-project/glossaries/GLOSSARY_ID",
    "ignoreCase": true,
    "contextual_translation_enabled": true
  }
}

Respons:

{"translations":[
  {
    "translatedText":"The novel tells the story of a young woman who travels to Madrid"}],
    "glossaryTranslations":[{"translatedText":"The novel account the story of a young woman who travels to Madrid",
    "glossaryConfig":
      {
        "glossary":"projects/test-project/glossaries/GLOSSARY_ID"
      }}
  ]}

Kolom translations berisi terjemahan mesin reguler sebelum glosarium diterapkan; kolom glossaryTranslations berisi terjemahan setelah glosarium diterapkan. Jika Anda menyetel kolom contextual_translation_enabled ke true, respons hanya akan berisi kolom glossaryTranslations, bukan kolom translations.

Deteksi bahasa

Metode detectLanguage menampilkan bahasa string teks dengan mengirim permintaan HTTP.

Misalnya, permintaan berikut mendeteksi bahasa Inggris sebagai bahasa dari teks input 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"}'

Mendapatkan operasi

Metode getOperation menampilkan status terbaru dari a operasi yang berjalan lama. Gunakan metode ini untuk mengambil hasil operasi yang dihasilkan oleh layanan Vertex AI Translation API. Untuk menggunakan metode ini, tentukan project ID dan endpoint Vertex AI Translation Anda.

Misalnya, permintaan berikut menampilkan status operasi yang berjalan lama, seperti membuat glosarium, yang berjalan di project Anda:

curl

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

Mencantumkan operasi

Metode listOperations menampilkan daftar operasi yang berjalan lama yang cocok dengan filter yang ditentukan dalam permintaan. Untuk menggunakan metode ini, tentukan project ID dan endpoint Vertex AI Translation Anda.

Misalnya, permintaan berikut menampilkan daftar operasi yang berjalan di project Anda dan membatasi ukuran halaman hingga sepuluh hasil per halaman:

curl

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

Mendapatkan bahasa yang didukung

Metode supportedLanguages menampilkan daftar bahasa yang didukung oleh Vertex AI Translation API.

Misalnya, permintaan berikut menampilkan bahasa yang didukung dengan menentukan endpoint Vertex AI Translation:

curl

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

Untuk mengetahui daftar lengkap bahasa yang didukung, lihat Bahasa yang didukung untuk Vertex AI Translation.