עיגון באמצעות חיפוש מבוסס סוכנים

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

עיגון Gemini לנתונים שלכם

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

הפרמטר Grounding to your data תומך בעד 10 מקורות נתונים של חיפוש מבוסס סוכנים, ואפשר לשלב אותו עם Grounding with Google Search.

מודלים נתמכים

בקטע הזה מפורטים המודלים שתומכים בהתבססות על הנתונים שלכם.

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

דרישות מוקדמות

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

  1. נכנסים לדף IAM במסוף Google Cloud ומחפשים את ההרשאה discoveryengine.servingConfigs.search שנדרשת כדי ששירות ההארקה יפעל.

    כניסה לדף IAM

    כדי לקבל את ההרשאות שדרושות לשימוש בהארקה עם Agent Search, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

    • כדי לקרוא את כל המשאבים של Discovery Engine: ‏ Discovery Engine Viewer‏ (roles/discoveryengine.viewer).

    • כדי לקרוא ולכתוב את כל המשאבים של Discovery Engine וליצור מופע של חיפוש מבוסס סוכנים: Discovery Engine Editor (roles/discoveryengine.editor).

    מידע נוסף על IAM זמין במאמר תפקידים והרשאות ב-IAM.

  2. מפעילים את האפשרות 'אפליקציות AI' ומפעילים את ה-API.

  3. יוצרים מקור נתונים של אפליקציות AI ואפליקציה.

    מידע נוסף זמין במאמר מבוא לחיפוש סוכנים.

הפעלת אפליקציות מבוססות-AI

כדי להשתמש בחיפוש באמצעות סוכן כדי לבסס את התשובות, צריך להפעיל את השירות 'חיפוש באמצעות סוכן' באופן הבא:

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

    מעבר אל 'אפליקציות AI'

  2. אופציונלי: קוראים את התנאים לשימוש בנתונים.

‫AI Applications זמין במיקום global או במספר אזורים eu ו-us. מידע נוסף זמין במאמר מיקומים של אפליקציות AI.

יצירת מאגר נתונים ב-AI Applications

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

אתר

  1. פותחים את הדף Create Data Store במסוף Google Cloud .

  2. בתיבה Website Content (תוכן אתר), לוחצים על Select (בחירה).
    מוצג החלונית Specify the websites for your data store (ציון האתרים של מאגר הנתונים).

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

  4. בקטע Specify URL patterns to index (ציון תבניות של כתובות URL לאינדקס), מבצעים את הפעולות הבאות:

    • מוסיפים כתובות URL לאתרים להכללה.
    • אופציונלי: מוסיפים כתובות URL לאתרים להחרגה.
  5. לוחצים על Continue.

  6. בחלונית Configure your data store (הגדרת מאגר הנתונים),

    1. בוחרים ערך מהרשימה מיקום מאגר הנתונים.
    2. מזינים שם בשדה שם מאגר הנתונים. המזהה נוצר. משתמשים במזהה הזה כשיוצרים תשובות מבוססות-קרקע עם מאגר הנתונים. מידע נוסף זמין במאמר בנושא יצירת תשובות מבוססות על מאגר הנתונים.
    3. לוחצים על יצירה.

מסמכים

  1. פותחים את הדף Create Data Store במסוף Google Cloud .

  2. בתיבה Cloud Storage, לוחצים על Select (בחירה).
    מוצג החלונית Import data from Cloud Storage (ייבוא נתונים מ-Cloud Storage).

  3. בקטע מסמכים לא מובנים (PDF, ‏ HTML, ‏ TXT ועוד), בוחרים באפשרות מסמכים לא מובנים (PDF, ‏ HTML, ‏ TXT ועוד).

  4. בוחרים באפשרות תדירות הסנכרון.

  5. בוחרים באפשרות בחירת תיקייה או קובץ לייבוא ומזינים את הנתיב בשדה.

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

  7. בחלונית Configure your data store (הגדרת מאגר הנתונים),

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

יצירת תשובות מעוגנות באמצעות מאגר הנתונים

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

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

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

    כניסה לדף Data stores

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

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

המסוף

