LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह · पाठ

उपकरणों को परिभाषित करना और उपयोग करना

ऐसे उपकरण बनाना और एकीकृत करना सीखें जिनसे एजेंट वेब खोजना या कोड निष्पादित करना जैसे कार्य कर सकें।

पाठ 1, कुल 4 में से11 चरण

उपकरणों को परिभाषित करना और उपयोग करना, CoddyKit पर LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

एजेंट को उपकरणों की आवश्यकता होती है

स्वागत है! इस पाठ में हम जानेंगे कि AI एजेंट केवल बातचीत करने से आगे कैसे बढ़ सकते हैं। बड़े भाषा मॉडल (LLM) पाठ को समझने और उत्पन्न करने में अच्छे होते हैं, लेकिन उनकी कुछ सीमाएँ हैं।

वे वास्तविक समय की जानकारी प्राप्त नहीं कर सकते, गणनाएँ नहीं कर सकते या बाहरी प्रणालियों के साथ संपर्क नहीं कर सकते। यहीं उपकरण काम आते हैं!

एजेंट की क्षमताओं का विस्तार

उपकरणों को बाहरी दुनिया से जुड़ने वाले एजेंट के 'हाथ' और 'आँखें' समझिए। वे एजेंट को ये कार्य करने देते हैं:

  • वेब पर खोज करना: नवीनतम जानकारी प्राप्त करना।
  • कोड चलाना: गणनाएँ करना या स्क्रिप्ट चलाना।
  • डेटाबेस तक पहुँचना: विशिष्ट डेटा प्राप्त करना।
  • API के साथ संपर्क करना: स्मार्ट उपकरणों को नियंत्रित करना, ईमेल भेजना आदि।

उपकरण बातचीत करने वाले LLM को सक्रिय, समस्या-समाधान करने वाले एजेंट में बदल देते हैं।

उपकरण के मुख्य घटक

LangChain में उपकरण मूलतः एक ऐसा फ़ंक्शन है जिसे एजेंट कॉल कर सकता है। प्रत्येक उपकरण के तीन मुख्य घटक होते हैं:

  • फ़ंक्शन (func): वह वास्तविक Python कोड जो कार्य करता है।
  • नाम (name): उपकरण के लिए एक विशिष्ट स्ट्रिंग पहचानकर्ता।
  • विवरण (description): उपकरण क्या करता है और उसका उपयोग कब किया जाना चाहिए, इसकी स्पष्ट और संक्षिप्त व्याख्या। इससे LLM यह तय कर पाता है कि उपकरण का उपयोग करना है या नहीं और कब करना है।

उपकरण फ़ंक्शन तैयार करना

आइए एक सरल Python फ़ंक्शन परिभाषित करके शुरुआत करें। यह फ़ंक्शन मौसम की जानकारी प्राप्त करने का अनुकरण करेगा। यही हमारे भावी उपकरण का 'कार्य' वाला भाग है।

location: str प्रकार संकेत पर ध्यान दें। इससे यह निर्धारित करने में सहायता मिलती है कि फ़ंक्शन किस इनपुट की अपेक्षा करता है।

def get_current_weather(location: str) -> str:
    """Get the current weather in a given location."""
    # In a real application, this would call an external API.
    if location == "London":
        return "It's 15 degrees Celsius and cloudy."
    elif location == "New York":
        return "It's 22 degrees Celsius and sunny."
    else:
        return "Weather data not available for this location."

इसे LangChain उपकरण बनाना

अब आइए अपने get_current_weather फ़ंक्शन को LangChain के Tool ऑब्जेक्ट में लपेटें। हम इसे एक नाम और उपयोगी विवरण देंगे। उपकरण के गुण देखने के लिए आप इस कोड अंश को चला सकते हैं।

from langchain.tools import Tool

def get_current_weather(location: str) -> str:
    """Get the current weather in a given location."""
    if location == "London":
        return "It's 15 degrees Celsius and cloudy."
    elif location == "New York":
        return "It's 22 degrees Celsius and sunny."
    else:
        return "Weather data not available for this location."

# Create the Tool object
weather_tool = Tool(
    name="get_current_weather",
    func=get_current_weather,
    description="Useful for getting the current weather in a specific location."
)

if __name__ == "__main__":
    print(f"Tool name: {weather_tool.name}")
    print(f"Tool description: {weather_tool.description}")
    print(f"Weather in London (direct call): {weather_tool.func('London')}")

एजेंट समझदारी से चुनाव करता है

अपने Tool ऑब्जेक्ट परिभाषित करने के बाद, आप उनकी सूची अपने LangChain एजेंट को देते हैं। एजेंट के भीतर मौजूद LLM अपनी तर्क-विचार क्षमता से यह तय करता है:

  • क्या वर्तमान उपयोगकर्ता प्रश्न के लिए किसी उपकरण की आवश्यकता है।
  • कौन-सा उपकरण उपलब्ध सूची में से उपयोग करना है।
  • कौन-से तर्क चुने गए उपकरण को देने हैं।

यह निर्णय उपकरण के description से बहुत प्रभावित होता है।

अपने एजेंट को उपकरणों से लैस करना (अवधारणात्मक)

पूरी तरह चलने वाले एजेंट के लिए LLM API कुंजी आवश्यक होती है, लेकिन अवधारणात्मक रूप से आप एजेंट को हमारे weather_tool से इस तरह लैस करेंगे। एजेंट को उन उपकरणों की सूची के साथ 'आरंभ' किया जाता है जिनका वह उपयोग कर सकता है।

