Créer une application de recherche

Cette page explique comment créer une application de recherche.

Créer une application

Console

Pour créer une application de recherche à l'aide de la console Google Cloud, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Agent Builder.

    Agent Builder

  2. Sur la page Applications, cliquez sur Créer une application.

  3. Sur la page Créer une application, sous Rechercher votre site Web, cliquez sur Créer.

  4. Indiquez si vous souhaitez utiliser les fonctionnalités Enterprise pour cette application, puis cliquez sur le bouton bascule pour l'activer ou la désactiver.

    Vous devez activer les fonctionnalités de l'édition Enterprise pour bénéficier de fonctionnalités telles que la recherche sur un site Web et le choix d'une région pour votre application. Les fonctionnalités de l'édition Enterprise entraînent des frais supplémentaires. Pour en savoir plus, consultez la page Fonctionnalités de l'édition Enterprise.

  5. Indiquez si vous souhaitez utiliser les fonctionnalités LLM avancées pour cette application, puis activez ou désactivez l'option.

    Vous devez activer les fonctionnalités LLM avancées pour bénéficier de fonctionnalités telles que les résums de recherche ou la recherche avec questions complémentaires. Pour en savoir plus, consultez la section Fonctionnalités LLM avancées.

  6. Dans le champ Nom de votre application, saisissez le nom de votre application.

  7. Dans le champ Nom externe de votre entreprise ou organisation, saisissez le nom commun de votre entreprise ou organisation. Vous n'avez pas besoin d'inclure de suffixes tels que "Inc." ou "LLC". Ce champ permet au LLM d'identifier l'entreprise que l'application représente.

  8. Sélectionnez un emplacement pour votre application. Les fonctionnalités d'entreprise doivent être activées pour choisir un emplacement. Google vous recommande d'utiliser l'option par défaut, Monde (Global), sauf si vous avez une raison de limiter vos données à une zone géographique spécifique.

  9. Cliquez sur Continuer.

  10. Pour vous connecter à un data store, sur la page Data Stores (Datastores), sélectionnez un data store que vous avez créé précédemment ou créez-en un.

    Effectuez au moins l'une des opérations suivantes:

    • Sélectionnez un data store existant.

      Si vous n'associez qu'un seul data store, vous ne pourrez pas le supprimer ni ajouter d'autres data stores à cette application par la suite. Si vous associez plusieurs datastores, vous pouvez modifier ceux qui sont associés ultérieurement, mais cette application doit toujours avoir au moins deux datastores associés.

    • Créez un data store et y insérez des données.

      Pour ce faire, cliquez sur Créer un data store, puis suivez les étapes dans le volet Créer un data store qui s'ouvre. Sélectionnez ensuite votre nouveau data store. Pour en savoir plus, consultez Créer un entrepôt de données de recherche.

  11. Facultatif: Pour afficher la liste des entrepôts de données indisponibles, cliquez sur En savoir plus.

    Un tableau s'affiche avec la liste des data stores et la raison pour laquelle ils ne sont pas disponibles. Voici quelques raisons pour lesquelles un data store peut être indisponible:

    • Votre type de data store ne permet de se connecter qu'à une seule application, et le datastore est déjà connecté.
    • Votre data store et votre application se trouvent dans des régions différentes.
    • Votre data store et votre application sont de types différents. Par exemple, vous ne pouvez pas associer un data store de recherche Healthcare à une application de recherche de site Web.
    • Votre data store dispose d'une recherche de site Web de base, tandis que votre application de recherche de site Web nécessite un data store avec indexation avancée de site Web.
  12. Cliquez sur Créer.

REST

Avant d'utiliser la ligne de commande pour créer une application, vous devez disposer d'un magasin de données existant. Si vous ne disposez pas d'un data store, créez-en un en suivant la procédure décrite dans Créer un data store et ingérer des données pour Vertex AI Search.

Pour utiliser la méthode engines.create afin de créer une application de recherche à partir de la ligne de commande, procédez comme suit:

  1. Recherchez l'ID de votre data store. Si vous disposez déjà de l'ID de votre data store, passez à l'étape suivante.

    1. Dans la console Google Cloud, accédez à la page Agent Builder et cliquez sur Data Stores dans le menu de navigation.

      Accéder à la page "Datastores"

    2. Cliquez sur le nom de votre data store.

    3. Sur la page Données de votre data store, obtenez l'ID du data store.

  2. Créez une application de recherche et associez-la à un data store. Un data store ne peut être associé qu'à une seule application et ne peut pas être supprimé de l'application par la suite.

    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",
      "searchEngineConfig": {
         "searchTier": "SEARCH_TIER",
         "searchAddOns": ["SEARCH_ADD_ON"]
       }
    }'
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud
    • APP_ID: ID de l'application Vertex AI Search que vous souhaitez créer.
    • APP_DISPLAY_NAME: nom à afficher de l'application Vertex AI Search que vous souhaitez créer.
    • DATA_STORE_ID: ID d'un data store Vertex AI Search existant que vous souhaitez ajouter à l'application Vertex AI Search.
    • SEARCH_TIER: le niveau de recherche peut être SEARCH_TIER_STANDARD ou SEARCH_TIER_ENTERPRISE. SEARCH_TIER_ENTERPRISE est nécessaire pour accéder à des fonctionnalités telles que la recherche dans un site Web et le choix d'une région pour votre application. Les fonctionnalités de l'édition Enterprise entraînent des coûts supplémentaires. Pour en savoir plus, consultez la section Fonctionnalités de l'édition Enterprise.
    • SEARCH_ADD_ON: si vous souhaitez des fonctionnalités LLM avancées pour cette application, spécifiez SEARCH_ADD_ON_LLM. Les fonctionnalités LLM avancées incluent les résultats de recherche résumés et la recherche avec questions complémentaires.

      Si vous ne souhaitez pas utiliser les fonctionnalités LLM avancées, spécifiez SEARCH_ADD_ON_UNSPECIFIED ou supprimez le champ searchAddOns.

      Pour en savoir plus, consultez la section Fonctionnalités LLM avancées.

Python

Pour en savoir plus, consultez la documentation de référence de l'API Python de Vertex AI Agent Builder.

Pour vous authentifier auprès de Vertex AI Agent Builder, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

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

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base. Pour en savoir plus, consultez la documentation de référence du fournisseur Terraform.

Pour créer une application de recherche à l'aide de Terraform, consultez discovery_engine_search_engine.

Étape suivante