REST Resource: projects.locations.evaluations

리소스: 평가

평가는 평가 프로세스의 단일 실행입니다. 평가 상태와 결과 데이터를 캡슐화합니다.

JSON 표현
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
필드
name

string

식별자. Evaluation의 전체 리소스 이름입니다(projects/{project}/locations/{location}/evaluations/{evaluation} 형식).

이 필드는 UTF-8로 인코딩된 문자열이어야 하며 길이 제한은 1,024자(영문 기준)입니다.

evaluationSpec

object (EvaluationSpec)

필수 항목입니다. 평가 사양입니다.

qualityMetrics

object (QualityMetrics)

출력 전용입니다. 평가에서 생성된 측정항목으로, SampleQuerySet의 모든 SampleQuery에 대해 평균을 냅니다.

평가 상태가 SUCCEEDED인 경우에만 채워집니다.

state

enum (State)

출력 전용입니다. 평가 상태입니다.

error

object (Status)

출력 전용입니다. 평가 중에 발생한 오류입니다. 평가 상태가 실패인 경우에만 채워집니다.

createTime

string (Timestamp format)

출력 전용입니다. Evaluation이 생성된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

endTime

string (Timestamp format)

출력 전용입니다. Evaluation가 완료된 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

errorSamples[]

object (Status)

출력 전용입니다. 요청을 처리하는 중에 발생한 오류 샘플입니다.

EvaluationSpec

평가 사양을 설명합니다.

JSON 표현
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
필드
querySetSpec

object (QuerySetSpec)

(선택사항) 쿼리 집합의 사양입니다.

통합 필드 search_spec. 검색 사양입니다. search_spec은 다음 중 하나여야 합니다.
searchRequest

object (SearchRequest)

필수 항목입니다. 평가를 실행하는 데 사용되는 검색 요청입니다.

SearchRequest 내의 다음 필드만 지원됩니다. 다른 필드가 제공되면 UNSUPPORTED 오류가 반환됩니다.

SearchRequest

SearchService.Search 메서드의 요청 메시지입니다.

JSON 표현
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string,
  "canonicalFilter": string,
  "orderBy": string,
  "userInfo": {
    object (UserInfo)
  },
  "languageCode": string,
  "regionCode": string,
  "facetSpecs": [
    {
      object (FacetSpec)
    }
  ],
  "boostSpec": {
    object (BoostSpec)
  },
  "params": {
    string: value,
    ...
  },
  "queryExpansionSpec": {
    object (QueryExpansionSpec)
  },
  "spellCorrectionSpec": {
    object (SpellCorrectionSpec)
  },
  "userPseudoId": string,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  }
}
필드
servingConfig

string

필수 항목입니다. 검색 서빙 구성의 리소스 이름입니다(예: projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config 또는 projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config). 이 필드는 검색하는 데 사용되는 모델 집합인 서빙 구성 이름을 식별하는 데 사용됩니다.

branch

string

브랜치 리소스 이름입니다(예: projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0).

default_branch를 브랜치 ID로 사용하거나 이 필드를 비워 기본 브랜치에서 문서를 검색합니다.

query

string

원시 검색어입니다.

imageQuery

object (ImageQuery)

원시 이미지 쿼리입니다.

pageSize

integer

반환할 최대 Document 수입니다. 허용되는 최대값은 데이터 유형에 따라 다릅니다. 최댓값을 초과하는 값은 최댓값으로 변환됩니다.

  • 기본 색인 생성이 있는 웹사이트: 기본값 10, 최댓값 25
  • 고급 색인 생성이 있는 웹사이트: 기본값 25, 최댓값 50
  • 기타: 기본값 50, 최댓값 100

이 필드가 음수이면 INVALID_ARGUMENT이 반환됩니다.

pageToken

string

이전 SearchService.Search 호출에서 수신한 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다.

페이지를 매길 때 SearchService.Search에 제공된 다른 모든 매개변수는 페이지 토큰을 제공한 호출과 일치해야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다.

offset

integer

검색 결과에서 현재 오프셋 (API에서 관련 있는 것으로 간주되는 Document 중 시작 결과 위치)을 지정하는 0부터 시작하는 정수입니다. 이 필드는 pageToken이 설정되지 않은 경우에만 고려됩니다.

이 필드가 음수이면 INVALID_ARGUMENT이 반환됩니다.

큰 오프셋은 적절한 기준점으로 제한될 수 있습니다.

oneBoxPageSize

integer

OneBox에 반환할 최대 결과 수입니다. 이는 각 OneBox 유형에 개별적으로 적용됩니다. 기본값은 10입니다.

dataStoreSpecs[]

object (DataStoreSpec)

검색할 특정 DataStore와 해당 데이터 스토어의 구성을 정의하는 사양입니다. 데이터 스토어가 여러 개인 Engine에만 적용됩니다. 단일 데이터 스토어가 있는 엔진의 경우 SearchRequest 바로 아래의 사양을 사용해야 합니다.

filter

string

필터 구문은 필터링되는 문서의 하나 이상의 필드에서 조건자를 구성하기 위한 표현식 언어로 구성됩니다. 필터 표현식은 대소문자를 구분합니다.

이 필드를 인식할 수 없으면 INVALID_ARGUMENT가 반환됩니다.

Vertex AI Search의 필터링은 LHS 필터 키를 Vertex AI Search 백엔드에 정의된 키 속성에 매핑하여 실행됩니다. 이 매핑은 고객이 스키마에 정의합니다. 예를 들어 미디어 고객의 스키마에 'name' 필드가 있을 수 있습니다. 이 경우 필터는 다음과 같습니다. filter --> name:'ANY("king kong")'

구문 및 필터 연산자를 비롯한 필터링에 대한 자세한 내용은 필터를 참고하세요.

canonicalFilter

string

사용자가 검색 페이지에서 필터를 선택하지 않고 검색을 실행할 때 적용되는 기본 필터입니다.

