Bearbeiten

Share via


Durchsuchen und Abfragen einer unternehmensweiten Wissensdatenbank mithilfe von Azure OpenAI oder Azure AI Search

Azure Blob Storage
Azure Cache for Redis
Azure KI Search
Azure KI Services
Azure KI Dokument Intelligenz

In diesem Artikel wird beschrieben, wie Sie Azure OpenAI Service oder Azure AI Search (früher Azure Cognitive Search) verwenden, um Dokumente in Ihren Unternehmensdaten zu durchsuchen und Ergebnisse abzurufen, um eine Frage-Antwort-Umgebung im Stil von ChatGPT zu ermöglichen. In dieser Lösung werden zwei Ansätze beschrieben:

  • Einbettungsansatz: Verwenden Sie das Einbettungsmodell von Azure OpenAI, um vektorisierte Daten zu erstellen. Die Vektorsuche ist ein Feature, das die semantische Relevanz von Suchergebnissen erheblich erhöht.

  • Azure AI Search-Ansatz: Verwenden Sie Azure AI Search, um relevante Textdaten basierend auf einer Benutzerabfrage zu durchsuchen und abzurufen. Dieser Dienst unterstützt die Volltextsuche, semantische Suche, Vektorsuche und Hybridsuche.

Hinweis

Die Funktionen semantische Suche und Vektorsuche befinden sich in Azure AI Search derzeit in der öffentlichen Vorschau.

Architektur: Einbettungsansatz

Diagram that shows the embeddings approach.Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

Dokumente, die erfasst werden sollen, können aus verschiedenen Quellen stammen, z. B. Dateien auf einem FTP-Server, E-Mail-Anhänge oder Anhänge von Webanwendungen. Diese Dokumente können über Dienste wie Azure Logic Apps, Azure Functions oder Azure Data Factory in Azure Blob Storage erfasst werden. Data Factory eignet sich optimal für die Übertragung von Massendaten.

Erstellen der Einbettung:

  1. Das Dokument wird in Blob Storage erfasst. Eine Azure-Funktion wird ausgelöst, um Text aus den Dokumenten zu extrahieren.

  2. Wenn Dokumente in einer anderen Sprache als Englisch vorliegen und eine Übersetzung erforderlich ist, kann eine Azure-Funktion Azure Translator aufrufen, um die Übersetzung durchzuführen.

  3. Wenn es sich bei den Dokumenten um PDFs oder Bilder handelt, kann eine Azure-Funktion Azure KI Dokument Intelligenz aufrufen, um den Text zu extrahieren. Wenn es sich bei dem Dokument um eine Excel-, CSV-, Word- oder Textdatei handelt, kann Python-Code verwendet werden, um den Text zu extrahieren.

  4. Der extrahierte Text wird dann entsprechend segmentiert. Ein Einbettungsmodell von Azure OpenAI wird verwendet, um jeden Block in Einbettungen zu konvertieren.

  5. Diese Einbettungen werden in der Vektordatenbank persistiert. Diese Lösung verwendet die Enterprise-Ebene von Azure Cache for Redis, jedoch kann jede Vektordatenbank verwendet werden.

Abfragen und Abrufe:

  1. Der Benutzer sendet eine Abfrage über eine Benutzeranwendung.

  2. Das Einbettungsmodell von Azure OpenAI wird verwendet, um die Abfrage in Vektoreinbettungen zu konvertieren.

  3. Eine Vektorähnlichkeitssuche, die diesen Abfragevektor in der Vektordatenbank verwendet, liefert die besten k übereinstimmenden Inhalte zurück. Der abzurufende übereinstimmende Inhalt kann anhand eines Schwellenwerts festgelegt werden, der durch ein Ähnlichkeitsmaß definiert wird, wie z. B. Kosinusähnlichkeit.

  4. Der beste k abgerufene Inhalt und die Systemeingabeaufforderung werden an das Sprachmodell von Azure OpenAI gesendet, z. B. GPT-3.5 Turbo oder GPT-4.

  5. Die Suchergebnisse werden als Antwort auf die Suchabfrage angezeigt, die vom Benutzer initiiert wurde. Andernfalls können die Suchergebnisse als Grundlagendaten für eine mehrteilige Unterhaltung verwendet werden.

Architektur: Pull-Ansatz von Azure AI Search

Diagram that shows the pull approach.Laden Sie eine Visio-Datei dieser Architektur herunter.

