Obtener recomendaciones

En esta página se muestra cómo previsualizar recomendaciones con la consola Google Cloud y cómo obtener resultados de recomendaciones con la API. Consulta la pestaña REST para ver ejemplos de llamadas a la API que pueden ayudarte a integrar recomendaciones en tu aplicación.

El procedimiento que debes seguir depende de si tienes datos multimedia o datos personalizados:

Obtener recomendaciones de contenido multimedia

Consola

Para usar la consola de Google Cloud y previsualizar las recomendaciones de contenido multimedia, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

    Aplicaciones de IA

  2. Haga clic en el nombre de la aplicación de la que quiera previsualizar las recomendaciones.

  3. Haz clic en Configuraciones > Entrenamiento. Si el valor de Listo para consultas es "Sí", la aplicación está lista para la vista previa.

  4. Haz clic en Vista previa.

  5. Haz clic en el campo ID del documento. Aparecerá una lista de IDs de documentos.

  6. Haga clic en el ID del documento del que quiera recibir recomendaciones. También puede introducir un ID de documento en el campo ID de documento.

  7. Haga clic en Seleccionar configuración de publicación y elija la configuración de publicación que quiera previsualizar.

  8. Opcional: Introduzca el ID de visitante (también llamado ID de usuario seudonimizado) de un usuario del que haya recogido eventos de usuario. Si deja este campo en blanco o introduce un ID de visitante que no existe, verá una vista previa de las recomendaciones como si fuera un usuario nuevo.

  9. Haz clic en Obtener recomendaciones. Aparecerá una lista de documentos recomendados.

  10. Haz clic en un documento para ver sus detalles.

REST

Para usar la API y obtener recomendaciones de contenido multimedia, usa el método servingConfigs.recommend:

  1. Busca el ID del motor y el ID de la configuración de servicio. Si ya tienes tu ID de motor y tus IDs de configuración de servicio, ve al paso 2.

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

      Aplicaciones de IA

    2. Haz clic en el nombre de la aplicación.

    3. En el panel de navegación, haz clic en Configuraciones.

    4. Si solo tiene una configuración de publicación, obtenga el ID de configuración de publicación que se muestra en la pestaña Publicación.

      Si tiene varias configuraciones de servicio en la pestaña Servicio, busque la configuración de servicio de la que quiera obtener recomendaciones. El ID de la configuración de publicación es el valor de la columna ID.

    5. Haz clic en la pestaña Entrenamiento. El ID de su buscador es el valor de la fila ID de aplicación.

  2. Asegúrate de que la aplicación esté lista para la vista previa:

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

      Aplicaciones de IA

    2. Haz clic en el nombre de la aplicación.

    3. Haz clic en Configuraciones > Entrenamiento. Si el valor de Listo para consultas es "Sí", la aplicación está lista para la vista previa.

  3. Recibe recomendaciones.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d  '{
            "validateOnly": false,
            "userEvent": {
                "eventType": "view-item",
                "userPseudoId": "USER_PSEUDO_ID",
                "documents": [{
                  "id": "DOCUMENT_ID"
                }],
            "filter": "FILTER_STRING"            }
        }' \
      "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/SERVING_CONFIG_ID:recommend"

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID de tu almacén de datos.
    • DOCUMENT_ID: el ID del documento del que quieres ver las recomendaciones. Utilice el ID que usó para este documento cuando ingirió los datos.
    • USER_PSEUDO_ID: una cadena codificada en UTF-8 que actúa como identificador seudonimizado único que monitoriza a los usuarios. Puede tener una longitud máxima de 128 caracteres. Google recomienda encarecidamente usar este campo porque mejora el rendimiento del modelo y la calidad de la personalización. Puede usar una cookie HTTP para este campo, que identifica de forma única a un visitante en un solo dispositivo. Estas son algunas consideraciones importantes:

      • Este identificador no cambia cuando el visitante inicia o cierra sesión en un sitio web.
      • Este campo no debe tener el mismo identificador para varios usuarios. De lo contrario, el mismo ID de usuario puede combinar los historiales de eventos de diferentes usuarios y reducir la calidad del modelo.
      • Este campo no debe incluir información personal identificable (IPI).

      Para obtener más información, consulta userPseudoId.

    • SERVING_CONFIG_ID: el ID de tu configuración de servicio.
    • FILTER: opcional. Campo de texto que le permite filtrar por un conjunto de campos especificado mediante la sintaxis de expresiones de filtro. El valor predeterminado es una cadena vacía, lo que significa que no se aplica ningún filtro. Para obtener más información, consulta Filtrar recomendaciones.

