Übersicht über Azure OpenAI und Textvervollständigungen

Abgeschlossen

Azure OpenAI Service bietet REST-API-Zugriff auf die leistungsfähigen Sprachmodelle von OpenAI, einschließlich der Modellserien GPT-3.5 und GPT-4. Diese Modelle können problemlos an Ihre spezifische Aufgabe angepasst werden, einschließlich, aber nicht beschränkt auf die Erstellung von Inhalten, die Zusammenfassung, die semantische Suche und die Übersetzung von natürlicher Sprache in Code.

Zusätzlich zum REST-API-Zugriff ist ein .NET SDK für den Zugriff auf Azure OpenAI Service vorhanden. Dieses verwenden wir zum Erstellen der Anwendung. Bevor Sie die Anwendung erstellen, sollten Sie sich mit Azure OpenAI und Textvervollständigungen vertraut machen. Das Wissen darüber bildet die Grundlage, die wir benötigen, um beeindruckende Anwendungen mit künstlicher Intelligenz zu erstellen.

Übersicht über Azure OpenAI

Azure OpenAI Service bietet Kunden erweiterte Sprach-KI mit den OpenAI-Modellen GPT-3.5, GPT-4, Codex und DALL-E mit dem Sicherheitsversprechen und der Eignung für Unternehmenszwecke von Azure. Azure OpenAI entwickelt die APIs gemeinsam mit OpenAI, um Kompatibilität und einen reibungslosen Übergang zwischen den Diensten zu gewährleisten.

Mit Azure OpenAI erhalten Kunden die Sicherheitsfunktionen von Microsoft Azure, wobei sie die gleichen Modelle wie OpenAI ausführen. Azure OpenAI bietet private Netzwerke, regionale Verfügbarkeit, verantwortungsvolle KI-Inhaltsfilterung und die Möglichkeit, das Modell mit Ihren eigenen Daten zu erweitern.

Der Vervollständigungsendpunkt ist die Kernkomponente des API-Diensts. Diese API bietet Zugriff auf die Texteingabe- und Textausgabeschnittstelle des Modells. Benutzer*innen müssen einfach einen Prompt mit dem englischen Textbefehl bereitstellen, und das Modell generiert eine Vervollständigung für den Text.

Textvervollständigungen

In dieser Lerneinheit erfahren Sie mehr über Textvervollständigungen. Der Vervollständigungsendpunkt kann für eine Vielzahl von Aufgaben verwendet werden. Sie bietet eine einfache, aber leistungsstarke Schnittstelle für die Ein- und Ausgabe von Text für alle Azure OpenAI-Modelle. Sie geben einen Text als Prompt ein, und das Modell generiert eine Textvervollständigung, die versucht, dem von Ihnen angegebenen Kontext oder Muster zu entsprechen. Wenn Sie der API beispielsweise den Prompt „Wie Descartes sagte: Ich denke, also“ geben, wird sie mit hoher Wahrscheinlichkeit die Vervollständigung „ bin ich“ zurückgeben.

Die tatsächlichen Vervollständigungsergebnisse weichen möglicherweise ab, da die künstliche Intelligenz standardmäßig stochastisch arbeitet. Mit anderen Worten, Sie erhalten möglicherweise bei jedem Aufruf ein etwas anderes Ergebnis, selbst wenn Ihre Eingabeaufforderung gleich bleibt.

Dank dieser einfachen Schnittstelle können Sie das Modell „programmieren“, indem Sie ihm Anweisungen oder einfach nur ein paar Beispiele dafür bereitstellen, was Sie von ihr erwarten. Ihr Erfolg hängt im Allgemeinen von der Komplexität der Aufgabe und der Qualität Ihrer Äußerung ab. Generell sollten Sie sich überlegen, wie Sie eine Textaufgabe schreiben würden, damit Schüler*innen diese lösen können. Eine gut formulierte Äußerung enthält genügend Informationen, damit das Modell weiß, was Sie möchten und wie es reagieren soll.

Etwas später erfahren Sie, wie Sie einen guten Prompt schreiben können, doch zunächst betrachten wir die verschiedenen Vervollständigungstypen.

Vervollständigungstypen von Azure OpenAI

Wie bereits erwähnt, übergeben Sie einen Prompt an die Azure OpenAI-API, die Anweisungen zu den gewünschten Schritten enthält. Sie können es unter anderem dazu veranlassen, Text zu klassifizieren, Ideen zu generieren oder sogar Text in Emojis zu übersetzen.

Klassifizierung

Für diesen ersten Vervollständigungstyp erfahren Sie, wie Sie das Modell mit Anweisungen „programmieren“.

Sie können dem Modell mitteilen, dass Daten in vordefinierte Kategorien sortiert werden sollen. Dieser Vervollständigungstyp wird als Klassifizierung bezeichnet.

Sie können der Vervollständigungs-API beispielsweise Anweisungen oder einen Prompt übergeben, die dem Folgenden ähnlich sind:

This is a sentiment classifier

Example: "I loved the new movie!"
Sentiment: Positive

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

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

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

Examples:
1. "I loved the new Batman 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 blew my mind"

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

Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"

Sentiment classifications:
1.

Nachdem wir dem Modell vier Beispiele für einen Satz gezeigt haben, der nach der Stimmung klassifiziert wird, stellen wir anschließend eine Liste mit Beispielen und dann eine Liste mit Stimmungsbewertungen mit demselben Zahlenindex bereit. Die API kann daraus lernen, wie sie die klassifizierten Stimmungen ausgeben soll.

