שירות התרגום של 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:
שולחים את הבקשה:
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:
מתקינים את הגרסה העדכנית של ספריית הלקוח של Vertex AI Translation.
מוסיפים את הקוד הבא לסקריפט 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.-
שומרים את סקריפט Python.
מריצים את סקריפט Python כדי לתרגם את הטקסט:
python SCRIPT_NAMEמחליפים את
SCRIPT_NAMEבשם שנתתם לסקריפט Python, למשלtranslation.py.
מידע נוסף על השיטה translateText זמין בספריית הלקוח של Python.
החרגת טקסט מהתרגום
כדי להחריג חלקים מהטקסט מהתרגום, צריך להשתמש באחד מתגי ה-HTML הבאים בשדה contents של הבקשות:
<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.\""]}'
תרגום עם מילון מונחים
כדי לתרגם טקסט עם מילים ממילון מונחים, צריך ליצור מילון מונחים:
שומרים את קובץ ה-
request_glossary.jsonהבא: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מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
SOURCE_LANGUAGE: השפה שבה כתוב המסמך. כאן אפשר לעיין ברשימת השפות הנתמכות ובקודים של השפות האלה. -
TARGET_LANGUAGE: השפה או השפות שאליהן רוצים לתרגם את המסמך. כאן אפשר לעיין ברשימת השפות הנתמכות ובקודים של השפות האלה. -
TEXT: תרגום טקסט שכולל מילים ממילון מונחים -
GLOSSARY_ID: מזהה מילון המונחים, לדוגמה:G11111111114524
שולחים את הבקשה:
curl -vv -X POST -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID:translateText -d @request_glossary.json
דוגמה והפלט הצפוי:
בקשה:
{
"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
}
}
תשובה:
{"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"
}}
]}
השדה translations מכיל את התרגום האוטומטי הרגיל לפני החלת המילון;
השדה glossaryTranslations מכיל את התרגום אחרי החלת המילון.
כשמגדירים את השדה contextual_translation_enabled לערך true, התגובה תכיל רק את השדה glossaryTranslations ולא את השדה translations.
זהה את השפה
השיטה 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. כדי להשתמש בשיטה הזו, צריך לציין את מזהה הפרויקט ואת נקודת הקצה של 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 מחזירה רשימה של פעולות ממושכות שתואמות למסנן שצוין בבקשה. כדי להשתמש בשיטה הזו, צריך לציין את מזהה הפרויקט ואת נקודת הקצה של Vertex AI Translation.
לדוגמה, הבקשה הבאה מחזירה את רשימת הפעולות שפועלות בפרויקט ומגבילה את גודל הדף לעשרה תוצאות בכל דף:
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 GET -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" https://ENDPOINT/v3/projects/PROJECT_ID/locations/PROJECT_ID/supportedLanguages
הרשימה המלאה של השפות הנתמכות זמינה במאמר שפות נתמכות ב-Vertex AI Translation.