Freigeben über


Design von Erddaten für KI-Workloads in Azure

Bei KI-Anwendungen muss der Well-Architected Framework-Ansatz für das Datendesign nicht funktionsfreie Anforderungen wie Operierbarkeit, Kosten und Sicherheit erfüllen und die Kernprinzipien von Azure Well-Architected Framework-Säulen einhalten. Sie sollte auch funktionale Anforderungen berücksichtigen, z. B. Datenaufnahme, Vorbereitung und Validierung.

Das von Ihnen ausgewählte KI-Modell wirkt sich auf nachfolgende Datenentwurfsentscheidungen aus. In diesem Artikel werden wichtige Architekturüberlegungen für Foundationmodelle erläutert, die eine Erweiterung benötigen, um die Ergebnisrelevanz zu verbessern. Diese Modelle sind in der Regel generativ.

Generative KI-Modelle sind vorkonfiguriert oder vortrainiert, sodass Sie sie sofort verwenden können, ohne Änderungen vorzunehmen. Out-of-the-Box-Modelle erfüllen jedoch häufig keine spezifischen Arbeitsauslastungsanforderungen. Um dieses Problem zu beheben, werden Modelle mit kontextspezifischen Daten erweitert, um ihre Leistung zu verbessern. Sie können z. B. das GPT-Modell in verschiedenen Anwendungsfällen verwenden. Zu diesen Anwendungen gehören das Abrufen von Informationen aus Dokumenten, die Bereitstellung von IT-Helpdesk-Support und das Zusammenfassen komplexer Informationen. Um Foundation-Modelle für Ihre spezifischen Anforderungen zu verwenden, ist es wichtig, diese Überlegungen zu verstehen.

Wichtig

Das Datendesign ist ein iterativer Prozess, der auf statistischen Experimenten basiert. Generative KI-Anwendungen senden Abfragen an das Modell, das die Eingabeaufforderungs- und Kontextdaten enthält. Um den Datenentwurf zu verfeinern, sollten sowohl die Eingabeaufforderungs- als auch die Kontextdaten durchlaufen werden. Der iterative Prozess sollte die Vorverarbeitung, die Auswahl von Einbettungen und Blöcke umfassen. Diese Schritte helfen beim Erstellen von Daten, die für einen Index geeignet sind. Weitere Informationen finden Sie unter Entwerfen und Entwickeln einer RAG-Lösung (Retrieval Augmented Generation).

Beachten Sie beim Experimentieren und Durchlaufen die Verbrauchsanwendungsfälle. Passen Sie den Datenentwurf basierend auf tatsächlichen Abfragemustern an. Ermitteln Sie, was durch Verfeinerung und Tests akzeptabel ist.

In einer Lösung können Sie eine Kombination aus generativen KI- und diskriminativen KI-Modellen verwenden, um die Workloadanforderungen zu erfüllen. Weitere Informationen zu Schulungsdaten finden Sie im Schulungsdatenentwurf.

Empfehlungen

Hier ist die Zusammenfassung der Empfehlungen in diesem Artikel.

Empfehlung Beschreibung
Benutzerabfragen antizipieren. Verstehen Sie die erwarteten Arten von Fragen im Zusammenhang mit Ihren Quelldaten und deren Erwartungen an Aktualität. Mit diesem Verständnis können Sie Ihre Datenpipelinen und Indizes entwerfen, um relevante Erdungsdaten bereitzustellen.
Externalisieren von Daten in einen Suchindex. Verwenden Sie anstelle einer direkten Abfrage aus dem Quellsystem einen Suchindex. Auswerten verschiedener Indextechnologien basierend auf Arbeitsauslastungsanforderungen. Erstellen Sie eine Funktionsmatrix, um die besten Anforderungen zu bewerten. Erwägen Sie leistungsstarke Suchindextechnologien wie Elasticsearch oder AI Search.

Indizierung
Entwickeln Sie eine Aufnahmestrategie. Entwickeln Sie eine umfassende Indexverwaltungsstrategie, die die Erfassung und Vorverarbeitung von Daten abdeckt. Entfernen Sie laute oder irrelevante Daten, indem Sie Inkonsistenzen und Duplikate adressieren und auf ein allgemeines Schema standardisieren. Konvertieren Sie Quellformate und -typen in Datentypen, die abfragen und analysieren.

Datenaufbereitung
Datenvolume-Rescoping
Entwerfen Sie Ihren Index für maximale Relevanz. Aktivieren Sie Features wie Filtern, Sortieren und Metadatenverarbeitung für bestimmte Felder, um die Abfrageeffizienz zu verbessern. Bezeichnungsfelder können z. B. nur dann als durchsuchbar sein, wenn Sie sie durchsuchen möchten. Um unnötige Speicherkosten zu vermeiden, können Sie nicht jedes Feld ohne einen bestimmten Anwendungsfall abrufen.

Schemaentwurf
Indexfunktionen
Effiziente Abfrage
Aktualisieren Sie Ihren Index, um das Ableiten von veralteten Daten zu verhindern. Wenn Sie einen Index aktualisieren, sollten Sie eine parallele Bereitstellungsstrategie für die Wartung einführen. Durch die Neuerstellung des Indexes wird sichergestellt, dass Löschvorgänge und Aktualisierungen verarbeitet werden, da der Index zu einem neuen Datensatz wird. Dieser Ansatz ermöglicht gründliche Tests der Daten, bevor der Index live ist. Wenn Sie Änderungen an Indizes vornehmen, koordinieren Sie Schemaänderungen mit Codeaktualisierungen. Diese Praxis sorgt für nahtlose Übergänge.

Indexwartung

Datentypen

Sie können generative KI-Modelle erweitern, indem Sie Kontextdaten während der Ableitung verwenden oder sie durch einen Feinabstimmungsprozess weiter optimieren. Beide Ansätze benötigen ergänzende Daten, die dem Modell mehr Kontext bieten. Das Modell verwendet diesen Kontext, um die Benutzerabfrage zu beantworten, und bildet die Antwort entsprechend den Erwartungen. In der Regel verwenden Sie die folgenden Datentypen:

  • Quelldaten sind vorhandene Daten in der Produktion. Diese Daten können wie Daten in Datenbanken oder halbstrukturiert wie JSON-Dateien strukturiert sein. Sie kann auch unstrukturiert sein, z. B. Dokumente, Bilder und Audiodateien.

  • Erdungsdaten stammen aus Quelldaten, die Informationen zu Themen enthalten, die nicht in den anfänglichen Schulungsdaten des Modells behandelt werden. Erdungsdaten werden mit der Benutzerabfrage kombiniert, um die Eingabeaufforderung zu bilden, die im Kontext eines bestimmten Rückschlussaufrufs an das große Sprachmodell gesendet wird. Andere Daten, die Sie in den Rückschlussaufruf aufnehmen können, sind die Systemaufforderung, Einschussbeispiele oder beispiele für wenige Aufnahmen sowie Kontextdaten wie vorherige Interaktionen.

    Diese Daten sollten leicht durchsuchbar und schnell abrufbar sein. Aufgrund dieser Anforderung sollten Sie die Daten in einem Index speichern, der für die Suche optimiert ist. Auf diesen Index wird in Echtzeit zugegriffen, während der Benutzer auf die Antwort wartet. Ohne diese Daten kann das Modell falsche Ergebnisse erzeugen oder nicht auf das, was der Benutzer gerade sucht, anwendbar sein.

  • Feinabstimmungsdaten sind Informationen, die verwendet werden, um das Modell zu beeinflussen, damit sie sich an bestimmte Aufgaben, Domänen oder Antwortstile für zukünftige Ableitungsanforderungen anpassen kann. Wenn beispielsweise erwartet wird, dass das Modell Antworten in einem bestimmten Grammatikstil bereitstellt, würde diese Formatvorlage als Feinabstimmungsdaten dienen.

  • Benutzerdaten enthalten Informationen, die von Benutzern während interaktionen mit der Anwendung bereitgestellt werden. Wenn Sie mit generativen Modellen interagieren, treten zustandsbehaftete Interaktionen auf. Diese Modelle fehlen inhärentes Gedächtnis und behandeln jede Interaktion als atom.

    Wenn Sie zustandsbehaftete Interaktionen verwalten, auch als TURN-Daten in Chatanwendungen bezeichnet, ist es wichtig, Daten für die kürzeste Zeit zu speichern, die erforderlich ist. Im Idealfall sollten diese Daten nach Beendigung der Sitzung zerstört werden. Es kann jedoch betriebliche oder Compliance-Gründe geben, aus denen Sie bestimmte Daten aufbewahren müssen, z. B. die ursprüngliche Frage oder die Antwort des Modells, über die Dauer der Sitzung hinaus. Vermeiden Sie nach Möglichkeit, diese Daten in der Sitzung zu speichern.

Indizierung

Der Kern des Datenentwurfs umfasst effizientes Speichern und Verwalten von Basisdaten. Mit diesem Ansatz wird sichergestellt, dass Daten erweitert werden können, um die höchste Relevanz zu erzielen.

Eine einfache KI-Strategie kann das Abfragen der Quelldaten für jede Benutzerinteraktion umfassen. Dieser Ansatz ist jedoch aufgrund der hohen Kosten und Komplexitäten direkter Datenquelleninteraktionen nicht praktikabel. Stattdessen sollten Sie Quelldaten als Kopie in einem Index neu verwenden, der für die Suche und den Abruf optimiert ist. Ziel dieses Ansatzes ist es, das Verständnis des Modells und seine Fähigkeit, relevante Antworten zu generieren, zu verbessern.

Erwägen Sie eine Bankarbeitsauslastung, die Details zu Benutzerkonten und Präferenzen und Finanztransaktionen in einem Datenspeicher speichert. In einem generativen KI-Szenario, das ein RAG-Muster verwendet, werden Erdungsdaten mit Kontext erstellt und indiziert, damit das Modell relevante Antworten geben kann. Durch die Bereitstellung relevanter Daten zu Benutzertransaktionen für kontextbezogene Ableitungen kann das Modell beispielsweise Fragen im Zusammenhang mit den Ausgabenmustern des Benutzers im letzten Quartal beantworten.

Spezialisierte Indextechnologie

Erwägen Sie, die Erdungsdaten in einen Suchindex zu externalisieren. Verwenden Sie diesen Ansatz, anstatt direkt aus dem Quellsystem abfragen zu müssen.

Es gibt Vorteile der Verwendung des Suchindexes. Sie können die Kopie der Daten entsprechend den erwarteten Abfragen modellieren und transformieren. Direkte Abfragen an die primäre Quelle sind problematisch, da auf Quelldaten nicht zugegriffen werden kann. Ein Index stellt sicher, dass die Daten verfügbar bleiben, solange sie für die Anwendung relevant sind. Außerdem vermeiden Sie es, das Quelldatensystem zu betonen. Diese Strategie stellt sicher, dass KI-bezogene Abfragen den primären Anwendungsfall nicht beeinflussen.

Einige Technologieoptionen verfügen über Selbstindizierungsfunktionen. Indizes können sich an Datenquellen wenden und ihre Daten integrieren. Für diese Option sind Netzwerküberlegungen wichtig. Wenn der Index eine Verbindung mit Datenbanken herstellen muss, gibt es potenzielle Probleme, z. B. Netzwerklatenz und Zuverlässigkeit.

Es gibt eine Anfangskosten für den Import von Daten. Nachdem sich die Daten in Ihrem Index befinden, müssen Sie sie nicht erneut verschieben, es sei denn, es gibt Änderungen oder Aktualisierungen. Die Datenverwaltung im Laufe der Zeit ist ein wichtiger Aspekt des Indexdesigns. Weitere Informationen finden Sie unter Indexwartung.

Standardindex oder benutzerdefinierter Index

Bestimmte Technologien unterstützen das automatische Erstellen eines Standardindexes für Ihre Daten. Dieser Index wird bei der Datenaufnahme mit minimaler Eingabe generiert. Der Index verfügt über sofort einsatzbereite Funktionen. Ein Standardindex kann für die Machbarkeit von Konzepten und einigen Produktionsszenarien akzeptabel sein.

Einige Szenarien erfordern möglicherweise, dass Sie über ein benutzerdefiniertes Indexschema verfügen, um die Relevanz basierend auf bestimmten Workloadanforderungen zu verbessern. Diese Anforderungen legen fest, wie Sie das Schema entwerfen, Indexfunktionen aktivieren und relevante Metadaten einschließen.

Schemaentwurf

Sie können sich Indizes als Strukturen vorstellen, die Daten für den Abruf organisieren und optimieren. Genauer gesagt, organisieren sie Daten in Dokumenten und Feldern einer Tabelle. Beachten Sie folgende Punkte:

  • Indextopologie. Bewerten Sie, ob alle Daten in einem einzelnen Index zusammengefasst oder über mehrere Indizes verteilt werden sollen. Diese Entscheidung wirkt sich erheblich auf die Abfrageleistung, die Indexwartung, die Einfachheit der Abfrage und die unterschiedlichen Feldkonfigurationen (oder Schemas) zwischen Dokumenten aus.

    Betrachten Sie beispielsweise Benutzerabfragen, die Inhalte in einer bestimmten Sprache anfordern. Die einfachste Datenentwurfsauswahl besteht möglicherweise darin, alle Sprachen in eine Sprache zu übersetzen und in einem einzigen Index zu speichern. Oder Daten können in allen Sprachen in einem einzigen Index gespeichert werden. Diese Auswahl führt zu mehreren Dokumenten für jede Sprache. Die Filterfunktion des Indexes kann verwendet werden, um die Ergebnisse auf die gewünschte Sprache zu beschränken. Alternativ kann jeder Index die übersetzten Versionen für eine bestimmte Sprache wie erwartet in der Abfrage enthalten.

    In einigen Fällen benötigen Sie möglicherweise mehrere Suchindizes. Mit diesem Ansatz können Sie jeden Index unabhängig für die maximale Relevanz aus Ihren Suchabfragen optimieren. Beispielsweise dienen ein Personalmitarbeiterhandbuch und ein Produktwartungshandbuch verschiedenen Zwecken und Zielgruppen. Indem Sie sie separat indizieren, können Sie das Schema und die Suchabfragen für jede anpassen, wodurch die Benutzererfahrung verbessert wird. Dieser Ansatz kann für die Implementierung komplex sein und erfordert einen Orchestrator, um Aufrufe an jeden Index zu erleichtern. Die Orchestrierungskomponente wird im Anwendungsentwurf für KI-Workloads in Azure beschrieben.

Hinweis

Die Wahl zwischen den beiden Topologien und der Datensegmentierungsstrategie hängt von Workloadanforderungen, Anwendungsfällen und Benutzererwartungen ab.

Das Ausführen von Indexabfragen kann eine Herausforderung darstellen und sich auf die Relevanz der Suche auswirken. Im schlimmsten Fall können ergebnisse manuell durchforstet werden, wobei entschieden wird, welche kriterien erfüllt sind. Dieser Prozess führt zu Latenz und fügt Komplexität hinzu. Im Gegensatz dazu ist ein einzelner Indexansatz einfacher und einfacher. Relevanz kann mithilfe von Indexfunktionen wie Filtern verbessert werden.

In einigen Fällen führen Complianceüberlegungen dazu, dass separate Indizes erforderlich sind. Wenn beispielsweise geschäftsspezifische Anforderungen erfordern, dass Daten zwischen Europa und Amerika isoliert sind, können mehrere Indizes unvermeidlich sein.

  • Dokumententwurf. Richten Sie Ihren Datenentwurf mit erwarteten Benutzerabfragen aus, um die Relevanz zu optimieren. Überlegen Sie, wie jedes Dokument Abfragen bereitstellen soll. Bei Suchindizes priorisieren Sie relevante Dokumente, und verfeinern Sie die Ergebnisse auf einen präzisen Satz, der dicht mit relevanten Informationen verpackt ist.

  • Feldentwurf. Konfigurieren Sie Ihre Indexfelder, um die Suchleistung und Relevanz zu unterstützen. Ihre Indexfelder sollten den Dokumentattributen zugeordnet werden, die Sie durchsuchbar, abrufbar, filterbar und sortierbar machen möchten. Dazu gehören Einbettungen, IDs oder andere Daten, die die Suche steigern können.

Indexfunktionen

Konfigurieren Sie die Suchindexfelder, um den relevantesten Satz von Dokumenten zurückzugeben. Die Entscheidung hängt von den Funktionen ab, die die Suchindextechnologie und die Workloadanforderungen unterstützen.

  • Filter-, Such- und Sortieroptionen. Berücksichtigen Sie diese Optionen, da sie direkt mit Anwendungsfällen für die Erweiterung zusammenhängen. Filterbar bestimmt z. B. "true" oder "false" anhand eines Werts, der in der Abfrage angegeben ist, und gibt relevante Dokumente zurück. Für die Suchbarkeit gibt das Attribut an, ob die Suchabfrage auf das Feld verweisen kann. Beispielsweise können Sie überprüfen, ob ein Textfeld einen bestimmten Text enthält oder ob es mathematisch mit einem anderen Vektor verknüpft ist. Optional können Sie diesem Feld als Teil der Suchabfrage eine relative Gewichtung zuweisen. Sie können auch Resultsets sortieren, die die Ergebnisse nach Relevanz auflisten.

    Kompromiss. Durch die Aktivierung von Funktionen zum Indizieren von Feldern werden die Platzanforderungen erhöht, was sich auf die Kosten auswirkt. Fügen Sie nur Funktionen hinzu, die Sie verwenden möchten.

  • Metadaten. Indizes weisen in der Regel Metadaten auf, die indexfeldern zugeordnet sind. Metadaten helfen uns, Daten zu verstehen und zu verwalten, indem relevante Details dazu bereitgestellt werden. Berücksichtigen Sie beim Entwerfen von Indizes, ob Metadaten abgerufen werden können oder nur für die Relevanzermittlung verwendet werden. Die Entscheidung wirkt sich auf die Berechnungskosten aus, da sich der zugrunde liegende Indizierungsprozess unterscheidet. Übermäßige Metadaten können die Größe des Indexes unnötig erhöhen.

Es gibt viele Technologieoptionen für die Indizierung. Viele teilen ähnliche Merkmale, z. B. die zuvor aufgeführten. Einige Indizes verfügen möglicherweise über zusätzliche Features, z. B. die Verarbeitung von Text und Sprachanalysen während der Indizierung. Um Text besser für die Indizierung und Suche geeignet zu machen, Text in Token zu unterteilen, in Kleinbuchstaben zu konvertieren oder Stoppwörter zu entfernen.

Effizientes Abfragen

Erdungsdaten werden in generativen KI-Anwendungen verwendet, um die Genauigkeit und Relevanz der Antworten auf Benutzerabfragen zu erhöhen. Berücksichtigen Sie Benutzerabfragen vorab. Verstehen Sie, welche Fragen gestellt werden können, wer sie stellt und wie häufig sie gestellt werden. Diese Informationen helfen dem Anwendungsformularkontext und verstehen, welches Ergebnis relevant sein könnte.

Typische Suchtypen sind:

  • Vektorabfragen suchen nach ähnlichen Elementen basierend auf ihren Vektordarstellungen oder Datenpunkten in einem hochdimensionalen Raum.

  • Stichwortsuche sucht innerhalb des gesamten Inhalts von Textdokumenten. Es indiziert und fragt große Mengen von Textdaten ab und wird häufig in Suchmaschinen, Datenbanken und Dokumentenverwaltungssystemen verwendet.

  • Die semantische Rangfolge verbessert die Relevanz von Suchergebnissen, indem sie sie basierend auf ihrer semantischen Relevanz für die Abfrage neu anordnen und die semantisch relevantesten Übereinstimmungen an den Anfang der Liste anordnen.

  • Die Hybridsuche kombiniert verschiedene Suchtypen, z. B. Vektorsuche, Volltextsuche und semantische Rangfolge, um die Relevanz der Suchergebnisse weiter zu verbessern.

Um die Modellleistung weiter zu verbessern, kombinieren Sie Suchtypen.

Die Art und Weise, in der Daten gespeichert und verarbeitet werden, wirkt sich auf die Abfrageeffizienz aus. Jedes Mal, wenn Daten zu einem Index hinzugefügt werden, werden Computezyklen für die Indizierung benötigt. Wenn die Indizierung und Das Beantworten von Abfragen auf denselben Computeressourcen durchgeführt werden, kann es zu Einem Ergebnis kommen. Im Idealfall sollte sich ein Index auf das Hauptziel konzentrieren, Abfragen effizient zu beantworten und relevante Dokumente zu finden, anstatt zu übermäßig indizieren.

Kosten und Leistung sind wichtige Faktoren des Indexdesigns. Techniken wie das Erstellen von Schattenkopien können die Abfrage beschleunigen. Die Datenduplizierung erfolgt jedoch über Indizes, die Kosten verursachen.

Kompromiss. Indexdesign sollte sowohl Kosten als auch Leistung berücksichtigen. Durch Optimieren von Speicher und Priorisierung effizienter Abfrageantworten und relevanter Dokumentabrufe gegenüber übermäßiger Indizierung wird ein Gleichgewicht gesetzt.

Für Technologieoptionen für den Datenspeicher bieten Suchindizes wie Elasticsearch oder AI Search leistungsstarke Suchfunktionen, einschließlich vektorisierter und relevanter Suchvorgänge. Alternativ können Sie Datenbankoptionen in Betracht ziehen, die den Typ der von Ihnen benötigten Daten und die benötigten Abfragetypen unterstützen, da sie für die Abfrage optimiert sind. Letztendlich geht es um die Fähigkeiten, die durch die Optionen und die Investition der Erstellung neuer Fähigkeiten im Team geboten werden.

Datenaufbereitung

Erdungsdaten basieren auf vorhandenen Daten, die für die semantische Abfrage geeignet sein müssen. Einige Abfragen, um relevante Dokumente im Index zu finden, können Literalabgleich sein. Für andere Abfragen ist ein Fuzzyabgleich erforderlich.

Bevor kontextbezogene Daten bereit sind, um das Ableiten von Anforderungen an das Modell zu unterstützen, gibt es einen Vorabverarbeitungsschritt, der auf das Bereinigen, Transformieren und Strukturieren von Daten abzielt. Ziel ist es, Rauschen und Verzerrungen zu reduzieren, effizient zu suchen und die Relevanz der Indexsuchen zu maximieren. Die Auswahltools oder -logik für die Vorverarbeitung hängen vom Workloadteam ab, aber es gibt einige allgemeine Überlegungen.

Datenvolume-Rescoping

Datenvolume-Rescoping umfasst das Anpassen des Datenumfangs durch Erweitern oder Einschränken der Daten, um einen engen Index zu erstellen, sodass die Relevanz erhöht wird. Die Abfrageeffizienz ist ein weiterer wichtiger Aspekt. Das Speichern unnötiger Daten wirkt sich negativ auf beide Ziele aus. Ziehen Sie beispielsweise Standortdaten für einen Benutzer in Betracht. Wenn nur der Stadtteil relevant ist, optimieren Sie diese, indem Sie nur den Stadttext anstelle des Volltexts speichern, der die Adresse darstellt.

Im Folgenden finden Sie einige allgemeine Überlegungen.

  • Eliminierung von Daten. Behalten Sie nur das Wesentliche für die Funktionalität des Produkts bei, und verwerfen Sie unnötige Details. Hier sind einige allgemeine Beispiele aufgeführt.

    • Qualitative Eliminierung. Eine Möglichkeit, von einem breiten Bereich zu einem engeren relativeren Bereich zu wechseln, besteht darin, qualitativ hochwertige Daten zu beseitigen, indem selektiv nur relevante Quelldaten indiziert werden. Die Herausforderung liegt darin, Inhalte programmgesteuert zu identifizieren, die für KI-Szenarien nicht relevant sind. Während der Inhalt für andere Absichten nützlich sein kann, z. B. Überwachung oder Vollständigkeit, einschließlich der Inhalte in der KI-Workload, kann die Relevanz verringern. Eine Möglichkeit zum Kennzeichnen solcher Inhalte besteht darin, Metadaten zu verwenden, die zur Indexpopulationszeit verwendet werden können, wenn der Inhalt dem Index hinzugefügt werden muss.

    • Vertrauliche Daten: Das Kopieren von Daten aus Quelldaten in einen Index kann auch vertrauliche Informationen bewirken. Beachten Sie die auf der Quelle angewendeten Datenklassifizierungsbezeichnungen, und behalten Sie die gleiche Vertraulichkeitsstufe für diesen Datensatz bei. Wenn Sie mit Daten umgehen, die personenbezogene Informationen enthalten, speichern Sie personenbezogene Daten nicht, es sei denn, Sie benötigen sie, um auf die Abfrage zu antworten. Wenden Sie beispielsweise die Datenklassifizierung beim Indizieren von E-Mails an. Wenn eine E-Mail als vertraulich gekennzeichnet ist, vermeiden Sie die Speicherung in einem allgemeinen Vertraulichkeitsdatenspeicher.

    • Normalisieren und Standardisieren von Text. Die Adressierung von Tippfehlern und Standardisierung von Text ist für schlüsselwortbasierte Indizes von entscheidender Bedeutung. Ein potenzieller Anwendungsfall ist Übersetzungen, insbesondere beim Umgang mit mehrsprachigen Inhalten.

      Diese Art von Vorverarbeitung ist auch für Einbettungen erforderlich, mit der Sie Wörter anhand ihres Kontexts und ihrer Bedeutung vergleichen können. Eine Herausforderung tritt jedoch aus der Groß-/Kleinschreibung von Wörtern auf. Kontext ist wichtig, und es kann Nuancen geben, z. B. die semantischen Unterschiede zwischen dem Adjektiv "civic" und dem richtigen Substantiv "(Honda) Civic".

  • Datenzugabe. Das Erweitern des Kontexts basiert häufig auf Metadaten, die in der Regel nicht in Quelldaten vorhanden sind. Betrachten Sie z. B. einen Textausschnitt. Ein Mensch in der Schleife oder KI erstellt relevante Fragen, die mithilfe des Kontexts des Codeausschnitts beantwortet werden können. Wenn Sie diese Fragen zusammen mit den Erdungsdaten speichern, können Benutzerabfragen mit den generierten Abfragen verglichen werden, um die Dokumentlevanz auszuwerten. Die Kolocation dieser neuen Daten mit Geerdetdaten ist eine leistungsstarke Möglichkeit zum Anreichern von datenblöcken.

    Ein weiterer Anwendungsfall ist additionsentitäten, die beim Analysieren unstrukturierter Daten gefunden werden. Diese Entitäten können dem Index hinzugefügt und zum Suchen und Filtern externer Systeme verwendet oder zum Ausführen komplexer Berechnungen verwendet werden. Wenn wir beispielsweise einen Firmennamen identifizieren, können wir seine Branche oder andere relevante Informationen aus einer externen Datenbank nachschlagen und diese zu unserem Index hinzufügen.

    Erwägen Sie die Aufrechterhaltung der Datenlinie. Es ist wichtig, dass KI-Workloads die Datenquelle nachverfolgen, da diese Informationen verloren gehen können, wenn ein System verschiedene Komponenten in einem Index aggregiert. Diese Informationen werden benutzern möglicherweise nicht jemals offengelegt, aber Informationen über Datenherkunft sind für interne Datengovernanceteams von entscheidender Bedeutung. Diese Metadaten sind nicht unbedingt für das Modell vorgesehen. Sie trägt dazu bei, Transparenz und Rechenschaftspflicht aufrechtzuerhalten.

    Kompromiss. Einerseits erhöht das Hinzufügen neuer Daten die Wahrscheinlichkeit der Relevanz innerhalb des Datasets. Dieser Vorteil wird jedoch kostenaufwendt. Insbesondere die rechentechnischen Ressourcen, die zum Verarbeiten und Verwalten dieses Felds erforderlich sind. Die Zeit für die Erfassung und Speicherung von Daten kann erheblich sein. Beachten Sie, dass das Überladen mit unnötigen Feldern Ressourcen belasten kann.

  • Verarbeiten von Textdaten. Berücksichtigen Sie Techniken wie Synonyme, Wortstammerkennung und semantische Nähe, um die Relevanz zu verbessern. Delegieren Sie diese Techniken nach Möglichkeit an tools. Einige Technologien, z. B. Elasticsearch oder KI-Suche, bieten solche Features für die Vorverarbeitung von Daten während der Indexerstellung.

Datentypmorphing

Indexfelder in einem Datenspeicher sind Datentypen, die einem bestimmten Zweck dienen. Numerische Felder erleichtern eine effiziente Abfrage, Textfelder ermöglichen textbasierte Suchvorgänge und boolesche Felder verarbeiten Binäre Informationen.

Quelldaten sind in der Regel in verschiedenen Datentypen vorhanden, z. B. Text, Bilder und Tabellen, und die Verarbeitung dieser Daten kann komplex sein. Möglicherweise müssen Sie Schlüsselwertpaare extrahieren, Abschnittsüberschriften für semantische Blöcke identifizieren, bestimmte Bezeichner erkennen usw.

Wenn Ihre Quelldaten z. B. Bilder enthalten, sind sie nicht inhärent durchsuchbar. Sie müssen in Vektordarstellungen konvertiert werden, um effiziente semantische Suchvorgänge und Vergleiche zu ermöglichen. Wenn Relevanz an die Daten hinter diesen Formaten gebunden ist, investieren Sie in die Extraktion der Daten. Transformieren Sie Quelldatentypen in funktionale Datentypen, die bei der Abfrage und Analyse helfen.

Blockieren und Einbetten

Erdungsdaten enthalten häufig eine große Menge an Informationen, aber das Modell kann nur eine bestimmte Menge tokenisieren. Die Blockierung ist eine wichtige Datenentwurfsstrategie, da sie ein Dokument in kleinere Teile aufteilen muss, die einzeln verarbeitet und indiziert werden können. Diese Strategie ermöglicht eine effiziente Suche und den Abruf trotz Tokenbeschränkungen. Überprüfen Sie die maximale Anzahl von Token, die Von Der Auswahl eines großen Sprachmodells verarbeitet werden können. Ihre Blöcke sollten diesen Grenzwert nicht überschreiten.

Es gibt viele Techniken für die Implementierung von Blöcken. Weitere Informationen finden Sie unter "Chunking"-Ansätze.

Einbettungen sind auch eine weitere Designstrategie, die Vektorsuchfunktionen ermöglicht. Einbettungen sind eine mathematische Darstellung eines Objekts, das von KI-Modellen basierend auf Erdungsdaten generiert wird. Sie werden im Index gespeichert und fügen mehr Kontext hinzu, der komplexe Abfragen hilft, Ergebnisse mit besserer Relevanz zu erzielen. Weitere Informationen finden Sie im Artikel zum Generieren von Einbettungen.

Indexverwaltung

Die Wartung im Laufe der Zeit ist ein wichtiger Aspekt des Indexdesigns. Bei statischen Daten, bei denen Dokumente unverändert bleiben, ist die Indexwartung einfach. Die meisten Indizes sind jedoch dynamisch. Im Laufe der Zeit werden möglicherweise neue Daten hinzugefügt, und das Indexschema benötigt möglicherweise neue Felder. Umgekehrt müssen einige Daten und Felder möglicherweise gelöscht werden, wenn sie nicht mehr relevant sind. Häufig verwendete Technologieoptionen für Indexer verfügen über Features zum automatischen Behandeln von Updates. Informationen zu den empfohlenen Indexmerkmalen finden Sie unter Überlegungen zu einem Suchindex.

Wartungskriterien

  • Funktionsupdates. Der Index muss möglicherweise aktualisiert werden, wenn sich die Anwendungsfunktionalität ändert. Dies geschieht, wenn neue Fragen gestellt werden. Um diese Änderungen zu berücksichtigen, müssen Sie möglicherweise dem Index neue Felder hinzufügen oder Filter-, Such- oder Textverarbeitungsoptionen für vorhandene Felder ändern.

  • Datenlöschung Das Löschen von Daten ist eine Herausforderung, da Sie verfügbare und fehlende Daten analysieren müssen, um zu bestimmen, was irrelevant ist. Um veraltete Inhalte aus einem Index auszuschließen, sollten Sie die Verwendung von Metadaten in Betracht ziehen, die verhindern, dass Suchmaschinen bestimmte Seiten oder Inhalte indizieren. Wenn Sie auch Speicheroptionen auswählen, wählen Sie eine Technologie aus, die Löschvorgänge effizient unterstützt. Blob-Speicher unterstützt z. B. soft deletes. Wenn Sie KI-Suche verwenden und Dokumente aus dem Speicher laden, kann Blob Storage entfernte Dokumente erkennen und entsprechende Einträge löschen. Dieser Ansatz ist nicht ideal, aber es ist notwendig, wenn die Neuindizierung aufgrund einer großen Indexgröße kostspielig ist.

    Das Konzept des Vergessens bezieht sich auf das Recht einer Person, ihre personenbezogenen Daten von Onlineplattformen oder Datenbanken zu entfernen. Stellen Sie sicher, dass Richtlinien zum Entfernen personenbezogener Daten vorhanden sind, wenn sie für schulungen verwendet wurde. Sie können diese Anforderung beheben, indem Sie Ihren Datensatz neu indizieren. Wenn Daten aus der Transaktionsdatenbank gelöscht werden, spiegeln nachfolgende Indexaktualisierungen diese Änderungen wider.

  • Kompatibilität wird beibehalten. Anwendungen erfordern häufig bestimmte Datenstrukturen, und jede Abweichung kann ihre Funktionalität stören. Wenn beispielsweise ein Feld entfernt wird und die Anwendung dieses Feld anfordert, kann eine Fehlerbedingung auftreten. Wie Bei einer herkömmlichen Datenbank übernehmen Sie eine Vorwärtskompatibilitäts-Denkweise für Indizes und halten ein Maß an Strenge. Wenn Sie Änderungen am Index vornehmen, z. B. das Hinzufügen oder Entfernen von Feldern, koordinieren Sie Schemaänderungen mit Codeaktualisierungen.

    Kompromiss. Hinzufügen, Aktualisieren und Löschen von Aktionen für einen Index sind teuer. Berücksichtigen Sie die Häufigkeit von Updates und die Kosten für die Leistung basierend auf der Größe und Effizienz des Datenspeichers. Das Beibehalten veralteter Dokumente im Index verursacht Speicher-, Wartungs- und Abfragekosten.

Bereitstellungsstrategie

Bereitstellungsstrategie. Es gibt zwei Hauptstrategien für die Aktualisierung des Indexes.

  • Parallele Bereitstellungen. Bei diesem Ansatz wird ein neuer Index mit Updates zusammen mit dem vorhandenen index verwendet. Nachdem der neue Index getestet und vollständig betriebsbereit ist, werden Abfragen umgestellt, um den aktualisierten Index zu verwenden. Die Anwendung ist dieser Option nicht bewusst, da sie nur mit dem neuen Index interagiert. Wenn Sie andere Probleme feststellen, nachdem der neue Index für die Produktionsverwendung bereitgestellt wurde, können Sie zum alten Index zurückkehren. Dieser Ansatz minimiert Ausfallzeiten und gewährleistet eine kontinuierliche Verfügbarkeit.

    Parallele Updates funktionieren gut, wenn die Kosten für die Neuerstellung des Indexes angemessen sind und in einem angemessenen Zeitrahmen abgeschlossen werden können. Im Allgemeinen bemühen Sie sich, Indizes so effizient wie möglich zu halten, da größere Indizes mehr Ressourcen verbrauchen. Überwachen und pflegen Sie regelmäßig Indizes, um unnötiges Wachstum zu vermeiden.

