תרגום טקסט

שירות התרגום של Vertex AI מאפשר לכם לתרגם טקסט שנכתב בשפה מסוימת לכל אחת מהשפות הנתמכות.

בדף הזה מוסבר איך לתרגם טקסט לדוגמה באמצעות Vertex AI Translation API במכשיר מבודד של Google Distributed Cloud‏ (GDC).

לפני שמתחילים

כדי להתחיל להשתמש ב-Vertex AI Translation API, צריך שיהיה לכם פרויקט שבו ה-API הזה מופעל, וצריכים להיות לכם פרטי הכניסה המתאימים. אפשר גם להתקין ספריות לקוח שיעזרו לכם לבצע קריאות ל-API. מידע נוסף זמין במאמר בנושא הגדרת פרויקט תרגום.

תרגום טקסט

השיטה translateText מקבלת טקסט קלט בשפה מסוימת ומחזירה את הטקסט המתורגם לשפה אחרת. אפשר להזין טקסט רגיל או טקסט HTML כקלט.

אם מזינים טקסט HTML, הפונקציה translateText מתרגמת רק את הטקסט שבין תגי ה-HTML, בלי לתרגם את התגים. עם זאת, הוא מתרגם מאפיינים בתגי HTML5, כמו מאפייני alt. דוגמה לשימוש בתגים ובמאפיינים של HTML5 מופיעה בתחביר של החרגת טקסט מתרגום. הפלט שמתקבל כולל את תגי ה-HTML שלא תורגמו, וביניהם את הטקסט המתורגם.

שליחת בקשת curl אל Vertex AI Translation API שעבר אימון מראש. אפשר גם ליצור אינטראקציה עם Vertex AI Translation API שאומן מראש באמצעות סקריפט Python כדי לתרגם טקסט משפה אחת לשפה אחרת.

בדוגמאות הבאות אפשר לראות איך לתרגם טקסט קלט משפה אחת לשפה אחרת:

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: מזהה הפרויקט.
  • 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

כדי להשתמש בשירות Vertex AI Translation מסקריפט Python:

  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: מזהה הפרויקט.
    • 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.

החרגת טקסט מהתרגום

כדי להחריג חלקים מהטקסט מהתרגום, צריך להשתמש באחד מתגי ה-HTML הבאים בשדה contents של הבקשות:

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

מחליפים את TEXT בחלק הטקסט שרוצים להחריג מהתרגום.

לדוגמה, אם יש לכם את טקסט הקלט הבא בצרפתית:

Bonjour, c'est un test.

אחר כך, הטקסט הזה מתורגם לאנגלית למשפט הבא:

Hello, this is a test.

נניח שרוצים לתרגם רק את החלק הבא של הטקסט, בלי Bonjour, מטקסט הקלט:

c'est un test.

החלק הזה של הטקסט מתורגם לאנגלית למשפט הבא:

this is a test.

משתמשים בתגי ה-HTML כדי להחריג טקסט מהתרגום. לדוגמה, בבקשה הבאה curl נעשה שימוש בתג <span class="notranslate">"TEXT"</span> כדי להחריג את Bonjour, מטקסט הקלט הקודם בצרפתית, כשמתרגמים את הטקסט לאנגלית:

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": "fr", "target_language_code": "en", "contents": ["<span class=\"notranslate\">\"Bonjour,\"</span>\"c'est un test.\""]}'

זהה את השפה

השיטה 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"}'

קבלת שפות נתמכות

השיטה supportedLanguages מחזירה את רשימת השפות שנתמכות על ידי Vertex AI Translation API.

לדוגמה, הבקשה הבאה מחזירה את השפות הנתמכות על ידי ציון נקודת הקצה של 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

הרשימה המלאה של השפות הנתמכות זמינה במאמר שפות נתמכות ב-Vertex AI Translation.