
Introducción
El ámbito de la inteligencia artificial generativa ha revolucionado la forma en que las organizaciones abordan la automatización y la creación de contenido inteligente. En este artículo, exploraremos los servicios de Azure para IA generativa, ofreciendo orientación tanto para pruebas de concepto como para implementaciones en producción.
Azure AI Search
Azure AI Search combina capacidades de búsqueda por palabras clave y semántica, ofreciendo una solución integral para la recuperación de información.
Características Principales
- Búsqueda Vectorial e Híbrida: Combina conceptos y palabras clave en una única solicitud.
- Vectorización de Datos: Permite almacenar embeddings, esencial para IA generativa y RAG (retrieval-augmented generation).
- Seguridad Avanzada: Incluye control detallado del acceso a la red.
- Integración Completa con LLMs: Compatible con modelos como GPT de Azure OpenAI, facilitando un flujo de trabajo optimizado.
Consideraciones Clave
1. Regiones y Disponibilidad
Es importante tener en cuenta que la disponibilidad de Azure AI Search varía según la región. En algunas áreas, el servicio puede no estar accesible debido a la alta demanda, lo que requiere una planificación cuidadosa del despliegue. Esta limitación está estrechamente relacionada con las políticas de cumplimiento de datos y la latencia respecto a la fuente de datos utilizada.

2. Costes
El modelo de precios de Azure AI Search es único:
- Precios fijos basados en el nivel desplegado.
- Costes adicionales dependiendo del uso.
Una consideración crucial aquí es que el servicio no escala automáticamente. Si necesitas un nivel superior, deberás redesplegar el servicio, lo que implica migración de datos e índices. Anticipar las necesidades de tu empresa es clave para evitar esta complejidad.

3. Preparación e Ingesta de Datos
La preparación de datos es un aspecto crítico y a menudo problemático. Azure AI Search admite tamaños específicos de datos, lo que requiere fragmentar los archivos en un formato compatible. Librerías como LangChain y Semantic Kernel de Microsoft facilitan este proceso y son esenciales en proyectos reales. Este paso es particularmente importante porque los errores al cargar datos no siempre son claros.
Desde mi experiencia personal realizando una Prueba de Concepto (PoC), utilicé un blob de una cuenta de almacenamiento como fuente de datos principal. Curiosamente, Microsoft está integrando nuevas fuentes de datos como OneLake y SharePoint en versiones preliminares, donde reside la mayoría de los datos empresariales.





4. Creación y Optimización de Índices
La creación de índices está estrechamente relacionada con la estructura y clasificación de datos. Configurar los atributos correctamente es esencial:
- Recuperable (Retrievable)
- Filtrable (Filterable)
- Facetable

Esta selección depende de nuestros datos. Para datos dinámicos y actualizados con frecuencia, puedes configurar un indexador para automatizar las actualizaciones.

En cuanto a las capacidades de búsqueda, Azure AI Search ofrece búsqueda semántica utilizando el clasificador semántico (semantic ranker). Por defecto, realiza búsquedas por palabras clave, pero el ranker ofrece resultados contextualizados y semánticos. Esta funcionalidad tiene un coste adicional y está disponible en los niveles Free y Standard, y debes crear y configurar.



Ejemplo

Azure OpenAI
La inteligencia artificial generativa ha revolucionado la forma en que las organizaciones abordan la automatización y la creación de contenido inteligente. En este contexto, Azure OpenAI destaca como una solución líder, ofreciendo herramientas robustas y seguras para desplegar modelos de lenguaje a gran escala. Gracias a su integración directa con los servicios de Azure, las empresas pueden aprovechar modelos de IA avanzados para personalizar y escalar soluciones según necesidades específicas.

Al hablar de IA generativa, la integración con un Modelo de Lenguaje de Gran Tamaño (LLM) es clave. Azure OpenAI proporciona modelos fundamentales como las versiones GPT y permite el ajuste fino (fine-tuning) para personalizarlos según requisitos específicos.
Características Principales
- Seguridad y Privacidad: Azure OpenAI se ejecuta en un entorno seguro, privado y controlado, utilizando solo datos almacenados en Azure AI Search.
- Portal Azure AI Foundry: Una vez desplegado Azure OpenAI, puedes acceder a este portal para seleccionar y desplegar modelos apropiados, dependiendo del escenario: chatbots, agentes, Teams o Copilot Studio.
Detalles Interesantes
- Tokens: Cada 2-3 caracteres corresponden a un token. La gestión de cuotas es esencial para evitar errores o respuestas truncadas debido a límites de tokens.

- Optimización en Foundry: La herramienta permite optimizar aún más los datos segmentándolos y generando información híbrida + semántica, mejorando la recuperación para aplicaciones RAG.

Una curiosidad técnica: al seleccionar blob storage como fuente de datos, Foundry crea automáticamente un contenedor con el sufijo «chunks», reflejando el proceso de segmentación.
Seguridad y Permisos
Este último punto es el más importante de todos. Como hemos visto, estamos tratando con diferentes servicios en Azure, así como varias regiones, y es obligatorio que interactúen entre sí. Por lo tanto, me gustaría enfatizar que es necesario otorgar todos los permisos requeridos a cada servicio para asegurar que funcionen correctamente. De lo contrario, al intentar interconectarlos, encontraremos errores relacionados con los permisos de Azure (RBAC).
La configuración adecuada de permisos (RBAC) en Azure es crítica. Si los permisos no se asignan correctamente, ocurrirán errores al conectar servicios. Aunque este problema no siempre es visible inicialmente, consultar las guías de referencia de Azure puede ayudar a resolverlo. A continuación, he proporcionado una tabla que servirá como guía, dependiendo del escenario que desees implementar.

Por último, el modo seguro de Azure Foundry protege los mensajes contra ataques como hacking e ingeniería inversa.

Conclusión
Azure AI Search y Azure OpenAI son herramientas transformadoras en el ámbito de la inteligencia artificial generativa, ofreciendo capacidades robustas para crear soluciones de IA avanzadas y personalizadas. Al aprovechar Azure AI Search, los usuarios pueden mejorar la recuperación de información mediante búsquedas por palabras clave y semánticas, beneficiándose de características como búsqueda vectorial e híbrida, vectorización de datos y seguridad avanzada. La integración con modelos de lenguaje de gran tamaño (LLMs) como GPT de Azure OpenAI optimiza aún más los flujos de trabajo, permitiendo el desarrollo de aplicaciones inteligentes como chatbots y agentes virtuales.
PoC (Prueba de Concepto)
Consulta para datos no disponibles
Pregunto sobre algo que no tiene conocimiento, en este caso sobre la historia de México. Como puedes ver, indica que no puede ayudarnos. El modelo indica que no puede responder.

Consulta para datos disponibles
Ahora pregunto sobre algo que sí conoce, y observa que además de proporcionar la información, también me da las fuentes de donde se tomó, que son los PDFs que utilicé como fuentes de información. Y más importante aún, estoy interactuando en inglés, pero la fuente de información está en español. Esto significa que cuando hago clic en la información, me la muestra en español. Esto demuestra que el modelo, según las instrucciones que le demos, es capaz de entender y comprender la información y proporcionárnosla en nuestro idioma.

Despliegue
Las opciones de publicación incluyen sitios web públicos o formatos de popup integrados para uso organizacional o de clientes.

En resumen, la implementación exitosa de Azure AI Search y Azure OpenAI depende de una preparación meticulosa de los datos, una configuración adecuada de permisos y el uso estratégico de las características integrales de Azure. Estas herramientas no solo ofrecen capacidades avanzadas, sino que también proporcionan la flexibilidad para adaptarse a diversas necesidades empresariales, convirtiéndolas en esenciales para cualquier organización que busque aprovechar el poder de la IA generativa.
