OllamaService
Der OllamaService ermöglicht dir die Textgenerierung über ein selbstgehostetes LLM (Large Language Model) mit Ollama. Im Gegensatz zu den OpenAI-Services läuft die Verarbeitung vollständig auf deiner eigenen Infrastruktur.
Zugriff
const ollama = RAGAI.AITEXT_OLLAMA;
Methoden
chatCompletion(input)
Sendet einen Prompt an das selbstgehostete LLM und gibt die Antwort zurück.
Parameter:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
input | string | Ja | Der Prompt-Text für das LLM |
Rückgabe: Promise<unknown> – Die Antwort des Modells.
const antwort = await RAGAI.AITEXT_OLLAMA.chatCompletion(
"Erkläre den Unterschied zwischen TCP und UDP in zwei Sätzen."
);
RAGAI.MSG.botMessage(antwort);
chatCompletionJson(input)
Sendet einen Prompt an das selbstgehostete LLM und erwartet eine strukturierte JSON-Antwort. Nützlich, wenn du die Antwort programmatisch weiterverarbeiten möchtest.
Parameter:
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
input | string | Ja | Der Prompt-Text für das LLM, der eine JSON-Antwort anfordert |
Rückgabe: Promise<unknown> – Die Antwort des Modells als JSON-Objekt.
const ergebnis = await RAGAI.AITEXT_OLLAMA.chatCompletionJson(
"Erstelle eine JSON-Liste mit 3 deutschen Städten. Format: { \"staedte\": [{ \"name\": \"...\", \"bundesland\": \"...\" }] }"
);
// Ergebnis ist bereits ein JSON-Objekt
console.log(ergebnis.staedte);
Vollständiges Beispiel
async function ollamaBeispiel(userInput) {
// Einfache Textantwort
const antwort = await RAGAI.AITEXT_OLLAMA.chatCompletion(
"Fasse folgenden Text zusammen: " + userInput
);
RAGAI.MSG.botMessage(antwort);
// Strukturierte JSON-Antwort
const json = await RAGAI.AITEXT_OLLAMA.chatCompletionJson(
"Extrahiere aus folgendem Text alle genannten Personen und Orte als JSON: " + userInput
);
if (json.personen && json.personen.length > 0) {
RAGAI.MSG.botMessage("Gefundene Personen: " + json.personen.join(", "));
}
}
Hinweise
- Ollama muss auf deinem Server installiert und konfiguriert sein, damit der Service funktioniert.
- Die Antwortqualität hängt vom verwendeten Modell ab (z. B. Llama, Mistral, Gemma).
chatCompletionJsonfordert das Modell explizit auf, JSON zurückzugeben – stelle sicher, dass dein Prompt das gewünschte JSON-Format beschreibt.- Da die Verarbeitung lokal stattfindet, werden keine Daten an externe Server gesendet.