Ejecuta tu agente de IA con InterSystems IRIS y modelos locales usando Ollama
En el artículo anterior vimos cómo crear un agente de atención al cliente con smolagents e InterSystems IRIS combinando SQL, RAG con búsqueda vectorial e interoperabilidad. En aquella ocasión usamos modelos en la nube como OpenAI para el LLM y embeddings. En este artículo damos un paso más y ejecutamos el mismo agente pero con modelos locales gracias a Ollama.
Por qué ejecutar modelos localmente. Usar LLMs en la nube es la forma más sencilla para empezar: modelos optimizados y mantenidos, acceso por API, servicio serverless sin preocuparse por hardware ni mantenimiento. La desventaja es el coste por uso y la dependencia de servicios externos, además de las restricciones de privacidad al enviar datos. Ejecutar modelos localmente aporta control total sobre datos y entorno, coste predecible sin token por uso, y la posibilidad de adaptar modelos con técnicas como LoRA para especializarlos en dominios concretos. Sus retos son mayor consumo de recursos y límites en el tamaño del modelo según el hardware.
Qué es Ollama. Ollama es una herramienta que facilita ejecutar modelos de lenguaje y embeddings en tu propio equipo con una experiencia sencilla: descargar modelos con ollama pull, ejecutarlos localmente expuestos como API HTTP e integrarlos en aplicaciones con la misma interfaz que usarías en la nube. En resumen: la misma API pero corriendo en tu portátil o servidor.
Configuración básica de Ollama. Instala Ollama desde su sitio oficial y verifica que funciona con el comando ollama --version. Descarga modelos con ollama pull nomic-embed-text:latest y ollama pull llama3.1:8b, y revisa los modelos disponibles con ollama list. Para probar embeddings puedes realizar una petición POST al endpoint local de embeddings en http://localhost:11434/api/embeddings usando curl o cualquier cliente HTTP y enviando el cuerpo JSON correspondiente desde un archivo.
Usando Ollama en el agente IRIS. El repositorio Customer Support Agent Demo ya incluye la configuración para Ollama. Los pasos principales son: descargar los modelos necesarios en Ollama, crear en IRIS una configuración de embeddings apuntando a la URL local de Ollama con el modelo nomic-embed-text:latest y registrar un nombre de configuración como ollama-nomic-config, ajustar la longitud de vector esperada a 768 en las tablas de ejemplo para almacenar las incrustaciones, y actualizar el archivo de entorno para que OPENAI_MODEL apunte al LLM local y OPENAI_API_BASE al endpoint local de Ollama. Finalmente, vuelve a generar las incrustaciones con el script python scripts/embed_sql.py y ejecuta el agente para que use la nueva configuración local.
Algunos valores y pasos prácticos a tener en cuenta sin usar comandos literales: establece en la configuración el apiBase http://host.docker.internal:11434/api/embeddings y modelName nomic-embed-text:latest; ajusta las columnas Embedding de las tablas de productos y fragmentos de documentación a vectores de longitud 768; configura las variables OPENAI_MODEL y OPENAI_API_BASE para que apunten al LLM local y al endpoint v1 de Ollama; y ejecuta la actualización de embeddings con el script de Python incluido en el repositorio.
Con esta configuración el agente puede responder preguntas como ¿Dónde está mi pedido 1001? o ¿Cuál es el periodo de devolución? aprovechando: IRIS SQL para datos estructurados, búsqueda vectorial con embeddings locales de Ollama, interoperabilidad para simular llamadas a APIs externas y un LLM local que planifica y genera el código que invoca las herramientas necesarias para obtener la respuesta.
Conclusión. Gracias a Ollama podemos ejecutar nuestro Agente de Soporte al Cliente con IRIS sin depender de la nube, manteniendo privacidad y control de los datos, eliminando el coste por token y ganando flexibilidad para probar y adaptar modelos con LoRA. El reto principal es disponer de una máquina con suficiente memoria y CPU/GPU para modelos grandes, pero para prototipos y pruebas es una opción potente y práctica.
En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Diseñamos soluciones a medida, desde agentes IA y aplicaciones empresariales hasta proyectos de inteligencia de negocio y Power BI. Si buscas implementar proyectos de inteligencia artificial o ia para empresas con integración de modelos locales o en la nube, contamos con experiencia y servicios que cubren todo el ciclo, incluyendo ciberseguridad y pentesting para proteger tus datos. Conoce nuestras propuestas de soluciones de inteligencia artificial y descubre cómo desarrollamos aplicaciones a medida y software a medida que integran agentes IA, servicios cloud, automatización y Business Intelligence con Power BI para potenciar la toma de decisiones.
Palabras clave integradas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.
Comentarios