Artículo
· 15 mar, 2024 Lectura de 8 min

Tutorial: Añadiendo OpenAI a la Producción de Interoperabilidad

La Inteligencia Artificial (IA) está recibiendo mucha atención últimamente porque puede cambiar muchos aspectos de nuestras vidas. Una mayor potencia informática y más datos han ayudado a la IA a hacer cosas asombrosas, como mejorar las pruebas médicas y fabricar coches que se conducen solos. La IA también puede ayudar a las empresas a tomar mejores decisiones y a trabajar de forma más eficiente, por lo que cada vez es más popular y se utiliza más. ¿Cómo se pueden integrar las llamadas a la API OpenAI en una aplicación de interoperabilidad IRIS existente?

 

Prerequisites

En este tutorial asumiremos que ya tienes una producción de interoperabilidad existente y un conjunto de credenciales de OpenAI para hacer llamadas a las APIs de OpenAI. Puedes descargar el código que utilizamos en este tutorial desde la siguiente rama del proyecto de GitHub: https://github.com/banksiaglobal/bg-openai/tree/test-app-original
Para aprender cómo obtener las credenciales OpenAI, sigue este tutorial https://allthings.how/how-to-get-your-open-ai-api-key/ o simplemente abre la página OpenAI API Keys y crea una https://platform.openai.com/api-keys

Solicitud origina

Nuestra aplicación, AppExchange, emula la publicación en OpenExchange de InterSystems: recibe una solicitud con una descripción del proyecto, el logotipo del proyecto y la URL de GitHub y la publica en el repositorio de AppExchange.

 

Un poco de inteligencia artificial
 

Supongamos ahora que una persona que se ocupa de nuestro repositorio se da cuenta de que algunos desarrolladores de aplicaciones son perezosos y no proporcionan ni un breve resumen ni el logotipo de las aplicaciones que publican. Aquí es donde nuestro amigo de la IA puede venir al rescate.

El flujo de trabajo deseado sería el siguiente:

  1. La aplicación recibe como entrada una URL de un repositorio, un resumen y una URL de logotipo.
  2. Si el resumen está vacío, la URL se envía a un modelo basado en GPT que analiza el contenido del repositorio y genera un resumen descriptivo del proyecto. Este proceso puede implicar el análisis de archivos README, comentarios de código y otra documentación relevante dentro del repositorio para extraer información clave sobre el propósito, las características y el uso del proyecto.
  3. El resumen del proyecto generado se utiliza como entrada para otro modelo basado en GPT, que se encarga de crear un logotipo para el proyecto. Este modelo utiliza la descripción para entender el tema del proyecto y, a continuación, diseña un logotipo que represente visualmente la esencia y la identidad del proyecto.
  4. La aplicación genera una respuesta que incluye la URL original, el resumen del proyecto generado y el logotipo recién creado. Esta respuesta proporciona un resumen completo del proyecto, junto con un identificador visual que puede utilizarse en los esfuerzos de marca y marketing.

Para lograr esta integración, utilizaremos el Diseñador de Procesos de Negocio para diseñar visualmente el flujo de trabajo de la aplicación.

 

Paso 1- Instalación

Para empezar, descargaremos el paquete bg-openai de Open Exchange utilizando el gestor de paquetes ZPM:

zpm "install bg-openai"

 

Puedes echar un vistazo a este paquete aquí https://openexchange.intersystems.com/package/bg-openai-1 y consultar su código fuente aquí https://github.com/banksiaglobal/bg-openai

Este paquete está basado en el gran trabajo de @Francisco Lopez disponible aquí https://github.com/KurroLopez/iris-openai con cuatro pequeños cambios: hemos cambiado los nombres de las clases para estar más en línea con las convenciones de nomenclatura estándar de IRIS, hemos añadido una nueva petición SimplePrompt que permite a los usuarios enviar mensajes de texto AI simples muy fácilmente, hemos cambiado Api Key para que sea una credencial en lugar de una configuración, y hemos cambiado el nombre del paquete de nivel superior a "Banksia" en línea con los estándares de la empresa.

Paso 2 - Configurar el funcionamiento de OpenAI

Para seguir trabajando y configurando los productos, vamos a pasar al portal de gestión que se encuentra en el siguiente enlace si estamos utilizando la imagen Docker con nuestra aplicación original:

http://localhost:42773/csp/sys/UtilHome.csp

Navega a Interoperability->[Namespace]->Configure->Production y asegúrate de que nuestra producción original se está ejecutando.

Añade una nueva operación basada en la clase Banksia.OpenAi.Operation y nómbrala OpenAiOut. Habilítala. Esta operación se comunicará con los servidores de la API OpenAI.

  • Operation Class: Banksia.OpenAi.Operation
  • Operation Name: OpenAiOut

Ahora vamos a realizar una configuración mínima necesaria para utilizar nuestra nueva Operación en Producción: añadir una clave API y la Configuración SSL.

Vaya a OpenAiOut->Settings->Basic Settings->Credentials y haga clic en el icono de la lupa para configurar las credenciales.

 Rellene los datos del formulario y añada apiKey en el campo de contraseña. Guarde los datos haciendo clic en Guardar. Los campos ID y User Name
puedes rellenarlos a tu gusto.  

 

En el campo Credentials, seleccione el ID de las credenciales que guardamos anteriormente.

 

Configurar SSL: cree una nueva Configuración SSL de Cliente OpenAiSSL y selecciónela en el desplegable.

 

 

 

Paso 3 - Añadir la Generación de Resúmenes al Proceso de Negocio utilizando el Diseñador de Procesos de Negocio
 

Vaya a Interoperability > Business Process Designer y abra el proceso de negocio AppExchange.Process haciendo clic en Open.

Construya un diagrama de flujo del proceso basado en el algoritmo que hemos descrito anteriormente.
En la siguiente imagen se muestra un ejemplo de implementación.

 

Сheck la URL del repositorio se proporciona y que tenemos que consultar ChatGPT para crear una descripción si no se ha introducido ninguna descripción.

(request.Summary="") & (request.GitHubUrl '="")

   

A continuación, agregue el bloque <Сall> y haga un OpenAiOut de destino, que, dependiendo del tipo de solicitud, hará una llamada a OpenAi api.

  •  Name: Generate Summary 

   

Personalice el tipo de solicitud y la respuesta recibida, así como distribuya variables para las acciones.

  • Request Message Class: Banksia.OpenAi.Msg.SimplePrompt.Request

set  callrequest.Prompt   = "Visit the website you will be provided on the next step. Describe the main idea of the project, its objectives and key features in one paragraph." 

set callrequest.UserInput = request.GitHubUrl 

set callrequest.Model = "gpt-4" 

  • Response Message Class: Banksia.OpenAi.Msg.SimplePrompt.Response

set request.Summary = callresponse.Content 

 

Añade un paso <sync> para esperar una respuesta, en el campo Calls añade el nombre de la <call> anterior.

  • Calls: Generate Summary

 

Paso 4 - Añadir la generación de logotipos al proceso empresarial
 

 

Tras obtener la descripción del repositorio, pasemos a la siguiente parte lógica: la generación del logotipo. Comprobemos que existe una descripción para la que se generará la imagen y comprobemos si no se ha proporcionado una URL de la imagen. Establezcamos la siguiente condición:

(request.LogoUrl="") & (request.Summary'="")

 

Сonfigurar el siguiente elemento <call>, hacer un objetivo nuestra operación OpenAiOut también.

  •  Name: Generate Logo

 

 

Personaliza el tipo de solicitud y la respuesta recibida.

  • Request Message Class: Banksia.OpenAi.Msg.Images.Request

set  callrequest.ResponseFormat  = "url"

set  callrequest.Operation  = "generations"

set  callrequest.Prompt  = "Create a simple app icon for the following mobile application: "_request.Summary

set  callrequest.Size  = "256x256"

  • Response Message Class: Banksia.OpenAi.Msg.Images.Response

set  request.LogoURL  = callresponse.Data.GetAt(1).Url

    

Después de completar la modificación de nuestro proceso de negocio, haga clic en el botón compile

Puede descargar la muestra integrada OpenAI terminada desde la siguiente rama del proyecto de GitHub: https://github.com/banksiaglobal/bg-openai/tree/test-app

 

Paso 5 - Probar nuestro nuevo proceso de negocio en producción
 

Vaya a la sección Interoperability->Configure->Production.

Primero necesitamos reiniciar nuestro proceso para aplicar todos los últimos cambios, navegue a AppProcess->Actions->Restart.

Para probar el proceso, vaya a AppProcess->Actions->Test.
Crea un mensaje de prueba con una URL de GitHub para la API de OpenAI y envíalo a través de producción:

 


Verifica que la respuesta de la API de OpenAI es recibida y procesada correctamente por la aplicación. Ve a  Visual Trace para ver el ciclo completo de la aplicación y asegúrate de que se transmiten los datos correctos en cada elemento del proceso.

 

 

Esta es la versión de AI del logotipo de nuestra aplicación:

 

 

Conclusión

Siguiendo estos pasos, puede integrar la API OpenAI en la producción de interoperabilidad utilizando el Proceso de Negocio en InterSystems IRIS. El módulo bg-openai es un gran recurso para los desarrolladores que buscan incorporar la IA en sus aplicaciones. Al simplificar el proceso de integración, abre nuevas posibilidades para mejorar las aplicaciones con el poder de la inteligencia artificial.
 

Sobre el autor

Mariia Nesterenko es desarrolladora IRIS certificada en Banksia Global, especializada en desarrollo de aplicaciones, estructuras de datos, interoperabilidad y datos geoespaciales.

Acerca de Banksia Global

Banksia Global es una consultora boutique internacional con sede en Sydney, Australia, especializada en la prestación de servicios profesionales para tecnologías InterSystems. Con un equipo de profesionales dedicados y experimentados, nos enorgullecemos de ser un Premier Partner oficial de InterSystems, autorizado para prestar servicios en todo el mundo. Nuestra pasión por la excelencia y la innovación nos impulsa a ofrecer soluciones de alta calidad que satisfagan las necesidades únicas de nuestros clientes.

Comentarios (0)1
Inicie sesión o regístrese para continuar