Zu den zahlreichen Funktionen der Azure-OpenAI-Modelle gehört es auch, Code oder Code-Schnipsel aus Eingaben in natürlicher Sprache erstellen zu können. Ob für das Generieren einzelner Code-Zeilen oder die Transformation von Code in eine andere Programmiersprache: Die Einsatzbereiche sind vielfältig.
Azure OpenAI kann einen beliebigen unbekannten Code-Schnipsel erkennen, beschreiben und transformieren.
(Bild: Drilling / Microsoft)
Die meisten der von Azure OpenAI bereitgestellten Sprachmodelle können in der einen oder anderen Weise Code generieren. Allerdings variiert die Qualität der Ergebnisse von Modell zu Modell sehr deutlich. So bietet beispielsweise das Standardtextmodell der GPT3-Familie (z. B. text-davinci-002) zwar ein recht gutes Grundverständnis von Code, „Codex“ hingegen (z. B. code-davinci-002) bietet ergänzend zum Standard-Textmodell erweiterte Coding-Funktionen.
Mit jeder neuen Modellgeneration verbessern die Basismodelle ihre Leistungsfähigkeit und damit auch ihr Verständnis für Sprache und Code erheblich. Dies führt dazu, dass bestimmte Codex-Modelle aktuell gar nicht mehr erforderlich sind. Denn die jeweiligen Verbesserungen gipfeln in einem einzigen Modell der neueren Generationen, also aktuell z.B. in „gpt-35-turbo“ und „gpt-4“. Diese lassen sich dann sowohl für natürliche Sprache als auch für Code nutzen.
Alle Beispiele in diesem Text basieren aus Kostengründen auf gpt-35-turbo. Stellen sie daher zum Nachvollziehen der folgenden Beispiele in Azure OpenAI ein neues Deployment auf Basis des Modells „gpt-35-turbo“ mit der Modellversion „0301 (Standard)“ bereit, wie im ersten Artikel dieser Azure-OpenAI-Reihe demonstriert.
Das Bereitstellen eines neuen Modells in Azure OpenAI.
(Bild: Drilling / Microsoft)
Zur Info: „gpt-35-turbo“ wird normalerweise mit der Chatvervollständigungs-API genutzt, die GPT-3.5 Turbo Version 0301 lässt sich aber auch mit der Completion-API verwenden. Hingegen unterstützen die GPT-3.5 Turbo-Versionen 0613 und 1106 ausschließlich die Chat-Completion-API. Dabei ist z. B. GPT-3.5 Turbo Version 0301 die erste Version des veröffentlichten Modells und Version 0613 dann die Zweite, welche dem Modell Unterstützung für Funktionsaufrufe hinzufügt.
Aktuell sind die Modelle GPT-4, GPT-4-32k und GPT-4 Turbo mit Vision für alle Azure-OpenAI-Kunden erhältlich, allerdings variiert die Verfügbarkeit je nach Region. Sollte GPT-4 in Ihrer Region nicht angezeigt werden, wählen Sie eine andere Region oder schauen später einfach noch einmal nach. Alle genannten Modelle können mit der Chat-Completion-API genutzt werden, wobei GPT-4 Version 0314 die erste Version des veröffentlichten Modells ist und Version 0613 die Zweite, die dem Modell Unterstützung für Funktionsaufrufe hinzufügte.
Funktionen oder ganze Anwendungen erstellen
Die genannten Azure-OpenAI-Modelle sind grundsätzlich dazu in der Lage, Funktionen in mehreren Programmiersprachen zu generieren. Man muss einfach in Prosa beschreiben, was das jeweilige Ziel ist. Angenommen, wir möchten einen Quicksort-Algorithmus in C# implementieren.
Prompt-Engineering mit Code: Pseudo-Code in echten übersetzen.
(Bild: Drilling / Microsoft)
Zur Erinnerung: Quicksort ist ein schon seit 1960 bekannter, schneller, rekursiver und nicht stabiler Sortieralgorithmus mit der Eigenschaft, dass er eine sehr kurze innere Schleife verwendet (was die Ausführungsgeschwindigkeit erhöht) und außer dem für die eigentliche Rekursion benötigten Platz auf dem Aufruf-Heap, ohne weiteren zusätzlichen Speicherplatz auskommt. Das eigentliche Funktionsprinzip finden sie in zahlreichen Quellen im Netz. In Pseudocode sieht das Ganze etwa so aus:
funktion quicksort(links, rechts) falls links < rechts dann teiler:= teile(links, rechts) quicksort(links, teiler - 1) quicksort(teiler + 1, rechts) ende ende
Der blanke zurückgegebene Code sieht aus wie folgt:
public static int QuickSearch(int[] arr, int target) { int left = 0; int right = arr.Length - 1; while (left <= right) { int mid = (left + right) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid] < target) { left = mid + 1; } else { right = mid - 1; } } return -1; }
Das Chat-Modell übersetzt nicht nur Code, sondern erläutert diesen auch.
(Bild: Drilling / Microsoft)
Man kann einfach eine Eingabeaufforderung wie im ersten Bild tätigen oder den Prompt auf Deutsch formulieren: „Schreibe eine C#-Funktion für einen Quicksort.“ Der Bot liefert dann auch noch gleich eine passende Erläuterung zum Algorithmus (siehe Abbildung).
Code lässt sich auch in jede andere Azure OpenAI bekannte Programmiersprache transferieren.
(Bild: Drilling / Microsoft)
Selbstverständlich funktioniert das auch für Python, Java, NodeJS oder PHP. Statt die gleiche Frage wie im Beispiel für die jeweilige Programmiersprache erneut zu stellen, kann man dem Modell auch ein vorhandenes Code-Segment mitgeben und um die Übersetzung in eine andere Programmiersprache bitten. Wie wäre es mit einer klassischen binären Suche in Python:
def binäre_suche(folge: Sequence[int], x: int) -> Tuple[str, int]: links = 0 rechts = len(folge) - 1 while links <= rechts: mitte = links + (rechts - links) // 2 # Bereich halbieren if folge[mitte] == x: return 'Position', mitte if folge[mitte] > x: rechts = mitte - 1 # im linken Abschnitt weitersuchen else: links = mitte + 1 # im rechten Abschnitt weitersuchen return 'Lücke', links
Azure OpenAI kann einen beliebigen Code-Schnipsel in eine andere Sprache transformieren.
(Bild: Drilling / Microsoft)
Nutzen wir nun also das Modell, um das Code-Fragment z. B. nach Java zu transferieren. Das Ergebnis folgt auf dem Fuße.
public static int binarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left <= right) { int mid = (left + right) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid] < target) { left = mid + 1; } else { right = mid - 1; } } return -1; }
Azure OpenAI kann einen beliebigen unbekannten Code-Schnipsel erkennen, beschreiben und transformieren.
(Bild: Drilling / Microsoft)
Die Azure-OpenAI-Modelle sind aber durchaus auch in der Lage, unbekannten oder Pseudo-Code in etwas Reales zu übersetzen. Präsentieren Sie beispielsweise dem Modell unsere Quicksort-Pseudo-Code vom Beispiel oben mit der Bitte um eine Codierung in Node.js.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Fazit
Es wird deutlich, dass bereits die aktuellen Modell-Versionen des Standard-Chat-Modells von OpenAI in der Lage ist, Entwicklerinnen und Entwicklern eine ganze Reihe von Routineaufgaben abzunehmen. Wer sich einen Überblick über die Möglichkeiten verschaffen möchte, kann mit anderen Prompts und Ziel-Programmiersprachen experimentieren. Im Falle von Azure OpenAI bleibt der Chat-Verlauf sicher im Unternehmenskontext. Etwaige Kosten für die Verwendung der Modelle werden über die Azure-Subscription abgerechnet.