הגדרת השלמה אוטומטית

בדף הזה מוסבר על תכונת ההשלמה האוטומטית הבסיסית של Agent Search. ההשלמה האוטומטית יוצרת הצעות לשאילתות על סמך התווים הראשונים שהוזנו בשאילתה.

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

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

  • נתונים מהאתר. כברירת מחדל, ההשלמה האוטומטית יוצרת הצעות מתוך היסטוריית החיפושים. ההשלמה האוטומטית דורשת תנועה אמיתית של חיפושים. אחרי שתנועת החיפוש מתחילה, לוקח יום או יומיים עד שההשלמה האוטומטית מתחילה להציע הצעות. אפשר ליצור הצעות מנתונים שנסרקו באינטרנט מאתרים ציבוריים באמצעות מודל נתונים מתקדם של מסמכים, שנמצא בשלב הניסוי.

  • נתונים רפואיים. כברירת מחדל, נעשה שימוש במקור נתונים קנוני של נתונים רפואיים כדי ליצור הצעות להשלמה אוטומטית של מאגרי נתונים רפואיים.

מודל ההצעות לשאילתות קובע באיזה סוג של נתונים ההשלמה האוטומטית משתמשת כדי ליצור הצעות. יש ארבעה מודלים של הצעות לשאילתות:

  • מסמך מודל המסמך יוצר הצעות ממסמכים שיובאו על ידי המשתמש. המודל הזה לא זמין לנתוני אתרים או לנתונים בתחום הבריאות.

  • שדות שאפשר למלא. המודל של השדות שאפשר להשלים מציע טקסט שנלקח ישירות משדות של נתונים מובְנים. רק השדות שמסומנים בהערה completable משמשים להצעות להשלמה אוטומטית. המודל הזה זמין רק לנתונים מובְנים.

  • היסטוריית החיפושים. מודל היסטוריית החיפושים יוצר הצעות מתוך ההיסטוריה של קריאות ל-API של SearchService.search. אל תשתמשו במודל הזה אם אין תנועה שזמינה לשיטת servingConfigs.search. המודל הזה לא זמין לנתונים מתחום הבריאות.

  • אירוע של משתמש. מודל האירועים של המשתמשים יוצר הצעות מאירועים שיובאו על ידי המשתמשים מסוג search. המודל הזה לא זמין לנתונים מתחום הבריאות.

בקשות להשלמה אוטומטית נשלחות באמצעות השיטה dataStores.completeQuery.

לחלופין, אם לא רוצים להשתמש במודל של הצעות לשאילתות, אפשר להשתמש בהצעות מיובאות שמספקות הצעות להשלמה אוטומטית על סמך רשימה מיובאת של הצעות. מידע נוסף זמין במאמר בנושא שימוש ברשימה מיובאת של הצעות להשלמה אוטומטית.

סוגי המודלים שזמינים לפי סוג הנתונים

בטבלה הבאה מוצגים סוגי המודלים של הצעות לשאילתות שזמינים לכל סוג נתונים.


מודל להצעות לשאילתות

מקור נתונים

נתוני אתר

נתונים מובְנים

נתונים לא מובנים
מסמך הייבוא בוצע ‫✔* (ברירת מחדל) ‫✔ (ברירת מחדל)
שדות שאפשר למלא הייבוא בוצע
היסטוריית החיפושים נאספים באופן אוטומטי ‫✔ (ברירת מחדל)
אירועים של משתמשים מיובאים או נאספים אוטומטית באמצעות ווידג'ט
תוכן שנסרק מהאתר הסריקה מתבצעת על סמך תוכן מאתרים ציבוריים שאתם מציינים

‫* : סכימת המסמך צריכה לכלול שדות title או description, או שצריכים להיות שדות שצוינו כמאפייני מפתח title או description. איך מעדכנים סכימה של נתונים מובְנים

: אפשר להשתמש בתוכן שנסרק באינטרנט כמקור נתונים רק אם מופעל מודל הנתונים המתקדם הניסיוני של מסמכים להשלמה אוטומטית. מידע נוסף על מודל נתונים מתקדם של מסמכים

