IniziaInizia gratis

Fai domande sulla cronologia della conversazione

Con un agente ReAct di base in LangChain, puoi fare domande di follow-up mantenendo la cronologia della conversazione dell'agente. Poiché l'LLM ha accesso a tutti i messaggi precedenti, ora puoi fare nuove domande e l'agente può usare tutto il contesto dei messaggi per rispondere.

Ora farai una domanda di follow-up sui lati di un triangolo diverso.

Per poter usare le funzionalità di HumanMessage e AIMessage, i seguenti moduli sono già stati importati per te: HumanMessage, AIMessage.

Questo esercizio fa parte del corso

Progettare sistemi agentici con LangChain

Visualizza il corso

Istruzioni dell'esercizio

  • Assegna la domanda in linguaggio naturale fornita a new_query.
  • Invoca l'oggetto app, passando tutti i messaggi, inclusi message_history e new_query.
  • Usa una list comprehension per estrarre i messaggi da response["messages"] etichettati come HumanMessage o AIMessage.
  • Passa la nuova query come input e stampa i messaggi estratti passando le classi dei messaggi a "agent_output".

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

message_history = response["messages"]
____ = "What about one with sides 12 and 14?"

# Invoke the app with the full message history
response = app.____({"messages": ____ + [("human", ____)]})

# Extract the human and AI messages from the result
filtered_messages = [msg for msg in ____["____"] if isinstance(msg, (____, ____)) and msg.content.strip()]

# Pass the new query as input and print the final outputs
print({
    "user_input": ____,
    "agent_output": [f"{msg.____.____}: {msg.content}" for msg in ____]
})
Modifica ed esegui il codice