Direkt zum Inhalt

Azure OpenAI: Ein Schritt-für-Schritt-Leitfaden für den Einstieg

Eine Einführung in die OpenAI-Dienste, die von der Microsoft Azure-Plattform angeboten werden. Lerne, wie du OpenAI in Azure konfigurierst, einfache Aufgaben durchführst und den Dienst überwachst.
Aktualisierte 21. Feb. 2025  · 35 Min. Lesezeit

Azure OpenAI ermöglicht den Zugriff auf OpenAI-Modelle wie GPT-4 über die Azure-Cloud-Services-Plattform

In diesem Tutorial stelle ich Azure OpenAI vor und zeige, wie du damit loslegen kannst. Wir lernen, wie man ein Konto einrichtet, ein KI-Modell einsetzt und verschiedene einfache Aufgaben mit der API durchführt.

Was ist Azure OpenAI?

Azure bietet eine ganze Reihe von Webdiensten, von SQL-Datenbanken bis hin zu Data Warehousing- und Analyselösungen wie Azure Synapse. Viele Nutzer dieser Dienste müssen die Modelle von OpenAI in ihre Arbeitsabläufe integrieren. 

Die traditionelle Methode, um auf die Modelle von OpenAI zuzugreifen, ist die OpenAI API. Azure OpenAI ist Microsofts Angebot der OpenAI-Modelle über die Azure-Plattform. Es ermöglicht Azure-Nutzern, die Dienste von OpenAI (Verarbeitung natürlicher Sprache, Codegenerierung, Bilderzeugung und vieles mehr) in ihre Azure-basierte Infrastruktur zu integrieren.

So müssen die Entwickler keine neue Webservice-Plattform erlernen und in ihre Arbeitsabläufe integrieren. Da sie auf der Azure-Plattform basiert, lässt sie sich leicht skalieren und bewältigt große Arbeitslasten. Entwickler und Unternehmen, die die Azure-Plattform nutzen, können die gleiche vertraute Oberfläche verwenden, um KI-basierte Dienste bereitzustellen, zu verwalten, zu überwachen und zu budgetieren. Auch die Verwaltung von Compliance- und Zahlungsabläufen wird dadurch erleichtert.

KI-Anwendungen entwickeln

Lerne, wie man KI-Anwendungen mit der OpenAI API erstellt.
Start Upskilling For Free

Azure OpenAI einrichten

In diesem Abschnitt zeige ich dir, wie du Azure OpenAI einrichtest. Ich nehme an, du hast bereits Erfahrung mit Azure. 

Beachte, dass sich Benutzeroberflächen häufig ändern. Daher können sich das Layout und der Text verschiedener Abschnitte und Titel in den Anleitungen und Screenshots im Laufe der Zeit oder von Region zu Region ändern.

Schritt 1: Ein Azure-Konto erstellen

Gehe auf die Azure OpenAI Homepageund wähle oben rechtsAnmelden. Melde dich mit deinem Microsoft-Konto an. Wenn du noch kein Microsoft-Konto hast, wähle auf der Anmeldeseite die Option zum Erstellen eines neuen Kontos und erstelle ein Microsoft-Konto. 

Dann erstellst du ein Azure-Konto, indem du die folgenden Schritte befolgst:

  1. Melde dich mit deinem Microsoft-Konto im Azure-Portalan. Wähle die Option " Mit einer kostenlosen Azure-Testversion beginnen".

Azure Portal

Das Microsoft Azure Portal.

  1. Auf der nächsten Seite wählst du die Option zum Erstellen eines Azure Gratis-Konto mit 200 $ Gratis-Guthaben zu erstellen.

Wähle ein Azure-Konto

Wähle einen Azure-Kontotyp.

  1. Fülle deine persönlichen Daten in das Formular ein.

Kostenloses Azure-Konto erstellen

Erstelle ein kostenloses Azure-Konto.

  1. Überprüfe deine Identität mit einer Kredit- oder Debitkarte. Beachte, dass eine vorübergehende Haltegebühr (in der Regel ein paar Cent oder der Gegenwert) von deinem Konto abgebucht werden kann. 

Überprüfe dein Azure-Konto

Überprüfe dein Azure-Konto (Screenshot vom Autor) 

  1. Nachdem du deine Zahlungsinformationen überprüft hast, wähle Go to Azure Portal. Es leitet dich zum Quickstart Center weiter.
  2. Beachte, dass die kostenlosen $200 Credits nicht für Azure OpenAI Services verwendet werden können. Auf Azure OpenAI-Modelle kann nur mit einem bezahlten Konto zugegriffen werden. Um dein Konto auf ein umlagefinanziertes Abonnement umzustellen, gehe zurück zum Azure-Portal und wähle Upgrade in der oberen Leiste .

Upgrade dein Azure-Konto

Aktualisiere dein Azure-Konto.

  1. Fülle die Details auf der Upgrade-Seite aus und wähle Upgrade auf Bezahlung zum Mitnehmen.

Nach einem Upgrade auf ein kostenpflichtiges Konto kannst du auf OpenAI-Modelle zugreifen. 

Schritt 2: Zugriff auf Azure OpenAI im Azure-Portal

  1. Gehe zurück zum Azure-Portal, das eine Vielzahl von Diensten anzeigt, z. B. KI-Dienste, virtuelle Maschinen, Speicherkonten und mehr. 

