Teilen über


Wichtige Konzepte und Überlegungen für Entwickler, die generative KI-Lösungen erstellen

Große Sprachmodelle (LLMs) sind erstaunlich, aber auch sie haben ihre Grenzen. Entwickler müssen diese Einschränkungen verstehen, welche LLMs "sofort einsatzbereit" sind und wie sie optimiert werden können, um die besten Ergebnisse für die von ihnen erstellten generativen KI-Lösungen zu erzielen. In diesem Artikel werden verschiedene Herausforderungen und Begrenzungsfaktoren beschrieben, und es werden allgemeine Möglichkeiten erläutert, diese Herausforderungen zu überwinden und die Kontrolle über den Prozess der Inhaltsgenerierung zu übernehmen, unabhängig davon, welche Art von generativen KI-Features Sie in Ihrer Anwendung erstellen.

Technische Herausforderungen beim Arbeiten mit LLMs

Die wichtigsten Herausforderungen oder Einschränkungen, die beim Arbeiten mit LLMs zu beachten sind:

  • Wissenskürzung - Aufgrund der hohen Schulungskosten eines LLM ist ihr Wissenskörper auf das beschränkt, was sie zu einem bestimmten Zeitpunkt trainiert haben. Ohne Plug-Ins oder andere Unterkünfte haben sie keinen Zugriff auf Echtzeitinformationen oder haben keinen Zugriff auf private Daten.

  • Halluzination - Ein LLM verwendet statistische Wahrscheinlichkeiten und ein wenig Zufallswahrscheinlichkeit, um Informationen zu generieren. Es gibt Mechanismen, um generierte Antworten in den Fragen, die gestellt werden, und die Informationen, auf die sie trainiert wurden, auszurichten, aber es ist möglich, dass sie Antworten erstellen, die nicht korrekt sind.

  • Transparenz - Auch hier haben sie aufgrund der Art und Weise, wie die Modelle trainiert werden, keinen Zugriff mehr auf das grundlegende Wissen, auf dem sie trainiert wurden. Und selbst wenn sie es getan haben, gibt es keine Garantie dafür, dass Informationen wahrheitsgemäß und auf dem ersten Platz geerdet wurden. Darüber hinaus gibt es keinen Überprüfungsschritt, um sicherzustellen, dass die generierte Antwort korrekt ist.

  • Kein domänenspezifisches Wissen - Ähnlich wie "Wissenskürzung", wenn Sie private Informationen wie nur interne Unternehmensdokumente haben, wurde der LLM nicht auf diese Informationen geschult und hat daher kein domänenspezifisches Wissen.

Was können Sie tun, um die möglichen Herausforderungen oder Probleme mit LLMs zu mindern und die bestmöglichen Ergebnisse zu erzielen, um Ihren Benutzern und Ihrer Organisation zu helfen? Beginnen Sie mit dem Verständnis der Möglichkeiten, wie Sie ergänzen können, wo die LLM ihre Daten abruft.

Grundlegendes dazu, wo LLMs ihre Informationen erhalten

Ein guter Ausgangspunkt, um die besten Ergebnisse eines LLM zu erzielen, besteht darin, zu verstehen, wo oder wie LLMs ihre Informationen erhalten. Die folgenden Kategorien stellen unterschiedliche Ansätze für die Interaktion von LLMs mit verschiedenen Informationsquellen dar, um Antworten zu generieren.

