Chatbot de Predicción de Fútbol

Aprende a construir un chatbot modular de predicción de fútbol potenciado por IA con FlowHunt y la API de Sportradar para obtener información y predicciones deportivas en tiempo real.

Chatbot de Predicción de Fútbol

Un Asistente Inteligente de Predicción

Nuestro objetivo era claro: crear un chatbot que tome una consulta del usuario (como nombres de equipos), obtenga diversos datos de Sportradar, los analice con IA y presente una predicción estructurada:

Soccer prediction assistant flow diagram

Gestión de la Complejidad

Como puedes ver en el diagrama de flujo a continuación, integrar múltiples puntos de datos (detalles del próximo partido, historial cara a cara, estadísticas de los equipos) y procesarlos para el análisis de IA puede llevar a un flujo de trabajo muy grande y potencialmente difícil de manejar si se construye de forma monolítica.

Complex soccer prediction workflow diagram

Construir y mantener un flujo tan grande puede ser un desafío. ¿Cómo lo gestionamos? Dividiéndolo en partes.

Diseño Modular con Herramientas Personalizadas mediante ‘Run Flow’

En lugar de un flujo gigante, adoptamos un enfoque modular utilizando una potente función de FlowHunt: el componente Run Flow. Este componente permite que un flujo (el “principal”) ejecute otro flujo (el “hijo” o “sub-flujo”) y reciba sus resultados.

Creamos varios flujos más pequeños y dedicados, cada uno actuando como una herramienta personalizada responsable de una sola tarea:

  1. Herramienta “Obtener Detalles del Próximo Partido” (Sub-Flujo):

    • Entrada: Toma parámetros como IDs de equipos o ID de partido.
    • Acción: Contiene un nodo de Solicitud HTTP configurado para llamar al endpoint específico de la API de Sportradar y obtener horarios y detalles de próximos partidos.
    • Salida: Devuelve datos estructurados sobre el partido próximo específico (fecha, hora, sede, competición, etc.).
    • [Imagen: Captura conceptual o diagrama simplificado de un pequeño flujo con Entrada -> Solicitud HTTP (Sportradar Schedule) -> Salida]
  2. Herramienta “Obtener Historial Cara a Cara” (Sub-Flujo):

    • Entrada: Toma parámetros como los IDs de los dos equipos que compiten.
    • Acción: Contiene un nodo de Solicitud HTTP configurado para llamar al endpoint de la API de Sportradar y recuperar resultados de partidos pasados entre esos equipos.
    • Salida: Devuelve una lista estructurada de partidos históricos, incluyendo fechas, marcadores y ganadores.
    • [Imagen: Captura conceptual o diagrama simplificado de un pequeño flujo con Entrada -> Solicitud HTTP (Sportradar History) -> Salida]
  3. (Opcional) Otras Herramientas: Se pueden crear sub-flujos similares para obtener la forma actual del equipo, posiciones en la liga, estadísticas de jugadores, etc., cada uno llamando a los endpoints relevantes de Sportradar.

Paso 1: Construcción de los Sub-Flujos Herramientas Personalizadas

Cada sub-flujo se construye de forma independiente, centrándose únicamente en su tarea específica de obtención de datos. Esto los hace más fáciles de crear, probar y mantener.

Paso 2: Orquestación con el Flujo Principal

Nuestro flujo principal de chatbot ahora es mucho más limpio. Actúa como orquestador:

  1. Entrada de Chat: Captura la consulta inicial del usuario (por ejemplo, nombres de equipos).
  2. Agente de IA: El nodo central de Agente de IA (por ejemplo, Tool Calling Agent) recibe las salidas de ambos componentes Run Flow.
  3. Run Flow (Obtener Próximo Partido): Creando herramientas personalizadas basadas en los diferentes endpoints de la API de Sportradar.
  4. Salida de Chat: Muestra el análisis final del Agente de IA.
Orchestrating modular flows

Paso 3: Indicar al IA que Use las Salidas de Herramientas

El Agente de IA en el flujo principal ahora recibe una instrucción diferente. En lugar de recibir datos sin procesar de la API, recibe las salidas estructuradas de nuestras herramientas personalizadas. La instrucción le indica que sintetice información de estas salidas específicas de herramientas:

You are a helpful assistant that uses the tools at its disposal to answer questions you answer questions about YOURCOMPANY.xyz but also about soccer games and giving predictions based on the info you receive from the tools at your disposal, YOU ARE AN ASSISTANT ON A BETTING WEBSITE SO MAKE SURE TO ANSWER ONLY RELEVANT QUESTIONS ABOUT YOURCOMPANY.xyz , OR BETTING, SPORTS, AND CASINOS IN GENERAL.

TOOLS:

when a user asks for any information that requires you to use tools and to have competitor_id or competition id or even season id give the name of the team IN ENGLISH AND TRANSLATE TO ENGLISH IF ITS NOT to seasons_tool and it will give you the teams all the mentioned ids.

If the user asked about todays games or questions about todays games theres no need to ask any additional questions. ALWAYS AND ALWAYS use the todays_matches tool and give the user EVERY SINGLE match that hasn’t happened yet ALONG WITH TEAM NAMES AND COMPETITOR ID. BUT dont forget that no matter when using this tool give matches that haven’t happened yet never give match results for games that are already concluded.