אם אתם לא רוצים להשתמש במודל ברירת המחדל לסוג הנתונים שלכם, אתם יכולים לציין מודל אחר כשאתם שולחים את בקשת ההשלמה האוטומטית. בקשות להשלמה אוטומטית נשלחות באמצעות שיטת dataStores.completeQuery. למידע נוסף, אפשר לעיין במאמר הוראות לשימוש ב-API: שליחת בקשה להשלמה אוטומטית כדי לבחור מודל אחר.

תכונות של השלמה אוטומטית

חיפוש מבוסס סוכנים תומך בתכונות הבאות של השלמה אוטומטית כדי להציג את הצעות להשלמת החיפוש המועילות ביותר במהלך החיפוש:

תכונה תיאור דוגמה או מידע נוסף
תיקון שגיאות הקלדה תיקון שגיאות הקלדה באיות של מילים. MilcMilk.
הסרת מונחים לא בטוחים
  • מופעל באמצעות חיפוש בטוח של Google.
  • הסרת שאילתות לא הולמות.
  • התכונה נתמכת בשפות הבאות: אנגלית (en), צרפתית (fr), גרמנית (de), איטלקית (it), פולנית (pl), פורטוגזית (pt), רוסית (ru), ספרדית (es) ואוקראינית (uk).
טקסט פוגעני, כמו פורנוגרפיה, תוכן חושפני, שפה גסה או אלימות.
מניעת הצגה של פרטים אישיים מזהים (PII) בסיסיים התכונה 'חיפוש באמצעות סוכן' מבוססת על Sensitive Data Protection, והיא עושה מאמץ סביר כדי למנוע הצגה של סוגים בסיסיים של פרטים אישיים מזהים (PII), כמו מספרי טלפון וכתובות אימייל.

אם יש כתובת אימייל jeffersonloveshiking@gmail.com במאגר הנתונים, חיפוש מבוסס סוכנים לא יציג את כתובת האימייל כהצעה של ההשלמה האוטומטית אם המשתמש יקליד jef בסרגל החיפוש.

כדי להגן בצורה יסודית יותר מפני דליפות של פרטים אישיים מזהים (PII), Google ממליצה להשתמש בפתרון מניעת אובדן נתונים (DLP) משלכם בנוסף לגלאים שמסופקים על ידי חיפוש מבוסס סוכנים. מידע נוסף זמין במאמר בנושא הגנה מפני דליפות של פרטים אישיים מזהים (PII).

רשימת ישויות שנחסמו
  • להסיר מונחים שמופיעים ברשימת המונחים האסורים.
מידע נוסף זמין במאמר שימוש ברשימת חסימה של השלמה אוטומטית.
ביטול כפילויות של מונחים
  • מבוסס על הבנה סמנטית מבוססת-AI.
  • אם יש מונחים כמעט זהים, כל אחד מהם יכול להתאים, אבל רק המונח הפופולרי יותר מוצע.
ההצעות 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".

הצעות להתאמה של סיומות מוחזרות רק אם:

  1. הערך של include_tail_suggestions מוגדר ל-true בבקשת dataStores.completeQuery.

  2. אין הצעות לשאילתה שמתחילות באותו התחילית.

הגנה מפני דליפות של פרטים אישיים מזהים (PII)

ההגדרה של פרטים אישיים מזהים (PII) היא רחבה, ולפעמים קשה לזהות אותם. כתוצאה מכך, חיפוש מבוסס סוכנים לא יכול להבטיח שפרטים אישיים מזהים (PII) לא יוחזרו בהצעות להשלמה אוטומטית.

