लचीले फंक्शन कॉलिंग के लिए नोड्स और एजेज़ परिभाषित करना

LangChain के साथ Agentic Systems डिज़ाइन करना

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

मल्टी-टूल वर्कफ़्लो बनाना

   

  • कई उपलब्ध टूल

    • पैलिन्ड्रोम
    • ऐतिहासिक घटनाएँ
    • Wikipedia

पूरा चैटबॉट वर्कफ़्लो

LangChain के साथ Agentic Systems डिज़ाइन करना

वर्कफ़्लो फंक्शन परिभाषित करें

   

  • एक स्टॉपिंग फंक्शन बनाएँ

चैटबॉट और टूल नोड्स का चैटबॉट वर्कफ़्लो.

LangChain के साथ Agentic Systems डिज़ाइन करना

वर्कफ़्लो फंक्शन परिभाषित करें

   

  • एक स्टॉपिंग फंक्शन बनाएँ

    • टूल कॉल्स जाँचें

स्टॉपिंग फंक्शन नियम हाइलाइटेड.

LangChain के साथ Agentic Systems डिज़ाइन करना

वर्कफ़्लो फंक्शन परिभाषित करें

   

  • एक स्टॉपिंग फंक्शन बनाएँ

    • टूल कॉल्स जाँचें
    • न हों तो बातचीत समाप्त करें

वर्कफ़्लो में END नियम हाइलाइटेड

LangChain के साथ Agentic Systems डिज़ाइन करना

वर्कफ़्लो फंक्शन परिभाषित करें

   

  • एक स्टॉपिंग फंक्शन बनाएँ

    • टूल कॉल्स जाँचें
    • न हों तो बातचीत समाप्त करें    
  • एक डायनेमिक टूल कॉलर बनाएँ

    • टूल कॉल हो तो टूल का रिस्पॉन्स लौटाएँ

Call_model नियम हाइलाइटेड.

LangChain के साथ Agentic Systems डिज़ाइन करना

वर्कफ़्लो फंक्शन परिभाषित करें

   

  • एक स्टॉपिंग फंक्शन बनाएँ

    • टूल कॉल्स जाँचें
    • न हों तो बातचीत समाप्त करें    
  • एक डायनेमिक टूल कॉलर बनाएँ

    • टूल कॉल हो तो टूल का रिस्पॉन्स लौटाएँ
    • टूल कॉल न हों तो केवल चैटबॉट नोड के साथ LLM इनवोक करें

Call_model नियम हाइलाइटेड.

LangChain के साथ Agentic Systems डिज़ाइन करना

वर्कफ़्लो फंक्शन परिभाषित करें

   

  • एक स्टॉपिंग फंक्शन बनाएँ

    • टूल कॉल्स जाँचें
    • न हों तो बातचीत समाप्त करें    
  • एक डायनेमिक टूल कॉलर बनाएँ

    • टूल कॉल हो तो टूल का रिस्पॉन्स लौटाएँ
    • टूल कॉल न हों तो केवल चैटबॉट नोड के साथ LLM इनवोक करें
  • पूरा ग्राफ कम्पाइल करें

Call_model नियम हाइलाइटेड.

LangChain के साथ Agentic Systems डिज़ाइन करना

स्टॉप कंडीशन फंक्शन बनाएँ

from langgraph.graph import MessagesState, START, END


# स्टॉपिंग फंक्शन की स्टेट परिभाषित करने के लिए MessagesState का उपयोग करें def should_continue(state: MessagesState):
# स्टेट से आखिरी संदेश प्राप्त करें last_message = state["messages"][-1]
# जाँचें कि आखिरी संदेश में टूल कॉल्स हैं या नहीं if last_message.tool_calls: return "tools"
# यदि कोई टूल कॉल नहीं है तो बातचीत समाप्त करें return END
LangChain के साथ Agentic Systems डिज़ाइन करना

डायनेमिक टूल कॉलर बनाएँ

# हिस्ट्री से आखिरी संदेश निकालें
def call_model(state: MessagesState):

last_message = state["messages"][-1]
# यदि आखिरी संदेश में टूल कॉल्स हैं, तो टूल का रिस्पॉन्स लौटाएँ if isinstance(last_message, AIMessage) and last_message.tool_calls:
# टूल कॉल से प्राप्त संदेश लौटाएँ return {"messages": [AIMessage(content=last_message.tool_calls[0]["response"])]]}
# अन्यथा, सामान्य LLM रिस्पॉन्स के साथ आगे बढ़ें return {"messages": [model_with_tools.invoke(state["messages"])]}
LangChain के साथ Agentic Systems डिज़ाइन करना

ग्राफ बनाएँ

workflow = StateGraph(MessagesState)












LangChain के साथ Agentic Systems डिज़ाइन करना

ग्राफ बनाएँ

workflow = StateGraph(MessagesState)


# चैटबॉट और टूल्स के लिए नोड्स जोड़ें workflow.add_node("chatbot", call_model) workflow.add_node("tools", tool_node)

चैटबॉट और टूल नोड्स.

LangChain के साथ Agentic Systems डिज़ाइन करना

ग्राफ बनाएँ

workflow = StateGraph(MessagesState)


# चैटबॉट और टूल्स के लिए नोड्स जोड़ें workflow.add_node("chatbot", call_model) workflow.add_node("tools", tool_node)
# START नोड को चैटबॉट से जोड़ें workflow.add_edge(START, "chatbot")

START नोड चैटबॉट से जोड़ें.

LangChain के साथ Agentic Systems डिज़ाइन करना

ग्राफ बनाएँ

workflow = StateGraph(MessagesState)


# चैटबॉट और टूल्स के लिए नोड्स जोड़ें workflow.add_node("chatbot", call_model) workflow.add_node("tools", tool_node)
# START नोड को चैटबॉट से जोड़ें workflow.add_edge(START, "chatbot")
# कंडीशन परिभाषित करें, फिर चैटबॉट पर लूप करें workflow.add_conditional_edges("chatbot", should_continue, ["tools", END])

कंडीशन जोड़े हुए ग्राफ.

LangChain के साथ Agentic Systems डिज़ाइन करना

ग्राफ बनाएँ

workflow = StateGraph(MessagesState)


# चैटबॉट और टूल्स के लिए नोड्स जोड़ें workflow.add_node("chatbot", call_model) workflow.add_node("tools", tool_node)
# START नोड को चैटबॉट से जोड़ें workflow.add_edge(START, "chatbot")
# कंडीशन परिभाषित करें, फिर चैटबॉट पर लूप करें workflow.add_conditional_edges("chatbot", should_continue, ["tools", END])
workflow.add_edge("tools", "chatbot")

पूरा ग्राफ वर्कफ़्लो.

LangChain के साथ Agentic Systems डिज़ाइन करना

मेमोरी जोड़ना

# मेमोरी सेट करें और वर्कफ़्लो कम्पाइल करें
memory = MemorySaver()

app = workflow.compile( checkpointer=memory)
display(Image(app.get_graph() .draw_mermaid_png()))

पूरा ग्राफ वर्कफ़्लो.

LangChain के साथ Agentic Systems डिज़ाइन करना

अभ्यास करते हैं!

LangChain के साथ Agentic Systems डिज़ाइन करना

Preparing Video For Download...