Configura los resultados para varias herramientas
¡El grafo de tu chatbot está listo! Ahora puedes probar cómo funciona con distintas consultas que deberían requerir herramientas diferentes. Para gestionar los mensajes de tu chatbot, ya se han importado los siguientes módulos y los parámetros de config de tu chatbot se han establecido 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 agénticos con LangChain
Instrucciones del ejercicio
- Crea un diccionario de mensaje
inputscon laquerydel usuario comocontentparaHumanMessage. - Transmite
msgymetadatadesde laappdel chatbot iterando sobre los resultados con el método.stream()incorporandoinputsyconfig. - Comprueba si cada
msgtienecontenty no es unHumanMessage; luego imprime sucontentconflushestablecido enTruepara obtener la salida al instante. - Prueba el chatbot usando
multi_tool_output()con consultas que requieran distintas herramientas.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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?")