Indexerstellung:

  1. Azure AI Search wird verwendet, um einen Suchindex der Dokumente in Blob Storage zu erstellen. Azure AI Search unterstützt Blob Storage. Daher wird das Pull-Modell verwendet, um den Inhalt zu durchsuchen. Die Funktion wird über Indexer implementiert.

    Hinweis

    Wenn das Pull-Modell verwendet wird, unterstützt Azure AI Search für die Indizierung andere Datenquellen. Dokumente können auch aus mehreren Datenquellen indiziert und in einem einzelnen Index konsolidiert werden.

  2. Wenn bestimmte Szenarien die Übersetzung von Dokumenten erfordern, kann Azure Translator verwendet werden. Dabei handelt es sich um ein integriertes Feature.

  3. Wenn die Dokumente nicht durchsucht werden können, z. B. gescannte PDFs oder Bilder, kann KI mithilfe integrierter oder benutzerdefinierter Skills als Skillsets in Azure AI Search verwendet werden. Das Anwenden von KI auf Inhalte, die nicht durch Volltext durchsuchbar sind, wird als KI-Anreicherung bezeichnet. Je nach Anforderung kann Azure KI Dokument Intelligenz als benutzerdefinierter Skill verwendet werden, um Text aus PDFs oder Bildern über Dokumentanalysemodelle, vordefinierte Modelle oder benutzerdefinierte Extraktionsmodelle zu extrahieren.

    Wenn eine KI-Anreicherung erforderlich ist, muss zum Laden eines Index das Pull-Modell (Indexer) verwendet werden.

    Wenn Vektorfelder zum Indexschema hinzugefügt werden, das die Vektordaten für die Indizierung lädt, kann die Vektorsuche durch Indizieren dieser Vektordaten aktiviert werden. Vektordaten können über Azure OpenAI-Einbettungen generiert werden.

Abfragen und Abrufe:

  1. Ein Benutzer sendet eine Abfrage über eine Benutzeranwendung.

  2. Die Abfrage wird über die REST-API zum Durchsuchen von Dokumenten an Azure AI Search übergeben. Der Abfragetyp kann einfach sein, was für eine Volltextsuche optimal ist, oder vollständig, was für erweiterte Abfragekonstrukte wie reguläre Ausdrücke oder die Fuzzy-, Platzhalter- und NEAR-Suche geeignet ist. Wenn der Abfragetyp auf Semantik festgelegt ist, wird eine semantische Suche für die Dokumente durchgeführt, und der relevante Inhalt wird abgerufen. Azure AI Search unterstützt auch die Vektorsuche und die Hybridsuche, bei der die Benutzerabfrage in Vektoreinbettungen konvertiert werden muss.

  3. Der abgerufene Inhalt und die Systemeingabeaufforderung werden an das Sprachmodell von Azure OpenAI gesendet, z. B. GPT-3.5 Turbo oder GPT-4.

  4. Die Suchergebnisse werden als Antwort auf die Suchabfrage angezeigt, die vom Benutzer initiiert wurde. Andernfalls können die Suchergebnisse als Grundlagendaten für eine mehrteilige Unterhaltung verwendet werden.

Architektur: Push-Ansatz von Azure AI Search

Wenn die Datenquelle nicht unterstützt wird, können Sie das Push-Modell verwenden, um die Daten in Azure AI Search hochzuladen.

Diagram that shows the push approach.Laden Sie eine Visio-Datei dieser Architektur herunter.

Indexerstellung:

  1. Wenn das zu erfassende Dokument übersetzt werden muss, kann Azure Translator verwendet werden.
  2. Wenn das Dokument ein nicht durchsuchbares Format aufweist, z. B. eine PDF-Datei oder ein Bild, kann Azure KI Dokument Intelligenz zum Extrahieren von Text verwendet werden.
  3. Der extrahierte Text kann über die Vektorsuche von Azure OpenAI-Einbettungen vektorisiert werden. Die Daten können über eine Rest-API oder ein Azure SDK in einen Index von Azure AI Search gepusht werden.

Abfragen und Abrufe:

Die Abfrage und der Abruf in diesem Ansatz entsprechen dem Pull-Ansatz weiter oben in diesem Artikel.