התכונה 'חיפוש מבוסס סוכנים' משתמשת בשירות הבדיקה של Sensitive Data Protection כדי לחפש סוגים נפוצים של פרטים אישיים מזהים (PII) ולמנוע את הצגתם כהצעות. עם זאת, אם מאגרי הנתונים שלכם מכילים פרטים אישיים מזהים (PII), או אם אתם משתמשים במודלים של הצעות לשאילתות של היסטוריית חיפושים או אירועים של משתמשים, כדאי לעיין במידע הבא ולפעול בהתאם:

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

  2. אם מתגלים דליפות של פרטים אישיים מזהים (PII) במהלך בדיקות ההשלמה האוטומטית, או אם אתם כבר יודעים שיש לכם פרטים אישיים מזהים לא סטנדרטיים שצריך להגן עליהם (לדוגמה, מזהי משתמשים קנייניים), כדאי לנסות לשנות את ערך הסף של ההשלמה האוטומטית ואת הפרמטרים של הצגת התוכן. מידע נוסף זמין במאמר בנושא צמצום הסיכון להחזרת הצעות שמכילות פרטים אישיים מזהים (PII).

  3. אם שינוי הפרמטרים לא מספיק כדי למנוע דליפות של פרטים אישיים מזהים (PII), צריך להטמיע פתרון DLP משלכם. התאמה אישית של פתרון ה-DLP לסוגים של פרטים אישיים מזהים שסביר להניח שיימצאו במאגרי הנתונים, באירועים של משתמשים או בשאילתות החיפוש של משתמשים. אפשר להשתמש ב-Sensitive Data Protection או בשירות DLP של צד שלישי. אפשר להשתמש באחת מהגישות הבאות:

    • לסנן פרטים אישיים מזהים (PII) לפני שמייבאים את המסמכים ואת אירועי המשתמשים במאגרי הנתונים.

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

  4. אם אתם משתמשים במודל של היסטוריית חיפושים או אירועים של משתמשים, כדאי להוסיף טקסט מידע בסרגל החיפוש, כדי להודיע למשתמשים לא להזין פרטים אישיים מזהים בשאילתות החיפוש שלהם.

  5. אם יש לכם שאלות או שאתם נתקלים באתגרים ספציפיים בחסימת פרטים אישיים מזהים, אתם יכולים לפנות למהנדס הלקוחות (CE) או לצוות התמיכה בחשבון Google שלכם.

הפעלה או השבתה של ההשלמה האוטומטית בווידג'ט

כדי להפעיל או להשבית את ההשלמה האוטומטית בווידג'ט:

המסוף

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. לוחצים על שם האפליקציה שרוצים לערוך.

  3. לוחצים על Configurations (הגדרות).

  4. לוחצים על הכרטיסייה ממשק משתמש.

  5. מסמנים או מבטלים את הסימון של האפשרות הצגת הצעות להשלמה אוטומטית כדי להפעיל או להשבית את ההצעות להשלמה אוטומטית בווידג'ט. אם מפעילים את ההשלמה האוטומטית, צריך לחכות יום או יומיים עד שההצעות יתחילו להופיע.

עדכון הגדרות ההשלמה האוטומטית

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

המסוף

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. לוחצים על שם האפליקציה שרוצים לערוך.

  3. לוחצים על Configurations (הגדרות).

  4. לוחצים על הכרטיסייה השלמה אוטומטית.

  5. מזינים או בוחרים ערכים חדשים להגדרות ההשלמה האוטומטית שרוצים לעדכן:

    • מספר ההצעות המקסימלי: מספר ההצעות המקסימלי להשלמה אוטומטית שאפשר להציע לשאילתה.
    • אורך מינימלי להפעלה: מספר התווים המינימלי שאפשר להקליד לפני שמוצעות הצעות להשלמה אוטומטית.
    • סדר ההתאמה: המיקום במחרוזת של שאילתה שממנו ההשלמה האוטומטית יכולה להתחיל להתאים את ההצעות שלה.
    • מודל ההצעות לשאילתות: מודל ההצעות לשאילתות שמשמש ליצירת ההצעות שאוחזרו. אפשר לשנות את ההגדרה הזו ב-dataStores.completeQuery באמצעות הפרמטר queryModel.
    • הפעלת השלמה אוטומטית: כברירת מחדל, ההשלמה האוטומטית לא מתחילה להציע הצעות עד שיש לה מספיק נתונים איכותיים, בדרך כלל אחרי כמה ימים. אם רוצים לשנות את ברירת המחדל הזו ולהתחיל לקבל הצעות להשלמה אוטומטית מוקדם יותר, בוחרים באפשרות עכשיו.

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

    • רשימת חסימה: מייבאים רשימת חסימה כקובץ JSON בקטגוריה של Cloud Storage. מידע נוסף על ההגבלות והמפרטים של הרשימה השחורה זמין במאמר שימוש ברשימה שחורה של השלמה אוטומטית.

  6. לוחצים על שמירה ופרסום. השינויים ייכנסו לתוקף תוך כמה דקות במנועים שבהם ההשלמה האוטומטית כבר הופעלה.

