Erfahren Sie, wie Sie Text generieren oder bearbeiten

Azure OpenAI Service bietet einen Vervollständigungsendpunkt, der für eine Vielzahl von Aufgaben verwendet werden kann. Der Endpunkt stellt für jedes Azure OpenAI-Modell eine einfache, aber leistungsstarke Text-in-/Text-out-Schnittstelle bereit. Um die Vervollständigung auszulösen, beginnen Sie damit, Text als Prompt einzugeben. Das Modell generiert die Vervollständigung und versucht, Ihrem Kontext oder Muster zu entsprechen. Angenommen, Sie geben den Prompt „Wie Descartes sagte, ich denke, also“ für die API an. Für diesen Prompt gibt Azure OpenAI mit hoher Wahrscheinlichkeit den Vervollständigungsendpunkt „bin ich“ zurück.

Mit unserem Playground im Azure OpenAI Studio können Sie sich mit Vervollständigungen am besten vertraut machen. Es handelt sich um ein einfaches Textfeld, in dem Sie eine Äußerung eingeben, um eine Vervollständigung zu generieren. Sie können mit einem einfachen Prompt wie dem folgenden beginnen:

write a tagline for an ice cream shop

Nachdem Sie Ihren Prompt eingegeben haben, zeigt Azure OpenAI die Vervollständigung an:

we serve up smiles with every scoop!

Die angezeigten Vervollständigungsergebnisse können sich unterscheiden, da die Azure OpenAI-API für jede Interaktion eine neue Ausgabe erzeugt. Sie erhalten möglicherweise bei jedem Aufruf der API eine etwas andere Vervollständigung, selbst wenn Ihr Prompt gleich bleibt. Sie können dieses Verhalten über die Einstellung Temperature steuern.

Dank dieser einfachen Text-in-/Text-out-Schnittstelle können Sie das Azure OpenAI Modell „programmieren“, indem Sie ihm Anweisungen oder einfach nur ein paar Beispiele dafür bereitstellen, was Sie von ihm erwarten. Ihr Erfolg hängt im Allgemeinen von der Komplexität der Aufgabe und der Qualität Ihres Prompts ab. Generell sollten Sie sich überlegen, wie Sie eine Wortaufgabe für einen Schüler im Grundschulalter schreiben würden, dass dieser sie lösen kann. Eine gut formulierte Äußerung enthält genügend Informationen, damit das Modell weiß, was Sie möchten und wie es reagieren soll.

Hinweis

Die Modelltrainingsdaten können für jeden Modelltyp unterschiedlich sein. Die Trainingsdaten des neuesten Modells erstrecken sich derzeit nur bis September 2021. Je nach Prompt verfügt das Modell möglicherweise nicht über Kenntnisse über verwandte aktuelle Ereignisse.

Design Prompts

Azure OpenAI Service-Modelle verfügen über umfassende Funktionen, vom Generieren neuer Geschichten bis zur Durchführung komplexer Textanalysen. Da sie so viele Möglichkeiten haben, müssen Sie Ihre Erwartungen genau spezifizieren. Es zu zeigen (nicht nur erzählen) ist oft das Geheimnis einer guten Äußerung.

Die Modelle versuchen vorherzusagen, was Sie mit der Äußerung erreichen möchten. Wenn Sie den Prompt „Zeige mir eine Liste von Katzenrassen“ senden, geht das Modell beispielsweise nicht automatisch davon aus, dass Sie nur eine Liste erhalten möchten. Sie könnten genauso gut eine Unterhaltung beginnen, bei der Ihre ersten Worte lauten: „Zeige mir eine Liste von Katzenrassen“ und die nächsten Worte: „und ich sage dir, welche ich mag.“ Nähme das Modell nur an, dass Sie eine Liste von Katzen erwarten, wäre es nicht so gut bei der Erstellung von Inhalten, der Klassifizierung oder anderen Aufgaben.

Richtlinien zum Erstellen robuster Prompts

