¡Hola y bienvenido/a a este vídeo! Hoy exploraremos cómo hacer llamadas de API en Python a tu flujo de trabajo de Flowise. Esto te permitirá conectar tu chatbot o cualquier otro flujo directamente desde tu propio código, abriendo un mundo de posibilidades para integraciones personalizadas.
Básicamente, vamos a exponer tu flujo como un endpoint de API.
¿Qué Necesitas?
- Python instalado en tu sistema.
- La librería
requests
. Si no la tienes, es muy fácil de instalar. Simplemente abre tu terminal y escribe:Bashpip install requests
Paso 1: Tu Primer Script de Python para Interactuar con Flowise
- Obtén el Código de la API desde Flowise:
- Abre el flujo que deseas usar (por ejemplo, nuestro Chatbot RAG).
- Haz clic en el icono de API (suele ser un rayo o un icono similar) en la barra de herramientas superior.
- Se abrirá un panel con fragmentos de código en varios lenguajes. Selecciona la pestaña Python.
- Prepara tu Archivo de Python:
- En tu editor de código, crea un nuevo archivo llamado
workflow_api.py
. - Copia el código que te proporciona Flowise y pégalo en tu archivo.
- En tu editor de código, crea un nuevo archivo llamado
Entendiendo el Código
El código que copiaste es muy simple y se divide en tres partes:
Python
import requests
# 1. La URL de tu API
API_URL = "http://localhost:3000/api/v1/prediction/TU_CHATFLOW_ID"
# 2. Una función para hacer la consulta
def query(payload):
response = requests.post(API_URL, json=payload)
return response.json()
# 3. La ejecución de la consulta
output = query({
"question": "Hey, how are you?",
})
# 4. Imprimir la respuesta
print(output)
- API_URL: Es la dirección única de tu flujo.
- Función
query
: Esta función envía una solicitudPOST
a tu flujo con la pregunta del usuario (payload
). - Llamada a la función: Aquí es donde definimos la pregunta que queremos enviar.
- Imprimir
output
: Muestra la respuesta completa de la API.
Ejecutando y Refinando la Respuesta
- Guarda el archivo.
- En tu terminal, ejecuta el script:Bash
python workflow_api.py
- Verás una respuesta en formato JSON, algo así como:
{'text': 'Hola, soy un asistente basado en tu documento...'}
. - Normalmente, solo nos interesa el texto de la respuesta. Modifiquemos el script para obtener solo eso. Cambia la línea
print(output)
por:Pythonprint(output.get("text"))
- Vuelve a ejecutar el script. ¡Ahora solo verás la respuesta limpia del chatbot!
Paso 2: Creando una Interfaz Web con Streamlit
Hacer llamadas desde la terminal está bien, pero ¿qué tal si creamos una interfaz de chat simple para interactuar con nuestra API? Usaremos Streamlit, una librería de Python que te permite crear aplicaciones web en minutos.
- Instala Streamlit:Bash
pip install streamlit
- Crea un nuevo archivo: Nómbralo
app.py
. - Escribe el Código de la Aplicación: Copia la función
query
y laAPI_URL
de tu script anterior, y añade el código de la interfaz de Streamlit.
Python
import requests
import streamlit as st
# La misma URL y función de antes
API_URL = "http://localhost:3000/api/v1/prediction/TU_CHATFLOW_ID"
def query(payload):
response = requests.post(API_URL, json=payload)
return response.json()
# --- Interfaz de Streamlit ---
st.title("Mi Chatbot Personalizado con Flowise 🤖")
st.write("Este chat se conecta directamente a mi flujo de RAG a través de una API.")
# Campo de entrada para el usuario
user_input = st.text_input("Haz una pregunta sobre mi documento:")
# Botón para enviar la pregunta
if st.button("Enviar"):
if user_input:
# Llama a la API con la entrada del usuario
response = query({"question": user_input})
# Muestra la respuesta del chatbot
st.write("Respuesta del Asistente:")
st.success(response.get("text"))
else:
st.error("Por favor, introduce una pregunta.")
Ejecutando tu Aplicación Web
- Guarda el archivo
app.py
. - En la terminal, ejecuta el siguiente comando:Bash
streamlit run app.py
- ¡Y listo! Se abrirá una nueva pestaña en tu navegador con una interfaz de chat simple y funcional. Escribe una pregunta, presiona «Enviar» y verás la respuesta de tu flujo de Flowise en tiempo real.
Conclusión
¡Felicidades por completar el curso! Hoy has aprendido a:
- Exponer tu flujo de Flowise como un endpoint de API.
- Interactuar con esa API usando Python y la librería
requests
. - Crear una interfaz web personalizada para tu chatbot usando Streamlit.
Esta es la habilidad clave que te permite integrar la potencia de Flowise en cualquier aplicación, sistema o flujo de trabajo que puedas imaginar.
¡Gracias por acompañarnos en este viaje y mucho éxito en tus proyectos de IA!