צמצום הסיכון להחזרת הצעות שמכילות מידע אישי מזהה (PII)

למשתמשי הקצה יש פרטים אישיים מזהים מכל הסוגים, כמו רישיונות נהיגה ומספרי טלפון, והם אמורים לשמור על הפרטיות שלהם. אבל משתמשים שמחפשים תוצאות שספציפיות להם עשויים להקליד את הפרטים האישיים המזהים (PII) האלה בסרגל החיפוש.

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

  • queryFrequencyThreshold: לפני ששאילתה יכולה להופיע כהצעה להשלמה אוטומטית, היא צריכה להיות מוזנת מספר הפעמים הזה.

  • numUniqueUsersThreshold: כדי ששאילתה תוצג כהצעה להשלמה אוטומטית, היא צריכה להיות מוקלדת על ידי מספר המשתמשים הייחודיים הזה. הערך של השדה userPseudoId באירוע המשתמש בחיפוש קובע אם המשתמש ייחודי.

דוגמה לתרחיש שימוש

לדוגמה, נניח שלמשתמשים יש מספרי חשבונות שצריך לשמור בסודיות.

אם נעשה שימוש במודל ההצעות של היסטוריית החיפושים או של אירועי המשתמשים, מספרי החשבונות האלה, יחד עם כל המונחים האחרים שמשתמשי הקצה מחפשים, משמשים ליצירת הצעות. לכן, אם מספר החשבון של משתמש א' YZ-46789A הוזן שוב ושוב בסרגל החיפוש, ולמשתמש ב' יש מספר חשבון YZ-42345B, כשמשתמש ב' יקליד YZ-4 בסרגל החיפוש, יכול להיות שההצעה להשלמה אוטומטית שתופיע תהיה מספר החשבון של משתמש א'.

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

  • צריך להגדיל את הערך של הפרמטר queryFrequencyThreshold ל-30. במקרה כזה, הסיכוי שמספר חשבון אחד יוזן כל כך הרבה פעמים הוא נמוך מאוד. עם זאת, שאילתות חיפוש פופולריות יוזנו לפחות בתדירות הזו.

  • צריך להגדיל את הערך של הפרמטר numUniqueUsersThreshold ל-6. מנהל המערכת חושב שסביר להניח שלא יוזן אותו מספר חשבון בסרגל החיפוש בשישה אירועי חיפוש שכל אחד מהם משויך לuserPseudoId אחר.

התהליך

יש שני פרמטרים של סף להשלמה אוטומטית. הפרמטרים האלה לא זמינים במסוף Google Cloud , אבל אפשר להגדיר אותם באמצעות קריאה ל-API בארכיטקטורת REST לשיטה updateCompletionConfig.

כדי להגדיר את ערכי הסף להשלמה האוטומטית, פועלים לפי השלבים הבאים. כל שלב הוא אופציונלי, בהתאם לפרמטר שרוצים לשנות.

REST

  1. מעדכנים את השדה 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.

  2. מעדכנים את השדה 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.

עדכון של אנוטציות של שדות שאפשר להשלים בסכימה

כדי להפעיל השלמה אוטומטית של שדות בסכימת נתונים מובְנים, פועלים לפי השלבים הבאים:

המסוף

  1. נכנסים לדף AI Applications במסוף Google Cloud .

    אפליקציות AI

  2. לוחצים על שם האפליקציה שרוצים לערוך. חובה להשתמש בנתונים מובְנים.

  3. לוחצים על נתונים.

  4. לוחצים על הכרטיסייה סכימה.

  5. לוחצים על עריכה כדי לבחור את שדות הסכימה שרוצים לסמן כcompletable.

  6. לוחצים על Save (שמירה) כדי לשמור את הגדרות השדות המעודכנות. ההצעות האלה נוצרות ומוחזרות תוך יום בערך.

שליחת בקשות להשלמה אוטומטית

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

REST

כדי לשלוח בקשה להשלמה אוטומטית באמצעות ה-API, פועלים לפי השלבים הבאים:

  1. איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.

    1. במסוף Google Cloud , עוברים לדף AI Applications ובתפריט הניווט לוחצים על Data Stores.

      מעבר לדף Data Stores

    2. לוחצים על השם של מאגר הנתונים.

    3. בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.

  2. מבצעים קריאה ל-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: הקלט של ההשלמה האוטומטית שמשמש לאחזור הצעות.

