La democratización de los datos comienza por facilitar el acceso seguro a la información. Con Databricks Genie, los usuarios ahora pueden conversar con sus datos directamente desde las herramientas que ya utilizan: Teams, Slack, Confluence o aplicaciones web personalizadas. Ya sea que utilice nuestras integraciones nativas de Copilot Studio/Foundry o que desarrolle con las API/SDK de Genie Conversation, Genie ahora puede incorporar el análisis de lenguaje natural en los flujos de trabajo cotidianos. En segundo plano, se puede aplicar OAuth para autenticar de forma segura a cada usuario y aplicar los permisos de acceso a los datos.
Anteriormente, vimos a clientes como The AA y Casas Bahia crear de forma independiente sus propias integraciones de Genie en Microsoft Teams y aplicaciones internas. Nuestra robusta suite de extensibilidad ahora hace que esta experiencia sea más fácil, rápida y escalable.
En este blog, analizaremos dos formas comunes de implementar Genie con OAuth empresarial en toda su organización:
Surgen preguntas de datos ad hoc todo el tiempo durante las conversaciones grupales. Con la integración nativa de Databricks Genie con Copilot Studio, sus usuarios ahora pueden obtener respuestas en el momento en que surgen las preguntas, directamente en Microsoft Teams. Para aprovechar esta integración, siga los pasos que se detallan a continuación:
El primer paso para habilitar Genie en Microsoft Teams es conectar Azure Databricks a Power Platform (documentación). En sus Microsoft Power Apps, haga clic en Conexiones y seleccione Azure Databricks, o Databricks si usa AWS/GCP. Configure los siguientes campos:
A continuación, conectarás tu espacio de Genie a Copilot Studio (documentación). Nuestra integración se encarga de toda la lógica de la API y de MCP, por lo que la conexión se puede realizar en unos pocos clics.
En Copilot Studio, haga clic en Agentes. Seleccione “Crear agente en blanco” para crear un nuevo agente independiente para un espacio de Genie. Si desea integrar Genie en un marco de agente existente, también puede elegir un agente de Copilot Studio existente para agregarle su espacio de Genie.
En tu nuevo agente, haz clic en ‘Tools’ y, luego, en “Add a tool”. Selecciona Azure Databricks Genie (o Databricks Genie para AWS/GCP) en la sección MCP.
Ahora puede seleccionar el espacio de Genie que desee y configurar los detalles de la conexión:
Cuando elige “Credenciales de usuario final”, cada persona debe iniciar sesión en Databricks con su propia cuenta. Para simplificar esto, sugerimos compartir los parámetros de conexión (como se describe en la documentación de Microsoft), para que los usuarios no tengan que proporcionar esa información por sí mismos. En la práctica, esto simplemente significa proporcionar el nombre de host del servidor y la ruta HTTP, lo que garantiza que se autentiquen en el espacio de trabajo de Databricks exacto vinculado al espacio de Genie conectado en su agente de Copilot Studio.
Ahora que tiene un agente de Copilot Studio conectado a su espacio de Genie, puede publicarlo en Teams.
¡Todo listo! Genie ya está disponible en Microsoft Teams y ofrece información de datos gobernados en el instante en que surgen preguntas.
Para ver cómo los usuarios finales aprovechan Genie en Microsoft Teams, consulte nuestras historias de clientes.
Muchas organizaciones también quieren insertar Genie directamente en sus aplicaciones web personalizadas para que los usuarios puedan hacer preguntas en las herramientas que ya utilizan. Por ejemplo, los gerentes de las tiendas podrían hacer preguntas ad hoc sobre su inventario directamente en su terminal de ventas existente. Con las API de conversación de Genie y Databricks OAuth, esto ahora es posible.
Antes de crear una integración entre su aplicación web y Genie, es importante decidir qué patrón de OAuth usará: de usuario a máquina (U2M), de máquina a máquina (M2M) o un modelo en nombre de (OBO). Cada enfoque se alinea con un tipo diferente de caso de uso de la aplicación:
En el resto de este blog, nos centraremos en el primer patrón de integración con Genie: el flujo OAuth U2M mediante el soporte de OAuth integrado de Databricks.
NOTA: Databricks también admite la federación de tokens de OAuth, que se puede utilizar para incorporar tokens emitidos por su propio proveedor de identidades y combinarlos con cualquiera de los métodos descritos anteriormente para el acceso a Genie.
Para conectar de forma segura su aplicación web personalizada a Genie, comience por registrarla en su cuenta de Databricks. Este paso permite a Databricks emitir de forma segura tokens de ámbito de usuario para su aplicación en pasos posteriores. Consulte la documentación del producto para obtener más información.
En la Consola de la cuenta de Databricks, agregue una nueva conexión OAuth y configure lo siguiente:
Después de guardar esta conexión, Databricks generará lo siguiente:
Guarde estas credenciales de forma segura en su backend; se necesitarán para intercambiar códigos de autorización por tokens de acceso y autenticar llamadas a las API de conversación de Genie.
El siguiente paso es asegurarse de que su aplicación dirija a los usuarios finales a Databricks para que puedan iniciar sesión y aprobar su aplicación para hablar con Genie en su nombre. Después de un inicio de sesión y una aprobación correctos, Databricks redirigirá al usuario a su aplicación con un código de autorización de corta duración.
Este código de autorización es la prueba de que el usuario se autenticó correctamente en Databricks y aprobó el acceso solicitado por su aplicación. El backend de su aplicación utilizará este código de autorización en el siguiente paso para obtener tokens de acceso.
Para empezar, genere valores de PKCE y de estado para cada inicio de sesión a fin de proteger su aplicación web:
A continuación, su frontend debe construir una URL de autorización utilizando el punto de conexión de OAuth de Databricks:
Incluya los siguientes parámetros de formulario para identificar su aplicación para sus usuarios:
Después de que un usuario inicie sesión en su cuenta de Databricks, se lo redirigirá a la redirect_url con los parámetros de consulta: https://<redirect_url>/oauth/callback?code=<authorization_code>&state=<state>
Tu manejador de callback debe leer el authorization_code y el state de la cadena de consulta. Verifica que el valor de state coincida con lo que se guardó en las cookies o en las sesiones web. Si no coincide, descarta el authorization_code. Con el authorization_code devuelto, tu aplicación ahora puede intercambiarlo por tokens de acceso.
El código de autorización obtenido en el paso anterior no se puede usar para llamar a las API directamente; debe intercambiarse por tokens de acceso en su backend que son necesarios para comunicarse de forma segura con Genie. Para obtener más información, consulta nuestra documentación del producto).
A continuación, se muestra un ejemplo de Python para intercambiar códigos de autorización por tokens de acceso y de actualización (consulte los detalles en la documentación del SDK de OAuth):
Incluya los siguientes parámetros:
Es importante guardar los siguientes valores del objeto result en la base de datos de su aplicación:
Para administrar de forma segura los tokens de acceso, también es importante que su aplicación haga un seguimiento de los tiempos de vencimiento y use los tokens de actualización para obtener nuevos tokens de acceso cuando sea necesario. El ejemplo de código a continuación abstrae la lógica de actualización para devolver siempre un token de acceso de usuario válido:
Ahora que su aplicación tiene tokens de acceso de Databricks con alcance de usuario, puede enviar prompts a un espacio de Genie en nombre del usuario que inició sesión. Recomendamos crear un router de API de backend para su aplicación web para proteger los tokens de acceso de Databricks del navegador y centralizar la observabilidad, el manejo de errores y la limitación de velocidad. Los ejemplos de código a continuación aprovechan FastAPI y el SDK de Genie para una lógica más simple.
Después de estos pasos, su aplicación web personalizada se integrará de forma segura con Genie, lo que permitirá a los usuarios hacer preguntas en lenguaje natural y recuperar información gobernada directamente en las herramientas que ya utilizan.
Genie está diseñado para llegar a los usuarios dondequiera que trabajen. En este blog, explicamos cómo las organizaciones incrustan de forma segura las capacidades de análisis conversacional de Genie en Microsoft Teams y aplicaciones personalizadas con autenticación OAuth.
Al llevar Genie a todos los lugares donde sus equipos hacen preguntas, acorta el camino de la pregunta a la perspectiva y de la perspectiva a la acción. Comience a crear espacios de Genie y a ponerlos a disposición de sus usuarios hoy mismo. Como siempre, póngase en contacto con sus equipos de cuenta de Databricks si tiene preguntas o comentarios.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
Produto
June 12, 2024/11 min de leitura

