Apercu
L’API Chat est une API RESTful permettant d’acceder par programmation a la fonctionnalite de mode de recherche IA de Fess. Vous pouvez obtenir des reponses assistees par IA basees sur les resultats de recherche.
Cette API fournit deux endpoints :
API non-streaming : Obtient la reponse complete en une seule fois
API streaming : Obtient la reponse en temps reel au format Server-Sent Events (SSE)
Prerequis
Pour utiliser l’API Chat, les configurations suivantes sont necessaires :
La fonctionnalite de mode de recherche IA doit etre activee (
rag.chat.enabled=true)Un fournisseur LLM doit etre configure
Pour les methodes de configuration detaillees, consultez Configuration du mode de recherche IA.
API non-streaming
Endpoint
Parametres de requete
| Parametre | Type | Requis | Description |
|---|---|---|---|
message | String | Oui | Message de l’utilisateur (question) |
sessionId | String | Non | ID de session. A specifier pour continuer une conversation |
clear | String | Non | Specifier "true" pour effacer la session |
Reponse
Succes (HTTP 200)
Erreur
Codes de statut HTTP
| Code | Description |
|---|---|
| 200 | Requete reussie |
| 400 | Parametre de requete invalide (message vide, etc.) |
| 404 | Endpoint non trouve |
| 405 | Methode HTTP non autorisee (seul POST est autorise) |
| 500 | Erreur interne du serveur |
Exemples d’utilisation
cURL
JavaScript
Python
API streaming
Endpoint
Parametres de requete
| Parametre | Type | Requis | Description |
|---|---|---|---|
message | String | Oui | Message de l’utilisateur (question) |
sessionId | String | Non | ID de session. A specifier pour continuer une conversation |
Format de reponse
L’API streaming retourne les reponses au format text/event-stream (Server-Sent Events).
Chaque evenement est dans le format suivant :
Evenements SSE
session
Notifie les informations de session. Envoye au debut du stream.
phase
Notifie le debut/fin des phases de traitement.
Types de phases :
intent_analysis- Analyse d’intentionsearch- Execution de la rechercheevaluation- Evaluation des resultatsgeneration- Generation de la reponse
chunk
Notifie les fragments de texte genere.
sources
Notifie les informations sur les documents sources.
done
Notifie la fin du traitement.
error
Notifie une erreur.
Exemples d’utilisation
cURL
JavaScript (EventSource)
Python
Gestion des erreurs
Lors de l’utilisation de l’API, implementez une gestion des erreurs appropriee.
Limitation de debit
L’API Chat est soumise a une limitation de debit.
Configuration par defaut :
10 requetes par minute
Lorsque la limite de debit est depassee, une erreur HTTP 429 est retournee.
Pour la configuration de la limitation de debit, consultez Configuration du mode de recherche IA.
Securite
Points de securite a noter lors de l’utilisation de l’API Chat :
Authentification : La version actuelle ne necessite pas d’authentification pour l’API, mais envisagez un controle d’acces approprie pour les environnements de production
Limitation de debit : Activez la limitation de debit pour prevenir les attaques DoS
Validation des entrees : Validez egalement les entrees cote client
CORS : Verifiez les parametres CORS si necessaire
Informations de reference
Configuration du mode de recherche IA - Configuration de la fonctionnalite de mode de recherche IA
Apercu de l’integration LLM - Apercu de l’integration LLM
Mode de recherche IA - Guide de recherche par chat pour les utilisateurs
Vue d’ensemble de l’API - Apercu des API