שליחת בקשת השלמה אוטומטית למודל אחר

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

  1. איך מוצאים את המזהה של מאגר הנתונים אם כבר יש לכם מזהה של מאגר נתונים, אפשר לדלג לשלב הבא.

    1. במסוף Google Cloud , עוברים לדף AI Applications ובתפריט הניווט לוחצים על Data Stores.

      מעבר לדף Data Stores

    2. לוחצים על השם של מאגר הנתונים.

    3. בדף Data של מאגר הנתונים, מעתיקים את המזהה של מאגר הנתונים.

  2. מבצעים קריאה ל-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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

using Google.Cloud.DiscoveryEngine.V1;

public sealed partial class GeneratedCompletionServiceClientSnippets
{
    /// <summary>Snippet for CompleteQuery</summary>
    /// <remarks>
    /// This snippet has been automatically generated and should be regarded as a code template only.
    /// It will require modifications to work:
    /// - It may require correct/in-range values for request initialization.
    /// - It may require specifying regional endpoints when creating the service client as shown in
    ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
    /// </remarks>
    public void CompleteQueryRequestObject()
    {
        // Create client
        CompletionServiceClient completionServiceClient = CompletionServiceClient.Create();
        // Initialize request argument(s)
        CompleteQueryRequest request = new CompleteQueryRequest
        {
            DataStoreAsDataStoreName = DataStoreName.FromProjectLocationDataStore("[PROJECT]", "[LOCATION]", "[DATA_STORE]"),
            Query = "",
            QueryModel = "",
            UserPseudoId = "",
            IncludeTailSuggestions = false,
        };
        // Make the request
        CompleteQueryResponse response = completionServiceClient.CompleteQuery(request);
    }
}

Go

מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Go.

כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.


//go:build examples

package main

import (
	"context"

	discoveryengine "cloud.google.com/go/discoveryengine/apiv1"
	discoveryenginepb "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb"
)

func main() {
	ctx := context.Background()
	// This snippet has been automatically generated and should be regarded as a code template only.
	// It will require modifications to work:
	// - It may require correct/in-range values for request initialization.
	// - It may require specifying regional endpoints when creating the service client as shown in:
	//   https://pkg.go.dev/cloud.google.com/go#hdr-Client_Options
	c, err := discoveryengine.NewCompletionClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

	req := &discoveryenginepb.CompleteQueryRequest{
		// TODO: Fill request struct fields.
		// See https://pkg.go.dev/cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb#CompleteQueryRequest.
	}
	resp, err := c.CompleteQuery(ctx, req)
	if err != nil {
		// TODO: Handle error.
	}
	// TODO: Use resp.
	_ = resp
}

Java

מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Java.

כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

import com.google.cloud.discoveryengine.v1.CompleteQueryRequest;
import com.google.cloud.discoveryengine.v1.CompleteQueryResponse;
import com.google.cloud.discoveryengine.v1.CompletionServiceClient;
import com.google.cloud.discoveryengine.v1.DataStoreName;

public class SyncCompleteQuery {

  public static void main(String[] args) throws Exception {
    syncCompleteQuery();
  }

  public static void syncCompleteQuery() throws Exception {
    // This snippet has been automatically generated and should be regarded as a code template only.
    // It will require modifications to work:
    // - It may require correct/in-range values for request initialization.
    // - It may require specifying regional endpoints when creating the service client as shown in
    // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
    try (CompletionServiceClient completionServiceClient = CompletionServiceClient.create()) {
      CompleteQueryRequest request =
          CompleteQueryRequest.newBuilder()
              .setDataStore(
                  DataStoreName.ofProjectLocationDataStoreName(
                          "[PROJECT]", "[LOCATION]", "[DATA_STORE]")
                      .toString())
              .setQuery("query107944136")
              .setQueryModel("queryModel-184930495")
              .setUserPseudoId("userPseudoId-1155274652")
              .setIncludeTailSuggestions(true)
              .build();
      CompleteQueryResponse response = completionServiceClient.completeQuery(request);
    }
  }
}

Node.js

מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Node.js.

כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