Diagramm, das drei verschiedene Arten der Abrufgenerierung mit Abruf-off-Generation oben korreliert mit den am meisten geschulten Wissen, dann abruf-augmentierte Generation, dann abruforientierte Generation am unteren Ende korreliert mit den am meisten abgerufenen Wissen.

  • Retrieval-Off Generation (ROG) - Dies ist die Art und Weise, wie LLMs funktionieren, in der das Modell Antworten basierend auf dem wissen generiert, auf dem es trainiert wurde, ohne während des Erzeugungsprozesses auf externe Informationen zuzugreifen oder diese abzurufen. Das Wissen des Modells ist statisch, beschränkt auf das, was in seinen Schulungsdaten bis zum Stichtag enthalten war. Zusätzlich zu kreativem Schreiben kann es Fragen zu Informationen beantworten, die im Internet sofort verfügbar sind.

  • Retrieval-Augmented Generation (RAG) – Kombiniert die generativen Funktionen von LLMs mit der Möglichkeit, Informationen aus externen Datenbanken oder Dokumenten in Echtzeit abzurufen. Das Modell fragt eine externe Quelle ab, um relevante Informationen zu finden, die dann verwendet werden, um seine Antwort zu informieren. Dieser Ansatz ermöglicht es dem Modell, genauere und aktuellere Informationen bereitzustellen, als es allein aus dem bereits geschulten Wissen möglich ist. Anwendungsfälle umfassen Die Faktenüberprüfung, das Beantworten von Fragen basierend auf Echtzeitdaten oder privaten domänenspezifischen Daten.

  • Retrieval-Centric Generation (RCG) – Legt noch mehr Betonung auf den extern abgerufenen Inhalt, strukturiert häufig Antworten um die aus externen Quellen abgerufenen Informationen. Das Modell kann große Segmente des abgerufenen Texts direkt in die Ausgaben integrieren, sie bearbeiten oder kommentieren, um sie an die Abfrage des Benutzers anzupassen. Dieser Ansatz kann als Hybrid zwischen abrufbasierten und generativen Methoden betrachtet werden, bei denen das Gleichgewicht die informationen, die über die eigenen generativen Funktionen des Modells abgerufen wurden, stark favorisieren kann. Anwendungsfälle umfassen eine Zusammenfassung eines längeren Dokuments, Forschungsunterstützung, um Vergleiche und thematische Untersuchungen in mehreren ähnlichen Dokumenten bereitzustellen, sowie die Zusammenstellung oder Sortierung verschiedener Materialquellen in einer kombinierten Ausgabe.

Ein gutes Beispiel für die Retrieval-Off Generation (ROG) ist ChatGPT. Im Gegensatz dazu erweitert Copilot (über Bing) den LLM, indem externe Quellen aus Nachrichtenquellen verwendet werden (und Links zu diesen Quellen bereitgestellt werden).

Auf den ersten Blick klingt die Retrieval-Augmented Generation (RAG) und die Retrieval-Centric Generation (RCG) ähnlich, da beide externe Informationen in den Prozess der Sprachgenerierung integrieren. Sie unterscheiden sich jedoch darin, wie sie die abgerufenen Informationen im Generierungsprozess priorisieren und nutzen.

In RAG-Systemen wird der Abruf externer Daten verwendet, um die generativen Funktionen eines vorab trainierten Sprachmodells zu erweitern . Die abgerufenen Informationen stellen mehr Kontext- oder spezifische Daten bereit, die das Modell verwendet, um seine Antworten zu informieren. Hier bleibt der generative Aspekt des Sprachmodells für die Antwort zentral, während die abgerufenen Daten als unterstützendes Element fungieren, um die Genauigkeit oder Tiefe zu verbessern.

RCG-Systeme legen dagegen einen stärkeren Schwerpunkt auf die abgerufenen Informationen selbst. In diesen Systemen ist die abgerufene Daten häufig das Herzstück der Antwort, wobei die Rolle des generativen Modells hauptsächlich dazu dient, den abgerufenen Text zu verfeinern, zu formatieren oder leicht zu verbessern. Dieser Ansatz wird insbesondere verwendet, wenn Genauigkeit und direkte Relevanz der Informationen von größter Bedeutung sind und weniger kreative Synthese oder Extrapolation erforderlich ist.

Die Mechanismen für den externen Abruf von Daten, die sowohl RAG als auch RCG ermöglichen, werden in Artikeln zum Speichern vektorisierter Einbettungen von Dokumenten im Vergleich zur Feinabstimmung eines LLM diskutiert, die beiden weit verbreiteten Ansätze zur Ergänzung des Wissens, das dem LLM basierend auf seiner Erstschulung zur Verfügung steht.

Das Verständnis der Unterschiede zwischen Abrufmodellen kann bei der Auswahl des richtigen Ansatzes für bestimmte Anwendungen helfen, wobei die Notwendigkeit einer kreativen Synthese im Vergleich zur Notwendigkeit der Genauigkeit und Genauigkeit des Quellmaterials ausgeglichen wird.

Grundlegendes zu Faktoren, die beeinflussen, wie die Ableitung funktioniert

Da Sie wahrscheinlich mit der webbasierten Benutzeroberfläche von ChatGPT vertraut sind, können Sie verstehen, wie sie funktioniert, um Fragen zu beantworten, ihnen helfen, Konzepte zu verstehen, die beim Erstellen von generativen KI-Features in Ihren eigenen Anwendungen von entscheidender Bedeutung sind.

Wenn ein Benutzer mit ChatGPT chatt, bietet das Design der Benutzeroberfläche die Illusion einer langwierigen Chatsitzung, die den Zustand während mehrerer Hin- und Herwechsel zwischen Ihnen und dem LLM aufrechterhält. Tatsächlich werden für eine bestimmte Chatsitzung alle Eingabeaufforderungen und alle Antworten des LLM (auch als Abschluss bezeichnet) mit jeder neuen Eingabeaufforderung gesendet. Wenn Ihre Unterhaltung wächst, senden Sie also immer mehr Text an den LLM, um sie zu verarbeiten – alle vorherigen Eingabeaufforderungen und -fertigstellungen. ChatGPT verwendet den Kontext der gesamten Chatsitzung – nicht nur die aktuelle Eingabeaufforderung – beim Verfassen einer Antwort auf Ihre aktuelle Eingabeaufforderung. Die gesamte Chatsitzung wird als Kontextfenster bezeichnet.

Abhängig von der Version von ChatGPT, mit der Sie arbeiten, gibt es ein Grenzwert für die Länge des Kontextfensters. Jeder Teil Ihrer Chatunterhaltung, der den Grenzwert für die Länge des Kontextfensters überschreitet, wird ignoriert, wenn Sie eine Antwort auf Ihre neueste Eingabeaufforderung verfassen.

Lange Unterhaltungen scheinen zunächst eine gute Idee zu sein, aber lange Kontextfenster können sich auf die Menge der Berechnung auswirken, die zum Verarbeiten der Eingabeaufforderung und zum Verfassen eines Abschlusses erforderlich ist. Dies wirkt sich auf die Latenz der Antwort und die Kosten für die Verarbeitung der Anforderung durch OpenAI aus.

Was ist die Beschränkung des Kontextfensters von ChatGPT? Oder, mit wie vielen Wörtern kann ChatGPT funktionieren? Die Begrenzung des Kontextfensters hängt vom LLM-Modell, der Version und der Edition ab, mit der Sie arbeiten. Darüber hinaus werden Kontextlängen in Token gemessen, nicht in Wörtern. Token sind die kleinsten Texteinheiten, die das Modell verstehen und generieren kann. Diese Einheiten können Wörter, Teile von Wörtern (z. B. Silben oder Wortstamm) oder sogar einzelne Zeichen sein. Token sind das Herzstück der Verarbeitung natürlicher Sprachen (NLP).

Die Verwendung von Token wirkt sich auf zwei wichtige Aspekte für Entwickler aus:

  • Maximale Begrenzung des Kontextfensters
  • Der Preis pro Aufforderung und Fertigstellung

Was ist Tokenisierung?

"Tokenisierung" ist der Prozess der Konvertierung von Text in Token. Es ist ein wichtiger Schritt bei der Vorbereitung von Daten für Schulungen oder Rückschlüsse (der Prozess der Erstellung von Abschlussen basierend auf Aufforderungen) mit einem LLM. Der Prozess umfasst mehrere Schritte, darunter das Aufteilen von komplexem Text in verwaltbare Teile (Token), die das Modell dann verarbeiten kann. Dieser Prozess kann einfach sein, z. B. das Aufteilen von Text durch Leerzeichen und Interpunktion oder komplexere Algorithmen, die komplexe Algorithmen zur Behandlung verschiedener Sprachen, Morphologien (struktur der Wörter) und Syntaxen (Anordnung von Wörtern) umfassen. LLM-Forscher und Entwickler entscheiden sich für die Methode der Tokenisierung basierend auf dem, was sie erreichen möchten. OpenAI verfügt über eine hilfreiche Seite , die mehr über die Tokenisierung erläutert und sogar einen Rechner enthält, der veranschaulicht, wie ein Satz oder Absatz in Token unterteilt wird.

Wie die Notiz unten auf der OpenAI Tokenizer-Seite besagt, dass in typischen englischen Texten ein Token ungefähr vier Zeichen entspricht. Dies bedeutet, dass im Durchschnitt 100 Token ungefähr 75 Wörter oder drei Viertel eines Worts pro Token sind.

Die OpenAI Tokenizer-Seite spricht auch über tiktoken, ein Paket für Python und JavaScript, mit dem Sie programmgesteuert abschätzen können, wie viele Token Sie für eine bestimmte Eingabeaufforderung verwenden werden, die an die OpenAI-API gesendet wird.

Die Tokennutzung wirkt sich auf die Abrechnung aus

Jede Azure OpenAI-API verfügt über eine andere Abrechnungsmethode. Für die Verarbeitung und Generierung von Text mit der Chatabschluss-API werden Sie basierend auf der Anzahl der Token abgerechnet, die Sie als Eingabeaufforderung übermitteln, und die Anzahl der Token, die als Ergebnis (Abschluss) generiert werden.

Jedes LLM-Modell (z. B. gpt-3.5, gpt-3.5-Turbo, gpt-4 usw.) weist in der Regel einen anderen Preis auf, der die zum Verarbeiten und Generieren von Token erforderliche Berechnungsmenge widerspiegelt. Oft wird der Preis als "Preis pro 1.000 Token" oder "Preis pro eine Million Token" dargestellt.

Dieses Preismodell wirkt sich erheblich auf die Gestaltung der Benutzerinteraktionen und die Menge der von Ihnen hinzugefügten Vor- und Nachbearbeitung aus.

System- und Benutzeraufforderungen

Bis zu diesem Punkt hat sich die Diskussion ausschließlich auf "Benutzeraufforderungen" konzentriert – die Eingabeaufforderungen, die den Austausch zwischen einem Benutzer und ChatGPT bilden.

OpenAI hat die "Systemaufforderung" (auch als "benutzerdefinierte Anweisungen" bezeichnet) eingeführt, bei der es sich um einen überbogenen Satz von Anweisungen handelt, die Sie definieren und allen Chatunterhaltungen hinzugefügt werden. Stellen Sie sich dies als eine Reihe von Metaanweisungen vor, die die LLM jedes Mal beobachten soll, wenn Sie eine neue Chatsitzung starten. Sie können z. B. die Systemaufforderung auf "immer in der poetischen Form von Haiku antworten" festlegen. Von diesem Punkt an führt jede neue Eingabeaufforderung zu ChatGPT zu einer Haiku, die die Antwort enthält.

Während "Antworten in haiku-Formular" kein nützliches Beispiel ist, veranschaulicht es die Idee, dass Sie die Fertigstellung eines LLM auf Ihre Eingabeaufforderung beeinflussen können, indem Sie die Eingabeaufforderung selbst ändern.

Warum möchten Sie die Eingabeaufforderung des Benutzers ändern? Wenn Sie ein generatives KI-Feature oder eine Anwendung für ein professionelles Publikum erstellen, das Unternehmensmitarbeiter, Kunden und Partner umfassen kann, möchten Sie zweifellos Schutzmaßnahmen hinzufügen, um den Umfang von Themen oder Domänen einzuschränken, die beantwortet werden dürfen.

