Athrun Data Intelligence


Databricks introducidos el año pasado Aplicaciones de databrickscompletando su conjunto de herramientas que permiten a los usuarios crear e implementar aplicaciones directamente en la plataforma Databricks. Con las aplicaciones de Databricks, los desarrolladores pueden construir y iniciar datos y aplicaciones de IA más rápido, más segura y con una integración perfecta en el Plataforma de inteligencia de datos de Databricks. Apoyo a los marcos populares, la implementación sin servidor y la gobernanza incorporada, Databricks Apps está diseñado para simplificar y acelerar el crecimiento de soluciones de IA impactantes.

En esta folleto, le mostraremos cómo utilizar el poder del catálogo de Genai y Unity para construir e implementar aplicaciones de IA personalizadas que puedan alterar su negocio. Usando modelos de cara de manoseo, Catálogo de la mecanismoServicio de modelos y aplicaciones de Databricks, pasaremos a través de la creación e implementación de una aplicación Genai directorio para la producción, no se requiere experiencia descubierta de crecimiento de aplicaciones web. Al final de este tutorial, aprenderá cómo desbloquear el potencial de sus datos en un catálogo de Unity y convertir modelos de IA complejos en aplicaciones prácticas listas para el negocio que impulsan la productividad y la innovación.

Como ejemplo, creamos una aplicación Genai que combina dos entradas: una imagen y un mensaje de texto. Con el poder de la IA generativa, la aplicación transformó la imagen diferente basada en la solicitud, produciendo una salida visual única y personalizada.

En las secciones a continuación, lo guiaremos paso a paso a través del proceso:

  • Cargando imágenes en un convexidad administrado por el catálogo de la mecanismo
  • Registro de un maniquí de cara de manoseo en un catálogo de Unity usando MLFLOW
  • Implementar el maniquí con maniquí de servicio
  • Desarrollar una aplicación de Databricks e integrar el maniquí

Nota: Databricks Apps está actualmente en perspicacia previa pública y es posible que aún no esté adecuado en su región. Para obtener disponibilidad, verifique aquí.

Cargue la imagen de ejemplo en convexidad:

En Databricks, El convexidad es un catálogo de la mecanismo Objeto que proporciona almacenamiento gobernado para datos no tabulares (como archivos, imágenes o documentos). Permite a las organizaciones acumular, conseguir y compartir de forma segura varios tipos de datos mientras mantienen la gobernanza y el control centralizados.

Para nuestro ejemplo, descargaremos una imagen de abrazar la cara y, transmitido que estamos manipulando imágenes, la guardaremos en un convexidad de Databricks:

La imagen de ejemplo se puede ver a continuación:

Cara de abrazo
Nuestra imagen de ejemplo descargada de Huggingface

Registre el maniquí de Huggingface en un catálogo de Unity con MLFLOW:

Primero, necesitamos inclinarse un maniquí de Huggingface que pueda producir imágenes basadas en un mensaje y una imagen de entrada. Elegamos el maniquí de decodificador 2-2 de Kandinsky (https://huggingface.co/docs/diffusers/en/using-diffusers/img2img#image-to-image).

A continuación, podemos registrar nuestro maniquí en el catálogo de Unity usando mlflow. Usaremos el mlflow pyfunc Sabor para crear una clase personalizada, que servirá como nuestro envoltorio de modelos:

Hemos anejo dos funciones (image_to_base64 y base64_to_image) a la clase para codificar y decodificar imágenes. Son necesarios porque no podemos analizar Pilotear imágenes Json Para cursar nuestra entrada a nuestro maniquí implementado.

Luego de preparar nuestra clase, registraremos y registraremos el maniquí en el catálogo de Unity. El maniquí esperará un grabador de datos que contenga parámetros, el aviso y la imagen como entrada. Creamos un ejemplo de entrada usando nuestra imagen cargada previamente en nuestro convexidad.

Habiendo registrado nuestro maniquí en el catálogo de Unity, ahora estamos listos para afrontar el paso de implementación crucial a través del servicio del maniquí. La próximo sección lo guiará transformando su maniquí en un servicio vivo para la producción capaz de manejar solicitudes de predicción en tiempo vivo a escalera.

Implementar el maniquí con la entrega del maniquí:

El servicio de maniquí en Databricks es un servicio totalmente administrado que le permite implementar modelos de formación forzoso como API REST. Esto los hace fácilmente accesibles para predicciones en tiempo vivo sin preocuparse por la infraestructura o escalera subyacente. Para obtener más información, consulte el solicitud adecuado en este enlace.

Implementamos un maniquí registrado en un catálogo de Unity con maniquí de servicio:

  • Manualmente, utilizando la interfaz de favorecido: navegue a su maniquí en el catálogo de Unity y haga clic en «Servir este maniquí»
  • O podemos hacerlo a través de la API, como se muestra en el código a continuación

El proceso de construcción del punto final de servicio maniquí comenzará. Una vez en funcionamiento, podemos navegar a la sección «Servicio de maniquí» y hacer clic en el punto final para obtener los detalles de la conexión.

A continuación, podemos comenzar a crear nuestras aplicaciones Databricks.

Avance de aplicaciones de Databricks

Databricks Apps es una nueva característica (verifique la documentación aquí) diseñado para simplificar la creación e implementación de aplicaciones web en el interior de la plataforma Databricks. Con las aplicaciones de Databricks, los profesionales pueden crear aplicaciones que aprovechen los datos, los modelos y la gobernanza ya existentes en Databricks sin la privación de cuidar una infraestructura separada. Las aplicaciones de Databricks proporcionan flexibilidad, lo que le permite construir su aplicación front -end con el situación de comicios: Dash, Shiny, Gradio, Apretslit o Flask.

Para comenzar a crear la aplicación en su plataforma Databricks basada en esta página:

  1. Navegue para calcular> aplicaciones en su plataforma Databricks.
  2. Haga clic en «Crear aplicación». Deje la configuración descubierta vacía por ahora, ya que la llenaremos más delante en este sección.

A continuación, configure el entorno de su aplicación:

  1. Vaya a su perfil de favorecido y cree una nueva carpeta para su aplicación.
    • Esta carpeta contendrá el código de su aplicación y cualquier dependencia adicional.
  2. En esta carpeta, crea:
    • Un archivo llamado Main.py:
      • En Main.py, utilizaremos un token de entrada personal (PAT) para conseguir al maniquí de servicio, recuperándolo de forma segura de un «significación secreto» creado a través de la CLI de Databricks en empleo de mostrarlo directamente.
      • Para encontrar instrucciones sobre cómo registrar un secreto utilizando Databricks CLI, navegue aquí.
    • Un nombre de archivo requisitos.txt:
      • Este archivo enumera las bibliotecas y paquetes externos necesarios para que nuestro código funcione correctamente.
      • Puede encontrar más información al respecto en este enlace

Ahora que hemos completado la configuración, continuaremos con la creación del código para nuestra aplicación web.

Vamos a sumergirnos en los componentes críticos de nuestra aplicación:

El back-end: manejo de interacciones con volúmenes de catálogo de mecanismo

El próximo código define una función, QUERY_IMAGE_FROM_VOLUME ()que recupera un archivo de imagen de un convexidad de Databricks. Usa el Databricks sdk Para autenticar y descargar el archivo de imagen, luego lo abre usando el PIL (Biblioteca de imágenes de Python) y lo convierte en formato RGB. La función establece las variables de entorno necesarias, incluido un token secreto para la autenticación, antiguamente de obtener y procesar la imagen.

Integración de punto final del maniquí: consulta nuestro maniquí de IA para predicciones

A continuación, definimos una función QUERY_MODEL_ENDPOINT que prepara y envía una solicitud a nuestro punto final del maniquí (implementado anteriormente con el servicio de maniquí) para la concepción de imágenes. Se necesita una imagen de entrada, la convierte en Base64 (porque una imagen PIL no se puede serializada directamente en JSON), construye un situación de datos con varios parámetros, incluida la imagen y las indicaciones, y envía estos datos como una carga útil JSON a la URL del punto final del maniquí. Finalmente, procesa la respuesta al convertir los datos de imagen Base64 devueltos en un objeto de imagen RGB para que podamos visualizar el resultado en nuestra aplicación.

La URL de su maniquí se puede encontrar en el maniquí que sirve UI haciendo clic en su maniquí implementado.

Avance delantero: combinar la funcionalidad de fondo y las consultas de modelos en una interfaz de favorecido

En esta sección, creamos una interfaz Gradio para nuestra aplicación Genai que transforma imágenes basadas en la entrada del favorecido. Establece un diseño con un logotipo, título, cuadro de texto de entrada para la descripción del personaje y dos pantallas de imagen (antiguamente y a posteriori de la transformación), inmediato con los ordenanza para ejecutar la transformación y borrar las entradas. La interfaz conecta la entrada del favorecido a nuestra función Query_model_endpoint definida anteriormente, que procesa la entrada y genera los resultados, que luego se mostrarán en el componente de imagen «a posteriori».

Si desea anexar imágenes o registros a su aplicación web, puede crear otra carpeta (emplazamiento «inmutable«En nuestro código mencionado) en el interior del mismo directorio para acumular las imágenes (como lo hemos hecho aquí con static/databrickslogo_full3.png).

Implementación: poner en funcionamiento nuestra aplicación

Este fragmento de código se usa típicamente al final de un script de aplicación de Gradio. Verifica si el script se ejecuta directamente (no se importa como un módulo) usando if __name__ == «__main__»: condición. Si es cierto, inicia la interfaz de Gradio definida en el objeto de demostración. La aplicación se implementa al principio en el host circunscrito. Si desea hacerlo accesible a través de una URL pública, tendrá que anexar compartir = cierto en el tiro ().

Con nuestra aplicación Databricks desarrollada y directorio para la implementación, hemos creado con éxito una interfaz poderosa e interactiva para nuestro maniquí Genai. Sin retención, antiguamente de que podamos desatar su potencial, debemos afrontar un aspecto crucial de dirección de aplicaciones: permisos.

En la próximo sección, exploraremos cómo otorgar los permisos necesarios al principal del servicio detrás de nuestra aplicación Databricks, asegurando que tenga el nivel correcto de entrada para realizar sus funciones de forma segura y efectiva.

Permisos de aplicaciones de Databricks:

Puede encontrar el nombre del principal de servicio en la interfaz de favorecido de su aplicación, en los posibles de la aplicación de la sección. Una vez identificado, otorgue los siguientes permisos al principal del servicio:

  • Token de entrada personal:
    • Conceder Puede repasar permiso para permitir que el principal del servicio acceda al token registrado
    • Siguiendo las instrucciones en este enlacepuede otorgar entrada directamente a la interfaz de favorecido:
      • Haga clic en Editar, Configuración descubierta, el tipo de solicitud «Secret» y el significación y la tecla secreta en la que ha registrado su token.
      • Para hacer relato al secreto en el código de su aplicación, use el valía del campo de nombre (token en nuestro ejemplo) para consultar el valía de la esencia configurado y desentenderse.
  • Ataque de convexidad:
    • Asignar Read_volume Permiso para habilitar el entrada a las imágenes almacenadas en su convexidad.
    • A través del convexidad UI:
      • En su convexidad, haga clic Permisos y inclinarse Conceder
  • Punto final de servicio maniquí:
    • Proporcionar Puede usar Permiso para el maniquí previamente implementado en la entrega del maniquí.
    • A través del maniquí que sirve UI:
      • En la página de su maniquí, haga clic Permisos

Para implementar nuestra aplicación web, navegue a su interfaz de favorecido de WebApp y haga clic en Implementar. Luego, seleccione la carpeta donde se encuentra su Main.py. Esto implementará su código en un contenedor ocasional. La implementación original de la solicitud puede requerir varios minutos para completarse. Una vez que el proceso concluye y se muestra el indicador de estado «Pasar«Su aplicación está completamente implementada y operativa.

Tras una implementación exitosa, tendrá entrada a una interfaz de favorecido interactiva totalmente práctico en el interior de una aplicación web que utiliza el maniquí Kandinsky. Para difundir su aplicación:

  1. Navegue a la sección de enumeración en su espacio de trabajo de Databricks
  2. Localice y haga clic en el nombre de su aplicación
  3. Encuentre el indicador de estado «en ejecución»
  4. Haga clic en el enlace adyacente para rasgar su aplicación

Aquí están los resultados de nuestro ejemplo en nuestra aplicación Databricks:

Comience con las aplicaciones de Databricks

Como se demostró, los pasos son claros y directos. La viejo parte del trabajo se realiza en el interior de la plataforma de inteligencia de Databricks, reduciendo significativamente la complejidad y el tiempo de crecimiento. Este enfoque le permite implementar su maniquí rápida y simplemente en una aplicación web sin servidor sin los obstáculos tradicionales de dirección de infraestructura.

Esperamos que haya antitético este útil tutorial mientras terminamos este alucinación. Le recomendamos que explore estas capacidades más y vea cómo pueden acelerar sus iniciativas de IA. Con la ayuda de esto blogpuede tolerar su aplicación al próximo nivel ajustando el maniquí, lo que le permite personalizar su aplicación aún más para cumplir con sus requisitos específicos. Esta personalización le permitirá crear soluciones de IA que se adapten efectivamente a las deyección de su estructura, revolucionando potencialmente sus procesos comerciales e impulsando la innovación.

¡Le deseamos éxito en la construcción de su propia aplicación web Genai y estamos emocionados de ver las fantásticas aplicaciones web de Genai que creará!

Deja una respuesta

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