जब आप एजेंट से पूछते हैं, "पेरिस में मौसम कैसा है?", तो वह weather_tool का विवरण पढ़कर यह तय करेगा कि उसके फ़ंक्शन को "पेरिस" तर्क के साथ कॉल करना है।

from langchain.agents import initialize_agent, AgentType
from langchain.tools import Tool
# from langchain_openai import ChatOpenAI # Requires API key

# Assume weather_tool is defined as before
def get_current_weather(location: str) -> str:
    return "Weather data..." # Simplified for concept

weather_tool = Tool(
    name="get_current_weather",
    func=get_current_weather,
    description="Useful for getting the current weather."
)

# This part needs an actual LLM setup, e.g.:
# llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo")

# agent = initialize_agent(
#     [weather_tool],
#     llm,
#     agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
#     verbose=True
# )

# The agent then uses the tool based on query.

स्पष्ट विवरण महत्वपूर्ण हैं

आपके उपकरण का description अत्यंत महत्वपूर्ण है। LLM उसके उद्देश्य को समझने का एकमात्र तरीका यही है।

  • विशिष्ट रहें: स्पष्ट रूप से बताएँ कि उपकरण क्या करता है।
  • इनपुट का उल्लेख करें: उसे किस जानकारी की आवश्यकता है?
  • आउटपुट बताएँ: वह किस प्रकार का परिणाम लौटाता है?
  • उपयोग का मार्गदर्शन करें: एजेंट को इस उपकरण का उपयोग कब करने पर विचार करना चाहिए?

खराब तरीके से वर्णित उपकरण को एजेंट या तो नज़रअंदाज़ कर देगा या गलत तरीके से उपयोग करेगा।

संरचित उपकरण इनपुट (Pydantic)

अधिक जटिल उपकरणों के लिए आप Pydantic का उपयोग करके यह सुनिश्चित कर सकते हैं कि एजेंट तर्कों को एक विशिष्ट प्रारूप में दे। इससे इनपुट को मान्य करने में सहायता मिलती है और आपके उपकरण अधिक विश्वसनीय बनते हैं।

हम एक BaseModel परिभाषित करते हैं, जो अपेक्षित इनपुट का वर्णन करता है। LangChain इसका उपयोग LLM द्वारा तर्क तैयार करने का मार्गदर्शन करने के लिए करता है।

from langchain.tools import Tool
from pydantic import BaseModel, Field
from typing import Type

# Define a Pydantic model for the tool's input
class WeatherInput(BaseModel):
    location: str = Field(description="The city and state, e.g., San Francisco, CA")

def get_current_weather_with_schema(location: str) -> str:
    """Get the current weather in a given location."""
    if location == "London":
        return "It's 15 degrees Celsius and cloudy."
    elif location == "New York":
        return "It's 22 degrees Celsius and sunny."
    else:
        return "Weather data not available for this location."

weather_tool_schema = Tool(
    name="get_current_weather",
    func=get_current_weather_with_schema,
    description="Useful for getting the current weather in a specific location.",
    args_schema=WeatherInput # Link the Pydantic schema here
)

if __name__ == "__main__":
    print(f"Tool with schema: {weather_tool_schema.name}")
    print(f"Expected input fields: {weather_tool_schema.args_schema.schema()['properties']}")

अपनी समझ जाँचें

LangChain एजेंटों में उपकरणों की भूमिका पर विचार करें।

उपकरण: एजेंट की असाधारण शक्तियाँ

आपने AI एजेंट्स को टूल्स से सक्षम बनाने की अपनी यात्रा सफलतापूर्वक शुरू कर दी है! हमने सीखा कि:

  • टूल्स ऐसे फ़ंक्शन होते हैं जो एजेंट की अंतर्निहित LLM जानकारी से आगे उसकी क्षमताओं का विस्तार करते हैं।
  • हर टूल के लिए एक फ़ंक्शन, एक विशिष्ट नाम और स्पष्ट विवरण आवश्यक होता है।
  • LLM द्वारा टूल्स का सही चयन और उपयोग करने के लिए अच्छे विवरण अत्यंत महत्वपूर्ण होते हैं।
  • Pydantic स्कीमा टूल्स के लिए संरचित इनपुट सत्यापन प्रदान कर सकते हैं।

अब हम अलग-अलग एजेंट प्रकारों और यह जानेंगे कि वे इन टूल्स के उपयोग के बारे में निर्णय कैसे लेते हैं!

शुरुआत निःशुल्क

एआई शिक्षक के साथ LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
50

अक्सर पूछे जाने वाले प्रश्न

क्या “उपकरणों को परिभाषित करना और उपयोग करना” पाठ निःशुल्क है?

हाँ—“उपकरणों को परिभाषित करना और उपयोग करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“उपकरणों को परिभाषित करना और उपयोग करना” में मैं क्या सीखूँगा?

ऐसे उपकरण बनाना और एकीकृत करना सीखें जिनसे एजेंट वेब खोजना या कोड निष्पादित करना जैसे कार्य कर सकें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“उपकरणों को परिभाषित करना और उपयोग करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. उपकरणों को परिभाषित करना और उपयोग करना
  2. एजेंट के प्रकार और निर्णय-निर्माण
  3. पूर्व-निर्मित टूलकिट का उपयोग
  4. त्रुटि-प्रबंधन और सुरक्षित टूल निष्पादन
← LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पर वापस जाएँ