בדף הזה מוסבר על תכונת ההשלמה האוטומטית הבסיסית של Agent Search. ההשלמה האוטומטית יוצרת הצעות לשאילתות על סמך התווים הראשונים שהוזנו בשאילתה.
ההצעות שנוצרות על ידי ההשלמה האוטומטית משתנות בהתאם לסוג הנתונים שמשמשים את אפליקציית החיפוש:
נתונים מובנים ולא מובנים. כברירת מחדל, ההשלמה האוטומטית יוצרת הצעות על סמך התוכן של מסמכים במאגר הנתונים. אחרי ייבוא המסמכים, השלמה אוטומטית לא מתחילה ליצור הצעות עד שיש מספיק נתונים איכותיים, בדרך כלל אחרי כמה ימים. אם שולחים בקשות להשלמה אוטומטית דרך ה-API, ההשלמה האוטומטית יכולה ליצור הצעות שמבוססות על היסטוריית החיפושים או על אירועים של משתמשים.
נתונים מהאתר. כברירת מחדל, ההשלמה האוטומטית יוצרת הצעות מתוך היסטוריית החיפושים. ההשלמה האוטומטית דורשת תנועה אמיתית של חיפושים. אחרי שתנועת החיפוש מתחילה, לוקח יום או יומיים עד שההשלמה האוטומטית מתחילה להציע הצעות. אפשר ליצור הצעות מנתונים שנסרקו באינטרנט מאתרים ציבוריים באמצעות מודל נתונים מתקדם של מסמכים, שנמצא בשלב הניסוי.
נתונים רפואיים. כברירת מחדל, נעשה שימוש במקור נתונים קנוני של נתונים רפואיים כדי ליצור הצעות להשלמה אוטומטית של מאגרי נתונים רפואיים.
מודל ההצעות לשאילתות קובע באיזה סוג של נתונים ההשלמה האוטומטית משתמשת כדי ליצור הצעות. יש ארבעה מודלים של הצעות לשאילתות:
מסמך מודל המסמך יוצר הצעות ממסמכים שיובאו על ידי המשתמש. המודל הזה לא זמין לנתוני אתרים או לנתונים בתחום הבריאות.
שדות שאפשר למלא. המודל של השדות שאפשר להשלים מציע טקסט שנלקח ישירות משדות של נתונים מובְנים. רק השדות שמסומנים בהערה
completableמשמשים להצעות להשלמה אוטומטית. המודל הזה זמין רק לנתונים מובְנים.היסטוריית החיפושים. מודל היסטוריית החיפושים יוצר הצעות מתוך ההיסטוריה של קריאות ל-API של
SearchService.search. אל תשתמשו במודל הזה אם אין תנועה שזמינה לשיטתservingConfigs.search. המודל הזה לא זמין לנתונים מתחום הבריאות.אירוע של משתמש. מודל האירועים של המשתמשים יוצר הצעות מאירועים שיובאו על ידי המשתמשים מסוג
search. המודל הזה לא זמין לנתונים מתחום הבריאות.
בקשות להשלמה אוטומטית נשלחות באמצעות השיטה dataStores.completeQuery.
לחלופין, אם לא רוצים להשתמש במודל של הצעות לשאילתות, אפשר להשתמש בהצעות מיובאות שמספקות הצעות להשלמה אוטומטית על סמך רשימה מיובאת של הצעות. מידע נוסף זמין במאמר בנושא שימוש ברשימה מיובאת של הצעות להשלמה אוטומטית.
סוגי המודלים שזמינים לפי סוג הנתונים
בטבלה הבאה מוצגים סוגי המודלים של הצעות לשאילתות שזמינים לכל סוג נתונים.
מודל להצעות לשאילתות |
מקור נתונים |
נתוני אתר |
נתונים מובְנים |
נתונים לא מובנים |
|---|---|---|---|---|
| מסמך | הייבוא בוצע | ✔* (ברירת מחדל) | ✔ (ברירת מחדל) | |
| שדות שאפשר למלא | הייבוא בוצע | ✔ | ||
| היסטוריית החיפושים | נאספים באופן אוטומטי | ✔ (ברירת מחדל) | ✔ | ✔ |
| אירועים של משתמשים | מיובאים או נאספים אוטומטית באמצעות ווידג'ט | ✔ | ✔ | ✔ |
| תוכן שנסרק מהאתר | הסריקה מתבצעת על סמך תוכן מאתרים ציבוריים שאתם מציינים | ✔† |
* : סכימת המסמך צריכה לכלול שדות title או description, או שצריכים להיות שדות שצוינו כמאפייני מפתח title או description. איך מעדכנים סכימה של נתונים מובְנים
† : אפשר להשתמש בתוכן שנסרק באינטרנט כמקור נתונים רק אם מופעל מודל הנתונים המתקדם הניסיוני של מסמכים להשלמה אוטומטית. מידע נוסף על מודל נתונים מתקדם של מסמכים
אם אתם לא רוצים להשתמש במודל ברירת המחדל לסוג הנתונים שלכם, אתם יכולים לציין מודל אחר כשאתם שולחים את בקשת ההשלמה האוטומטית. בקשות להשלמה אוטומטית נשלחות באמצעות שיטת dataStores.completeQuery. למידע נוסף, אפשר לעיין במאמר הוראות לשימוש ב-API: שליחת בקשה להשלמה אוטומטית כדי לבחור מודל אחר.
תכונות של השלמה אוטומטית
חיפוש מבוסס סוכנים תומך בתכונות הבאות של השלמה אוטומטית כדי להציג את הצעות להשלמת החיפוש המועילות ביותר במהלך החיפוש:
| תכונה | תיאור | דוגמה או מידע נוסף |
|---|---|---|
| תיקון שגיאות הקלדה | תיקון שגיאות הקלדה באיות של מילים. | Milc → Milk.
|
| הסרת מונחים לא בטוחים |
|
טקסט פוגעני, כמו פורנוגרפיה, תוכן חושפני, שפה גסה או אלימות. |
| מניעת הצגה של פרטים אישיים מזהים (PII) בסיסיים | התכונה 'חיפוש באמצעות סוכן' מבוססת על Sensitive Data Protection, והיא עושה מאמץ סביר כדי למנוע הצגה של סוגים בסיסיים של פרטים אישיים מזהים (PII), כמו מספרי טלפון וכתובות אימייל. |
אם יש כתובת אימייל
כדי להגן בצורה יסודית יותר מפני דליפות של פרטים אישיים מזהים (PII), Google ממליצה להשתמש בפתרון מניעת אובדן נתונים (DLP) משלכם בנוסף לגלאים שמסופקים על ידי חיפוש מבוסס סוכנים. מידע נוסף זמין במאמר בנושא הגנה מפני דליפות של פרטים אישיים מזהים (PII). |
| רשימת ישויות שנחסמו |
|
מידע נוסף זמין במאמר שימוש ברשימת חסימה של השלמה אוטומטית. |
| ביטול כפילויות של מונחים |
|
ההצעות Shoes for Women, Womens Shoes ו-Womans Shoes הן כפולות,
ומוצעת רק ההצעה הפופולרית ביותר. |
| הצעות להתאמה מדויקת |
|
מידע נוסף זמין במאמר בנושא הצעות להתאמה לזנב. |
הצעות להתאמה מדויקת
ההצעות להתאמה לסוף המחרוזת מבוססות על התאמה מדויקת של הקידומת למילה האחרונה במחרוזת השאילתה.
לדוגמה, נניח שהשאילתה 'songs with he' נשלחת בבקשה להשלמה אוטומטית. אם ההתאמה לסיומת מופעלת, יכול להיות שההשלמה האוטומטית תגלה שאין התאמות לקידומת המלאה 'songs with he'. עם זאת, למילה האחרונה בשאילתה, he, יש התאמה מדויקת לקידומת עם hello world ו-hello kitty. במקרה כזה, ההצעות שיוחזרו הן 'שירים עם hello world' ו'שירים עם hello kitty' כי אין הצעות להתאמה מלאה.
אתם יכולים להשתמש בתכונה הזו כדי לצמצם את מספר התוצאות הריקות של ההצעות ולגוון את ההצעות. התכונה הזו שימושית במיוחד במקרים שבהם מקורות הנתונים (מספר אירועי המשתמש, היסטוריית החיפושים והיקף הנושאים במסמך) מוגבלים. עם זאת, הפעלת ההמלצות להתאמה לסיומת יכולה להפחית את האיכות הכוללת של ההמלצות. התאמה לסיומת מתאימה רק למילה האחרונה של הקידומת, ולכן יכול להיות שחלק מההצעות שיוחזרו לא יהיו הגיוניות. לדוגמה, שאילתה כמו "שירים עם he" עשויה לקבל הצעה להתאמה לזנב כמו "שירים עם helpers guides".
הצעות להתאמה של סיומות מוחזרות רק אם:
הערך של
include_tail_suggestionsמוגדר ל-trueבבקשתdataStores.completeQuery.אין הצעות לשאילתה שמתחילות באותו התחילית.
הגנה מפני דליפות של פרטים אישיים מזהים (PII)
ההגדרה של פרטים אישיים מזהים (PII) היא רחבה, ולפעמים קשה לזהות אותם. כתוצאה מכך, חיפוש מבוסס סוכנים לא יכול להבטיח שפרטים אישיים מזהים (PII) לא יוחזרו בהצעות להשלמה אוטומטית.
התכונה 'חיפוש מבוסס סוכנים' משתמשת בשירות הבדיקה של Sensitive Data Protection כדי לחפש סוגים נפוצים של פרטים אישיים מזהים (PII) ולמנוע את הצגתם כהצעות. עם זאת, אם מאגרי הנתונים שלכם מכילים פרטים אישיים מזהים (PII), או אם אתם משתמשים במודלים של הצעות לשאילתות של היסטוריית חיפושים או אירועים של משתמשים, כדאי לעיין במידע הבא ולפעול בהתאם:
אם סוגי ה-PII שאתם רוצים להגן עליהם הם די סטנדרטיים, כמו מספרי טלפון וכתובות אימייל, כדאי להתחיל בבדיקה מקיפה של ההצעות להשלמה אוטומטית באפליקציה. חיפוש באמצעות סוכן לא יכול להבטיח שפרטים אישיים מזהים לא יוחזרו בהצעות להשלמה אוטומטית.
אם מתגלים דליפות של פרטים אישיים מזהים (PII) במהלך בדיקות ההשלמה האוטומטית, או אם אתם כבר יודעים שיש לכם פרטים אישיים מזהים לא סטנדרטיים שצריך להגן עליהם (לדוגמה, מזהי משתמשים קנייניים), כדאי לנסות לשנות את ערך הסף של ההשלמה האוטומטית ואת הפרמטרים של הצגת התוכן. מידע נוסף זמין במאמר בנושא צמצום הסיכון להחזרת הצעות שמכילות פרטים אישיים מזהים (PII).
אם שינוי הפרמטרים לא מספיק כדי למנוע דליפות של פרטים אישיים מזהים (PII), צריך להטמיע פתרון DLP משלכם. התאמה אישית של פתרון ה-DLP לסוגים של פרטים אישיים מזהים שסביר להניח שיימצאו במאגרי הנתונים, באירועים של משתמשים או בשאילתות החיפוש של משתמשים. אפשר להשתמש ב-Sensitive Data Protection או בשירות DLP של צד שלישי. אפשר להשתמש באחת מהגישות הבאות:
לסנן פרטים אישיים מזהים (PII) לפני שמייבאים את המסמכים ואת אירועי המשתמשים במאגרי הנתונים.
לבדוק את ההצעות להשלמה אוטומטית לפני שמציגים אותן למשתמש בזמן הצגת המודעה, ולחסום את ההצעות שמכילות פרטים אישיים מזהים.
אם אתם משתמשים במודל של היסטוריית חיפושים או אירועים של משתמשים, כדאי להוסיף טקסט מידע בסרגל החיפוש, כדי להודיע למשתמשים לא להזין פרטים אישיים מזהים בשאילתות החיפוש שלהם.
אם יש לכם שאלות או שאתם נתקלים באתגרים ספציפיים בחסימת פרטים אישיים מזהים, אתם יכולים לפנות למהנדס הלקוחות (CE) או לצוות התמיכה בחשבון Google שלכם.
הפעלה או השבתה של ההשלמה האוטומטית בווידג'ט
כדי להפעיל או להשבית את ההשלמה האוטומטית בווידג'ט:
המסוף
נכנסים לדף AI Applications במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לערוך.
לוחצים על Configurations (הגדרות).
לוחצים על הכרטיסייה ממשק משתמש.
מסמנים או מבטלים את הסימון של האפשרות הצגת הצעות להשלמה אוטומטית כדי להפעיל או להשבית את ההצעות להשלמה אוטומטית בווידג'ט. אם מפעילים את ההשלמה האוטומטית, צריך לחכות יום או יומיים עד שההצעות יתחילו להופיע.
עדכון הגדרות ההשלמה האוטומטית
כדי להגדיר את ההשלמה האוטומטית בממשק המשתמש, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף AI Applications במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לערוך.
לוחצים על Configurations (הגדרות).
לוחצים על הכרטיסייה השלמה אוטומטית.
מזינים או בוחרים ערכים חדשים להגדרות ההשלמה האוטומטית שרוצים לעדכן:
- מספר ההצעות המקסימלי: מספר ההצעות המקסימלי להשלמה אוטומטית שאפשר להציע לשאילתה.
- אורך מינימלי להפעלה: מספר התווים המינימלי שאפשר להקליד לפני שמוצעות הצעות להשלמה אוטומטית.
- סדר ההתאמה: המיקום במחרוזת של שאילתה שממנו ההשלמה האוטומטית יכולה להתחיל להתאים את ההצעות שלה.
- מודל ההצעות לשאילתות: מודל ההצעות לשאילתות שמשמש ליצירת ההצעות שאוחזרו. אפשר לשנות את ההגדרה הזו ב-
dataStores.completeQueryבאמצעות הפרמטרqueryModel. הפעלת השלמה אוטומטית: כברירת מחדל, ההשלמה האוטומטית לא מתחילה להציע הצעות עד שיש לה מספיק נתונים איכותיים, בדרך כלל אחרי כמה ימים. אם רוצים לשנות את ברירת המחדל הזו ולהתחיל לקבל הצעות להשלמה אוטומטית מוקדם יותר, בוחרים באפשרות עכשיו.
גם אם בוחרים באפשרות עכשיו, יכול לעבור יום עד שההצעות ייווצרו, ועדיין חלק מההצעות להשלמה אוטומטית יהיו חסרות או באיכות נמוכה עד שיהיו מספיק נתונים טובים.
רשימת חסימה: מייבאים רשימת חסימה כקובץ JSON בקטגוריה של Cloud Storage. מידע נוסף על ההגבלות והמפרטים של הרשימה השחורה זמין במאמר שימוש ברשימה שחורה של השלמה אוטומטית.
לוחצים על שמירה ופרסום. השינויים ייכנסו לתוקף תוך כמה דקות במנועים שבהם ההשלמה האוטומטית כבר הופעלה.
צמצום הסיכון להחזרת הצעות שמכילות מידע אישי מזהה (PII)
למשתמשי הקצה יש פרטים אישיים מזהים מכל הסוגים, כמו רישיונות נהיגה ומספרי טלפון, והם אמורים לשמור על הפרטיות שלהם. אבל משתמשים שמחפשים תוצאות שספציפיות להם עשויים להקליד את הפרטים האישיים המזהים (PII) האלה בסרגל החיפוש.
אם אתם משתמשים במודל של היסטוריית החיפושים או של אירועי המשתמשים, ויש סיכוי שהמשתמשים יקלידו פרטים אישיים מזהים בסרגל החיפוש, אתם יכולים לצמצם את דליפות הפרטים האישיים המזהים על ידי שינוי הפרמטרים הבאים:
queryFrequencyThreshold: לפני ששאילתה יכולה להופיע כהצעה להשלמה אוטומטית, היא צריכה להיות מוזנת מספר הפעמים הזה.
numUniqueUsersThreshold: כדי ששאילתה תוצג כהצעה להשלמה אוטומטית, היא צריכה להיות מוקלדת על ידי מספר המשתמשים הייחודיים הזה. הערך של השדהuserPseudoIdבאירוע המשתמש בחיפוש קובע אם המשתמש ייחודי.
דוגמה לתרחיש שימוש
לדוגמה, נניח שלמשתמשים יש מספרי חשבונות שצריך לשמור בסודיות.
אם נעשה שימוש במודל ההצעות של היסטוריית החיפושים או של אירועי המשתמשים, מספרי החשבונות האלה, יחד עם כל המונחים האחרים שמשתמשי הקצה מחפשים, משמשים ליצירת הצעות. לכן, אם מספר החשבון של משתמש א' YZ-46789A הוזן שוב ושוב בסרגל החיפוש, ולמשתמש ב' יש מספר חשבון YZ-42345B, כשמשתמש ב' יקליד YZ-4 בסרגל החיפוש, יכול להיות שההצעה להשלמה אוטומטית שתופיע תהיה מספר החשבון של משתמש א'.
כדי להקטין את הסיכוי לדליפה כזו, האדמין של חיפוש מבוסס סוכנים מחליט:
צריך להגדיל את הערך של הפרמטר
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: ערך של מספר שלם שמציין את מספר הפעמים המינימלי שצריך להזין שאילתת חיפוש כדי שהיא תוצג כהצעה של ההשלמה האוטומטית. הספירה היא סכום של חלון זמן מתגלגל שנמשך כמה חודשים. ערך ברירת המחדל הוא8.
מעדכנים את השדה
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.
עדכון של אנוטציות של שדות שאפשר להשלים בסכימה
כדי להפעיל השלמה אוטומטית של שדות בסכימת נתונים מובְנים, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף AI Applications במסוף Google Cloud .
לוחצים על שם האפליקציה שרוצים לערוך. חובה להשתמש בנתונים מובְנים.
לוחצים על נתונים.
לוחצים על הכרטיסייה סכימה.
לוחצים על עריכה כדי לבחור את שדות הסכימה שרוצים לסמן כ
completable.לוחצים על Save (שמירה) כדי לשמור את הגדרות השדות המעודכנות. ההצעות האלה נוצרות ומוחזרות תוך יום בערך.
שליחת בקשות להשלמה אוטומטית
בדוגמאות הבאות אפשר לראות איך לשלוח בקשות להשלמה אוטומטית.
REST
כדי לשלוח בקשה להשלמה אוטומטית באמצעות ה-API, פועלים לפי השלבים הבאים:
איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.
במסוף Google Cloud , עוברים לדף AI Applications ובתפריט הניווט לוחצים על 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 , עוברים לדף AI Applications ובתפריט הניווט לוחצים על 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#
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים C#.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Go.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Java.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Node.js.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Python.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Ruby.
כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את 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 הוא מספר נקודה צפה (floating-point) בטווח [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: המזהה של מאגר הנתונים שמשויך לאפליקציה.
מודל נתונים מתקדם של מסמכים
חיפוש מבוסס סוכנים מספק מודל נתונים מתקדם להשלמה אוטומטית. על סמך המסמכים שמייבאים, מודל הנתונים הזה יוצר הצעות להשלמה אוטומטית באיכות גבוהה באמצעות מודלים גדולים של שפה (LLM) של Google.
התכונה הזו ניסיונית. אם אתם רוצים להשתמש בתכונה הזו, אתם יכולים לפנות לצוות ניהול החשבון שלכם ב- Google Cloud ולבקש להוסיף אתכם לרשימת ההיתרים.
מודל הנתונים המתקדם של מסמכים לא זמין בחיפוש בתחום הבריאות או באזורים גיאוגרפיים מרובים בארה"ב ובאיחוד האירופי.