Skip to main content

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:

ParameterTypPflichtBeschreibung
inputstringJaDer 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:

ParameterTypPflichtBeschreibung
inputstringJaDer 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).
  • chatCompletionJson fordert 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.