Das Ändern der Eingabeaufforderung des Benutzers ist jedoch nur eine Methode, um die Textgenerierung für Benutzer zu verbessern.

Methoden zur Verbesserung der Textgenerierung für Benutzer in ChatGPT

Um die Ergebnisse der Textgenerierung zu verbessern, sind Entwickler darauf beschränkt, einfach die Aufforderung zu verbessern, und es gibt viele Prompt Engineering-Techniken, die ihnen helfen können. Wenn Sie jedoch ihre eigene generative KI-Anwendung erstellen, gibt es mehrere Möglichkeiten, die Textgenerierung für Benutzer zu verbessern, und Sie können mit der Implementierung aller apps experimentieren:

  • Programmgesteuertes Ändern der Benutzeraufforderungen
  • Implementieren einer Ableitungspipeline
  • Retrieval-Augmented Generation (erläutert in anderen Artikeln)
  • Feinabstimmung (in anderen Artikeln erläutert)

Programmgesteuertes Ändern von Benutzeraufforderungen

Aus programmtechnischer Sicht gibt es keine spezielle API zum Hinzufügen einer Systemaufforderung zu den Unterhaltungen Ihrer Benutzer. Sie fügen bei Bedarf lediglich Anweisungen an die Eingabeaufforderung an. Es gibt jedoch einige Techniken zum Verbessern von Benutzeraufforderungen:

  • Kontextbezogenes Priming: Craft-Systemaufforderungen, die den Kontext der Unterhaltung in Ihrer gewünschten Domäne explizit festlegen. Dies umfasst die Bereitstellung einer kurzen Beschreibung oder einer Reihe von Anweisungen am Anfang jeder Interaktion, die die KI leitet, um innerhalb der Problemdomäne zu bleiben.
  • Beispielbasierte Anleitung: Fügen Sie Beispiele für die Arten von Fragen und Antworten hinzu, die für Ihre Domäne relevant sind, in der ersten Eingabeaufforderung. Dies hilft der KI, die Art der erwarteten Antworten zu verstehen.

Darüber hinaus können alle Prompt-Engineering-Techniken angewendet werden. Wenn Sie dies programmgesteuert erreichen können, können Sie die Aufforderung des Benutzers in seinem Auftrag verbessern.

Der Nachteil bei diesem Ansatz besteht darin, dass je länger die Eingabeaufforderung, je teurer jeder Aufruf des LLM ist. Auch dies ist wahrscheinlich die kostengünstigste der Zugänge, die diskutiert werden.

Implementieren einer Rückschlusspipeline

Der nächste Schritt über das programmgesteuerte Ändern der Eingabeaufforderung des Benutzers hinaus besteht darin, eine gesamte Ableitungspipeline zu erstellen.

Eine Ableitungspipeline ist der End-to-End-Prozess, der rohe Eingaben (z. B. Text oder Bilder) verwendet und "bereinigt sie", bevor sie zum Ausführen der primären Eingabeaufforderung (Vorverarbeitung) oder zum Überprüfen des Abschlusses verwendet wird, um sicherzustellen, dass er den Anforderungen des Benutzers entspricht, bevor er dem Benutzer angezeigt wird (Nachbearbeitung).

Die Vorverarbeitung kann eine Schlüsselwortüberprüfung, Relevanzbewertung oder Transformation der Abfrage umfassen, um die erwartete Domänensprache besser anzupassen. Sie können beispielsweise die anfängliche Vom Benutzer übermittelte Eingabeaufforderung analysieren und beginnen, indem Sie die LLM fragen, ob die Eingabeaufforderung sinnvoll ist, wenn sie innerhalb der Grenzen liegt, die Sie akzeptieren möchten, wenn sie auf einer fehlerhaften Lokalen basiert oder neu geschrieben werden muss, um bestimmte Voreingenommenheiten zu vermeiden. Wenn die LLM die Eingabeaufforderung analysiert und Probleme findet, können Sie einen Schritt weiter gehen: Bitten Sie den LLM, die Aufforderung erneut zu formulieren, um die Antwort potenziell zu verbessern.