질문 확장과 같은 품질 개선이 필요한 경우 모든 검색 요청에 적용되는 필터입니다. 쿼리에 결과가 충분하지 않은 경우 이 필터를 사용하여 쿼리 확장 흐름을 사용 설정할지 여부를 결정합니다. 확장된 검색어 검색에는 원래 필터가 계속 사용됩니다. 높은 검색 품질을 달성하려면 이 필드를 사용하는 것이 좋습니다.

필터 구문에 대한 자세한 내용은 SearchRequest.filter를 참고하세요.

orderBy

string

문서가 반환되는 순서입니다. 문서는 Document 객체의 필드별로 정렬할 수 있습니다. 관련성별로 정렬하는 경우 설정하지 않은 상태로 둡니다. orderBy 표현식은 대소문자를 구분합니다.

웹사이트 검색 결과 정렬에 대한 자세한 내용은 웹 검색 결과 정렬을 참고하세요. 의료 검색 결과 정렬에 대한 자세한 내용은 의료 검색 결과 정렬을 참고하세요. 이 필드를 인식할 수 없으면 INVALID_ARGUMENT가 반환됩니다.

userInfo

object (UserInfo)

최종 사용자에 관한 정보입니다. 분석 및 맞춤설정에 적극 권장됩니다. UserInfo.user_agent은 분석을 위해 deviceType을 추론하는 데 사용됩니다.

languageCode

string

BCP-47 언어 코드(예: 'en-US' 또는 'sr-Latn') 자세한 내용은 표준 필드를 참고하세요. 이 필드는 쿼리를 더 잘 해석하는 데 도움이 됩니다. 값을 지정하지 않으면 쿼리 언어 코드가 자동으로 감지되지만 정확하지 않을 수 있습니다.

regionCode

string

위치를 나타내는 Unicode 국가/지역 코드(CLDR)입니다(예: 'US', '419'). 자세한 내용은 표준 필드를 참고하세요. 설정된 경우 제공된 regionCode를 기반으로 결과가 부스팅됩니다.

facetSpecs[]

object (FacetSpec)

패싯 검색을 위한 패싯 사양입니다. 비어 있으면 패싯이 반환되지 않습니다.

최대 100개의 값이 허용됩니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다.

boostSpec

object (BoostSpec)

특정 문서를 상단으로 올리는 부스트 사양입니다. 부스팅에 대한 자세한 내용은 부스팅을 참고하세요.

params

map (key: string, value: value (Value format))

추가 검색 매개변수입니다.

공개 웹사이트 검색의 경우 지원되는 값은 다음과 같습니다.

  • user_country_code: 문자열입니다. 기본값은 비어 있습니다. 비어 있지 않은 값으로 설정하면 제공된 위치에 따라 결과가 제한되거나 부스팅됩니다. 예를 들면 user_country_code: "au"입니다.

사용 가능한 코드는 국가 코드를 참고하세요.

  • searchType: double 기본값은 비어 있습니다. 값에 따라 웹페이지가 아닌 검색을 사용 설정합니다. 유일하게 유효한 비기본값은 1이며, 이 값은 이미지 검색을 사용 설정합니다. 예를 들면 searchType: 1입니다.
queryExpansionSpec

object (QueryExpansionSpec)

검색어 확장이 발생하는 조건을 지정하는 검색어 확장 사양입니다.

spellCorrectionSpec

object (SpellCorrectionSpec)

맞춤법 수정이 적용되는 모드를 지정하는 맞춤법 수정 사양입니다.

userPseudoId

string

방문자 추적을 위한 고유 식별자입니다. 예를 들어 단일 기기에서 방문자를 고유하게 식별할 수 있는 HTTP 쿠키를 사용하여 이를 구현할 수 있습니다. 이 고유 식별자는 방문자가 웹사이트에 로그인 또는 로그아웃해도 변경되지 않아야 합니다.

이 필드에는 unknown_visitor과 같은 고정 값이 있어서는 안 됩니다(NOT).

UserEvent.user_pseudo_idCompleteQueryRequest.user_pseudo_id과 동일한 식별자여야 합니다.

필드는 길이 제한이 128자(영문 기준)인 UTF-8로 인코딩된 문자열이어야 합니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다.

contentSearchSpec

object (ContentSearchSpec)

콘텐츠 검색의 동작을 구성하기 위한 사양입니다.

embeddingSpec

object (EmbeddingSpec)

제공된 임베딩을 사용하여 추가 시맨틱 문서 검색을 실행합니다. 검색은 SearchRequest.EmbeddingSpec.EmbeddingVector.vectorSearchRequest.EmbeddingSpec.EmbeddingVector.field_path에 제공된 문서 임베딩의 내적을 기반으로 합니다.

SearchRequest.EmbeddingSpec.EmbeddingVector.field_path가 제공되지 않으면 ServingConfig.EmbeddingConfig.field_path가 사용됩니다.

rankingExpression

string

(선택사항) 순위 표현식은 검색 문서의 맞춤 순위를 제어합니다. 이렇게 하면 ServingConfig.ranking_expression이 재정의됩니다. 구문과 지원되는 기능은 rankingExpressionBackend 값에 따라 달라집니다. rankingExpressionBackend이 제공되지 않으면 기본값은 RANK_BY_EMBEDDING입니다.

rankingExpressionBackend가 제공되지 않거나 RANK_BY_EMBEDDING로 설정된 경우 '+'로 조인된 단일 함수 또는 여러 함수여야 합니다.

  • rankingExpression = function, { " + ", function };

지원되는 함수:

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

함수 변수:

  • relevanceScore: 쿼리와 문서 간의 관련성을 측정하는 데 사용되는 사전 정의된 키워드입니다.
  • embedding_field_path: 쿼리 임베딩 벡터와 함께 사용되는 문서 임베딩 필드입니다.
  • dotProduct: embedding_field_path과 질문 임베딩 벡터 간의 임베딩 함수입니다.

순위 표현식의 예:

문서에 doc_embedding이라는 삽입 필드가 있는 경우 순위 표현식은 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding)일 수 있습니다.

