Grundlegendes zu Suchkomponenten
Eine KI Suchlösung besteht aus mehreren Komponenten, die jeweils einen wichtigen Teil beim Extrahieren, Anreichern, Indizieren und Durchsuchen von Daten spielen.
Datenquelle
Die meisten Suchlösungen beginnen mit einer Datenquelle, die die zu durchsuchenden Daten enthält. Azure KI-Suche unterstützt mehrere Arten von Datenquellen, einschließlich:
- Unstrukturierte Dateien in Azure Blob Storage-Containern
- Tabellen in Azure SQL-Datenbank.
- Dokumente in Cosmos DB
Aus diesen Datenquellen kann Azure KI-Suche Daten für die Indizierung abrufen.
Anwendungen können JSON-Daten auch direkt in einen Index pushen, ohne sie aus einem vorhandenen Datenspeicher zu pullen.
Fähigkeitengruppe
In einer einfachen Suchlösung können Sie einfach die aus der Datenquelle extrahierten Daten indizieren. Welche Informationen dabei extrahiert werden können, ist von der Datenquelle abhängig. Beim Indizieren von Daten in einer Datenbank können z. B. die Felder in den Datenbanktabellen extrahiert werden. Wenn mehrere Dokumente indiziert werden, können Dateimetadaten wie Dateiname, Änderungsdatum, Größe und Autor*in zusammen mit dem Textinhalt des Dokuments extrahiert werden.
Eine einfache Suchlösung, die direkt aus der Datenquelle extrahierte Datenwerte indiziert, kann zwar nützlich sein, die gestiegenen Erwartungen der Benutzer moderner Anwendungen machen jedoch umfassendere Erkenntnisse aus den Daten notwendig. In Azure KI-Suche können Sie im Rahmen des Indizierungsprozesses KI-Skills (künstliche Intelligenz) anwenden, um die Quelldaten mit neuen Informationen anzureichern, die den Indexfeldern zugeordnet werden können. Die von einem Indexer verwendeten Skills werden in einem Skillset gekapselt, das eine Anreicherungspipeline definiert, in der die Quelldaten bei jedem Schritt durch Erkenntnisse von einem bestimmten KI-Skill angereichert werden. Folgende Arten von Informationen können z. B. durch KI-Skills extrahiert werden:
- Die Sprache, in der ein Dokument geschrieben ist.
- Schlüsselbegriffe, die helfen können, die Hauptthemen oder Sujets, die in einem Dokument behandelt werden, zu bestimmen.
- Eine Standpunktbewertung, die angibt, wie positiv oder negativ ein Dokument ist.
- Bestimmte Orte, Personen, Organisationen oder Wahrzeichen, die im Inhalt erwähnt werden.
- KI-generierte Beschreibungen von Bildern oder mittels optischer Zeichenerkennung extrahierter Bildtext
- Benutzerdefinierte Skills, die Sie entwickeln, um bestimmte Anforderungen zu erfüllen
Indexerstellung
Der Indexer ist die Engine, auf der der gesamte Indizierungsprozess aufbaut. Er nimmt die Ausgaben, die mithilfe der Skills im Skillset extrahiert wurden, sowie die Daten- und Metadatenwerte an, die aus der ursprünglichen Datenquelle extrahiert wurden, und ordnet sie den Feldern im Index zu.
Ein Indexer wird automatisch ausgeführt, wenn er erstellt wird. Die Ausführung kann so eingeteilt werden, dass der Indexer in regelmäßigen Abständen oder nur bei Bedarf ausgeführt wird, um dem Index weitere Dokumente hinzuzufügen. In einigen Fällen, z. B. wenn Sie einem Index neue Felder oder einem Skillset neue Skills hinzufügen, müssen Sie den Index möglicherweise zurücksetzen, bevor Sie den Indexer wieder ausführen.
Index
Der Index ist das suchbare Ergebnis des Indizierungsprozesses. Er besteht aus einer Sammlung von JSON-Dokumenten mit Feldern, die die während der Indizierung extrahierten Werte enthalten. Clientanwendungen können den Index abfragen, um Informationen abzurufen, zu filtern und zu sortieren.
Jedes Indexfeld kann mit den folgenden Attributen konfiguriert werden:
- key: Felder, die einen eindeutigen Schlüssel für Indexdatensätze definieren
- searchable: Felder, die mithilfe der Volltextsuche abgefragt werden können
- filterable: Felder, die in Filterausdrücke eingeschlossen werden können, um nur Dokumente zurückzugeben, die den angegebenen Einschränkungen entsprechen
- sortable: Felder, mit denen die Ergebnisse sortiert werden können
- facetable: Felder, mit denen Werte für Facets bestimmt werden können (Benutzeroberflächenelemente zum Filtern der Ergebnisse basierend auf einer Liste bekannter Feldwerte)
- abrufbar: Felder, die in Suchergebnissen enthalten sein können (standardmäßig sind alle Felder abrufbar, es sei denn, dieses Attribut wird explizit entfernt)