Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Vektorsuche ist ein Informationsempfangsansatz, der die Indizierung und Abfrage über numerische Darstellungen von Inhalten unterstützt. Da der Inhalt numerisch statt nur Text ist, basiert der Abgleich auf Vektoren, die dem Abfragevektor am ähnlichsten sind, was den Abgleich ermöglicht:
- Semantische oder konzeptionelle Ähnlichkeit. Beispielsweise sind "Hund" und "Canine" konzeptuell ähnlich, aber sprachlich unterschiedlich.
- Mehrsprachige Inhalte wie "Dog" in Englisch und "hund" in Deutsch.
- Mehrere Inhaltstypen, z. B. "Hund" in Nur-Text und ein Bild eines Hundes.
Dieser Artikel bietet eine Übersicht über die Vektorsuche in Azure AI Search, einschließlich unterstützter Szenarien, Verfügbarkeit und Integration in andere Azure-Dienste.
Tipp
Möchten Sie sofort loslegen? Folgen Sie diesen Schritten:
- Stellen Sie Einbettungen für Ihren Index bereit oder generieren Sie Einbettungen in eine Indexerpipeline.
- Erstellen Sie einen Vektorindex.
- Führen Sie Vektorabfragen aus.
Welche Szenarien kann die Vektorsuche unterstützen?
Die Vektorsuche unterstützt die folgenden Szenarien:
Ähnlichkeitssuche. Codieren Sie Text mithilfe von Einbettungsmodellen oder Open-Source-Modellen, z. B. OpenAI-Einbettungen oder SBERT. Anschließend rufen Sie Dokumente mithilfe von Abfragen ab, die auch als Vektoren codiert sind.
Hybridsuche: Azure AI Search definiert die Hybridsuche als Ausführung der Vektorsuche und der Stichwortsuche in derselben Anforderung. Die Vektorunterstützung wird auf Feldebene implementiert. Wenn ein Index Vektor- und Nichtvektorfelder enthält, können Sie eine Abfrage schreiben, die auf beide Ziele ausgerichtet ist. Die Abfragen werden parallel ausgeführt, und die Ergebnisse werden in einer einzigen Antwort zusammengeführt und entsprechend bewertet.
Multimodale Suche. Codieren Sie Text und Bilder mithilfe von multimodalen Einbettungen, z. B. OpenAI CLIP oder GPT-4 Turbo mit Vision in Azure OpenAI, und fragen Sie dann einen einbettenden Raum ab, der aus Vektoren aus beiden Inhaltstypen besteht.
Mehrsprachige Suche. Azure AI Search wurde für die Erweiterbarkeit entwickelt. Wenn Sie Einbettungsmodelle und Chat-Modelle haben, die in mehreren Sprachen trainiert sind, können Sie sie über benutzerdefinierte oder integrierte Funktionen auf der Indizierungsseite oder Vektorisierer auf der Abfrageseite aufrufen. Um mehr Kontrolle über die Textübersetzung zu erhalten, verwenden Sie die mehrsprachigen Funktionen , die von Azure AI Search für nicht Vektorinhalte in Hybridsuchszenarien unterstützt werden.
Gefilterte Vektorsuche: Eine Abfrageanforderung kann eine Vektorabfrage und einen Filterausdruck enthalten. Filter gelten für Text- und numerische Felder. Sie sind nützlich für Metadatenfilter und für das Einschließen oder Ausschließen von Suchergebnissen basierend auf Filterkriterien. Obwohl ein Vektorfeld nicht gefiltert werden kann, können Sie ein filterbares Text- oder numerisches Feld einrichten. Die Suchmaschine kann den Filter vor oder nach der Ausführung der Vektorabfrage verarbeiten.
Vektordatenbank: Die Azure KI-Suche speichert die Daten, die Sie abfragen. Verwenden Sie ihn als reinen Vektorindex, wenn Sie einen langfristigen Speicher, eine Wissensbasis, Daten zur Unterstützung der abruf-erweiterten Generierung (RAG)-Architektur oder eine App benötigen, die Vektoren verwendet.
Wie funktioniert die Vektorsuche?
Azure AI Search unterstützt die Indizierung, Speicherung und Abfrage von Vektoreinbettungen aus einem Suchindex. Das folgende Diagramm zeigt die Indizierungs- und Abfrageworkflows für die Vektorsuche.
Auf der Indizierungsseite verwendet Azure AI Search einen nächstgelegenen Nachbaralgorithmus , um ähnliche Vektoren in einem Index zusammen zu platzieren. Intern werden Vektorindizes für jedes Vektorfeld erstellt.
Wie Sie Einbettungen aus Ihrem Quellinhalt in Azure AI Search erhalten, hängt von Ihrem Verarbeitungsansatz ab:
Für die interne Verarbeitung bietet Azure AI Search integrierte Datenblöcke und Vektorisierung in einer Indexerpipeline. Sie stellen die erforderlichen Ressourcen bereit, z. B. Endpunkte und Verbindungsinformationen für Azure OpenAI. Azure AI Search führt dann die Aufrufe aus und behandelt die Übergänge. Für diesen Ansatz benötigen Sie einen Indexer, eine unterstützte Datenquelle und ein Skillset, das die Segmentierung und Einbettung steuert.
Für die externe Verarbeitung können Sie Einbettungen außerhalb von Azure AI Search generieren und den vorvectorisierten Inhalt direkt in Vektorfelder in Ihrem Suchindex verschieben.
Auf der Abfrageseite sammelt Ihre Client-App Benutzereingaben in der Regel über eine Eingabeaufforderung. Sie können einen Codierungsschritt hinzufügen, um die Eingabe zu vektorisieren und dann die Vektorabfrage an Ihren Azure AI Search-Index für die Ähnlichkeitssuche zu senden. Wie bei der Indizierung können Sie die Abfrage mithilfe der integrierten Vektorisierung codieren. Bei beiden Ansätzen gibt die Azure KI-Suche in den Ergebnissen Dokumente mit den angeforderten k nächsten Nachbarn (k Nearest Neighbors, kNN) zurück.
Azure AI Search unterstützt Hybridszenarien , die die Vektor- und Schlüsselwortsuche parallel ausführen und einen einheitlichen Resultset zurückgeben, was häufig bessere Ergebnisse als die Vektor- oder Stichwortsuche allein bietet. Bei der Hybridsuche werden sowohl Vektor- als auch Nichtvektorinhalte in den gleichen Index für Abfragen aufgenommen, die gleichzeitig ausgeführt werden.
Verfügbarkeit und Preismodell
Die Vektorsuche ist in allen Regionen und auf allen Ebenen kostenlos verfügbar. Das Generieren von Einbettungen oder die Verwendung der KI-Anreicherung für die Vektorisierung kann jedoch zu Gebühren des Modellanbieters führen.
Für den Portal- und programmgesteuerten Zugriff auf die Vektorsuche können Sie Folgendes verwenden:
- Der Assistent zum Importieren von Daten (neu) im Azure-Portal.
- Die REST-APIs des Suchdiensts.
- Die Azure-SDKs für .NET, Python und JavaScript.
- Andere Azure-Angebote, z. B. Microsoft Foundry.
Hinweis
Einige suchdienste, die vor dem 1. Januar 2019 erstellt wurden, unterstützen keine Vektorworkloads. Wenn beim Hinzufügen eines Vektorfelds zu einem Schema ein Fehler auftritt, liegt das an veralteten Diensten. In diesem Fall müssen Sie einen neuen Suchdienst erstellen, um das Vektorfeature ausprobieren zu können.
Suchdienste, die nach dem 3. April 2024 erstellt wurden, bieten höhere Kontingente für Vektorindizes. Wenn Sie über einen älteren Dienst verfügen, können Sie Ihren Dienst möglicherweise für höhere Vektorkontingente aktualisieren.
Azure-Integration und zugehörige Dienste
Die Azure KI-Suche ist tief in die Azure KI-Plattform integriert. In der folgenden Tabelle sind Produkte aufgeführt, die in Vektorworkloads nützlich sind.
| Produkt | Einbindung |
|---|---|
| Azure OpenAI | Azure OpenAI bietet Einbettungs- und Chatmodelle. Demos und Beispiele sind auf das text-embedding-ada-002-Modell ausgerichtet. Azure OpenAI wird zum Generieren von Einbettungen für Text empfohlen. |
| Gießerei-Werkzeuge | Bildabruf-Vektorize-Bild-API unterstützt die Vektorisierung von Bildinhalten. Diese API wird zum Generieren von Einbettungen für Bilder empfohlen. |
| Gießerei-Agentendienst | In Azure AI Search können Sie eine indizierte Wissensquelle erstellen, die auf einen Suchindex verweist, der Vektorfelder und einen Vektorisierer enthält. Anschließend können Sie die Wissensquelle zu einer Wissensbasis überziehen und die Wissensbasis mit dem Foundry Agent Service verbinden und Ihren Agenten Vektorsuchergebnisse für einen verbesserten Wissensabruf bereitstellen. |
| Azure-Datenplattformen: Azure Blob Storage, Azure Cosmos DB, Azure SQL, Microsoft OneLake | Sie können Indexer verwenden, um die Datenerfassung zu automatisieren, und dann die integrierte Vektorisierung nutzen, um Einbettungen zu generieren. Azure AI Search kann Vektordaten von Azure Blob-Indexern, Azure Cosmos DB für NoSQL-Indexer, Azure Data Lake Storage Gen2, Azure Table Storage und Microsoft OneLake automatisch indizieren. Weitere Informationen finden Sie unter Hinzufügen von Vektorfeldern zu einem Suchindex. |
Sie wird auch häufig in Open-Source-Frameworks wie LangChain verwendet.