Hinzufügen der semantischen Rangfolge zu Abfragen in Azure KI-Suche

Sie können die semantische Sortierung auf Textabfragen, hybride Abfragen und Vektorabfragen anwenden, wenn Ihre Suchdokumente Zeichenfolgenfelder enthalten und die Vektorabfrage eine Textdarstellung im Suchdokument hat.

In diesem Artikel wird erläutert, wie der semantische Sortierer für Abfragen aufgerufen wird.

Voraussetzungen

Hinweis

Sowohl Beschriftungen als auch Antworten werden wörtlich aus dem Text im Suchdokument extrahiert. Das semantische Subsystem nutzt maschinelles Leseverständnis, um Inhalte mit den Merkmalen einer Beschriftung oder Antwort zu erkennen, erstellt aber keine neuen Sätze oder Ausdrücke. Aus diesem Grund funktionieren Inhalte, die Erläuterungen oder Definitionen enthalten, am besten für die semantische Rangfolge. Wenn Sie eine Interaktion im Chatstil mit generierten Antworten benötigen, lesen Sie Retrieval Augmented Generation (RAG).

Auswählen eines Clients

Sie können eines der folgenden Tools und SDKs verwenden, um eine Abfrage zu erstellen, die die semantische Sortierung verwendet:

Vermeiden von Features, die die Relevanzbewertung umgehen

Einige Abfragefunktionen umgehen die Relevanzbewertung, wodurch sie nicht mit der semantischen Rangfolge kompatibel sind. Wenn Ihre Abfragelogik die folgenden Features enthält, können Sie die semantische Rangfolge für Ihre Ergebnisse nicht verwenden:

  • Eine Abfrage mit search=* oder mit einer leeren Suchzeichenfolge (z. B. eine reine Filterabfrage) funktioniert nicht, da keine semantische Relevanz gemessen werden kann. Deshalb sind die Suchbewertungen null. Die Abfrage muss Begriffe oder Ausdrücke bereitstellen, die während der Verarbeitung bewertet werden können.

  • Eine Sortierung nach bestimmten Feldern (durch orderby-Klauseln) setzt Suchbewertungen und eine semantische Bewertung außer Kraft. Da die semantische Bewertung die Rangfolge bereitstellen soll, führt das Hinzufügen einer orderby-Klausel zu einem HTTP 400-Fehler, wenn Sie die semantische Rangfolge auf sortierte Ergebnisse anwenden.

Einrichten der Abfrage

Fügen Sie der Abfrageanforderung in diesem Schritt Parameter hinzu. Für eine erfolgreiche Ausführung muss Ihre Abfrage eine Volltextsuche (mit Übergabe einer Zeichenfolge unter Verwendung des Parameters search) oder eine Vektorabfrage sein, und der Index muss Textfelder mit umfangreichen semantischen Inhalten sowie eine semantische Konfiguration enthalten.

Der Suchexplorer enthält Optionen für die semantische Rangfolge.

  1. Melden Sie sich beim Azure-Portal an.

  2. Öffnen Sie einen Suchindex, und wählen Sie Suchexplorer aus.

  3. Wählen Sie Abfrageoptionen aus. Wenn Sie bereits eine semantische Konfiguration definiert haben, ist sie standardmäßig ausgewählt. Wenn Sie keine haben, erstellen Sie eine semantische Konfiguration für Ihren Index.

    Screenshot der Abfrageoptionen im Such-Explorer

  4. Geben Sie eine Abfrage ein, z. B. „historic hotel with good food“, und wählen Sie Suchen aus.

  5. Alternativ können Sie JSON-Ansicht auswählen und Definitionen in den Abfrage-Editor einfügen:

    Screenshot der JSON-Abfragesyntax im Azure-Portal.

    Hier sehen Sie ein JSON-Beispiel, das Sie in die Ansicht einfügen können:

    {
      "search": "funky or interesting hotel with good food on site",
      "count": true,
      "queryType": "semantic",
      "semanticConfiguration": "my-semantic-config",
      "captions": "extractive|highlight-true",
      "answers": "extractive|count-3",
      "queryLanguage": "en-us",
      "highlightPreTag": "<strong>",
      "highlightPostTag": "</strong>",
      "select": "HotelId,HotelName,Description,Category"
    }
    

Auswertung der Antwort

Nur die 50 besten Treffer aus den anfänglichen Ergebnissen können in eine semantische Rangfolge gebracht werden. Eine Antwort umfasst genau wie bei anderen Abfragen entweder alle als abrufbar markierten Felder oder nur Felder, die im select-Parameter aufgeführt sind. Eine Antwort enthält die ursprüngliche Relevanzbewertung und eventuell auch eine Anzahl oder Batchergebnisse, je nachdem, wie Sie die Anforderung formuliert haben.

Bei der semantischen Rangfolge enthält die Antwort mehr Elemente: eine neue Relevanzbewertung mit semantischer Rangfolge, eine optionale Beschriftung im Nur-Text-Format und mit Hervorhebungen sowie eine optionale Antwort. Wenn Ihre Ergebnisse diese zusätzlichen Elemente nicht enthalten, ist Ihre Abfrage möglicherweise falsch konfiguriert. Überprüfen Sie als ersten Schritt zur Problembehandlung die semantische Konfiguration, um sicherzustellen, dass sie sowohl in der Indexdefinition als auch in der Abfrage angegeben ist.

