Apercu
Fess 15.5 prend en charge la fonctionnalite de mode IA (RAG: Retrieval-Augmented Generation) utilisant les grands modeles de langage (LLM). Cette fonctionnalite permet aux utilisateurs d’obtenir des informations sous forme de dialogue avec un assistant IA base sur les resultats de recherche.
Fournisseurs pris en charge
Fess prend en charge les fournisseurs LLM suivants.
| Fournisseur | Valeur de configuration | Description |
|---|---|---|
| Ollama | ollama | Serveur LLM open source fonctionnant en local. Permet d’executer des modeles comme Llama, Mistral, Gemma. Configuration par defaut. |
| OpenAI | openai | API cloud d’OpenAI. Permet d’utiliser des modeles comme GPT-4. |
| Google Gemini | gemini | API cloud de Google. Permet d’utiliser les modeles Gemini. |
Architecture
La fonctionnalite de mode IA fonctionne selon le flux suivant.
Entree utilisateur : L’utilisateur saisit une question dans l’interface de chat
Analyse d’intention : Le LLM analyse la question de l’utilisateur et extrait les mots-cles de recherche
Execution de la recherche : Recherche de documents pertinents avec le moteur de recherche Fess
Evaluation des resultats : Le LLM evalue la pertinence des resultats de recherche et selectionne les meilleurs documents
Generation de reponse : Le LLM genere une reponse basee sur les documents selectionnes
Citation des sources : La reponse inclut des liens vers les documents sources
Configuration de base
Pour activer la fonctionnalite LLM, ajoutez les parametres suivants dans app/WEB-INF/conf/system.properties.
Activation du mode IA
# Activer la fonctionnalite de mode IA
rag.chat.enabled=true
Selection du fournisseur LLM
# Specifier le fournisseur LLM (ollama, openai, gemini)
rag.llm.type=ollama
Pour la configuration detaillee de chaque fournisseur, consultez les documents suivants.
Configuration Ollama - Configuration Ollama
Configuration OpenAI - Configuration OpenAI
Configuration Google Gemini - Configuration Google Gemini
Configuration commune
Elements de configuration communs a tous les fournisseurs LLM.
Parametres de generation
| Propriete | Description | Valeur par defaut |
|---|---|---|
rag.chat.max.tokens | Nombre maximum de tokens a generer | 4096 |
rag.chat.temperature | Aleatoire de la generation (0.0-1.0). Plus bas = reponses plus deterministes | 0.7 |
Configuration du contexte
| Propriete | Description | Valeur par defaut |
|---|---|---|
rag.chat.context.max.documents | Nombre maximum de documents a inclure dans le contexte | 5 |
rag.chat.context.max.chars | Nombre maximum de caracteres du contexte | 4000 |
rag.chat.content.fields | Champs a recuperer des documents | title,url,content,... |
Prompt systeme
rag.chat.system.prompt=You are an AI assistant for Fess search engine. Answer questions based on the search results provided. Always cite your sources using [1], [2], etc.
Ce prompt definit le comportement de base du LLM. Personnalisable selon les besoins.
Verification de disponibilite
| Propriete | Description | Valeur par defaut |
|---|---|---|
rag.llm.availability.check.interval | Intervalle de verification de disponibilite du LLM (secondes). 0 pour desactiver | 60 |
Ce parametre permet a Fess de verifier regulierement l’etat de connexion au fournisseur LLM.
Gestion des sessions
Configuration relative aux sessions de chat.
| Propriete | Description | Valeur par defaut |
|---|---|---|
rag.chat.session.timeout.minutes | Delai d’expiration de la session (minutes) | 30 |
rag.chat.session.max.size | Nombre maximum de sessions | 10000 |
rag.chat.history.max.messages | Nombre maximum de messages dans l’historique de conversation | 20 |
Limitation de debit
Configuration de limitation de debit pour prevenir la surcharge de l’API.
| Propriete | Description | Valeur par defaut |
|---|---|---|
rag.chat.rate.limit.enabled | Activer la limitation de debit | true |
rag.chat.rate.limit.requests.per.minute | Nombre maximum de requetes par minute | 10 |
Configuration d’evaluation
Configuration relative a l’evaluation des resultats de recherche.
| Propriete | Description | Valeur par defaut |
|---|---|---|
rag.chat.evaluation.max.relevant.docs | Nombre maximum de documents pertinents a selectionner lors de la phase d’evaluation | 3 |
Etapes suivantes
Configuration Ollama - Configuration detaillee d’Ollama
Configuration OpenAI - Configuration detaillee d’OpenAI
Configuration Google Gemini - Configuration detaillee de Google Gemini
Configuration du mode IA - Configuration detaillee de la fonctionnalite de mode IA