Zacznij terazZacznij za darmo

Zdefiniuj funkcję zatrzymującą chatbota

Teraz, gdy stan chatbota jest już skonfigurowany, trzeba zbudować funkcje zarządzające przepływem pracy w grafie chatbota. Na początek stworzysz funkcję should_continue(), która sprawdza, czy w ostatniej wiadomości chatbota w obiekcie state (załadowanym już za ciebie) znajdują się wywołania narzędzi. Jeśli nie ma żadnych wywołań narzędzi, chatbot zatrzymuje się. Jeśli narzędzie zostało wywołane, chatbot przechodzi do następnego zadania. Do zarządzania wiadomościami zaimportowano dla ciebie następujące moduły.

from langgraph.graph import MessagesState, START, END

To ćwiczenie jest częścią kursu

Projektowanie systemów agentowych z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Określ typ wejściowy parametru state, używając MessagesState.
  • Uzyskaj dostęp do ostatniej wiadomości z state, używając klucza "messages", aby sprawdzić wywołania narzędzi.
  • Sprawdź, czy ostatnia wiadomość zawiera tool_calls, i określ wartość zwracaną jako "tools", jeśli warunek jest spełniony.
  • Określ wartość zwracaną jako END, aby zakończyć rozmowę, gdy nie ma żadnych tool_calls.

Interaktywne ćwiczenie praktyczne

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

# Use MessagesState to define the state of the function
def should_continue(state: ____):
    
    # Get the last message from the state
    last_message = ____["____"][____]
    
    # Check if the last message includes tool calls
    if ____.____:
        return "____"
    
    # End the conversation if no tool calls are present
    return ____
Edytuj i uruchom kod