Descripcion general
Ollama es una plataforma de codigo abierto para ejecutar modelos de lenguaje grandes (LLM) en entorno local. Esta configurado como el proveedor LLM predeterminado de Fess y es adecuado para uso en entornos privados.
Al usar Ollama, puede utilizar la funcionalidad de chat de IA sin enviar datos al exterior.
Caracteristicas principales
Ejecucion local: Los datos no se envian externamente, asegurando privacidad
Modelos diversos: Compatible con muchos modelos como Llama, Mistral, Gemma, CodeLlama
Eficiencia de costos: Sin costos de API (solo costos de hardware)
Personalizacion: Tambien puede usar modelos afinados personalizados
Modelos compatibles
Principales modelos disponibles en Ollama:
llama3.3:70b- Llama 3.3 de Meta (70B parametros)gemma3:4b- Gemma 3 de Google (4B parametros, predeterminado)mistral:7b- Mistral de Mistral AI (7B parametros)codellama:13b- Code Llama de Meta (13B parametros)phi3:3.8b- Phi-3 de Microsoft (3.8B parametros)
Nota
Para la lista mas reciente de modelos disponibles, consulte Ollama Library.
Requisitos previos
Antes de usar Ollama, verifique lo siguiente.
Instalacion de Ollama: Descargue e instale desde https://ollama.com/
Descarga de modelo: Descargue el modelo a usar en Ollama
Inicio del servidor Ollama: Confirme que Ollama este ejecutandose
Instalacion de Ollama
Linux/macOS
curl -fsSL https://ollama.com/install.sh | sh
Windows
Descargue y ejecute el instalador desde el sitio oficial.
Docker
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Descarga de modelos
# Descargar el modelo predeterminado (Gemma 3 4B)
ollama pull gemma3:4b
# Descargar Llama 3.3
ollama pull llama3.3:70b
# Verificar funcionamiento del modelo
ollama run gemma3:4b "Hello, how are you?"
Configuracion basica
Agregue la siguiente configuracion en app/WEB-INF/conf/system.properties.
Configuracion minima
# Habilitar la funcionalidad de modo IA
rag.chat.enabled=true
# Configurar el proveedor LLM como Ollama
rag.llm.type=ollama
# URL de Ollama (para entorno local)
rag.llm.ollama.api.url=http://localhost:11434
# Modelo a usar
rag.llm.ollama.model=gemma3:4b
Configuracion recomendada (entorno de produccion)
# Habilitar la funcionalidad de modo IA
rag.chat.enabled=true
# Configuracion del proveedor LLM
rag.llm.type=ollama
# URL de Ollama
rag.llm.ollama.api.url=http://localhost:11434
# Configuracion del modelo (usar modelo grande)
rag.llm.ollama.model=llama3.3:70b
# Configuracion de timeout (aumentar para modelos grandes)
rag.llm.ollama.timeout=120000
Opciones de configuracion
Todas las opciones de configuracion disponibles para el cliente de Ollama.
| Propiedad | Descripcion | Predeterminado |
|---|---|---|
rag.llm.ollama.api.url | URL base del servidor Ollama | http://localhost:11434 |
rag.llm.ollama.model | Nombre del modelo a usar (modelo descargado en Ollama) | gemma3:4b |
rag.llm.ollama.timeout | Timeout de solicitud (milisegundos) | 60000 |
Configuracion de red
Configuracion con Docker
Ejemplo de configuracion cuando tanto Fess como Ollama se ejecutan en Docker.
docker-compose.yml:
version: '3'
services:
fess:
image: codelibs/fess:15.5.0
environment:
- RAG_CHAT_ENABLED=true
- RAG_LLM_TYPE=ollama
- RAG_LLM_OLLAMA_API_URL=http://ollama:11434
- RAG_LLM_OLLAMA_MODEL=gemma3:4b
depends_on:
- ollama
# ... otras configuraciones
ollama:
image: ollama/ollama
volumes:
- ollama_data:/root/.ollama
ports:
- "11434:11434"
volumes:
ollama_data:
Nota
En entornos Docker Compose, use ollama como nombre de host (no localhost).
Servidor Ollama remoto
Cuando se ejecuta Ollama en un servidor diferente a Fess:
rag.llm.ollama.api.url=http://ollama-server.example.com:11434
Advertencia
Ollama no tiene funcionalidad de autenticacion por defecto, por lo que si lo hace accesible externamente, considere medidas de seguridad a nivel de red (firewall, VPN, etc.).
Guia de seleccion de modelos
Guia para la seleccion de modelos segun el proposito de uso.
| Modelo | Tamano | VRAM requerida | Uso |
|---|---|---|---|
phi3:3.8b | Pequeno | 4GB+ | Entornos ligeros, respuestas simples |
gemma3:4b | Pequeno-Medio | 6GB+ | Uso general equilibrado (predeterminado) |
mistral:7b | Medio | 8GB+ | Cuando se requieren respuestas de alta calidad |
llama3.3:70b | Grande | 48GB+ | Respuestas de maxima calidad, razonamiento complejo |
Soporte de GPU
Ollama soporta aceleracion por GPU. El uso de GPUs NVIDIA mejora significativamente la velocidad de inferencia.
# Verificar soporte de GPU
ollama run gemma3:4b --verbose
Solucion de problemas
Error de conexion
Sintoma: Errores en la funcionalidad de chat, LLM mostrado como no disponible
Verificaciones:
Verificar que Ollama este ejecutandose:
curl http://localhost:11434/api/tags
Verificar que el modelo este descargado:
ollama list
Verificar la configuracion del firewall
Modelo no encontrado
Sintoma: Se muestra «Configured model not found in Ollama» en el log
Solucion:
Verificar que el nombre del modelo sea exacto (puede incluir tag
:latest):# Verificar lista de modelos ollama list
Descargar el modelo necesario:
ollama pull gemma3:4b
Timeout
Sintoma: Las solicitudes tienen timeout
Solucion:
Extender el tiempo de timeout:
rag.llm.ollama.timeout=120000
Usar un modelo mas pequeno o considerar un entorno con GPU
Configuracion de depuracion
Para investigar problemas, puede ajustar el nivel de log de Fess para obtener logs detallados relacionados con Ollama.
app/WEB-INF/classes/log4j2.xml:
<Logger name="org.codelibs.fess.llm.ollama" level="DEBUG"/>
Informacion de referencia
Descripcion general de integracion LLM - Descripcion general de integracion LLM
Configuracion de la funcionalidad de modo IA - Detalles de la funcionalidad de modo IA