תרגום טקסט
בדף הזה מוסבר איך לתרגם טקסט לדוגמה באמצעות מהדורות Basic ו-Advanced של Cloud Translation. הם נותנים לכם גישה למודל הסטנדרטי של תרגום מכונה עצבי (NMT) ולמודל LLM לתרגום, שהוא מודל התרגום הכי חדש שלנו בסגנון LLM.
Cloud Translation - Basic API מספק גישה פשוטה ומיידית למודלים האלה. לעומת זאת, Cloud Translation - Advanced מותאם לתרחישי שימוש בהתאמה אישית ובתוכן ארוך. לקוד לדוגמה, ראה את דוגמה מתקדמת לתרגום טקסט. במקרים מיוחדים, אפשר גם להשתמש ב-Cloud Translation Advanced כדי ליצור מודלים בהתאמה אישית.
Cloud Translation – Advanced מספק גם יכולות מתקדמות של תרגום טקסט, כמו תרגום מסמכים ויצירת מילוני מונחים, כדי לוודא שהטרמינולוגיה הספציפית לתחום שלכם מתורגמת בצורה נכונה.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Cloud Translation API, צריך להשלים את השלבים שמפורטים בדף הגדרת Cloud Translation, כולל יצירת פרויקט, הפעלת Cloud Translation API והגדרת אימות. בדף ההגדרה יש גם הוראות להתקנת ספריות לקוח לשפות תכנות נפוצות, אבל זה לא חובה.
מודל שפה גדולה (LLM) לתרגום עם Cloud Translation - Basic API
כדי להשתמש במודל Translation LLM הרגיל ב-Cloud Translation - Basic API, צריך להעביר את השם המלא של המשאב שלו בפרמטר model.
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d '{
"q": ["The old lighthouse stood on the edge of the cliff."],
"target": "es",
"model": "projects/PROJECT_ID/locations/REGION_NAME/models/general/translation-llm"
}' \
"https://translation.googleapis.com/language/translate/v2?key=YOUR_API_KEY"
ממשק ה-API של Cloud Translation – Basic תומך רק במודלים סטנדרטיים של NMT ו-LLM, ולא במודלים בהתאמה אישית. כדי להשתמש במודל מותאם אישית או בתכונות מתקדמות אחרות כמו תרגום מסמכים או מילוני מונחים, צריך להשתמש ב-Cloud Translation – Advanced. מידע נוסף על קריאה ל-Basic API זמין במאמר דוגמה לתרגום טקסט באמצעות Basic API.
תרגום מתקדם של טקסט
בתרגומים באמצעות Cloud Translation - Advanced, הקלט יכול להיות טקסט פשוט או HTML. Cloud Translation API לא מתרגם תגי HTML בקלט, אלא רק טקסט שמופיע בין התגים. הפלט שומר על תגי ה-HTML (שלא תורגמו), עם הטקסט המתורגם בין התגים, ככל האפשר, בגלל ההבדלים בין שפת המקור לשפת היעד.
דוגמה לתרגום טקסט מתקדם
REST
כדי לתרגם טקסט, שולחים בקשת POST ומספקים JSON בגוף הבקשה שמזהה את השפה שממנה רוצים לתרגם (source_language_code), את השפה שאליה רוצים לתרגם (target_language_code) ואת הטקסט לתרגום (contents). אפשר לספק כמה מחרוזות טקסט לתרגום על ידי הכללתן ב-JSON (ראו דוגמה). מציינים את שפות המקור והיעד באמצעות קודי ISO-639 שלהן.
בדוגמה הבאה מוצגת בקשת POST באמצעות curl או PowerShell. בדוגמה נעשה שימוש באסימון הגישה של חשבון שירות שהוגדר לפרויקט באמצעות Google Cloud
Google Cloud CLI.
הוראות להתקנת Google Cloud CLI, להגדרת פרויקט עם חשבון שירות ולקבלת אסימון גישה מופיעות בדף הגדרה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID:translateText
תוכן בקשת JSON:
{
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, come here!", "Bring me some coffee!"]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"translations": [
{
"translatedText": "Доктор Ватсон, иди сюда!",
},
{
"translatedText": "Принеси мне кофе!",
}
]
}
המערך translations מכיל שני שדות translatedText עם תרגומים שסופקו בשפה המבוקשת targetLanguageCode (ru: רוסית). התרגומים מופיעים באותו סדר כמו מערך המקור התואם בבקשה.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
תרגום טקסט באמצעות מודל ספציפי
REST
אפשר לציין באיזה מודל להשתמש לתרגום באמצעות פרמטר השאילתה model.
בדוגמה הבאה מתורגם טקסט באמצעות מודל בהתאמה אישית עם מזהה המודל 1395675701985363739. אפשר לקבל את מזהה המודל של מודל בהתאמה אישית מהרשימה של המודלים במסוף Google Cloud , מהתגובה של ה-API או מהדף המתאים ב-Pantheon כשמאמנים את המודל. כדי להשתמש במודל שפה גדול (LLM) לתרגום, מציינים את המזהה general/translation-llm. כדי להשתמש במודל שפה גדול (LLM) מותאם אישית לתרגום (בגרסת Public Preview), מציינים models/translation-llm-custom/{model-id} כמזהה המודל.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION: האזור שבו נמצא המודל בהתאמה אישית, למשל
us-central1.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText
גוף בקשת JSON:
{
"model": "projects/PROJECT_ID/locations/LOCATION/models/1395675701985363739",
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me.
Let's talk about spam and importance ranking in a confidential mode."]
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/v3/projects/PROJECT_ID/locations/LOCATION:translateText" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"translation": {
"translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора.
Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о
спаме и важности рейтинга в конфиденциальном режиме.",
"model": "projects/PROJECT_NUMBER/locations/LOCATION/models/1395675701985363739"
}
}
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה במדריך למתחילים בנושא Cloud Translation באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
תעתיק
תעתיק הוא הגדרת תצורה בשיטה translateText. כשמפעילים תעתיק, מתרגמים טקסט שעבר רומניזציה (תעתיק לאותיות לטיניות) ישירות לשפת יעד. לדוגמה, אפשר לתרגם טקסט ביפנית שעבר רומניזציה ישירות לאנגלית, לספרדית או לסינית. התרגומים שמתקבלים הם במערכת הכתב של שפת היעד.
בבקשות התעתיק, צריך לכלול רק טקסט שעבר רומניזציה. אם משלבים טקסט ברומניזציה עם טקסט שלא עבר רומניזציה, Cloud Translation לא יכול להבטיח תרגומים עקביים ונכונים.
לתשומת ליבכם
תעתיק שונה מתרגום טקסט רגיל בדרכים הבאות:
- תעתיק תומך במספר מוגבל של שפות. מידע נוסף מופיע בעמודה תעתיק בדף שפות נתמכות.
- סוג ה-MIME צריך להיות
text/plain. אין תמיכה ב-HTML. - רק המודל הרגיל שמוגדר כברירת מחדל תומך בתעתיק. אין תמיכה במודלים בהתאמה אישית.
- מכסת ברירת המחדל של התוכן בתעתיק נמוכה יותר. מידע נוסף זמין במאמר מכסות ומגבלות.
REST
מגדירים את השדה transliteration_config בשיטה translateText.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של הפרויקט ב- Google Cloud .
- LOCATION: האזור שבו רוצים להריץ את הפעולה הזו. לדוגמה,
us-central1. - SOURCE_LANGUAGE: (אופציונלי) קוד השפה של טקסט הקלט. אם ידוע, צריך להגדיר את אחד מקודי השפה שמופיעים בתמיכה בשפות.
- TARGET_LANGUAGE: שפת היעד לתרגום של טקסט הקלט. הערך צריך להיות אחד מקודי השפות שמפורטים בתמיכה בשפות.
- SOURCE_TEXT: טקסט שעבר רומניזציה בשפת המקור לתרגום.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID/locations/LOCATION:translateText
תוכן בקשת JSON:
{
"source_language_code": "SOURCE_LANGUAGE",
"target_language_code": "TARGET_LANGUAGE",
"contents": "SOURCE_TEXT",
"mime_type": "text/plain",
"transliteration_config": { "enable_transliteration": true}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"translations": [
{
"translatedText": "TRANSLATED_TEXT",
}
]
}
דוגמה בסיסית לתרגום טקסט
REST
שליחת בקשה ל-Cloud Translation – Basic באמצעות הפעלת method של REST לשיטה Basictranslate. מזהים את שפות המקור והיעד באמצעות קודי ISO-639 שלהן.
בדוגמה הבאה מוצגת בקשת POST באמצעות curl או PowerShell.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_NUMBER_OR_ID: המזהה המספרי או האלפאנומרי של פרויקט Google Cloud
ה-method של ה-HTTP וכתובת ה-URL:
POST https://translation.googleapis.com/language/translate/v2
גוף בקשת JSON:
{
"q": "The Great Pyramid of Giza (also known as the Pyramid of Khufu or the Pyramid of Cheops) is the oldest and largest of the three pyramids in the Giza pyramid complex.",
"source": "en",
"target": "es",
"format": "text"
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_NUMBER_OR_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://translation.googleapis.com/language/translate/v2"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://translation.googleapis.com/language/translate/v2" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"data": {
"translations": [{
"translatedText": "La Gran Pirámide de Giza (también conocida como la Pirámide de Khufu o la Pirámide de Keops) es la más antigua y más grande de las tres pirámides en el complejo de la pirámide de Giza."
}]
}
}
Go
מידע על התקנת ספריית הלקוח של Cloud Translation ושימוש בה מופיע במאמר ספריות הלקוח של Cloud Translation. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Go API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Cloud Translation ושימוש בה מופיע במאמר ספריות הלקוח של Cloud Translation. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Java API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Cloud Translation ושימוש בה מופיע במאמר ספריות הלקוח של Cloud Translation. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Node.js API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Cloud Translation ושימוש בה מופיע במאמר ספריות הלקוח של Cloud Translation. מידע נוסף מופיע במאמרי העזרה של Cloud Translation Python API.
כדי לבצע אימות ב-Cloud Translation, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: פועלים לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז עוברים אל מאמרי העזרה של Cloud Translation ל- .NET.
PHP: פועלים לפי הוראות ההגדרה של PHP בדף של ספריות הלקוח ואז עוברים אל מסמכי העזר של Cloud Translation ל-PHP.
Ruby: פועלים לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח, ואז עוברים אל מאמרי העזרה של Cloud Translation בנושא Ruby.
פרמטר של מודל
כששולחים בקשת תרגום ל-Cloud Translation - Basic, השירות מתרגם את הטקסט באמצעות מודל תרגום המכונה העצבי (NMT) של Google כברירת מחדל.
אפשר גם לציין את מודל ה-LLM הרגיל לתרגום אם מעבירים את שם המשאב המלא של המודל בפרמטר model, כמו בדוגמה Translation LLM with Basic example.
Cloud Translation – Basic תומך רק במודלים סטנדרטיים של NMT ו-LLM, ולא במודלים מותאמים אישית. כדי להשתמש במודל בהתאמה אישית, צריך לציין אותו בבקשה ל-Cloud Translation - Advanced.
מקורות מידע נוספים
- לקבלת עזרה בפתרון בעיות או שגיאות נפוצות, אפשר לעיין בדף פתרון בעיות.
- תשובות לשאלות כלליות על Cloud Translation מופיעות בדף שאלות נפוצות כלליות.
- שירות Cloud Translation זמין בשתי מהדורות. מידע נוסף על כל מהדורה זמין במאמר השוואה בין מהדורות Basic ו-Advanced.