शुरू करेंमुफ़्त में शुरू करें

LLM रिस्पॉन्स लौटाने के लिए एक फंक्शन बनाएँ

अब आपके चैटबॉट के पास कई टूल उपलब्ध हैं। फिर भी, जब पूछा गया सवाल इन टूल्स से असंबंधित हो, तब अकेले LLM को इनवोक करना उपयोगी रहता है। आप अब एक फंक्शन परिभाषित करेंगे जो बातचीत के आखिरी मैसेज में संभावित टूल कॉल्स को जाँचेगा। अगर कोई टूल कॉल न मिले, तो चैटबॉट सीधे LLM का उपयोग करके उत्तर देगा। यूज़र के प्रश्नों और चैटबॉट के उत्तरों—दोनों—को सँभालने के लिए, अलग-अलग प्रकार के मैसेज हैंडल करने हेतु आपके लिए निम्न मॉड्यूल इम्पोर्ट किए गए हैं.

from langchain_core.messages import AIMessage, HumanMessage

यह अभ्यास पाठ्यक्रम का हिस्सा है

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

पाठ्यक्रम देखें

अभ्यास निर्देश

  • "messages" का उपयोग करके state से आखिरी मैसेज एक्सेस करें.
  • एक कंडीशनल लिखें जो जाँचे कि last_message एक AIMessage है और इस मैसेज में tool_calls भी मौजूद हैं.
  • अगर शर्त पूरी होती है, तो last_message से लिए गए tool_calls में से पहला "response" लेकर AIMessage के content फील्ड में लौटाएँ.
  • अगर शर्त पूरी नहीं होती, तो model_with_tools पर .invoke() लागू करें ताकि रिस्पॉन्स जनरेट हो, और state["messages"] से पूरी बातचीत का इतिहास पास करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Extract the last message from the history
def call_model(state: MessagesState):
    ____ = ____["____"][____]

    # If the last message has tool calls, return the tool's response
    if isinstance(____, ____) and ____.____:
        
        # Return only the messages from the tool call
        return {"messages": [____(content=____.____[0]["____"])]}
    
    # Otherwise, proceed with a regular LLM response
    return {"messages": [____.____(____["____"])]}
कोड संपादित करें और चलाएँ