Zacznij terazZacznij za darmo

Tworzenie grafu przepływu pracy dla wielu narzędzi

Elementy składowe twojego grafu chatbota są już gotowe! Teraz połączysz wszystkie węzły w jeden przepływ pracy, używając krawędzi do zarządzania połączeniami między nimi. Na dobry początek graf przepływu pracy został już skonfigurowany z MessagesState i StateGraph() do śledzenia aktualizacji wiadomości chatbota. Funkcja display() do renderowania grafu jako diagramu LangGraph również jest gotowa, a MemorySaver został już zaimportowany.

from langgraph.graph import StateGraph
from langgraph.checkpoint.memory import MemorySaver

workflow = StateGraph(MessagesState)

To ćwiczenie jest częścią kursu

Projektowanie systemów agentowych z LangChain

Zobacz kurs

Instrukcje do ćwiczenia

  • Dodaj call_model jako węzeł z etykietą "chatbot" oraz tool_node z etykietą "tools".
  • Zdefiniuj krawędź łączącą węzeł START z węzłem "chatbot".
  • Dodaj warunkowe krawędzie z węzła "chatbot" do węzłów "tools" i END, używając should_continue, a następnie połącz węzeł "tools" z powrotem z węzłem "chatbot".
  • Utwórz instancję MemorySaver() i skompiluj przepływ pracy do postaci aplikacji z mechanizmem checkpointer obsługującym pamięć.

Interaktywne ćwiczenie praktyczne

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

# Add nodes for chatbot and tools
workflow.add_node("____", ____)
workflow.add_node("____", ____)

# Define an edge connecting START to the chatbot
workflow.add_edge(____, "____")

# Define conditional edges and route "tools" back to "chatbot"
workflow.add_conditional_edges("____", ____, ["____", ____])
workflow.add_edge("____", "____")

# Set up memory and compile the workflow
memory = ____()
app = workflow.____(checkpointer=____)

try:
    display(Image(graph.get_graph().draw_mermaid_png()))

except Exception:
    print("Plot generation failed... falling back to cached asset.")
    display_fallback()
Edytuj i uruchom kod