Trendr_bot

Sobre
Responda a perguntas sobre o idioma natural sobre o que está tendendo na pesquisa do Google. Este projeto demonstra como criar um agente de IA básico para responder a perguntas de linguagem natural aberta, integrando uma grande quantidade de dados estruturados com um LLM.
Aqui está uma visão lógica:

Explicação:
- Etapa 1: Com base na entrada do usuário, use um LLM para verificar uma fonte de dados relevante
- Etapa 2: consulte a fonte de dados correspondente. Se a fonte de dados relevante não existir, informe ao usuário e resgate.
- Etapa 3: pegue os resultados da saída de dados e forneça -o para o contexto para pedir ao LLM para responder à pergunta
- Etapa 4: retorne os resultados ao usuário
Aqui está a interface do usuário do navegador assim que o aplicativo for implantado:

Demonstração
Experimente a demonstração ao vivo hospedada no GCP Cloud Run em tinyurl.com/trendr-bot.
Configurar
Instale os pacotes necessários:
pip install -r requirements.txt
Dependendo da sua preferência, defina suas variáveis de ambiente para o Google Cloud:
export GCP_PROJECT=
export GCP_REGION=
Ou atualizar config.ini :
[Cloud Configs]
GCP_PROJECT = ADD_HERE
Este aplicativo é implantado como uma interface da Web Streamlit. Implantar localmente da seguinte maneira:
streamlit run app.py
--browser.serverAddress=localhost
--server.enableCORS=false
--server.enableXsrfProtection=false
--server.port 8080
Para implantar no GCP Cloud Run, atualize as variáveis no script gcp_cloud_run_deplay.sh e execute:
./gcp_cloud_run_deploy.sh
Uso
Depois que o aplicativo estiver em execução no navegador, você pode fazer perguntas básicas como:
Question: What are the top 10 trends in the US for the latest available data? Simply list them in bullet points.
Responder:
- OJ Simpson
- Real Madrid vs Man City
- Masters 2024
- Eclipse total 2024
- UFC 300
- Basquete Purdue
- Powerball
- PSG vs Barcelona
- Liga dos Campeões
- Que horas é o eclipse
Ou você pode fazer perguntas mais complexas e diferenciadas (com limitações) também:
Question: Are there noticeable differences in trends between European and Asian countries?
Responder:
Diferenças de tendência entre a Europa e a Ásia:
Com base nos dados de tendências de pesquisa do Google fornecidos da semana de 7 de abril de 2024, podemos observar algumas diferenças notáveis nos tópicos de tendência entre países europeus e asiáticos:
Europa:
- Domínio do futebol : grande parte das principais tendências refere -se a ligas e partidas européias de futebol, como a Liga dos Campeões ("Ligue des Champions", "Liga Mistrzów", etc.) e jogos específicos como "Man United vs Liverpool". Isso indica um forte interesse no futebol na região européia.
- Interesse do Eclipse Solar : Vários países europeus mostram interesse no próximo eclipse solar em 8 de abril de 2024, com pesquisas como "Eclipsa de Soare 2024 Romênia" e "Sonnenfinsternis 2024".
- Eventos regionais : Algumas tendências destacam eventos ou personalidades regionais, como "Wybory Samorządowe 2024" (eleições locais polonesas) e "אבשלום פלד" (uma personalidade israelense).
Ásia:
- Variedade de tópicos : em comparação com a Europa, as principais tendências da Ásia exibem uma variedade maior de interesses. Enquanto o futebol ("Man Utd Liverpool", "Arsenal ấu với Bayern") e o Eclipse Solar ("Gerhana Matahari, 8 de abril de 2024") estão presentes, também há uma mistura de entretenimento, eventos culturais e personalidades.
- Entretenimento e cultura : pesquisas como "桜花賞" (uma corrida de cavalos japonesas), "KKR vs CSK" (uma partida de críquete da Premier League indiana) e "버거킹 와퍼 판매 종료 이유" (razões para a descontinuação do rei Burger na Coréia) apontam para diversos interesses e interesses culturais.
- Observâncias religiosas : a presença de "Idul Fitri 2024" e pesquisas relacionadas como "Niat Sholat Idul Fitri" em vários países asiáticos indica o significado desse feriado religioso na região.
Conclusão:
Embora exista alguma sobreposição nos tópicos de tendência, principalmente com grandes eventos como o eclipse solar e os esportes populares, as tendências européias se enchem mais para o futebol, enquanto as tendências asiáticas mostram uma ampla gama de interesses que abrangem entretenimento, cultura e religião.
Limitações
Não espere resultados perfeitos para todas e quaisquer perguntas. Algumas limitações incluem:
- O conjunto de dados público do Google Trends é atualizado esporadicamente
- Mesmo a janela completa de contexto de 1M fornecida pelo Gemini 1.5 Pro não é grande o suficiente para conter a totalidade do conjunto de dados público do Google Trends, portanto, os resultados da consulta geralmente são truncados ao enviar para análise
- Com pontos de dados limitados conforme fornecido, o LLM geralmente especula sobre a categorização ou contexto de tendências
- Apenas com base na arquitetura inerente, a capacidade do LLM de realizar cálculos precisos é limitada
- A execução pode levar até 1 minuto. Uma otimização simples seria armazenar em cache os resultados do BigQuery, mas as duas solicitações Pro Gemini 1.5 Pro, a segunda das quais tem um grande contexto, levará algum tempo independentemente.
Tecnologia
- LLM : Gemini 1.5 Pro (você pode experimentar outros LLMs, mas eles precisam de uma janela de contexto muito grande)
- Data Warehouse : BigQuery
- Fonte de dados : BigQuery Google Trends Public DataSet
- Web Framework : Streamlit
- Hosting da web (opcional) : GCP Cloud Run