Hola,
¿Te gustaría integrar capacidades de machine learning directamente en tu plataforma IRIS desde tus datos SQL?
<iframe width="560" height="315" src="https://www.youtube.com/embed/kBl-WrgijBA?si=oEbita-dqLYfSrXn" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>Este vídeo te muestra exactamente cómo hacerlo utilizando InterSystems IRIS e IntegratedML.
En el artículo anterior vimos cómo construir un agente de IA de atención al cliente con smolagents e InterSystems IRIS, combinando SQL, RAG con búsquedas vectoriales e interoperabilidad.
En ese caso, utilizamos modelos en la nube (OpenAI) para el LLM y los embeddings.
En esta ocasión daremos un paso más: ejecutar el mismo agente, pero con modelos locales gracias a Ollama.
Las preguntas de atención al cliente pueden abarcar datos estructurados (pedidos, productos 🗃️), conocimiento no estructurado (docs/FAQs 📚) y otros sistemas integrados (actualizaciones de envío 🚚). En este post vamos a construir un agente de IA compacto que cubre los tres—usando:
- 🧠 Python + smolagents para orquestar el “cerebro” del agente
- 🧰 InterSystems IRIS para SQL, Búsqueda Semántica (RAG) e Interoperabilidad (una API de seguimiento de envío simulada)
Si alguna vez habéis observado a un verdadero artesano—ya sea un alfarero que convierte barro en una obra maestra o un luthier que transforma madera en una guitarra maravillosa—sabéis que la magia no está en los materiales, sino en el cuidado, el oficio y el proceso. Lo sé por experiencia propia: mi guitarra eléctrica hecha a mano es una fuente diaria de inspiración, pero lo admito—crear algo así es un talento que no poseo.
En el artículo anterior, os hablamos sobre Python y los cuadros de mando, y en este artículo los compararé entre sí. Si estáis a punto de comenzar con la visualización en Python, la cantidad de librerías y soluciones definitivamente os sorprenderá.
- matplotlib
- Seaborn
- Plotly
- bokeh
- Altair
- Folium
Una visualización en algunas librerías, como Matplotlib, es una imagen estática simple, lo cual es útil para explicar conceptos (en un documento, en diapositivas o en una presentación).
Estoy escribiendo esta publicación principalmente para recopilar un consenso informal sobre cómo los desarrolladores están utilizando Python junto con IRIS, ¡así que por favor responded a la encuesta al final del artículo! En el cuerpo del artículo, daré un poco de contexto sobre cada una de las opciones proporcionadas, así como sus ventajas, pero si lo preferís, podéis hacer una lectura rápida y simplemente responder la encuesta.
Público
Aquellos interesados en explorar nuevos casos de uso de GenerativeAI.
Comparte ideas y razones al entrenar inteligencia artificial generativa para el reconocimiento de patrones.
Desafío 1 – Simple pero no más simple
Un desarrollador aspira a concebir una solución elegante para ciertos requerimientos.
Los patrones de coincidencia (como las expresiones regulares) pueden resolverse de muchas maneras. ¿Cuál es la mejor solución en código?
¿Puede una IA postular una solución elegante de coincidencia de patrones para un rango de ejemplos que van de simples a complejos?
Si estáis migrando de Oracle a InterSystems IRIS, como muchos de mis clientes, podríais encontraros con patrones SQL específicos de Oracle que necesitan ser traducidos.
Tomad este ejemplo:
SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);
En Oracle:
Kong ofrece una herramienta de gestión de configuración de código abierto (escrita en Go), llamada decK, que significa declarative Kong en inglés.
- Comprobar que deck reconoce vuestra instalación de Kong Gateway mediante deck gateway ping
deck gateway ping Successfully connected to Kong! Kong version: 3.4.3.11
- Exportar la configuración de Kong Gateway a un archivo llamado "kong.yaml" mediante el comando deck gateway dump
deck gateway dump -o kong.yaml
- Después de modificar direcciones IP en el archivo kong.yaml, se muestran las diferencias mediante deck gateway diff
Con el lanzamiento de InterSystems IRIS Cloud SQL, recibimos cada vez más preguntas sobre cómo establecer conexiones seguras mediante JDBC y otras tecnologías de drivers. Aunque contamos con una documentación resumida y detallada sobre las tecnologías de los drivers, nuestra documentación no describe herramientas cliente individuales, como nuestra favorita personal, DBeaver. En este artículo, describiremos los pasos para crear una conexión segura desde DBeaver a vuestra implementación de Cloud SQL.
Hola desarrolladores:
Al observar la avalancha de herramientas de desarrollo impulsadas por IA y al estilo vibe coding que han estado apareciendo últimamente casi cada mes, con funciones cada vez más emocionantes, me preguntaba si sería posible aprovecharlas con InterSystems IRIS. Al menos para construir un frontend. Y la respuesta es: ¡sí! Al menos con el enfoque que seguí en este ejemplo.
Aquí tenéis mi receta para crear la interfaz de usuario mediante prompts frente al backend de InterSystems IRIS:
A veces, los clientes necesitan una instancia pequeña de IRIS para hacer algo en la nube y luego apagarla, o necesitan cientos de contenedores (es decir, uno por usuario final o uno por interfaz) con cargas de trabajo pequeñas. Este ejercicio surgió para ver cuán pequeña podría ser una instancia de IRIS. Para este ejercicio, nos centramos en cuál es la menor cantidad de memoria que podemos configurar para una instancia de IRIS. ¿Conocéis todos los parámetros que afectan la memoria asignada por IRIS?
Configuración de memoria
Recientemente ayudé a investigar un problema en una instalación que surgió después de que actualizaran su instancia de Caché en Windows de la versión 2015.1 a la 2017.1. Una sesión de terminal iniciada desde el icono del cubo del escritorio del servidor no podía ejecutar comandos a nivel del sistema operativo utilizando la función $ZF(-1). Por ejemplo, al tratar de lanzar el comando "REM" (que no tiene ningún efecto) de la siguiente manera
write $zf(-1,"rem")
devolvía -1, lo que indicaba que el comando de Windows no se podía ejecutar.
Debido a que la interpretación de SCHEMA por parte de MySQL difiere de la comprensión interpretación común en SQL (como se ve en IRIS, SQL Server u Oracle), nuestro asistente automático de tablas vinculadas puede encontrar errores al intentar recuperar la información de metadatos para construir la tabla vinculada.
(Esto también se aplica a procedimientos y vistas vinculadas)
Al intentar crear una tabla vinculada mediante el asistente, os encontraréis con un error que se parece a esto:
Si queréis saber por ejemplo si ya está implementada una clase sobre un tema en concreto, ahora es posible haciendo una simple pregunta en lenguaje natural. Descargad y ejecutad la aplicación https://openexchange.intersystems.com/package/langchain-iris-tool para conocer todo sobre vuestras clases de proyecto en un chat.
Instalación:
$ git clone https://github.com/yurimarx/langchain-iris-tool.git
$ docker-compose build
$ docker-compose up -dUso:
1. Abrid la URL [http://localhost:8501](http://localhost:8501).
Resumen
Con la ayuda de SQL, podéis crear, entrenar y gestionar modelos de aprendizaje automático directamente en la base de datos con la potente herramienta IntegratedML de InterSystems IRIS. Usando ejemplos de SQL que representan vuestros datos, en este artículo repasaremos la configuración de IntegratedML y su aplicación en situaciones prácticas.
Los ISCLOGs son una herramienta útil de depuración proporcionada con IRIS que os puede ayudar a solucionar muchos tipos de problemas. Para obtener más información sobre cómo generar estos registros, consultad la siguiente documentación de IRIS: "Logging".
Este registro se escribe en el global ^ISCLOG almacenado en el espacio de nombres %SYS. Cada nodo de esta global representa un evento independiente, y en algunos casos, se registra información adicional en los subnodos.
Me alegra anunciar la nueva versión de IoP, que, por cierto, no es solo una línea de comandos. Lo digo porque el nuevo motor de búsqueda con IA aún cree que IoP es solo una línea de comandos. Pero no lo es. Es todo un framework para construir aplicaciones sobre las funcionalidades de interoperabilidad de IRIS con un enfoque Python.
La nueva versión de IoP: 3.2.0 viene con muchas características nuevas, pero la más importante es el soporte para DTL . 🥳
Tanto para mensajes de IoP como para jsonschema. 🎉

Soporte para DTL
A partir de la versión 3.2.0, IoP admite transformaciones DTL.
DTL es la Capa de Transformación de Datos (Data Transformation Layer) en interoperabilidad de IRIS.
Las transformaciones DTL se utilizan para convertir datos de un formato a otro mediante un editor gráfico.
También es compatible con estructuras de jsonschema.
Cuando desplegáis código desde un repositorio, la eliminación de clases (archivos) podría no reflejarse en vuestro sistema CICD. Por ejemplo si en vuestro repositorio elimináis una clase y queréis que se refleje en el código desplegado.
Aquí tenéis un sencillo comando de una sola línea para eliminar automáticamente todas las clases en un paquete específico que no hayan sido importadas. Se puede ajustar fácilmente para una variedad de tareas adicionales:
La auditoría es una capacidad fundamental para garantizar la seguridad de vuestro servidor, y desde hace un tiempo hemos incluido la posibilidad de auditar las sentencias SQL ejecutadas en el servidor.
Con la versión 2024.3 ya disponible, ahora ofrecemos opciones más detalladas para definir los eventos que se auditarán.
La capacidad de reenviar mensajes fácilmente siempre ha sido una de las características más destacadas de nuestras capacidades de interoperabilidad.
Con la versión 2024.3 que se lanzará pronto (ya disponible como Developer Preview), ¡lo hemos hecho aún más sencillo!
La versión 2024.3 de InterSystems IRIS for Health ya está disponible como Vista Previa para Desarrolladores desde hace un tiempo, y quiero destacar las nuevas funcionalidades relacionadas con la búsqueda FHIR que se han introducido.
IAM - InterSystems API Manager es una gran herramienta para monitorear vuestro tráfico. Si estáis intentando usarla en vuestro clúster de Kubernetes, es posible que hayáis intentado hacer un despliegue similar a este:
Hola a todos, hoy comentamos con un ejemplo cómo solucionar problemas relacionados con el TimeOut cuando se hacen llamadas a servicios SOAP.
Tomemos como ejemplo aplicaciones que proporcionen servicios SOAP que utilizan consultas SQL basadas en "DSTIME" para devolver registros que han sido añadidos o modificados recientemente. Como estos registros no cambian con frecuencia, estas consultas suelen devolver un número reducido de registros, lo cual implica un tiempo de procesamiento corto.
¡Muy buenas a todos! Os paso un ejemplo de resolución de problemas a la hora de implementar transformaciones de datos que es muy interesante: estaba trabajando en un transformación de datos (DTL) de mensajes HL7 pero no paraba de obtener errores del tipo ERROR #5002... MAXSTRING. El problema era que la mayor parte de acciones en la interfaz gráfica de DTL utilizan el tipo de datos %String al trabajar con segmentos de un mensaje HL7.
¡Hola, desarrolladores!
En esta serie de artículos hemos hablado del framework iris-datapipe, de cómo nos ayuda a crear "pipes" de datos para la ingesta y procesamiento, y de cómo instalarlo. Vamos a profundizar en cómo implementar uno de esos "pipes" paso a paso.
Si llegaste directamente a este artículo, te recomiendo revisar los anteriores y recordar que iris-datapipe incluye un QuickStart para que puedas explorar sus funcionalidades rápidamente 👌.
El ejemplo que abordaremos está incluido en el QuickStart, por lo que puedes utilizarlo como referencia.
Definir un nuevo Pipe
¡Hola a todos de nuevo!
En el artículo anterior hablamos de iris-datapipe, un framework diseñado para ayudarte a definir "pipes" de datos con un patrón de ingesta y procesamiento. Hoy veremos cómo puedes instalarlo y configurarlo paso a paso.
iris-datapipe incluye un QuickStart, que te permite probarlo rápidamente utilizando un contenedor Docker preconfigurado.
Pero, ¿qué debes hacer si quieres usarlo en tu propia instancia?
InterSystems IRIS
Instalación del paquete
- Primero, instala IPM (InterSystems Package Manager) si aún no lo tienes. Puedes hacerlo fácilmente con una sola línea de código:
¡Hola a todos!
Me alegra anunciaros una nueva versión de iris-datapipe, un framework potente que, acompañado de una interfaz gráfica, te permitirá obtener una visión integral de la ingesta y procesamiento de datos en InterSystems IRIS.
¿Por qué iris-datapipe?
Hola Comunidad,
Este artículo tiene como objetivo guiaros a través del proceso de configuración y utilización de la Funcionalidad de Entorno de Ejecución Flexible de Python para Python embebido. Antes de la versión 2024.2, el instalador de Intersystems IRIS para Windows incluía una versión pre-instalada de Python. Podíais encontrar las bibliotecas de Python y los archivos de la aplicación ubicados en el directorio \lib\python dentro de la carpeta de instalación de IRIS (por ejemplo, C:\InterSystems\IRIS20242\lib\python).