Azure AI 검색에서 의미 체계 쿼리 만들기

이 문서에서는 결과 집합에 대해 의미 체계 순위 알고리즘을 호출하여 가장 의미 체계적으로 관련된 결과를 스택의 맨 위로 승격하는 방법을 알아봅니다. 또한 가장 관련성이 높은 용어 및 문구에 대한 강조 표시와 의미론적 답변이 있는 의미론적 캡션을 얻을 수 있습니다.

필수 조건

참고 항목

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

클라이언트 선택

의미 체계 순위를 지원하는 검색 클라이언트를 선택합니다. 다음은 몇 가지 옵션입니다.

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

Azure AI 검색의 여러 쿼리 기능은 관련성 점수를 무시하거나 의미 체계 순위와 호환되지 않습니다. 쿼리 논리에 다음 기능이 포함된 경우 결과 순위를 의미상으로 지정할 수 없습니다.

  • 순수 필터 전용 쿼리와 같은 빈 검색 문자열 또는 search=*가 있는 쿼리는 의미 체계 관련성을 측정할 수 있는 대상이 없기 때문에 작동하지 않습니다. 쿼리는 처리 중에 평가할 수 있는 용어 또는 구를 제공해야 합니다.

  • 전체 Lucene 구문(queryType=full)으로 구성된 쿼리는 의미 체계 순위(queryType=semantic)와 호환되지 않습니다. 의미 체계 모델은 전체 Lucene 구문을 지원하지 않습니다.

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

쿼리 설정

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

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

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

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

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

    Screenshot showing query options in Search explorer.

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

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

    Screenshot showing JSON query syntax in the Azure portal.

    보기에 붙여넣을 수 있는 몇 가지 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"
    },
  ...
]

다음 단계

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