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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
input | string | Ja | Der Prompt-Text |
model | string | Nein | Das zu verwendende Modell (z. B. "gpt-4o", "gpt-4o-mini") |
temperature | number | Nein | Kreativität der Antwort (0 = deterministisch, 2 = sehr kreativ) |
webSearch | boolean | Nein | Wenn 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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
input | string | Ja | Der Prompt-Text, der eine JSON-Antwort anfordert |
model | string | Nein | Das zu verwendende Modell |
temperature | number | Nein | Kreativität der Antwort |
webSearch | boolean | Nein | Websuche 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:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
src | string | Ja | Bild-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-miniist schneller und günstiger,gpt-4oliefert 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
chatCompletionJsonbeschreibe das gewünschte JSON-Format im Prompt, damit das Modell die richtige Struktur zurückgibt.