Zacznij terazZacznij za darmo

Konfigurowanie wyników dla wielu narzędzi

Graf chatbota jest gotowy do działania! Możesz teraz przetestować, jak chatbot radzi sobie z różnymi zapytaniami wymagającymi użycia różnych narzędzi. Aby zarządzać wiadomościami chatbota, odpowiednie moduły zostały już zaimportowane, a parametry config skonfigurowano dla jednej sesji.

from langchain_core.messages import AIMessage, HumanMessage

config = {"configurable": {"thread_id": "1"}}

To ćwiczenie jest częścią kursu

Projektowanie systemów agentowych z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz słownik wiadomości inputs, w którym zapytanie użytkownika (query) będzie przekazane jako content do HumanMessage.
  • Przesyłaj strumieniowo msg i metadata z chatbota app, iterując po wynikach za pomocą metody .stream() z argumentami inputs i config.
  • Sprawdź, czy każde msg ma content i nie jest obiektem HumanMessage, a następnie wyświetl jego content z flush ustawionym na True, aby natychmiast drukować wyniki.
  • Przetestuj chatbota, wywołując multi_tool_output() z zapytaniami wymagającymi użycia różnych narzędzi.

Interaktywne ćwiczenie praktyczne

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

# 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?")
Edytuj i uruchom kod