Deberías ver resultados similares a los siguientes:

{
  "results": [{"id": "sample-id-1"}, {"id": "sample-id-2"}],
  "attributionToken": "abc123"
}

Google recomienda asociar tokens de atribución, que incluimos en cada respuesta de búsqueda y recomendación, con las acciones que realiza un usuario en respuesta a esas respuestas de búsqueda y recomendaciones. De esta forma, se puede mejorar la calidad de tus respuestas y recomendaciones de búsqueda con el tiempo. Para ello, añade valores de attributionToken a las URLs de cada uno de los enlaces que muestres en tu sitio web para las respuestas o recomendaciones de búsqueda. Por ejemplo, https://www.example.com/54321/?rtoken=abc123. Cuando un usuario haga clic en uno de estos enlaces, incluya el valor attributionToken en el evento de usuario que registre.

Recibir recomendaciones para una aplicación con datos estructurados personalizados

Consola

Para usar la consola de Google Cloud para previsualizar recomendaciones personalizadas para tu aplicación estructurada, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

    Aplicaciones de IA

  2. Haga clic en el nombre de la aplicación de la que quiera previsualizar las recomendaciones.

  3. Haz clic en Vista previa.

  4. Haz clic en el campo ID del documento. Aparecerá una lista de IDs de documentos.

  5. Haga clic en el ID del documento del que quiera recibir recomendaciones. También puede introducir un ID de documento en el campo ID de documento.

  6. Haz clic en Obtener recomendaciones. Aparecerá una lista de documentos recomendados.

  7. Haz clic en un documento para ver sus detalles.

REST

Para usar la API y obtener recomendaciones personalizadas para una aplicación con datos estructurados, usa el método servingConfigs.recommend:

  1. Busca el ID de tu motor. Si ya tienes el ID del motor, ve al paso 2.

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA.

      Aplicaciones de IA

    2. Haz clic en el nombre de la aplicación.

    3. Obtén el ID del motor de la URL de la Google Cloud consola. Es el texto entre engines/ y /data. Por ejemplo, si la URL contiene

      gen-app-builder/engines/demo_1234567890123/data/records
      

      El ID del buscador es demo_1234567890123.

  2. Busca el ID de tu almacén de datos. Si ya tiene el ID del almacén de datos, vaya al siguiente paso.

    1. En la Google Cloud consola, ve a la página Aplicaciones de IA y, en el menú de navegación, haz clic en Almacenes de datos.

      Ir a la página Almacenes de datos

    2. Haga clic en el nombre del almacén de datos.

    3. En la página Datos de su almacén de datos, obtenga el ID del almacén de datos.

  3. Para asegurarte de que tu motor está listo para la vista previa, sondea el método GetEngine hasta que devuelva "servingState":"ACTIVE". En ese momento, el motor estará listo para previsualizarse.

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/ENGINE_ID
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • ENGINE_ID: el ID de tu buscador.
  4. Recibe recomendaciones.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "userEvent": { "eventType":"view-item", "userPseudoId":"USER_PSEUDO_ID", "documents":[{"id":"DOCUMENT_ID"}]}}' \
      "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/servingConfigs/SERVING_CONFIG_ID:recommend"
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID de tu almacén de datos.
    • DOCUMENT_ID: el ID del documento del que quieres ver las recomendaciones. Utilice el ID que usó para este documento cuando ingirió los datos.
    • USER_PSEUDO_ID: una cadena codificada en UTF-8 que actúa como identificador seudonimizado único que monitoriza a los usuarios. Puede tener una longitud máxima de 128 caracteres. Google recomienda encarecidamente usar este campo porque mejora el rendimiento del modelo y la calidad de la personalización. Puede usar una cookie HTTP para este campo, que identifica de forma única a un visitante en un solo dispositivo. Estas son algunas consideraciones importantes:

      • Este identificador no cambia cuando el visitante inicia o cierra sesión en un sitio web.
      • Este campo no debe tener el mismo identificador para varios usuarios. De lo contrario, el mismo ID de usuario puede combinar los historiales de eventos de diferentes usuarios y reducir la calidad del modelo.
      • Este campo no debe incluir información personal identificable (IPI).

      Para obtener más información, consulta userPseudoId.

    • SERVING_CONFIG_ID: el ID de tu configuración de servicio. El ID de configuración de publicación es el mismo que el ID de tu motor, así que úsalo aquí.

C#

Para obtener más información, consulta la documentación de referencia de la API AI Applications C#.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

using Google.Cloud.DiscoveryEngine.V1Beta;
using Google.Protobuf.WellKnownTypes;

public sealed partial class GeneratedRecommendationServiceClientSnippets
{
    /// <summary>Snippet for Recommend</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 RecommendRequestObject()
    {
        // Create client
        RecommendationServiceClient recommendationServiceClient = RecommendationServiceClient.Create();
        // Initialize request argument(s)
        RecommendRequest request = new RecommendRequest
        {
            ServingConfigAsServingConfigName = ServingConfigName.FromProjectLocationDataStoreServingConfig("[PROJECT]", "[LOCATION]", "[DATA_STORE]", "[SERVING_CONFIG]"),
            UserEvent = new UserEvent(),
            PageSize = 0,
            Filter = "",
            ValidateOnly = false,
            Params = { { "", new Value() }, },
            UserLabels = { { "", "" }, },
        };
        // Make the request
        RecommendResponse response = recommendationServiceClient.Recommend(request);
    }
}

Go

Para obtener más información, consulta la documentación de referencia de la API AI Applications Go.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.


package main

import (
	"context"

	discoveryengine "cloud.google.com/go/discoveryengine/apiv1beta"
	discoveryenginepb "cloud.google.com/go/discoveryengine/apiv1beta/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.NewRecommendationClient(ctx)
	if err != nil {
		// TODO: Handle error.
	}
	defer c.Close()

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

Java

Para obtener más información, consulta la documentación de referencia de la API AI Applications Java.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

import com.google.cloud.discoveryengine.v1beta.RecommendRequest;
import com.google.cloud.discoveryengine.v1beta.RecommendResponse;
import com.google.cloud.discoveryengine.v1beta.RecommendationServiceClient;
import com.google.cloud.discoveryengine.v1beta.ServingConfigName;
import com.google.cloud.discoveryengine.v1beta.UserEvent;
import com.google.protobuf.Value;
import java.util.HashMap;

public class SyncRecommend {

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

  public static void syncRecommend() 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 (RecommendationServiceClient recommendationServiceClient =
        RecommendationServiceClient.create()) {
      RecommendRequest request =
          RecommendRequest.newBuilder()
              .setServingConfig(
                  ServingConfigName.ofProjectLocationDataStoreServingConfigName(
                          "[PROJECT]", "[LOCATION]", "[DATA_STORE]", "[SERVING_CONFIG]")
                      .toString())
              .setUserEvent(UserEvent.newBuilder().build())
              .setPageSize(883849137)
              .setFilter("filter-1274492040")
              .setValidateOnly(true)
              .putAllParams(new HashMap<String, Value>())
              .putAllUserLabels(new HashMap<String, String>())
              .build();
      RecommendResponse response = recommendationServiceClient.recommend(request);
    }
  }
}

Node.js

Para obtener más información, consulta la documentación de referencia de la API AI Applications Node.js.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

/**
 * 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. Full resource name of a
 *  ServingConfig google.cloud.discoveryengine.v1beta.ServingConfig:
 *  `projects/* /locations/global/collections/* /engines/* /servingConfigs/*`, or
 *  `projects/* /locations/global/collections/* /dataStores/* /servingConfigs/*`
 *  One default serving config is created along with your recommendation engine
 *  creation. The engine ID is used as the ID of the default serving
 *  config. For example, for Engine
 *  `projects/* /locations/global/collections/* /engines/my-engine`, you can use
 *  `projects/* /locations/global/collections/* /engines/my-engine/servingConfigs/my-engine`
 *  for your
 *  RecommendationService.Recommend google.cloud.discoveryengine.v1beta.RecommendationService.Recommend 
 *  requests.
 */
// const servingConfig = 'abc123'
/**
 *  Required. Context about the user, what they are looking at and what action
 *  they took to trigger the Recommend request. Note that this user event
 *  detail won't be ingested to userEvent logs. Thus, a separate userEvent
 *  write request is required for event logging.
 *  Don't set
 *  UserEvent.user_pseudo_id google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id 
 *  or
 *  UserEvent.user_info.user_id google.cloud.discoveryengine.v1beta.UserInfo.user_id 
 *  to the same fixed ID for different users. If you are trying to receive
 *  non-personalized recommendations (not recommended; this can negatively
 *  impact model performance), instead set
 *  UserEvent.user_pseudo_id google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id 
 *  to a random unique ID and leave
 *  UserEvent.user_info.user_id google.cloud.discoveryengine.v1beta.UserInfo.user_id 
 *  unset.
 */
// const userEvent = {}
/**
 *  Maximum number of results to return. Set this property
 *  to the number of recommendation results needed. If zero, the service
 *  chooses a reasonable default. The maximum allowed value is 100. Values
 *  above 100 are set to 100.
 */
// const pageSize = 1234
/**
 *  Filter for restricting recommendation results with a length limit of 5,000
 *  characters. Currently, only filter expressions on the `filter_tags`
 *  attribute is supported.
 *  Examples:
 *   * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))`
 *   * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))`
 *  If `attributeFilteringSyntax` is set to true under the `params` field, then
 *  attribute-based expressions are expected instead of the above described
 *  tag-based syntax. Examples:
 *   * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie"))
 *   * (available: true) AND
 *     (launguage: ANY("en", "es")) OR (categories: ANY("Movie"))
 *  If your filter blocks all results, the API returns generic
 *  (unfiltered) popular Documents. If you only want results strictly matching
 *  the filters, set `strictFiltering` to `true` in
 *  RecommendRequest.params google.cloud.discoveryengine.v1beta.RecommendRequest.params 
 *  to receive empty results instead.
 *  Note that the API never returns
 *  Document google.cloud.discoveryengine.v1beta.Document s with
 *  `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.
 */
// const filter = 'abc123'
/**
 *  Use validate only mode for this recommendation query. If set to `true`, a
 *  fake model is used that returns arbitrary Document IDs.
 *  Note that the validate only mode should only be used for testing the API,
 *  or if the model is not ready.
 */
// const validateOnly = true
/**
 *  Additional domain specific parameters for the recommendations.
 *  Allowed values:
 *  * `returnDocument`: Boolean. If set to `true`, the associated Document
 *     object is returned in
 *     RecommendResponse.RecommendationResult.document google.cloud.discoveryengine.v1beta.RecommendResponse.RecommendationResult.document.
 *  * `returnScore`: Boolean. If set to true, the recommendation score
 *     corresponding to each returned Document is set in
 *     RecommendResponse.RecommendationResult.metadata google.cloud.discoveryengine.v1beta.RecommendResponse.RecommendationResult.metadata.
 *     The given score indicates the probability of a Document conversion given
 *     the user's context and history.
 *  * `strictFiltering`: Boolean. True by default. If set to `false`, the
 *  service
 *     returns generic (unfiltered) popular Documents instead of empty if
 *     your filter blocks all recommendation results.
 *  * `diversityLevel`: String. Default empty. If set to be non-empty, then
 *     it needs to be one of:
 *      *  `no-diversity`
 *      *  `low-diversity`
 *      *  `medium-diversity`
 *      *  `high-diversity`
 *      *  `auto-diversity`
 *     This gives request-level control and adjusts recommendation results
 *     based on Document category.
 *  * `attributeFilteringSyntax`: Boolean. False by default. If set to true,
 *     the `filter` field is interpreted according to the new,
 *     attribute-based syntax.
 */
// const params = [1,2,3,4]
/**
 *  The user labels applied to a resource must meet the following requirements:
 *  * Each resource can have multiple labels, up to a maximum of 64.
 *  * Each label must be a key-value pair.
 *  * Keys have a minimum length of 1 character and a maximum length of 63
 *    characters and cannot be empty. Values can be empty and have a maximum
 *    length of 63 characters.
 *  * Keys and values can contain only lowercase letters, numeric characters,
 *    underscores, and dashes. All characters must use UTF-8 encoding, and
 *    international characters are allowed.
 *  * The key portion of a label must be unique. However, you can use the same
 *    key with multiple resources.
 *  * Keys must start with a lowercase letter or international character.
 *  See Requirements for
 *  labels (https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
 *  for more details.
 */
// const userLabels = [1,2,3,4]

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

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