Tipp

Wenn Sie ressourcenintensive Daten vor der Verarbeitung von Vorgängen wie Entitätserkennung, Nachschlagevorgängen und Berechnungen ausführen, sollten Sie eine Kopie der Ergebnisse speichern. Mit diesem Ansatz wird sichergestellt, dass Sie beim Neuerstellen des Indexes vermeiden können, dass sie alle Berechnungen wiederholen. Einige Berechnungen gelten möglicherweise aufgrund von Löschungen oder Aktualisierungen nicht mehr, aber viele bleiben relevant.

  • Direkte Updatebereitstellungen. Dieser Ansatz ändert den vorhandenen Index direkt. Das Sparen der Duplizierungskosten kann von Vorteil sein, führt aber auch zu Risiken aufgrund potenzieller Ausfallzeiten und ressourcenintensiver Vorgänge. Wenn Ihr Index groß ist und es von Grund auf neu neu erstellt wird, überschreitet die gewünschte Aktualisierungshäufigkeit, können Sie die Verwendung von direkten Updates in Betracht ziehen. Dieser Ansatz ist jedoch schwierig und birgt das Risiko, Ihr Ziel auf Servicelevel (SLO) zu verletzen.

    Kompromiss. Bewerten Sie die Kosten für parallele Bereitstellungen von Indizes anhand von direkten Updates, die Ergänzungen, Updates und Löschungen bereitstellen. In den meisten Fällen sollten Sie parallele Updates anstelle von direkten Updates verwenden. Wenn ein Index neu erstellt wird, verarbeitet der Prozess effektiv Löschungen und Aktualisierungen, da er einen völlig neuen Datensatz erstellt. Diese Strategie bietet die Möglichkeit, Daten zu testen. Auch wenn parallele Bereitstellungen vorübergehend duplizierte Daten und zusätzliche Kosten verursachen, rechtfertigen die Vorteile bei Test- und Leistungsbewertung häufig diese Speicheranforderung. Bevor Sie einen Index live machen, überprüfen Sie die Daten, um sicherzustellen, dass sie ihren Erwartungen entspricht.

  • Geplante Updates. Anstatt die kontinuierliche Echtzeitkommunikation mit Datenquellen aufrechtzuerhalten, können Sie die Erdungsdaten regelmäßig aktualisieren. Mit diesem Ansatz wird sichergestellt, dass die Daten durch geplante Updates relevant bleiben, wodurch die Notwendigkeit einer konstanten Interaktion beseitigt wird.

  • Notfallupdates. Unerwartete Situationen können auftreten, z. B. unerwünschte Daten, die versehentlich in den Suchindex gelangen. Wenn dieses Problem auftritt, müssen Sie möglicherweise sofortige Maßnahmen ergreifen, z. B. das Entfernen bestimmter Dokumente oder das Anpassen von Daten innerhalb des Indexes. Unabhängig von der von Ihnen gewählten Bereitstellungsstrategie, z. B. parallele Updates oder direkte Updates, planen Sie immer die Möglichkeit von Notfallvorgängen.

  • Selbstaktualisierungsindex. Wenn Ihre Indizierungstechnologie das automatische Aktualisieren des Indexes unterstützt, damit er mit einer externen Datenquelle synchronisiert wird, kann er möglicherweise automatisch Änderungen an den Daten verarbeiten. Datenänderungen umfassen Ergänzungen oder Löschungen, ohne manuelle Eingriffe. Denken Sie daran, dass jede Änderung einen Vorgang im Index auslöst, der Ressourcen verbraucht. Der Index bleibt möglicherweise reaktionsfähig für Abfragen, aber seine Kapazität für die Verarbeitung kann während des Aktualisierungsprozesses reduziert werden.

Aktualitätsvorgänge

Messen Sie das Zeitfenster zwischen der Erstellung oder Änderung der Quelldaten und deren Ergänzung zum Index als Indikator, und verfolgen Sie es anhand von SLOs. Dieser Indikator steuert Datenentscheidungen beim Aktualisieren des Datenpipelinedesigns, um sicherzustellen, dass Daten in Ihrem Index verfügbar sind, wenn Sie sie benötigen. Ein Index sollte nur so frisch sein wie erforderlich.

Um die Aktualität beizubehalten, können Sie entweder den Index vollständig neu erstellen oder ihn inkrementell aktualisieren, um mit den ursprünglichen Datenquellen synchronisiert zu bleiben. Beide Methoden stellen sicher, dass der Index aktuell und genau bleibt.

Vorabinvestitionen in die Feinabstimmung des Modells sind möglicherweise weniger teuer als die Implementierung eines RAG-Musters, prompt Engineerings und Datenerweiterungsmethoden.

Nächste Schritte