플러그인 구성 - Personalize

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

플러그인 구성

Amazon Personalize 검색 순위 플러그인을 설치했으면 검색 파이프라인을 생성하여 플러그인을 구성할 수 OpenSearch 있습니다.

검색 파이프라인은 생성한 순서대로 순차적으로 실행되는 요청 및 응답 프로세서 세트입니다. 플러그인용 검색 파이프라인을 생성할 때 personalized_search_ranking응답 프로세서를 지정합니다. 검색 파이프라인에 대한 자세한 내용은 검색 파이프라인 단원을 참조하세요.

personalized_search_ranking 응답 프로세서에 대한 필드

personalized_search_ranking 응답 프로세서의 경우 다음 필드를 지정합니다.

  • campaign gn_arn(필수) — 결과를 개인 맞춤하는 데 사용할 Personalize 캠페인의 Amazon 리소스 이름(ARN)을 지정합니다.

  • item_id_field (선택 사항) — 인덱싱된 문서의 _id 필드가 Amazon Personalize ItemID와 일치하지 OpenSearch 않는 경우 해당하는 필드의 이름을 지정하십시오. 기본적으로 플러그인은 _id데이터가 Personalize 데이터의 항목 ID와 일치한다고 가정합니다.

  • 레시피(필수) — 사용할 Personalize 레시피의 이름을 지정합니다. aws-personalized-ranking만 지정할 수 있습니다.

  • 가중치(필수) — 응답 프로세서가 결과의 순위를 다시 매길 때 개인 맞춤에 중점을 두는 부분을 지정합니다. 0.0—1.0 범위의 값을 지정합니다. 값이 1.0에 가까울수록 Personalize의 결과가 더 높은 순위를 차지할 가능성이 높아집니다. 지정하는 경우 개인화가 수행되지 않고 우선합니다. 0.0 OpenSearch

  • 태그(선택 사항) — 프로세서 식별자를 지정합니다.

  • iam_role_arn ( OpenSearch 서비스의 경우 필수, 오픈 소스의 경우 선택 사항 OpenSearch) — 서비스의 경우 OpenSearch , 서비스가 Amazon Personalize 리소스에 액세스할 수 있는 권한을 설정할 때 생성한 역할에 대한 Amazon 리소스 이름 (ARN) 을 제공하십시오. OpenSearch OpenSearch 서비스와 Amazon Personalize 리소스가 서로 다른 계정에 있는 경우 서비스에 대한 AssumeRole OpenSearch 권한을 부여하는 역할을 지정하십시오. 자세한 정보는 리소스가 서로 다른 계정에 있는 경우 권한을 구성합니다.을 참조하세요.

    오픈 소스의 경우 OpenSearch, 여러 역할을 사용하여 조직의 여러 사용자 그룹에 대한 권한을 제한하는 경우 Amazon Personalize에 액세스할 권한이 있는 역할의 ARN을 지정하십시오. OpenSearch 키스토어에 있는 AWS 자격 증명만 사용하는 경우 이 필드를 생략할 수 있습니다.

  • aws_region (필수) — 아마존 Personalize 캠페인을 생성한 AWS 지역입니다.

  • ignore_failure(선택 사항) — 플러그인이 프로세서 장애를 무시할지 여부를 지정합니다. 값에 true또는 false을 지정합니다. 프로덕션 환경에서는 쿼리 응답이 중단되지 않도록 true을 지정하는 것이 좋습니다. 테스트 환경의 경우 플러그인으로 인해 발생하는 모든 오류를 볼 수 있도록 false을 지정할 수 있습니다.

  • external_account_iam_role_arn — OpenSearch 서비스를 사용하고 있고 Amazon Personalize 및 서비스 리소스가 서로 다른 계정에 있는 경우 Amazon OpenSearch Personalize 리소스에 액세스할 권한이 있는 역할의 ARN을 지정하십시오. 이 역할은 Amazon Personalize 리소스와 동일한 계정에 있어야 합니다. 자세한 정보는 리소스가 서로 다른 계정에 있는 경우 권한을 구성합니다.을 참조하세요.

Amazon OpenSearch 서비스로 파이프라인 생성

다음 Python 코드를 사용하여 OpenSearch 서비스 도메인에 personalized_search_ranking 응답 프로세서가 있는 검색 파이프라인을 만들 수 있습니다. domain endpoint을 도메인 엔드포인트 URL로 바꿉니다. 예를 들면 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}")

personalized_search_ranking응답 프로세서로 검색 파이프라인을 만들었으면 플러그인을 OpenSearch 쿼리에 적용할 준비가 된 것입니다. OpenSearch 색인 또는 개별 OpenSearch 쿼리에 적용할 수 있습니다. 자세한 정보는 OpenSearch 쿼리에 플러그인 적용을 참조하세요.

오픈소스로 파이프라인 만들기 OpenSearch

다음 curl 명령어를 사용하여 오픈 소스 OpenSearch 클러스터에 personalized_search_ranking 응답 프로세서가 있는 검색 파이프라인을 만들 수 있습니다.

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 } } ] }'

personalized_search_ranking응답 프로세서로 검색 파이프라인을 만들었으면 플러그인을 OpenSearch 쿼리에 적용할 준비가 된 것입니다. OpenSearch 색인 또는 개별 OpenSearch 쿼리에 적용할 수 있습니다. 자세한 정보는 OpenSearch 쿼리에 플러그인 적용을 참조하세요.