async function callRecommend() {
  // Construct request
  const request = {
    servingConfig,
    userEvent,
  };

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

callRecommend();

PHP

Para obtener más información, consulta la documentación de referencia de la API AI Applications PHP.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

use Google\ApiCore\ApiException;
use Google\Cloud\DiscoveryEngine\V1beta\Client\RecommendationServiceClient;
use Google\Cloud\DiscoveryEngine\V1beta\RecommendRequest;
use Google\Cloud\DiscoveryEngine\V1beta\RecommendResponse;
use Google\Cloud\DiscoveryEngine\V1beta\UserEvent;

/**
 * Makes a recommendation, which requires a contextual user event.
 *
 * @param string $formattedServingConfig Full resource name of a
 *                                       [ServingConfig][google.cloud.discoveryengine.v1beta.ServingConfig]:
 *                                       `projects/&#42;/locations/global/collections/&#42;/engines/&#42;/servingConfigs/*`, or
 *                                       `projects/&#42;/locations/global/collections/&#42;/dataStores/&#42;/servingConfigs/*`
 *
 *                                       One default serving config is created along with your recommendation engine
 *                                       creation. The engine ID is used as the ID of the default serving
 *                                       config. For example, for Engine
 *                                       `projects/&#42;/locations/global/collections/&#42;/engines/my-engine`, you can use
 *                                       `projects/&#42;/locations/global/collections/&#42;/engines/my-engine/servingConfigs/my-engine`
 *                                       for your
 *                                       [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]
 *                                       requests. Please see
 *                                       {@see RecommendationServiceClient::servingConfigName()} for help formatting this field.
 * @param string $userEventEventType     User event type. Allowed values are:
 *
 *                                       Generic values:
 *
 *                                       * `search`: Search for Documents.
 *                                       * `view-item`: Detailed page view of a Document.
 *                                       * `view-item-list`: View of a panel or ordered list of Documents.
 *                                       * `view-home-page`: View of the home page.
 *                                       * `view-category-page`: View of a category page, e.g. Home > Men > Jeans
 *
 *                                       Retail-related values:
 *
 *                                       * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping
 *                                       * `purchase`: Purchase an item(s)
 *
 *                                       Media-related values:
 *
 *                                       * `media-play`: Start/resume watching a video, playing a song, etc.
 *                                       * `media-complete`: Finished or stopped midway through a video, song, etc.
 * @param string $userEventUserPseudoId  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 log in/out of the website.
 *
 *                                       Do not set the field to the same fixed ID for different users. This mixes
 *                                       the event history of those users together, which results in degraded model
 *                                       quality.
 *
 *                                       The field must be a UTF-8 encoded string with a length limit of 128
 *                                       characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
 *
 *                                       The field should not contain PII or user-data. We recommend to use Google
 *                                       Analytics [Client
 *                                       ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
 *                                       for this field.
 */
function recommend_sample(
    string $formattedServingConfig,
    string $userEventEventType,
    string $userEventUserPseudoId
): void {
    // Create a client.
    $recommendationServiceClient = new RecommendationServiceClient();

    // Prepare the request message.
    $userEvent = (new UserEvent())
        ->setEventType($userEventEventType)
        ->setUserPseudoId($userEventUserPseudoId);
    $request = (new RecommendRequest())
        ->setServingConfig($formattedServingConfig)
        ->setUserEvent($userEvent);

    // Call the API and handle any network failures.
    try {
        /** @var RecommendResponse $response */
        $response = $recommendationServiceClient->recommend($request);
        printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
    } catch (ApiException $ex) {
        printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
    }
}

/**
 * Helper to execute the sample.
 *
 * This sample 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,
 *    please see the apiEndpoint client configuration option for more details.
 */
function callSample(): void
{
    $formattedServingConfig = RecommendationServiceClient::servingConfigName(
        '[PROJECT]',
        '[LOCATION]',
        '[DATA_STORE]',
        '[SERVING_CONFIG]'
    );
    $userEventEventType = '[EVENT_TYPE]';
    $userEventUserPseudoId = '[USER_PSEUDO_ID]';

    recommend_sample($formattedServingConfig, $userEventEventType, $userEventUserPseudoId);
}

Python

Para obtener más información, consulta la documentación de referencia de la API AI Applications Python.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

# 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_v1beta


def sample_recommend():
    # Create a client
    client = discoveryengine_v1beta.RecommendationServiceClient()

    # Initialize request argument(s)
    user_event = discoveryengine_v1beta.UserEvent()
    user_event.event_type = "event_type_value"
    user_event.user_pseudo_id = "user_pseudo_id_value"

    request = discoveryengine_v1beta.RecommendRequest(
        serving_config="serving_config_value",
        user_event=user_event,
    )

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

    # Handle the response
    print(response)

Ruby

Para obtener más información, consulta la documentación de referencia de la API AI Applications Ruby.

Para autenticarte en las aplicaciones de IA, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

require "google/cloud/discovery_engine/v1beta"

##
# Snippet for the recommend call in the RecommendationService 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::V1beta::RecommendationService::Client#recommend.
#
def recommend
  # Create a client object. The client can be reused for multiple calls.
  client = Google::Cloud::DiscoveryEngine::V1beta::RecommendationService::Client.new

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

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

  # The returned object is of type Google::Cloud::DiscoveryEngine::V1beta::RecommendResponse.
  p result
end