Nachbearbeitung kann die Überprüfung der Relevanz und Angemessenheit der Antwort für die Domäne umfassen. Dies kann das Entfernen oder Kennzeichnen von Antworten umfassen, die nicht den Domänenanforderungen entsprechen. So können Sie beispielsweise den von der LLM bereitgestellten Abschluss prüfen, um sicherzustellen, dass er Ihren Qualitäts- und Sicherheitsanforderungen entspricht. Sie können den LLM bitten, die Antwort zu bewerten, um festzustellen, ob dies tatsächlich den Anforderungen entspricht, die Sie zur Einhaltung aufgefordert haben. Wenn dies nicht der Fall ist, können Sie die LLM bitten, den Abschluss zu ändern, und wiederholen Sie dies, bis Sie ein zufriedenstellendes Ergebnis haben.

Es gibt eine Einschränkung beim Hinzufügen von Vorverarbeitungsschritten: Jedes Mal, wenn Sie einen Aufruf zu einer LLM in Ihrer Ableitungspipeline hinzufügen, erhöhen Sie die Gesamtlatenz (Zeit für die Reaktion) und die Kosten jeder Interaktion mit dem Benutzer. Als erfahrener Softwareentwickler sind Sie wahrscheinlich bereits über diese Arten von Kompromissen informiert, die von Der Führung gemacht werden müssen, die sich auf das Budget, die Leistung und die Effektivität des Softwaresystems auswirken.

Der Artikel Building advanced Retrieval-Augmented Generation Systems tauchen tief in spezifische Schritte zum Erstellen einer Ableitungspipeline ein.

Andere Faktoren, die die Fertigstellung beeinflussen

Neben der programmgesteuerten Änderung der Eingabeaufforderung, dem Erstellen einer Ableitungspipeline und anderen Techniken werden weitere Details in der Erweiterung eines großen Sprachmodells mit Der Abrufen-Augmented-Generation und Feinabstimmung erläutert. Darüber hinaus gibt es Parameter, die beim Aufrufen der Azure OpenAI-API geändert werden können.

In der Dokumentation zu Chat-Endpunkten sind die erforderlichen und optionalen Parameter aufgeführt, die sich auf verschiedene Aspekte des Abschlusses auswirken können. Wenn Sie stattdessen ein SDK verwenden, lesen Sie die SDK-Dokumentation für die gewünschte Sprache. Wenn Sie mit den Parametern experimentieren möchten, können Sie dies im Playground tun.

  • Temperatur: Steuern sie die Zufallsanzahl der vom Modell generierten Ausgabe. Bei Null wird das Modell deterministisch, wobei das wahrscheinlichste nächste Token aus den Schulungsdaten ausgewählt wird. Bei einer Temperatur von 1 wird das Modell zwischen der Auswahl hoher Wahrscheinlichkeitstoken und der Einführung von Zufallszahlen in die Ausgabe ausgeglichen.

  • Max Token: Steuert die maximale Länge der Antwort. Das Festlegen eines höheren oder niedrigeren Grenzwerts kann sich auf das Detail und den Umfang der generierten Inhalte auswirken.

  • Top P (Kernsampling): Wird mit der Temperatur verwendet, um die Zufälligkeit der Antwort zu steuern. Top P schränkt die KI ein, nur den obersten P-Prozentsatz der Wahrscheinlichkeitsmasse beim Generieren jedes Tokens zu berücksichtigen. Niedrigere Werte führen zu fokussiertem und vorhersagbarem Text, während höhere Werte mehr Vielfalt ermöglichen.

  • Häufigkeitsstrafe: Verringert die Wahrscheinlichkeit, dass das Modell dieselbe Zeile oder denselben Ausdruck wiederholt. Das Erhöhen dieses Werts trägt dazu bei, Redundanz im generierten Text zu vermeiden.

  • Anwesenheitsstrafe: ermutigt das Modell, neue Konzepte und Begriffe im Abschluss einzuführen. Anwesenheitsstrafe ist nützlich, um vielfältigere und kreativeRe Ausgaben zu generieren.

  • Stoppsequenzen: Sie können eine oder mehrere Sequenzen angeben, um die API anzuweisen, das Generieren weiterer Token zu beenden. Speichersequenzen sind nützlich, um die Struktur der Ausgabe zu steuern, z. B. das Beenden eines Abschlusses am Ende eines Satzes oder Absatzes.

  • Logit Bias: Ermöglicht Es Ihnen, die Wahrscheinlichkeit der angegebenen Token zu ändern, die im Abschluss angezeigt werden. Logit Bias kann verwendet werden, um den Abschluss in einer bestimmten Richtung zu leiten oder unerwünschte Inhalte zu unterdrücken.

