이 문서는 Recommendations AI, Retail Search, 새로운 Retail 콘솔에 대한 문서입니다.

제공 구성 만들기

이 페이지에서는 제공 구성을 만드는 방법을 설명합니다. 제공 구성이란 검색결과 또는 추천 결과를 생성하는 데 사용되는 모델 또는 제어 모음을 연결하는 제공 항목입니다.

시작하기 전에

Recommendations AI와 Retail Search 제공 구성의 요구사항과 옵션은 서로 다릅니다.

  • Recommendations AI 제공 구성에는 모델이 필요합니다. 기존 모델을 새 제공 구성에 연결하려면 사용할 모델의 ID를 가져옵니다(ServingConfig.create 메서드 사용 시 필요).

    Console을 사용하여 제공 구성을 만드는 경우 기존 모델을 연결하는 대신 만들기 프로세스 중에 새 모델을 만들 수 있습니다.

    모델 유형이 동일한 경우 나중에 모델을 전환할 수 있습니다.

  • Retail Search는 제공 컨트롤을 사용할 수 있지만 필수는 아닙니다. 기존 컨트롤을 새 제공 구성에 연결하려면 사용할 컨트롤의 ID를 가져옵니다.

    Console을 사용하여 제공 구성을 만드는 경우, 생성 프로세스 중에 새 컨트롤을 만들 수도 있습니다.

    만든 후에 제공 컨트롤을 전환하거나 제공 구성에 추가할 수 있습니다.

제공 구성 만들기

다음을 사용하여 제공 구성을 만들 수 있습니다.

카탈로그당 최대 100개의 제공 구성이 허용됨

기존 게재위치가 있거나 새 게재위치를 만들면 Retail API가 각 게재위치와 연결된 제공 구성을 자동으로 만듭니다. 제공 구성을 만들어도 해당 게재위치가 생성되지 않습니다. 제공 구성을 삭제하면 해당 게재위치가 삭제되고 해당 배치가 삭제됩니다.

Console에서 제공 구성 만들기

Google Cloud Console의 제공 구성 페이지에서 새 제공 구성을 추가합니다.

새 제공 구성을 만들려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 Retail 제공 구성 페이지로 이동합니다.

    제공 구성 페이지로 이동

  2. 제공 구성 만들기를 클릭합니다.

    Recommendations AI

    1. 제공 구성이 사용될 제품으로 추천을 선택합니다.

    2. 제공 구성의 이름을 입력합니다.

      이름은 1,024자(영문 기준) 이하여야 하고 영숫자, 밑줄, 하이픈, 공백만 포함할 수 있습니다.

    3. (선택사항) 필요한 경우 ID를 업데이트합니다.

      ID는 제공한 이름에서 생성되며 프로젝트 전체에서 고유해야 합니다. 50자(영문 기준) 이하여야 하며 공백을 포함할 수 없습니다.

    4. 이 제공 구성에서 추천을 제공할 모델을 선택하거나 만듭니다.

      새 모델 생성에 대해 자세히 알아보세요.

    5. 가격 재순위가 추천 결과에 영향을 미칠 정도를 선택합니다.

      가격 재순위를 사용하면 추천 확률이 비슷한 추천 제품이 높은 가격순으로 정렬됩니다. 항목 순서를 지정할 때 관련성도 사용되므로 가격 재순위를 사용 설정하는 것은 가격을 기준으로 정렬하는 것과는 다릅니다.

    6. 추천 결과의 다각화 정도를 선택합니다.

      다각화는 단일 예측 요청으로 반환되는 결과가 제품 카탈로그의 여러 카테고리에서 가져오는지 여부에 영향을 미칩니다.

    7. 이 제공 구성에 유사한 항목 모델을 선택한 경우 카테고리 일치를 사용 설정할지 여부를 선택합니다.

      카테고리 일치가 사용 설정되면 Retail API는 컨텍스트 제품과 하나 이상의 카테고리를 공유하는 제품 결과만 반환합니다. 카테고리 일치는 가격, 재고, 필터 태그와 같은 다른 필터링 옵션과 함께 사용할 수 있습니다.

    1. 제공 구성 만들기 페이지에서 제공 구성이 사용될 제품으로 검색을 선택합니다.
    2. 제공 구성의 이름을 입력합니다.

      이름은 1,024자(영문 기준) 이하여야 하고 영숫자, 밑줄, 하이픈, 공백만 포함할 수 있습니다.
    3. (선택사항) 필요한 경우 ID를 업데이트합니다.

      ID는 사용자가 제공한 이름에서 생성되며 프로젝트 전체에서 고유해야 합니다. 50자(영문 기준) 이하여야 하며 공백을 포함할 수 없습니다.
    4. 계속을 클릭합니다.
    5. 이 제공 구성에 동적 패싯 생성을 사용 설정할지 여부를 선택합니다.
    6. 검색을 최적화할 검색 컨트롤을 선택하거나 만듭니다.

      컨트롤에 대한 자세한 내용은 컨트롤 만들기 및 관리를 참조하세요.
  3. 만들기를 클릭하여 새 구성을 만듭니다.

    새로운 구성이 제공 구성 페이지에 표시됩니다.

    구성이 검색 요청에 사용할 수 있게 될 때까지 몇 분 정도 걸릴 수 있습니다. 추천에는 바로 사용할 수 있습니다.

  4. (선택사항) 제공 구성 페이지에서 제공 구성 이름을 클릭하고 평가 탭으로 이동하여 이 구성에 반환될 제품을 미리 봅니다.

    평가 미리보기를 사용하면 구성이 예상대로 작동하는지 확인하는 데 도움이 될 수 있습니다.

ServingConfig.create를 사용하여 제공 구성 만들기