Azure Portal

Azure-Portal mit den verfügbaren Diensten.

  1. Wähle Azure AI Services und gehe zur Startseite für AI Services. Azure bietet verschiedene KI-basierte Dienste an, z. B. Gesichtserkennung, Anomalieerkennung, Sprache, Computer Vision, OpenAI und mehr. 

Azure KI-Dienste

Azure KI-Dienste.

  1. Im Azure OpenAI-Konto wählen Sie die Registerkarte Ansicht Option.
  2. Dies führt zur SeiteAzure OpenAI , die die Liste der OpenAI-Instanzen deines Kontos anzeigt. Wähle Azure OpenAI erstellen, um eine neue Instanz zu erstellen. Du kannst auch Erstellen auf der vorherigen Seite auswählen.
  3. Gib die Details unten ein:
    • Unter Abonnementwählst du den Namen deines bezahlten Abonnements aus.
    • Unter Ressourcengruppewählen Sie Neu erstellen:
      • Gib einen Namen für die neue Ressourcengruppe ein. 

Neue Azure OpenAI Instanz erstellen

Erstelle eine neue Azure OpenAI Instanz.

      • Wähle unter Region die nächstgelegene Region aus.
      • Unter Namegibst du einen eindeutigen Namen ein.
      • Unter der Ebene der Preisgestaltungwählst du Standard S0.
      • Wähle Weiter, um fortzufahren.
  1. Wähle im Abschnitt " Netzwerk" die Option "Alle Netzwerke, einschließlich des Internets, können auf diese Ressource zugreifen." Fahre dann mit dem nächsten Schritt fort.
  2. Im AbschnittTags gibst du Name-Wert-Paare ein, um diese Instanz zu kategorisieren. Das hilft bei der konsolidierten Abrechnung. Dieser Schritt ist optional. 
  3. Im nächsten Abschnitt wählst du Überprüfen + Absenden, überprüfst die Werte und wählst Erstellen. Dadurch wird eine neue OpenAI-Instanz eingerichtet. 
  4. Nach einer kurzen Weile erscheint die Meldung "Your deployment is complete." Wähle auf dieser Seite Gehe zur Ressource.
  5. Auf der Ressourcenseite wählst du den Namen der Ressource unter dem Ressourcen Registerkarte.

Schritt 3: Richte den API-Zugang ein

Die Ressourcenseite zeigt die Details der Instanz an. 

Die RegisterkarteDevelop zeigt die API-Schlüssel und API-Endpunkt-URLs für diese Instanz. Die Schlüssel wurden automatisch für dich erstellt. 

  • Kopiere die Schlüssel und den Endpunkt in eine Textdatei.

Du bekommst zwei API-Schlüssel. So kannst du den zweiten Schlüssel verwenden, falls der erste kompromittiert wird. Du kannst auch den zweiten Schlüssel benutzen, während du den ersten regenerierst. So kannst du die Schlüssel in regelmäßigen Abständen austauschen, ohne dass es zu Ausfallzeiten kommt. 

Azure OpenAI Instanz API Schlüssel

Azure OpenAI Instanz API Schlüssel

  • Im Monitor überprüfst du die Nutzungsmetriken dieser Instanz.
  • In der Starten wähle die Registerkarte Azure AI Foundry erkunden Portal um den KI-Spielplatz auf einer neuen Seite zu öffnen.

Azure OpenAI Chat Spielplatz

Azure OpenAI Chat Spielplatz.

  • Wählen Sie den Chat Spielplatz aus dem linken Menü aus.
  • Unter Einsatzwählen Sie Neue Dep. erstellen.
    • Wähle Aus Basismodellen im Pop-up-Fenster für die neue Bereitstellung
  • Daraufhin erscheint ein Popup, in dem du das Modell auswählen kannst. 
    • Gib in der Suchleiste "gpt-3" ein. 
    • Wähle gpt-35-turbo aus der Liste aus . Dies ist ein wirtschaftliches Modell, das für Chat-Abschlüsse optimiert ist. Wenn du eine funktionierende Konfiguration hast, kannst du bei Bedarf auf ein fortschrittlicheres (und teureres) Modell umsteigen.
    • Wähle Bestätige.
  • Im Modell bereitstellen Popup, wähle Anpassen.
    • Reduziere die Token pro Minute Rate Limit auf einen niedrigen Wert (zum Beispiel 12 Anfragen pro Minute) für manuelle Tests. Erhöhe diesen Wert später, wenn du das Modell in Produktion gibst. 
    • Deaktiviere dynamische Quoten. Du brauchst sie erst, wenn der Einsatz stark frequentiert wird. 
    • Wähle Einsetzen.

Neues Modell auf der Chat-Spielwiese einführen

Setze ein neues Modell auf dem Chat-Spielplatz ein.

Das war's! Im nächsten Abschnitt werden wir sehen, wie wir auf diese Bereitstellung des OpenAI gpt-35-turbo Modells zugreifen können. 

API-Schlüssel neu generieren

