trendr_bot

О
Ответьте на вопросы естественного языка о том, что является трендом в поиске Google. Этот проект демонстрирует, как построить базовый агент ИИ, чтобы ответить на открытые вопросы естественного языка путем интеграции большого количества структурированных данных с LLM.
Вот логический взгляд:

Объяснение:
- Шаг 1: На основе ввода пользователя используйте LLM, чтобы проверить соответствующий источник данных
- Шаг 2: Запросите соответствующий источник данных. Если соответствующий источник данных не существует, сообщите пользователю и выручите.
- Шаг 3: Возьмите результаты вывода данных и предоставьте его для контекста, чтобы попросить LLM ответить на вопрос
- Шаг 4: вернуть результаты пользователю
Вот пользовательский интерфейс браузера после развертывания приложения:

Демо
Попробуйте Live Demo, размещенную на GCP Cloud Run Run на tinyurl.com/trendr-bot.
Настраивать
Установите необходимые пакеты:
pip install -r requirements.txt
В зависимости от ваших предпочтений, либо установите переменные вашей среды для Google Cloud:
export GCP_PROJECT=
export GCP_REGION=
Или обновить config.ini :
[Cloud Configs]
GCP_PROJECT = ADD_HERE
Это приложение развернуто в виде потокового веб -интерфейса. Развернуть локально следующим образом:
streamlit run app.py
--browser.serverAddress=localhost
--server.enableCORS=false
--server.enableXsrfProtection=false
--server.port 8080
Для развертывания на GCP Cloud Run, обновите переменные в сценарии GCP_CLOUD_RUN_DEPLOY.SH и выполнить:
./gcp_cloud_run_deploy.sh
Использование
После того, как приложение работает в браузере, вы можете задать основные вопросы, такие как:
Question: What are the top 10 trends in the US for the latest available data? Simply list them in bullet points.
Отвечать:
- OJ Симпсон
- Реал Мадрид против Ман -Сити
- Мастера 2024
- Общее затмение 2024
- UFC 300
- Пердью баскетбол
- Powerball
- PSG против Барселоны
- Лига чемпионов
- В какое время затмение
Или вы можете задать более сложные, нюансированные вопросы (с ограничениями):
Question: Are there noticeable differences in trends between European and Asian countries?
Отвечать:
Различия в тренде между Европой и Азией:
Основываясь на предоставленных данных о тенденциях поиска Google с недели 7 апреля 2024 года, мы можем наблюдать некоторые заметные различия в трендах между европейскими и азиатскими странами:
Европа:
- Доминирование футбола . Большая часть лучших тенденций связана с европейскими футбольными лигами и матчами, такими как Лига чемпионов («Лига де Чемпионы», «Лига Мистрезоу» и т. Д.), И конкретные игры, такие как «Man United vs Liverpool». Это указывает на сильный интерес к футболу в европейском регионе.
- Процент солнечного затмения : несколько европейских стран проявляют интерес к предстоящему солнечному затмению 8 апреля 2024 года, с такими обысками, как «Eclipsa de Soare 2024 Румыния» и «Sonnenfinternis 2024».
- Региональные события : некоторые тенденции подчеркивают региональные события или личности, такие как «Wybory Samorządowe 2024» (польские местные выборы) и «אבשלום פלד» (израильская личность).
Азия:
- Разнообразие тем : по сравнению с Европой, главные тенденции в Азии демонстрируют более широкий спектр интересов. В то время как футбол («Человек Юнайтед Ливерпуль», «Арсенал ấu Với Bayner») и Солнечное затмение («Герхана Матахари 8 апреля 2024 года») присутствует, также есть сочетание развлечений, культурных событий и личностей.
- Развлечения и культура : поиски, такие как «桜花賞» (японская скачка), «KKR против CSK» (матч крикета Индийской Премьер -лиги) и «버거킹 와퍼 판매 종료 이유» (причины для Burger King Whopper в Корее) направлены на различные развлечения и культурные интересы.
- Религиозные обряды : присутствие «Идул Фиттри 2024» и связанные с ним обыски, такие как «Ниат Шолат Идул Фитри» в нескольких азиатских странах, указывают на значение этого религиозного праздника в регионе.
Заключение:
В то время как существует некоторое совпадение в трендовых темах, особенно с такими крупными событиями, как солнечное затмение и популярные виды спорта, европейские тенденции в большей степени склонны к футболу, в то время как азиатские тенденции демонстрируют более широкий спектр интересов, охватывающих развлечения, культуру и религию.
Ограничения
Не ожидайте идеальных результатов для любых вопросов. Некоторые ограничения включают:
- Общедоступный набор данных Google Trends спорадически обновляется
- Даже полное 1 -метровое окно контекста, предоставленное Gemini 1.5 Pro, не достаточно велик, чтобы содержать весь общедоступный набор данных Google Trends, поэтому результаты запроса обычно усекаются при отправке для анализа
- При ограниченных точках данных, как это предусмотрено, LLM часто размышляет о категоризации или контексте тенденций
- Только основываясь на неотъемлемой архитектуре, способность LLM выполнять точные расчеты ограничена
- Исполнение может занять до 1 минуты. Простая оптимизация заключается в том, чтобы кэшировать результаты BigQuery, но два запроса Gemini 1.5 Pro, второе из которых имеет большой контекст, займет некоторое время независимо от времени.
Технический
- LLM : Gemini 1.5 Pro (вы можете попробовать другие LLMS, но им нужно очень большое окно контекста)
- Хранилище данных : BigQuery
- Источник данных : BigQuery Google Trends
- Веб -фреймворк :
- Веб -хостинг (необязательно) : GCP Cloud Run