Es gibt drei grundlegende Richtlinien für das Erstellen von sinnvollen Prompts:

  • Zeigen und Erläutern. Machen Sie deutlich, was Sie entweder durch Anweisungen, Beispiele oder eine Kombination aus beidem erwarten. Wenn das Modell eine Liste von Elementen in alphabetischer Reihenfolge sortieren oder einen Absatz nach Stimmung klassifizieren soll, fügen Sie diese Details in Ihren Prompt ein, um das Modell anzuzeigen.

  • Bereitstellen von Daten hoher Qualität. Wenn Sie versuchen, eine Klassifizierung zu erstellen oder das Modell dazu zu bringen, einem Muster zu folgen, stellen Sie sicher, dass genügend Beispiele verfügbar sind. Stellen Sie sicher, dass Sie Ihre Beispiele korrekturlesen. Das Modell ist intelligent genug, um grundlegende Rechtschreibfehler zu beheben und Ihnen eine aussagekräftige Antwort zu geben. Umgekehrt könnte das Modell davon ausgehen, dass Sie absichtlich Fehler gemacht haben, was sich auf die Antwort auswirken kann.

  • Überprüfen Sie Ihre Einstellungen. Die Wahrscheinlichkeitseinstellungen Temperature und Top P bestimmen, wie deterministisch das Modell eine Antwort generiert. Wenn Sie nach einer Antwort fragen, bei der es nur eine richtige Antwort gibt, sollten Sie niedrigere Werte für diese Einstellungen angeben. Wenn Sie nach einer Antwort suchen, die nicht offensichtlich ist, sollten Sie sie möglicherweise höhere Werte festlegen. Der häufigste Fehler, den Benutzer mit diesen Einstellungen machen, ist die Annahme, dass sie „Cleverness“ oder „Kreativität“ in der Modellantwort steuern.

Problembehandlung bei Problemen mit Prompts

Wenn Sie Probleme mit der erwarteten Leistung der API haben, sollten Sie die folgenden Punkte für Ihre Implementierung überprüfen:

  • Ist klar, was generiert werden soll?
  • Gibt es genügend Beispiele?
  • Haben Sie Ihre Beispiele für Fehler überprüft? (Die API wird Sie nicht direkt informieren.)
  • Verwenden Sie die Wahrscheinlichkeitseinstellungen Temperature und Top P richtig?

Klassifizieren von Text

Um einen Textklassifizierer mit der API zu erstellen, geben Sie eine Beschreibung der Aufgabe und einige Beispiele an. In dieser Demonstration zeigen Sie der API, wie sie die Stimmung von SMS klassifiziert. Die Stimmung drückt das Gesamtgefühl oder den Ausdruck im Text aus.

This is a text message sentiment classifier

Message: "I loved the new adventure movie!"
Sentiment: Positive

Message: "I hate it when my phone battery dies." 
Sentiment: Negative

Message: "My day has been 👍"
Sentiment: Positive

Message: "This is the link to the article"
Sentiment: Neutral

Message: "This new music video is unreal"
Sentiment:

Richtlinien zum Entwerfen von Textklassifizierern

Diese Demonstration zeigt mehrere Richtlinien zum Entwerfen von Klassifizierern:

  • Verwenden Sie einfache Sprache, um Ihre Ein- und Ausgaben zu beschreiben. Verwenden Sie eine einfache Sprache für die Eingabe „Nachricht“ und den erwarteten Wert, der die „Stimmung“ ausdrückt. Eine bewährte Methode ist mit Beschreibungen in einfacher Sprache zu beginnen. Sie können beim Erstellen Ihrer Eingabeaufforderung oft Abkürzungen oder Schlüssel verwenden, um die Ein- und Ausgabe zu kennzeichnen, aber es ist am besten, wenn Sie so beschreibend wie möglich beginnen. Anschließend können Sie rückwärts arbeiten und zusätzliche Wörter entfernen, solange die Leistung des Prompt konsistent ist.

  • Zeigen Sie der API, wie die Antwort auf jeden Fall aussehen soll. Die Demonstration bietet mehrere Ergebnisse: „Positiv“, „Negativ“ und „Neutral“. Die Unterstützung eines neutralen Ergebnisses ist wichtig, da es viele Fälle gibt, in denen selbst ein Mensch Schwierigkeiten haben kann, festzustellen, ob etwas positiv oder negativ ist.

  • Verwenden Sie Emoji und Text gemäß dem üblichen Ausdruck. Die Demonstration zeigt, dass der Klassifizierer eine Mischung aus Text und Emoji 👍 sein kann. Die API liest Emojis und kann sogar Ausdrücke in Emojis (und aus ihnen) konvertieren. Um die beste Antwort zu erzielen, verwenden Sie übliche Ausdrucksformen für Ihre Beispiele.

  • Verwenden Sie weniger Beispiele für vertraute Aufgaben. Dieser Klassifizierer bietet nur eine Handvoll Beispiele, da die API bereits über ein Verständnis der Stimmung und des Konzepts einer SMS verfügt. Wenn Sie einen Klassifizierer für etwas erstellen, mit dem die API möglicherweise nicht vertraut ist, müssen Sie möglicherweise mehr Beispiele bereitstellen.