Daraus ergibt sich die gewünschte Funktionsweise des Modells: Wir geben ihm fünf Stimmungen zur Klassifizierung, und das Modell sollte die Klassifizierung jeder Stimmung in einer sortierten Liste ausgeben.

Dadurch kann das Modell fünf (und noch mehr) Beispiele in nur einem Aufruf bewerten.

So erlangen Sie ein Grundverständnis dafür, wie der Prompt oder der an das Modell übergebene Text die Programmiersprache darstellt.

Generation

Eine der leistungsfähigsten und zugleich einfachsten Aufgaben, die Sie mit den verschiedenen GPT-Modellen erledigen können, ist das Generieren neuer Ideen oder Versionen von Eingaben. Sie können dem Modell eine Liste mit einigen Ideen zu Geschichten bereitstellen, und es wird versuchen, diese Liste zu ergänzen. Wir haben gesehen, wie sie Geschäftspläne, Charakterbeschreibungen und Marketingslogans erstellt hat, indem wir ihr einfach eine Handvoll Beispiele bereitgestellt haben.

Unterhaltung

Das Modell 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 das Modell als Chatbot für den Kundendienst funktioniert, der Fragen intelligent beantwortet, ohne jemals aus der Fassung zu geraten, oder als kluger Gesprächspartner, der Witze und Wortspiele macht.

Transformation

Bei dem Modell handelt es sich um ein Sprachmodell, das mit einer Vielzahl von Möglichkeiten vertraut ist, wie Wörter und Zeichen verwendet werden können, um Informationen auszudrücken. Das reicht von Texten in natürlicher Sprache bis hin zu Code und anderen Sprachen als Englisch. Das Modell ist auch in der Lage, Inhalte auf einer Ebene zu verstehen, die es ihm ermöglicht, sie zusammenzufassen, zu konvertieren und auf verschiedene Weise auszudrücken.

Sprachübersetzung

Da das Modell bereits viele Sprachen wie Französisch beherrscht, müssen Sie es nicht trainieren. Stattdessen müssen Sie nur genügend Beispiele für die Übersetzung im Prompt bereitstellen, damit das Modell versteht, dass es von einer Sprache in eine andere übersetzt.

Konvertierung

In diesem Beispiel wandeln wir den Namen eines Films in ein Emoji um. Das zeigt die Anpassungsfähigkeit des Modells beim Aneignen von Mustern und Arbeiten mit anderen Zeichen.

Hier erwarten wir, dass die Ausgabe den Spider-Man-Film als Emoji darstellt.

Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻‍♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:

Zusammenfassung

Das Modell ist in der Lage, den Kontext eines Texts zu erfassen und ihn auf verschiedene Weise umzuformulieren. Es kann beispielsweise einen Textblock verwenden und eine Erklärung generieren, die ein Kind verstehen würde.

Completion

Obwohl alle Prompts zu Vervollständigungen führen, kann es hilfreich sein, die Textvervollständigung als eigene Aufgabe zu betrachten, wenn Sie möchten, dass das Modell Ihren Text fortführt. Wenn Sie dem Modell diesen Prompt geben, wird es den Gedankengang zur vertikalen Landwirtschaft fortsetzen.

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

Sachliche Antworten

Große Sprachmodelle (Large Language Models, LLMs) verfügen über viel Wissen, das sie aus den Daten gelernt haben, mit denen sie trainiert wurden. Sie können auch Antworten geben, die real klingen, in Wirklichkeit jedoch erfunden sind. Es gibt zwei Möglichkeiten, die Wahrscheinlichkeit dafür zu begrenzen, dass LLMs eine Antwort erfinden.

  • 1. Bereitstellen einer Basiswahrheit für die API Wenn Sie dem Modell einen Text zur Verfügung stellen, zu dem es Fragen beantworten kann (z. B. einen Wikipedia-Eintrag), ist die Wahrscheinlichkeit geringer, dass es eine Antwort erfindet.

  • 2. Verwenden einer geringen Wahrscheinlichkeit und das Trainieren der API, wie sie „Ich weiß es nicht“ sagt Wenn das Modell versteht, dass es in Fällen, in denen es sich einer Antwort weniger sicher ist, angemessen ist, mit „Ich weiß es nicht“ oder einer anderen Variante zu antworten, wird es weniger geneigt sein, Antworten zu erfinden.

In diesem Beispiel geben wir dem Modell Beispiele für Fragen und Antworten, die es kennt, und dann Beispiele für Dinge, die es nicht kennt, und versehen diese mit Fragezeichen. Wir haben außerdem die Wahrscheinlichkeit auf null festgelegt, sodass das Modell im Zweifelsfall eher mit einem „?“ antwortet.

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 American film director and producer famous for creating Star Wars.

Zusammenfassung

Azure OpenAI Service bietet REST-API-Zugriff auf die leistungsfähigen Sprachmodelle von OpenAI, einschließlich der Modellserien GPT-3.5 und GPT-4. Außerdem erhalten Sie die bewährten Sicherheits- und Unternehmensfeatures aus der Azure-Cloud.

Eines der nützlichsten Features der OpenAI-Sprachmodelle ist die Textvervollständigung. Sie übergeben einen Prompt oder eine Klartextbeschreibung mit Anweisungen für das Modell, wodurch es Aufgaben wie Textklassifizierung, Textgenerierung oder Textzusammenfassung erledigen kann.

Überprüfen Sie Ihr Wissen

1.

Was macht eine Klassifizierungsvollständigung?