יצירת אפליקציית חיפוש

בדף הזה מוסבר איך ליצור אפליקציית חיפוש.

יצירת אפליקציה

המסוף

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

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

    אפליקציות AI

  2. בדף אפליקציות, לוחצים על יצירת אפליקציה.

  3. בדף Create app, בקטע Site search with AI mode, לוחצים על Create.

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

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

  6. בשדה Your app name, מזינים שם לאפליקציה.

  7. בשדה השם החיצוני של החברה או הארגון, מזינים את השם הנפוץ של החברה או הארגון. אין להשתמש בסיומות כמו Inc או LLC. השדה הזה עוזר ל-LLM לזהות את החברה שהאפליקציה מייצגת.

  8. בוחרים מיקום לאפליקציה. כדי לבחור מיקום, צריך להפעיל את התכונות של מהדורת Enterprise. ‫Google ממליצה להשתמש בברירת המחדל, גלובלי, אלא אם יש לכם סיבה להגביל את הנתונים למיקום גיאוגרפי מסוים.

  9. לוחצים על Continue.

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

    בוחרים אחת מהאפשרויות האלה:

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

REST

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

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

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

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

      מעבר לדף Data Stores

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

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

  2. יוצרים אפליקציית חיפוש ומקשרים אותה למאגר נתונים. אפשר לצרף מאגר נתונים רק לאפליקציה אחת, ואי אפשר להסיר אותו מהאפליקציה בהמשך.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project: PROJECT_ID" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines?engineId=APP_ID" \
    -d '{
      "displayName": "APP_DISPLAY_NAME",
      "dataStoreIds": ["DATA_STORE_ID"],
      "solutionType": "SOLUTION_TYPE_SEARCH",
      "industryVertical": "GENERIC",
      "searchEngineConfig": {
         "searchTier": "SEARCH_TIER",
         "searchAddOns": ["SEARCH_ADD_ON"]
       }
    }'
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • APP_ID: המזהה של אפליקציית חיפוש מבוסס סוכנים שרוצים ליצור.
    • APP_DISPLAY_NAME: השם המוצג של אפליקציית חיפוש מבוסס סוכנים שרוצים ליצור.
    • DATA_STORE_ID: המזהה של מאגר נתונים קיים של חיפוש סוכנים שרוצים להוסיף לאפליקציית חיפוש הסוכנים.
    • SEARCH_TIER: רמת החיפוש יכולה להיות SEARCH_TIER_STANDARD או SEARCH_TIER_ENTERPRISE. ‫SEARCH_TIER_ENTERPRISE נדרש כדי לקבל תכונות כמו חיפוש באתר ובחירת אזור לאפליקציה. השימוש בתכונות של מהדורת Enterprise כרוך בעלות נוספת. מידע נוסף זמין במאמר בנושא תכונות של מהדורת Enterprise.
    • SEARCH_ADD_ON: אם רוצים לקבל תשובות גנרטיביות עם תכונות מתקדמות של מודל שפה גדול (LLM) באפליקציה הזו, צריך לציין SEARCH_ADD_ON_LLM. תשובות גנרטיביות כוללות סיכומים של חיפושים וחיפוש עם שאלות המשך.

      אם לא רוצים תשובות גנרטיביות, צריך לציין את SEARCH_ADD_ON_UNSPECIFIED כתוסף החיפוש או להסיר את השדה searchAddOns.

      מידע נוסף זמין במאמר בנושא תשובות גנרטיביות.

Python

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

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

from typing import List

from google.api_core.client_options import ClientOptions
from google.cloud import discoveryengine_v1 as discoveryengine

# TODO(developer): Uncomment these variables before running the sample.
# project_id = "YOUR_PROJECT_ID"
# location = "YOUR_LOCATION" # Values: "global"
# engine_id = "YOUR_ENGINE_ID"
# data_store_ids = ["YOUR_DATA_STORE_ID"]


def create_engine_sample(
    project_id: str, location: str, engine_id: str, data_store_ids: List[str]
) -> str:
    #  For more information, refer to:
    # https://cloud.google.com/generative-ai-app-builder/docs/locations#specify_a_multi-region_for_your_data_store
    client_options = (
        ClientOptions(api_endpoint=f"{location}-discoveryengine.googleapis.com")
        if location != "global"
        else None
    )

    # Create a client
    client = discoveryengine.EngineServiceClient(client_options=client_options)

    # The full resource name of the collection
    # e.g. projects/{project}/locations/{location}/collections/default_collection
    parent = client.collection_path(
        project=project_id,
        location=location,
        collection="default_collection",
    )

    engine = discoveryengine.Engine(
        display_name="Test Engine",
        # Options: GENERIC, MEDIA, HEALTHCARE_FHIR
        industry_vertical=discoveryengine.IndustryVertical.GENERIC,
        # Options: SOLUTION_TYPE_RECOMMENDATION, SOLUTION_TYPE_SEARCH, SOLUTION_TYPE_CHAT, SOLUTION_TYPE_GENERATIVE_CHAT
        solution_type=discoveryengine.SolutionType.SOLUTION_TYPE_SEARCH,
        # For search apps only
        search_engine_config=discoveryengine.Engine.SearchEngineConfig(
            # Options: SEARCH_TIER_STANDARD, SEARCH_TIER_ENTERPRISE
            search_tier=discoveryengine.SearchTier.SEARCH_TIER_ENTERPRISE,
            # Options: SEARCH_ADD_ON_LLM, SEARCH_ADD_ON_UNSPECIFIED
            search_add_ons=[discoveryengine.SearchAddOn.SEARCH_ADD_ON_LLM],
        ),
        # For generic recommendation apps only
        # similar_documents_config=discoveryengine.Engine.SimilarDocumentsEngineConfig,
        data_store_ids=data_store_ids,
    )

    request = discoveryengine.CreateEngineRequest(
        parent=parent,
        engine=engine,
        engine_id=engine_id,
    )

    # Make the request
    operation = client.create_engine(request=request)

    print(f"Waiting for operation to complete: {operation.operation.name}")
    response = operation.result()

    # After the operation is complete,
    # get information from operation metadata
    metadata = discoveryengine.CreateEngineMetadata(operation.metadata)

    # Handle the response
    print(response)
    print(metadata)

    return operation.operation.name

Terraform

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

כדי ליצור אפליקציית חיפוש באמצעות Terraform, אפשר לעיין במאמר discovery_engine_search_engine.

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