Descripcion general
Fess 15.5 soporta la funcionalidad de modo IA (RAG: Retrieval-Augmented Generation) que aprovecha modelos de lenguaje grandes (LLM). Esta funcionalidad permite a los usuarios obtener informacion a traves de un dialogo interactivo con un asistente de IA basado en los resultados de busqueda.
Proveedores compatibles
Fess soporta los siguientes proveedores de LLM.
| Proveedor | Valor de configuracion | Descripcion |
|---|---|---|
| Ollama | ollama | Servidor LLM de codigo abierto que se ejecuta en entorno local. Puede ejecutar modelos como Llama, Mistral, Gemma. Configuracion predeterminada. |
| OpenAI | openai | API en la nube de OpenAI. Disponible para modelos como GPT-4. |
| Google Gemini | gemini | API en la nube de Google. Disponible para modelos Gemini. |
Arquitectura
La funcionalidad de modo IA opera con el siguiente flujo.
Entrada del usuario: El usuario ingresa una pregunta en la interfaz de chat
Analisis de intencion: El LLM analiza la pregunta del usuario y extrae palabras clave de busqueda
Ejecucion de busqueda: Busca documentos relacionados usando el motor de busqueda de Fess
Evaluacion de resultados: El LLM evalua la relevancia de los resultados de busqueda y selecciona los documentos mas apropiados
Generacion de respuesta: El LLM genera una respuesta basada en los documentos seleccionados
Cita de fuentes: La respuesta incluye enlaces a los documentos de referencia
Configuracion basica
Para habilitar la funcionalidad LLM, agregue la siguiente configuracion en app/WEB-INF/conf/system.properties.
Habilitar modo IA
# Habilitar la funcionalidad de modo IA
rag.chat.enabled=true
Seleccion de proveedor LLM
# Especificar el proveedor LLM (ollama, openai, gemini)
rag.llm.type=ollama
Para la configuracion detallada de cada proveedor, consulte los siguientes documentos.
Configuracion de Ollama - Configuracion de Ollama
Configuracion de OpenAI - Configuracion de OpenAI
Configuracion de Google Gemini - Configuracion de Google Gemini
Configuracion comun
Configuraciones comunes utilizadas por todos los proveedores LLM.
Parametros de generacion
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.chat.max.tokens | Numero maximo de tokens a generar | 4096 |
rag.chat.temperature | Aleatoriedad de la generacion (0.0-1.0). Valores mas bajos producen respuestas mas deterministas | 0.7 |
Configuracion de contexto
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.chat.context.max.documents | Numero maximo de documentos a incluir en el contexto | 5 |
rag.chat.context.max.chars | Numero maximo de caracteres del contexto | 4000 |
rag.chat.content.fields | Campos a obtener de los documentos | title,url,content,... |
Prompt del sistema
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.
Este prompt define el comportamiento basico del LLM. Puede personalizarlo segun sea necesario.
Verificacion de disponibilidad
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.llm.availability.check.interval | Intervalo para verificar la disponibilidad del LLM (segundos). 0 para deshabilitar | 60 |
Esta configuracion permite que Fess verifique periodicamente el estado de conexion del proveedor LLM.
Gestion de sesiones
Configuracion relacionada con las sesiones de chat.
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.chat.session.timeout.minutes | Tiempo de timeout de sesion (minutos) | 30 |
rag.chat.session.max.size | Numero maximo de sesiones | 10000 |
rag.chat.history.max.messages | Numero maximo de mensajes a mantener en el historial de conversacion | 20 |
Limite de tasa
Configuracion de limite de tasa para prevenir sobrecarga de la API.
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.chat.rate.limit.enabled | Habilitar limite de tasa | true |
rag.chat.rate.limit.requests.per.minute | Numero maximo de solicitudes por minuto | 10 |
Configuracion de evaluacion
Configuracion relacionada con la evaluacion de resultados de busqueda.
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.chat.evaluation.max.relevant.docs | Numero maximo de documentos relevantes a seleccionar en la fase de evaluacion | 3 |
Siguientes pasos
Configuracion de Ollama - Configuracion detallada de Ollama
Configuracion de OpenAI - Configuracion detallada de OpenAI
Configuracion de Google Gemini - Configuracion detallada de Google Gemini
Configuracion de la funcionalidad de modo IA - Configuracion detallada de la funcionalidad de modo IA