rankingExpressionBackendRANK_BY_FORMULA로 설정된 경우 다음 표현식 유형 (및 + 또는 * 연산자를 사용하여 연결된 조합)이 지원됩니다.

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0) -- 두 번째 인수가 분모 상수인 역수 순위 변환입니다.
  • isNan(signal) - 신호가 NaN이면 0을 반환하고, 그렇지 않으면 1을 반환합니다.
  • fillNan(signal1, signal2 | double) -- signal1이 NaN이면 signal2 | double을 반환하고, 그렇지 않으면 signal1을 반환합니다.

다음은 지원되는 순위 표현식 유형을 사용하는 순위 공식의 몇 가지 예입니다.

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore) -- 주로 keywordSimilarityScore의 로그로 순위를 지정하며 semantic_smilarity_score 조정이 약간 있습니다.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore): semanticSimilarityScore의 지수로 순위를 지정합니다. 값이 NaN인 경우 0으로 채우고 semanticSimilarityScore이 NaN인 경우 최종 점수에 상수 0.3 조정을 추가합니다.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16) - semantic_smilarity_score의 역수 순위를 약간 조정한 keywordSimilarityScore의 역수 순위로 대부분 순위를 지정합니다.

다음 신호가 지원됩니다.

  • semanticSimilarityScore: Google 소유 모델에서 생성된 임베딩을 사용하여 계산된 의미 유사성 조정입니다. 이 점수는 검색 쿼리가 문서와 얼마나 의미상 유사한지를 나타냅니다.
  • keywordSimilarityScore: 키워드 일치 조정은 Best Match 25 (BM25) 순위 지정 함수를 사용합니다. 이 점수는 확률 모델을 사용하여 문서가 특정 질문과 관련이 있을 확률을 추정하여 계산됩니다.
  • relevanceScore: 독점적인 Google 모델을 사용하여 문서의 콘텐츠와 관련된 맥락에서 사용자 쿼리의 의미와 의도를 파악하는 의미론적 관련성 조정입니다.
  • pctrRank: 순위로 사용되는 예상 전환율 조정은 예상 클릭률 (pCTR)을 사용하여 사용자 관점에서 검색 결과의 관련성과 매력을 측정합니다. pCTR이 높을수록 결과가 사용자의 쿼리 및 의도를 충족할 가능성이 높으므로 순위 지정에 유용한 신호가 됩니다.
  • freshnessRank: 순위로 표시된 최신성 조정
  • documentAge: 문서가 마지막으로 업데이트된 후 경과된 시간(단위: 시간)입니다. 부동 소수점 숫자입니다(예: 0.25는 15분을 의미합니다.
  • topicalityRank: 순위로 표시되는 주제 조정입니다. 독점 Google 모델을 사용하여 질문과 문서 간의 키워드 기반 중복을 확인합니다.
  • baseRank: 결과의 기본 순위
rankingExpressionBackend

enum (RankingExpressionBackend)

(선택사항) 순위 표현식 평가에 사용할 백엔드입니다.

userLabels

map (key: string, value: string)

리소스에 적용된 사용자 라벨은 다음 요구사항을 충족해야 합니다.

  • 각 리소스는 여러 개의 라벨(최대 64개)을 가질 수 있습니다.
  • 각 라벨은 키-값 쌍이어야 합니다.
  • 키는 비워 둘 수 없으며 최소 길이는 1자이고 최대 길이는 63자입니다. 값은 비워 둘 수 있으며 최대 길이는 63자(영문 기준)입니다.
  • 키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다. 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다.
  • 라벨의 키 부분은 고유해야 합니다. 그러나 여러 리소스에 동일한 키를 사용할 수 있습니다.
  • 키는 소문자나 국제 문자로 시작해야 합니다.

자세한 내용은 Google Cloud 문서를 참고하세요.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

(선택사항) 쿼리에서 구조화된 필드 필터를 추출하는 등 자연어 쿼리 이해 기능의 구성입니다. 자세한 내용은 이 문서를 참고하세요. naturalLanguageQueryUnderstandingSpec가 지정되지 않으면 추가 자연어 쿼리 이해가 실행되지 않습니다.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

실시간 검색 구성입니다. IndustryVertical.MEDIA 카테고리에서만 지원됩니다.

displaySpec

object (DisplaySpec)

(선택사항) 검색 결과의 일치 항목 강조 표시와 같은 디스플레이 기능 구성입니다.

session

string

세션 리소스 이름입니다. (선택사항)

세션을 사용하면 사용자가 다중 턴 /검색 API 호출을 수행하거나 /검색 API 호출과 /답변 API 호출 간에 조정을 할 수 있습니다.

예 1 (다중 턴 /search API 호출): 첫 번째 호출에서 생성된 세션 ID로 /search API를 호출합니다. 여기서는 이전 검색어가 쿼리 순위에 고려됩니다. 즉, 첫 번째 질문이 '2022년 Alphabet의 실적은 어땠어?'인 경우 현재 질문이 '2023년은 어때?'인 경우 현재 질문은 '2023년 Alphabet의 실적은 어때?'로 해석됩니다.

예 2(/search API 호출과 /answer API 호출 간의 조정): 첫 번째 호출에서 생성된 세션 ID로 /answer API를 호출합니다. 여기서는 첫 번째 검색 호출의 검색 결과 컨텍스트에서 답변이 생성됩니다.

다중 턴 검색 기능은 현재 비공개 GA 단계에 있습니다. 이 기능이 공개 GA로 출시되기 전에 v1alpha 또는 v1beta 버전을 사용하거나 Google 지원팀을 통해 허용 목록에 추가해 달라고 요청하세요.

sessionSpec

object (SessionSpec)

세션 사양입니다.

session가 설정된 경우에만 사용할 수 있습니다.

relevanceThreshold

enum (RelevanceThreshold)

검색 결과의 관련성 기준점입니다.

정확도와 재현율의 균형을 활용하여 매우 정확한 결과와 관련 정보의 포괄적인 범위를 제공하는 Google 정의 기준을 기본값으로 설정합니다.

의료 검색에는 이 기능이 지원되지 않습니다.

personalizationSpec

object (PersonalizationSpec)

맞춤설정 사양입니다.

ServingConfig.personalization_specSearchRequest.personalization_spec가 모두 설정된 경우 SearchRequest.personalization_specServingConfig.personalization_spec보다 우선 적용됩니다.

relevanceScoreSpec

object (RelevanceScoreSpec)

(선택사항) 관련성 점수를 반환하기 위한 사양입니다.

searchAddonSpec

object (SearchAddonSpec)

(선택사항) SearchAddonSpec은 새로운 가격 재산정 모델에 따라 검색의 부가기능을 사용 중지하는 데 사용됩니다. 이 필드는 검색 요청에만 지원됩니다.

ImageQuery

이미지 쿼리 입력을 지정합니다.

JSON 표현
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
필드

통합 필드 image.

image는 다음 중 하나여야 합니다.

imageBytes

string

Base64로 인코딩된 이미지 바이트입니다. 지원되는 이미지 형식: JPEG, PNG, BMP

DataStoreSpec

검색 호출에서 필터링할 데이터 스토어와 해당 데이터 스토어의 구성을 정의하는 구조체입니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다.

JSON 표현
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string
}
필드
dataStore