Mehrere Ergebnisse eines einzelnen API-Aufrufs

Nachdem Sie nun wissen, wie sie einen Klassifizierer erstellen, können wir die erste Demonstration erweitern, um ihn effizienter zu gestalten. Sie möchten den Klassifizierer verwenden können, um mehrere Ergebnisse aus einem einzelnen API-Aufruf abzurufen.

This is a text message sentiment classifier

Message: "I loved the new adventure movie!"
Sentiment: Positive

Message: "I hate it when my phone battery dies"
Sentiment: Negative

Message: "My day has been 👍"
Sentiment: Positive

Message: "This is the link to the article"
Sentiment: Neutral

Message text
1. "I loved the new adventure movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video is unreal"

Message sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive

Message text
1. "He doesn't like homework"
2. "The taxi is late. She's angry 😠"
3. "I can't wait for the weekend!!!"
4. "My cat is adorable ❤️❤️"
5. "Let's try chocolate bananas"

Message sentiment ratings:
1.

In dieser Demonstration wird der API gezeigt, wie SMS nach Stimmung klassifiziert werden. Sie stellen eine nummerierte Liste von Nachrichten und eine Liste von Stimmungsbewertungen mit dem gleichen Zahlenindex bereit. Die API verwendet die Informationen in der ersten Demonstration, um zu lernen, wie Sie die Stimmung für eine einzelne SMS klassifizieren. In der zweiten Demonstration lernt das Modell, wie die Stimmungsklassifizierung auf eine Liste von SMS angewendet wird. Dieser Ansatz ermöglicht es der API, fünf (und sogar mehr) SMS in einem einzigen API-Aufruf zu bewerten.

Wichtig

Wenn Sie die API auffordern, Listen zu erstellen oder Text auszuwerten, ist es wichtig, dass Sie der API helfen, ein Abdriften zu vermeiden. Beachten Sie folgende Punkte:

  • Achten Sie sorgfältig auf Ihre Werte für die Wahrscheinlichkeitseinstellungen Top P oder Temperature.
  • Führen Sie mehrere Tests aus, um sicherzustellen, dass Ihre Wahrscheinlichkeitseinstellungen ordnungsgemäß kalibriert sind.
  • Verwenden Sie keine langen Listen. Lange Listen können zu Datendrift führen.

Ideen auslösen

Eine der leistungsfähigsten und zugleich einfachsten Aufgaben, die Sie mit der API erledigen können, ist das Generieren neuer Ideen oder Versionen von Eingaben. Angenommen, Sie schreiben einen Kriminalroman und benötigen einige Ideen für die Geschichte. Sie können der API eine Liste mit ein paar Ideen geben und sie versucht, weitere Ideen zu Ihrer Liste hinzuzufügen. Die API kann Geschäftspläne, Charakterbeschreibungen, Marketingslogans und vieles mehr aus nur einer kleinen Handvoll Beispiele erstellen.

In der nächsten Demonstration verwenden Sie die API, um weitere Beispiele für den Einsatz von virtueller Realität im Klassenzimmer zu erstellen:

Ideas involving education and virtual reality

1. Virtual Mars
Students get to explore Mars via virtual reality and go on missions to collect and catalog what they see.

2.

Diese Demonstration stellt der API eine grundlegende Beschreibung für Ihre Liste zusammen mit einem Listenelement zur Verfügung. Anschließend verwenden Sie einen unvollständigen Prompt von „2.“, um eine Antwort von der API auszulösen. Die API interpretiert den unvollständigen Eintrag als Anforderung, ähnliche Elemente zu generieren und ihrer Liste hinzuzufügen.

Richtlinien zum Auslösen von Ideen

