Configura salidas para varias herramientas
¡El gráfico de tu chatbot está listo! Ahora puedes probar cómo funciona el chatbot con diferentes consultas que deberían requerir diferentes herramientas. Para gestionar los mensajes de tu chatbot, ya se han importado los siguientes módulos y se han configurado los parámetros config
de tu chatbot para una sesión.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Este ejercicio forma parte del curso
Diseño de Sistemas Agenéticos con LangChain
Instrucciones de ejercicio
- Crea un diccionario de mensajes
inputs
con elquery
del usuario comocontent
paraHumanMessage
. - Transmite
msg
ymetadata
desde el chatbotapp
iterando sobre los resultados mediante el método.stream()
que incorporainputs
yconfig
. - Comprueba si cada
msg
tienecontent
y no es unHumanMessage
, luego imprime sucontent
conflush
ajustado aTrue
para una impresión de salida inmediata. - Prueba el chatbot utilizando
multi_tool_output()
con consultas que requieran diferentes herramientas.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Create input message with the user's query
def multi_tool_output(____):
inputs = {"messages": [____(____=____)]}
# Stream messages and metadata from the chatbot application
for ____, ____ in app.____(____, ____, stream_mode="messages"):
# Check if the message has content and is not from a human
if ____.____ and not isinstance(____, ____):
print(____.____, end="", flush=____)
print("\n")
# Call the chatbot with different tools
____("Is `may a moody baby doom a yam` a palindrome?")
____("What happened on 20th July, 1969?")