string

필수 항목입니다. DataStore의 전체 리소스 이름입니다(예: projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}). 경로에 프로젝트 번호가 포함되어야 합니다. 이 필드에는 프로젝트 ID가 지원되지 않습니다.

filter

string

(선택사항) dataStore 필드로 지정된 데이터 스토어의 문서를 필터링하는 필터 사양입니다. 필터링에 관한 자세한 내용은 필터링을 참고하세요.

boostSpec

object (BoostSpec)

(선택사항) 특정 문서를 상단으로 올리는 부스트 사양입니다. 부스팅에 대한 자세한 내용은 부스팅을 참고하세요.

customSearchOperators

string

(선택사항) 지정된 경우 작업공간 데이터 스토어의 결과를 필터링하는 데 사용되는 맞춤 검색 연산자입니다. 맞춤 검색 연산자에 대한 자세한 내용은 SearchOperators를 참고하세요.

BoostSpec

특정 문서를 상단으로 올리는 부스트 사양입니다.

JSON 표현
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
필드
conditionBoostSpecs[]

object (ConditionBoostSpec)

조건부 부스트 사양입니다. 문서가 사양의 여러 조건과 일치하는 경우 이러한 사양의 부스트 점수가 모두 비선형 방식으로 적용되고 결합됩니다. 최대 사양 수는 20개입니다.

ConditionBoostSpec

부스트는 조건에 일치하는 문서에 적용됩니다.

JSON 표현
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
필드
condition

string

부스트 조건을 지정하는 표현식입니다. 구문 및 지원되는 필드는 필터 표현식과 동일합니다. 자세한 구문 및 제한사항은 SearchRequest.filter를 참조하세요.

