Ollama (Local)
Ollama te permite ejecutar LLMs de código abierto localmente en tu propia máquina. AISCouncil se conecta a tu instancia local de Ollama directamente desde el navegador -- no se requiere clave API de nube, y tus datos nunca salen de tu dispositivo.
¿Por Qué Ejecutar Localmente?
- Privacidad completa -- tus conversaciones nunca salen de tu máquina
- Sin costos de API -- gratis de usar, sin facturación por token
- Sin límites de tasa -- limitado solo por tu hardware
- Funciona offline -- no se necesita conexión a internet después de descargar el modelo
- Sin clave API -- nada que gestionar o rotar
Instalar Ollama
- Descarga e instala Ollama desde ollama.com
- Descarga al menos un modelo:
# Modelos de propósito general populares
ollama pull llama3.3 # Meta Llama 3.3 (70B)
ollama pull llama3.2 # Meta Llama 3.2 (3B, ligero)
ollama pull mistral # Mistral 7B
ollama pull gemma2 # Google Gemma 2
# Modelos enfocados en código
ollama pull codellama # Meta Code Llama
ollama pull deepseek-coder # DeepSeek Coder
ollama pull qwen2.5-coder # Alibaba Qwen 2.5 Coder
# Modelos de razonamiento
ollama pull deepseek-r1 # DeepSeek R1 (varios tamaños)
# Modelos de visión
ollama pull llava # LLaVA (visión + lenguaje)
ollama pull llama3.2-vision # Llama 3.2 Vision
- Inicia el servidor Ollama (se ejecuta automáticamente después de instalar en la mayoría de sistemas):
ollama serve
El servidor se ejecuta en http://localhost:11434 por defecto.
Configuración CORS
Los navegadores aplican restricciones de origen cruzado, así que debes permitir el origen de AISCouncil antes de que Ollama funcione. Establece la variable de entorno OLLAMA_ORIGINS antes de iniciar Ollama:
macOS / Linux:
OLLAMA_ORIGINS=* ollama serve
Para hacerlo permanente (macOS/Linux), agrega a tu perfil de shell (~/.bashrc, ~/.zshrc):
export OLLAMA_ORIGINS=*
Windows (PowerShell):
$env:OLLAMA_ORIGINS="*"
ollama serve
Windows (permanentemente): Establece OLLAMA_ORIGINS como una variable de entorno del sistema vía Propiedades del Sistema > Variables de Entorno.
Sin esta configuración, el navegador bloqueará todas las solicitudes a la API de Ollama con un error CORS.
No Se Necesita Clave API
Ollama no requiere una clave API. AISCouncil usa un valor marcador de posición interno (ollama) para el campo de clave. No necesitas ingresar nada en la configuración de clave API.
Detección Automática de Modelos
Al cargar la página, AISCouncil consulta GET /api/tags en el endpoint de Ollama para descubrir todos los modelos instalados localmente. Estos modelos aparecen automáticamente en el selector de modelos cuando eliges Ollama como proveedor.
Ningún modelo está predefinido -- cualquier modelo que hayas descargado localmente estará disponible. Si descargas nuevos modelos mientras la aplicación está abierta, recarga la página para detectarlos.
Endpoint Personalizado
Si Ollama se está ejecutando en una dirección no predeterminada (ej., un puerto diferente, una máquina remota o detrás de un proxy inverso), puedes configurar el endpoint:
- Abre Configuración > Modelo de IA
- Encuentra la sección Ollama
- Ingresa tu URL de endpoint personalizado (ej.,
http://192.168.1.100:11434)
El endpoint personalizado persiste en localStorage bajo la clave ais-ollama-endpoint.
Si ejecutas Ollama en una máquina remota, asegúrate:
- El servidor Ollama se vincula a
0.0.0.0(no sololocalhost):OLLAMA_HOST=0.0.0.0 ollama serve OLLAMA_ORIGINS=*está establecido en la máquina remota- El puerto (predeterminado 11434) es accesible desde la red de tu navegador
Modelos Soportados
Cualquier modelo disponible en la biblioteca de modelos de Ollama puede usarse. Las elecciones populares incluyen:
| Categoría | Modelos | Descripción |
|---|---|---|
| General | Llama 3.3, Mistral, Gemma 2, Phi-3 | Chat y razonamiento de propósito general |
| Código | CodeLlama, DeepSeek Coder, Qwen 2.5 Coder, StarCoder | Generación y análisis de código |
| Razonamiento | DeepSeek R1, Qwen2.5 | Razonamiento de cadena de pensamiento |
| Visión | LLaVA, Llama 3.2 Vision | Comprensión de imágenes |
| Pequeño | Phi-3 Mini, Gemma 2B, TinyLlama | Dispositivos con pocos recursos |
Requisitos de Hardware
El rendimiento de Ollama depende completamente de tu hardware local:
| Tamaño de Modelo | RAM Requerida | GPU Recomendada | Modelos de Ejemplo |
|---|---|---|---|
| 1-3B | 4 GB | Opcional | TinyLlama, Phi-3 Mini |
| 7-8B | 8 GB | 6+ GB VRAM | Mistral 7B, Llama 3.1 8B |
| 13B | 16 GB | 8+ GB VRAM | CodeLlama 13B |
| 70B | 64 GB | 40+ GB VRAM | Llama 3.3 70B |
Para la mejor experiencia, usa un modelo que quepa en la VRAM de tu GPU. La inferencia solo con CPU funciona pero es significativamente más lenta. Los modelos cuantizados a 4-bit (Q4) requieren aproximadamente la mitad de RAM que las versiones de precisión completa.
Configuración
Al crear un perfil de bot, selecciona Ollama como proveedor y elige entre tus modelos disponibles localmente. Ollama usa la API Chat Completions compatible con OpenAI con transmisión SSE, por lo que se comporta idénticamente a los proveedores en la nube desde la perspectiva de la interfaz de chat.
Limitaciones
- Ollama debe estar ejecutándose y accesible desde el navegador
- La calidad y velocidad del modelo dependen completamente de tu hardware local
- El soporte de visión y llamada de herramientas varía por modelo -- no todos los modelos Ollama soportan estas características
- La primera respuesta después de cargar el modelo puede ser lenta (el modelo se carga en memoria en el primer uso)
- Sin integración de UI de pensamiento/razonamiento para modelos de razonamiento locales (la salida de razonamiento aparece en línea)
Solución de Problemas
| Problema | Solución |
|---|---|
| "Failed to fetch" o error CORS | Establece OLLAMA_ORIGINS=* y reinicia Ollama |
| No hay modelos en el dropdown | Asegúrate de que ollama serve se esté ejecutando y has descargado al menos un modelo |
| Respuestas muy lentas | El modelo puede no caber en la VRAM de GPU; prueba un modelo más pequeño o versión cuantizada |
| Conexión rechazada | Verifica que Ollama se esté ejecutando en el puerto esperado (predeterminado: 11434) |
| Endpoint personalizado no funciona | Asegúrate de que la URL incluya el protocolo (http://) y sin barra final |