בדף הזה מוסברת תכונת ההשלמה האוטומטית הבסיסית של Gemini Enterprise. ההשלמה האוטומטית יוצרת הצעות לשאילתות על סמך התווים הראשונים שהוזנו בשאילתה.
לנתונים מובְנים ולא מובְנים, כברירת מחדל, ההשלמה האוטומטית יוצרת הצעות על סמך התוכן של מסמכים במאגר הנתונים. אחרי ייבוא המסמך, השלמה אוטומטית לא מתחילה ליצור הצעות עד שיש מספיק נתונים איכותיים, בדרך כלל אחרי כמה ימים. אם שולחים בקשות להשלמה אוטומטית דרך ה-API, ההשלמה האוטומטית יכולה ליצור הצעות שמבוססות על היסטוריית החיפושים או על אירועים של משתמשים.
מודל ההצעות לשאילתות קובע באיזה סוג נתונים ההשלמה האוטומטית משתמשת כדי ליצור הצעות. יש ארבעה מודלים של הצעות לשאילתות:
מסמך מודל המסמך יוצר הצעות ממסמכים שיובאו על ידי המשתמש.
שדות שאפשר למלא. המודל של השדות שאפשר להשלים מציע טקסט שנלקח ישירות משדות של נתונים מובְנים. רק השדות שמסומנים בהערה
completableמשמשים להצעות להשלמה אוטומטית. המודל הזה זמין רק לנתונים מובְנים.היסטוריית החיפושים. מודל היסטוריית החיפושים יוצר הצעות מתוך ההיסטוריה של קריאות ל-API של
SearchService.search. אל תשתמשו במודל הזה אם אין תנועה שזמינה לשיטתservingConfigs.search.אירוע של משתמש. מודל האירועים של המשתמשים יוצר הצעות מאירועי חיפוש שיובאו על ידי המשתמש.
בקשות להשלמה אוטומטית נשלחות באמצעות השיטה dataStores.completeQuery.
בטבלה הבאה מוצגים סוגי המודלים של הצעות לשאילתות שזמינים לכל סוג נתונים.
מודל להצעות לשאילתות |
מקור נתונים |
נתוני אתר |
נתונים מובְנים |
נתונים לא מובנים |
|---|---|---|---|---|
| מסמך | יובא על ידי משתמש | ✔* (ברירת מחדל) | ✔ (ברירת מחדל) | |
| שדות שאפשר למלא | יובא על ידי משתמש | ✔ | ||
| היסטוריית החיפושים | נאספים באופן אוטומטי | ✔ (ברירת מחדל) | ✔ | ✔ |
| אירועים של משתמשים | ייבוא על ידי משתמש או איסוף אוטומטי על ידי הווידג'ט | ✔ | ✔ | ✔ |
* : סכימת המסמך צריכה לכלול שדות title או description, או שצריכים להיות שדות שצוינו כמאפייני מפתח title או description. איך מעדכנים סכימה של נתונים מובְנים
אם אתם לא רוצים להשתמש במודל ברירת המחדל לסוג הנתונים שלכם, אתם יכולים לציין מודל אחר כשאתם שולחים את בקשת ההשלמה האוטומטית. בקשות להשלמה אוטומטית נשלחות באמצעות שיטת dataStores.completeQuery. למידע נוסף, אפשר לעיין במאמר הוראות לשימוש ב-API: שליחת בקשה להשלמה אוטומטית כדי לבחור מודל אחר.
תכונות של השלמה אוטומטית
Gemini Enterprise תומך בתכונות ההשלמה האוטומטית הבאות כדי להציג את החיזויים הכי מועילים במהלך החיפוש:
| תכונה | תיאור | דוגמה או מידע נוסף |
|---|---|---|
| תיקון שגיאות הקלדה | תיקון שגיאות הקלדה באיות של מילים. | Milc → Milk.
|
| הסרת מונחים לא בטוחים |
|
טקסט פוגעני, כמו פורנוגרפיה, תוכן מיני, שפה גסה או אלימות. |
| מניעת הצגה של פרטים אישיים מזהים (PII) בסיסיים | Gemini Enterprise, שמבוסס על Sensitive Data Protection, עושה מאמץ סביר למנוע הצגה של סוגים בסיסיים של פרטים אישיים מזהים, כמו מספרי טלפון וכתובות אימייל. |
אם יש כתובת אימייל
כדי להגן בצורה יסודית יותר מפני דליפות של PII, Google ממליצה להחיל פתרון למניעת אובדן נתונים (DLP) משלכם בנוסף לגלאים שמסופקים על ידי Gemini Enterprise. מידע נוסף זמין במאמר בנושא הגנה מפני דליפות של פרטים אישיים מזהים (PII). |
| רשימת ישויות שנחסמו |
|
מידע נוסף זמין במאמר שימוש ברשימת חסימה של השלמה אוטומטית. |
| ביטול כפילויות של מונחים |
|
ההצעות Shoes for Women, Womens Shoes ו-Womans Shoes הן כפולות,
ומוצעת רק ההצעה הפופולרית ביותר. |
| הצעות להתאמה מדויקת |
|
מידע נוסף זמין במאמר בנושא הצעות להתאמה לזנב. |
הצעות להתאמה מדויקת
ההצעות להתאמה לסוף המחרוזת מבוססות על התאמה מדויקת של הקידומת למילה האחרונה במחרוזת השאילתה.
לדוגמה, נניח שהשאילתה 'שירים עם he' נשלחת בבקשה להשלמה אוטומטית. אם ההתאמה לסיומת מופעלת, יכול להיות שההשלמה האוטומטית תגלה שאין התאמות לקידומת המלאה 'songs with he'. עם זאת, למילה האחרונה בשאילתה, he, יש התאמה מדויקת לקידומת עם hello world ו-hello kitty. במקרה כזה, ההצעות שיוחזרו הן 'שירים עם hello world' ו'שירים עם hello kitty' כי אין הצעות להתאמה מלאה.
אתם יכולים להשתמש בתכונה הזו כדי לצמצם את מספר התוצאות הריקות של ההצעות ולגוון את ההצעות. התכונה הזו שימושית במיוחד במקרים שבהם מקורות הנתונים (מספר אירועי המשתמש, היסטוריית החיפושים והיקף הנושאים במסמך) מוגבלים. עם זאת, הפעלת ההמלצות להתאמה לזנב עלולה להפחית את האיכות הכוללת של ההמלצות. התאמה לסיומת מתאימה רק למילה האחרונה של הקידומת, ולכן יכול להיות שחלק מההצעות שיוחזרו לא יהיו הגיוניות. לדוגמה, לשאילתה כמו 'songs with he' (שירים עם he) יכולה להתקבל הצעה להתאמה לסוף השאילתה כמו 'songs with helpers guides' (שירים עם מדריכים לעזרה).
הצעות להתאמה של סיומות מוחזרות רק אם:
הערך של
include_tail_suggestionsמוגדר ל-trueבבקשתdataStores.completeQuery.אין הצעות לשאילתה שמתחילות באותו התחילית.
הגנה מפני דליפות של פרטים אישיים מזהים (PII)
ההגדרה של פרטים אישיים מזהים (PII) היא רחבה, ולפעמים קשה לזהות אותם. לכן, Gemini Enterprise לא יכול להבטיח שלא יוחזרו פרטים אישיים מזהים בהצעות להשלמה אוטומטית.
Gemini Enterprise משתמש בשירות הבדיקה Sensitive Data Protection כדי לחפש ולחסום הצעות שמכילות סוגים נפוצים של PII. עם זאת, אם מאגרי הנתונים שלכם מכילים PII או אם אתם משתמשים במודלים של הצעות לשאילתות של היסטוריית חיפושים או אירועים של משתמשים, כדאי לעיין במידע הבא ולפעול בהתאם:
אם סוגי הפרטים האישיים המזהים שאתם רוצים להגן עליהם הם די סטנדרטיים, כמו מספרי טלפון וכתובות אימייל, כדאי להתחיל בבדיקה מקיפה של ההצעות להשלמה אוטומטית באפליקציה. Gemini Enterprise לא יכול להבטיח שלא יוחזרו פרטים אישיים מזהים בהצעות להשלמה אוטומטית.
אם מתגלים דליפות של פרטים אישיים מזהים (PII) במהלך בדיקות ההשלמה האוטומטית, או אם אתם כבר יודעים שיש לכם פרטים אישיים מזהים לא סטנדרטיים שצריך להגן עליהם (לדוגמה, מזהי משתמשים קנייניים), כדאי לנסות לשנות את ערך הסף של ההשלמה האוטומטית ואת הפרמטרים של הצגת התוכן. מידע נוסף זמין במאמר בנושא צמצום הסיכון להחזרת הצעות שמכילות פרטים אישיים מזהים (PII).
אם שינוי הפרמטרים לא מספיק כדי למנוע דליפות של פרטים אישיים מזהים (PII), צריך להטמיע פתרון DLP משלכם. התאמה אישית של פתרון ה-DLP לסוגים של פרטים אישיים מזהים שסביר להניח שיימצאו במאגרי הנתונים, באירועים של משתמשים או בשאילתות החיפוש של משתמשים. אפשר להשתמש ב-Sensitive Data Protection או בשירות DLP של צד שלישי. אפשר להשתמש באחת מהגישות הבאות:
לסנן פרטים אישיים מזהים (PII) לפני שמייבאים את המסמכים ואת אירועי המשתמשים במאגרי הנתונים.
לבדוק את ההצעות להשלמה אוטומטית לפני שמציגים אותן למשתמש בזמן הצגת המודעה, ולחסום את ההצעות שמכילות פרטים אישיים מזהים.
אם אתם משתמשים במודל של היסטוריית חיפושים או אירועים של משתמשים, כדאי להוסיף טקסט מידע בסרגל החיפוש, כדי להודיע למשתמשים לא להזין פרטים אישיים מזהים בשאילתות החיפוש שלהם.
אם יש לכם שאלות או שאתם נתקלים באתגרים ספציפיים שקשורים לחסימת מידע אישי, אתם יכולים לפנות למהנדס הלקוחות (CE) או לצוות התמיכה בחשבון Google.
הפעלה או השבתה של ההשלמה האוטומטית בווידג'ט
כדי להפעיל או להשבית את ההשלמה האוטומטית בווידג'ט:
המסוף
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לערוך.
לוחצים על Configurations (הגדרות).
לוחצים על הכרטיסייה ממשק משתמש.
מסמנים או מבטלים את הסימון של האפשרות הצגת הצעות להשלמה אוטומטית כדי להפעיל או להשבית את ההצעות להשלמה אוטומטית בווידג'ט. אם מפעילים את ההשלמה האוטומטית, צריך לחכות יום או יומיים עד שההצעות יתחילו להופיע.
עדכון הגדרות ההשלמה האוטומטית
כדי להגדיר את ההשלמה האוטומטית בממשק המשתמש, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לערוך.
לוחצים על Configurations (הגדרות).
לוחצים על הכרטיסייה השלמה אוטומטית.
מזינים או בוחרים ערכים חדשים להגדרות ההשלמה האוטומטית שרוצים לעדכן:
- מספר ההצעות המקסימלי: מספר ההצעות המקסימלי להשלמה אוטומטית שאפשר להציע לשאילתה.
- אורך מינימלי להפעלה: מספר התווים המינימלי שאפשר להקליד לפני שמוצעות הצעות להשלמה אוטומטית.
- סדר ההתאמה: המיקום במחרוזת של שאילתה שממנו ההשלמה האוטומטית יכולה להתחיל להתאים את ההצעות שלה.
- מודל ההצעות לשאילתות: מודל ההצעות לשאילתות שמשמש ליצירת ההצעות שאוחזרו. אפשר לשנות את ההגדרה הזו ב-
dataStores.completeQueryבאמצעות הפרמטרqueryModel. הפעלת השלמה אוטומטית: כברירת מחדל, ההשלמה האוטומטית לא מתחילה להציע הצעות עד שיש לה מספיק נתונים איכותיים, בדרך כלל אחרי כמה ימים. אם רוצים לשנות את ברירת המחדל הזו ולהתחיל לקבל הצעות להשלמה אוטומטית מוקדם יותר, בוחרים באפשרות עכשיו.
גם אם בוחרים באפשרות עכשיו, יכול לעבור יום עד שההצעות ייווצרו, ועדיין חלק מההצעות להשלמה אוטומטית יהיו חסרות או באיכות נמוכה עד שיהיו מספיק נתונים טובים.
רשימת חסימה: מייבאים רשימת חסימה כקובץ JSON בקטגוריה של Cloud Storage. מידע נוסף על ההגבלות והמפרטים של הרשימה השחורה זמין במאמר שימוש ברשימה שחורה של השלמה אוטומטית.
לוחצים על שמירה ופרסום. השינויים ייכנסו לתוקף תוך כמה דקות במנועים שבהם ההשלמה האוטומטית כבר הופעלה.
הפחתת הסיכון להחזרת הצעות שמכילות PII
למשתמשי הקצה יש פרטים אישיים מזהים מכל הסוגים, כמו רישיונות נהיגה ומספרי טלפון, והם אמורים לשמור על הפרטיות שלהם. אבל משתמשים שמחפשים תוצאות שספציפיות להם עשויים להקליד את הפרטים האישיים המזהים (PII) האלה בסרגל החיפוש.
אם אתם משתמשים במודל של היסטוריית חיפושים או של אירועים שקשורים למשתמש, ויש סבירות שהמשתמשים יקלידו פרטים אישיים מזהים בסרגל החיפוש, אתם יכולים לצמצם את דליפת הפרטים האישיים המזהים על ידי שינוי הפרמטרים הבאים:
queryFrequencyThreshold: לפני ששאילתה יכולה להופיע כהצעה להשלמה אוטומטית, היא צריכה להיות מוזנת מספר הפעמים הזה.
numUniqueUsersThreshold: כדי ששאילתה תוצג כהצעה להשלמה אוטומטית, היא צריכה להיות מוזנת על ידי מספר המשתמשים הייחודיים הזה. הערך של השדהuserPseudoIdבאירוע המשתמש בחיפוש קובע אם המשתמש ייחודי.
דוגמה לתרחיש שימוש
לדוגמה, נניח שלמשתמשים יש מספרי חשבונות שצריך לשמור בסודיות.
אם נעשה שימוש במודל ההצעות של היסטוריית החיפושים או של אירועי המשתמשים, מספרי החשבונות האלה, יחד עם כל המונחים האחרים שמשתמשי הקצה מחפשים, משמשים ליצירת הצעות. לכן, אם מספר החשבון של משתמש א' YZ-46789A הוזן שוב ושוב בסרגל החיפוש, ולמשתמש ב' יש מספר חשבון YZ-42345B, כשמשתמש ב' יקליד YZ-4 בסרגל החיפוש, יכול להיות שההצעה להשלמה אוטומטית שתופיע תהיה מספר החשבון של משתמש א'.
כדי להקטין את הסיכוי לדליפה מהסוג הזה, האדמין של Gemini Enterprise מחליט:
צריך להגדיל את הערך של הפרמטר
queryFrequencyThresholdל-30. במקרה כזה, הסיכוי שמספר חשבון אחד יוזן כל כך הרבה פעמים הוא נמוך מאוד. עם זאת, שאילתות חיפוש פופולריות יוזנו לפחות בתדירות הזו.צריך להגדיל את הערך של הפרמטר
numUniqueUsersThresholdל-6. מנהל המערכת חושב שסביר להניח שלא יוזן אותו מספר חשבון בסרגל החיפוש בשישה אירועי חיפוש שכל אחד מהם משויך לuserPseudoIdאחר.
התהליך
יש שני פרמטרים של סף להשלמה אוטומטית.
הפרמטרים האלה לא זמינים במסוף Google Cloud , אבל אפשר להגדיר אותם באמצעות קריאה ל-API בארכיטקטורת REST לשיטה updateCompletionConfig.
כדי להגדיר את ערכי הסף להשלמה האוטומטית, פועלים לפי השלבים הבאים. כל שלב הוא אופציונלי, בהתאם לפרמטר שרוצים לשנות.
REST
מעדכנים את השדה
CompletionConfig.queryFrequencyThreshold:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/completionConfig?updateMask=queryFrequencyThreshold \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/completionConfig", "queryFrequencyThreshold": QUERY_FREQUENCY_THRESHOLD }'מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה.
QUERY_FREQUENCY_THRESHOLD: ערך של מספר שלם שמציין את מספר הפעמים המינימלי שצריך להזין שאילתת חיפוש כדי שהיא תוצג כהצעה של ההשלמה האוטומטית. הספירה היא סכום של חלון זמן מתגלגל שנמשך כמה חודשים. ערך ברירת המחדל הוא3.
מעדכנים את השדה
CompletionConfig.numUniqueUsersThreshold:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/completionConfig?updateMask=numUniqueUsersThreshold \ -d '{ "name": "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/completionConfig", "numUniqueUsersThreshold": UNIQUE_USERS }'מחליפים את
UNIQUE_USERSבערך של מספר שלם שמייצג את המספר המינימלי של משתמשים ייחודיים שצריכים להזין שאילתת חיפוש מסוימת לפני שהיא תוצג כהצעה של ההשלמה האוטומטית. הספירה היא סיכום של חלון זמן מתגלגל שנמשך כמה חודשים. ערך ברירת המחדל הוא3.
עדכון של אנוטציות של שדות שאפשר להשלים בסכימה
כדי להפעיל השלמה אוטומטית של שדות בסכימת נתונים מובְנים, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Gemini Enterprise במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לערוך. חובה להשתמש בנתונים מובְנים.
לוחצים על נתונים.
לוחצים על הכרטיסייה סכימה.
לוחצים על עריכה כדי לבחור את שדות הסכימה שרוצים לסמן כ
completable.לוחצים על Save (שמירה) כדי לשמור את הגדרות השדות המעודכנות. ההצעות האלה נוצרות ומוחזרות תוך יום בערך.
שליחת בקשות להשלמה אוטומטית
בדוגמאות הבאות אפשר לראות איך לשלוח בקשות להשלמה אוטומטית.
REST
כדי לשלוח בקשה להשלמה אוטומטית באמצעות ה-API, פועלים לפי השלבים הבאים:
איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.
במסוף Google Cloud , עוברים לדף Gemini Enterprise ובתפריט הניווט לוחצים על Data Stores.
לוחצים על השם של מאגר הנתונים.
בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.
מבצעים קריאה ל-method
dataStores.completeQuery.curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING"מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה.
QUERY_STRING: הקלט של ההשלמה האוטומטית שמשמש לאחזור הצעות.
שליחת בקשת השלמה אוטומטית למודל אחר
כדי לשלוח בקשה להשלמה אוטומטית עם מודל אחר של הצעות לשאילתות, פועלים לפי השלבים הבאים:
איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.
במסוף Google Cloud , עוברים לדף Gemini Enterprise ובתפריט הניווט לוחצים על Data Stores.
לוחצים על השם של מאגר הנתונים.
בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.
מבצעים קריאה ל-method
dataStores.completeQuery.curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID:completeQuery?query=QUERY_STRING&query_model=QUERY_SUGGESTIONS_MODEL"מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה הייחודי של מאגר הנתונים שמשויך לאפליקציה.
QUERY_STRING: הקלט של ההשלמה האוטומטית שמשמש לאחזור הצעות.
QUERY_SUGGESTIONS_MODEL: המודל של הצעות לשאילתות שבו רוצים להשתמש בשביל הבקשה:document,document-completable,search-historyאוuser-event. לנתונים רפואיים, צריך להשתמש ב-healthcare-default.
C#
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי C#ההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise C# API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Go API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Java API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Node.js API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Python API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Rubyההוראות להגדרה במאמר תחילת העבודה עם Gemini Enterprise באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Gemini Enterprise Ruby API.
כדי לבצע אימות ב-Gemini Enterprise, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שימוש ברשימת חסימה של השלמה אוטומטית
אפשר להשתמש ברשימת חסימה כדי למנוע הצעות להשלמה אוטומטית של מונחים ספציפיים.
לדוגמה, חברת תרופות. אם תרופה מסוימת כבר לא מאושרת על ידי ה-FDA אבל היא מוזכרת במסמכים במאגר הנתונים, יכול להיות שהם ירצו למנוע את הופעתה של התרופה הזו כשאילתה מוצעת. החברה יכולה להוסיף את שם התרופה לרשימת חסימה כדי למנוע את ההצעה שלה.
המגבלות הבאות חלות:
- רשימת ישויות שנחסמו אחת לכל מאגר נתונים
- העלאה של רשימת ישויות שנחסמו מחליפה כל רשימה קיימת של ישויות שנחסמו במאגר הנתונים הזה
- עד 1,000 מונחים לכל רשימת מונחים אסורים
- המונחים לא תלויי אותיות רישיות (case-sensitive)
- אחרי שמייבאים רשימת חסימה, חולפים יום או יומיים עד שהיא נכנסת לתוקף
כל רשומה ברשימת החסימה מורכבת מblockPhrase וmatchOperator:
-
blockPhrase: מזינים מחרוזת בתור המונח לרשימת החסימה. המונחים לא תלויי-רישיות. -
matchOperator: הערכים הקבילים:-
EXACT_MATCH: מונע הופעה של התאמה מדויקת של המונח ברשימת המונחים האסורים כשאילתת חיפוש מוצעת. -
CONTAINS: מונעת את ההצגה של הצעות שמכילות את המונח שמופיע ברשימת המילים האסורות.
-
דוגמה לרשימת חסימה עם ארבעה ערכים:
{ "entries": [ {"blockPhrase":"Oranges","matchOperator":"CONTAINS"}, {"blockPhrase":"bAd apples","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"Cool as A Cucumber","matchOperator":"EXACT_MATCH"}, {"blockPhrase":"cherry pick","matchOperator":"CONTAINS"} ] }
לפני שמייבאים רשימת חסימה, צריך לוודא שמוגדרים אמצעי בקרת הגישה הנדרשים לגישה לכלי לעריכת Discovery Engine.
אפשר לייבא רשימות חסימה מנתוני JSON מקומיים או מ-Cloud Storage. כדי להסיר רשימת דחייה ממאגר נתונים, מנקים את רשימת הדחייה.
ייבוא רשימת חסימה מנתוני JSON מקומיים
כדי לייבא רשימת חסימה מקובץ JSON מקומי שמכיל את רשימת החסימה, מבצעים את הפעולות הבאות:
יוצרים רשימת חסימה בקובץ JSON מקומי בפורמט הבא. חשוב לוודא שכל רשומה ברשימת ההיתרים מופיעה בשורה חדשה בלי מעברי שורה.
{ "inlineSource": { "entries": [ { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }, { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" } ] } }
שולחים בקשת POST ל-method
suggestionDenyListEntries:importומציינים את השם של קובץ ה-JSON.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @DENYLIST_FILE \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"מחליפים את מה שכתוב בשדות הבאים:
-
DENYLIST_FILE: הנתיב המקומי של קובץ ה-JSON שמכיל את המונחים ברשימת הדחייה.
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה.
-
אחרי שמייבאים את רשימת ההחרגות, עובר יום או יומיים עד שהמערכת מתחילה לסנן את ההצעות.
ייבוא רשימת חסימה מ-Cloud Storage
כדי לייבא רשימת חסימה מקובץ JSON ב-Cloud Storage, מבצעים את הפעולות הבאות:
יוצרים את הרשימה השחורה בקובץ JSON בפורמט הבא ומייבאים אותה לקטגוריה של Cloud Storage. מוודאים שכל רשומה ברשימת החסימה מופיעה בשורה חדשה בלי מעברי שורה.
{ "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" } { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
יוצרים קובץ JSON מקומי שמכיל את האובייקט
gcsSource. משתמשים בפרמטר הזה כדי להפנות למיקום של קובץ הרשימה השחורה בקטגוריה של Cloud Storage.{ "gcsSource": { "inputUris": [ "DENYLIST_STORAGE_LOCATION" ] } }
מחליפים את
DENYLIST_STORAGE_LOCATIONבמיקום של הרשימה השחורה ב-Cloud Storage. אפשר להזין רק URI אחד. צריך להזין את ה-URI בפורמט הזה:gs://BUCKET/FILE_PATH.שולחים בקשת POST ל-method
suggestionDenyListEntries:import, כולל האובייקטgcsSource.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @GCS_SOURCE_FILE \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/suggestionDenyListEntries:import"מחליפים את מה שכתוב בשדות הבאים:
-
GCS_SOURCE_FILE: הנתיב המקומי של הקובץ שמכיל את אובייקטgcsSourceשמפנה לרשימת החסימה.
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה.
-
אחרי שמייבאים את רשימת ההחרגות, עובר יום או יומיים עד שהמערכת מתחילה לסנן את ההצעות.
מחיקה באופן סופי של רשימת ישויות שנחסמו
כדי למחוק רשימת חסימה ממאגר הנתונים:
שולחים בקשת POST ל-method
suggestionDenyListEntries:purge.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/suggestionDenyListEntries:purge"מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה.
שימוש ברשימה מיובאת של הצעות להשלמה אוטומטית
אתם יכולים לספק רשימה משלכם של הצעות להשלמה אוטומטית במקום להשתמש בהצעות להשלמה אוטומטית שנוצרות ממודל נתונים של השלמה אוטומטית.
- נרמול טקסט. הטקסט של ההצעה הוא באותיות קטנות, הוא עובר נורמליזציה של Unicode, הרווחים הפנימיים שלו מצומצמים, הגרשיים המסולסלים (U+2018, U+2019) מומרים לגרש ASCII (U+0027), והגרשיים הכפולות המוטמעות והנקודות בסוף מוסרות.
- סינון לפי אורך. הצעות קצרות משלושה תווים או ארוכות מ-125 תווים נפסלות.
- ביטול כפילויות על ידי צבירת ציונים. אם שתי הצעות מיובאות או יותר עוברות נורמליזציה לאותו טקסט (לדוגמה,
"Pixel 10 Pro Moonstone"ו-"Pixel 10 Pro moonstone", או"jobseeker’s allowance"עם גרש מסולסל ו-"jobseeker's allowance"עם גרש ASCII), הן ימוזגו להצעה אחת שהניקוד שלה הוא סכום הניקוד של הקלט. אם רוצים שהציון של כל הצעה ייחודית יישאר כמו שהוא, צריך לשלוח אותה רק פעם אחת. - סינון פרטים אישיים מזהים. הצעות שמזוהות כהצעות שמכילות פרטים אישיים מזהים (PII) מסוננות.
- סינון לפי רשימת הישויות שנחסמו. הצעות שתואמות לביטויים ברשימת ההצעות החסומות של מאגר הנתונים מסוננות.
ההגדרה SafeSearch לא חלה על הצעות שיובאו. באחריותכם לוודא שההצעות שיובאו מתאימות למשתמשים שלכם.
ברוב האפליקציות, שימוש בהצעות שנוצרו מאחד ממודלי הנתונים של ההשלמה האוטומטית מניב תוצאות טובות יותר. עם זאת, יכול להיות שיהיו מצבים נדירים שבהם ההצעות של המודל לא יתאימו לצרכים שלכם, ורשימה נפרדת של הצעות תספק למשתמשים חוויה טובה יותר של השלמה אוטומטית.
לדוגמה, חנות ספרים אינטרנטית קטנה מייבאת את רשימת שמות הספרים שלה כהצעות להשלמה אוטומטית. כשלקוח מתחיל להקליד בשורת החיפוש, ההצעה של ההשלמה האוטומטית תמיד תהיה כותר מספר מהרשימה המיובאת. כשרשימת הספרים משתנה, חנות הספרים מוחקת את הרשימה הנוכחית ומייבאת את הרשימה החדשה. קטע מהרשימה יכול להיראות כך:
{"suggestion": "Wuthering Heights", "globalScore": "0.52" },
{"suggestion": "The Time Machine", "globalScore": "0.26" },
{"suggestion": "Nicholas Nickleby", "globalScore": "0.38" },
{"suggestion": "A Little Princess", "globalScore": "0.71" },
{"suggestion": "The Scarlet Letter", "globalScore": "0.32" }
הערך globalScore הוא מספר נקודה צפה בטווח [0, 1] שמשמש לדירוג ההצעה. אפשרות אחרת היא להשתמש בfrequency ציון שהוא מספר שלם גדול מ-1. הציון frequency משמש לדירוג ההצעות אם הציון globalScore לא זמין (מוגדר כ-null).
לפני שמתחילים
כדי לייבא הצעות להשלמה אוטומטית, צריך להקצות לכם את תפקיד ה-IAM Discovery Engine Admin, שכולל את ההרשאה discoveryengine.completionSuggestions.import.
מידע נוסף זמין במאמר בנושא תפקידים והרשאות ב-IAM.
הגדרה וייבוא של הצעות להשלמה אוטומטית
כדי להגדיר ולייבא רשימה של הצעות להשלמה אוטומטית מ-BigQuery:
יוצרים רשימת הצעות וטוענים אותה לטבלה ב-BigQuery.
לפחות צריך לספק כל הצעה כמחרוזת, וגם ציון גלובלי או תדירות.
אפשר להשתמש בסכימת הטבלה הבאה לרשימת ההצעות:
[ { "description": "The suggestion text", "mode": "REQUIRED", "name": "suggestion", "type": "STRING" }, { "description": "Global score of this suggestion. Control how this suggestion would be scored and ranked. Set global score or frequency; not both.", "mode": "NULLABLE", "name": "globalScore", "type": "FLOAT" }, { "description": "Frequency of this suggestion. Used to rank suggestions when the global score is not available.", "mode": "NULLABLE", "name": "frequency", "type": "INTEGER" } ]הוראות ליצירת טבלה ב-BigQuery וטעינת הטבלה עם רשימת ההצעות להשלמה אוטומטית מופיעות במסמכי BigQuery.
מייבאים את הרשימה מ-BigQuery.
שולחים בקשת POST ל-method
completionSuggestions:import, כולל האובייקטbigquerySource.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/completionSuggestions:import" \ -d '{ "bigquery_source": {"project_id": "PROJECT_ID_SOURCE", "dataset_id": "DATASET_ID", "table_id": "TABLE_ID"} }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud . -
DATA_STORE_ID: המזהה של מאגר הנתונים. -
PROJECT_ID_SOURCE: הפרויקט שמכיל את מערך הנתונים שרוצים לייבא. -
DATASET_ID: מזהה מערך הנתונים של רשימת ההצעות שרוצים לייבא -
TABLE_ID: מזהה הטבלה של רשימת ההצעות שרוצים לייבא
-
אופציונלי: רושמים את הערך
nameשמוחזר ופועלים לפי ההוראות במאמר קבלת פרטים על פעולה ממושכת כדי לראות מתי פעולת הייבוא מסתיימת.אם לא הפעלתם את ההשלמה האוטומטית באפליקציה, צריך לפעול לפי השלבים שבקטע עדכון הגדרות ההשלמה האוטומטית. חשוב להגדיר את האפשרות הפעלת השלמה אוטומטית למצב מופעל.
מחכים כמה ימים עד שהוספת האינדקס תסתיים וההצעות המיובאות יהיו זמינות.
שליחת בקשה להשלמה אוטומטית
כדי לשלוח בקשה להשלמה אוטומטית שמחזירה הצעה מיובאת במקום הצעה ממודל להשלמה אוטומטית:
- פועלים לפי ההליך לשליחת בקשה להשלמה אוטומטית למודל אחר ומגדירים את
QUERY_SUGGESTIONS_MODELלערךimported-suggestion.
מחיקת הרשימה של ההצעות להשלמה אוטומטית שיובאו
לפני שמייבאים רשימה חדשה של הצעות להשלמה אוטומטית, צריך להסיר את הרשימה הקיימת.
כדי למחוק רשימה קיימת של הצעות להשלמה אוטומטית, פועלים לפי השלב הבא:
שולחים בקשת POST ל-method
completionSuggestions:purge.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/completionSuggestions:purge"מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המספר או המזהה של הפרויקט ב- Google Cloud .
DATA_STORE_ID: המזהה של מאגר הנתונים שמשויך לאפליקציה.
מודל נתונים מתקדם של מסמכים
Gemini Enterprise מספק מודל נתונים מתקדם להשלמה אוטומטית. על סמך המסמכים שמייבאים, מודל הנתונים הזה יוצר הצעות להשלמה אוטומטית באיכות גבוהה באמצעות מודלים גדולים של שפה (LLM) של Google.
התכונה הזו ניסיונית. אם אתם רוצים להשתמש בתכונה הזו, אתם יכולים לפנות לצוות ניהול החשבון שלכם ב- Google Cloud ולבקש להוסיף אתכם לרשימת ההיתרים.
מודל הנתונים המתקדם של מסמכים לא זמין בחיפוש בתחום הבריאות או באזורים גיאוגרפיים מרובים בארה"ב ובאיחוד האירופי.