예:

  • 문서 ID가 'doc_1' 또는 'doc_2'이고 색상이 'Red' 또는 'Blue'인 문서를 부스트하기: (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost

number

조건 부스팅의 강도이며, 범위는 [-1, 1]입니다. 음수 부스팅은 순위를 내리는 것을 의미합니다. 기본값은 0.0입니다.

1.0으로 설정하면 문서의 순위가 크게 높아집니다. 하지만 부스팅된 문서가 항상 상위 검색 결과에 표시되거나 다른 문서가 제외되는 것은 아닙니다. 조건과 일치하는 항목이 없더라도 결과가 계속 표시될 수 있습니다. 그리고 검색어와 관련성이 높은 검색 결과는 여전히 선호도는 높지만 관련성 없는 문서보다 우선합니다.

-1.0으로 설정하면 문서의 순위가 크게 낮아집니다. 하지만 관련성이 매우 높은 결과라면 계속 표시될 수 있습니다. 이 문서는 상당히 높은 순위를 얻기 위해 업스트림에서 경쟁해야 하지만 완전히 차단되지는 않습니다.

0.0으로 설정하면 부스트가 적용되지 않습니다. 부스팅 조건은 무시됩니다. (조건, 부스트) 조합 또는 아래 boostControlSpec 중 하나만 설정됩니다. 둘 다 설정된 경우 전역 부스트는 무시되고 더 세분화된 boostControlSpec이 적용됩니다.

boostControlSpec

object (BoostControlSpec)

고객 정의 속성 값을 기반으로 하는 맞춤 순위 지정의 복잡한 사양입니다.

BoostControlSpec

고객이 지정한 속성 값을 기반으로 한 맞춤 순위 지정 사양입니다. 위의 간단한 (조건, 부스트) 조합보다 맞춤설정된 순위 지정에 더 많은 제어 기능을 제공합니다.

JSON 표현
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
필드
fieldName

string

값이 부스트 금액을 결정하는 데 사용되는 필드의 이름입니다.

attributeType

enum (AttributeType)

부스트 금액을 결정하는 데 사용할 속성 유형입니다. 속성 값은 지정된 fieldName의 필드 값에서 파생될 수 있습니다. 숫자의 경우 간단합니다(예: attributeValue = numerical_field_value). 하지만 신선도의 경우 attributeValue = (time.now() - datetime_field_value)입니다.

interpolationType

enum (InterpolationType)

아래에 나열된 제어점을 연결하는 데 적용할 보간 유형입니다.

controlPoints[]

object (ControlPoint)

곡선을 정의하는 데 사용되는 제어점입니다. 단조 함수 (위의 interpolationType을 통해 정의됨)는 여기에 나열된 제어점을 통과합니다.

AttributeType

맞춤 순위가 적용될 속성(또는 함수)입니다.

열거형
ATTRIBUTE_TYPE_UNSPECIFIED 지정되지 않은 AttributeType입니다.
NUMERICAL 숫자 필드의 값은 부스트 금액을 동적으로 업데이트하는 데 사용됩니다. 이 경우 제어점의 attributeValue (x 값)는 boostAmount가 지정된 숫자 필드의 실제 값이 됩니다.
FRESHNESS 최신성 사용 사례의 경우 속성 값은 현재 시간과 지정된 datetime 필드의 날짜 사이의 기간입니다. 값은 XSD dayTimeDuration 값 (ISO 8601 기간 값의 제한된 하위 집합)으로 형식이 지정되어야 합니다. 이 패턴은 [nD][T[nH][nM][nS]]입니다. 예를 들면 5D, 3DT12H30M, T24H입니다.

InterpolationType

적용할 보간 유형입니다. 기본값은 선형 (구간별 선형)입니다.

열거형
INTERPOLATION_TYPE_UNSPECIFIED 보간 유형이 지정되지 않았습니다. 이 경우 기본값은 선형입니다.
LINEAR 구간별 선형 보간이 적용됩니다.

ControlPoint

곡선을 정의하는 데 사용되는 제어점입니다. 이러한 제어점을 통해 정의된 곡선은 단조 증가 또는 단조 감소만 가능합니다(상수 값은 허용됨).

JSON 표현
{
  "attributeValue": string,
  "boostAmount": number
}
필드
attributeValue

string

다음 중 하나일 수 있습니다. 1. 숫자 필드 값입니다. 2. 새로고침 기간 사양입니다. 값은 XSD dayTimeDuration 값 (ISO 8601 기간 값의 제한된 하위 집합)으로 형식이 지정되어야 합니다. 이 패턴은 [nD][T[nH][nM][nS]]입니다.

boostAmount

number

attributeValue가 위에 지정된 값으로 평가되는 경우 점수를 높이는 데 사용할 -1~1 사이의 값입니다.

FacetSpec

패싯 검색을 수행할 패싯 사양입니다.

JSON 표현
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
필드
facetKey

object (FacetKey)

필수 항목입니다. 패싯 키 사양입니다.

limit

integer

이 패싯에 대해 반환되는 최대 패싯 값입니다. 지정하지 않으면 기본값은 20입니다. 허용되는 최댓값은 300입니다. 300을 초과하는 값은 300으로 변환됩니다. 의료 검색의 집계에서 [FacetKey.key] 가 'healthcare_aggregation_key'인 경우 여기에 설정된 값과 관계없이 한도가 내부적으로 10,000으로 재정의됩니다.

이 필드가 음수이면 INVALID_ARGUMENT이 반환됩니다.

excludedFilterKeys[]

string

패싯 생성 시 제외할 키 목록입니다.

기본적으로 FacetKey.key는 이 필드에 나열되지 않는 한 필터에서 제외되지 않습니다.

이 필드에 속성 키를 나열하면 검색 결과에서 필터링되더라도 값이 속성 결과로 표시될 수 있습니다. 이 필드를 사용해도 반환되는 검색 결과에는 영향을 미치지 않습니다.

예를 들어 색상 패싯이 'Red'인 문서가 100개 있고 색상 패싯이 'Blue'인 문서가 200개 있다고 가정해 보겠습니다. 'color:ANY("Red")' 필터가 포함되어 있고 'color'가 FacetKey.key인 쿼리는 기본적으로 검색 결과에서 'Red' 문서만 반환하고 'Red'를 개수 100의 유일한 색상 패싯으로 반환합니다. 파란색 문서도 있지만 '파란색'은 사용 가능한 패싯 값으로 표시되지 않습니다.

'color'가 'excludedFilterKeys'에 나열된 경우 이제 'color' 키가 필터에서 제외되므로 쿼리는 개수가 100인 'Red'와 개수가 200인 'Blue'를 모두 반환합니다. 이 필드는 검색 결과에 영향을 미치지 않으므로 검색 결과는 여전히 'Red' 문서만 반환하도록 올바르게 필터링됩니다.

최대 100개의 값이 허용됩니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다.

enableDynamicPosition

boolean

이 패싯의 동적 위치를 사용 설정합니다. true로 설정하면 응답의 모든 패싯 중에서 이 패싯의 위치가 자동으로 결정됩니다. 동적 패싯이 사용 설정된 경우 함께 정렬됩니다. false로 설정하면 응답에서 이 패싯의 위치가 요청과 동일하며 동적 위치가 사용 설정된 패싯 및 모든 동적 패싯보다 순위가 높습니다.

예를 들어 항상 대답에 평가 패싯이 반환되기를 원하지만 평가 패싯을 항상 상단에 표시할 필요는 없습니다. 이 경우 응답의 평점 패싯 위치가 자동으로 결정되도록 enableDynamicPosition을 true로 설정할 수 있습니다.

또 다른 예로 요청에 다음 패싯이 있다고 가정해 보겠습니다.

  • 'rating', enableDynamicPosition = true

  • 'price', enableDynamicPosition = false

  • 'brands', enableDynamicPosition = false

또한 동적 패싯이 사용 설정되어 있어 패싯 gender가 생성됩니다. 그런 다음 응답의 최종 상품 속성 순서는 API가 '성별' 및 '평점' 상품 속성을 정렬하는 방식에 따라 ("가격", "브랜드", "평점", "성별") 또는 ("가격", "브랜드", "성별", "평점")이 될 수 있습니다. 하지만 enableDynamicPosition이 false이므로 'price'와 'brands'는 항상 1위와 2위로 표시됩니다.

FacetKey

패싯을 계산하는 방법을 지정합니다.

JSON 표현
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
필드
key

string

필수 항목입니다. Document 객체에서 지원되는 텍스트 및 숫자 패싯 키로, 이 키를 기준으로 패싯 값이 계산됩니다. 패싯 키는 대소문자를 구분합니다.

intervals[]

object (Interval)

값을 간격으로 버킷팅해야 하는 경우에만 설정합니다. 숫자 값이 있는 패싯에 설정해야 합니다. 텍스트 값이 있는 패싯에 설정하면 안 됩니다. 최대 간격 수는 30입니다.

restrictedValues[]

string

지정된 제한된 값에 대한 패싯만 가져옵니다. 텍스트 필드에서만 지원됩니다. 예를 들어 'category'에 'Action > 2022', 'Action > 2021', 'Sci-Fi > 2022'라는 세 가지 값이 있다고 가정해 보겠습니다. 'restrictedValues'를 'Action > 2022'로 설정하면 'category' 패싯에는 'Action > 2022'만 포함됩니다. 텍스트 필드에서만 지원됩니다. 최댓값은 10입니다.

prefixes[]

string

지정된 문자열 프리픽스로 시작하는 패싯 값만 가져옵니다. 예를 들어 'category'에 'Action > 2022', 'Action > 2021', 'Sci-Fi > 2022'라는 세 가지 값이 있다고 가정해 보겠습니다. 'prefixes'를 'Action'으로 설정하면 'category' 패싯에는 'Action > 2022' 및 'Action > 2021'만 포함됩니다. 텍스트 필드에서만 지원됩니다. 최댓값은 10입니다.

contains[]

string

지정된 문자열이 포함된 패싯 값만 가져옵니다. 예를 들어 'category'에 'Action > 2022', 'Action > 2021', 'Sci-Fi > 2022'라는 세 가지 값이 있다고 가정해 보겠습니다. 'contains'를 '2022'로 설정하면 'category' 패싯에는 'Action > 2022' 및 'Sci-Fi > 2022'만 포함됩니다. 텍스트 필드에서만 지원됩니다. 최댓값은 10입니다.

caseInsensitive

boolean

접두사 또는 포함으로 패싯 값을 가져올 때 패싯 키를 대소문자를 구분하지 않도록 하려면 true이고, 그렇지 않으면 false입니다.

orderBy

string

문서가 반환되는 순서입니다.

허용되는 값은 다음과 같습니다.

설정하지 않으면 텍스트 값은 일반적인 순서로 정렬되고, 숫자 간격은 FacetSpec.FacetKey.intervals에 의해 지정된 순서로 정렬됩니다.

간격

부동 소수점 간격입니다.

JSON 표현
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
필드

통합 필드 min. 간격의 하한입니다. min 필드가 모두 설정되지 않은 경우 하한값은 음수의 무한대입니다.

이 필드는 최댓값보다 크면 안 됩니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다. min은 다음 중 하나여야 합니다.

minimum

number

하한값을 포함합니다.

exclusiveMinimum

number

하한값을 제외합니다.

통합 필드 max. 간격의 상한입니다. max 필드가 모두 설정되지 않은 경우 상한값은 양수의 무한대입니다.

이 필드는 최솟값보다 작으면 안 됩니다. 그렇지 않으면 INVALID_ARGUMENT 오류가 반환됩니다. max은 다음 중 하나여야 합니다.

maximum

number

상한값을 포함합니다.

exclusiveMaximum

number

상한값을 제외합니다.

QueryExpansionSpec

쿼리 확장이 수행되는 조건을 결정하는 사양입니다.

JSON 표현
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
필드
condition

enum (Condition)

쿼리 확장이 수행되는 조건입니다. 기본값은 Condition.DISABLED입니다.

pinUnexpandedResults

boolean

확장되지 않은 결과를 고정할지 여부입니다. 이 필드를 true로 설정하면 비확장 제품이 항상 검색 결과 상단에 표시되고 그 아래에 확장된 결과가 표시됩니다.

조건

쿼리 확장이 수행되는 조건을 설명하는 열거형입니다.

열거형
CONDITION_UNSPECIFIED 지정되지 않은 검색어 확장 조건입니다. 이 경우 서버 동작은 기본적으로 Condition.DISABLED입니다.
DISABLED 검색어 확장이 사용 중지되었습니다. SearchResponse.total_size가 0이더라도 정확한 검색어만 사용됩니다.
AUTO Search API에서 빌드한 자동 검색어 확장입니다.

SpellCorrectionSpec

질문 맞춤법 수정 사양입니다.

JSON 표현
{
  "mode": enum (Mode)
}
필드
mode

enum (Mode)

맞춤법 수정이 원래 검색어를 대체하는 모드입니다. 기본값은 Mode.AUTO입니다.

모드

맞춤법 수정이 수행되는 모드를 설명하는 열거형입니다.

열거형
MODE_UNSPECIFIED 지정되지 않은 맞춤법 수정 모드입니다. 이 경우 서버 동작은 기본적으로 Mode.AUTO입니다.
SUGGESTION_ONLY Search API는 맞춤법 제안을 찾으려고 시도합니다. 추천이 발견되면 SearchResponse.corrected_query에 배치됩니다. 맞춤법 추천은 검색어로 사용되지 않습니다.
AUTO Search API에서 빌드한 자동 맞춤법 검사입니다. 수정된 질문이 있으면 이를 기반으로 검색이 진행됩니다.

EmbeddingSpec

맞춤 쿼리 임베딩 벡터를 사용하여 시맨틱 문서 검색을 실행하는 사양입니다.

JSON 표현
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
필드
embeddingVectors[]

object (EmbeddingVector)

검색에 사용되는 임베딩 벡터입니다. 1개로 제한

EmbeddingVector

임베딩 벡터입니다.

JSON 표현
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
필드
fieldPath

string

스키마의 임베딩 필드 경로입니다.

vector[]

number

임베딩 벡터를 쿼리합니다.

RankingExpressionBackend

순위 표현식 평가에 사용할 백엔드입니다.

열거형
RANKING_EXPRESSION_BACKEND_UNSPECIFIED 지정되지 않은/알 수 없는 값의 기본 옵션입니다.
BYOE

지원 중단됨: 대신 RANK_BY_EMBEDDING을 사용하세요. 맞춤 임베딩 모델을 사용한 순위 지정(순위 표현식을 평가하는 기본 방법) 레거시 enum 옵션입니다. 대신 RANK_BY_EMBEDDING를 사용해야 합니다.

CLEARBOX

지원 중단됨: 대신 RANK_BY_FORMULA을 사용하세요. 맞춤 수식으로 순위 지정 레거시 enum 옵션입니다. 대신 RANK_BY_FORMULA를 사용해야 합니다.

RANK_BY_EMBEDDING 맞춤 임베딩 모델을 사용한 순위 지정(순위 표현식을 평가하는 기본 방법)
RANK_BY_FORMULA 맞춤 수식으로 순위 지정

NaturalLanguageQueryUnderstandingSpec

검색 요청에 자연어 이해 기능을 사용 설정하기 위한 사양입니다.

JSON 표현
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
필드
filterExtractionCondition

enum (FilterExtractionCondition)

필터 추출이 수행되는 조건입니다. 서버 동작은 기본적으로 DISABLED입니다.

geoSearchQueryDetectionFieldNames[]

string

자연어 검색 쿼리에서 위치정보 필터가 감지되는 경우 위치 기반 필터링에 사용되는 필드 이름입니다. FilterExtractionCondition이 ENABLED로 설정된 경우에만 유효합니다.

이 필드가 설정되면 ServingConfig.geo_search_query_detection_field_names에 설정된 필드 이름을 재정의합니다.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

(선택사항) 추출된 필터가 검색에 적용되는 방식을 제어합니다. 기본 동작은 요청에 따라 달라집니다. 단일 데이터 스토어 구조화된 검색의 경우 기본값은 HARD_FILTER입니다. 다중 데이터 스토어 검색의 경우 기본 동작은 SOFT_BOOST입니다. 위치 기반 필터는 항상 하드 필터로 적용되며 SOFT_BOOST 설정이 영향을 미치지 않습니다. 이 필드는 [SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition][] 이 FilterExtractionCondition.ENABLED로 설정된 경우에만 사용됩니다.

allowedFieldNames[]

string

(선택사항) 자연어 필터 추출에 사용할 수 있는 필드의 허용 목록입니다. 기본적으로 지정되지 않은 경우 색인 생성 가능한 모든 필드가 자연어 필터 추출에 적합합니다 (하지만 사용이 보장되지는 않음). allowedFieldNames에 필드가 지정된 경우 스키마에서 색인 생성 가능으로 표시되고 허용 목록에 지정된 필드만 자연어 필터 추출에 적합합니다. 참고: 멀티 데이터 스토어 검색의 경우 아직 지원되지 않으며 무시됩니다.

FilterExtractionCondition

필터 추출이 수행되는 조건을 설명하는 열거형입니다.

열거형
CONDITION_UNSPECIFIED 서버 동작은 기본적으로 DISABLED입니다.
DISABLED NL 필터 추출을 사용 중지합니다.
ENABLED NL 필터 추출을 사용 설정합니다.

ExtractedFilterBehavior

추출된 필터가 검색에 적용되는 방식을 설명하는 열거형입니다.

열거형
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED는 추출된 필터에 기본 동작을 사용합니다. 단일 데이터 스토어 검색의 경우 기본적으로 하드 필터로 적용됩니다. 다중 데이터 스토어 검색의 경우 기본적으로 소프트 부스트로 적용됩니다.
HARD_FILTER 추출된 모든 필터를 결과에 하드 필터로 적용합니다. 추출된 필터를 통과하지 못한 결과는 결과 집합에 반환되지 않습니다.
SOFT_BOOST 추출된 모든 필터를 소프트 부스트로 적용합니다. 필터를 통과한 결과는 결과 세트에서 더 높은 순위로 올라갑니다.

SearchAsYouTypeSpec

검색 요청에서 입력 시 검색을 위한 사양입니다.

JSON 표현
{
  "condition": enum (Condition)
}
필드
condition

enum (Condition)

실시간 검색이 수행되는 조건입니다. 기본값은 Condition.DISABLED입니다.

조건

입력 시 검색이 수행되는 조건을 설명하는 열거형입니다.

열거형
CONDITION_UNSPECIFIED 서버 동작은 기본적으로 Condition.DISABLED입니다.
DISABLED 실시간 검색을 사용 중지합니다.
ENABLED 입력과 동시에 검색을 사용 설정합니다.
AUTO 입력과 동시에 검색 모드와 표준 검색 모드 간 자동 전환으로, 단일 API 구현 (예: 디바운싱)에 적합합니다.

DisplaySpec

일치 강조 표시와 같은 표시할 기능을 지정합니다.

JSON 표현
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
필드
matchHighlightingCondition

enum (MatchHighlightingCondition)

일치 항목 강조 표시가 수행되는 조건입니다.

MatchHighlightingCondition

일치 항목 강조 표시가 수행되는 조건을 설명하는 열거형입니다.

열거형
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED 서버 동작은 MATCH_HIGHLIGHTING_DISABLED와 동일합니다.
MATCH_HIGHLIGHTING_DISABLED 모든 문서에서 일치 항목 강조 표시를 사용 중지합니다.
MATCH_HIGHLIGHTING_ENABLED 모든 문서에서 일치 항목 강조 표시를 사용 설정합니다.

SessionSpec

세션 사양입니다.

다중 턴 검색 기능은 현재 비공개 GA 단계에 있습니다. 이 기능이 공개 GA로 출시되기 전에 v1alpha 또는 v1beta 버전을 사용하거나 Google 지원팀을 통해 허용 목록에 추가해 달라고 요청하세요.

JSON 표현
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
필드
queryId

string

설정된 경우 검색 결과는 이 쿼리 ID로 지정된 '턴'에 저장됩니다.

예: 세션이 다음과 같다고 가정해 보겠습니다. session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } }

사용자는 다음과 같은 요청으로 /search API를 호출할 수 있습니다.

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

그런 다음 API는 마지막 턴과 연결된 검색 결과를 저장합니다. 저장된 검색 결과는 세션 ID와 질문 ID가 지정된 후속 /answer API 호출에서 사용할 수 있습니다. 또한 동일한 세션 ID 및 질문 ID로 /search와 /answer를 동시에 호출할 수 있습니다.

searchResultPersistenceCount

integer

유지할 상위 검색 결과의 수입니다. 지속된 검색 결과는 후속 /answer API 호출에 사용할 수 있습니다.

이 필드는 SearchRequest.ContentSearchSpec.SummarySpec.summary_result_countsummaryResultCount 필드와 유사합니다.

문서 모드의 경우 최대 10개, 청크 모드의 경우 최대 50개의 결과가 표시됩니다.

RelevanceThreshold

검색 결과의 관련성 기준점입니다. 관련성 기준이 높을수록 더 관련성 있는 결과가 표시되고 반환되는 결과 수는 줄어듭니다.

열거형
RELEVANCE_THRESHOLD_UNSPECIFIED 기본값 이 경우 서버 동작은 Google 정의 기준점으로 기본 설정됩니다.
LOWEST 관련성 기준이 가장 낮습니다.
LOW 관련성 기준이 낮습니다.
MEDIUM 관련성 기준이 보통입니다.
HIGH 관련성 기준이 높습니다.

