Azure AI 검색의 쿼리에 의미 체계 순위 지정 추가

검색 문서에 문자열 필드가 있고 검색 문서의 벡터 쿼리에 텍스트 표현이 있는 경우 텍스트 쿼리, 하이브리드 쿼리, 벡터 쿼리에 의미 체계 순위 지정을 적용할 수 있습니다.

이 문서에서는 쿼리에서 의미 순위매기기기를 호출하는 방법을 설명합니다.

필수 조건

참고 항목

캡션과 답변은 검색 문서의 텍스트에서 그대로 추출됩니다. 의미 체계 하위 시스템은 기계 읽기 이해력을 사용하여 캡션 또는 답변의 특징이 있는 콘텐츠를 인식하지만 새 문장이나 구를 작성하지는 않습니다. 이러한 이유로 설명이나 정의가 포함된 내용은 의미 체계 순위에 가장 잘 맞습니다. 생성된 응답과 채팅 스타일 상호 작용을 하려면 RAG(검색 증강 세대)를 참조하세요.

클라이언트 선택

다음 도구 및 SDK 중 하나를 사용하여 의미 체계 순위 지정을 사용하는 쿼리를 작성할 수 있습니다.

관련성 점수를 우회하는 기능 방지

일부 쿼리 기능은 관련성 평가를 바이패스하므로 의미 체계 순위 지정과 호환되지 않습니다. 쿼리 논리에 다음 기능이 포함된 경우 결과 순위를 의미상으로 지정할 수 없습니다.

  • search=*가 포함된 쿼리나 비어 있는 쿼리 문자열(예: 순수 필터 전용 쿼리)은 의미 체계적 관련성을 측정할 기준이 없으므로 작동하지 않으며, 따라서 검색 점수가 0이 됩니다. 쿼리는 처리 중에 평가할 수 있는 용어나 구를 제공해야 합니다.

  • 특정 필드에 대한 정렬(orderBy 절)은 검색 점수 및 의미 체계 점수를 재정의합니다. 의미 체계 점수가 순위를 제공해야 하는 경우 orderby 절을 추가하면 순서가 지정된 결과에 대해 의미 체계 순위를 적용하면 HTTP 400 오류가 발생합니다.

쿼리 설정

이 단계에서는 쿼리 요청에 매개 변수를 추가합니다. 성공하려면 쿼리가 전체 텍스트 검색(search 매개 변수를 사용하여 문자열을 전달) 또는 벡터 쿼리여야 하며 인덱스가 풍부한 의미 체계 콘텐츠 및 의미 구성이 있는 텍스트 필드를 포함해야 합니다.

검색 탐색기에는 의미 체계 순위에 대한 옵션이 포함되어 있습니다.

  1. Azure Portal에 로그인합니다.

  2. 검색 인덱스 열기 및 검색 탐색기를 선택합니다.

  3. 쿼리 옵션을 선택합니다. 의미 체계 구성을 이미 정의한 경우 기본적으로 선택됩니다. 인덱스가 없는 경우 인덱스의 의미 체계 구성을 만듭니다.

    검색 탐색기의 쿼리 옵션을 보여 주는 스크린샷.

  4. "좋은 음식이 있는 역사적인 호텔"과 같은 쿼리를 입력하고 검색을 선택합니다.

  5. 또는 JSON 보기를 선택하고 쿼리 편집기에 정의를 붙여넣습니다.

    Azure Portal의 JSON 쿼리 구문을 보여 주는 스크린샷.

    보기에 붙여넣을 수 있는 JSON 텍스트는 다음과 같습니다.

     {
         "queryType": "semantic",
         "search": "historic hotel with good food",
         "semanticConfiguration": "my-semantic-config",
         "answers": "extractive|count-3",
         "captions": "extractive|highlight-true",
         "highlightPreTag": "<strong>",
         "highlightPostTag": "</strong>",
         "select": "HotelId,HotelName,Description,Category",
         "count": true
     }
    

응답 평가

초기 결과의 상위 50개 일치 항목만 의미 체계 순위를 지정할 수 있습니다. 모든 쿼리와 마찬가지로 응답은 검색 가능으로 표시된 모든 필드 또는 select 매개 변수에 나열된 필드로 구성됩니다. 응답에는 원본 관련성 점수 및 요청을 작성한 방법에 따라 개수 또는 일괄 처리된 결과가 포함될 수 있습니다.

의미 체계 순위에서 응답에는 새로운 의미 체계 순위 관련성 점수, 선택 사항인 일반 텍스트 캡션 및 강조 표시, 선택 사항인 답변과 같은 더 많은 요소가 있습니다. 결과에 이러한 추가 요소가 포함되지 않은 경우 쿼리가 잘못 구성되었을 수 있습니다. 문제 해결을 위한 첫 번째 단계로 의미 체계 구성을 확인하여 인덱스 정의와 쿼리 모두에 지정되었는지 확인합니다.

클라이언트 앱에서는 특정 필드의 전체 내용이 아니라 일치 항목에 대한 설명으로 캡션을 포함하도록 검색 페이지를 구성할 수 있습니다. 이 접근 방식은 검색 결과 페이지의 개별 필드가 너무 조밀한 경우 유용합니다.

위의 예제 쿼리에 대한 응답은 다음 일치 항목을 최상위 선택 항목으로 반환합니다. "captions" 속성이 일반 텍스트 및 강조 표시된 버전으로 설정되었으므로 캡션이 반환됩니다. 이 특정 쿼리 및 모음에 대한 답변을 확인할 수 없기 때문에 이 예제에서 답변을 생략합니다.

"@odata.count": 35,
"@search.answers": [],
"value": [
    {
        "@search.score": 1.8810667,
        "@search.rerankerScore": 1.1446577133610845,
        "@search.captions": [
            {
                "text": "Oceanside Resort. Luxury. New Luxury Hotel. Be the first to stay. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
                "highlights": "<strong>Oceanside Resort.</strong> Luxury. New Luxury Hotel. Be the first to stay.<strong> Bay</strong> views from every room, location near the pier, rooftop pool, waterfront dining & more."
            }
        ],
        "HotelName": "Oceanside Resort",
        "Description": "New Luxury Hotel. Be the first to stay. Bay views from every room, location near the pier, rooftop pool, waterfront dining & more.",
        "Category": "Luxury"
    },
  ...
]

예상 작업

의미 체계 순위 지정의 경우 검색 서비스는 복제본당 최대 10개의 동시 쿼리를 지원할 것으로 예상해야 합니다.

볼륨이 너무 높으면 서비스는 의미 체계 순위 지정 요청을 제한합니다. 다음 구가 포함된 오류 메시지는 서비스가 의미 체계 순위 지정을 지정할 수 있는 용량에 도달했음을 나타냅니다.

Error in search query: Operation returned an invalid status 'Partial Content'`
@search.semanticPartialResponseReason`
CapacityOverloaded

이 수준에 가깝거나 이상인 일관된 처리량 요구 사항이 예상되는 경우 워크로드를 프로비전할 수 있도록 지원 티켓을 제출하세요.

다음 단계

의미 체계 순위는 키워드 검색과 벡터 검색을 단일 요청 및 통합 응답으로 결합하는 하이브리드 쿼리에서 사용할 수 있습니다.