/**
 * This snippet has been automatically generated and should be regarded as a code template only.
 * It will require modifications to work.
 * It may require correct/in-range values for request initialization.
 * TODO(developer): Uncomment these variables before running the sample.
 */
/**
 *  Required. The parent data store resource name for which the completion is
 *  performed, such as
 *  `projects/* /locations/global/collections/default_collection/dataStores/default_data_store`.
 */
// const dataStore = 'abc123'
/**
 *  Required. The typeahead input used to fetch suggestions. Maximum length is
 *  128 characters.
 */
// const query = 'abc123'
/**
 *  Specifies the autocomplete data model. This overrides any model specified
 *  in the Configuration > Autocomplete section of the Cloud console. Currently
 *  supported values:
 *  * `document` - Using suggestions generated from user-imported documents.
 *  * `search-history` - Using suggestions generated from the past history of
 *  SearchService.Search google.cloud.discoveryengine.v1.SearchService.Search 
 *  API calls. Do not use it when there is no traffic for Search API.
 *  * `user-event` - Using suggestions generated from user-imported search
 *  events.
 *  * `document-completable` - Using suggestions taken directly from
 *  user-imported document fields marked as completable.
 *  Default values:
 *  * `document` is the default model for regular dataStores.
 *  * `search-history` is the default model for site search dataStores.
 */
// const queryModel = 'abc123'
/**
 *  A unique identifier for tracking visitors. For example, this could be
 *  implemented with an HTTP cookie, which should be able to uniquely identify
 *  a visitor on a single device. This unique identifier should not change if
 *  the visitor logs in or out of the website.
 *  This field should NOT have a fixed value such as `unknown_visitor`.
 *  This should be the same identifier as
 *  UserEvent.user_pseudo_id google.cloud.discoveryengine.v1.UserEvent.user_pseudo_id 
 *  and
 *  SearchRequest.user_pseudo_id google.cloud.discoveryengine.v1.SearchRequest.user_pseudo_id.
 *  The field must be a UTF-8 encoded string with a length limit of 128
 *  characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
 */
// const userPseudoId = 'abc123'
/**
 *  Indicates if tail suggestions should be returned if there are no
 *  suggestions that match the full query. Even if set to true, if there are
 *  suggestions that match the full query, those are returned and no
 *  tail suggestions are returned.
 */
// const includeTailSuggestions = true

// Imports the Discoveryengine library
const {CompletionServiceClient} = require('@google-cloud/discoveryengine').v1;

// Instantiates a client
const discoveryengineClient = new CompletionServiceClient();

async function callCompleteQuery() {
  // Construct request
  const request = {
    dataStore,
    query,
  };

  // Run request
  const response = await discoveryengineClient.completeQuery(request);
  console.log(response);
}

callCompleteQuery();

Python

מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Python.

כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

# This snippet has been automatically generated and should be regarded as a
# code template only.
# It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
#   client as shown in:
#   https://googleapis.dev/python/google-api-core/latest/client_options.html
from google.cloud import discoveryengine_v1


def sample_complete_query():
    # Create a client
    client = discoveryengine_v1.CompletionServiceClient()

    # Initialize request argument(s)
    request = discoveryengine_v1.CompleteQueryRequest(
        data_store="data_store_value",
        query="query_value",
    )

    # Make the request
    response = client.complete_query(request=request)

    # Handle the response
    print(response)

Ruby

מידע נוסף מופיע בתיעוד העזר של ה-API של חיפוש מבוסס סוכנים Ruby.

כדי לבצע אימות ב-חיפוש מבוסס סוכנים, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

require "google/cloud/discovery_engine/v1"

##
# Snippet for the complete_query call in the CompletionService service
#
# This snippet has been automatically generated and should be regarded as a code
# template only. It will require modifications to work:
# - It may require correct/in-range values for request initialization.
# - It may require specifying regional endpoints when creating the service
# client as shown in https://cloud.google.com/ruby/docs/reference.
#
# This is an auto-generated example demonstrating basic usage of
# Google::Cloud::DiscoveryEngine::V1::CompletionService::Client#complete_query.
#
def complete_query
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::DiscoveryEngine::V1::CompletionService::Client.new

  # Create a request. To set request fields, pass in keyword arguments.
  request = Google::Cloud::DiscoveryEngine::V1::CompleteQueryRequest.new

  # Call the complete_query method.
  result = client.complete_query request

  # The returned object is of type Google::Cloud::DiscoveryEngine::V1::CompleteQueryResponse.
  p result
