스크립트
00:00:00Hola a todos, bienvenidos al taller de integración de v0 y Snowflake. Esta es la edición
00:00:12de Nueva York; hicimos lo mismo en Londres hace dos semanas. Esta sesión es para clientes
00:00:23Enterprise de Snowflake y clientes Enterprise de v0, así que necesitan tener ambas integraciones para
00:00:31usar esta función. Primero me presento: me llamo Dom, me uní a Vercel hace cuatro
00:00:39años y medio como ingeniero. Hoy soy ingeniero de despliegue en campo y ayudo a los mayores
00:00:47clientes Enterprise de Vercel a adoptar diversos frameworks, cargas de trabajo de IA, agentes y,
00:00:57en general, a adoptar la plataforma. Jordan, te cedo la palabra. —Sí, hola, me llamo Jordan, soy de Snowflake y llevo
00:01:05dos años allí. Soy Staff Software Engineer y trabajé en la parte de Snowflake de esta integración.
00:01:12Genial. Dicho esto, mostremos una diapositiva. Sí, básicamente,
00:01:23la integración consiste en construir tus aplicaciones con la herramienta v0 de Vercel, que es una herramienta de código agéntico de Vercel
00:01:30con una experiencia de desarrollo de primer nivel, bastante buena. Es Next.js y vas a desplegar
00:01:37esta app en Snowflake. Una vez desplegada en Snowflake, se ejecuta completamente dentro de tu cuenta de Snowflake,
00:01:41por lo que se desplegará con un rol de Snowflake y usará control de acceso basado en roles (RBAC) de Snowflake,
00:01:47el inicio de sesión único que tengas y todo lo que ofrece Snowflake. Está completamente
00:01:53separado y se ejecuta de forma segura dentro de tu cuenta. La idea es tener lo mejor de ambos mundos: tienes
00:02:01la experiencia de desarrollo de Vercel y todos los datos empresariales, cumplimiento y RBAC de Snowflake.
00:02:10Aviso aclaratorio: normalmente los talleres son ejercicios prácticos que pueden realizar ustedes mismos;
00:02:17sin embargo, como dije al principio, necesitan ser clientes Enterprise en ambos lados. Así que les
00:02:22mostraremos una demostración (de hecho, varias) y luego pasaremos a una sesión interactiva para pedirle a la audiencia
00:02:29que nos diga qué podemos construir en v0 con un conjunto de datos de ejemplo de Snowflake. Luego pasaremos
00:02:38a la sesión de preguntas y respuestas. Aquí quiero mostrarles cómo usamos en Vercel esta integración. En realidad hay
00:02:48tres pilares. El estándar es que puedes crear dashboards interactivos en tiempo real; los usan los equipos de GTM
00:02:58para mostrar pipelines, el uso del producto y la velocidad. No hace falta saber SQL, basta con escribir
00:03:07un prompt para tener tu dashboard. Ese es el caso de uso estándar o la forma habitual de usar esta
00:03:17integración. También tenemos diferentes equipos que usan métricas de adopción de producto o BI personalizado,
00:03:31que son aplicaciones personalizadas que les mostraremos más adelante. Y mi favorito, que descubrí hace poco
00:03:39sobre mi equipo en Vercel: puedes crear tu propio dashboard personalizado de ARR e ingresos financieros de tu equipo
00:03:50y desglosarlo a nivel de SKU o de servicio. Yo no sabía cuántos ingresos
00:03:57generaba mi equipo, y mientras trabajaba en este taller descubrí que es bastante bueno.
00:04:03Muy bien. En el caso de Snowflake, si hay clientes de Snowflake aquí familiarizados con Streamlit, sabrán que hay muchos
00:04:14dashboards. Un beneficio de esto es que puedes ir más allá de simples dashboards. Los dashboards son
00:04:21geniales y están soportados, pero también las herramientas internas. Al ser JavaScript y Next.js, puedes construir
00:04:27cualquier cosa que te imagines. Las herramientas internas son geniales: podrías tener tablas en las que escribes y estas
00:04:31interactúan con otras tablas que ya tienes, de modo que añades más valor a tus datos. E incluso apps agénticas,
00:04:38así que puedes hablar con tus datos o construir apps más sofisticadas si tienes más tiempo. Yo lo
00:04:44he estado usando internamente para obtener mucha información de registros; quiero ver de dónde vino tal registro,
00:04:50quiénes son los usuarios y aprender más sobre ellos. Así, mientras realizo
00:04:55investigaciones, puedo saltar de un conjunto de datos a otro. Es muy útil para eso.
00:05:01Esta es la meta principal de lo que se puede hacer con esta integración.
00:05:09Puedo explicarlo: para usar esta integración, el administrador de tu cuenta Enterprise
00:05:16en Snowflake debe configurar y habilitar el entorno de ejecución de apps de Snowflake en la configuración,
00:05:23y luego habilitar la integración de Vercel. Esos son los dos pasos que debes hacer. Del
00:05:29lado de Vercel, tu administrador debe añadir Snowflake a tu equipo de v0 desde la sección de configuración e
00:05:37integraciones. Para ilustrarlo: en v0 vas a la configuración de tu cuenta, añades integraciones,
00:05:47agregas la cuenta de Snowflake usando tu identificador de cuenta y luego te conectas a tus conjuntos de datos.
00:05:58Así se ve, por ejemplo; creo que esta captura de pantalla es de Vercel.
00:06:04Esa es la configuración. Vamos ahora...
00:06:10Voy a construir y mostrarles una demostración empezando con un prompt. En
00:06:16la primera parte, v0 lo va a construir con un dashboard usando los datos, y en la
00:06:25segunda parte lo voy a desplegar en Snowflake. Hay más detalles detrás y los explicaré
00:06:31mientras v0 prepara todo. Pero solo como consejo, les digo que
00:06:39debido a las mejores prácticas de Next.js en estrategias de renderizado del lado del servidor,
00:06:47se ejecutará en el servidor y
00:06:51de hecho se ejecutará muy cerca de tus datos de Snowflake por motivos de cumplimiento. Lo
00:06:55explicaré más adelante. Muy bien, así de sencillo es hacer un despliegue en la infraestructura
00:07:05infraestructura, sí, escuchaste bien, así que v0 construirá esto y luego se desplegará en y
00:07:15el cómputo de Snowflake, junto a los datos de Snowflake. Así que si eres un cliente Enterprise, puedes
00:07:24escanear este código QR, o si quieres una demostración personalizada de nuestros equipos de ventas, escanea este código QR
00:07:32y se te habilitará esta función. Bien, pasemos a la demostración práctica.
00:07:47Y por supuesto, necesito volver a autenticarme con Okta por ser cuenta Enterprise; de hecho,
00:07:54haremos esto bastante. Lo más importante de esto es la palabra clave “Snowflake”.
00:08:05Solo vas a escribir en el prompt “usa Snowflake”, y para acelerar la demostración diré “usa el conjunto
00:08:14de datos de Crunchbase”. Ahora quiero crear una demo estándar: quiero crear un dashboard
00:08:25que muestre...
00:08:29información sobre las OPI a lo largo de los años, básicamente toda la inteligencia sobre OPI. Dejemos que v0 prepare
00:08:39eso.
00:08:48Muy bien, eso debería ser suficiente.
00:08:53Ahora, mientras v0 procesa, primero va a verificar y consultar el conjunto de datos de Snowflake. Debería
00:09:03pedirme permiso o hacerme alguna pregunta de seguimiento.
00:09:09Snowflake en vivo, vamos. De acuerdo, de acuerdo.
00:09:18Puede que haya más... de hecho, v0 debería pedirme que me conecte a mi base de datos de Snowflake
00:09:31y luego comenzará a consultar lo que necesita construir según mi prompt. Me estoy conectando
00:09:53ahora mismo a Snowflake, que es literalmente de lo que trata esta integración.
00:10:01Y v0 seguirá las mejores prácticas de rendimiento web y las mejores prácticas de Next.js
00:10:09para estrategias de renderizado y almacenamiento en caché, y luego me construirá
00:10:15un dashboard personalizado en tiempo real. Probablemente tardará unos tres minutos en procesarse,
00:10:24así que durante este tiempo quiero mostrarles...
00:10:29hablar sobre una publicación de blog que hicimos en noviembre del año pasado.
00:10:36Invitamos a algunas empresas a probar esta integración; sin embargo, quiero enfocarme y contarles por qué
00:10:45esta integración es tan genial.
00:10:51v0 está escribiendo código para esta capa de gestión de acceso que se conecta a tus datos
00:11:00y programa toda la aplicación Next.js usando v0. Sin embargo, cuando la despliegas, se desplegará
00:11:06en la infraestructura de Snowflake, supercerca, exactamente en el mismo lugar y junto a los datos.
00:11:14La razón de esto son los requisitos empresariales de cumplimiento, seguridad y velocidad.
00:11:22Vercel gestiona la aplicación en esa capa de autenticación mientras Snowflake maneja el cómputo y los datos.
00:11:29Otra cosa que quiero mostrarles es que
00:11:36cuando vayan a crear esta aplicación, por supuesto la usarán ustedes mismos, pero también
00:11:41pueden enviársela a miembros de su equipo o de su organización. Para ver la aplicación,
00:11:49tienen que iniciar sesión y autenticarse. Así que los datos que van a ver en esta aplicación
00:11:57son exactamente los datos que tienen permiso y derecho de ver. Por lo tanto, cuando envíen el enlace
00:12:02de este dashboard, solo las personas que tengan permisos verán esos datos.
00:12:11Para ahorrar tiempo, ya desplegué esta aplicación previamente; tomó 3 minutos y 43 segundos.
00:12:38No estoy seguro de por qué tarda más ahora, obviamente porque es una demo en vivo.
00:12:44Reinstalando dependencias...
00:12:49Esta es la aplicación que se desplegó con exactamente el mismo prompt: creó un dashboard
00:13:00del mercado de OPI. Pueden ver que es interactivo.
00:13:14Muy bien, está terminando esto.
00:13:27Ven 50 000 OPI en total, capital recaudado, años pico; pueden ver un excelente dashboard generado. Ahora pueden iterar sobre esto,
00:13:39y cuando lo publiquen,
00:13:42al visitar el sitio web, necesitan iniciar sesión. De eso trataban los permisos que les mencionaba.
00:13:50Para verlo, necesito autenticar qué permisos tengo en Snowflake, y está desplegado...
00:13:57no estoy seguro de si pueden ver la URL,
00:14:00pero está desplegado en snowflakecompute.app.
00:14:04Y cualquier otra persona que lo vea tendrá permisos diferentes, ¿de acuerdo?
00:14:10Bien.
00:14:16Ese fue el flujo básico. Jordan les mostrará una versión
00:14:22mucho mejor y más genial de lo que v0 es capaz de hacer.
00:14:27De acuerdo, voy a cambiar de
00:14:31portátil.
00:14:37Por cierto, ¿tienen alguna pregunta mientras...? Sí, allá hay una.
00:14:45Un momento, esperemos al micrófono.
00:14:49—Si tienes modelos semánticos definidos en algo como dbt Cloud, ¿hay alguna forma de vincularlos
00:14:54a esto para que las consultas que se generan y las tablas disponibles para que los modelos
00:15:01diseñen estén...?
00:15:05—¿Un modelo semántico para diseñar las consultas SQL, verdad? Sí, como si estuvieras usando dbt
00:15:11para gestionar el modelo en sí.
00:15:18Ah, perdón. ¿Podrías repetir la pregunta? —Sí, si estamos usando algo como dbt
00:15:25para las diferentes capas... supongamos que tienes una arquitectura Medallion en Snowflake,
00:15:30pero tienes una capa semántica de dbt y usas algo como dbt Cloud para gestionarla,
00:15:34¿hay forma de vincularlo a esto? —Sí, puedes indicarlo en el prompt. Creo que puedes influir
00:15:40o guiar el modelo porque todo está basado en LLM. Hay múltiples capas, como la capa de v0
00:15:46y luego, del lado de Snowflake, hay otra capa. Así que si quieres optimizar...
00:15:55hay muchas formas de hacerlo. Desde el prompt, desde evaluaciones si vas a producción.
00:16:02Esto es programación por instinto (vibe coding), muy rápido desde el prompt hasta la idea. Ya tienes lo que quieres,
00:16:08¿responde eso a tu pregunta? —Solo tenía curiosidad de si había algún tipo de integración de datos. —Sí la hay,
00:16:13de hecho hay una nativa también. Sí, existen.
00:16:23Sí, puedes ver en la observabilidad todo lo que sucede en la aplicación,
00:16:27tanto del lado de Snowflake como del lado de Vercel.
00:16:33Bien, para esta demo les muestro un vistazo rápido a algunos de los datos que voy a estar
00:16:41usando. Son datos de plantas de energía. En una situación típica, ejecutas una consulta como esta
00:16:48y obtienes mucha información: longitud, latitud, dónde están ubicadas estas plantas... difícil
00:16:55de entender a simple vista. Ya he creado esta app para ahorrar tiempo siguiendo los mismos pasos
00:17:01que vimos: eliges una cuenta (en este caso tengo varias cuentas de Snowflake, lo cual es común
00:17:07en clientes grandes, y pueden decidir por chat cuál quieren usar).
00:17:13Siguiendo por aquí, veamos si quiero hacer esto un poco más interesante, porque
00:17:20ahora mismo tiene algunos resúmenes y la tabla, pero si le digo “añadamos un globo terráqueo
00:17:30para la visualización
00:17:42y como estamos usando JavaScript y Next.js, debería ser capaz de encontrar librerías adecuadas para esto
00:17:50renderizar un globo, analizar las tablas existentes que
00:17:55vemos aquí, obtener la longitud y la latitud, y renderizar algo más interesante.
00:18:02Como requisito previo, ¿podemos explicar primero el conjunto de datos?
00:18:07—Sí, tenemos datos de plantas de energía en todo EE. UU. Tenemos esta fuente de datos compartida
00:18:15que puedes obtener del Snowflake Marketplace; puedes comprar conjuntos de datos
00:18:20y tener acceso a ellos con actualizaciones periódicas. Así puedes explorar
00:18:29aquí y ver. Creo que este es un conjunto de datos gratuito, ¿verdad? —Sí, es gratuito. Así que
00:18:37puedes comprar o usar los datos gratuitos disponibles. Es una excelente opción porque puedes
00:18:41combinar estos datos con los tuyos propios y obtener información mucho más detallada.
00:18:49También funcionan muy bien para las demostraciones.
00:18:55De acuerdo.
00:18:59Parece que funcionó.
00:19:04Bien, para presentar la información a la junta directiva, ejecutivos o clientes,
00:19:13se suelen usar dashboards tradicionales. Sin embargo, con esta integración y v0 puedes crear visualizaciones
00:19:23interactivas en tiempo real para tu dashboard y tu conjunto de datos,
00:19:29como esta, por ejemplo.
00:19:34Bien, ahora pasamos a la parte interactiva. Tenemos este conjunto de datos gratuito
00:19:41del Marketplace y podemos interactuar con el público. Si quieren probar alguno de sus
00:19:46prompts para visualizar datos, podemos hacer esa sesión, o pasar directamente a las preguntas si tienen alguna.
00:19:59¿Alguien tiene preguntas o quiere enviar un prompt para que lo ejecutemos? —Desde el punto de vista de las capacidades,
00:20:09¿puedes ejecutar modelos de regresión y construir pipelines aquí, o es
00:20:14más bien programación rápida para visualización exploratoria?
00:20:20—Puedo responder esta si quieres. Sí, esto es programación rápida por instinto para personas no técnicas.
00:20:28Sin embargo, me gusta tu pregunta, es genial. Yo...
00:20:35¿hay alguna integración...?
00:20:44De acuerdo.
00:20:47Normalmente v0 tiene integración con GitHub y puedes vincularlo a tu ciclo de vida normal de CI/CD o SDLC.
00:20:56Aquí puedes descargar el código. Esto es un prototipo: nos tomó... bueno, para Jordan y para mí en el
00:21:05escenario pareció una hora, pero en realidad tomó 1 minuto
00:21:11con 53 segundos. Fue superrápido y es mejor que los informes o dashboards típicos
00:21:19que se usan. Yo descargaría ese código y luego crearía evaluaciones con el modelo por detrás.
00:21:33Miren, es solo el modelo de v0 por detrás, no hay una app de IA con la que puedan chatear.
00:21:39En la diapositiva con la meta principal vieron que hay BI tradicional, componentes interactivos
00:21:46personalizados y el tercer pilar, que decidimos no mostrar por falta
00:21:51de tiempo, pero le puedes pedir a v0: “Oye, ¿puedes agregar la capacidad de chatear con mis datos?”
00:21:59y v0 lo entregará perfectamente. Luego haría evaluaciones y pipelines para mejorar... ya saben,
00:22:08no quieren alucinaciones en eso, pero ese es un caso de uso avanzado. Gracias por tu
00:22:14pregunta, muy buena.
00:22:19¿Quieren dar por terminada la sesión?
00:22:30—Cuando despliegas esto, ¿cómo funciona la autenticación?
00:22:35—Esa es una excelente pregunta.
00:22:38Sí, una vez desplegado, está en tu cuenta de Snowflake. No sé si están
00:22:41familiarizados con Snowflake, pero la autenticación de tu cuenta de
00:22:48Snowflake funciona de la siguiente manera: al visitar la app, te pedirá credenciales.
00:22:54Si tienes inicio de sesión único configurado, como en mi caso,
00:22:59simplemente me conecta a mi cuenta de Snowflake usando usuario y contraseña o inicio
00:23:04de sesión único. Todo lo demás ocurre dentro de Snowflake, por lo que ya no hay
00:23:10conexión con Vercel. No estás iniciando sesión en
00:23:13Vercel, está completamente en tu cuenta de Snowflake en ese punto.
00:23:19—Si es un equipo de usuarios de negocio no desarrolladores, para compartirlo con ellos
00:23:26tendrían que estar registrados en Snowflake, ¿verdad? —Sí, tendrían que estar en Snowflake.
00:23:32Snowflake está trabajando en formas de exponer estas apps a usuarios sin cuenta de Snowflake.
00:23:39Actualmente hay cierto soporte, pero vendrán más novedades porque es
00:23:42una necesidad clara para las apps en Snowflake. En general, puedes iniciar sesión
00:23:50y tener diferentes roles en la cuenta de Snowflake, pudiendo
00:23:56seleccionar en v0 qué roles usar para la aplicación en la configuración al conectar ambas
00:24:05aplicaciones. Es fundamental que los usuarios finales solo vean los datos que tienen
00:24:12derecho a ver. Ese problema está resuelto y puedes programar tus dashboards teniendo eso
00:24:20en mente, lo cual es genial en mi opinión. Ahí lo tienen: tienes esos roles y puedes copiarlos
00:24:29o decirle a v0 que use solo esos roles para esta aplicación. Gracias por tu
00:24:36pregunta. —Cuidado, es tu cuenta, amigo. —Literalmente está tomando fotos.
00:24:48Sí, esas estaban buenas. Quería preguntarte algo: si
00:25:00quisieras crear componentes como este y colocarlos en una app de Next.js desplegada en Vercel,
00:25:09básicamente componentes que consulten datos de Snowflake, ¿es posible o no con esta configuración?
00:25:19—Sí, es posible. —De acuerdo. —Pregunta rápida: ¿quiénes de aquí usan v0?
00:25:31Bien. ¿Y quiénes usan Snowflake o son clientes de Snowflake?
00:25:41Hay más clientes de Snowflake aquí, genial. A diferencia de Londres. Para responder a tu
00:25:48pregunta: aquí están los componentes estilo shadcn, este es el explorador de plantas. ¿Dónde está el globo?
00:25:59Probablemente por aquí, en la carpeta app tal vez.
00:26:08En las API o en alguna de las páginas... está anidado dentro de alguno
00:26:13de esos componentes.
00:26:18¿Generó todo el globo en un intento? Sí, ahí está. Son 167 líneas de componentes de UI,
00:26:27así que tienes este código, puedes descargarlo e iterar sobre él.
00:26:34Fue generado de una sola vez. La primera versión fue el prompt inicial y luego
00:26:44agregar el globo fue otro prompt (versión 2), porque en v0 se nombran v1, v2, etc. ¿Responde eso a tu pregunta?
00:26:52—Sí, genial. Gracias.
00:26:58Podemos mostrar más si quieren. En v0 tienen acceso directo...
00:27:04por cierto, probablemente verán toda la base de datos a la que tienen acceso.
00:27:08Es una cuenta de prueba, no hay problema. Así que pueden explorar su
00:27:15base de datos dentro de v0, lo que significa que también pueden chatear con su base de datos sin necesidad de
00:27:21desplegar ninguna app ni mostrar dashboards: pueden chatear literalmente con sus datos.
00:27:29Tal vez necesites conectarte de nuevo; creo que hay demasiadas tablas en esta
00:27:34cuenta. También pueden ejecutar consultas SQL directamente desde v0. Habrá
00:27:45más funcionalidades en el futuro, pero personalmente creo que poder
00:27:51programar dashboards interactivos geniales rápidamente es la clave.
00:27:58Así es.
00:28:01Creo que eso es todo. Si quieren probar esto, contacten a Vercel o a Snowflake.
00:28:10Muchas gracias por asistir hoy.