Übersicht
Ollama ist eine Open-Source-Plattform zur Ausführung großer Sprachmodelle (LLM) in lokalen Umgebungen. In Fess 15.6 wird die Ollama-Integrationsfunktion als Plugin fess-llm-ollama bereitgestellt und eignet sich für den Einsatz in privaten Umgebungen.
Durch die Verwendung von Ollama können Sie die KI-Suchmodus-Funktion nutzen, ohne Daten extern zu senden.
Hauptmerkmale
Lokale Ausführung: Daten werden nicht extern gesendet, Datenschutz ist gewährleistet
Vielfältige Modelle: Unterstützt viele Modelle wie Llama, Mistral, Gemma, CodeLlama
Kosteneffizienz: Keine API-Kosten (nur Hardware-Kosten)
Anpassbar: Auch selbst feinabgestimmte Modelle können verwendet werden
Unterstützte Modelle
Hauptsächlich verfügbare Modelle bei Ollama:
llama3.3:70b- Llama 3.3 von Meta (70B Parameter)gemma4:e4b- Gemma 4 von Google (E4B Parameter, Standard)mistral:7b- Mistral von Mistral AI (7B Parameter)codellama:13b- Code Llama von Meta (13B Parameter)phi3:3.8b- Phi-3 von Microsoft (3.8B Parameter)
Bemerkung
Die aktuelle Liste verfügbarer Modelle finden Sie unter Ollama Library.
Voraussetzungen
Bevor Sie Ollama verwenden, überprüfen Sie Folgendes.
Ollama-Installation: Laden Sie von https://ollama.com/ herunter und installieren Sie es
Modell-Download: Laden Sie das zu verwendende Modell in Ollama herunter
Ollama-Server starten: Stellen Sie sicher, dass Ollama läuft
Ollama-Installation
Linux/macOS
Windows
Laden Sie den Installer von der offiziellen Website herunter und führen Sie ihn aus.
Docker
Modell-Download
Plugin-Installation
In Fess 15.6 wurde die Ollama-Integrationsfunktion als Plugin ausgelagert. Zur Verwendung von Ollama ist die Installation des fess-llm-ollama-Plugins erforderlich.
Laden Sie fess-llm-ollama-15.6.0.jar herunter.
Legen Sie die Datei im Verzeichnis
app/WEB-INF/plugin/im Fess-Installationsverzeichnis ab.
Starten Sie Fess neu.
Bemerkung
Die Plugin-Version muss mit der Version von Fess übereinstimmen.
Grundeinstellungen
In Fess 15.6 sind die LLM-bezogenen Einstellungen auf mehrere Konfigurationsdateien aufgeteilt.
Minimalkonfiguration
app/WEB-INF/conf/fess_config.properties:
system.properties (auch über Administration > System > Allgemein konfigurierbar):
Bemerkung
Die LLM-Anbietereinstellung kann auch über die Administrationsoberfläche (Administration > System > Allgemein) durch Setzen von rag.llm.name konfiguriert werden.
Empfohlene Konfiguration (Produktionsumgebung)
app/WEB-INF/conf/fess_config.properties:
system.properties:
Einstellungselemente
Alle verfügbaren Einstellungselemente für den Ollama-Client. Alle Einstellungen werden in fess_config.properties vorgenommen.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
rag.llm.ollama.api.url | Basis-URL des Ollama-Servers | http://localhost:11434 |
rag.llm.ollama.model | Zu verwendendes Modell (muss in Ollama heruntergeladen sein) | gemma4:e4b |
rag.llm.ollama.timeout | Anfrage-Timeout (Millisekunden) | 60000 |
rag.llm.ollama.availability.check.interval | Intervall der Verfügbarkeitsprüfung (Sekunden) | 60 |
rag.llm.ollama.max.concurrent.requests | Maximale Anzahl gleichzeitiger Anfragen | 5 |
rag.llm.ollama.chat.evaluation.max.relevant.docs | Maximale Anzahl relevanter Dokumente bei der Bewertung | 3 |
rag.llm.ollama.concurrency.wait.timeout | Wartezeit bei gleichzeitigen Anfragen (Millisekunden) | 30000 |
rag.llm.ollama.connect.timeout | TCP-Verbindungs-Timeout (Millisekunden). Kann unabhängig von rag.llm.ollama.timeout angegeben werden | 5000 |
rag.llm.ollama.retry.max | Maximale Anzahl von HTTP-Wiederholungsversuchen (bei 429 und 5xx-Fehlern) | 3 |
rag.llm.ollama.retry.base.delay.ms | Basisverzögerung des exponentiellen Backoffs (in Millisekunden) | 2000 |
Gleichzeitigkeitssteuerung
Mit rag.llm.ollama.max.concurrent.requests kann die Anzahl gleichzeitiger Anfragen an Ollama gesteuert werden. Der Standardwert ist 5. Passen Sie diesen Wert entsprechend den Ressourcen des Ollama-Servers an. Bei zu vielen gleichzeitigen Anfragen kann der Ollama-Server überlastet werden und die Antwortgeschwindigkeit sinken.
Prompttypspezifische Einstellungen
In Fess können LLM-Parameter für jeden Prompttyp angepasst werden. Die Konfiguration erfolgt in fess_config.properties.
Für jeden Prompttyp können folgende Parameter konfiguriert werden:
rag.llm.ollama.{promptType}.temperature- Temperature bei der Generierungrag.llm.ollama.{promptType}.max.tokens- Maximale Token-Anzahlrag.llm.ollama.{promptType}.context.max.chars- Maximale Zeichenzahl des Kontexts
Verfügbare Prompttypen:
| Prompttyp | Beschreibung |
|---|---|
intent | Prompt zur Bestimmung der Benutzerabsicht |
evaluation | Prompt zur Bewertung der Suchergebnisse |
unclear | Antwort-Prompt für unklare Anfragen |
noresults | Prompt bei fehlenden Suchergebnissen |
docnotfound | Prompt, wenn kein Dokument gefunden wurde |
answer | Prompt zur Antwortgenerierung |
summary | Prompt zur Zusammenfassungsgenerierung |
faq | Prompt zur FAQ-Generierung |
direct | Prompt für direkte Antworten |
Konfigurationsbeispiel:
Ollama-Modelloptionen
Modellparameter für Ollama können in fess_config.properties konfiguriert werden.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
rag.llm.ollama.top.p | Wert für Top-P-Sampling (0.0-1.0) | (nicht gesetzt) |
rag.llm.ollama.top.k | Wert für Top-K-Sampling | (nicht gesetzt) |
rag.llm.ollama.num.ctx | Kontextfenstergröße | (nicht gesetzt) |
rag.llm.ollama.default.* | Standard-Fallback-Einstellungen | (nicht gesetzt) |
rag.llm.ollama.options.* | Globale Optionen | (nicht gesetzt) |
Konfigurationsbeispiel:
Unterstützung für Thinking-Modelle
Bei Verwendung von Thinking-Modellen wie gemma4 oder qwen3.5 unterstützt Fess die Konfiguration des Thinking-Budgets.
Folgendes in fess_config.properties eintragen:
Durch Konfiguration des Thinking-Budgets kann die Anzahl der Token gesteuert werden, die dem Modell für den „Denkschritt“ vor der Antwortgenerierung zur Verfügung stehen.
Netzwerkkonfiguration
Docker-Konfiguration
Das offizielle docker-fess Repository liefert ein Ollama-Overlay (compose-ollama.yaml) mit. Die minimalen Schritte sind:
Inhalt von compose-ollama.yaml (als Referenz für eigenes Setup):
Hinweise:
FESS_PLUGINS=fess-llm-ollama:15.6.0lässt dasrun.shdes Containers das Plugin automatisch herunterladen und inapp/WEB-INF/plugin/installieren-Dfess.config.rag.chat.enabled=trueaktiviert den AI-Modus-Dfess.config.rag.llm.ollama.api.url=...setzt die URL des Ollama-Servers (innerhalb des Docker-Compose-Netzwerks wird der Servicename wieollama01aufgelöst)-Dfess.system.rag.llm.name=ollamawirkt nur als initialer Default, bevor ein Wert in OpenSearch persistiert wurde. Nach dem Start kann der Wert auch unter Administration > System > Allgemein (RAG-Sektion) geändert werden
Bemerkung
Großgeschriebene Snake-Case-Umgebungsvariablen wie RAG_CHAT_ENABLED oder RAG_LLM_NAME werden von Fess nicht direkt erkannt. Konfigurationswerte müssen stets innerhalb von FESS_JAVA_OPTS als -Dfess.config.<key> (für fess_config.properties) oder -Dfess.system.<key> (für system.properties) übergeben werden.
Remote Ollama-Server
Wenn Ollama auf einem separaten Server als Fess läuft:
Warnung
Ollama hat standardmäßig keine Authentifizierungsfunktion. Bei externem Zugriff sollten Sie Sicherheitsmaßnahmen auf Netzwerkebene (Firewall, VPN usw.) in Betracht ziehen.
HTTP-Proxy verwenden
Seit Fess 15.6.1 nutzt der Ollama-Client die globale HTTP-Proxy-Konfiguration von Fess. Wenn die Verbindung zum Ollama-Server über einen Proxy erfolgen muss (z. B. bei Verwendung eines Remote-Ollama-Servers), geben Sie die folgenden Eigenschaften in fess_config.properties an.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
http.proxy.host | Proxy-Hostname (bei leerer Zeichenkette wird kein Proxy verwendet) | "" |
http.proxy.port | Proxy-Portnummer | 8080 |
http.proxy.username | Benutzername für die Proxy-Authentifizierung (optional; wenn angegeben, wird Basic-Authentifizierung aktiviert) | "" |
http.proxy.password | Passwort für die Proxy-Authentifizierung | "" |
Bemerkung
Da Ollama in der Regel lokal oder in einem internen Netzwerk betrieben wird, ist eine Proxy-Konfiguration nur in begrenzten Fällen notwendig (z. B. bei Verwendung eines Remote-Ollama-Servers, der nur über einen Unternehmens-Proxy erreichbar ist). Diese Einstellung wirkt sich auch auf den HTTP-Zugriff von Fess insgesamt (z. B. Crawler) aus.
Modellauswahl-Leitfaden
Richtlinien zur Modellauswahl je nach Verwendungszweck.
| Modell | Größe | Erforderlicher VRAM | Anwendungsfall |
|---|---|---|---|
phi3:3.8b | Klein | 4GB+ | Leichte Umgebung, einfache Frage-Antwort |
gemma4:e4b | Klein-Mittel | 8GB+ | Ausgewogener Allzweck, Thinking-Unterstützung (Standard) |
mistral:7b | Mittel | 8GB+ | Wenn hochwertige Antworten erforderlich sind |
llama3.3:70b | Groß | 48GB+ | Höchste Qualität, komplexe Schlussfolgerungen |
GPU-Unterstützung
Ollama unterstützt GPU-Beschleunigung. Mit NVIDIA-GPUs wird die Inferenzgeschwindigkeit erheblich verbessert.
Fehlerbehebung
Verbindungsfehler
Symptom: Fehler in der Chat-Funktion, LLM als nicht verfügbar angezeigt
Zu überprüfen:
Überprüfen Sie, ob Ollama läuft:
Überprüfen Sie, ob das Modell heruntergeladen ist:
Überprüfen Sie die Firewall-Einstellungen
Überprüfen Sie, ob das Plugin
fess-llm-ollamainapp/WEB-INF/plugin/vorhanden ist
Modell nicht gefunden
Symptom: Log zeigt „Configured model not found in Ollama“
Lösung:
Überprüfen Sie, ob der Modellname korrekt ist (kann
:latest-Tag enthalten):Laden Sie das benötigte Modell herunter:
Timeout
Symptom: Anfragen laufen in Timeout
Lösung:
Verlängern Sie die Timeout-Zeit:
Erwägen Sie ein kleineres Modell oder eine GPU-Umgebung
Debug-Einstellungen
Zur Untersuchung von Problemen können Sie den Log-Level anpassen, um detaillierte Logs zu Ollama auszugeben.
app/WEB-INF/classes/log4j2.xml:
Weiterführende Informationen
Übersicht LLM-Integration - Übersicht LLM-Integration
AI-Suchmodus-Funktion konfigurieren - Details zur AI-Suchmodus-Funktion