En el último año se ha hablado mucho de los modelos GPT y de la IA generativa en general. Aunque las promesas sobre una revolución tecnológica total pueden parecer algo exageradas, es cierto que los modelos GPT son impresionantes en muchos aspectos. Sin embargo, el verdadero valor de los modelos GPT surge al conectarlos con documentos internos alojados en servicios como Microsoft Azure. ¿A qué se debe? 🤔
Cuando utilizas modelos GPT plain vanilla proporcionados por OpenAI, no entienden realmente el funcionamiento interno de tu empresa. Si le haces preguntas, responderá basándose en lo que muy probablemente averigüe sobre otras empresas. Esto es un problema cuando quieres utilizar modelos GPT para hacer preguntas como:
- ¿Cuáles son los pasos de un procedimiento interno que debo seguir?
- ¿Cuál es el historial completo de interacciones entre mi empresa y un cliente concreto?
- ¿A quién debo llamar si tengo algún problema con un software o una rutina específicos?
Si intentas formular estas preguntas a modelos GPT sencillos, no obtendrás nada de valor (¡pruébalo!). Pero si conectas los modelos GPT a tus datos internos, entonces puedes obtener respuestas significativas a estas preguntas y a muchas otras.
En este tutorial, quiero mostrarte cómo conectar modelos GPT con datos internos de la empresa en Microsoft Azure. En los últimos meses, esto se ha vuelto mucho más simple. Voy a caminar lentamente a través de la creación de recursos y hacer las configuraciones necesarias. Este es un tutorial para principiantes, así que si estás muy cómodo con Microsoft Azure, entonces probablemente puedes hojear a través del tutorial.
Necesitas tener dos cosas antes de continuar:
- Un tenant de Microsoft Azure donde tengas permisos suficientes para subir documentos, crear recursos, etc.
- A partir de la publicación, tu empresa tiene que aplicar para obtener acceso al recurso Azure OpenAI que vamos a utilizar. Esto probablemente se eliminará en algún momento en el futuro, pero por ahora, esto es necesario. El tiempo que se tarda desde la solicitud hasta que se obtiene el acceso es de unos pocos días.
NOTA: La verdadera dificultad de crear asistentes de IA asombrosos se reduce a la calidad de los datos, el alcance correcto del proyecto, la comprensión de las necesidades del usuario, las pruebas de usuario, la automatización de la ingesta de datos y mucho más. Así que no salgas del tutorial pensando que crear un gran asistente de IA es sencillo. Simplemente, la creación de la infraestructura es sencilla.
Tabla de contenidos
Configurar los datos
Todo empieza con los datos. El primer paso es subir algunos datos internos de la empresa a Azure. En mi ejemplo, usaré el siguiente texto que también puedes copiar y usar:
En la empresa SeriousDataBusiness siempre nos aseguramos de limpiar nuestros escritorios antes de salir de la oficina.
Guarda el texto en un archivo de texto llamado company_info.txt y guárdalo en algún lugar conveniente. Ahora iremos a Microsoft Azure y subiremos el documento de texto. Busca en el marketplace de Azure para encontrar el recurso Storage account:
Al crear recursos Azure hay muchos campos que puedes rellenar. Para una cuenta de almacenamiento, los más importantes son:
- Suscripción: La suscripción en la que quieres crear la cuenta de almacenamiento.
- Grupo de recursos: El grupo de recursos en el que quieres crear la cuenta de almacenamiento. También puedes decidir crear un nuevo grupo de recursos para este tutorial.
- Nombre de la cuenta de almacenamiento: Un nombre único para todas las cuentas Azure con una longitud de entre 3 y 24 caracteres. Sólo puede contener letras minúsculas y números.
- Región: La región de Azure que alojará los datos.
- Rendimiento: La opción Estándar es lo suficientemente buena para realizar pruebas.
- Redundancia: La elección de Almacenamiento redundante local es suficientemente buena para las pruebas.
Una vez que hayas hecho clic en revisar y luego en crear, debería haber una cuenta de almacenamiento esperándote en el grupo de recursos que elegiste en unos pocos minutos. Una vez que entres en la cuenta de almacenamiento, ve a contenedores en la barra lateral izquierda:
Allí, puedes crear un nuevo «containers» que esencialmente funciona como un espacio de nombres para tus datos. Llamé a mi contenedor newcontainer y lo introduje. Ahora puedes ver un botón en la esquina superior izquierda. Haz clic en cargar y luego localiza el querido archivo company_info.txt que guardaste antes.
Ahora nuestros datos están en Azure. Podemos proceder al siguiente paso 🔥.
Creación de un índice y despliegue de un modelo
Cuando leo un libro de cocina, suelo consultar el índice al final del libro. Un índice te dice rápidamente qué receta está en qué página. Mirar todo el libro cada vez que quiero hacer tortitas no es posible en un mundo tan impaciente.
¿Por qué te digo esto? Porque también vamos a crear índices para los datos internos que hemos cargado en la sección anterior. Esto asegurará que podamos localizar rápidamente la información relevante en nuestros documentos internos. De esta manera, no necesitaremos enviar todos los datos con cada pregunta a los modelos GPT. Esto no sólo sería costoso, sino que tampoco sería posible incluso para fuentes de datos de tamaño medio debido a los límites de tokens en los modelos GPT.
Vamos a necesitar un recurso Azure Cognitive Search. Este es un recurso que nos ayudará a indexar automáticamente nuestros documentos. Como antes, dirígete al marketplace de Azure y encuentra el recurso Cognitive Search:
Al crear el recurso de búsqueda cognitiva de Azure, debes elegir la misma suscripción, grupo de recursos y ubicación que para la cuenta de almacenamiento. Dale un nombre de servicio único y elije el nivel de precios Estándar. Procede haciendo clic en el botón Revisar y luego haga clic en el botón Crear.
Una vez completado, en realidad vamos a crear otro recurso, concretamente el recurso Azure OpenAI.
La razón es que no vamos a crear el índice en el recurso Cognitive Search, sino que lo haremos indirectamente desde el recurso Azure OpenAI. Esto es más conveniente para aplicaciones sencillas en las que no es necesario ajustar mucho el índice.
Dirígete de nuevo a Azure Marketplace y busca el recurso Azure OpenAI:
Debes elegir la misma suscripción, grupo de recursos y región que los demás recursos. Dele un nombre y seleccione el nivel de precios Standard SO. Haz clic en la sección Revisar y enviar y, a continuación, en Crear. Este era el último recurso que necesitaba para el tutorial. Tómate un café u otra bebida mientras esperas a que se complete el recurso.
Cuando estés dentro del recurso Azure OpenAI, deberías ver algo como esto en la sección Overview
Haz clic en Explore, que te llevará a Azure OpenAI Studio. En el estudio, puedes desplegar modelos y conectar sus datos internos mediante una interfaz gráfica de usuario. Ahora deberías ver algo como esto:
Creemos primero un despliegue de un modelo GPT. Vaya a la sección Modelos de la barra lateral izquierda. Esto te mostrará el modelo disponible que puede utilizar. Los modelos que veas pueden ser diferentes a los míos, dependiendo de la región que hayas elegido. Seleccionaré el modelo gpt-35-turbo y haré clic en Desplegar. Si no tienes acceso a este modelo, elige otro.
Elige un nombre de despliegue y crea el despliegue. Si te diriges a la sección Despliegues en la barra lateral izquierda, podrás ver tu despliegue. Nos dirigiremos a la sección Chat en la barra lateral izquierda donde comenzaremos a conectar los datos a través de un índice.
Deberías ver una pestaña llamada Add you data (preview) que puedes seleccionar:
Cuando estés leyendo este tutorial, es posible que esta función no esté en modo de vista previa. Selecciona «Add a data source» y selecciona Azure Blob Storage como fuente de datos. El resto de la información que necesitas introducir es la suscripción, el recurso Azure Blob Storage, el contenedor de almacenamiento donde colocaste el documento company_info.txt , y el recurso Azure Cognitive Search que creamos:
Introduce un nombre en el campo «Enter the index name» y deja la opción «once» en el campo Indexer schedule. Esta es la frecuencia con la que el índice debe actualizarse basándose en datos potencialmente nuevos. Dado que nuestros datos no cambiarán, elegimos Once por simplicidad. Acepta que la conexión a una cuenta de Azure Cognitive Search incurrirá en cargos por uso y continúa. Puedes elegir keywords como tipo de búsqueda en «Data management»:
Haz clic en Guardar y cerrar y espera a que finalice la indexación. ¡Ahora el modelo GPT desplegado tiene acceso a tus datos internos! Puedes hacer una pregunta en la sesión de Chat para probarlo:
El chatbot da la respuesta correcta basándose en los documentos internos 😍. Da una referencia al documento correcto para que puedas consultar el material de origen para confirmarlo.
También hay un botón llamado Ver código, donde puedes ver las peticiones realizadas en varios lenguajes de programación. Puedes enviar esta solicitud desde cualquier lugar, siempre que incluyas el endpoint y las claves de acceso indicadas. Por lo tanto, usted no está limitado a la zona de juegos aquí, pero puede incorporar esto en sus propias aplicaciones.
Ahora ha conectado con éxito un modelo GPT con datos internos. Claro, los datos internos no son muy interesantes en nuestro tutorial. Pero puedes imaginar hacer esto con material más apremiante que las políticas de escritorio.
Otras consideraciones
Aquí quiero indicarte otras cosas con las que puedes jugar.
Mensajes del sistema
También puedes especificar un mensaje de sistema en el campo de juego Chat:
A veces se denomina pre-prompt en otras configuraciones. Se trata de un mensaje que se envía cada vez antes de que el usuario formule la pregunta real. El propósito es dar contexto al modelo GPT sobre la tarea en cuestión. Por defecto es algo genérico como «Eres un asistente de IA que ayuda a la gente a encontrar información».
Puedes cambiar el mensaje del sistema para solicitar un formato específico de la respuesta, o para cambiar el tono de voz de la respuesta. Siéntete libre de jugar con esto.
Parámetros
Puedes encontrar un panel de Configuración (o ya está visible o necesitas ir a Mostrar paneles y seleccionarlo). Se parece a esto:
Aquí puedes ajustar muchos parámetros. Quizá el más importante sea Temperatura, que indica lo determinista que debe ser la respuesta. Un valor bajo indica que es muy determinista, por lo que dará más o menos la misma respuesta cada vez. Un valor alto es lo contrario, por lo que la respuesta es más variada cada vez. Un valor alto suele hacer que el modelo parezca más creativo.
Despliegue en una aplicación web
Cuando hayas terminado de ajustar los mensajes y parámetros del sistema, puede que quieras desplegar el modelo en una aplicación web. Esto se puede hacer fácilmente desde Azure OpenAI Studio. Simplemente haz clic en el botón Deploy to y selecciona A new web app…
Tras rellenar la información pertinente, puedes acceder al modelo desde una aplicación web. Esta es una de las formas de poner el modelo a disposición de otros.
Conclusiones
En este tutorial, te he mostrado cómo conectar modelos GPT con datos internos de la empresa en Azure. De nuevo, quiero enfatizar que este es solo el primer paso para conseguir un asistente de IA increíble. Los siguientes pasos requieren experiencia en áreas como calidad de datos, optimización de índices, diseño de servicios y automatización. Pero ahora tienes una configuración mínima que puedes seguir desarrollando 👋.
Si te interesa la IA o la ciencia de datos no dudes en seguirme o conectar en LinkedIn. Cuál es tu experiencia con la conexión de modelos GPT a los datos de la empresa? Me encantaría escuchar lo que tienes que decir. 😃
Hola, tengo una consulta respecto al precio de la tarifa.
En el tutorial nos pides elegir la tarifa estándar. Qué pasa si elijo la tarifa gratis? no va a funcionar igual ?
Muchas gracias