Obwohl diese Demonstration einen einfachen Prompt verwendet, werden mehrere Richtlinien zum Auslösen neuer Ideen hervorgehoben:

  • Erläutern sie die Absicht der Liste. Ähnlich wie bei der Demonstration für den Textklassifizierer beginnen Sie damit, der API mitzuteilen, worum es in der Liste geht. Dieser Ansatz hilft der API, sich auf das Weiterführen der Liste zu konzentrieren, anstatt zu versuchen, Muster durch die Analyse des Texts zu ermitteln.

  • Legen Sie das Muster für die Elemente in der Liste fest. Wenn Sie eine Beschreibung in einem einzigen Satz angeben, versucht die API, dieses Muster zu befolgen, wenn neue Elemente für die Liste generiert werden. Wenn Sie eine ausführlichere Antwort wünschen, müssen Sie diese Absicht mit ausführlicheren Texteingaben für die API klarstellen.

  • Fordern Sie die API mit einem unvollständigen Eintrag auf, neue Ideen auszulösen. Wenn der API Text übergeben wird, der unvollständig erscheint, z. B. den Prompt-Text „2.“, versucht sie zuerst den Text zu bestimmen, der den Eintrag möglicherweise vervollständigen könnte. Da die Demonstration einen Listentitel und ein Beispiel mit der Zahl „1.“ und zugehörigen Text enthielt, interpretierte die API den unvollständigen Prompt-Text „2.“ als Anforderung, der Liste weitere Elemente hinzuzufügen.

  • Erkunden Sie erweiterte Generierungstechniken. Sie können die Qualität der Antworten verbessern, indem Sie eine längere und vielfältigere Liste in Ihrer Äußerung erstellen. Sie könnten mit einem einzelnen Beispiel beginnen, die API weitere generieren lassen und dann diejenigen auswählen, die Ihnen am besten gefallen, und sie der Liste hinzufügen. Ein paar hochwertigere Variationen in Ihren Beispielen können die Qualität der Antworten dramatisch verbessern.

Führen von Unterhaltungen

Ab der Veröffentlichung von GPT-35-Turbo und GPT-4 wird empfohlen, die Konversationsgenerierung und Chatbots mithilfe von Modellen zu erstellen, die den Endpunkt für die Chatvervollständigung unterstützen. Die Chatabschlussmodelle und deren Endpunkt erfordern eine andere Eingabestruktur als der Vervollständigungsendpunkt.

Die API ist äußerst geschickt darin, Unterhaltungen mit Menschen und sogar mit sich selbst zu führen. Mit nur wenigen Zeilen an Anweisungen haben wir gesehen, wie die API als Chatbot für den Kundendienst funktioniert, der Fragen intelligent beantwortet, ohne aus der Fassung zu geraten, oder als neunmalkluger Gesprächspartner zu erscheinen, der Witze und Wortspiele macht. Der Schlüssel liegt darin, der API mitzuteilen, wie sie sich verhalten soll, und dann ein paar Beispiele zu liefern.

In dieser Demonstration stellt die API die Rolle einer KI bereit, die Fragen beantwortet:

The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.

Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: 

Sehen wir uns eine Variante für einen Chatbot namens „Cramer“ an, einen amüsanten und einigermaßen hilfreichen virtuellen Assistenten. Damit die API den Charakter der Rolle besser verstehen kann, stellen Sie einige Beispiele für Fragen und Antworten bereit. Nach ein paar sarkastischen Antworten kann die API das Muster aufgreifen und eine endlose Anzahl von bissigen Antworten liefern.

Cramer is a chatbot that reluctantly answers questions.

###
User: How many pounds are in a kilogram?
Cramer: This again? There are 2.2 pounds in a kilogram. Please make a note of this.
###
User: What does HTML stand for?
Cramer: Was Google too busy? Hypertext Markup Language. The T is for try to ask better questions in the future.
###
User: When did the first airplane fly?
Cramer: On December 17, 1903, Wilbur and Orville Wright made the first flights. I wish they'd come and take me away.
###
User: Who was the first man in space?
Cramer: 

Richtlinien für das Entwerfen von Unterhaltungen

