Wichtige Konzepte und Überlegungen zum Erstellen von generativen KI-Lösungen
Große Sprachmodelle (LLMs) sind erstaunlich, aber sie haben Einschränkungen. Als Entwickler müssen Sie diese Einschränkungen verstehen, welche LLMs "sofort einsatzbereit" sind und wie Sie sie ändern können, um die besten Ergebnisse für die von Ihnen erstellten generativen KI-Lösungen zu erzielen. In diesem Artikel werden mehrere Herausforderungen und Begrenzungsfaktoren von LLMs beschrieben. Es erläutert allgemeine Möglichkeiten, die Herausforderungen zu überwinden und die Kontrolle über den Prozess der Inhaltsgenerierung zu übernehmen, unabhängig von der Art der generativen KI-Features, die Sie in Ihre Anwendung erstellen.
Technische Herausforderungen beim Arbeiten mit LLMs
In der folgenden Liste sind die wichtigsten Herausforderungen oder Einschränkungen zusammengefasst, die Sie beim Arbeiten mit LLMs beachten müssen:
Wissensgrenze: Aufgrund der hohen Kosten für das Training eines LLM ist das Wissen eines LLM auf das begrenzt, worauf es zu einem bestimmten Zeitpunkt trainiert wurde. Ohne Plug-Ins oder andere Unterkünfte hat ein LLM keinen Zugriff auf Echtzeitinformationen und kann nicht auf private Daten zugreifen.
Halluzination: Ein LLM verwendet statistische Wahrscheinlichkeiten und ein wenig Zufälligkeit, um Informationen zu generieren. Es sind Mechanismen vorhanden, die dafür sorgen, dass die generierten Antworten mit den Absichten des Menschen in den gestellten Fragen und den Informationen, auf die ein LLM trainiert wurde, übereinstimmen, aber es ist möglich, dass ein LLM Antworten erstellt, die nicht korrekt sind.
Transparenz: Auch aufgrund der Art und Weise, wie ein LLM trainiert wird, hat es keinen Zugriff mehr auf das Grundwissen, mit dem es trainiert wurde. Selbst wenn dies der Fall wäre, gibt es keine Garantie dafür, dass die Informationen von Anfang an wahrheitsgemäß und fundiert waren. Außerdem gibt es keinen Überprüfungsschritt, um sicherzustellen, dass die generierte Antwort korrekt ist.
Kein domänenspezifisches Wissen: Ähnlich wie bei der Wissensabtrennung, wenn Sie über private Informationen verfügen, wie z.B. nur firmeninterne Dokumente, wurde das LLM nicht auf diese Informationen trainiert. Sie hat keine Kenntnis von domänenspezifischen Daten.
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 damit, die Möglichkeiten zu verstehen, wie Sie ergänzen können, woher ein LLM seine Daten bezieht.
Woher 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.
Retrieval-off generation (ROG): Traditionelle LLMs verwenden dieses Modell. Das Modell generiert Antworten, die ausschließlich auf dem Wissen basieren, auf dem es trainiert wurde, ohne während des Generierungsprozesses auf externe Informationen zuzugreifen oder diese abzurufen. Das Wissen des Modells ist statisch und 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 leicht verfügbar sind.
Retrieval-augmented generation (RAG): Kombiniert die generativen Funktionalitäten von LLMs mit der Fähigkeit, Informationen aus externen Datenbanken oder Dokumenten in Echtzeit abzurufen. Das Modell fragt eine externe Quelle ab, um relevante Informationen zu finden. Anschließend verwendet es diese Informationen, um seine Antwort zu formulieren. Dieser Ansatz lässt zu, dass das Modell korrektere und aktuellere Informationen liefert, als wenn es nur sein vortrainiertes Wissen verwendet. Anwendungsfälle umfassen Die Faktenüberprüfung, das Beantworten von Fragen basierend auf Echtzeitdaten oder das Beantworten von Fragen basierend auf privaten, domänenspezifischen Daten.
Retrieval-centric generation (RCG): Legt noch mehr Wert auf die extern abgerufenen Inhalte und strukturiert die Antworten oft um die aus externen Quellen abgerufenen Informationen herum. 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 ein Hybrid zwischen abrufbasierten und generativen Methoden betrachtet werden, bei dem das Gleichgewicht möglicherweise stark zugunsten der abgerufenen Informationen gegenüber den eigenen generativen Fähigkeiten des Modells ausfallen könnte. 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 ROG ist ChatGPT. Im Gegensatz dazu erweitert Copilot (über Bing) ein LLM durch die Verwendung externer Quellen aus Nachrichtenquellen (und durch die Bereitstellung von Links zu diesen Quellen).
Auf den ersten Blick erscheinen RAG und RCG ähnlich, da beide externe Informationen in den Prozess der Sprachgenerierung integrieren. Sie unterscheiden sich jedoch darin, wie sie abgerufene Informationen im Generierungsprozess priorisieren und verwenden.
In einem RAG-System wird der externe Datenabruf zur Erweiterung der generativen Funktionalitäten eines vorab trainierten Sprachmodells verwendet. Die abgerufenen Informationen liefern mehr Kontext oder spezifische Daten, die das Modell zur Information seiner Antworten verwendet. In einem RAG-System bleibt der generative Aspekt des Sprachmodells für die Antwort zentral. Die abgerufenen Daten dienen als unterstützendes Element, um die Genauigkeit oder Tiefe zu erhöhen.
Ein RCG-System legt einen stärkeren Schwerpunkt auf die abgerufenen Informationen selbst. In einem RCG-System sind die abgerufenen Daten oft das Kernstück der Antwort, und die Rolle des generativen Modells besteht in erster Linie darin, 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 antreiben, werden in den Artikeln über das Speichern von vektorisierten Einbettungen von Dokumenten und die Feinabstimmung eines LLM erörtert, den beiden vorherrschenden Ansätzen zur Ergänzung des Wissens, das dem LLM auf der Grundlage seines anfänglichen Trainings zur Verfügung steht.
Das Verständnis der Unterschiede zwischen Abrufmodellen kann Ihnen bei der Auswahl des richtigen Ansatzes für bestimmte Anwendungen helfen. Es hilft Ihnen, die Notwendigkeit einer kreativen Synthese gegenüber der Genauigkeit und Treue zum Quellmaterial auszubalancieren.
Faktoren, die sich auf die Funktionsweise von Rückschlüssen auswirken
Da Sie wahrscheinlich mit der webbasierten Benutzeroberfläche von ChatGPT vertraut sind, können Sie besser nachvollziehen, wie sie funktioniert, um Fragen zu beantworten, was Ihnen hilft, Konzepte zu verstehen, die wichtig sind beim Erstellen generativer KI-Features in Ihren eigenen Anwendungen.
Wenn ein Benutzer mit ChatGPT chattet, vermittelt das Design der Benutzeroberfläche die Illusion einer dauerhaften Chatsitzung, bei der der Status im Laufe mehrerer hin- und hergehender Austausche zwischen Ihnen und dem LLM erhalten bleibt. In Wirklichkeit werden bei einer bestimmten Chatsitzung alle Prompts und alle Antworten des LLM (auch Completions (Vervollständigungen) genannt) mit jedem neuen Prompt gesendet. Mit zunehmender Konversation senden Sie immer mehr Text zur Verarbeitung an das LLM. Mit jedem neuen Prompt senden Sie alle vorherigen Prompts und Vervollständigungen. ChatGPT verwendet den Kontext der gesamten Chatsitzung und nicht nur die aktuelle Eingabeaufforderung, wenn sie eine Antwort auf Ihre aktuelle Eingabeaufforderung verfasst. Die gesamte Chatsitzung wird als Kontextfenster bezeichnet.
Ein Kontextfenster hat eine Längenbeschränkung, die je nach Version von ChatGPT variiert, mit der Sie arbeiten. Jeder Teil Ihrer Chatunterhaltung, der den Grenzwert für die Länge des Kontextfensters überschreitet, wird ignoriert, wenn ChatGPT eine Antwort auf Ihre neueste Eingabeaufforderung verfasst.
Lange Unterhaltungen scheinen zunächst eine gute Idee zu sein, aber lange Kontextfenster können sich auf den Rechenaufwand auswirken, der für die Verarbeitung des Prompts und das Kombinieren einer Vervollständigung erforderlich ist. Die Größe der Kontextfenster 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? Das heißt, 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 Prompt und Vervollständigung
Was ist Tokenisierung?
Tokenisierung ist der Prozess der Umwandlung von Text in Token. Es ist ein entscheidender Schritt bei der Vorbereitung von Daten für das Training oder die Ableitung von Schlussfolgerungen (der Prozess des Kombinierens von Vervollständigungen auf der Grundlage von Prompts) 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.
Auf der OpenAI tokenizer-Seite erfahren Sie mehr über die Tokenisierung. Die Seite verfügt sogar über einen Rechner, der veranschaulicht, wie ein Satz oder Absatz in Token unterteilt wird.
Wie die Notiz unten auf der OpenAI Tokenizer-Seite zugibt, entspricht ein Token in typischen englischen Texten etwa vier Zeichen. Im Durchschnitt entsprechen 100 Token ungefähr 75 Wörtern, was drei Vierteln eines Worts pro Token entspricht.
Die OpenAI Tokenizer-Seite spricht auch über tiktoken, ein Paket für Python und JavaScript, das Sie dazu verwenden können, um programmatisch abzuschätzen, wie viele Token erforderlich sind, um einen bestimmten Prompt an die OpenAI-API zu senden.
Token-Verwendung beeinflusst die Abrechnung
Jede Azure OpenAI-API verfügt über eine andere Abrechnungsmethode. Für die Verarbeitung und Generierung von Text mit der Chat Completions API wird Ihnen die Anzahl der Token, die Sie als Prompt senden, und die Anzahl der Token, die als Ergebnis generiert werden (Vervollständigung), in Rechnung gestellt.
Jedes LLM-Modell (z. B. GPT-3.5, GPT-3.5 Turbo oder GPT-4) weist normalerweise 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 1 Million Token" dargestellt.
Dieses Preismodell wirkt sich erheblich darauf aus, wie Sie die Benutzerinteraktionen gestalten und wie viel Vor- und Nachbearbeitung Sie hinzufügen.
Systemaufforderungen im Vergleich zu Benutzeraufforderungen
Bis zu diesem Punkt hat sich die Diskussion ausschließlich auf Benutzer-Prompts konzentriert. Ein Benutzer-Prompt ist die Art von Prompt, die den Austausch zwischen einem Benutzer und ChatGPT ausmacht.
OpenAI hat den System Prompt (auch angepasste Anweisungen genannt) eingeführt. Ein System-Prompt ist ein übergreifender Satz von Anweisungen, die Sie festlegen und zu all Ihren Chat-Konversationen hinzufügen. 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 den System Prompt zum Beispiel so festlegen, dass Sie „immer in der poetischen Form des Haiku reagieren“. Von diesem Zeitpunkt an führt jeder neue Prompt an ChatGPT zu einem Haiku, das die Antwort enthält.
Auch wenn „in Haiku-Form antworten“ kein nützliches Beispiel ist, veranschaulicht es doch die Idee, dass Sie die Vervollständigung eines LLM auf Ihren Prompt beeinflussen können, indem Sie den Prompt 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 er beantworten kann.
Das Ändern der Benutzeraufforderung 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önnten experimentieren, alle davon zu implementieren.
- Programmgesteuertes Ändern der Benutzereingabeaufforderungen.
- Implementieren Sie eine Inferenz-Pipeline.
- Retrieval-Augmented Generation (in anderen Artikeln besprochen).
- Feinabstimmung (in anderen Artikeln besprochen).
Programmgesteuertes Ändern von Benutzeraufforderungen
Um einen System Prompt zu einer Benutzer-Konversation hinzuzufügen, verwenden Sie keine spezielle API. Sie fügen dem Prompt einfach nach Bedarf Anweisungen hinzu.
Sie können jedoch einige Techniken verwenden, um Benutzeraufforderungen zu verbessern:
- Kontextuelle Voreinstellung: Erstellen Sie System Prompts, die explizit den Kontext der Konversation innerhalb der Domäne festlegen. Dieser Ansatz umfasst die Bereitstellung einer kurzen Beschreibung oder einer Reihe von Anweisungen am Anfang jeder Interaktion. Die Anweisungen leiten die KI an, innerhalb des Problembereichs zu bleiben.
- Beispielbasierte Anleitungen: Geben Sie in der ersten Eingabeaufforderung Beispiele für die Arten von Fragen und Antworten an, die für Ihre Domäne relevant sind. Dieser Ansatz hilft KI zu verstehen, welche Art von Antworten erwartet werden soll.
Sie können jede beliebige Technik zur Erstellung von Prompts verwenden. Wenn Sie dies programmgesteuert erreichen können, können Sie die Benutzeraufforderung für sie verbessern.
Der Nachteil bei diesem Ansatz ist, dass die Kosten für jeden Aufruf des LLM umso höher sind, je länger der Prompt ist. Dennoch ist dieser Ansatz wahrscheinlich der am wenigsten teure Ansatz, den dieser Artikel beschreibt.
Implementierung einer Inferenz-Pipeline
Der nächste Schritt über das programmgesteuerte Ändern der Eingabeaufforderung des Benutzers hinaus besteht darin, eine gesamte Ableitungspipeline zu erstellen.
Eine Inferenz-Pipeline ist ein End-to-End-Prozess, der rohe Eingaben (wie Text oder ein Bild) "bereinigt", bevor sie zur Ausführung Ihres primären Prompts verwendet werden (Vorverarbeitung), oder der die Vervollständigung überprüft, um sicherzustellen, dass sie die Anforderungen des Benutzers erfüllt, bevor sie auf dem Bildschirm angezeigt wird (Nachverarbeitung).
Bei der Vorverarbeitung kann es sich um die Schlüsselwortüberprüfung, die Relevanzbewertung oder die Transformation der Abfrage handeln, um die erwartete Domänensprache besser anzupassen. Sie können z. B. die anfängliche Eingabeaufforderung analysieren, die der Benutzer übermittelt. Beginnen Sie damit, das LLM zu fragen, ob die Eingabeaufforderung sinnvoll ist, ob sie innerhalb der Grenzen liegt, die Sie akzeptieren möchten, ob sie auf einer fehlerhaften Prämisse basiert oder ob sie neu formuliert werden muss, um bestimmte Verzerrungen zu vermeiden. Wenn der LLM den Prompt analysiert und Probleme feststellt, können Sie einen Schritt weiter gehen. Sie können den LLM bitten, den Prompt umzuformulieren, um die Antwort möglicherweise zu verbessern.
Bei der Nachverarbeitung kann es sich um die Überprüfung der Relevanz und Angemessenheit der Antwort für die Domäne handeln. Es kann das Entfernen oder Kennzeichnen von Antworten umfassen, die nicht den Domänenanforderungen entsprechen. Sie könnten zum Beispiel die Vervollständigung, die das LLM liefert, überprüfen, um sicherzustellen, dass sie Ihre Qualitäts- und Sicherheitsanforderungen erfüllt. Sie können das LLM bitten, die Antwort zu überprüfen, um festzustellen, ob sie tatsächlich den Anforderungen entspricht, die Sie gestellt haben. Sollte dies nicht der Fall sein, können Sie das LLM auffordern, die Vervollständigung zu ändern. Wiederholen Sie diese Schritte, 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 kennen Sie diese Arten von Kompromissen wahrscheinlich bereits, die sich auf das Budget, die Leistung und die Effektivität eines Softwaresystems auswirken.
Informationen zu den einzelnen Schritten, die Sie unternehmen müssen, um eine Pipeline für Ableitungen zu erstellen, finden Sie unter Erstellen eines fortgeschrittenen Retrieval-augmentierten Generierungssystems.
Andere Faktoren, die die Fertigstellung beeinflussen
Über das programmgesteuerte Ändern des Prompts, das Erstellen einer Ableitungs-Pipeline und andere Techniken hinaus werden weitere Details in Erweitern eines großsprachlichen Modells mit Retrieval-augmentierter Generierung und Feinabstimmung behandelt. Außerdem können Sie Parameter ändern, wenn Sie Aufrufe an die Azure OpenAI-API ausführen.
Eine Übersicht über die erforderlichen und optionalen Parameter, die verschiedene Aspekte der Vervollständigung beeinflussen können, finden Sie in der Chat Endpunkt Dokumentation. Wenn Sie ein SDK verwenden, lesen Sie die SDK-Dokumentation für die sprache, die Sie verwenden. Sie können mit den Parametern auf dem Playground experimentieren.
Temperature
: Steuern Sie die Zufälligkeit der Ausgabe, die das Modell generiert. Bei Null wird das Modell deterministisch und wählt konsequent das wahrscheinlichste nächste Token aus seinen Trainingsdaten aus. Bei einer Temperatur von 1 balanciert das Modell zwischen der Auswahl von Tokens mit hoher Wahrscheinlichkeit und der Einführung von Zufälligkeit in die Ausgabe.Max Tokens
: Steuert die maximale Länge der Antwort. Das Festlegen eines höheren oder niedrigeren Grenzwerts kann sich auf das Detail und den Umfang des generierten Inhalts auswirken.Top P
(Nucleus-Sampling): Wird zusammen mitTemperature
verwendet, um die Zufälligkeit der Antwort zu steuern.Top P
schränkt KI ein, nur den obersten Prozentsatz der Wahrscheinlichkeitsmasse (P
) zu berücksichtigen, wenn jedes Token generiert wird. Niedrigere Werte führen zu Text, der fokussierter und vorhersehbarer ist. Höhere Werte ermöglichen mehr Vielfalt.Frequency Penalty
: 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.Presence Penalty
: Ermutigt das Modell, neue Konzepte und Begriffe in die Vervollständigung aufzunehmen.Presence Penalty
ist nützlich, um vielfältigere und kreativere Ergebnisse zu generieren.Stop Sequences
: Sie können eine oder mehrere Sequenzen angeben, um die API anzuweisen, das Generieren weiterer Token zu beenden.Store Sequences
sind nützlich, um die Struktur der Ausgabe zu steuern, wie z. B. das Beenden einer Vervollständigung am Ende eines Satzes oder Absatzes.Logit Bias
: Bietet Ihnen die Möglichkeit, die Wahrscheinlichkeit des Auftretens bestimmter Token in der Vervollständigung zu ändern.Logit Bias
kann verwendet werden, um die Vervollständigung in eine bestimmte Richtung zu lenken oder um bestimmte Inhalte zu unterdrücken.
Microsoft OpenAI-Sicherheitsvorkehrungen
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 der LLM stellen. Es ist wichtig, dass Sie die Art der generierten Antworten berücksichtigen.
Zunächst filtern API-Aufrufe von Microsoft OpenAI Services automatisch Inhalte, die die API potenziell anstößig findet, und meldet dies in vielen Filterkategorien an Sie zurück.
Sie können die OpenAI Moderations-API direkt verwenden, um inhalte auf potenziell schädliche Inhalte zu überprüfen.
Anschließend 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 zum Anwendungsdesign
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 Aspekte aus diesem Artikel, die sich auf Ihre Entscheidungen im Anwendungsentwurf auswirken können:
- Bewerten Sie die Notwendigkeit der Verwendung des neuesten KI-Modells anhand von Kostenüberlegungen. Modelle, die weniger teuer sind, reichen möglicherweise für die Anforderungen Ihrer Anwendung aus. Leistung mit Budgeteinschränkungen in Einklang bringen.
- 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 kann 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 Aufbau einer generativen KI-Lösung experimentieren möchten, empfehlen wir Ihnen einen Blick auf Starten Sie mit dem Chat, indem Sie Ihr eigenes Datenbeispiel für Python verwenden. Das Lernprogramm ist auch in .NET-, Java-und JavaScript-verfügbar.