if the user wanted predictions for an upcoming match use the predictions_tool and give it the only their competitor id for both teams THIS IS THE SAME id YOU OBTAINED FROM THE seasons_tool (format: competitor_id_1=ABC and competitor_id_2=XYZ) give the user detailed prediction rating based on the info you recieved and also output the sr:sport_event id . if the user asked more questions about this specific game you should give the match_info tool the sr:sport_event id in order to extract information about that match. give a detailed prediction based on the data you have and an estimated precentage on who will mostlikely win and who the user should bet on. IF YOU ALREADY DONT HAVE THE COMPETITOR ID IN YOUR HISTORY YOU CAN ASK THE USER FOR THE TEAM NAMES.

USE DOCUMENT RETRIEVER TO ANSWER GENERAL QUERIES IF THERE ARE NO ANSWERS IN DOCUMENT RETRIEVER YOU CAN ALSO USE GOOGLE SEARCH TOOL AND URL RETRIEVER TO ANSWER USER QUERIES WHEN YOU DONT KNOW WHAT TO ANSWER.

you can use team_info tool to gather information about a team but you should send the tool the team’s competitor id.

if you want standings of a current league or who is going to go to the next round or specific information on a team in this season of the current league you can use the standings_tool by obtaining the season id from the seasons_tool by giving this tool the name of the league or team and giving it to the standings_tool BUT KEEP IN MIND THAT IF THERE ARE 2 TEAMS and we are talking about stats and yellow cards in a specific game YOU STELL HAVE TO USE THE predictions_tool

if the user asked about detailed info like corner amount or red cards or etc. you can obtain season id and competitor id from seasons tool and give it to detail_stats tool to get all that information. If the user asked questions that you couldnt find within your tools you can search google for answers. WHEN GIVING REPORT OF OUTPUT OF A TOOL, ALWAYS MAKE SURE TO INCLUIDE EVERY SINGLE DETAIL OF THE TOOL OUTPUT FOR THE USER REGARDLESS OF USER’S INPUT INCLUDE THE FOLLOWING DATA IF ACCESSIBLE: YELLOW CARD corner_kicks offsides OWN GOALS substituted_out substituted_in shots_on_target shots_off_target shots_blocked red_cards own_goals goals_scored

El Resultado: Complejidad Gestionada

Al usar Run Flow para crear herramientas personalizadas modulares, transformamos un flujo de trabajo potencialmente masivo y difícil de depurar en un sistema manejable. El flujo principal orquesta claramente la recopilación de datos, y el agente IA se centra puramente en el análisis usando los datos limpios y estructurados proporcionados por los sub-flujos dedicados. Este enfoque entregó la salida de predicción detallada deseada mientras mantenía el proceso de desarrollo organizado.

Conclusión: Construye de Forma Inteligente, No Más Difícil

Este chatbot de predicción con Sportradar demuestra cómo FlowHunt permite la creación de aplicaciones de IA sofisticadas que interactúan con fuentes de datos externas. Más importante aún, destaca cómo características como el componente Run Flow son cruciales para gestionar la complejidad mediante un diseño modular. Al dividir tareas grandes en flujos más pequeños y reutilizables como “herramientas personalizadas”, puedes construir soluciones de IA potentes, mantenibles y escalables de manera más efectiva.

¿Listo para abordar flujos de trabajo complejos? ¡Explora FlowHunt.io y aprovecha la modularidad para crear tu próxima aplicación impulsada por IA!

Comienza con tu primer flujo

Flowhunt cuenta con un equipo de ingenieros de flujos de IA listos para ayudarte con la Automatización de IA.

Prueba Flowhunt
Habla con un Experto

Preguntas frecuentes

¿Cómo funciona el Chatbot de Predicción de Fútbol?

El chatbot utiliza los componentes modulares Run Flow de FlowHunt para recopilar datos de la API de Sportradar, analizar datos históricos y en tiempo real de fútbol, y ofrecer predicciones estructuradas de partidos usando IA.

¿Cuáles son los beneficios de usar flujos modulares en el diseño de chatbots?

Los flujos modulares facilitan la construcción, prueba y mantenimiento de sistemas de IA complejos al dividir grandes tareas en herramientas personalizadas reutilizables, mejorando la escalabilidad y la gestión.

¿Puedo usar FlowHunt para crear otros bots de predicción deportiva?

Sí, la plataforma flexible sin código de FlowHunt y su enfoque modular te permiten crear chatbots predictivos para una variedad de deportes y casos de uso conectando diferentes fuentes de datos y componentes de IA.

Arshia es ingeniera de flujos de trabajo de IA en FlowHunt. Con formación en ciencias de la computación y una pasión por la IA, se especializa en crear flujos de trabajo eficientes que integran herramientas de IA en las tareas cotidianas, mejorando la productividad y la creatividad.

Arshia Kahani
Arshia Kahani
Ingeniera de flujos de trabajo de IA

Comienza con FlowHunt

Empieza a crear tus propios chatbots y herramientas predictivas impulsadas por IA con la plataforma sin código de FlowHunt.

Saber más