Skip to main content

OpenaiService

Der OpenaiService ermöglicht dir die Textgenerierung über die OpenAI API. Du kannst damit Prompts an GPT-Modelle senden, JSON-Antworten anfordern und Bild-Inhalte für Chat-Nachrichten vorbereiten.

Zugriff

const openai = RAGAI.AITEXT_OPENAI;

Methoden

chatCompletion(input, model?, temperature?, webSearch?)

Sendet einen Prompt an ein OpenAI-Modell und gibt die Antwort zurück.

Parameter:

ParameterTypPflichtBeschreibung
inputstringJaDer Prompt-Text
modelstringNeinDas zu verwendende Modell (z. B. "gpt-4o", "gpt-4o-mini")
temperaturenumberNeinKreativität der Antwort (0 = deterministisch, 2 = sehr kreativ)
webSearchbooleanNeinWenn true, wird Websuche für aktuelle Informationen aktiviert

Rückgabe: Promise<unknown> – Die Antwort des Modells.

// Einfacher Prompt
const antwort = await RAGAI.AITEXT_OPENAI.chatCompletion("Was ist Machine Learning?");

// Mit Modell und Temperature
const antwort = await RAGAI.AITEXT_OPENAI.chatCompletion(
"Schreibe ein kurzes Gedicht über KI.",
"gpt-4o",
1.2
);

// Mit Websuche
const antwort = await RAGAI.AITEXT_OPENAI.chatCompletion(
"Was sind die aktuellen Nachrichten zu KI?",
"gpt-4o",
0.7,
true
);

chatCompletionJson(input, model?, temperature?, webSearch?)

Sendet einen Prompt an ein OpenAI-Modell und erwartet eine strukturierte JSON-Antwort. Die Parameter sind identisch zu chatCompletion.

Parameter:

ParameterTypPflichtBeschreibung
inputstringJaDer Prompt-Text, der eine JSON-Antwort anfordert
modelstringNeinDas zu verwendende Modell
temperaturenumberNeinKreativität der Antwort
webSearchbooleanNeinWebsuche aktivieren

Rückgabe: Promise<unknown> – Die Antwort als JSON-Objekt.

const ergebnis = await RAGAI.AITEXT_OPENAI.chatCompletionJson(
"Erstelle eine JSON-Liste mit 5 Programmiersprachen und ihren Hauptanwendungsgebieten. Format: { \"sprachen\": [{ \"name\": \"...\", \"gebiet\": \"...\" }] }"
);

for (const sprache of ergebnis.sprachen) {
console.log(`${sprache.name}: ${sprache.gebiet}`);
}

getImageMesageContent(src)

Erstellt ein Bild-Nachrichtenobjekt für die Verwendung in Chat-Nachrichten. Nützlich, wenn du Bilder als Teil eines Multi-Modal-Prompts an GPT senden möchtest.

Parameter:

ParameterTypPflichtBeschreibung
srcstringJaBild-URL oder Base64-kodierter Bildstring

Rückgabe: Promise<{ type, image_url: { url, detail } }> – Ein formatiertes Bild-Nachrichtenobjekt.

const bildContent = await RAGAI.AITEXT_OPENAI.getImageMesageContent(
"https://example.com/bild.jpg"
);

// Das Objekt hat folgende Struktur:
// {
// type: "image_url",
// image_url: {
// url: "https://example.com/bild.jpg",
// detail: "auto"
// }
// }

Vollständiges Beispiel

async function openaiBeispiel(userInput) {
// 1. Textantwort generieren
const zusammenfassung = await RAGAI.AITEXT_OPENAI.chatCompletion(
"Fasse folgenden Text in 3 Sätzen zusammen: " + userInput,
"gpt-4o",
0.5
);
RAGAI.MSG.botMessage(zusammenfassung);

// 2. Strukturierte Daten extrahieren
const daten = await RAGAI.AITEXT_OPENAI.chatCompletionJson(
"Extrahiere Schlüsselwörter aus folgendem Text als JSON-Array: " + userInput
);
RAGAI.MSG.botMessage("Schlüsselwörter: " + daten.keywords.join(", "));

// 3. Bild-Content für multimodale Anfragen vorbereiten
const bildContent = await RAGAI.AITEXT_OPENAI.getImageMesageContent(
"https://example.com/diagramm.png"
);
}

Hinweise

  • Die Wahl des Modells beeinflusst Kosten und Qualität. gpt-4o-mini ist schneller und günstiger, gpt-4o liefert bessere Ergebnisse.
  • Eine Temperature von 0 liefert reproduzierbare Ergebnisse, höhere Werte machen Antworten kreativer.
  • Die Websuche ist nützlich für aktuelle Informationen, die nicht im Trainingsset des Modells enthalten sind.
  • Bei chatCompletionJson beschreibe das gewünschte JSON-Format im Prompt, damit das Modell die richtige Struktur zurückgibt.