ServingConfig.create API 메서드를 사용하여 제공 구성을 만들 수 있습니다. 이 메서드에 대한 API 참조 문서는 ServingConfig.create를 참조하세요.

Recommendations AI 또는 Retail Search의 제공 구성을 만드는지 여부에 따라 사용하는 필드가 달라집니다.

ServingConfig 필드에 대한 자세한 내용은 ServingConfigs API 참조를 확인하세요.

Recommendations AI

제공 구성 ID와 요청 본문에 포함된 ServingConfig 인스턴스를 사용하여 ServingConfig.create 요청을 수행합니다.

  • servingConfigId: 필수. ServingConfig의 ID를 만듭니다. 이 값은 4~63자(영문 기준)여야 합니다. 유효한 문자는 /[a-z][0-9]-_/입니다.
  • displayName: 필수. Retail 콘솔에 표시되는 사람이 읽을 수 있는 ServingConfig 이름입니다.
  • modelID: 필수. 제공 시 사용할 모델의 ID입니다.
  • priceRerankingLevel: 선택사항. 가격 재순위가 추천 결과에 영향을 미칠 정도를 설정합니다. 허용되는 값은 no-price-reranking(설정되지 않은 경우 기본값), low-price-raranking, medium-price-reranking, high-price-reranking입니다.
  • enableCategoryFilterLevel: 선택사항. '유사한 항목' 모델에 카테고리 필터를 추가할지 여부를 설정합니다. 허용되는 값은 relaxed-category-match(설정되지 않은 경우 기본값) 및 no-category-match입니다.
  • solutionTypes: 필수. Recommendations AI 제공 구성의 경우 SOLUTION_TYPE_RECOMMENDATION으로 설정합니다.
curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": "DISPLAY_NAME",
              "modelId": "MODEL_ID",
              "priceRerankingLevel": "PRICE_RERANKING_LEVEL",
              "diversityLevel": "DIVERSITY_LEVEL",
              "enableCategoryFilterLevel": "CATEGORY_FILTER_LEVEL",
              "solutionTypes": [ "SOLUTION_TYPE_RECOMMENDATION" ]
            }' \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/servingConfigs?servingConfigId=SERVING_CONFIG_ID"
  

Retail Search

제공 구성 ID와 요청 본문에 포함된 ServingConfig 인스턴스를 사용하여 ServingConfig.create 요청을 수행합니다.

  • servingConfigId: 필수. ServingConfig의 ID를 만듭니다. 이 값은 4~63자(영문 기준)여야 합니다. 유효한 문자는 /[a-z][0-9]-_/입니다.
  • displayName: 필수. Retail 콘솔에 표시되는 사람이 읽을 수 있는 ServingConfig 이름입니다.
  • facetControlIds: 선택사항. FacetSpec만 설정된 컨트롤의 ID입니다.
  • dynamicFacetSpec.mode: 선택사항. DynamicFacet 기능의 모드입니다. 허용되는 값은 DISABLED(설정되지 않은 경우 기본값) 및 ENABLED입니다.
  • boostControlIds: 선택사항. 부스트 제공 컨트롤의 ID입니다.
  • filterControlIds: 선택사항. 필터 제공 컨트롤의 ID입니다.
  • redirectControlIds: 선택사항. 리디렉션 제공 컨트롤의 ID입니다.
  • twowaySynonymsControlIds: 선택사항. 양방향 동의어 컨트롤의 ID입니다.
  • onewaySynonymsControlIds: 선택사항. 단방향 동의어 제공 컨트롤의 ID입니다.
  • doNotAssociateControlIds: 선택사항. 연관 금지 제공 컨트롤의 ID입니다.
  • replacementControlIds: 선택사항. 대체 제공 컨트롤의 ID입니다.
  • ignoreControlIds: 선택사항. 무시 제공 컨트롤의 ID입니다.
  • solutionTypes: 필수. Retail Search 제공 구성의 경우 SOLUTION_TYPE_SEARCH로 설정합니다.
curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
              "displayName": DISPLAY_NAME,
              "facetControlIds": [
                "FACET_CONTROL_ID_1",
                "FACET_CONTROL_ID_2"
              ],
              "dynamicFacetSpec": {
                "mode": "DYNAMIC_FACET_MODE"
              },
              "boostControlIds": [
                "BOOST_CONTROL_ID_1",
                "BOOST_CONTROL_ID_2"
              ],
              "filterControlIds": [
                "FILTER_CONTROL_ID_1",
                "FILTER_CONTROL_ID_2"
              ],
              "redirectControlIds": [
                "REDIRECT_CONTROL_ID_1",
                "REDIRECT_CONTROL_ID_2"
              ],
              "twowaySynonymsControlIds": [
                "TWO_WAY_SYNONYM_CONTROL_ID_1",
                "TWO_WAY_SYNONYM_CONTROL_ID_2"
              ],
              "onewaySynonymsControlIds": [
                "ONE_WAY_SYNONYM_CONTROL_ID_1",
                "ONE_WAY_SYNONYM_CONTROL_ID_2"
              ],
              "doNotAssociateControlIds": [
                "DO_NOT_ASSOCIATE_CONTROL_ID_1",
                "DO_NOT_ASSOCIATE_CONTROL_ID_2"
              ],
              "replacementControlIds": [
                "REPLACEMENT_CONTROL_ID_1",
                "REPLACEMENT_CONTROL_ID_2"
              ],
              "ignoreControlIds": [
                "IGNORE_CONTROL_ID_1",
                "IGNORE_CONTROL_ID_2"
              ],
              "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ]
    }' \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/servingConfigs?servingConfigId=SERVING_CONFIG_ID"
  

다음 단계