En la actualidad, la inteligencia artificial se está convirtiendo en una herramienta cada vez más importante para muchas empresas y organizaciones en todo el mundo. DALL-E2 es un modelo de inteligencia artificial desarrollado por OpenAI que permite generar imágenes a partir de descripciones de texto en lenguaje natural.

Si bien es cierto que existen muchas herramientas para generar imágenes y gráficos, DALL-E2 ofrece una alternativa única y muy poderosa que puede ser utilizada en una amplia variedad de aplicaciones. Al integrar DALL-E2 con .NET 6 MVC CORE, se pueden crear aplicaciones que permitan a los usuarios generar imágenes personalizadas a partir de descripciones de texto, lo que puede ser muy útil en muchos escenarios diferentes.

Además, la integración de DALL-E2 con .NET 6 MVC CORE puede permitir a las empresas y organizaciones crear imágenes personalizadas que sean coherentes con su marca y su identidad visual. Esto puede ayudar a mejorar la percepción de la marca y a hacer que la aplicación sea más atractiva para los usuarios.

En resumen, la implementación de DALL-E2 con .NET 6 MVC CORE puede proporcionar a las empresas y organizaciones una herramienta única y poderosa para crear imágenes personalizadas y únicas que sean relevantes para su negocio. Además, al permitir a los usuarios generar imágenes a partir de descripciones de texto, se puede mejorar la interactividad de la aplicación y hacerla más accesible para una audiencia internacional.

Desarrollo

Con nuestro proyecto MVC CORE ya creado, debemos instalar el Nuget de OpenAI.

Imagen1

Tras agregar el Nuget, debemos generar una carpeta Services y dentro de ella una clase donde almacenaremos todos los métodos que podríamos llegar a utilizar con el Nuget. En mi caso la llamaré OpenAIService.cs

Imagen2

Abrimos nuestra clase y empezamos a construirla.

  1. Hacemos el using del Nuget de OpenAI
Imagen3
  1. Declaramos un objeto privado de tipo OpenAIAPI con el cual vamos a trabajar.
Imagen4
  1. El objeto creado anteriormente lo inicializamos dentro del constructor de la clase y le pasamos nuestra clave API que la conseguiremos a través de este enlace: https://platform.openai.com/account/api-keys
Imagen5
Imagen6
  1. Finalmente generaremos el método para poder utilizar DALL-E2.
    En este método le pasaremos el prompt que al fin y al cabo es el mensaje que posteriormente le pasaremos a través de un formulario. Como se puede observar el resultado es de tipo ImageResult, para que no de fallo se debe de hacer el using que se recomienda. A su vez el objeto ImageResult tiene una propiedad más que es donde vienen contenidas las urls generadas por el método. Por eso mismo se hace un return de tipo List<Data>
Imagen7
Imagen8
  1. Resultado de la clase:
Imagen9

Con nuestro servicio ya montado, nos iremos al program para resolver dicho servicio y poder inyectarlo en nuestro controller.

Imagen10

Continuaremos creando un controller, en mi caso le he llamado DallEController.cs, en el cual inyectaremos nuestro service.

Imagen11

Tendremos un IActionResult llamado Index() y otro que utilizará el método HTTPPOST para poder hacer peticiones desde el html.
Dentro de nuestro IActionResult de tipo Post es donde invocaremos a nuestro método GenerateImageAsync y le pasaremos el prompt.

Imagen12

Para finalizar, nos dirigiremos a la zona de Views, creamos una carpeta con el mismo nombre que nuestro controller (DallE) y dentro una vista llamada Index.

Imagen13

En nuestra vista Index le indicaremos el tipo de modelo que va a recibir.

Imagen14

Presentaremos un formulario con method post donde en el input habrá que llamarlo igual al nombre que reciba el parámetro de la vista Index.

Imagen15

Y para ver el resultado primero utilizaremos la condición de que solo pinte el resultado cuando el modelo sea distinto de nulo, es decir, cuando ya se haya realizado la petición. Además, utilizaremos un foreach para recorrer todos los datos que nos pueden llegar.

Imagen16

Finalización

Para finalizar el post, y probar de que funciona al 100%, iniciaremos la aplicación e introduciremos la descripción para que nos genere dicha imagen.

Imagen17
Imagen18

Cada request que hagamos al api, nos costará un total de 0.02$, para ver el uso que llevamos nos debemos de dirigir a este link: https://platform.openai.com/account/usage
Nos dan 5$ para poder hacer pruebas.

Imagen19

Conclusión

En conclusión, la integración de DALL-E2 con .NET 6 MVC CORE es una excelente opción para las empresas y organizaciones que desean utilizar herramientas de inteligencia artificial para crear imágenes personalizadas a partir de descripciones de texto. Esto puede mejorar la interactividad y la accesibilidad de la aplicación, así como ayudar a mejorar la percepción de la marca y a atraer a más usuarios. Con esta integración, se pueden crear aplicaciones más atractivas y relevantes para una audiencia global, lo que puede ser especialmente valioso para aquellas empresas que buscan destacar en su industria. En definitiva, la integración de DALL-E2 con .NET 6 MVC CORE es una opción interesante para aquellos que buscan mejorar su presencia en línea y ofrecer una experiencia de usuario más personalizada y atractiva.

Autor: David Domínguez Blanco

Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma

Centro: Tajamar

Año académico: 2021-2022

Código / recursos utilizados / Otros datos de interés:

GitHubhttps://github.com/DavidDominguez2/MvcCoreDall-E.git

LinkedIn: https://www.linkedin.com/in/ddominguezblanco/

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.