Übersicht
Die Chat API ist eine RESTful API für den programmatischen Zugriff auf die AI-Suchmodus-Funktion von Fess. Sie können KI-gestützte Antworten basierend auf Suchergebnissen erhalten.
Diese API bietet zwei Endpunkte:
Nicht-Streaming-API: Vollständige Antwort auf einmal abrufen
Streaming-API: Antworten in Echtzeit über Server-Sent Events (SSE)
Voraussetzungen
Um die Chat API zu verwenden, sind folgende Einstellungen erforderlich:
AI-Suchmodus-Funktion ist aktiviert (
rag.chat.enabled=true)LLM-Provider ist konfiguriert
Für detaillierte Konfiguration siehe AI-Suchmodus-Funktion konfigurieren.
Nicht-Streaming-API
Endpunkt
Request-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
message | String | Ja | Benutzernachricht (Frage) |
sessionId | String | Nein | Sitzungs-ID für Gespräch fortsetzen |
clear | String | Nein | "true" um Sitzung zu löschen |
Response
Erfolg (HTTP 200)
Fehler
HTTP-Statuscodes
| Code | Beschreibung |
|---|---|
| 200 | Request erfolgreich |
| 400 | Ungültige Request-Parameter (z.B. message leer) |
| 404 | Endpunkt nicht gefunden |
| 405 | HTTP-Methode nicht erlaubt (nur POST erlaubt) |
| 500 | Interner Serverfehler |
Verwendungsbeispiele
cURL
JavaScript
Python
Streaming-API
Endpunkt
Request-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
message | String | Ja | Benutzernachricht (Frage) |
sessionId | String | Nein | Sitzungs-ID für Gespräch fortsetzen |
Response-Format
Die Streaming-API gibt Antworten im text/event-stream Format (Server-Sent Events) zurück.
Jedes Ereignis hat folgendes Format:
SSE-Ereignisse
session
Übermittelt Sitzungsinformationen. Wird zu Beginn des Streams gesendet.
phase
Benachrichtigt über Start/Ende einer Verarbeitungsphase.
Phasentypen:
intent_analysis- Absichtsanalysesearch- Suchausführungevaluation- Ergebnisbewertunggeneration- Antwortgenerierung
chunk
Übermittelt generierte Textfragmente.
sources
Übermittelt Quelldokument-Informationen.
done
Benachrichtigt über Verarbeitungsabschluss.
error
Benachrichtigt über Fehler.
Verwendungsbeispiele
cURL
Python
Fehlerbehandlung
Bei der Verwendung der API sollten Sie eine geeignete Fehlerbehandlung implementieren.
Rate Limiting
Für die Chat API gelten Rate Limits.
Standardeinstellungen:
10 Anfragen pro Minute
Bei Überschreitung des Rate Limits wird HTTP 429 zurückgegeben.
Für Rate-Limit-Konfiguration siehe AI-Suchmodus-Funktion konfigurieren.
Sicherheit
Sicherheitshinweise bei Verwendung der Chat API:
Authentifizierung: In der aktuellen Version ist keine Authentifizierung erforderlich, aber erwägen Sie in Produktionsumgebungen eine angemessene Zugriffskontrolle
Rate Limiting: Aktivieren Sie Rate Limiting zum Schutz vor DoS-Angriffen
Eingabevalidierung: Führen Sie auch clientseitig eine Eingabevalidierung durch
CORS: Überprüfen Sie bei Bedarf die CORS-Einstellungen
Referenzinformationen
AI-Suchmodus-Funktion konfigurieren - AI-Suchmodus-Funktionskonfiguration
Übersicht LLM-Integration - LLM-Integration Übersicht
KI-Suchmodus - Endbenutzer-Chat-Suchanleitung
API-Übersicht - API-Übersicht