1. Прежде чем начать
В этом практическом занятии вы познакомитесь с использованием API анализа разговоров (CA API) с Looker для создания собственного чат-приложения для запросов к данным. Для получения максимальной пользы вам необходимо быть знакомым с BigQuery, Looker, LLM-модулями и агентами, а также с Python.
Что вы узнаете
После выполнения этого практического задания вы узнаете:
- Как использовать разговорную аналитику с Looker
- Как настроить и использовать приложение для быстрого запуска Conversational Analytics Python (и как работает это приложение)
- Преимущества использования Looker для семантического моделирования с помощью разговорной аналитики.
Что вам понадобится
Для выполнения этого практического задания вам потребуется:
- Экземпляр Looker с установленным блоком Looker для демографических данных ASC.
- API и доступ для разработчиков к вашему экземпляру Looker.
- Локальная среда с установленными Python версии 3.11+, Git и gcloud.
- Облачный проект с настроенными для вашей учетной записи пользователя ролями IAM:
-
roles/bigquery.dataViewerBigQuery Data Viewer -
roles/bigquery.userПользователь BigQuery -
roles/looker.instanceUserLooker Instance User
2. Создайте и протестируйте свое приложение для чата с помощью BigQuery.
Для начала давайте настроим и протестируем приложение для быстрого запуска Conversational Analytics, используя BigQuery в качестве источника данных.
Аутентификация и активация облачных API
- Пройдите локальную аутентификацию с помощью своей учетной записи пользователя:
gcloud auth login
- Включите API облачных проектов. Пожалуйста, замените
YOUR_PROJECT_IDна идентификатор вашего проекта Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Настройка учетных данных приложения по умолчанию (ADC) и выставления счетов:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Настройте приложение быстрого запуска.
- Клонируйте репозиторий quickstart на GitHub в свою локальную среду. См. пример команды ниже:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Перейдите в клонированную директорию
ca-api-quickstarts:
cd ca-api-quickstarts
- Создайте файл
secrets.tomlв каталоге.streamlit. В поляхYOUR_LOOKER_CLIENT_IDиYOUR_LOOKER_CLIENT_SECRETдолжны быть указаны идентификатор клиента Looker и секретный ключ клиента Looker из вашего экземпляра Looker. Содержимое файла должно быть следующим:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Для создания файла можно использовать следующую команду (пример). Обязательно замените значения на идентификатор вашего проекта, идентификатор клиента и секретный ключ клиента:
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
- Установите необходимые зависимости Python для приложения быстрого запуска:
pip install -r requirements.txt
- Запустите приложение быстрого запуска:
streamlit run app.py
- Откройте https://localhost:8501 в любом браузере.
Попробуйте приложение для быстрого запуска.
Вы находитесь на странице агентов приложения для быстрого запуска. У вас нет доступных агентов данных.
- Теперь давайте создадим агента данных, который будет говорить как пират, используя форму «Создать агента» :
- Задайте поле «Отображаемое имя» :
Pirate BQ Agent
- Установите поле « Системные инструкции» :
You are a pirate. Answer questions like a pirate
- Выберите опцию BigQuery .
- Установите поле «Проект» :
bigquery-public-data
- Установите поле " Набор данных" :
google_trends
- Настройте поле таблицы :
top_rising_terms
- Выберите «Создать агента» .
- Теперь перейдём на страницу чата через левую панель навигации. Наш недавно созданный агент доступен для общения. Давайте начнём чат, добавив сообщение: "Здравствуйте, как дела?"
- Теперь давайте немного узнаем об этом наборе данных: «О чём этот набор данных?»
- Задайте ещё один вопрос — что-то вроде этого:
- Какие населенные пункты [Укажите штат] включены в набор данных?
- «Не могли бы вы предоставить данные за последние 2 недели по [город, штат]?»
- "Вы можете создать визуализацию?"
Вы только что завершили многоэтапный диалог со своим агентом данных и данными BigQuery в собственном чат-приложении.
3. Моделируйте и анализируйте свои данные в Looker.
Теперь давайте смоделируем и проанализируем те же данные BigQuery в Looker.
Запрос к данным переписи населения в BigQuery
Что произойдет, если мы подключимся к более крупному реляционному набору данных? Сначала мы создадим нового агента.
- Вернитесь к форме «Создать агента » на странице агентов.
- Задайте поле «Отображаемое имя» :
BQ Census Agent
- Установите поле « Системные инструкции» :
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
- Выберите опцию BigQuery .
- Установите поле «Проект» :
bigquery-public-data
- Установите поле " Набор данных" :
census_bureau_acs
- Настройте поле таблицы :
blockgroup_2018_5yr
- Выберите «Создать агента» .
- Задайте новоназначенному агенту оба этих вопроса:
- «Какие данные у вас есть?»
- «Не могли бы вы показать мне предварительный просмотр моих данных?»
Используйте Looker для моделирования данных переписи населения.
Теперь мы будем использовать модель LookML для определения данных переписи населения из BigQuery. Мы решим проблемы, которые только что рассматривали.
- Войдите в свою учетную запись Looker.
- Чтобы получить доступ к файлам с демографическими данными ACS, перейдите в главное меню слева, выберите «Разработка» , а затем выберите marketplace_acs_census-v2 .
- Давайте посмотрим на представление Looker. Откройте каталог
imported_project, каталогacs_census-v2и каталогgeography. - Наконец, откройте файл
cbsa.view. - В строке 17 мы видим, что LookML создает производную таблицу. Другими словами, этот код создает новую, объединенную таблицу путем соединения двух общедоступных наборов данных BigQuery: одного с данными переписи населения, а другого — с данными о географических границах. LookML позволяет объединять несколько наборов данных, создавая постоянную производную таблицу для запросов.
Кроме того, объединение данных определяется в версионируемом коде (LookML), а не в системных инструкциях, что делает разработку агентов более масштабируемой. С помощью LookML вы можете задавать конкретные предположения и ограничения в отношении ваших данных, чтобы поддерживать пользователей при взаимодействии с вашими данными через агента данных.
Изучите смоделированные данные переписи населения, полученные с помощью Looker.
Давайте быстро выполним запрос в окне Explore, чтобы продемонстрировать, что у нас есть один централизованный источник данных для запросов.
- В левом главном навигационном меню выберите «Исследовать» , затем «Блок данных переписи населения», а затем «Штат и округ».
- Выберите раздел «Образование» > «Степень младшего специалиста» .
- Выберите следующие размеры:
- География > Группа кварталов
- География > Округ > Название округа
- География > Штат > Штат .
- Выполните запрос (вверху справа), и вы увидите, что эти географические идентификаторы (называемые «Группа блоков») теперь связаны с удобочитаемыми строками.
- Откройте вкладку «Визуализация», и вы увидите эти данные на карте.
4. Попробуйте приложение для чата с Looker.
Теперь давайте создадим агент данных для Looker.
- Перейдите на страницу агента вашего приложения быстрого запуска, где находится форма «Создать агента» :
- Задайте поле «Отображаемое имя» :
Cartoon character data analyst
- Установите значение поля « Системная инструкция »:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Выберите опцию Looker .
- В поле Url укажите URL-адрес вашего экземпляра Looker: "https://..."
- Установите поле «Модель» :
data_block_acs_bigquery
- Установите поле «Исследовать» :
cbsa
- Выберите «Создать агента» .
- Перейдите на страницу чата и выберите только что созданного агента.
- Давайте начнём чат, добавив сообщение: "Привет, как дела?"
- Давайте попросим агента описать набор данных: «Какие данные у вас есть в наличии?»
- Давайте зададим ещё несколько вопросов:
- «В каком округе штата Нью-Йорк проживает наибольшее население?»
- «А как насчет наибольшего количества выпускников средней школы на душу населения?»
- «Не могли бы вы предоставить данные о численности населения по полу и штатам?»
- «Я хотел бы увидеть столбчатую диаграмму с десятью штатами, имеющими наибольшую численность населения?»
5. Что еще может делать приложение для быстрого запуска?
Вы уже:
- Настройте приложение чата локально.
- Созданы агент данных BigQuery и агент данных Looker.
- Проводил беседы с вашими агентами обработки данных.
- Узнал о преимуществах семантического моделирования Looker в качестве контекста для ваших чатов.
Давайте опробуем другие возможности приложения для быстрого запуска:
- Перезагрузите веб-страницу приложения быстрого запуска и перейдите на страницу чата.
- Вы можете просмотреть свои прошлые беседы со всеми соответствующими сообщениями как из вашего агента BigQuery, так и из агента Looker. Фронтенд приложения не хранит прошлые беседы или сообщения, а получает их из API CA.
- Теперь перейдите на страницу агентов и выберите своего агента Looker из списка.
- Вы можете обновить конфигурацию агента или удалить его, если хотите. В интерфейсе приложения агенты не хранятся.
6. Дополнительные задания и дальнейшее изучение.
При желании вы можете воспользоваться этой возможностью, чтобы ознакомиться с аналитикой разговоров и приложением для быстрого запуска. Или же поставьте перед собой задачу модифицировать приложение для быстрого запуска. Вы можете попробовать выполнить некоторые из следующих предложений и заданий или перейти к заключительному разделу.
Ознакомьтесь поближе с API центра сертификации и приложением для быстрого запуска.
- Узнайте больше о подробных системных инструкциях по управлению поведением вашего агента .
- Настройте еще один агент данных, указывающий на новый набор данных BigQuery.
- Установите новый блок Looker в свой экземпляр Looker, создайте агента и укажите ему новый набор данных Looker.
Задачи по быстрой модификации приложений
- Вы знакомы с встраиванием Looker? Если да, попробуйте встроить панель мониторинга Looker в приложение для быстрого запуска. Рассмотрите возможность использования компонента iframe от Streamlit .
- Найдите общедоступный набор данных, содержащий URL-адреса видео, и обновите логику отображения чата в приложении, чтобы в чате отображалось видео.
7. Заключение и выводы
Вы дошли до конца! Вы создали чат-приложение, разработали агентов обработки данных и общались с вашими данными, используя API Conversational Analytics. Давайте рассмотрим некоторые ключевые возможности и концепции!
Возможности анализа диалогов
Мы уже рассмотрели многие возможности анализа разговорной речи, такие как:
- Создание, обновление, перечисление, получение и удаление агентов данных.
- Направьте агентов обработки данных либо на BigQuery, либо на Looker в качестве источника данных.
- Создавайте, отображайте и получайте переписки и соответствующие им сообщения.
- Разработайте спецификации диаграммы Вега для наглядной визуализации в ходе диалогов.
- Используйте предыдущие сообщения в разговоре в качестве полезного контекста для будущих сообщений.
Преимущества использования Looker с API CA
Looker предоставляет централизованное, тестируемое и управляемое семантическое моделирование ваших данных. В сочетании с разговорной аналитикой Looker обеспечивает масштабируемый способ предоставления контекста для ваших агентов данных.
Что дальше?
- Для получения дополнительной информации, ознакомления с функциями и примерами использования, посетите документацию по анализу разговорной речи .
- Будьте в курсе последних обновлений и вносите свой вклад в репозиторий приложения quickstart .