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
.env
Bitte 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 openai
Anschließ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 start
Dabei 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