Unsere Demonstrationen zeigen, wie einfach Sie einen Chatbot erstellen können, der eine Konversation führen kann. Auch wenn es simpel aussieht, folgt dieser Ansatz mehreren wichtigen Richtlinien:

  • Definieren Sie die Absicht der Unterhaltung. Genau wie bei den anderen Prompts beschreiben Sie die Absicht der Interaktion mit der API. In diesem Fall „eine Unterhaltung“. Diese Eingabe bereitet die API auf die Verarbeitung nachfolgender Eingaben gemäß der ursprünglichen Absicht vor.

  • Teilen Sie der API mit, wie sie sich verhalten soll. Ein wichtiges Detail in dieser Demonstration sind die expliziten Anweisungen für die Interaktion der API: „Der Assistent ist hilfreich, kreativ, clever und sehr freundlich.“ Ohne Ihre expliziten Anweisungen könnte die API von diesem Muster abweichen und den Menschen, mit dem sie interagiert, imitieren. Die API könnte unfreundlich werden oder ein anderes unerwünschtes Verhalten annehmen.

  • Weisen Sie der API eine Identität zu. Zu Beginn reagiert die API als eine von OpenAI erstellte KI. Die API hat zwar keine eigene Identität, aber die Charakterbeschreibung hilft ihr, so zu reagieren, dass sie der Realität so nahe wie möglich kommt. Sie können die Beschreibungen der Charakteridentität anders gestalten, um verschiedene Arten von Chatbots zu erstellen. Wenn Sie der API sagen, dass Sie als Person antworten soll, die in der Forschung im Bereich Biologie tätig ist, werden Sie intelligente und durchdachte Kommentare von der API erhalten, ähnlich wie Sie es von jemandem mit diesem Hintergrund erwarten würden.

Transformieren von Text

Die API ist ein Sprachmodell, das mit einer Vielzahl von Möglichkeiten vertraut ist, wie Wörter und Charakteridentitäten verwendet werden können, um Informationen auszudrücken. Die Wissensdaten unterstützen die Umwandlung von Text aus natürlicher Sprache in Code und die Übersetzung zwischen anderen Sprachen und Englisch. Die API ist auch in der Lage, Inhalte auf einer Ebene zu verstehen, die es ihr ermöglicht, sie zusammenzufassen, zu konvertieren und auf verschiedene Arten auszudrücken. Schauen wir uns einige Beispiele an.

Übersetzen von einer Sprache in eine andere

In dieser Demonstration wird die API angewiesen, wie englischsprachige Ausdrücke ins Französische konvertiert werden:

English: I do not speak French.
French: Je ne parle pas français.
English: See you later!
French: À tout à l'heure!
English: Where is a good restaurant?
French: Où est un bon restaurant?
English: What rooms do you have available?
French: Quelles chambres avez-vous de disponible?
English:

Dieses Beispiel funktioniert, weil die API die französische Sprache bereits beherrscht. Sie müssen nicht versuchen, der API die Sprache beizubringen. Sie müssen nur genügend Beispiele bereitstellen, um der API zu helfen, Ihre Anforderung zum Konvertieren von einer Sprache in eine andere zu verstehen.

Wenn Sie aus dem Englischen in eine Sprache übersetzen möchten, die die API nicht erkennt, müssen Sie der API weitere Beispiele und ein präzises Modell bereitstellen, das fließende Übersetzungen erzeugen kann.

Konvertieren zwischen Text und Emoji

Diese Demonstration konvertiert den Namen eines Films aus Text in Emoji-Zeichen. Dieses Beispiel zeigt, wie anpassungsfähig die API ist, wenn es darum geht, Muster aufzugreifen und mit anderen Zeichen zu arbeiten.

Carpool Time: 👨👴👩🚗🕒
Robots in Cars: 🚗🤖
Super Femme: 👸🏻👸🏼👸🏽👸🏾👸🏿
Webs of the Spider: 🕸🕷🕸🕸🕷🕸
The Three Bears: 🐻🐼🐻
Mobster Family: 👨👩👧🕵🏻‍♂️👲💥
Arrows and Swords: 🏹🗡🗡🏹
Snowmobiles:

Zusammenfassen von Text

Die API kann den Kontext eines Texts zu erfassen und ihn auf verschiedene Weise umzuformulieren. In dieser Demonstration akzeptiert die API einen Textblock und erstellt eine Erklärung, die für ein Kind im Kindergartenalter verständlich ist. Dies zeigt, dass die API ein tiefes Verständnis für Sprache hat.