end

שימוש ברשימת חסימה של השלמה אוטומטית

אפשר להשתמש ברשימת חסימה כדי למנוע הצעות להשלמה אוטומטית של מונחים ספציפיים.

לדוגמה, חברת תרופות. אם תרופה מסוימת כבר לא מאושרת על ידי ה-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 מקומי שמכיל את רשימת החסימה, מבצעים את הפעולות הבאות:

  1. יוצרים רשימת חסימה בקובץ JSON מקומי בפורמט הבא. חשוב לוודא שכל ערך ברשימת ההיתרים מופיע בשורה חדשה בלי מעברי שורה.

    {
        "inlineSource": {
            "entries": [
                { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" },
                { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
            ]
        }
    }
  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, מבצעים את הפעולות הבאות:

  1. יוצרים את הרשימה השחורה בקובץ JSON בפורמט הבא ומייבאים אותה לקטגוריה של Cloud Storage. מוודאים שכל רשומה ברשימת ההיתרים מופיעה בשורה חדשה בלי מעברי שורה.

    { "blockPhrase":"TERM_1","matchOperator":"MATCH_OPERATOR_1" }
    { "blockPhrase":"TERM_2","matchOperator":"MATCH_OPERATOR_2" }
  2. יוצרים קובץ JSON מקומי שמכיל את האובייקט gcsSource. משתמשים בפרמטר הזה כדי להפנות למיקום של קובץ הרשימה השחורה בקטגוריה של Cloud Storage.

    {
        "gcsSource": {
            "inputUris": [ "DENYLIST_STORAGE_LOCATION" ]
        }
    }

    מחליפים את DENYLIST_STORAGE_LOCATION במיקום של הרשימה השחורה ב-Cloud Storage. אפשר להזין רק URI אחד. צריך להזין את ה-URI בפורמט הבא: gs://BUCKET/FILE_PATH.

  3. שולחים בקשת 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: המזהה של מאגר הנתונים שמשויך לאפליקציה.

אחרי שמייבאים את רשימת ההחרגות, עובר יום או יומיים עד שהמערכת מתחילה לסנן את ההצעות.

מחיקה לצמיתות של רשימת ישויות שנחסמו

כדי למחוק רשימת חסימה ממאגר הנתונים:

  1. שולחים בקשת 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, פועלים לפי השלבים הבאים:

  1. יוצרים את רשימת ההצעות וטוענים אותה לטבלה ב-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.

  2. מייבאים את הרשימה מ-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: מזהה הטבלה של רשימת ההצעות שרוצים לייבא
  3. אופציונלי: רושמים את הערך name שמוחזר ופועלים לפי ההוראות במאמר קבלת פרטים על פעולה ממושכת כדי לראות מתי פעולת הייבוא מסתיימת.

  4. אם לא הפעלתם את ההשלמה האוטומטית באפליקציה, צריך לפעול לפי השלבים שבקטע עדכון הגדרות ההשלמה האוטומטית. חשוב להגדיר את האפשרות הפעלת השלמה אוטומטית למצב מופעל.

  5. מחכים כמה ימים עד שהוספת האינדקס תסתיים וההצעות המיובאות יהיו זמינות.

שליחת בקשה להשלמה אוטומטית

כדי לשלוח בקשה להשלמה אוטומטית שמחזירה הצעה מיובאת במקום הצעה ממודל להשלמה אוטומטית:

  1. פועלים לפי ההליך לשליחת בקשה להשלמה אוטומטית למודל אחר ומגדירים את QUERY_SUGGESTIONS_MODEL לערך imported-suggestion.

מחיקת הרשימה של ההצעות להשלמה אוטומטית שיובאו

לפני שמייבאים רשימה חדשה של הצעות להשלמה אוטומטית, צריך להסיר את הרשימה הקיימת.

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

  1. שולחים בקשת 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 ולבקש להוסיף אתכם לרשימת ההיתרים.

מודל הנתונים המתקדם של מסמכים לא זמין בחיפוש בתחום הבריאות או באזורים גיאוגרפיים מרובים בארה"ב ובאיחוד האירופי.