In einer Client-App können Sie die Suchseite so strukturieren, dass sie eine Beschriftung als Beschreibung der Übereinstimmung und nicht den gesamten Inhalt eines bestimmten Felds enthält. Dieser Ansatz ist hilfreich, wenn einzelne Felder für die Seite mit den Suchergebnissen zu umfangreich sind.

Die Antwort auf obige Beispielabfrage („interessantes Hotel mit Restaurant vor Ort und gemütlicher Lobby oder gemeinsamem Bereich“) gibt drei Antworten zurück ("answers": "extractive|count-e"). Beschriftungen werden im Nur-Text-Format und mit Hervorhebungen zurückgegeben, da die captions-Eigenschaft festgelegt wurde. Wenn keine Antwort ermittelt werden kann, wird sie in der Antwort weggelassen. Aus Platzgründen zeigt dieses Beispiel nur die drei Antworten und die drei höchsten Bewertungsergebnisse aus der Abfrage.

{
  "@odata.count": 29,
  "@search.answers": [
    {
      "key": "24",
      "text": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "highlights": "Chic hotel near the city. <strong>High-rise hotel in downtown, </strong>within<strong> walking distance to </strong>theaters, art<strong> galleries, restaurants and shops.</strong> Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "score": 0.9340000152587891
    },
    {
      "key": "40",
      "text": "Only 8 miles from Downtown. On-site bar/restaurant, Free hot breakfast buffet, Free wireless internet, All non-smoking hotel. Only 15 miles from airport.",
      "highlights": "Only 8 miles from Downtown. <strong>On-site bar/restaurant, Free hot breakfast buffet, Free wireless internet, </strong>All non-smoking<strong> hotel.</strong> Only 15 miles from airport.",
      "score": 0.9210000038146973
    },
    {
      "key": "38",
      "text": "Nature is Home on the beach. Explore the shore by day, and then come home to our shared living space to relax around a stone fireplace, sip something warm, and explore the library by night. Save up to 30 percent. Valid Now through the end of the year. Restrictions and blackouts may apply.",
      "highlights": "Nature is Home on the beach. Explore the shore by day, and then come home to our<strong> shared living space </strong>to relax around a stone fireplace, sip something warm, and explore the library by night. Save up to 30 percent. Valid Now through the end of the year. Restrictions and blackouts may apply.",
      "score": 0.9200000166893005
    }
  ],
  "value": [
    {
      "@search.score": 3.2328331,
      "@search.rerankerScore": 2.575303316116333,
      "@search.captions": [
        {
          "text": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our penthouse suites offer views for miles and the rooftop plaza is open to all guests from sunset to 10 p.m. Enjoy a complimentary continental breakfast in the lobby, and free Wi-Fi throughout the hotel.",
          "highlights": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our<strong> penthouse </strong>suites offer views for miles and the rooftop<strong> plaza </strong>is open to all guests from sunset to 10 p.m. Enjoy a<strong> complimentary continental breakfast in the lobby, </strong>and free Wi-Fi<strong> throughout </strong>the hotel."
        }
      ],
      "HotelId": "50",
      "HotelName": "Head Wind Resort",
      "Description": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our penthouse suites offer views for miles and the rooftop plaza is open to all guests from sunset to 10 p.m. Enjoy a complimentary continental breakfast in the lobby, and free Wi-Fi throughout the hotel.",
      "Category": "Suite"
    },
    {
      "@search.score": 0.632956,
      "@search.rerankerScore": 2.5425150394439697,
      "@search.captions": [
        {
          "text": "Every stay starts with a warm cookie. Amenities like the Counting Sheep sleep experience, our Wake-up glorious breakfast buffet and spacious workout facilities await.",
          "highlights": "Every stay starts with a warm cookie. Amenities like the<strong> Counting Sheep sleep experience, </strong>our<strong> Wake-up glorious breakfast buffet and spacious workout facilities </strong>await."
        }
      ],
      "HotelId": "34",
      "HotelName": "Lakefront Captain Inn",
      "Description": "Every stay starts with a warm cookie. Amenities like the Counting Sheep sleep experience, our Wake-up glorious breakfast buffet and spacious workout facilities await.",
      "Category": "Budget"
    },
    {
      "@search.score": 3.7076726,
      "@search.rerankerScore": 2.4554927349090576,
      "@search.captions": [
        {
          "text": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
          "highlights": "Chic hotel near the city. <strong>High-rise hotel in downtown, </strong>within<strong> walking distance to </strong>theaters, art<strong> galleries, restaurants and shops.</strong> Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance."
        }
      ],
      "HotelId": "24",
      "HotelName": "Uptown Chic Hotel",
      "Description": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "Category": "Suite"
    },
   . . .
  ]
}

Erwartete Workloads

Für die semantische Sortierung sollten Sie einen Suchdienst verwenden, der bis zu 10 gleichzeitige Abfragen pro Replikat unterstützt.

Der Dienst drosselt semantische Sortierungsanforderungen, wenn Volumes zu hoch sind. Eine Fehlermeldung, die diese Sätze enthält, weist darauf hin, dass der Dienst für die semantische Sortierung ausgelastet ist:

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

Wenn Sie konsistente Durchsatzanforderungen nahe, bei oder höher als diese Ebene erwarten, erstellen Sie bitte ein Supportticket, damit wir für Ihren Workload ermöglichen können.

Nächste Schritte

Die semantische Rangfolge kann in Hybridabfragen verwendet werden, die die Schlüsselwortsuche und die Vektorsuche in einer einzelnen Anforderung und einer einheitlichen Antwort kombinieren.