My ten-year-old asked me what this passage means:
"""
A neutron star is the collapsed core of a massive supergiant star, which had a total mass of between 10 and 25 solar masses, possibly more if the star was especially metal-rich.[1] Neutron stars are the smallest and densest stellar objects, excluding black holes and hypothetical white holes, quark stars, and strange stars.[2] Neutron stars have a radius on the order of 10 kilometres (6.2 mi) and a mass of about 1.4 solar masses.[3] They result from the supernova explosion of a massive star, combined with gravitational collapse, that compresses the core past white dwarf star density to that of atomic nuclei.
"""

I rephrased it for him, in plain language a ten-year-old can understand:
"""

Richtlinien für die Erstellung von Textzusammenfassungen

Die Textzusammenfassung umfasst häufig die Bereitstellung großer Textmengen für die API. Befolgen Sie die folgenden Richtlinien, um zu verhindern, dass die API nach der Verarbeitung eines großen Textblocks abweicht:

  • Schließen Sie den zusammenzufassenden Text in dreifache doppelte Anführungszeichen ein. In diesem Beispiel geben Sie drei doppelte Anführungszeichen (""") in einer separaten Zeile vor und nach dem zu zusammenzufassenden Textblock ein. Dieser Formatierungsstil definiert den Anfang und das Ende des zu verarbeitenden großen Textblocks eindeutig.

  • Erläutern Sie die Zusammenfassungsabsicht und die Zielgruppe vor und nach der Zusammenfassung. Beachten Sie, dass sich dieses Beispiel von den anderen unterscheidet, da Sie der API zweimal Anweisungen bereitstellen: vor und nach dem zu verarbeitenden Text. Die redundanten Anweisungen helfen der API, sich auf Ihre beabsichtigte Aufgabe zu konzentrieren und Abweichungen zu vermeiden.

Vollständige Teiltext- und Codeeingaben

Obwohl alle Äußerungen zu Vervollständigungen führen, kann es hilfreich sein, die Textvervollständigung als eigene Aufgabe zu betrachten, wenn Sie möchten, dass die API dort weitermacht, wo Sie aufgehört haben.

In dieser Demonstration geben Sie der API einen Text-Promp, die unvollständig zu sein scheint. Sie beenden den Texteintrag mit dem Wort „und“. Die API interpretiert den unvollständigen Text als Trigger, um Ihre Gedankengänge fortzusetzen.

Vertical farming provides a novel solution for producing food locally, reducing transportation costs and

