Schnellstart: Suche nach Bildern mit dem Suchexplorer im Azure-Portal
Dieser Schnellstart zeigt Ihnen die ersten Schritte für die Bildersuche mithilfe des Assistenten zum Importieren und Vektorisieren von Daten im Azure-Portal. Außerdem wird gezeigt, wie Sie mithilfe des Such-Explorers bildbasierte Abfragen ausführen.
Die Beispieldaten bestehen aus Bilddateien im Repository azure-search-sample-data. Sie können jedoch andere Bilder verwenden und dennoch die exemplarische Vorgehensweise befolgen.
Voraussetzungen
Ein Azure-Abonnement. Erstellen Sie ein kostenloses Konto.
Ein Konto mit mehreren Azure KI Services-Diensten für die Bildvektorisierung und optische Zeichenerkennung (OCR) Für die Bildvektorisierung sind multimodale Einbettungen von Azure KI Vision erforderlich. Eine aktualisierte Regionenliste finden Sie in der Dokumentation.
Azure KI-Suche für Indizierung und Abfragen Die Ebene kann beliebig sein, aber es muss die gleiche Region wie für Azure KI mit mehreren Diensten verwendet werden.
Die Dienstebene bestimmt, wie viele Blobs indiziert werden können. Um diese exemplarische Vorgehensweise zu erstellen und den Inhalt auf zehn JPG-Dateien zu beschränken, wurde der Free-Tarif verwendet.
Azure Storage zum Speichern von Bilddateien als Blobs Verwenden Sie Azure Blob Storage oder Azure Data Lake Storage Gen2 (ein Speicherkonto mit einem hierarchischen Namespace), ein Standardleistungskonto (universell V2). Sie können die heiße oder kalte Zugriffsebene oder eine Zugriffsebene vom Typ „Cold“ verwenden.
Für alle vorherigen Ressourcen muss der öffentliche Zugriff aktiviert sein, damit die Portalknoten darauf zugreifen können. Andernfalls tritt im Assistenten ein Fehler auf. Sobald der Assistent ausgeführt wird, können Sie Firewalls und private Endpunkte für die Integrationskomponenten für die Sicherheit aktivieren. Weitere Informationen finden Sie unter Sichere Verbindungen in den Import-Assistenten.
Wenn private Endpunkte bereits vorhanden sind und Sie diese nicht deaktivieren können, besteht die alternative Option darin, den entsprechenden End-to-End-Flow von einem Skript oder Programm auf einer VM auszuführen. Die VM muss sich im selben virtuellen Netzwerk wie der private Endpunkt befinden. Hier ist ein Python-Codebeispiel für die integrierte Vektorisierung. Im gleichen GitHub-Repository gibt es Beispiele in anderen Programmiersprachen.
Ein Suchdienst im Free-Tarif bietet Unterstützung für die rollenbasierte Zugriffssteuerung für Verbindungen mit Azure KI-Suche, jedoch nicht für verwaltete Identitäten bei ausgehenden Verbindungen mit Azure Storage oder Azure KI Vision. Diese Ebene des Supports bedeutet, dass Sie die schlüsselbasierte Authentifizierung für Verbindungen zwischen einem kostenlosen Suchdienst und anderen Azure-Diensten verwenden müssen. Für Verbindungen, die sicherer sind:
- Verwenden Sie den Tarif „Basic“ oder höher.
- Konfigurieren Sie eine verwaltete Identität und Rollenzuweisungen, um Anforderungen von Azure KI-Suche für andere Azure-Dienste zuzulassen.
Überprüfen des Speicherplatzes
Wenn Sie mit dem kostenlosen Tarif beginnen, sind Sie auf drei Indizes, drei Datenquellen, drei Skillsets und drei Indexer beschränkt. Stellen Sie sicher, dass Sie über ausreichend Platz für zusätzliche Elemente verfügen, bevor Sie beginnen. In diesem Schnellstart wird jeweils eines dieser Objekte erstellt.
Vorbereiten der Beispieldaten
Laden Sie den Bildordner „unsplash-signs“ in einen lokalen Ordner herunter, oder suchen Sie nach eigenen Bildern. Verwenden Sie bei einem Suchdienst im Free-Tarif unter 20 Bilddateien, damit Sie für die Verarbeitung von Anreicherungen innerhalb des Kontingents des Free-Tarifs bleiben.
Melden Sie sich mit Ihrem Azure-Konto beim Azure-Portal an und wechseln Sie zu Ihrem Azure Storage-Konto.
Wählen Sie im linken Bereich unter Datenspeicher die Option Container aus.
Erstellen Sie einen neuen Container, und laden Sie anschließend die Bilder hoch.
Starten des Assistenten
Wenn Ihr Suchdienst und Azure KI Services sich in derselben unterstützten Region und im selben Mandanten befinden und Ihr Azure Storage Blob-Container die Standardkonfiguration verwendet, können Sie den Assistenten starten.
Melden Sie sich mit Ihrem Azure-Konto beim Azure Portal an und wechseln Sie zu Ihrem Azure AI Search-Dienst.
Wählen Sie auf der Seite Übersicht die Option Importieren und Vektorisieren von Daten aus.
Herstellen einer Verbindung mit Ihren Daten
Der nächste Schritt besteht darin, eine Verbindung mit einer Datenquelle herzustellen, die die Bilder bereitstellt.
Wählen Sie auf der Seite Datenverbindung einrichten Azure Blob Storage aus.
Geben Sie das Azure-Abonnement an.
Wählen Sie für Azure Storage das Konto und den Container aus, die die Daten bereitstellen. Verwenden Sie für die verbleibenden Felder die Standardwerte.
Wählen Sie Weiter aus.
Vektorisieren Ihres Texts
Wenn unformatierter Inhalt Text enthält oder das Skillset Text erzeugt, ruft der Assistent ein Texteinbettungsmodell auf, um Vektoren für diesen Inhalt zu generieren. Bei dieser Übung wird Text aus dem OCR-Skill erstellt, den Sie im nächsten Schritt hinzufügen.
Azure KI Vision bietet Texteinbettungen, weswegen diese Ressource für die Textvektorisierung verwendet wird.
Wählen Sie auf der Seite Ihren Text vektorisieren KI Vision-Vektorisierung aus. Sollten Sie diese Option nicht auswählen können, stellen Sie sicher, dass Azure KI-Suche und Ihr Konto mit mehreren Azure KI-Suche-Diensten sich in einer Region befinden, die Unterstützung für multimodale KI Vision-APIs bietet.
Wählen Sie Weiter aus.
Vektorisieren und Anreichern Ihrer Bilder
Verwenden Sie Azure KI Vision, um eine Vektordarstellung der Bilddateien zu generieren.
In diesem Schritt können Sie KI ebenfalls anwenden, um Text aus Bildern zu extrahieren. Der Assistent verwendet die OCR von Azure KI Services für die Texterkennung in Bilddateien.
Zwei weitere Ausgaben werden im Index angezeigt, wenn die OCR dem Workflow hinzugefügt wird:
- Das Feld
chunk
wird mit einer OCR-generierten Zeichenfolge eines beliebigen Texts aufgefüllt, der im Bild enthalten ist. - Das Feld
text_vector
wird mit einer Einbettung aufgefüllt, die die Zeichenfolgechunk
darstellt.
Der Einschluss von Nur-Text in das Feld chunk
ist hilfreich, wenn Sie Relevanzfeatures verwenden möchten, die mit Zeichenfolgen arbeiten, z. B. semantische Priorisierung und Bewertungsprofile.
Aktivieren Sie auf der Seite Ihre Bilder vektorisieren das Kontrollkästchen Bilder vektorisieren, und wählen Sie anschließend KI Vision-Vektorisierung aus.
Wählen Sie Denselben KI-Dienst verwenden, der für die Textvektorisierung ausgewählt ist aus.
Wählen Sie im Abschnitt „Anreicherung“ Text aus Bildern extrahieren und Denselben KI-Dienst verwenden, der für die Bildvektorisierung ausgewählt ist aus.
Wählen Sie Weiter aus.
Neue Felder zuordnen
Auf der Seite Erweiterte Einstellungen können Sie optional neue Felder hinzufügen. Standardmäßig generiert der Assistent die folgenden Felder mit diesen Attributen:
Feld | Gilt für: | Beschreibung |
---|---|---|
chunk_id | Text- und Bildvektoren | Generiertes Zeichenfolgenfeld. Durchsuchbar, abrufbar, sortierbar. Dies ist der Dokumentschlüssel für den Index. |
text_parent_id | Bildvektoren | Generiertes Zeichenfolgenfeld. Abrufbar, filterbar. Gibt das übergeordnete Dokument an, aus dem der Block stammt. |
image_parent_id | Bildvektoren | Generiertes Zeichenfolgenfeld. Abrufbar, filterbar. Gibt das übergeordnete Dokument an, aus dem das Bild stammt. |
Block | Text- und Bildvektoren | Zeichenfolgenfeld. Eine für Menschen lesbare Version des Datenblocks. Durchsuchbar und abrufbar, aber nicht filterbar, facettierbar oder sortierbar. |
title | Text- und Bildvektoren | Zeichenfolgenfeld. Lesbarer Dokumenttitel oder Seitentitel oder Seitenzahl. Durchsuchbar und abrufbar, aber nicht filterbar, facettierbar oder sortierbar. |
image_vector | Bildvektoren | Collection(Edm.single). Vektordarstellung des Bilds. Durchsuchbar und abrufbar, aber nicht filterbar, facettierbar oder sortierbar. |
Sie können die generierten Felder oder deren Attribute nicht ändern, aber Sie können neue Felder hinzufügen, wenn ihre Datenquelle sie bereitstellt. Beispielsweise stellt Azure Blob Storage eine Sammlung von Metadatenfeldern bereit.
Wählen Sie Neue hinzufügen aus.
Wählen Sie ein Quellfeld aus der Liste der verfügbaren Felder aus, geben Sie einen Feldnamen für den Index ein, und übernehmen Sie den Standarddatentyp, oder überschreiben Sie Ihn nach Bedarf.
Metadatenfelder sind durchsuchbar und abrufbar, aber nicht filterbar, facettierbar oder sortierbar.
Wählen Sie Zurücksetzen aus, wenn Sie das Schema auf die ursprüngliche Version wiederherstellen möchten.
Planen der Indizierung
Geben Sie auf der Seite erweiterte Einstellungen unter Zeitplanindizierung einen Ausführungszeitplan für den Indexer an. Wir empfehlen Einmal für diese Übung. Für Datenquellen, in denen die zugrunde liegenden Daten flüchtig sind, können Sie jedoch die Indizierung planen, damit die Änderungen übernommen werden.
Wählen Sie Weiter aus.
Beenden Sie den Assistenten.
Geben Sie auf der Seite Überprüfen Ihrer Konfiguration ein Präfix für die Objekte an, die der Assistent erstellen wird. Ein allgemeines Präfix hilft Ihnen, den Überblick zu behalten.
Klicken Sie auf Erstellen.
Wenn der Assistent die Konfiguration abschließt, erstellt er die folgenden Objekte:
Ein Indexer, der die Indizierungspipeline steuert
Eine Datenquellenverbindung mit Azure Blob Storage.
Einen Index mit Vektorfeldern, Textfeldern, Vektorisierungen, Vektorprofilen und Vektoralgorithmen Sie können den Standardindex während des Assistentenworkflows nicht ändern. Indizes entsprechen der 2024-05-01-Preview-REST-API, sodass Sie Previewfunktionen verwenden können.
Ein Skillset mit den folgenden fünf Skills:
- Der OCR-Skill zur Texterkennung in Bilddateien
- Der Skill für die Textzusammenführung zur Vereinheitlichung der verschiedenen Ausgaben der OCR-Verarbeitung
- Der Skill für die Textaufteilung zur Datensegmentierung. Dieser Skill ist in den Assistentenworkflow integriert.
- Der Skill Multimodale Einbettungen von Azure KI Vision zur Vektorisierung von Text, der aus der OCR generiert wurde
- Der Skill Multimodale Einbettungen von Azure KI Vision zur Vektorisierung von Bildern durch einen erneuten Aufruf
Überprüfen der Ergebnisse
Der Such-Explorer akzeptiert Text, Vektoren und Bilder als Abfrageeingaben. Sie können ein Bild in den Suchbereich ziehen oder auswählen. Der Such-Explorer vektorisiert Ihr Bild und sendet den Vektor als Abfrageeingabe an die Suchmaschine. Bei der Bildvektorisierung wird davon ausgegangen, dass Ihr Index über eine Vektorisierungsdefinition verfügt, die der Assistent zum Importieren und Vektorisieren von Daten aus Ihren Eingaben erstellt.
Wechseln Sie im Azure-Portal zu Suchverwaltung>Indizes, und wählen Sie dann den von Ihnen erstellten Index aus. Der Such-Explorer ist die erste Registerkarte.
Wählen Sie im Menü Ansicht den Befehl Bilderansicht aus.
Bewegen Sie ein Bild aus dem lokalen Ordner, der die Beispielbilddateien enthält. Öffnen Sie alternativ den Dateibrowser, um eine lokale Bilddatei auszuwählen.
Wählen Sie Suchen aus, um die Abfrage auszuführen.
Die obere Übereinstimmung sollte das Bild sein, nach dem Sie gesucht haben. Da eine Vektorsuche mit ähnlichen Vektoren übereinstimmt, gibt die Suchmaschine jedes Dokument zurück, das der eingegebenen Suchanfrage hinreichend ähnlich ist, bis zu einer Anzahl von
k
Ergebnissen. Sie können für erweiterte Abfragen, die die Relevanzoptimierung enthalten, zur JSON-Ansicht wechseln.Probieren Sie andere Abfrageoptionen aus, um die Suchergebnisse zu vergleichen:
- Blenden Sie Vektoren für eine bessere Lesbarkeit der Ergebnisse aus (Empfohlen).
- Wählen Sie ein Vektorfeld aus, für das eine Abfrage ausgeführt werden soll. Der Standardwert ist „Textvektoren“. Sie können jedoch den Bildvektor angeben, um Textvektoren aus der Abfrageausführung auszuschließen.
Bereinigung
Diese Demo verwendet abrechenbare Azure-Ressourcen. Wenn Sie die Ressourcen nicht mehr benötigen, löschen Sie sie aus Ihrem Abonnement, um Gebühren zu vermeiden.
Nächster Schritt
In diesem Schnellstart wurden Sie in den Assistenten zum Importieren und Vektorisieren von Daten eingeführt, der alle für die Bildersuche erforderlichen Objekte erstellt. Wenn Sie jeden Schritt im Detail untersuchen möchten, probieren Sie eines der integrierten Vektorisierungsbeispiele aus.