1. Antes de comenzar
En este codelab, se te guiará para que uses la API de Conversational Analytics (API de CA) con Looker y compiles tu propia aplicación de chat para consultar datos. Para obtener el mayor valor, debes conocer BigQuery, Looker, los LLM y los agentes, y Python.
Qué aprenderás
Después de completar este codelab, habrás aprendido lo siguiente:
- Cómo usar Conversational Analytics con Looker
- Cómo configurar y usar la app de inicio rápido de Conversational Analytics en Python (y cómo funciona la app)
- Beneficios de usar Looker para el modelado semántico con Conversational Analytics
Requisitos
Para completar este codelab, necesitarás lo siguiente:
- Una instancia de Looker con el bloque de Looker de datos demográficos de ASC instalado
- Acceso a la API y de desarrollador a tu instancia de Looker
- Un entorno local con Python 3.11 o versiones posteriores, Git y gcloud instalados
- Un proyecto de Cloud con estos roles de IAM configurados para tu cuenta de usuario:
roles/bigquery.dataViewerVisualizador de datos de BigQueryroles/bigquery.userUsuario de BigQueryroles/looker.instanceUserUsuario de la instancia de Looker
2. Crea y prueba tu app de chat con BigQuery
Primero, configuremos y probemos la app de inicio rápido de Conversational Analytics con BigQuery como fuente de datos.
Autentica y habilita las APIs de Cloud
- Autentícate de forma local con tu cuenta de usuario:
gcloud auth login
- Habilita las APIs del proyecto de Cloud. Reemplaza
YOUR_PROJECT_IDpor el ID de tu proyecto de Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Configura las credenciales predeterminadas de la aplicación (ADC) y la facturación:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Configura la app de inicio rápido
- Clona el repositorio de GitHub de inicio rápido en tu entorno local. Consulta el siguiente comando de ejemplo:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Navega al directorio
ca-api-quickstartsque clonaste:
cd ca-api-quickstarts
- Crea un archivo
secrets.tomlen el directorio.streamlit.YOUR_LOOKER_CLIENT_IDyYOUR_LOOKER_CLIENT_SECRETdeben ser tu ID de cliente de Looker y tu secreto de cliente de Looker de tu instancia de Looker. El contenido del archivo debe ser el siguiente:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Puedes usar el siguiente comando de ejemplo para crear el archivo. Asegúrate de reemplazar los valores por tu ID del proyecto, ID del cliente y secreto del cliente:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- Instala los requisitos de Python de la app de inicio rápido:
pip install -r requirements.txt
- Ejecuta la app de inicio rápido:
streamlit run app.py
- Abre https://localhost:8501 en el navegador que prefieras.
Prueba la app de inicio rápido
Ahora te encuentras en la página de agentes de la app de inicio rápido. No tienes agentes de datos disponibles.
- Ahora, creemos un agente de datos que hable como un pirata en el formulario Create Agent:
- Configura el campo Nombre visible:
Pirate BQ Agent
- Establece el campo Instrucciones del sistema:
You are a pirate. Answer questions like a pirate
- Selecciona la opción BigQuery.
- Configura el campo Proyecto:
bigquery-public-data
- Configura el campo Dataset:
google_trends
- Configura el campo Tabla:
top_rising_terms
- Selecciona Create agent.
- Ahora, naveguemos a la página de chat a través del menú de navegación principal de la izquierda. Nuestro agente creado recientemente está disponible para chatear. Para iniciar un chat, agrega una instrucción o un mensaje: "Hola, ¿cómo estás?".
- Ahora, aprendamos un poco sobre este conjunto de datos: "¿De qué trata este conjunto de datos?".
- Haz otra pregunta, como la siguiente:
- "¿Qué ubicaciones de [Enter State] hay en el conjunto de datos?"
- "¿Me puedes dar los datos de las últimas 2 semanas para [Ciudad, Estado]?"
- "¿Puedes crear una visualización?"
Acabas de tener una conversación de varios turnos con tu agente de datos y tus datos de BigQuery en tu propia aplicación de chat.
3. Modela y explora tus datos en Looker
Ahora, modelaremos y exploraremos los mismos datos de BigQuery en Looker.
Consulta los datos del censo de BigQuery
¿Qué sucede cuando nos conectamos a un conjunto de datos relacional más grande? Primero, crearemos un agente nuevo.
- Regresa al formulario Create Agent de la página de agentes.
- Configura el campo Nombre visible:
BQ Census Agent
- Establece el campo Instrucciones del sistema:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- Selecciona la opción BigQuery.
- Configura el campo Proyecto:
bigquery-public-data
- Configura el campo Dataset:
census_bureau_acs
- Configura el campo Tabla:
blockgroup_2018_5yr
- Selecciona Create agent.
- Hazle al agente recién creado las siguientes dos preguntas:
- “¿Qué datos tienen?”
- "¿Pueden mostrarme una vista previa de mis datos?"
Usa Looker para modelar los datos del censo
Ahora usaremos un modelo de LookML para definir los datos del censo de BigQuery. Resolveremos los problemas que acabamos de ver.
- Regístrate en tu instancia de Looker
- Para acceder a los archivos de bloques de datos demográficos de la ACS, navega por el menú de navegación principal de la izquierda, selecciona Develop y, luego, marketplace_acs_census-v2.
- Veamos una vista de Looker. Abre los directorios
imported_project,acs_census-v2ygeography. - Por último, abre el archivo
cbsa.view. - En la línea 17, podemos ver que LookML está creando una tabla derivada. En otras palabras, este código crea una tabla nueva y combinada uniendo dos conjuntos de datos públicos de BigQuery, uno con datos del censo y otro con datos de límites geográficos. LookML nos permite unir varios conjuntos de datos creando una tabla derivada persistente para consultar.
Además, la unión se define en código versionable (LookML) en lugar de instrucciones del sistema, lo que hace que el desarrollo de agentes sea más escalable. Con LookML, puedes definir suposiciones y restricciones específicas en torno a tus datos para ayudar a los usuarios a chatear con ellos a través de un agente de datos.
Explora los datos del censo modelados en Looker
Ejecutemos una consulta rápida en Explorar para demostrar que tenemos una fuente de datos centralizada para consultar.
- En el menú de navegación principal de la izquierda, selecciona Explorar, luego Bloque de datos del censo y, por último, Estado y condado.
- Selecciona la medida Educación > Título de asociado.
- Selecciona las siguientes dimensiones:
- Ubicación geográfica > Grupo de manzanas
- Geografía > Condado > Nombre del condado
- Ubicación geográfica > Estado > Estado
- Ejecuta la búsqueda (en la parte superior derecha) y verás que esos IDs geográficos (llamados "Block Group") ahora están asociados con cadenas legibles.
- Abre la pestaña de visualización y verás estos datos en un mapa.
4. Prueba la app de chat con Looker
Ahora, crearemos un agente de datos para Looker.
- Navega al formulario Create Agent de la página del agente de tu app de inicio rápido:
- Configura el campo Nombre visible:
Cartoon character data analyst
- Configura el campo Instrucciones del sistema:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Selecciona la opción Looker.
- Establece el campo Url en la URL de tu instancia de Looker: "https://…".
- Configura el campo Modelo:
data_block_acs_bigquery
- Configura el campo Explorar:
cbsa
- Selecciona Create agent.
- Navega a la página de chat y selecciona el agente recién creado.
- Para iniciar un chat, agrega una instrucción o un mensaje: "Hola, ¿cómo estás?".
- Preguntémosle al agente que describa el conjunto de datos: "¿Qué datos tienes disponibles?".
- Hagamos algunas preguntas más:
- "¿Qué condado de Nueva York tiene la mayor población?"
- "¿Y qué hay de la mayor cantidad de graduados de la escuela secundaria per cápita?"
- "¿Puedes decirme la población por género y estado?".
- "¿Me gustaría ver un gráfico de barras de los 10 estados con mayor población?"
5. ¿Qué más puede hacer la app de inicio rápido?
Ahora tienes lo siguiente:
- Configura la app de chat de forma local
- Se crearon un agente de datos de BigQuery y un agente de datos de Looker.
- Conversaciones mantenidas con tus agentes de datos
- Aprendiste sobre los beneficios del modelado semántico de Looker como contexto para tus chats.
Probemos las otras capacidades de la app de inicio rápido:
- Vuelve a cargar la página web de la app de inicio rápido y navega a la página de chat.
- Puedes ver tus conversaciones anteriores con todos sus mensajes respectivos de tus agentes de BigQuery y Looker. El frontend de la app no almacena las conversaciones ni los mensajes anteriores, sino que los recupera de la API de la CA.
- Ahora navega a la página de agentes y selecciona tu agente de Looker en la lista.
- Puedes actualizar la configuración del agente o borrarlo si lo deseas. No se almacenan agentes en el frontend de la app.
6. Desafíos opcionales y exploración adicional
Si quieres, puedes aprovechar esta oportunidad para familiarizarte con Conversational Analytics y la app de inicio rápido, o bien desafiarte a modificar la app de inicio rápido. Puedes probar algunas de las siguientes sugerencias y desafíos, o bien avanzar a la sección final.
Familiarízate más con la API de la CA y la app de inicio rápido
- Obtén más información sobre las instrucciones detalladas del sistema para controlar el comportamiento de tu agente.
- Configura otro agente de datos que apunte a un nuevo conjunto de datos de BigQuery.
- Instala un nuevo bloque de Looker en tu instancia de Looker, crea un agente y dirígelo a un nuevo conjunto de datos de Looker.
Desafíos de modificación de la app de inicio rápido
- ¿Conoces la incorporación de Looker? Si es así, intenta incorporar un panel de Looker en la app de inicio rápido. Considera usar el componente iframe de Streamlit.
- Busca un conjunto de datos públicos que contenga URLs de videos y actualiza la lógica de renderización del chat de la app para mostrar un video en el chat.
7. Conclusión y puntos clave
¡Completaste la trivia! Creaste una app de chat, creaste agentes de datos y chateaste con tus datos, todo con la API de Conversational Analytics. Repasemos algunas capacidades y conceptos clave.
Capacidades de Conversational Analytics
Analizamos muchas de las funciones de Conversational Analytics, como las siguientes:
- Crear, actualizar, enumerar, obtener y borrar agentes de datos
- Dirige los agentes de datos a BigQuery o Looker como fuente de datos.
- Crea, enumera y obtén conversaciones y sus respectivos mensajes.
- Produce especificaciones de gráficos de Vega para la visualización envolvente en conversaciones.
- Usar los mensajes anteriores de una conversación como contexto útil para los mensajes futuros
Beneficios de usar Looker con la API de CA
Looker proporciona un modelado semántico centralizado, verificable y gobernado de tus datos. En combinación con Conversational Analytics, Looker proporciona una forma escalable de brindar contexto a tus agentes de datos.
Próximos pasos
- Consulta la documentación de Conversational Analytics para obtener más guías, funciones y casos de uso.
- Mantente al día y contribuye al repositorio de la aplicación de inicio rápido.