Es ist ratsam, die API-Zugangsschlüssel regelmäßig zu erneuern. So wird sichergestellt, dass das Konto nicht kompromittiert wird, wenn alte Schlüssel versehentlich weitergegeben werden. Die folgenden Schritte beschreiben, wie du Schlüssel neu generieren kannst:

  • Wähle unter Ressourcenverwaltung im linken Menü Schlüssel und Endpunkt.
  • Erstelle jeden Schlüssel einzeln neu. 

Azure OpenAI Instanz API Schlüssel

Azure OpenAI Instanz API Schlüssel.

Azure OpenAI in Anwendungen verwenden

Nachdem wir Azure OpenAI eingerichtet und ein Modell bereitgestellt haben, sehen wir, wie wir programmatisch darauf zugreifen können. 

Schritt 1: Einrichten deiner Entwicklungsumgebung

Ich zeige dir, wie du dich mit Python mit Azure OpenAI verbinden kannst. Installiere die benötigten Bibliotheken:

$ pip install openai

Wenn du ein Notebook verwendest, führe den folgenden Befehl aus. Hinweis: Ich verwende ein DataLab-Notebook.

!pip install openai

Importiere die benötigten Pakete in der Python-Shell oder im Notebook:

import os
from openai import AzureOpenAI

Das Modul AzureOpenAI ermöglicht den Zugriff auf OpenAI-Dienste in Azure. Dies unterscheidet sich von dem OpenAI Modul, das für den Zugriff auf die eigenständige OpenAI API verwendet wird .

Bevor du Azure OpenAI nutzt, musst du den API-Schlüssel und den Endpunkt in deiner Umgebung festlegen. Im vorherigen Abschnitt wurde gezeigt, wie man diese Werte findet. Im Prinzip kannst du diese in der Programmierumgebung einstellen, aber ich empfehle, das nicht zu tun. Gib niemals API-Schlüssel im Programm bekannt. 

API-Schlüssel über das Terminal festlegen

Um Python lokal auszuführen, setzt du die Umgebungsvariable in der Shell-Konfigurationsdatei. Ich zeige dir, wie du es für die Bash-Shell einrichtest. 

  • Bearbeite die Datei .bashrc in einem Texteditor .
  • Füge am Ende der Datei diese beiden Zeilen hinzu:
    • export AZURE_OPENAI_API_KEY=MY_API_KEY'
    • export AZURE_OPENAI_ENDPOINT=MY_ENDPOINT'
  • Speichere und schließe die Datei.
  • Lade die Änderungen im Terminal mit dem Befehl source ~/.bashrc neu.
  • Bei anderen Schalen, wie sh oder zsh, kann der Prozess etwas anders aussehen .
  • Öffne die Python-Shell in der gleichen Terminalsitzung (oder öffne sie erneut). 

Importiere den API-Schlüssel und die Endpunktwerte in das Python-Terminal:

azure_openai_api_key = os.getenv["AZURE_OPENAI_API_KEY"]
azure_openai_endpoint = os.getenv["AZURE_OPENAI_ENDPOINT"]

API-Schlüssel mithilfe von Online-Notebooks festlegen (DataLab)

DataLab ermöglicht es dir, direkt Umgebungsvariablen für ein Notebook zu setzen.

  • Wähle in der oberen Menüleiste "Umgebung" und dann "Umgebungsvariablen" aus dem Dropdown-Menü. 
  • Wähle die Option zum Hinzufügen von Umgebungsvariablen. 
  • Füge zwei Variablen, AZURE_OPENAI_API_KEY und AZURE_OPENAI_ENDPOINT, und ihre jeweiligen Werte hinzu.
  • Gib diesem Satz von Umgebungswerten einen Namen und speichere die Änderungen. 

Extrahiere diese Werte im Notizbuch wie unten gezeigt:

azure_openai_api_key = os.environ["AZURE_OPENAI_API_KEY"]
azure_openai_endpoint = os.environ["AZURE_OPENAI_ENDPOINT"]

Schritt 2: Mache deinen ersten API-Aufruf an Azure OpenAI

Mit der Funktion AzureOpenAI() kannst du nun ein client Objekt erstellen, das Anfragen annimmt. Diese Funktion verwendet die folgenden Parameter:

  • api_version: Die Version der Azure OpenAI API. Die neueste Version findest du in der Azure-Dokumentation unter
  • api_key: den Azure OpenAI API-Schlüssel. Das kannst du aus den Umgebungsvariablen ablesen, die du zuvor festgelegt hast. Stelle dies hier nicht manuell ein. 
  • azure_endpoint: die URL des Azure OpenAI API-Endpunkts (erhalte diesen Wert aus der Umgebung). 
client = AzureOpenAI(
    api_version="2024-06-01",
    api_key=azure_openai_api_key,
    azure_endpoint=azure_openai_endpoint
)

Verwende dieses client Objekt für Aufgaben wie den Chatabschluss mit der Funktion .chat.completions.create(). Diese Funktion akzeptiert die folgenden Parameter:

  • model: Der Modellname. In älteren Versionen der OpenAI API war dies der Parameter engine. Beachte, dass der Parameter model mit dem Modell übereinstimmen muss, das während der Bereitstellung angegeben wurde (auf dem Azure AI Foundry Portal). Wenn du versuchst, ein anderes Modell als das eingesetzte zu verwenden, kommt es zu einer Fehlermeldung (siehe unten): 