RelevanceScoreSpec

문서 관련성 점수를 반환하기 위한 사양입니다.

JSON 표현
{
  "returnRelevanceScore": boolean
}
필드
returnRelevanceScore

boolean

(선택사항) 검색 결과의 관련성 점수를 반환할지 여부입니다. 점수가 높을수록 문서가 질문과 관련성이 높습니다.

SearchAddonSpec

SearchAddonSpec은 새로운 가격 재산정 모델에 따라 검색의 부가기능을 사용 중지하는 데 사용됩니다. 기본적으로 SearchAddonSpec이 지정되지 않은 경우 고객이 해당되는 모든 위치에서 이를 사용 설정하기를 원하는 것으로 간주합니다.

JSON 표현
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
필드
disableSemanticAddOn

boolean

(선택사항) true인 경우 시맨틱 부가기능이 사용 중지됩니다. 시맨틱 부가기능에는 임베딩과 Jetstream이 포함됩니다.

disableKpiPersonalizationAddOn

boolean

(선택사항) true인 경우 KPI를 최적화하고 결과를 맞춤설정하기 위해 이벤트 재순위 지정 및 맞춤설정을 사용 중지합니다.

disableGenerativeAnswerAddOn

boolean

(선택사항) true인 경우 생성형 대답 부가기능이 사용 중지됩니다. 생성형 답변 부가기능에는 필터링 및 간단한 답변을 위한 자연어가 포함됩니다.

QuerySetSpec

쿼리 세트의 사양을 설명합니다.

JSON 표현
{
  "sampleQuerySet": string
}
필드
sampleQuerySet

string

(선택사항) 평가에 사용된 SampleQuerySet의 전체 리소스 이름으로, projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet} 형식입니다.

QualityMetrics

평가에서 생성된 측정항목을 설명합니다.

JSON 표현
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
필드
docRecall

object (TopkMetrics)

다양한 Top-K 컷오프 수준에서 문서당 재현율입니다.

재현율은 모든 관련 문서로부터 검색된 관련 문서의 비율입니다.

예 (상위 5개): * 단일 SampleQuery의 경우 상위 5개에서 5개의 관련 문서 중 3개가 검색되면 재현율@5 = 3/5 = 0.6

docPrecision

object (TopkMetrics)

다양한 Top-K 컷오프 수준에서 문서당 정밀도입니다.

정밀도는 관련성 있는 검색된 문서의 비율입니다.

예 (상위 5개): * 단일 SampleQuery의 경우 상위 5개에서 검색된 문서 5개 중 4개가 관련성이 있으면 precision@5 = 4/5 = 0.8입니다.

docNdcg

object (TopkMetrics)

다양한 Top-K 컷오프 수준에서 문서당 정규화된 할인 누적 이득(NDCG)입니다.

NDCG는 순위 품질을 측정하고 최상위 결과에 높은 관련성을 부여합니다.

예 (상위 3개): 검색된 문서가 3개 (D1, D2, D3)이고 관련성 판단이 바이너리 (관련된 경우 1, 관련되지 않은 경우 0)인 SampleQuery를 가정해 보겠습니다.

검색된 문서: [D3 (0), D1 (1), D2 (1)] 이상적인 문서: [D1 (1), D2 (1), D3 (0)]

SampleQueryNDCG@3을 계산합니다. * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * 이상적인 DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

pageRecall

object (TopkMetrics)

다양한 Top-K 컷오프 수준에서 페이지당 재현율입니다.

재현율은 모든 관련 페이지 중에서 검색된 관련 페이지의 비율입니다.

예 (상위 5개): * 단일 SampleQuery의 경우 상위 5개에서 5개의 관련 페이지 중 3개가 검색되면 recall@5 = 3/5 = 0.6

pageNdcg

object (TopkMetrics)

다양한 Top-K 컷오프 수준에서 페이지당 정규화된 할인 누적 이득(NDCG)입니다

NDCG는 순위 품질을 측정하고 최상위 결과에 높은 관련성을 부여합니다.

예 (상위 3개): 검색된 페이지가 3개 (P1, P2, P3)이고 바이너리 관련성 판단 (관련성 있는 경우 1, 관련성 없는 경우 0)이 있는 SampleQuery를 가정해 보겠습니다.

가져온 항목: [P3 (0), P1 (1), P2 (1)] 이상적인 항목: [P1 (1), P2 (1), P3 (0)]

SampleQueryNDCG@3 계산: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * 이상적인 DCG@3: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

TopkMetrics

특정 상위 k 수준에서 측정항목 값을 저장합니다.

JSON 표현
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
필드
top1

number

상위 1개 값입니다.

top3

number

상위 3개 값입니다.

top5

number

상위 5개 값입니다.

top10

number

상위 10개 값입니다.

평가의 상태를 설명합니다.

열거형
STATE_UNSPECIFIED 평가가 지정되지 않았습니다.
PENDING 서비스가 평가를 실행할 준비를 하고 있습니다.
RUNNING 평가가 진행 중입니다.
SUCCEEDED 평가가 완료되었습니다.
FAILED 평가에 실패했습니다.

메서드

create

Evaluation를 만듭니다.

get

Evaluation을 가져옵니다.

list

Evaluation 목록을 가져옵니다.

listResults

지정된 Evaluation의 결과 목록을 가져옵니다.