tendr_bot

Acerca de
Responda preguntas de lenguaje natural sobre lo que está en tendencia en la búsqueda de Google. Este proyecto demuestra cómo construir un agente de IA básico para responder preguntas de lenguaje natural abierto integrando una gran cantidad de datos estructurados con un LLM.
Aquí hay una vista lógica:

Explicación:
- Paso 1: Según la entrada del usuario, use un LLM para verificar una fuente de datos relevante
- Paso 2: consulte la fuente de datos coincidente. Si la fuente de datos relevante no existe, dígale al usuario y rescate.
- Paso 3: tome los resultados de la salida de datos y proporcione un contexto para pedirle a la LLM que responda la pregunta
- Paso 4: devuelva los resultados al usuario
Aquí está la interfaz de usuario del navegador una vez que se implementa la aplicación:

Manifestación
Pruebe la demostración en vivo alojada en GCP Cloud Run en tinyurl.com/trendr-bot.
Configuración
Instalar paquetes requeridos:
pip install -r requirements.txt
Dependiendo de su preferencia, establezca sus variables de entorno para Google Cloud:
export GCP_PROJECT=
export GCP_REGION=
O actualizar config.ini :
[Cloud Configs]
GCP_PROJECT = ADD_HERE
Esta aplicación se implementa como una interfaz web de transmisión. Implementar localmente de la siguiente manera:
streamlit run app.py
--browser.serverAddress=localhost
--server.enableCORS=false
--server.enableXsrfProtection=false
--server.port 8080
Para implementar en la ejecución de la nube GCP, actualice las variables en el script gcp_cloud_run_deploy.sh y ejecute:
./gcp_cloud_run_deploy.sh
Uso
Una vez que la aplicación se ejecuta en el navegador, puede hacer preguntas básicas como:
Question: What are the top 10 trends in the US for the latest available data? Simply list them in bullet points.
Respuesta:
- OJ Simpson
- Real Madrid vs Man City
- Masters 2024
- Eclipse total 2024
- UFC 300
- Baloncesto de Purdue
- Powerball
- PSG vs Barcelona
- Liga de Campeones
- ¿A qué hora es el eclipse?
O también puede hacer preguntas más complejas y matizadas (con limitaciones):
Question: Are there noticeable differences in trends between European and Asian countries?
Respuesta:
Diferencias de tendencia entre Europa y Asia:
Según los datos proporcionados de las tendencias de búsqueda de Google de la semana del 7 de abril de 2024, podemos observar algunas diferencias notables en temas de tendencia entre los países europeos y asiáticos:
Europa:
- Dominio del fútbol : una gran parte de las principales tendencias se relaciona con las ligas y partidos de fútbol europeos, como la Liga de Campeones ("Ligue des Champions", "Liga Mistrzów", etc.), y juegos específicos como "Man United vs Liverpool". Esto indica un gran interés en el fútbol dentro de la región europea.
- Interés del eclipse solar : varios países europeos muestran interés en el próximo eclipse solar el 8 de abril de 2024, con búsquedas como "Eclipsa de Soare 2024 Rumania" y "Sonnenfinsternis 2024".
- Eventos regionales : algunas tendencias destacan eventos o personalidades regionales, como "Wybory Samorządowe 2024" (elecciones locales polacas) y "אבשלום פלד" (una personalidad israelí).
Asia:
- Variedad de temas : en comparación con Europa, las principales tendencias en Asia exhiben una variedad más amplia de intereses. Mientras que el fútbol ("Man Utd Liverpool", "Arsenal ấu Với Bayern") y el eclipse solar ("Gerhana Matahari 8 de abril de 2024") están presentes, también hay una mezcla de entretenimiento, eventos culturales y personalidades.
- Entretenimiento y cultura : búsquedas como "桜花賞" (una carrera de caballos japonesa), "KKR vs CSK" (un partido de cricket de la Premier League de la India) y "버거킹 와퍼 판매 종료 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 이유 eléctrica eléctrica electrónico eléctricos eléctricos eléctricos) eléctricos electrónico apunten hacia diversos intereses laborales y culturales.
- Observancias religiosas : la presencia de "Idul Fitri 2024" y búsquedas relacionadas como "Niat Sholat Idul Fitri" en varios países asiáticos indica la importancia de esta fiesta religiosa en la región.
Conclusión:
Si bien hay cierta superposición en los temas de tendencia, particularmente con eventos importantes como el eclipse solar y los deportes populares, las tendencias europeas se inclinan más hacia el fútbol, mientras que las tendencias asiáticas muestran una gama más amplia de intereses que abarcan el entretenimiento, la cultura y la religión.
Limitaciones
No esperes resultados perfectos para todas y cada una de las preguntas. Algunas limitaciones incluyen:
- El conjunto de datos públicos de Google Trends se actualiza esporádicamente
- Incluso la ventana de contexto de 1M completa proporcionada por Gemini 1.5 Pro no es lo suficientemente grande como para contener la totalidad del conjunto de datos públicos de Google Trends, por lo que los resultados de la consulta generalmente se truncan al enviar para su análisis
- Con puntos de datos limitados según lo dispuesto, el LLM a menudo especulará sobre la categorización o el contexto de las tendencias
- Basado en la arquitectura inherente, la capacidad de la LLM para realizar cálculos precisos es limitada
- La ejecución puede tomar hasta 1 minuto. Una optimización simple sería almacenar en caché los resultados de BigQuery, pero las dos solicitudes de Gemini 1.5 Pro, la segunda de las cuales tienen un gran contexto, llevará algún tiempo independientemente.
Técnico
- LLM : Gemini 1.5 Pro (puede probar otros LLM, pero necesitan una ventana de contexto muy grande)
- Almacén de datos : BigQuery
- Fuente de datos : BigQuery Google Trends DataSet Public DataSet
- Marco web : Streamlit
- Hosting web (opcional) : GCP Cloud Run