Configuration du plugin - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration du plugin

Après avoir installé le plugin Amazon Personalize Search Ranking, vous êtes prêt à le configurer en créant un pipeline OpenSearch de recherche.

Un pipeline de recherche est un ensemble de processeurs de requêtes et de réponses qui s'exécutent de manière séquentielle dans l'ordre dans lequel vous les avez créés. Lorsque vous créez un pipeline de recherche pour le plugin, vous spécifiez un processeur de personalized_search_ranking réponse. Pour plus d'informations sur les pipelines de recherche, consultez la section Pipelines de recherche.

Champs pour le processeur personalized_search_ranking de réponse

Pour le processeur de personalized_search_ranking réponse, vous devez spécifier les champs suivants :

  • campaign_arn (obligatoire) — Spécifiez le nom de ressource Amazon (ARN) de la campagne Amazon Personalize à utiliser pour personnaliser les résultats.

  • item_id_field (facultatif) — Si le _id champ d'un document indexé dans OpenSearch ne correspond pas à vos Amazon Personalize ItemID, spécifiez le nom du champ correspondant. Par défaut, le plugin part du principe que les _id données correspondent à l'itemID de vos données Amazon Personalize.

  • recette (obligatoire) — Spécifiez le nom de la recette Amazon Personalize à utiliser. Vous pouvez uniquement spécifieraws-personalized-ranking.

  • poids (obligatoire) — Spécifiez l'accent que le processeur de réponse met sur la personnalisation lorsqu'il reclasse les résultats. Spécifiez une valeur comprise entre 0 et 1,0. Plus 1.0 on s'en rapproche, plus il est probable que les résultats d'Amazon Personalize soient mieux classés. Si vous le spécifiez0.0, aucune personnalisation n'est effectuée et OpenSearch est prioritaire.

  • tag (facultatif) — Spécifiez un identifiant pour le processeur.

  • iam_role_arn (obligatoire pour le OpenSearch service, facultatif pour l'open source OpenSearch) : pour le service OpenSearch , indiquez le nom de ressource Amazon (ARN) pour le rôle que vous avez créé lors de la configuration des autorisations permettant à Service d' OpenSearch accéder à vos ressources Amazon Personalize. Si vos ressources OpenSearch Service et Amazon Personalize existent sur des comptes différents, spécifiez le rôle qui accorde AssumeRole les autorisations pour le OpenSearch Service. Pour plus d’informations, consultez Configuration des autorisations lorsque les ressources se trouvent dans des comptes différents.

    Pour l'open source OpenSearch, si vous utilisez plusieurs rôles pour restreindre les autorisations accordées à différents groupes d'utilisateurs de votre organisation, spécifiez l'ARN du rôle autorisé à accéder à Amazon Personalize. Si vous utilisez uniquement les AWS informations d'identification de votre OpenSearch keystore, vous pouvez omettre ce champ.

  • aws_region (obligatoire) : AWS région dans laquelle vous avez créé votre campagne Amazon Personalize.

  • ignore_failure (facultatif) — Spécifiez si le plugin ignore les défaillances du processeur. Pour les valeurs, spécifiez true oufalse. Pour vos environnements de production, nous vous recommandons de spécifier true afin d'éviter toute interruption des réponses aux requêtes. Pour les environnements de test, vous pouvez false spécifier d'afficher les erreurs générées par le plugin.

  • external_account_iam_role_arn — Si vous utilisez Service et que vos ressources Amazon Personalize OpenSearch et Service existent sur des comptes différents, spécifiez l'ARN du rôle autorisé à accéder à vos OpenSearch ressources Amazon Personalize. Ce rôle doit exister dans le même compte que vos ressources Amazon Personalize. Pour plus d’informations, consultez Configuration des autorisations lorsque les ressources se trouvent dans des comptes différents.

Création d'un pipeline avec Amazon OpenSearch Service

Vous pouvez utiliser le code Python suivant pour créer un pipeline de recherche avec un processeur de personalized_search_ranking réponse sur un domaine OpenSearch de service. Remplacez par domain endpoint l'URL du point de terminaison de votre domaine. Par exemple : https://<domain name>.<AWS region>.es-staging.amazonaws.com.

import requests from requests_auth_aws_sigv4 import AWSSigV4 domain_endpoint = 'domain endpoint' pipeline_name = 'pipeline name' url = f'{domain_endpoint}/_search/pipeline/{pipeline_name}' auth = AWSSigV4('es') headers = {'Content-Type': 'application/json'} body = { "description": "A pipeline to apply custom re-ranking from Amazon Personalize", "response_processors": [ { "personalized_search_ranking" : { "campaign_arn" : "Amazon Personalize Campaign ARN", "item_id_field" : "productId", "recipe" : "aws-personalized-ranking", "weight" : "0.3", "tag" : "personalize-processor", "iam_role_arn": "Role ARN", "aws_region": "AWS region", "ignore_failure": true } ] } try: response = requests.put(url, auth=auth, json=body, headers=headers, verify=False) print(response.text) except Exception as e: print(f"Error: {e}")

Après avoir créé un pipeline de recherche avec un processeur de personalized_search_ranking réponse, vous êtes prêt à appliquer le plugin aux OpenSearch requêtes. Vous pouvez l'appliquer à un OpenSearch index ou à une OpenSearch requête individuelle. Pour plus d’informations, consultez Appliquer le plugin aux OpenSearch requêtes.

Création d'un pipeline avec l'open source OpenSearch

Vous pouvez utiliser la commande curl suivante pour créer un pipeline de recherche avec un processeur de personalized_search_ranking réponse sur un OpenSearch cluster open source.

curl -X PUT "http://localhost:9200/_search/pipeline/pipeline-name" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d' { "description": "A pipeline to apply custom re-ranking from Amazon Personalize", "response_processors" : [ { "personalized_search_ranking" : { "campaign_arn" : "Amazon Personalize Campaign ARN", "item_id_field" : "productId", "recipe" : "aws-personalized-ranking", "weight" : "0.3", "tag" : "personalize-processor", "iam_role_arn": "Role ARN", "aws_region": "AWS region", "ignore_failure": true } } ] }'

Après avoir créé un pipeline de recherche avec un processeur de personalized_search_ranking réponse, vous êtes prêt à appliquer le plugin aux OpenSearch requêtes. Vous pouvez l'appliquer à un OpenSearch index ou à une OpenSearch requête individuelle. Pour plus d’informations, consultez Appliquer le plugin aux OpenSearch requêtes.