Komponenten

  • Azure OpenAI bietet über eine REST-API Zugriff auf die Sprachmodelle von Azure OpenAI, einschließlich GPT-3, Codex und der Modellserien für Einbettungen, um Inhalte zu generieren und zusammenzufassen sowie die semantische Suche und die Übersetzung natürlicher Sprachen in Code zu ermöglichen. Sie können über eine REST-API, das Python SDK oder die webbasierte Schnittstelle in Azure OpenAI Studio auf den Dienst zugreifen.

  • Azure KI Dokument Intelligenz ist ein Azure KI-Dienst. Er verfügt über Dokumentanalysefunktionen, um gedruckten und handschriftlichen Text, Tabellen und Schlüsselwertpaare zu extrahieren. Azure KI Dokument Intelligenz bietet vordefinierte Modelle, mit denen Daten aus Rechnungen, Dokumenten, Belegen, Ausweisdokumenten und Visitenkarten extrahiert werden können. Sie können die Lösung auch verwenden, um benutzerdefinierte Modelle mithilfe einer benutzerdefinierten Vorlage oder eines benutzerdefinierten neuronalen Dokumentmodells zu trainieren und bereitzustellen.

  • Document Intelligence Studio bietet eine Benutzeroberfläche zum Erkunden von Features und Modellen von Azure KI Dokument Intelligenz sowie zum Erstellen, Markieren, Trainieren und Bereitstellen benutzerdefinierter Modelle.

  • Azure AI Search ist ein Clouddienst, der Infrastruktur, APIs und Tools zum Suchen bereitstellt. Verwenden Sie Azure AI Search, um Suchumgebungen für private und verschiedene Inhalte in Web-, Mobil- und Unternehmensanwendungen zu erstellen.

  • Blob Storage ist die Objektspeicherlösung für rohe Dateien in diesem Szenario. Blob Storage unterstützt Bibliotheken für verschiedene Sprachen, z. B. .NET, Node.js und Python. Anwendungen können über HTTP oder HTTPS auf Dateien in Blob Storage zugreifen. Blob Storage verfügt über heiße, kalte und Archivspeicherebenen, um Kostenoptimierung für das Speichern großer Datenmengen zu unterstützen.

  • Die Enterprise-Ebene von Azure Cache for Redis stellt verwaltete Redis Enterprise-Module bereit wie RediSearch, RedisBloom, RedisTimeSeries und RedisJSON. Vektorfelder ermöglichen eine Vektorähnlichkeitssuche, die eine Vektorindizierung in Echtzeit (Brute-Force-Algorithmus (FLAT) und hierarchischer navigierbarer Small-World-Algorithmus (HNSW)), Vektoraktualisierungen in Echtzeit und die k-nächste Nachbarsuche unterstützt. Azure Cache for Redis stellt eine kritische Datenspeicherlösung mit geringer Latenz und hohem Durchsatz für moderne Anwendungen bereit.

Alternativen

Abhängig von Ihrem Szenario können Sie die folgenden Workflows hinzufügen.

Szenariodetails

Die manuelle Verarbeitung ist aufgrund der erheblichen Menge an Dokumenten zunehmend zeitaufwendig, fehleranfällig und ressourcenintensiv. Organisationen, die eine große Anzahl von Dokumenten, größtenteils unstrukturierte Daten verschiedener Formate wie PDF, Excel, CSV, Word, PowerPoint und Bildformate verarbeiten, stehen vor einer erheblichen Herausforderung bei der Verarbeitung gescannter und handschriftlicher Dokumente und Formulare ihrer Kunden.

Diese Dokumente und Formulare enthalten wichtige Informationen wie persönliche Daten, die Krankengeschichte sowie Schadensbewertungen, die genau extrahiert und verarbeitet werden müssen.

Organisationen verfügen häufig bereits über eigene Wissensdatenbanken von Informationen, die verwendet werden können, um Fragen mit der am besten geeigneten Antwort zu beantworten. Sie können die in diesen Lösungen beschriebenen Dienste und Pipelines verwenden, um eine Quelle für Suchmechanismen von Dokumenten zu erstellen.

Mögliche Anwendungsfälle

Diese Lösung bietet Organisationen in Branchen wie der Arzneimittelindustrie und Finanzdienstleistungen einen Mehrwert. Sie ist für jedes Unternehmen geeignet, das über eine große Anzahl von Dokumenten mit eingebetteten Informationen verfügt. Die KI-gestützte End-to-End-Suchlösung kann verwendet werden, um aussagekräftige Informationen aus den Dokumenten basierend auf der Benutzerabfrage zu extrahieren, um eine Frage- und Antwortumgebung im Stil von ChatGPT zu ermöglichen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

  • Dixit Arora | Senior Customer Engineer, ISV DN CoE
  • Jyotsna Ravi | Principal Customer Engineer, ISV DN CoE

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte