OpenAI API
In Moodle steht jedem Team ein API-Key für die OpenAI-Plattform zur Verfügung. Hier wird grob beschrieben, wie dieser API-Key mit der OpenAI-Hilfsbibliothek in einem Node.js-Projekt verwendet werden kann.
API-Key in .env speichern
Erstellen Sie im Projektverzeichnis eine Datei .env
und fügen Sie den OpenAI-API-Key Ihrer Gruppen wie folgt ein:
OPENAI_API_KEY=sk-...In der Datei .env werden in der Regel Umgebungsvariablen und geheime
Schlüssel in Node.js-Projekten gespeichert. Zu beachten ist der Punkt
(→ .) am Anfang des Dateinamens. Dadruch ist diese Datei „versteckt“ und
in der Standardkonfiguration des Datei-Explorers (Windows) oder Finder (Mac)
nicht sichtbar.
Die Datei .env wird nicht dem Git-Repository hinzugefügt,
da sie geheime Informationen enthält. Dies wird durch einen entsprechenden
Eintrag in der Datei .gitignore sichergestellt:
# Folgende Zeile muss in .gitignore stehen
.envBitte achten Sie darauf, dass der API-Key nicht
öffentlich zugänglich ist und dass der oben beschriebene
Eintrag in der .gitignore-Datei vorhanden ist.
OpenAI API nutzen
Die OpenAI API kann in Node.js-Projekten wie folgt eingebunden werden. Im Projektverzeichnis muss dieses Terminal-Kommando ausgeführt werden, um die Hilfsbibliothek von OpenAI zu installieren:
npm install openaiAnschließend kann die API in einem Node.js-Programm wie folgt verwendet werden.
Zunächst muss die Klasse OpenAI aus der Hilfsbibliothek importiert und ein
entsprechendes Objekt initialisiert werden. Es folgt auch ein Beispiel
für die Verwendung der Chat-API von OpenAI:
import OpenAI from 'openai';
// OpenAI initialisieren (API-Key aus .env-Datei wird geladen)
const openai = new OpenAI();
// hier könnte eine Eingabe erfolgen hier „simuliert“ mit einer Variablen
let input = 'Hauptstadt der Schweiz';
// Dies zeigt einen API-Aufruf der OpenAI-Responses-API
const response = await openai.responses.create({
model: 'gpt-4o',
input: [
{
role: 'developer',
content:
'Du bekommst Beschreibungen von Orten und lieferst nur die passende Stadt. Wenn du keine Stadt findest, dann antwortest du mit "no result". Sonst gibst du mir keine weiteren Texte.',
},
{ role: 'user', content: input },
],
});
console.log('Ergebnis der KI-Suche:', response.output_text);Programm mit .env-Datei starten
Wir müssen nun dafür sorgen, dass die Umgebungsvariablen
aus der Datei .env in unserem Programm geladen werden.
Dazu kann in der Datei package.json ein scripts-Eintrag
erstellt werden:
{
"name": "openai-example",
"version": "1.0.0",
"main": "main.js",
"type": "module",
"scripts": {
"start": "node --env-file=.env main.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
// usw.
}Dies ermöglicht den Start des Programms mit dem Befehl
npm startDabei wird der entsprechende Eintrag in scripts in
der Datei package.json ausgeführt. Bei uns ist
dies der Befehl node --env-file=.env main.js, womit
aus .env die Umgebungsvariablen geladen werden und
das Programm main.js gestartet wird.
Mehr Infos gibt es in der Dokumentation der (umfangreichen!) API von OpenAI, z.B. für die Arbeit mit Text: https://platform.openai.com/docs/guides/text?api-mode=responses
→ Bei den Code-Beispielen javascript auswählen.
Tipp: Eine beliebte Alternative zur OpenAI-Bibliothek ist das umfangreiche „AI SDK“ von Vercel: https://sdk.vercel.ai