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

उन्नत मेमोरी समाधान

सारांश मेमोरी और इकाई मेमोरी जैसे अधिक उन्नत मेमोरी प्रकारों तथा संवाद इतिहास को स्थायी रूप से सहेजने की विधियों का अध्ययन करें।

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

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

एजेंट की गहन स्मृति

पिछले पाठों में हमने मूलभूत संवादात्मक स्मृति के बारे में सीखा। लेकिन यदि बातचीत बहुत लंबी हो जाए या उसमें कई विशिष्ट विवरण शामिल हों तो क्या होगा?

उन्नत स्मृति समाधान बातचीत का संक्षेपण करके या इकाइयों पर नज़र रखकर एजेंटों को जटिल संवाद संभालने में मदद करते हैं।

सारांश स्मृति का परिचय

सारांश स्मृति पिछली बातचीत को संक्षिप्त सारांश में बदल देती है।

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

सारांश स्मृति का उपयोग

LangChain की ConversationSummaryBufferMemory सारांश बनाने के लिए LLM का उपयोग करती है। यह हाल के संदेशों का एक बफर रखती है और आवश्यकता पड़ने पर पुराने संदेशों का सारांश बनाती है।

यह उदाहरण आज़माएँ:

from langchain.memory import ConversationSummaryBufferMemory
from langchain_openai import OpenAI

# For demonstration, we'll use a mock LLM
# In a real scenario, you'd use your actual LLM (e.g., OpenAI, HuggingFace)
# from langchain.llms import OpenAI
# llm = OpenAI(temperature=0)

class MockLLM:
    def __init__(self):
        pass
    def invoke(self, prompt):
        if "summarize" in prompt.lower():
            return "A short summary of the conversation."
        return "Mock LLM response to: " + prompt

llm = MockLLM()

# max_token_limit ensures summary happens before context window is full
memory = ConversationSummaryBufferMemory(llm=llm, max_token_limit=100)

def run_interaction(user_input, ai_output):
    memory.save_context({"input": user_input}, {"output": ai_output})
    print(f"Memory buffer: {memory.load_memory_variables({})['history']}")

if __name__ == "__main__":
    print("--- Summary Buffer Memory Demo ---")
    run_interaction("Hi there!", "Hello! How can I help?")
    run_interaction("My name is Alice.", "Nice to meet you, Alice.")
    run_interaction("I want to discuss project Alpha.", "Okay, tell me more.")
    run_interaction("Project Alpha is about AI agents.", "Interesting! What aspects?")
    # After more interactions, older messages would be summarized
    print("\nFinal memory (after potential summarization):")
    print(memory.load_memory_variables({})['history'])

विशिष्ट इकाइयों पर नज़र रखना

इकाई स्मृति बातचीत के दौरान विशिष्ट "इकाइयों" (जैसे लोग, स्थान या विषय) और उनसे जुड़े तथ्यों को याद रखने के लिए बनाई गई है।

  • यह इकाइयों का ज्ञान-आधार बनाए रखती है।
  • यह तब उपयोगी होती है जब एजेंट को नामित वस्तुओं के बारे में विशिष्ट विवरण याद रखने हों।
  • उदाहरण: "Alice likes coffee" -> एजेंट को "Alice" और "likes coffee" याद रहते हैं।

ConversationEntityMemory का उपयोग करना

ConversationEntityMemory संदेशों से इकाइयों और उनके गुणों को निकालने के लिए LLM का उपयोग करती है। यह प्रत्येक इकाई की एक प्रोफ़ाइल तैयार करती है।

आइए, इसे काम करते हुए देखते हैं:

from langchain.memory import ConversationEntityMemory
from langchain_openai import OpenAI

# Using the same MockLLM for consistency
class MockLLM:
    def __init__(self):
        pass
    def invoke(self, prompt):
        if "extract entities" in prompt.lower():
            if "Alice" in prompt:
                return "{'Alice': 'Alice is a person. She likes coffee and project Alpha.'}"
            return "{}"
        if "summarize" in prompt.lower():
            return "A short summary of the conversation."
        return "Mock LLM response to: " + prompt

llm = MockLLM()

memory = ConversationEntityMemory(llm=llm)

def run_entity_interaction(user_input, ai_output):
    memory.save_context({"input": user_input}, {"output": ai_output})
    print(f"Entities: {memory.load_memory_variables({})['entities']}")

if __name__ == "__main__":
    print("--- Entity Memory Demo ---")
    run_entity_interaction("My name is Alice and I like coffee.", "Nice to meet you, Alice!")
    run_entity_interaction("I am working on project Alpha.", "That sounds interesting.")
    run_entity_interaction("My colleague Bob will join later.", "Okay, I'll remember Bob.")

    print("\nFinal entities stored:")
    print(memory.load_memory_variables({})['entities'])

मिश्रित स्मृति दृष्टिकोण