כדי להצמיד את הפלט של המודל ל-AI Applications באמצעות Agent Studio בGoogle Cloud מסוף, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Agent Studio במסוף Google Cloud .

    מעבר אל Agent Studio

  2. כדי להפעיל את ההארקה, פועלים לפי השלבים הבאים:
    1. בחלונית הצדדית, בקטע Model settings, בוחרים את המודל.
    2. עוברים לקטע Grounding ומפעילים את המתג Your data. מופיעה חלונית ההגדרות.
      1. בוחרים אפשרות למקור מידע מהטבלה הבאה:
      2. אפשרות ההארקה תיאור קלט
        RAG Engine הנימוקים מבוססים על הנתונים שלכם ועל רכיבים שאתם יוצרים בעצמכם. אם אין לכם מאגר, אתם צריכים ליצור אחד. אחרת, מזינים את הקורפוס.
        חיפוש מבוסס סוכנים התשובות מבוססות על הנתונים שלכם באמצעות מנוע חיפוש שמנוהל על ידי Google. מזינים את הנתיב בשדה Gemini Enterprise Agent Platform datastore path (נתיב מאגר הנתונים של Gemini Enterprise Agent Platform).
        Elasticsearch ‫Grounds באמצעות Elasticsearch. מזינים את הפרטים הבאים:
        1. מזינים ערך בשדה Elasticsearch endpoint.
        2. מזינים ערך בשדה Elasticsearch API Key (מפתח API של Elasticsearch).
        3. מזינים ערך בשדה Elasticsearch index (אינדקס Elasticsearch).
        4. מזינים ערך בשדה Elasticsearch search template (תבנית חיפוש של Elasticsearch).
      3. לוחצים על Save.
  3. מזינים את ההנחיה בתיבת הטקסט ולוחצים על שליחה. התשובות להנחיות מבוססות על יישומי AI.

Python

התקנה

pip install --upgrade google-genai

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    VertexAISearch,
    Retrieval,
    Tool,
    HttpOptions,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Replace with your Agent Search data store details
DATASTORE_PATH = "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID"

tool = Tool(
    retrieval=Retrieval(
        vertex_ai_search=VertexAISearch(
            datastore=DATASTORE_PATH
        )
    )
)

response = client.models.generate_content(
    model="gemini-2.5-flash",  # Or another supported model
    contents="What information can you find about topic X in the provided documents?", # Your query
    config=GenerateContentConfig(
        tools=[tool],
    ),
)

print(response.text)

REST

כדי לבדוק פרומפט טקסטואלי באמצעות Agent Platform API, שולחים בקשת POST לנקודת הקצה של מודל המפרסם.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫LOCATION: האזור שבו הבקשה תעובד. כדי להשתמש בנקודת הקצה global, צריך להחריג את המיקום משם נקודת הקצה ולהגדיר את המיקום של המשאב ל-global.
  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫MODEL_ID: מזהה המודל של המודל הרב-אופני.
  • ‫PROMPT: ההנחיה לשליחה למודל.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

תוכן בקשת JSON:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "PROMPT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}

הסבר על התשובה

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

הנה פירוט של נתוני הפלט:

  • תפקיד: מציין את השולח של התשובה שמבוססת על מקורות. מכיוון שהתשובה תמיד מכילה טקסט מעוגן, התפקיד הוא תמיד model.
  • טקסט: התשובה שמבוססת על מקורות שנוצרה על ידי מודל שפה גדול (LLM).
  • מטא-נתונים של ביסוס: מידע על מקור הביסוס, שכולל את הרכיבים הבאים:
    • Grounding chunks: רשימת תוצאות מהאינדקס שתומכות בתשובה.
    • תמיכה בעיגון: מידע על טענה ספציפית בתשובה שאפשר להשתמש בו כדי להציג ציטוטים:
    • קטע: החלק בתשובה של המודל שמגובה על ידי נתח של נתוני האמת.
    • Grounding chunk index: The index of the grounding chunks in the grounding chunks list that corresponds to this claim.
    • ציוני מובהקות: מספר בין 0 ל-1 שמציין עד כמה הטענה מבוססת על קבוצת נתוני ההארקה שסופקה. לא זמין ב-Gemini 2.5 ואילך.

המאמרים הבאים