Zacznij terazZacznij za darmo

Zadawaj pytania o historię rozmowy

Dzięki podstawowemu agentowi ReAct w LangChain możesz zadawać pytania uzupełniające, przechowując historię rozmowy agenta. Ponieważ model językowy ma dostęp do wszystkich poprzednich wiadomości, możesz teraz zadawać nowe pytania, a agent wykorzysta pełny kontekst rozmowy do udzielenia odpowiedzi.

Teraz zadasz pytanie uzupełniające dotyczące boków innego trójkąta.

Aby móc korzystać z możliwości HumanMessage i AIMessage, następujące moduły zostały już za ciebie zaimportowane: HumanMessage, AIMessage.

To ćwiczenie jest częścią kursu

Projektowanie systemów agentowych z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Przypisz podane pytanie w języku naturalnym do zmiennej new_query.
  • Wywołaj obiekt app, przekazując wszystkie wiadomości, w tym message_history oraz new_query.
  • Użyj wyrażenia listowego, aby wyodrębnić z response["messages"] wiadomości oznaczone jako HumanMessage lub AIMessage.
  • Przekaż nowe zapytanie jako dane wejściowe i wydrukuj wyodrębnione wiadomości, podając klasy wiadomości do klucza "agent_output".

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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 ____]
})
Edytuj i uruchom kod