Grundlegendes zu Microsoft OpenAI-Schutzmaßnahmen

Zusätzlich dazu, dass die Antworten des LLM an bestimmte Themen oder Domänen gebunden sind, sind Sie wahrscheinlich auch besorgt über die Arten von Fragen, die Ihre Benutzer auf die LLM stellen. Es ist wichtig, die Arten von Antworten zu berücksichtigen, die generiert werden.

Zunächst filtern API-Aufrufe von Microsoft OpenAI Services automatisch Inhalte, die potenziell anstößig sind, und meldet dies an Sie über viele Filterkategorien hinweg.

Sie können die Moderations-API von OpenAI direkt verwenden, um inhalte explizit auf potenziell schädliche Inhalte zu überprüfen.

Zweitens können Sie Azure AI Content Safety verwenden, um Textmoderation, Bildmoderation, Jailbreak-Risikoerkennung und geschützte Materialerkennung zu unterstützen. Dadurch wird eine Portaleinrichtung, Konfiguration und Berichterstellung mit Code kombiniert, den Sie Ihrer Anwendung hinzufügen können, um schädliche Inhalte zu identifizieren.

Abschließende Überlegungen, die Ihre Entscheidungen im Anwendungsentwurf beeinflussen können

Das Verständnis von Tokenisierung, Preisen, Kontextfenstern und die Implementierung programmgesteuerter Verbesserungen zur Verbesserung der Benutzererfahrung bei der Textgenerierung wirkt sich darauf aus, wie Sie Ihr generatives KI-System entwerfen. Nachfolgend finden Sie eine kurze Liste der Punkte, die Sie berücksichtigen sollten, und andere Punkte aus diesem Artikel, die sich auf Ihre Entscheidungen im Anwendungsentwurf auswirken:

  • Bewerten Sie die Notwendigkeit der Verwendung des neuesten KI-Modells anhand von Kostenüberlegungen. Weniger teure Modelle reichen möglicherweise für die Anforderungen Ihrer Anwendung aus, und ausgleichen die Leistung mit Budgeteinschränkungen.
  • Erwägen Sie, die Länge des Kontextfensters zu optimieren, um Kosten zu verwalten, ohne die Benutzererfahrung erheblich zu beeinträchtigen. Das Kürzen unnötiger Teile der Unterhaltung könnte die Verarbeitungsgebühren reduzieren und gleichzeitig qualitätsbezogene Interaktionen beibehalten.
  • Bewerten Sie, wie sich die Tokenisierung und die Granularität Ihrer Eingaben und Ausgaben auf die Leistung auswirken. Das Verständnis, wie Ihre gewählte LLM Tokenisierung verarbeitet, kann Ihnen helfen, die Effizienz Ihrer API-Aufrufe zu optimieren, die Kosten zu reduzieren und die Reaktionszeiten zu verbessern.

Wenn Sie sofort mit dem Erstellen einer generativen KI-Lösung experimentieren möchten, empfehlen wir, einen Blick auf "Erste Schritte mit dem Chat" mit Ihrem eigenen Datenbeispiel für Python zu werfen. Es gibt versionen des Lernprogramms auch in .NET, Java und JavaScript.