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

अतुल्यकालिक एजेंट निष्पादन

एजेंटों से समानांतर कार्य करवाने और उनकी प्रतिक्रिया-क्षमता बढ़ाने के लिए अतुल्यकालिक प्रतिरूप लागू करना सीखें।

पाठ 2, कुल 4 में से10 चरण

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

अतुल्यकालिक एजेंट क्यों?

कल्पना कीजिए कि आपके AI एजेंट को एक ही समय में कई काम करने हैं: दो API से डेटा प्राप्त करना, LLM की सहायता से पाठ का विश्लेषण करना और फिर कोई परिणाम संग्रहीत करना। यदि वह ये काम समकालिक रूप से (एक के बाद एक) करता है, तो अगले चरण को शुरू करने से पहले प्रत्येक चरण के पूरा होने की प्रतीक्षा करता है।

यह प्रतीक्षा आपके एजेंट को धीमा और अनुत्तरदायी बना सकती है, विशेषकर नेटवर्क कॉल या जटिल गणनाओं के दौरान।

समकालिक बनाम अतुल्यकालिक

समकालिक निष्पादन एकल-लेन वाली सड़क जैसा है: एक समय में केवल एक कार गुजर सकती है। यदि कोई कार खराब हो जाए, तो पूरा यातायात रुक जाता है।

  • समकालिक: कार्य एक-एक करके चलते हैं।
  • अतुल्यकालिक: कार्य शुरू हो सकते हैं, किसी चीज़ (जैसे API की प्रतिक्रिया) की प्रतीक्षा करते समय रुक सकते हैं और इसी बीच अन्य कार्यों को चलने दे सकते हैं। यह कई लेन वाले राजमार्ग या कई गेंदों को एक साथ उछालने जैसा है।

अतुल्यकालिक प्रोग्रामिंग एजेंटों को निष्क्रिय समय का अधिक प्रभावी ढंग से उपयोग करने में सहायता करती है।

Python के Async/Await कीवर्ड

Python अतुल्यकालिक प्रोग्रामिंग सक्षम करने के लिए async और await कीवर्ड का उपयोग करता है। इन्हें संकेतों की तरह समझिए:

  • async def: ऐसा फ़ंक्शन (जिसे कोरूटीन कहा जाता है) परिभाषित करता है, जो अतुल्यकालिक रूप से चल सकता है।
  • await: प्रतीक्षित कार्य के पूरा होने तक वर्तमान कोरूटीन को रोकता है, जिससे अन्य कार्य चल सकते हैं।

आइए, एक मूल उदाहरण देखते हैं:

import asyncio

async def say_hello():
    print("Hello ")
    await asyncio.sleep(1) # Simulate a delay
    print("World!")

async def main():
    await say_hello()

if __name__ == "__main__":
    asyncio.run(main())

asyncio इवेंट लूप

पर्दे के पीछे Python की asyncio लाइब्रेरी यह प्रबंधित करती है कि अतुल्यकालिक कार्य कैसे चलें। यह एक इवेंट लूप का उपयोग करती है।

  • इवेंट लूप लगातार कार्यों पर नज़र रखता है।
  • जब कोई await कथन किसी कार्य को रोकता है, तो इवेंट लूप किसी अन्य तैयार कार्य पर चला जाता है।
  • प्रतीक्षित कार्य पूरा हो जाने पर इवेंट लूप रुके हुए कार्य को फिर से शुरू करता है।

इससे अवरोध-रहित क्रियाएँ संभव होती हैं और कुल दक्षता बेहतर होती है।

LangChain में Async LLM कॉल

LangChain के कई घटक, विशेष रूप से LLMs, अपनी विधियों के अतुल्यकालिक संस्करण उपलब्ध कराते हैं। उदाहरण के लिए, .invoke() के बजाय आप अक्सर अतुल्यकालिक कॉल के लिए .ainvoke() का उपयोग कर सकते हैं।

बड़े भाषा मॉडलों से प्रश्न करते समय आपके एजेंट को प्रतिक्रियाशील बनाए रखने के लिए यह अत्यंत महत्वपूर्ण है, क्योंकि इसमें समय लग सकता है।

import asyncio
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage

async def main():
    # Make sure you have your OpenAI API key set up
    llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
    
    # Using .ainvoke() for an asynchronous call
    response = await llm.ainvoke([HumanMessage(content="What is the capital of Canada?")])
    print(response.content)

if __name__ == "__main__":
    asyncio.run(main())

कई LLM कॉल एक साथ चलाना

जब आपको कई LLM कॉल करनी हों, तब async की वास्तविक शक्ति दिखाई देती है। अगली कॉल शुरू करने से पहले आपको प्रत्येक कॉल के पूरा होने की प्रतीक्षा नहीं करनी पड़ती।