और भी अधिक सशक्त एजेंटों के लिए आप विभिन्न स्मृति प्रकारों को मिला सकते हैं।

  • सामान्य बातचीत के प्रवाह के लिए सारांश स्मृति का उपयोग करें।
  • मुख्य विषयों से जुड़े विशिष्ट तथ्यों पर नज़र रखने के लिए इकाई स्मृति का उपयोग करें।
  • इससे LLM की संदर्भ विंडो पर अत्यधिक भार डाले बिना समृद्ध और कई स्तरों वाली समझ बनती है।

सत्रों के बीच स्मृति बनाए रखना

डिफ़ॉल्ट रूप से, प्रोग्राम समाप्त होने पर एजेंट की स्मृति खो जाती है। लेकिन यदि आप चाहते हैं कि एजेंट किसी उपयोगकर्ता को कई दिनों या हफ्तों तक याद रखे तो क्या होगा?

स्थायी स्मृति आपको एजेंट की स्मृति सहेजने और लोड करने देती है, जिससे दीर्घकालिक बातचीत और निरंतरता संभव होती है।

स्मृति सहेजना और लोड करना

स्मृति को स्थायी बनाए रखने का एक सरल तरीका उसकी स्थिति को JSON जैसी फ़ाइल में सहेजना है। एजेंट के दोबारा शुरू होने पर वह अपनी स्मृति पुनर्स्थापित करने के लिए इस फ़ाइल को लोड कर सकता है।

यह उदाहरण दिखाता है कि स्मृति को क्रमबद्ध (सहेजना) और क्रमविपर्यस्त (लोड करना) कैसे किया जाता है:

import json
from langchain.memory import ConversationBufferMemory

# Example of a simple buffer memory
memory = ConversationBufferMemory()

if __name__ == "__main__":
    print("--- Memory Persistence Demo ---")

    # 1. Save context
    memory.save_context({"input": "Hello!"}, {"output": "Hi there!"})
    memory.save_context({"input": "How are you?"}, {"output": "I'm good!"})

    # 2. Extract and save memory variables
    memory_data = memory.load_memory_variables({})
    print(f"Memory before saving: {memory_data}")

    # Convert to JSON string and save to a file
    with open("agent_memory.json", "w") as f:
        json.dump(memory_data, f, indent=2)
    print("\nMemory saved to agent_memory.json")

    # 3. Create new memory and load from file
    new_memory = ConversationBufferMemory()
    with open("agent_memory.json", "r") as f:
        loaded_data = json.load(f)

    # For ConversationBufferMemory, you can set the buffer directly
    # More complex memories might have specific load methods
    new_memory.buffer = loaded_data.get('history', '')
    print(f"\nMemory loaded into new agent: {new_memory.load_memory_variables({})['history']}")

विश्वसनीय स्थायित्व विकल्प

उत्पादन-स्तर के अनुप्रयोगों के लिए केवल फ़ाइल में सहेजना पर्याप्त नहीं है। इन विकल्पों पर विचार करें:

  • डेटाबेस: संरचित और विस्तार योग्य भंडारण के लिए SQL (SQLite, PostgreSQL) या NoSQL (MongoDB, Redis)।
  • वेक्टर भंडार: बातचीत के इतिहास के एम्बेडिंग को स्थायी रूप से सहेजने के लिए, जो अधिक उन्नत पुनर्प्राप्ति में उपयोगी होते हैं।
  • LangChain निर्बाध स्मृति स्थायित्व के लिए कई डेटाबेस के साथ एकीकृत होता है।

स्मृति प्रकार प्रश्नोत्तरी

ऐसे एजेंट के लिए कौन-सा स्मृति प्रकार सबसे उपयुक्त होगा, जिसे बहुत लंबी बातचीत के दौरान नामित ग्राहकों के बारे में विशिष्ट विवरण (जैसे उनकी प्राथमिकताएँ और परियोजना के नाम) याद रखने हों?

पुनरावलोकन: उन्नत स्मृति समाधान

आज हमने AI एजेंटों के लिए उन्नत स्मृति समाधानों का अध्ययन किया:

  • सारांश स्मृति: लंबी बातचीत को संक्षिप्त करती है।
  • इकाई स्मृति: नामित इकाइयों से जुड़े विशिष्ट तथ्यों पर नज़र रखती है।
  • स्थायित्व: सत्रों के बीच संदर्भ बनाए रखने के लिए फ़ाइलों या डेटाबेस का उपयोग करके स्मृति को सहेजना और लोड करना।

ये तकनीकें अधिक बुद्धिमान और संदर्भ-सचेत एजेंट बनाने में मदद करती हैं!

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

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

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

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

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

क्या “उन्नत मेमोरी समाधान” पाठ निःशुल्क है?

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

“उन्नत मेमोरी समाधान” में मैं क्या सीखूँगा?

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

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

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

“उन्नत मेमोरी समाधान” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. एजेंट मेमोरी की अवधारणाएँ
  2. संवाद बफ़र मेमोरी
  3. उन्नत मेमोरी समाधान
  4. इकाई और सारांश मेमोरी रणनीतियाँ
← LangChain के साथ AI एजेंट और स्वायत्त कार्यप्रवाह पर वापस जाएँ