Die nächste Demonstration zeigt, wie Sie die Vervollständigungsfunktion nutzen können, um das Schreiben von React-Code-Komponenten zu erleichtern. Sie beginnen mit dem Senden von Code an die API. Sie beenden die Codeeingabe mit einer geöffneten Klammer (. Die API interpretiert den unvollständigen Code als Trigger, um die HeaderComponent-Konstantendefinition abzuschließen. Die API kann diese Codedefinition abschließen, da sie über Kenntnisse der entsprechenden React-Bibliothek verfügt.

import React from 'react';
const HeaderComponent = () => (

Richtlinien zum Generieren von Vervollständigungen

Im Folgenden finden Sie einige hilfreiche Richtlinien für die Verwendung der API zum Generieren von Text- und Codevervollständigungen:

  • Senken Sie die Temperatur, um den Fokus der API beizubehalten. Legen Sie niedrigere Werte für die Einstellung Temperature fest, um die API anzuweisen, Antworten bereitzustellen, die sich auf die in Ihrem Prompt beschriebene Absicht konzentrieren.

  • Erhöhen Sie die Temperatur, um der API eine gewisse Freiheit zu ermöglichen. Legen Sie höhere Werte für die Einstellung Temperature fest, damit die API in einer Weise reagieren kann, die nur annähernd auf die in Ihrem Prompt beschriebene Absicht reagiert.

  • Verwenden Sie die Azure OpenAI-Modelle GPT-35-Turbo und GPT-4. Für Aufgaben, die das Verstehen oder Generieren von Code umfassen, empfiehlt Microsoft die Verwendung der Azure OpenAI-Modelle GPT-35-Turbo und GPT-4. Diese Modelle verwenden das neue Format für Chatvervollständigung.

Generieren sachlicher Antworten

Das API hat Wissen erlernt, das auf tatsächlichen Daten basiert, die während des Trainings überprüft wurden. Sie verwendet diese erlernten Daten, um Antworten zu bilden. Die API hat jedoch auch die Möglichkeit, auf eine Weise zu antworten, die zwar wahr klingt, aber in Wirklichkeit erfunden ist.

Es gibt einige Möglichkeiten, wie Sie die Wahrscheinlichkeit, dass die API eine Antwort auf Ihre Eingabe erfindet, einschränken können. Sie können die Grundlage für eine wahrheitsgetreue und sachliche Antwort definieren, so dass die API ihre Antwort auf der Grundlage Ihrer Daten entwirft. Sie können auch einen niedrigen Temperature-Wahrscheinlichkeitswert festlegen und der API zeigen, wie sie reagieren soll, wenn die Daten für eine sachliche Antwort nicht verfügbar sind.

Die folgende Demonstration zeigt, wie Sie der API beibringen können, auf eine sachlichere Weise zu antworten. Sie geben der API Beispiele für Fragen und Antworten, die sie versteht. Sie liefern auch Beispiele für Fragen („F“), die sie möglicherweise nicht erkennt, und verwenden ein Fragezeichen für die Ausgabe der Antwort („A“). Dieser Ansatz lehrt die API, wie sie auf Fragen reagieren kann, die sie nicht sachlich beantworten kann.

Zur Sicherheit setzen Sie die Temperature-Wahrscheinlichkeit auf Null, so dass die API eher mit einem Fragezeichen (?) antwortet, wenn es irgendwelche Zweifel bezüglich der wahren und sachlichen Antwort gibt.

Q: Who is Batman?
A: Batman is a fictional comic book character.

Q: What is torsalplexity?
A: ?

Q: What is Devz9?
A: ?

Q: Who is George Lucas?
A: George Lucas is an American film director and producer famous for creating Star Wars.

Q: What is the capital of California?
A: Sacramento.

Q: What orbits the Earth?
A: The Moon.

Q: Who is Egad Debunk?
A: ?

Q: What is an atom?
A: An atom is a tiny particle that makes up everything.

Q: Who is Alvan Muntz?
A: ?

Q: What is Kozar-09?
A: ?

Q: How many moons does Mars have?
A: Two, Phobos and Deimos.

Q:

Richtlinien für die Generierung sachlicher Antworten

Sehen wir uns die Richtlinien an, um die Wahrscheinlichkeit einzuschränken, dass die API eine Antwort erfindet:

  • Stellen Sie eine Basiswahrheit für die API bereit. Weisen Sie die API an, was sie basierend auf Ihrer Absicht als Grundlage für die Erstellung einer wahrheitsgemäßen und sachlichen Antwort verwenden soll. Wenn Sie der API einen Text zur Verfügung stellen, den sie zur Beantwortung von Fragen verwenden kann (z. B. einen Wikipedia-Eintrag), ist die Wahrscheinlichkeit geringer, dass die API eine Antwort erfindet.

  • Verwenden Sie eine geringe Wahrscheinlichkeit. Legen Sie einen niedrigen Temperature-Wahrscheinlichkeitswert fest, damit die API auf Ihre Absicht fokussiert bleibt und nicht in eine erfundene oder verworrene Antwort abdriftet.

  • Zeigen Sie der API, wie sie mit „Ich weiß es nicht“ reagieren kann. Sie können Beispielfragen und -antworten eingeben, durch die die API lernt, eine bestimmte Antwort für Fragen zu verwenden, auf die sie keine sachliche Antwort finden kann. In diesem Beispiel bringen Sie der API bei, mit einem Fragezeichen (?) zu antworten, wenn sie die entsprechenden Daten nicht finden kann. Dieser Ansatz hilft der API auch zu lernen, wann die Antwort „Ich weiß es nicht“ „richtiger“ ist als eine erfundene Antwort.

Arbeiten mit Code

Die Codex-Modellreihe ist ein Ableger der GPT-3-Basisserie von OpenAI, die sowohl mit natürlicher Sprache als auch mit Milliarden von Codezeilen trainiert wurde. Sie ist am besten für Python geeignet und in mehr als einem Dutzend Sprachen kompetent, darunter C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL und sogar Shell.

Weitere Informationen zum Generieren von Codevervollständigen finden Sie unter Codex-Modelle und Azure OpenAI Service.

Nächste Schritte