कई अतुल्यकालिक कार्यों को समानांतर रूप से चलाने और उनके परिणाम एकत्र करने के लिए asyncio.gather() का उपयोग करें।

import asyncio
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage

async def main():
    llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
    
    # Create multiple asynchronous LLM invocation tasks
    task1 = llm.ainvoke([HumanMessage(content="Tell me a fact about the sun.")])
    task2 = llm.ainvoke([HumanMessage(content="Tell me a fact about the moon.")])
    task3 = llm.ainvoke([HumanMessage(content="Tell me a fact about Earth.")])
    
    # Run all tasks concurrently and wait for them to complete
    results = await asyncio.gather(task1, task2, task3)
    
    for i, res in enumerate(results):
        print(f"Result {i+1}: {res.content}\n")

if __name__ == "__main__":
    asyncio.run(main())

अतुल्यकालिक उपकरण निष्पादन

LLMs की तरह आपके कस्टम उपकरण भी अतुल्यकालिक हो सकते हैं! यदि आपका उपकरण I/O-आधारित क्रियाएँ (जैसे डेटाबेस या बाहरी API से डेटा प्राप्त करना) करता है, तो उसे अतुल्यकालिक बनाने से एजेंट का प्रदर्शन काफ़ी बेहतर होगा।

अतुल्यकालिक उपकरण बनाने के लिए अपनी BaseTool उपवर्ग में _arun विधि लागू करें।

import asyncio
from langchain.tools import BaseTool

class AsyncWebSearchTool(BaseTool):
    name: str = "AsyncWebSearch"
    description: str = "Searches the web asynchronously for a query."

    async def _arun(self, query: str) -> str:
        # Simulate an asynchronous web search API call
        await asyncio.sleep(1.5) 
        return f"Results for '{query}': Found 5 articles."

    def _run(self, query: str) -> str:
        # Fallback for synchronous calls (optional but good practice)
        return f"Sync results for '{query}': Found 4 articles."

async def main():
    tool = AsyncWebSearchTool()
    result = await tool.arun("latest AI news")
    print(result)

if __name__ == "__main__":
    asyncio.run(main())

Async शृंखलाएँ और एजेंट बनाना

जब आप अतुल्यकालिक LLMs और उपकरणों को शृंखलाओं या एजेंटों में मिलाते हैं, तो LangChain स्वचालित रूप से उनकी async क्षमताओं का उपयोग करता है। अधिकांश LangChain चलने योग्य घटक और शृंखलाएँ भी .ainvoke() विधि उपलब्ध कराती हैं।

इसका अर्थ है कि आप पूरे अतुल्यकालिक कार्यप्रवाह बना सकते हैं, जिससे आपका एजेंट कई चरणों और बाहरी कॉलों वाले जटिल कार्यों को बहुत तेज़ी से संसाधित कर सकता है।

import asyncio
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableSequence

async def main():
    llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)
    prompt = ChatPromptTemplate.from_template("What is a unique fact about {animal}?")
    
    # Define a simple chain
    chain = prompt | llm
    
    # Invoke the chain asynchronously
    response = await chain.ainvoke({"animal": "platypus"})
    print(response.content)

if __name__ == "__main__":
    asyncio.run(main())

त्वरित जाँच: async के लाभ

आइए, अतुल्यकालिक निष्पादन की आपकी समझ जाँचते हैं।

पुनरावलोकन: async एजेंटों में दक्षता

बहुत अच्छा! आपने Python में अतुल्यकालिक निष्पादन की मूल बातें और इसे अपने LangChain एजेंटों पर लागू करना सीख लिया है।

  • अतुल्यकालिक प्रोग्रामिंग (async/await) एजेंटों को प्रत्येक कार्य के लिए प्रतीक्षा करने के बजाय कई कार्य एक साथ करने देती है।
  • इससे I/O-आधारित क्रियाओं के लिए प्रतिक्रियाशीलता और थ्रूपुट में काफ़ी सुधार होता है।
  • LangChain के LLMs, उपकरण और शृंखलाएँ अक्सर इस क्षमता का उपयोग करने के लिए अतुल्यकालिक विधियाँ (जैसे .ainvoke(), .arun()) उपलब्ध कराती हैं।

async पैटर्न को एकीकृत करके आप अधिक दक्ष और उच्च-प्रदर्शन वाले स्वायत्त कार्यप्रवाह बना सकते हैं!

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

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

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

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

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

क्या “अतुल्यकालिक एजेंट निष्पादन” पाठ निःशुल्क है?

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

“अतुल्यकालिक एजेंट निष्पादन” में मैं क्या सीखूँगा?

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

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

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

“अतुल्यकालिक एजेंट निष्पादन” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

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