NotFoundError: Error code: 404 - {'error': {'code': 'DeploymentNotFound', 'message': 'The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again.'}}
  • messages: Dieser Parameter legt die Konversation zwischen dem Benutzer und dem Modell fest. Sie besteht aus einer Reihe von Nachrichtenobjekten. Jedes Nachrichtenobjekt hat ein Schlüssel-Wert-Paar, das mit role (entweder system, user oder assistant) und content(der Text der Nachricht) bezeichnet wird. Diese Nachrichtenobjekte liefern den Kontext für die Interaktion und leiten die Antworten des Modells. 

Im Folgenden gebe ich Beispiele für Schlüssel-Wert-Paare (role, content) für verschiedene Werte von role:

  • user: die vom Endbenutzer eingegebene Eingabeaufforderung. 

Beispiel: {“role”: “user”, “content”: “explain the difference between rational and irrational numbers”}

  • system: die Beschreibung der Rolle, die OpenAI bei der Interaktion spielen soll. 

Beispiel: {“role”: “system”, “content”: “you are a helpful teacher to guide elementary mathematics students”}

  • assistant: die erwartete Antwort von OpenAI. 

Beispiel: {“role”: “assistant”, “content”: “the difference between rational and irrational numbers is … an example explanation …”}

Die Rolle assistant ist nur dann notwendig, wenn Trainingsdaten zur Feinabstimmung des Modells bereitgestellt werden. Wenn du die client für Aufgaben wie das Ausfüllen von Chats nutzt, reichen die Rollen user und system aus. Für viele einfache Aufgaben ist nur die Rolle user ausreichend .

  • max_tokensDieser Parameter bestimmt die maximale Anzahl von Token, die für die Verarbeitung (sowohl der Eingabe als auch der Ausgabe) des API-Aufrufs verwendet werden können. Die von dir verwendeten Token werden dir direkt in Rechnung gestellt. Der Standardwert ist 16. Dieser Wert ist für einfache Anwendungsfälle ausreichend; daher kann dieser Parameter weggelassen werden. 
simple_completion = client.chat.completions.create(
    model="gpt-35-turbo",  
    messages=[
        {
            "role": "user",
            "content": "Explain the difference between OpenAI and Azure OpenAI in 20 words",
        },
    ],
)

Drucke die Ausgabe der Chat-Abschlussaufgabe:

print(simple_completion.to_json())

Die Ausgabe ist ein JSON-Objekt mit verschiedenen Schlüssel-Werte-Paaren. Sie enthält die Ausgabe des Modells, wie im folgenden Beispiel gezeigt. Beachte, dass assistant die Standardrolle ist, die dem Modell zugewiesen wurde .

"message": {
   "content": "OpenAI is a research organization focused on advancing AI, while Azure OpenAI is a collaboration between Microsoft and OpenAI.",
   "role": "assistant"
},

Schritt 3: Verwendung von OpenAI-Modellen für verschiedene Aufgaben

Um mit Azure OpenAI auf ein Modell zuzugreifen, musst du es zunächst bereitstellen. Im vorherigen Abschnitt hast du das Modell gpt-35-turbo eingesetzt. Um ein anderes Modell zu verwenden:

  • Gehe zurück zu Azure AI Foundry und setze ein anderes Modell ein, wie im vorherigen Abschnitt erklärt. Wähle aus verschiedenen Modellen wie GPT-3.5, GPT-4o, o1 und o1-mini, o3 und o3-mini, und mehr .
  • Schreibe die obigen Aufforderungen (in der Funktion chat.completions.create() ) mit dem Namen des neuen Modells um.

In älteren Versionen von OpenAI war es üblich, verschiedene Modelle für unterschiedliche Aufgaben zu verwenden. Es gab spezielle Modelle für die Codegenerierung, NLP und mehr. Moderne Modelle wie GPT-3.5 und GPT-4 können alle textbasierten generativen Aufgaben erfüllen. Daher wurden viele der älteren aufgabenspezifischen Modelle (wie davinci Modelle für die Codegenerierung) abgeschafft .

Wir untersuchen nun, wie die API für verschiedene einfache Aufgaben wie die Beantwortung von Fragen und die Textzusammenfassung genutzt werden kann. In den folgenden Beispielaufgaben verwenden wir das gleiche Modell - GPT-3.5. Du kannst auch eines der GPT-4 Modelle wählen. 

Da es sich um textbasierte Aufgaben handelt, deklarieren wir zunächst einen Textblock, den wir bearbeiten wollen. Ich habe willkürlich einen Bericht über ein Paar Stiefel von einer E-Commerce-Website kopiert. Weise den Text dieser Rezension einer Variablen text zu. Achte darauf, dass du alle einfachen oder doppelten Anführungszeichen innerhalb des Textes ausbrichst. 

text = 'Comfort and Quality wise the boots are absolutely excellent. A 10 miles hike along the city Streets and the alps nearby felt like a smooth sail. The most plus it was quite well ventilated cause of the heavy duty Gore-tex material. After 12 hours when I removed it, there was just very little bit of perspiration (My foot sweats a lot) and absolutely no foul smell. Speaking of the Gore-Tex I would say, I sported this on a heavy rainy day after buying it in India, I was fearing the boot, though not very much like normal boots, would still be drenching with water, instead it was very little soaked. And some 5-6 hours later it was completely dry (Kept inside a closed room in the night). The only disadvantage I think is, that it fits my foot perfectly according to the size I chose, and there is no slight pain from 7 AM till 8 PM due to the shoe weight (of course its 1.2 KG, even though it doesn\'t feel like)' 

Text-Zusammenfassung 

Um den obigen Text zusammenzufassen:

  • Verwende das zuvor erstellte client Objekt .
  • Übergib die entsprechenden Rollen im Parameter messages, wie im folgenden Beispiel gezeigt :
summary_completion = client.chat.completions.create(
    model="gpt-35-turbo", 
    messages=[
        {
         "role": "system",
         "content": "You are a helpful assistant for summarizing text"
        },
        {
            "role": "user",
            "content": f"Summarize this text in 10 words: {text}",
        },
    ],
)

Beachte, wie wir den Text als Variable in der Eingabeaufforderung im obigen Snippet übergeben.

print(summary_completion.to_json())

Die Ausgabe enthält die Zusammenfassung des langen Textes durch den Assistenten, wie in diesem Auszug gezeigt: 

"message": {
   "content": "Excellent comfort and quality, well-ventilated, quick-drying, lightweight boots, minimal perspiration, no foul smell.",
   "role": "assistant"
},

Frage beantworten

Um Fragen zu beantworten (basierend auf dem obigen Eingabetext), ändern wir die Eingabeaufforderung, um die Frage als String-Variable zu übergeben. Wie zuvor enthält die Eingabeaufforderung auch den Text als Variable. Das Modell beantwortet die Frage anhand des vorgegebenen Textes. 

question = 'Are these shoes heavy?'

qna_completion = client.chat.completions.create(
    model="gpt-35-turbo", 
    messages=[
        {"role": "system",
         "content": "You are a helpful assistant for answering questions"
        },
        {
            "role": "user",
            "content": f"Answer this question: {question} in 10 words based on this text: {text}",
        },
    ],
)

Konvertiere die Ausgabe in JSON und drucke sie aus:

print(qna_completion.to_json())

Die Ausgabe enthält die Antwort des Assistenten auf die Frage:

"message": {
   "content": "Lightweight. Not heavy. Comfortable for long hikes. Well-ventilated Gore-tex material.",
   "role": "assistant"
},

Werde Azure AZ-900 zertifiziert

Bereite dich auf Azure's PL-300 vor und erhalte 50% Rabatt auf die Prüfungsgebühr.

Anwendungsfälle für Azure OpenAI

Schauen wir uns nun die verschiedenen Anwendungsfälle für den Azure OpenAI Service an.

Natürliche Sprachverarbeitung (NLP)

Da es sich im Kern um ein Sprachmodell handelt, eignen sich OpenAIs Allzweckmodelle wie GPT-3 und GPT-4 hervorragend für NLP-Aufgaben, wie z. B.:

  • Textzusammenfassung: Gib der API einen großen Text als Eingabe und bitte sie, ihn nach deinen Bedürfnissen zusammenzufassen. Im vorherigen Beispiel haben wir die lange Kundenbewertung in einer 10-Wörter-Zusammenfassung zusammengefasst.
  • Textklassifizierung: Bei einem Dokument (oder einer Reihe von Dokumenten) und einer Reihe von vordefinierten Labels kann OpenAI das/die Dokument(e) dem am besten geeigneten Label zuordnen. 
  • Stimmungsanalyse: Die API kann einen eingegebenen Text analysieren, um seine Stimmung zu ermitteln. Sie kann zum Beispiel eine Kundenbewertung als positiv, negativ oder neutral einstufen.

Im folgenden Beispiel führen wir eine Stimmungsanalyse durch, um den (zuvor definierten) Kundenrezensionstext zu klassifizieren.

sentiment_classification = client.chat.completions.create(
    model="gpt-35-turbo", 
    messages=[
        {"role": "system",
         "content": "You are a helpful assistant for classifying customer reviews into one of the following categories: very positive, positive, neutral, negative, very negative"
        },
        {
            "role": "user",
            "content": f"Classify this review: {text}",
        },
    ],
    #max_tokens=16
)

print(sentiment_classification.to_json())

Die Ausgabe enthält ein Snippet, das dem folgenden Auszug ähnelt. Sie enthält die Einstufung der Überprüfung durch den Assistenten:

"message": {
   "content": "This review can be classified as very positive.",
   "role": "assistant"
},

Code-Erstellung

OpenAI-Modelle können Code in verschiedenen Programmiersprachen erzeugen. Frühere Versionen von OpenAI hatten spezielle code-spezifische Modelle, wie Codex und code-davinci, die für die Codegenerierung fein abgestimmt waren .

Neuere Versionen von OpenAI, wie z.B. GPT-3.5 und GPT-4, erzeugen jedochCode ohne Feinabstimmung. Die Basismodelle werden auf kodierungsbasierten Datensätzen trainiert. Codex, code-davinci und viele andere alte Modelle sind daher veraltet und stehen für neue Einsätze nicht mehr zur Verfügung. 

OpenAI-Modelle können beim Schreiben von Code in verschiedenen gängigen Programmiersprachen helfen. Interagiere mit dem Modell in natürlicher Sprache, um Anweisungen für Programmieraufgaben zu geben wie: 

  • Erstelle den Code: Bei einer Textaufforderung oder einem Kommentar kann das Modell einen Codeschnipsel erzeugen. Der Programmierer kann verschiedene solcher Schnipsel zu einem richtig funktionierenden Programm kombinieren. Das hilft dabei, sich wiederholende Aufgaben wie das Schreiben von Standardcode zu automatisieren. 
  • Debuggen: Das Modell kann Fehler und Warnmeldungen analysieren, um das Problem in natürlicher Sprache zu erklären und Vorschläge zur Behebung des Problems zu machen. 
  • Optimiere: OpenAI-Modelle können dabei helfen, Code in sauberere Strukturen umzuwandeln und effizientere Algorithmen für gängige Aufgaben wie das Sortieren zu verwenden. 
  • Erkläre: OpenAI-Modelle können auch die Codeschnipsel erklären, die sie erzeugen. Diese Erklärungen helfen dabei, den generierten Code an die Bedürfnisse des Entwicklers anzupassen. Sie können auch neuen Programmierern helfen, Programmierkonzepte zu verstehen. 

Betrachte ein einfaches Beispiel für das Schreiben einer Python-Funktion zum Öffnen und Lesen einer Datei. Diese Aufgabe ist so häufig, dass sie leicht automatisiert werden kann. Wir bitten OpenAI, den Code zu erstellen und zu erklären. Verwende das zuvor erstellte client Objekt .

code_completion = client.chat.completions.create(
    model="gpt-35-turbo", 
    messages=[
        {"role": "system",
         "content": "You are a helpful assistant for generating programming code"
        },
        {
            "role": "user",
            "content": "Write and explain a Python function to open and read a file",
        },
    ],
)

Drucke die Ausgabe: 

print(code_completion.to_json())

Beachte, dass das JSON-Objekt die Ausgabe des Assistenten enthält, die dem unten stehenden Beispielauszug ähnelt: 

"content": "Below is a Python function that opens a file, reads its contents, and returns the content as a string:\n\n```python\ndef read_file(file_path):\n    try:\n        with open(file_path, 'r') as file:\n …

Bilderzeugung mit DALL-E

Die vorherigen Beispiele waren alle textbasiert. Sie nutzten OpenAI als großes Sprachmodell (LLM), das typischerweise mit der Transformer-Architektur aufgebaut wird. Zusätzlich zu den LLMs enthält OpenAI auch diffusorbasierte Modelle wie DALL-E, die Bilder nach einer Eingabeaufforderung erzeugen. 

Um DALL-E zu benutzen, gibst du eine textbasierte Aufforderung mit einer detaillierten Beschreibung des Bildes ein, das du sehen möchtest. Anhand dieser Beschreibung erstellt DALL-E ein hochwertiges Bild. Das ist nützlich für Aufgaben wie das Erstellen von Illustrationen, das Entwerfen von Produktkonzepten, das Skizzieren für Marketingkampagnen und vieles mehr. 

DALL-E ist derzeit nicht in allen geografischen Regionen verfügbar. Wenn es in deiner Region verfügbar ist, erstelle einen neuen Einsatz (wie oben in dieser Anleitung beschrieben), aber benutze das Modell DALL-E-3 statt GPT-3. Greife auf das DALL-E-Modell mit demselben client Objekt zu, das zuvor beschrieben wurde. Verwende die Methode client.images.generate(), um ein Bild zu erzeugen :

  • Lege den Namen des Modells als dalle3 fest, indem du den Parameter model verwendest.
  • Beschreibe das gewünschte Bild mit dem Parameter prompt .
  • Du kannst auch einen Wert für n angeben, der die Anzahl der zu erzeugenden Bilder angibt .
result = client.images.generate(
    model="dalle3", 
    prompt="An owl wearing a Christmas hat",
    n=1
)

Extrahiere das JSON-Antwortobjekt aus der Antwort des Modells: 

import json
json_response = json.loads(result.model_dump_json())

Deklariere das Bildverzeichnis. Beachte, dass das Verzeichnis images unter dem aktuellen Arbeitsverzeichnis (von dem aus du die Python-Shell gestartet hast) existieren muss.

image_dir = os.path.join(os.curdir, 'images')

Gib den Bildpfad unter diesem Verzeichnis an:

image_path = os.path.join(image_dir, 'generated_image.png')

Extrahiere die URL des erzeugten Bildes aus dem JSON-Antwortobjekt, lade das Bild (als Stream) herunter und schreibe es in die Bilddatei:

image_url = json_response["data"][0]["url"]  
generated_image = requests.get(image_url).content  
with open(image_path, "wb") as image_file:
    image_file.write(generated_image)

Zeige das Bild an:

from PIL import Image

image = Image.open(image_path)
image.show()

Best Practices für die Nutzung von Azure OpenAI

Die Nutzung des Azure OpenAI Service ist einfach, aber wie bei jeder Technologie gibt es einige Best Practices, die du befolgen solltest, um das Beste aus ihm herauszuholen. In diesem Abschnitt gehen wir sie durch.

Überwachung und Verwaltung der API-Nutzung

Azure OpenAI ist einer der teureren Dienste von Azure. Auch die kostenlosen Credits, die für neue Konten verfügbar sind, können nicht für die OpenAI-API verwendet werden. Deshalb ist es wichtig, den Lernpfad zu verfolgen, auch für neue Nutzer/innen. Unkontrollierte API-Nutzung kann zu unerwartet hohen Rechnungen führen.

Die OpenAI-Gebühren basieren auf der Nutzung und dem Verbrauch der Token. Tokens sind Texteinheiten, die vom Modell verarbeitet werden - sowohl für die Eingabe als auch für die Ausgabe. Die Verarbeitung eines großen Textdokuments verbraucht mehr Token als die Erstellung einer längeren Antwort. Je mehr Token du benutzt, desto mehr zahlst du. Sei also sparsam mit den Informationen, die du dem Modell gibst oder von ihm generieren lässt. 

Verwende den Parameter max_tokens, um die Anzahl der Token zu begrenzen, die in dieser Anfrage verbraucht werden. Bei Produktionsmodellen solltest du experimentieren, um herauszufinden, wie viele Token deine Anfragen oder Nutzer typischerweise benötigen, und die Nutzung entsprechend begrenzen. Erhöhe das Limit von Fall zu Fall. 

Um die grundlegenden Metriken zu überwachen:

  • Von den Azure AI Services | Azure OpenAI Homepage die zu überwachende Ressource aus.
  • Wählen Sie auf der Ressourcenseite die Option Überwachen um verschiedene Metriken anzuzeigen, z. B. die Anzahl der HTTP-Anfragen und die Anzahl der verarbeiteten Token pro Modell und pro Einsatz.

Azure OpenAI Metriken Dashboard

Azure OpenAI Metrics Dashboard.

Du kannst dir auch detailliertere Metriken ansehen:

  • Von der Überwachung im linken Menü wählst du die Option Metriken.

Azure OpenAI detaillierte Metriken

Azure OpenAI detaillierte Metriken.

  • Im Bereich auswählen wählst du die OpenAI-Instanz aus (markiere das Kontrollkästchen)
  • Wähle Anwenden.

Über die Metriken Seite:

  • Wähle das Zeitfenster oben rechts aus. 
  • Wähle in der Menüleiste am oberen Rand des (zunächst leeren) Diagramms die entsprechende Metrik aus dem Dropdown-Menü. Wähle aus verschiedenen Metriken wie z.B.:
    • Azure OpenAI Anfragen, 
    • Statistiken über die Token-Nutzung (aktive Token, generierte Token, etc.)
    • Leistung von API-Aufrufen (Zeit bis zum ersten Byte usw.) und mehr. 

Azure OpenAI Monitoring Beispiel

Azure OpenAI Monitoring Beispiel.

Und schließlich solltest du immer Budgetgrenzen für API-Konten einrichten und die Einstellungen so konfigurieren, dass du E-Mail-Benachrichtigungen erhältst, wenn du eine Budgetgrenze überschreitest. 

Feinabstimmung der Modelle

Die Basismodelle von OpenAI werden auf riesigen Datensätzen trainiert, die viele verschiedene Bereiche abdecken. Im Großen und Ganzen gibt es drei verschiedene Möglichkeiten, die gewünschten Ergebnisse von LLM-Modellen zu erhalten: 

  • Promptes Engineering: Für die meisten Anwendungsfälle reicht es aus, der Eingabeaufforderung spezifische Anweisungen hinzuzufügen. Das nennt man Sofortengineering
  • Ein paar Schüsse lernen: In Fällen, in denen das Prompt-Engineering unzureichend ist, hatein paar Beispiele zu dem Prompt hinzugefügt, um dem Modell zu helfen, die gewünschten Antworten des Benutzers zu verstehen. Dies wird als "few-shot learning" bezeichnet, bei dem das Modell auf der Grundlage einer kleinen Anzahl von Beispielen lernt. 
  • Feinabstimmung: Manchmal möchtest du dich mit dem Model über einen sehr nischenorientierten Bereich unterhalten, zum Beispiel über ein Handbuch für die Reparatur von Spezialgeräten. Bei der Erstellung von Texten zu diesem Thema werden domänenspezifischer Jargon und Sprachmuster verwendet, die wahrscheinlich nicht in den öffentlichen Datensätzen (auf denen die Basismodelle trainiert wurden) enthalten sind. 

Du kannst ein Basismodell verfeinern, wenn das Lernen mit wenigen Schüssen und die prompte Entwicklung nicht helfen, die richtigen Antworten zu bekommen. 

Bei der Feinabstimmung wird ein zuvor trainiertes Basismodell auf einem speziellen Datensatz neu trainiert. In der Praxis werden nur ein paar Schichten des Basismodells (nicht das gesamte Modell) auf die neuen Daten umtrainiert. Das Azure-Tutorial zur Feinabstimmung erklärt die Schritte zur Feinabstimmung eines beliebten OpenAI-Modells. 

Bedenke, dass du für die erfolgreiche Feinabstimmung eines Basismodells große Mengen relevanter, hochwertiger Daten mit Tausenden von Trainingsbeispielen benötigst. Außerdem ist die Feinabstimmung immer mit hohen Vorlaufkosten verbunden, um das Modell zu trainieren. Außerdem muss das feinabgestimmte Modell vor dem Einsatz auf deine Kosten gehostet werden. 

Sichern deiner API-Schlüssel

Öffentlich zugängliche API-Schlüssel können missbraucht werden, um auf sensible Informationen zuzugreifen, unsichere und/oder illegale Aufgaben auszuführen oder unbefugte Anfragen zu stellen, was zu einer hohen Rechnung für den Kontoinhaber führt. Daher ist es wichtig, API-Schlüssel sicher zu verwalten, anstatt sie im Quellcode zu kodieren. Hierfür gibt es verschiedene Ansätze: 

  • Für Cloud-Dienste kannst du Schlüsselverwaltungstools wie AWS Secrets Manager und Azure Key Vault verwenden.
  • Verwende .env Dateien, um Schlüssel im Key-Value-Format zu speichern. Füge diese Datei zur Liste .gitignore hinzu, um sicherzustellen, dass sie nicht in das Code-Repository übertragen wird .
  • Für Dienste, die auf Jupyter-Notebooks basieren, kannst du die Option verwenden, Schlüssel als Teil der Umgebung zu speichern. Diese Methode wurde bereits in diesem Tutorial beschrieben. 

Ich empfehle, die Berechtigungen einzuschränken, für welche Aufgaben die Schlüssel verwendet werden können. Es ist auch hilfreich, die Schlüssel regelmäßig zu erneuern, damit alte Schlüssel nicht missbraucht werden können, falls sie durchgesickert sind.

Fazit 

In diesem Tutorial haben wir besprochen, wie du mit einem Azure-Konto beginnst, OpenAI-Dienste einrichtest, eine neue OpenAI-Instanz erstellst und ein Modell bereitstellst. Dann sahen wir Beispiele für die Verwendung von OpenAI-Modellen für praktische Aufgaben. Wir haben auch besprochen, wie du die Nutzung und Leistung von Azure OpenAI-Ressourcen überwachen kannst. 

Wenn du ein tieferes Verständnis von Microsoft Azure erlangen möchtest, besuche den Lernpfad des DataCamps Azure Fundamentals. Um mehr über die Kernkonzepte von OpenAI zu erfahren, besuche den Lernpfad des DataCamps OpenAI Fundamentals

Verdiene eine Top-KI-Zertifizierung

Zeige, dass du KI effektiv und verantwortungsbewusst einsetzen kannst.

FAQs

Wie unterscheidet sich Azure OpenAI von OpenAI?

Azure OpenAI ermöglicht Azure-Nutzern den Zugriff auf OpenAI-Modelle innerhalb der Azure-Plattform. So können Azure-Nutzer vermeiden, dass sie eine weitere Softwareplattform konfigurieren und verwalten müssen. Außerdem wird die Integration mit anderen Azure-basierten Diensten erleichtert.

Erlaubt Azure OpenAI eine Feinabstimmung der Modelle?

Ja, du kannst Trainings- und Validierungsdatensätze liefern, die auf deinen speziellen Anwendungsfall zugeschnitten sind, und sie zur Feinabstimmung eines Basismodells verwenden. 

Beachte jedoch, dass die Leistung des fein abgestimmten Modells stark von der Qualität der Trainingsdaten abhängt. Daten von schlechter Qualität oder irrelevante Daten führen zu einer schlechteren Leistung im Vergleich zum Basismodell.

Welche Methoden kann ich verwenden, um auf Azure OpenAI zuzugreifen?

Du kannst auf zwei Arten auf die Azure OpenAI-Dienste zugreifen: über die Azure-Webanwendung oder über die API. Die Web-App funktioniert wie das ChatGPT-Webinterface. Über die API kannst du programmatisch mit den Modellen interagieren. Die API ermöglicht die Integration von KI-Tools in andere Anwendungen.

Welche Sprachen kann ich mit der Azure OpenAI API verwenden?

Azure OpenAI unterstützt verschiedene Sprachen wie C#, Go, Java, JavaScript, Python und REST (HTTP-Anfragen). Python ist aufgrund seiner Beliebtheit in den Bereichen Data Science und KI/ML eine der am häufigsten verwendeten Sprachen. Noch wichtiger ist, dass das Python-Ökosystem viele Werkzeuge für die Arbeit mit großen Datensätzen enthält. 

Für die Integration in serverseitige Anwendungen solltest du dieselbe Sprache wie für den Rest deiner Anwendung verwenden.

Auf welche Modelle kann ich mit Azure OpenAI zugreifen?

Azure OpenAI bietet Zugang zu Modellen wie GPT-4, GPT-4o, GPT-3.5, DALL-E (Text zu Bild), Whisper (Sprache zu Text) und vielen anderen. Eine Liste der derzeit verfügbaren Modelle findest du in der Azure-Dokumentation.


Arun Nanda's photo
Author
Arun Nanda
LinkedIn

Arun ist ein ehemaliger Startup-Gründer, der Spaß daran hat, neue Dinge zu entwickeln. Derzeit erforscht er die technischen und mathematischen Grundlagen der Künstlichen Intelligenz. Er liebt es, sein Wissen mit anderen zu teilen, also schreibt er darüber.

Neben dem DataCamp kannst du seine Veröffentlichungen auf Medium, Airbyte und Vultr lesen.

Themen

Lerne in den folgenden Kursen mehr über Azure!

Kurs

Understanding Microsoft Azure

3 hr
28.4K
Learn about the power of Microsoft Azure and cloud computing software to help you improve your data engineering skills.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen