Memory Recall और चैट सारांश
हर AI मॉडल एक बार में सीमित टेक्स्ट ही पढ़ पाता है। इसी सीमा को कॉन्टेक्स्ट विंडो कहते हैं। लंबी चैट में सबसे पुराने संदेश इस विंडो से बाहर निकल जाते हैं और AI उन्हें भूल जाता है। Marinara Engine (आगे सिर्फ़ Marinara) में यह इतिहास वापस लाने के कई तरीके हैं। इस गाइड में बताया गया है कि हर तरीका कैसे चालू करें और काम न करे तो उसे कैसे ठीक करें।
मुझे कौन-सी मेमोरी सुविधा चाहिए?
शुरुआत Memory Recall (मेमोरी रिकॉल) से करें। इसके लिए अलग से कुछ सेट नहीं करना पड़ता, क्योंकि Marinara आपके कंप्यूटर पर चलने वाला बिल्ट-इन एम्बेडिंग मॉडल इस्तेमाल कर सकता है। चैट बहुत लंबी होने लगें, तो सारांश भी जोड़ें।
| सुविधा | काम | किस मोड में |
| Memory Recall | पुराने संदेशों में वे हिस्से ढूँढता है जो आपकी अभी लिखी बात से जुड़े हैं, और उन्हें प्रॉम्प्ट में जोड़ देता है। | हर मोड |
| Chat Summary (चैट सारांश) | पुराने संदेशों की जगह छोटे रीकैप रख देता है। | Roleplay |
| Automatic Summarization (अपने आप सारांश बनना) | हर दिन का, फिर हर हफ़्ते का सारांश बनाता है। हमेशा चालू। | Conversation |
| Advanced Memory Recall (उन्नत मेमोरी रिकॉल) | लाइव इतिहास, सीन के सारांश और रिकॉल किए गए अंश एक साथ संभालता है। वैकल्पिक। | Roleplay और Game Mode |
Memory Recall और सारांश अलग-अलग काम करते हैं और एक साथ चल सकते हैं। Game Mode में Memory Recall मिलता है और, अगर आप चाहें, तो Advanced Memory Recall भी (देखें Game Mode में)। उसमें सारांश की अपनी कोई सुविधा नहीं है।
Memory Recall
Memory Recall एम्बेडिंग इस्तेमाल करता है। एम्बेडिंग किसी संदेश के अर्थ का एक संख्यात्मक फ़िंगरप्रिंट है। Marinara पुराने संदेशों को छोटे-छोटे समूहों में सेव करता है, जिन्हें चंक कहते हैं। यह आपके नए संदेश के फ़िंगरप्रिंट की तुलना सेव किए हुए फ़िंगरप्रिंट से करता है और सबसे करीबी चंक प्रॉम्प्ट में जोड़ देता है।
Memory Recall चालू करना
- कोई चैट खोलें और Chat Settings (चैट सेटिंग्स) पर क्लिक करें।
- Memory Recall सेक्शन ढूँढें।
- Enable Memory Recall चालू करें।
यह सेटिंग हर चैट के लिए अलग है। Conversation चैट में, और जिन Roleplay या Game चैट में कोई सीन चल रहा हो, उनमें यह शुरू से चालू रहती है। बाकी चैट में यह शुरू से बंद रहती है। इसे बंद करने पर रिकॉल रुक जाता है, लेकिन सेव की हुई यादें मिटती नहीं।
अगर यह काम न करे: Memory Recall को एक एम्बेडिंग सोर्स चाहिए (अगला सेक्शन)। आप कोई सोर्स सेट न करें, तो Marinara अपना बिल्ट-इन मॉडल इस्तेमाल करता है, इसलिए ज़्यादातर लोग वह सेक्शन छोड़ सकते हैं। यह भी जाँच लें कि Memory Recall दिखता भी है या नहीं। कुछ कंटेनर बिल्ड, जिन्हें Marinara Lite कहते हैं, इसे पूरी तरह बंद कर देते हैं।
एम्बेडिंग सोर्स सेट करना (वैकल्पिक)
Memory Recall को फ़िंगरप्रिंट बनाने वाला एक मॉडल चाहिए। आप कुछ सेट न करें, तो Marinara बिल्ट-इन एम्बेडिंग मॉडल इस्तेमाल करता है (नीचे देखें), और ज़्यादातर लोगों के लिए यही आसान रास्ता है। इसकी जगह कोई सेवा इस्तेमाल करनी हो, तो उसे चैट सेटिंग्स में नहीं, किसी अकाउंट पर सेट करें।
शुरू करने से पहले: आपको ऐसा अकाउंट चाहिए जो एम्बेडिंग देता हो। देखें किसी AI प्रोवाइडर से कनेक्ट करना।
- Connections (कनेक्शन) खोलें और अकाउंट एडिट करें।
- Semantic search (embeddings) सेक्शन ढूँढें।
- एम्बेडिंग मॉडल का नाम डालें, जैसे
text-embedding-3-small। - वैकल्पिक: पता बदलना हो तो Embedding endpoint URL (एम्बेडिंग एंडपॉइंट URL) सेट करें।
- वैकल्पिक: किसी दूसरे अकाउंट की कुंजी और पता उधार लेने के लिए Embedding provider इस्तेमाल करें। Same as this provider (यही प्रोवाइडर) इस अकाउंट की अपनी कुंजी और पता रखता है।
कुछ सेवाएँ एम्बेडिंग देती ही नहीं। तब Marinara आपसे सिर्फ़ एम्बेडिंग के लिए एक अलग अकाउंट चुनने को कहता है, जैसे कोई OpenAI-कंपैटिबल अकाउंट, Google, या बिल्ट-इन मॉडल।
हर जगह एक ही सोर्स इस्तेमाल करना हो, तो उसे Connections → Defaults (कनेक्शन → डिफ़ॉल्ट) में Embeddings (एम्बेडिंग) के नीचे चुनें। जिन अकाउंट का अपना कोई एम्बेडिंग मॉडल नहीं है, वे इसी को इस्तेमाल करते हैं। किसी अकाउंट की अपनी सेटिंग फिर भी पहले आती है।
अगर न कोई एम्बेडिंग अकाउंट हो और न Embeddings डिफ़ॉल्ट, तो Marinara बिल्ट-इन एम्बेडिंग मॉडल पर लौट आता है। यह एक बार डाउनलोड होता है और बिना API कुंजी के आपके कंप्यूटर पर चलता है। देखें बिल्ट-इन मॉडल का सेटअप।
यही सेटिंग लोरबुक की सिमैंटिक सर्च भी चलाती है, इसलिए दोनों के लिए इसे एक ही बार सेट करना होता है।
सेव की हुई यादें देखना और संभालना
- Chat Settings → Memory Recall (चैट सेटिंग्स → मेमोरी रिकॉल) खोलें।
- Access memories for this chat (इस चैट की यादें खोलें) पर क्लिक करें। Memories for This Chat विंडो खुलती है। Advanced Memory चालू होने पर व्यूअर Roleplay ड्रॉअर के अंदर ही रहता है।
विंडो में सेव किए गए चंक की गिनती और टोकन का मोटा अनुमान दिखता है। हर चंक कार्ड पर उसकी तारीखों की रेंज, संदेशों की गिनती, बनने का समय और एक स्टेटस दिखता है।
| स्टेटस | मतलब |
| Vectorized | फ़िंगरप्रिंट बन चुका है और सर्च के लिए तैयार है। |
| Waiting for vector | फ़िंगरप्रिंट अभी बन रहा है। |
| Embedding unavailable | कोई एम्बेडिंग सोर्स इसे बना नहीं सका। |
टूलबार में यादें एक्सपोर्ट, इंपोर्ट, दोबारा बनाने और हटाने के आइकन हैं।
- किसी चंक का कूड़ेदान आइकन Forget Memory खोलता है। Forget से पक्का करें।
- सब हटाने वाला आइकन Clear Memories खोलता है। Clear से पक्का करें। इससे रिकॉल की यादें हटती हैं, आपके चैट संदेश नहीं।
- रिफ़्रेश आइकन मौजूदा संदेशों से हर चंक दोबारा बनाता है। एम्बेडिंग मॉडल बदलने के बाद इसे इस्तेमाल करें।
- एक्सपोर्ट एक
.marinara.jsonफ़ाइल सेव करता है। इंपोर्ट.jsonया.marinaraफ़ाइलें लेता है और उन्हें मौजूदा यादों में मिला देता है।
Memory Recall कैसे काम करता है
- जब भी कोई एम्बेडिंग सोर्स मौजूद हो, Marinara बैकग्राउंड में चंक सेव करता रहता है, चाहे Enable Memory Recall बंद ही क्यों न हो। टॉगल सिर्फ़ यह तय करता है कि यादें प्रॉम्प्ट में जुड़ेंगी या नहीं।
- चंक बनने के लिए कम से कम 5 नए संदेश चाहिए।
- कमज़ोर मैच छोड़ दिए जाते हैं, इसलिए यादें मौजूद होने पर भी रिकॉल कुछ नहीं लौटा सकता। रिकॉल की गई यादों के लिए प्रॉम्प्ट का थोड़ा ही हिस्सा इस्तेमाल होता है।
- एम्बेडिंग मॉडल बदलने के बाद पुराने चंक मैच नहीं होते। उन्हें दोबारा बनाएँ।
- चैट के संदेश मिटाने पर उसके चंक भी मिट जाते हैं।
Chat Summary (Roleplay)
Chat Summary पुराने संदेशों को छोटे रीकैप में समेट देता है, जिन्हें सारांश एंट्री कहते हैं। हर एंट्री AI लिख सकता है या आप खुद, और हर एंट्री चालू या बंद की जा सकती है। यह सिर्फ़ Roleplay चैट के लिए है।
Chat Settings खोलें और Lorebooks (लोरबुक) के नीचे Chat Summary को फैलाएँ। कंप्यूटर पर इसे अलग विंडो में भी खोल सकते हैं। देखें चैट सेटिंग्स का ओवरव्यू।
सारांश एंट्री बनाना
- Summary Scope के नीचे सबसे नए संदेशों के लिए Last चुनें, या संदेशों की किसी रेंज के लिए Range चुनें।
- AI से एंट्री लिखवाने के लिए Generate पर क्लिक करें, या खुद टाइप करने के लिए Write पर क्लिक करें।
हर एंट्री पर एक शीर्षक, उसकी सोर्स रेंज या संदेशों की गिनती, और टोकन का अनुमान दिखता है। आप उसे चालू या बंद कर सकते हैं, खोल सकते हैं, Edit कर सकते हैं या Delete कर सकते हैं। Show Inactive और Hide Inactive से बदलता है कि लिस्ट में क्या दिखे। Activate All और Deactivate All सभी एंट्री एक साथ बदल देते हैं।
कई एंट्री एक साथ बदलनी हों, तो उन पर टिक लगाएँ (कंप्यूटर पर रेंज चुनने के लिए Shift दबाकर क्लिक करें), फिर Enable selected (चुनी हुई चालू करें) या Disable selected (चुनी हुई बंद करें) इस्तेमाल करें।
अगर Review Agent Outputs (एजेंट के आउटपुट की समीक्षा) चालू है, तो AI के सारांश आपकी मंज़ूरी का इंतज़ार करते हैं। देखें एजेंट की मंज़ूरी और Agent Suite।
Automatic Summaries
Automatic Summaries पैनल चैट के साथ-साथ सारांश अपडेट रखता है।
- Enabled चालू करें।
- Every में बताएँ कि दो सारांशों के बीच यूज़र के कितने संदेश आएँ। डिफ़ॉल्ट 5 है। रेंज 1 से 200 तक है।
- वैकल्पिक: जिस पुरानी चैट में कभी सारांश नहीं बने, उसका सारांश बनाने के लिए Backfill Summary पर क्लिक करें। एक प्रोग्रेस बार दिखता है। बीच में रोकने के लिए Stop पर क्लिक करें।
सारांश प्रॉम्प्ट, प्रोवाइडर और आउटपुट का आकार
- Summary Prompt: AI जिन निर्देशों से सारांश लिखता है, उन्हें बदलने के लिए Edit पर क्लिक करें। सेव किए हुए प्रॉम्प्ट संभालने के लिए Templates पर क्लिक करें, जहाँ New template, Duplicate, Edit और Delete मिलते हैं। टेम्पलेट पूरे ऐप के लिए साझा हैं: किसी एक Roleplay चैट में टेम्पलेट चुनने से हर Roleplay चैट का प्रॉम्प्ट बदल जाता है।
- Summary Provider: वह अकाउंट जो सारांश लिखता है। पहले आपका डिफ़ॉल्ट एजेंट अकाउंट इस्तेमाल होता है, फिर चैट का अपना अकाउंट।
- Maximum output size (अधिकतम आउटपुट आकार): सारांश कितना लंबा हो सकता है। डिफ़ॉल्ट 4096 टोकन है। रेंज 1 से 32768 तक है।
डिस्प्ले के विकल्प
- Hide summarised messages: किसी सारांश में शामिल हो जाने के बाद असली संदेश छिपा देता है। डिफ़ॉल्ट रूप से बंद।
- Recent message tail: छिपाना चालू होने पर भी इतने सबसे नए संदेश दिखते रहते हैं। डिफ़ॉल्ट 10 है। 0 या उससे बड़ी कोई भी पूर्ण संख्या चलती है। 0 रखने पर सारांश में शामिल पूरा बैच छिप जाता है। बड़ी वैल्यू से प्रॉम्प्ट बड़े और महँगे होते हैं।
- Collapse hidden messages: बदलता है कि छिपे हुए संदेश ट्रांसक्रिप्ट में कैसे दिखें।
Recent message tail सारांश में शामिल संदेशों पर सीमा लगाता है। सारांश में शामिल जो संदेश सबसे नए संदेशों के इस हिस्से से पुराना हो, उसे तुरंत प्रॉम्प्ट से बाहर रखा जाता है, अगला सारांश उसे छिपाए उससे पहले ही। जिस पुराने संदेश को अभी तक कोई सारांश कवर नहीं करता, वह फिर भी भेजा जाता है, क्योंकि उसे बाहर रखने से वह खो जाएगा। ऐसे संदेश होने पर Chat Summary Recent message tail के नीचे उनकी गिनती दिखाता है। उनका सारांश बनाने के लिए Backfill Summary पर क्लिक करें।
मर्ज की गई ग्रुप चैट
मर्ज की गई ग्रुप चैट में एक ही जवाब हर कैरेक्टर की ओर से बोलता है। किसी एंट्री का जो हिस्सा कुछ खास कैरेक्टर के लिए लिखा गया हो, जैसे {{#if char == "Kaito"}}…{{/if}}, वह उन सभी कैरेक्टर के लिए रखा जाता है जिन पर वह लागू होता है, और उस पर लिखा होता है कि वह किसे पता है, जैसे "known only to Kaito"। जो हिस्से सिर्फ़ Advanced Memory के Narrator (नैरेटर) को मिलते हैं, वे बाहर रहते हैं। जिन ग्रुप चैट में कैरेक्टर एक-एक करके जवाब देते हैं, उनमें और एक कैरेक्टर वाली चैट में, हर कैरेक्टर पहले की तरह एंट्री पढ़ता है, और Narrator हर हिस्सा पढ़ता है।
Automatic Summarization (Conversation)
Conversation चैट में हर कैलेंडर दिन का सारांश बनता है, फिर पूरे हो चुके हफ़्ते मिलाकर एक हफ़्ते का सारांश बनता है। इसके बाद प्रॉम्प्ट में सिर्फ़ हफ़्तों के सारांश, चालू हफ़्ते के दिन-सारांश और आज के संदेश जाते हैं। यह अपने आप चलता है और इसे बंद नहीं किया जा सकता।
सारांश एडिट करना
- कोई Conversation चैट खोलें और Chat Settings पर क्लिक करें।
- Automatic Summarization ढूँढें।
- Edit Summaries पर क्लिक करें।
विंडो में पहले हफ़्ते दिखते हैं, फिर वे दिन जो अभी किसी हफ़्ते में नहीं समेटे गए। किसी एंट्री को खोलकर उसका Summary टेक्स्ट और उसकी Key Details पंक्तियाँ एडिट करें।
दिन कब खत्म हो, यह सेट करना
- Day Rollover Hour: वह घंटा जिससे सारांश के लिए नया दिन शुरू होता है। डिफ़ॉल्ट 4 AM है। 12 AM से 11 AM तक कोई भी घंटा चुन सकते हैं। इस घंटे से पहले के संदेश पिछले दिन में गिने जाते हैं। ऐसा समय चुनें जब आप चैट नहीं कर रहे होते। सारांश बन जाने के बाद इसे बदलें, तो Marinara चेतावनी देता है कि पुराने सारांश पिछले घंटे से बने थे।
- Recent Message Tail: आज के कितने सबसे नए संदेश सारांश बन जाने के बाद भी हूबहू रहें। डिफ़ॉल्ट 10 है। बड़ी वैल्यू से प्रॉम्प्ट बड़े और महँगे होते हैं।
छूटे हुए दिन भरना
किसी दिन का सारांश छूट सकता है, जैसे कोई पुरानी चैट इंपोर्ट करने के बाद। विंडो के Missing Summaries पैनल में Backfill बटन है। यह एक बार में हाल के ज़्यादा से ज़्यादा 14 दिन दोबारा आज़माता है। सारांश का मॉडल बदलने से पहले से बनी दिन या हफ़्ते वाली एंट्री दोबारा नहीं लिखी जातीं।
Advanced Memory Recall (Roleplay और Game Mode)
Advanced Memory Recall एक वैकल्पिक मोड है, जो लाइव इतिहास की विंडो, कहानी का सिलसिला बनाए रखने वाले सारांश और पुराने अंश एक साथ संभालता है। यह चैट को सीन में बाँटता है, हर पूरे हो चुके सीन का सारांश बनाता है, और हर जवाब के लिए काम के सीन और हूबहू संदेश रिकॉल करता है। यह Agents स्विच के बिना चलता है और इसके लिए कोई डाउनलोड करने वाला एजेंट नहीं चाहिए।
इसे चालू करना
- Chat Settings → Memory Recall खोलें।
- Advanced Memory Recall चालू करें। Roleplay सेटअप विज़ार्ड में Agents के नीचे Automatic context and memory handling (अपने आप कॉन्टेक्स्ट और मेमोरी संभालना) भी चालू कर सकते हैं।
- Maximum allowed context before compression (tokens) (कंप्रेशन से पहले अधिकतम कॉन्टेक्स्ट) को अपने मॉडल की कॉन्टेक्स्ट विंडो के भीतर सेट करें।
- Summary and recall budget (tokens) (सारांश और रिकॉल बजट) को उस सीमा के भीतर सेट करें।
- वैकल्पिक: कोई Helper model (सहायक मॉडल) चुनें।
जिस चैट में पहले से इतिहास है, उसमें पहले Prepare existing history (मौजूदा इतिहास तैयार करें) पर क्लिक करें (नीचे देखें)। सेटिंग्स और प्रगति विज़ार्ड और Chat Settings ड्रॉअर, दोनों में दिखती हैं, डेस्कटॉप और मोबाइल पर। आर्काइव व्यूअर ड्रॉअर में ही रहता है।
सेटिंग्स
| सेटिंग | डिफ़ॉल्ट | काम |
| Maximum allowed context before compression (tokens) | 65,000 | जब भेजा जाने वाला प्रॉम्प्ट इस आकार तक पहुँचता है, तो पुराना कॉन्टेक्स्ट काट दिया जाता है और रिकॉल के लिए उसका सारांश बनता है। |
| Summary and recall budget (tokens) | 6,500 | कॉन्टेक्स्ट का कितना हिस्सा यादों को मिले। सलाह है कि यह अधिकतम का कम से कम 10% हो। |
| Helper model | एजेंट अकाउंट, फिर चैट अकाउंट | सीन के फ़ैसले लेता है और सारांश व निरंतरता बनाता है। |
| Maximum recalled scenes (रिकॉल किए जाने वाले सीन की अधिकतम संख्या) | 3 | हर जवाब में ज़्यादा से ज़्यादा कितने सीन रिकॉल हों। 0 वैकल्पिक सीन रिकॉल बंद कर देता है। |
| Moving context (बदलता कॉन्टेक्स्ट) | 3 से 5 संदेश | रिकॉल किए गए हर अंश में कितने संदेश हों। दोनों को 0 करने पर बिना अंश के सारांश मिलते हैं। |
| Standalone scene check interval (messages) (सीन की अलग जाँच का अंतराल) | 5 | सीन की दो जाँचों के बीच कितने नए संदेश आएँ। |
| Use Decision model (निर्णय मॉडल इस्तेमाल करें) | बंद | निर्णय मॉडल को सीन का अंत ढूँढने और यादें चुनने देता है। |
| Decide who sees new messages (नए संदेश कौन देखे, यह तय करें) | बंद | सिर्फ़ उन ग्रुप चैट में जिनमें कैरेक्टर एक-एक करके जवाब देते हैं। |
| Character recollections (कैरेक्टर की निजी यादें) | बंद | हर कैरेक्टर को किसी सीन की अपनी याद देता है। |
डिफ़ॉल्ट बजट डिफ़ॉल्ट अधिकतम का 10% है। बाद में अधिकतम बदलने से यह नहीं बदलता। यह सीमा भेजे जाने वाले पूरे अनुमानित प्रॉम्प्ट पर लागू होती है: निर्देश, संदेश, रिकॉल किया गया कॉन्टेक्स्ट, टूल और अटैचमेंट। जवाब के टोकन और सुरक्षा मार्जिन अलग हैं। यह एक अनुमान है, सटीक टोकन गिनती या बिलिंग सीमा नहीं।
मेमोरी के सभी सारांश कॉल Chat Summary → Maximum output size इस्तेमाल करते हैं, और सोचने की जगह छोड़ने के लिए कम से कम 8,196 आउटपुट टोकन रखते हैं।
मौजूदा इतिहास तैयार करना
- Prepare existing history पर क्लिक करें। शुरू होने से पहले दिखता है कि कौन-से मॉडल इस्तेमाल होंगे।
- इंतज़ार करें। यह पुराने इतिहास को बैच में निपटाता है और अपना मौजूदा चरण दिखाता है।
- रोकने के लिए Cancel (रद्द करें) इस्तेमाल करें। पूरा हो चुका काम बचा रहता है। आगे जारी रखने के लिए Resume (फिर जारी करें) इस्तेमाल करें, ड्रॉअर बंद करने, सर्वर रीस्टार्ट करने या ऐप अपडेट करने के बाद भी।
मॉडल कॉल फ़ेल हो जाए, तो पहले की सही मेमोरी बची रहती है और दोबारा कोशिश के लिए एक एरर दिखती है। फ़ेल होने के बाद मेमोरी रीसेट न करें: Resume पूरे हो चुके सारांश दोबारा इस्तेमाल करता है। आखिरी जारी सीन खुला रहता है और बंद होने पर उसका सारांश बनता है।
अगर वापस मिला इतिहास किसी ऐसे सीन को बदल दे जिस पर आपका हाथ से किया सुधार लागू है, तो उसका टेक्स्ट संदर्भ के लिए बचाए रखने को वह याद बंद करें, या उसे हटा दें, फिर दोबारा तैयार करें। Fix (ठीक करें) ऐसे सीन को छोड़ देता है और रुकने के बजाय उसे लिस्ट में दिखाता है।
तैयार की गई चैट से बनी ब्रांच, जैसे Branch from here (यहाँ से ब्रांच बनाएँ) से बनी, अपनी Advanced Memory साथ रखती है। किसी सीन के बीच से बनी ब्रांच उस सीन को फिर से खोल देती है: उसका पुराना सारांश हटा दिया जाता है और सीन बंद होने पर नया लिखा जाता है। नई ब्रांच के रूप में इंपोर्ट की गई चैट हमेशा की तरह तैयार की जाती है।
मेमोरी की समस्याएँ ठीक करना
जब किसी चैट की मेमोरी में कुछ गड़बड़ होती है, तो Chat Settings बटन पर आपके एक्सेंट रंग का एक स्थिर बिंदु दिखता है, और एक नोटिस बताता है कि कितने सीन में समस्याएँ हैं। समस्याओं के हर सेट के लिए नोटिस एक ही बार आता है, और बिंदु तब तक बना रहता है जब तक वे सुलझ न जाएँ। Chat Settings → Memory Recall में ये समस्याएँ सेटिंग्स के ऊपर लिस्ट में दिखती हैं। Access memories for this chat पर भी यही बिंदु दिखता है।
हर चिह्नित सीन को एक ही बार में ठीक करने के लिए नोटिस में या लिस्ट में Fix दबाएँ। यह Helper model इस्तेमाल करता है। Pause processing (प्रोसेसिंग रोकें) इसे रोकता है और Resume processing (प्रोसेसिंग फिर शुरू करें) इसे आगे जारी रखता है। Fix:
- Check who was there (देखें कि कौन मौजूद था) वाले सीन के लिए सहायक मॉडल से फिर पूछता है कि उनमें कौन था। अगर वह अब भी न बता पाए, तो किसी को एक्सेस नहीं मिलता और सीन आपके लिए लिस्ट में आ जाता है।
- प्रतिभागी जाँच आने से पहले सेव हुए पुराने सीन में कौन था, यह जाँचता है।
- उन सीन के नए सारांश लिखता है जिनके संदेश, छिपे संदेश, कैरेक्टर के नाम या आधार वाले सारांश बदल गए हों, और उन पूरे हो चुके सीन के भी जिनका कोई सारांश नहीं है। आपके मिटाए सारांश मिटे ही रहते हैं।
- एरर की वजह से रुका मेमोरी का काम फिर शुरू करता है।
Fix हाथ से एडिट किया गया सारांश कभी दोबारा नहीं लिखता। ऐसे सारांश वह need your review (आपकी समीक्षा ज़रूरी) के नीचे लिस्ट करता है और आगे बढ़ जाता है। वह आपकी जगह सेटिंग्स नहीं बदल सकता, जैसे किसी कैरेक्टर की जानकारी सीमा या काम करने वाला Decision कनेक्शन।
Fix पूरा होने पर "Advanced Memory fixed N scenes" दिखाता है, साथ में उन सीन के नंबर जिनकी समीक्षा ज़रूरी है। कोई नंबर चुनें, तो वह सीन Access memories for this chat में खुल जाता है। अगर Chat Settings बंद था, तो Show (दिखाएँ) वाला नोटिस आपको वहाँ ले जाता है। जिस सीन के बारे में Fix तय नहीं कर पाया, उसके बारे में अगली बार Fix चलाने पर दोबारा नहीं पूछा जाता, इसलिए उसका कैरेक्टर एक्सेस खुद सेव करें।
सीन दोबारा स्कैन करना
अगर सीन के बदलाव छूट गए हों, जैसे कोई सीन कभी खत्म ही न हुआ हो, तो Chat Settings → Memory Recall में Re-scan scenes (सीन दोबारा स्कैन करें) इस्तेमाल करें।
- जाँचने के लिए पहला और आखिरी संदेश नंबर डालें। शुरू में यह जारी सीन पर सेट रहता है।
- Re-scan (दोबारा स्कैन करें) दबाएँ।
Advanced Memory उन संदेशों में सीन के बदलाव फिर से ढूँढता है और जिन सीन में बदलाव हुआ, उनके सारांश बनाता है। Use Decision model चालू हो तो यह निर्णय मॉडल इस्तेमाल करता है, वरना सहायक मॉडल। रेंज से बाहर के सीन की सीमाएँ और सारांश वैसे ही रहते हैं। अगर आपका एडिट किया हुआ कोई सारांश बदल जाता, तो री-स्कैन रुक जाता है और उस सीन का नाम बताता है।
वैकल्पिक निर्णय मॉडल
निर्णय मॉडल एक छोटा मॉडल है जो हाँ या ना वाले सवालों के जवाब देता है। यह डिफ़ॉल्ट रूप से बंद है और हर Roleplay चैट के लिए अलग सेव होता है।
- Advanced Memory में Use Decision model चालू करें।
- Memory Decision connection (मेमोरी के लिए Decision कनेक्शन) में कोई मॉडल चुनें। Built-in model (बिल्ट-इन मॉडल) के नीचे इसमें वही मॉडल दिखते हैं जो ग्लोबल Decision model (निर्णय मॉडल) में दिखते हैं। जो मॉडल अभी जवाब नहीं दे सकता, वह कारण के साथ धूसर दिखता है, और जो बंद है, वह पूछे जाने पर चालू हो जाता है। Connections के नीचे इसमें आपके सेव किए गए Decision अकाउंट दिखते हैं। देखें निर्णय मॉडल।
यह चुनाव ग्लोबल Decision डिफ़ॉल्ट से अलग है।
यह मॉडल इतिहास तैयार करते समय और जारी सीन की जाँच करते समय सीन की सीमाएँ पहचानता है। नए जवाब से पहले यह दो चरणों में यादें चुनता है। ब्योरे के लिए देखें निर्णय वाला रिकॉल कैसे काम करता है।
होस्टेड अकाउंट को हाल की बातचीत का टेक्स्ट और छोटी सूची में आए वे रीकैप या संदेश भेजे जाते हैं जिन्हें परखा जा रहा है, और वे एक जवाब के लिए कई रिक्वेस्ट का पैसा ले सकते हैं। विकल्प भेजने से पहले रिकॉल कैरेक्टर का एक्सेस जाँचकर उन्हें छाँट देता है।
नए संदेश कौन देखे, यह तय करना
जिस Roleplay ग्रुप चैट में कैरेक्टर एक-एक करके जवाब देते हैं, उसमें Advanced Memory तय कर सकता है कि हर नया संदेश कौन-से कैरेक्टर देखें। तब सीन छोड़ चुके कैरेक्टर से आपको हर पंक्ति खुद नहीं छिपानी पड़ती। मर्ज की गई ग्रुप चैट और एक कैरेक्टर वाली चैट में यह विकल्प नहीं मिलता।
- Advanced Memory में Decide who sees new messages चालू करें।
हर नया संदेश, चाहे आपका हो या किसी कैरेक्टर का, उन कैरेक्टर से छिप जाता है जो सीन में नहीं हैं। इसके लिए वही हर कैरेक्टर के लिए अलग Hide from AI (AI से छिपाएँ) इस्तेमाल होता है जो संदेश के अपने बटन से लगता है, इसलिए कटी आँख की निशानी दिखाती है कि संदेश कौन नहीं देख सकता। आपका संदेश पोस्ट करते ही उसके लिए फ़ैसला हो जाता है। पिछले संदेशों के लिए फ़ैसला अगले कैरेक्टर के जवाब देने से पहले हो जाता है।
- यहाँ चुना गया Narrator, और Roleplay कमांड की सेटिंग्स में चुना गया Narrator character (नैरेटर कैरेक्टर), हर संदेश देखते हैं। संदेश लिखने वाला अपना संदेश हमेशा देखता है। फुसफुसाहट पाने वाला कैरेक्टर सीन में न हो, तब भी उसे फुसफुसाहट मिलती है।
- Use Decision model चालू होने पर उस मॉडल से हर कैरेक्टर के लिए पूछा जाता है कि क्या वह साफ़ तौर पर संदेश को देख या सुन नहीं सकता। जिस कैरेक्टर को कहानी कभी सीन में नहीं लाती, वह कहीं और गिना जाता है। वरना Helper model तय करता है। संदेश सिर्फ़ तब छिपता है जब मॉडल को पक्का यकीन हो।
- मॉडल मौजूदा सीन के अब तक के संदेश पढ़ता है, और उससे पहले के कम से कम आखिरी कुछ संदेश भी। उसे उन कैरेक्टर की लिस्ट भी मिलती है जो सीन शुरू होने के बाद से बोल चुके हैं। यह लिस्ट सिर्फ़ एक संकेत है: चुपचाप सुन रहा कैरेक्टर भी मौजूद गिना जाता है।
- अगर आप किसी संदेश का Hide from AI खुद बदलते हैं, या
/hideया/unhideइस्तेमाल करते हैं, तो आपका चुनाव बना रहता है और Advanced Memory उस संदेश को फिर कभी नहीं बदलता। - हर संदेश के लिए फ़ैसला एक ही बार होता है। मॉडल फ़ेल हो जाए या उसका टाइमआउट हो जाए, तो कुछ नहीं छिपता और एरर सर्वर लॉग में जाती है।
Advanced Memory चालू होने पर कैरेक्टर का नया जवाब **, --- या जैसी ब्रेक लाइन से सीन या पॉइंट ऑफ़ व्यू बदल सकता है। तब जवाब उसी कैरेक्टर के अलग-अलग संदेशों के रूप में सेव होता है, हर हिस्से के लिए एक।
- हर हिस्से के अपने दर्शक होते हैं। Decide who sees new messages, Hide from AI और फुसफुसाहट हर हिस्से पर लागू होते हैं।
- लिखने वाला कैरेक्टर फिर भी हर हिस्सा देखता है। अगर उसे कोई हिस्सा नहीं देखना चाहिए, तो वह हिस्सा उससे खुद छिपाएँ।
- ब्रेक लाइन अपने बाद वाले हिस्से के सबसे ऊपर रहती है। कोड ब्लॉक या
<details>जैसे HTML ब्लॉक के अंदर का ब्रेक नहीं गिना जाता। - जवाब की थिंकिंग पहले हिस्से पर दिखती है। Exclude Past Reasoning (पुरानी रीज़निंग छोड़ें) बंद होने पर भी यह मॉडल को वापस नहीं भेजी जाती।
- संदेश की जानकारी, ट्रैकर और एजेंट के नतीजे आखिरी हिस्से के साथ जाते हैं।
- Prose Guardian जैसे दोबारा लिखने वाले एजेंट हर हिस्से को अलग से दोबारा लिखते हैं। Hold Message Until Rewrite (दोबारा लिखे जाने तक संदेश रोके रखें) चालू होने पर हर हिस्सा अपने दोबारा लिखे जाने का इंतज़ार करता है। अगर किसी एक हिस्से को दोबारा लिखना फ़ेल हो जाए, तो वह हिस्सा जैसा लिखा था वैसा ही रहता है।
- बोलकर पढ़ने वाला ऑटो-प्ले हर हिस्से को क्रम से पढ़ता है।
- किसी हिस्से को स्वाइप या दोबारा जेनरेट करने पर सिर्फ़ उसी संदेश का नया वर्ज़न बनता है। पहले वाले किसी हिस्से के नए वर्ज़न में पहले ब्रेक से पहले का टेक्स्ट ही रहता है।
- Continue और Impersonate कभी नहीं बँटते।
Character recollections
हर कैरेक्टर को किसी सीन की अपनी याद देने के लिए Character recollections चालू करें। यह डिफ़ॉल्ट रूप से बंद है।
- पूरे हो चुके सीन में मौजूद हर कैरेक्टर को एक छोटी याद मिलती है, लगभग 50 से 100 शब्दों की, जो उसकी अपनी आवाज़ में "मैं" के रूप में लिखी जाती है। वह किन बातों पर ध्यान देता है, यह उसका कार्ड तय करता है। Narrator, आपके पर्सोना और कहीं और मौजूद कैरेक्टर को कोई याद नहीं मिलती।
- मॉडल सिर्फ़ वही इस्तेमाल कर सकता है जो हर कैरेक्टर जान सकता था। जो निजी याद किसी ऐसी बात से लगातार चार शब्द हूबहू उतारती है जो उसका कैरेक्टर नहीं जान सकता था, वह छोड़ दी जाती है। दूसरे शब्दों में दोबारा कही गई बात से बचाव सिर्फ़ निर्देशों से होता है।
ये सही कैसे रहती हैं:
- कोई निजी याद तभी तक मान्य रहती है जब तक उसका कैरेक्टर ठीक वही पढ़ सकता है जो वह उस याद के लिखे जाते समय पढ़ सकता था। अगर बाद में सीन का कोई संदेश उससे छिपाया जाए या उसे दिखाया जाए, तो जेनरेट की गई निजी याद दोबारा लिखी जाती है। आपकी एडिट की हुई याद तब तक प्रॉम्प्ट से बाहर रहती है जब तक आप उसे जाँचकर फिर से सेव न करें।
- नए सीन की निजी यादें उसी रिक्वेस्ट से बनती हैं जिससे उसका सारांश बनता है। अगर कोई कैरेक्टर कार्ड इसके लिए बहुत बड़ा हो, तो निजी यादें बाद में अपनी अलग रिक्वेस्ट में आती हैं। जिस कैरेक्टर का कार्ड सीन के लिए सहायक मॉडल के पास मौजूद जगह में से आधे से ज़्यादा ले लेता है, उसे कोई निजी याद नहीं मिलती।
- जिस चैट के सीन के सारांश बन चुके हैं, उसमें इसे चालू करने पर एक-एक सीन करके निजी यादें जुड़ती हैं, और इस दौरान Writing character recollections दिखता है। सीन सारांश कभी नहीं बदलते। Resume फ़ेल हुए सीन को फिर से आज़माता है।
- अगर मॉडल कुछ भी काम का न लिखे, तो सीन में तब तक एक खाली निजी याद रहती है जब तक उसका सारांश या पढ़ा जा सकने वाला टेक्स्ट न बदले। आप Access memories for this chat में खुद एक निजी याद लिख सकते हैं।
ये कहाँ दिखती हैं और इनका खर्च क्या है:
- निजी यादें सिर्फ़ रिकॉल किए गए सीन के साथ आती हैं: सीन के सारांश के नीचे और उसके अंश से पहले, हर कैरेक्टर की एक लाइन। जिस ग्रुप चैट में कैरेक्टर एक-एक करके जवाब देते हैं, उसमें हर कैरेक्टर सिर्फ़ अपनी निजी याद देखता है। मर्ज किए गए जवाब में सीन को याद रखने वाला हर मौजूद कैरेक्टर नाम के साथ दिखाया जाता है।
- ये Summary and recall budget में गिनी जाती हैं। पहले सारांश आते हैं, फिर निजी यादें, फिर अंश। पहले अंश छोटे होते हैं, फिर पूरी की पूरी निजी यादें छोड़ दी जाती हैं। कोई निजी याद कभी बीच से नहीं काटी जाती।
- निजी यादें कभी Chat Summaries में नहीं जातीं, और न ही यह तय करती हैं कि कौन-से सीन रिकॉल हों।
- किसी सीन का सारांश बदलने के बाद, हर जवाब के बाद ज़्यादा से ज़्यादा तीन सीन की जेनरेट की गई निजी यादें दोबारा लिखी जाती हैं, सबसे नए सीन पहले। Prepare existing history, Re-scan scenes और Resume ये सभी दोबारा लिख देते हैं।
एडिट करना और बंद करना:
- Access memories for this chat में कोई सीन खोलकर हर निजी याद पढ़ और एडिट कर सकते हैं। एडिट की गई याद पर Manually edited का निशान लगता है और उसकी जगह कभी नई याद नहीं आती। Delete उसे हमेशा के लिए प्रॉम्प्ट से हटा देता है, लेकिन आप नई याद टाइप कर सकते हैं।
- सेटिंग बंद करने पर सेव की हुई निजी यादें बनी रहती हैं, लेकिन प्रॉम्प्ट में नहीं जातीं। एक्सपोर्ट, इंपोर्ट और ब्रांच में ये भी शामिल रहती हैं।
Game Mode में
Game Mode की चैट में भी Advanced Memory Recall इसी तरह Chat Settings → Memory Recall में चालू होता है। इसके बिना Game सेशन हर टर्न में अपना पूरा इतिहास भेजता है, कॉन्टेक्स्ट सीमा तक, इसलिए लंबे सेशन में हर टर्न पर कहीं ज़्यादा इनपुट टोकन खर्च होते हैं। इसके साथ प्रॉम्प्ट Maximum allowed context before compression के नीचे रहता है। मौजूदा सीन लाइव संदेशों के रूप में जाता है, और पहले के सीन रीकैप और रिकॉल के चुने हुए पलों के रूप में।
- Game Master हर याद पढ़ता है। न Narrator चुनने का विकल्प है, न जानकारी सीमाएँ, न संदेशों की अपने आप तय होने वाली दृश्यता, और न कैरेक्टर की निजी यादें।
- जगह। रीकैप और रिकॉल किए गए सीन इतिहास के बाद, GM के टर्न वाले निर्देशों के ठीक पहले जाते हैं। उनके आगे के निर्देश और इतिहास हर टर्न में वैसे ही रहते हैं, इसलिए प्रॉम्प्ट कैशिंग वाला कनेक्शन उन्हें दोबारा इस्तेमाल कर सकता है। सीन खत्म होने पर एक रिक्वेस्ट को कैश का फ़ायदा नहीं मिलता।
- स्रोत। रीकैप उस कहानी से बनते हैं जो आपको दिखती है: सेगमेंट में आपके किए बदलाव लागू होते हैं और GM के कमांड टैग छोड़ दिए जाते हैं।
- सेशन। नया सेशन आपकी सेटिंग्स रखता है, लेकिन अपना अलग आर्काइव शुरू करता है। GM को पहले के सेशन के रीकैप फिर भी मिलते हैं।
- निर्णय मॉडल। वैकल्पिक है और डिफ़ॉल्ट रूप से बंद। देखें वैकल्पिक निर्णय मॉडल। यह हर टर्न में छोटी रिक्वेस्ट जोड़ता है।
- खर्च। सहायक मॉडल हर सीन का एक रीकैप लिखता है और हर कुछ टर्न बाद सीन बदलने की जाँच करता है। लंबे सेशन को दोबारा भेजने के मुकाबले ये रिक्वेस्ट छोटी होती हैं।
- Game चैट के प्रॉम्प्ट प्रीव्यू में अभी Advanced Memory नहीं दिखती। अंतिम प्रॉम्प्ट इंस्पेक्टर इस्तेमाल करें।
समस्या-समाधान
| समस्या | हल |
| Memory Recall कुछ भी रिकॉल नहीं करता | जाँचें कि कोई एम्बेडिंग सोर्स सेट है। अगर चंक पर Embedding unavailable दिखे, तो Semantic search (embeddings) मॉडल सेट करें या बिल्ट-इन मॉडल इस्तेमाल करें। देखें बिल्ट-इन मॉडल का सेटअप। |
| चंक पर Waiting for vector दिखता है | थोड़ा समय दें। फ़िंगरप्रिंट जवाबों के बाद बनते हैं। |
| कुछ भी जुड़ा हुआ नहीं लगता | रिकॉल सिर्फ़ गहराई से जुड़ी यादें जोड़ता है। कुछ न जोड़ना सामान्य है। |
| एम्बेडिंग मॉडल बदलने के बाद रिकॉल खराब हो गया | Memories for This Chat में दोबारा बनाने वाला आइकन इस्तेमाल करें। |
| सारांश नहीं बन रहे | चैट को काम करने वाला टेक्स्ट अकाउंट चाहिए। Chat Summary Summary Provider इस्तेमाल करता है। कोई भी काम न करे, तो जेनरेशन छोड़ दिया जाता है। |
| AI के सारांश कभी नहीं दिखते | हो सकता है Review Agent Outputs आपकी मंज़ूरी का इंतज़ार कर रहा हो। |
| कोई सारांश अटका है | फ़ेल हुए सारांश कुछ देर बाद फिर आज़माए जाते हैं। Backfill Summary (Roleplay) या Backfill (Conversation) चलाएँ। |
| किसी सीन पर Check who was there का निशान है | Fix दबाएँ, या सीन को Access memories for this chat में खोलें और Edit character access (कैरेक्टर का एक्सेस एडिट करें) इस्तेमाल करें। |
दूसरी समस्याओं के लिए देखें Marinara Engine की समस्याएँ सुलझाना।
रेफ़रेंस: Advanced Memory
ऐसा ब्योरा जिसकी ज़्यादातर पाठकों को ज़रूरत नहीं होती। ऊपर दी गई सेटिंग्स इसे पढ़े बिना भी काम करती हैं।
सीन कैसे पहचाने जाते हैं और उनका सारांश कैसे बनता है
- सीन की पहचान मुख्य Roleplay जवाब सेव होने के बाद चलती है। अंतराल जितने नए संदेश आ जाने पर जाँच को पिछली जाँच के बाद का हर संदेश (अंतराल के दोगुने तक), वह संदेश जिस पर पिछली जाँच खत्म हुई थी, सीन के निर्देश और आउटपुट फ़ॉर्मैट मिलते हैं। यह हर सीन का अंत करने वाला सटीक संदेश बताती है, या सीन जारी हो तो कोई अंत नहीं लौटाती। पर्सोना और कैरेक्टर, दोनों के संदेश गिने जाते हैं।
- निर्णय मोड बंद होने पर, अगर दृश्यता और कॉन्टेक्स्ट बजट इजाज़त दें, तो समय पर होने वाली जाँच किसी योग्य पोस्ट-प्रोसेसिंग ट्रैकर कॉल के साथ चलती है। वरना सहायक मॉडल अपना अलग कॉल करता है। अस्पष्ट बदलाव पर सीन खुला रहता है।
- सिर्फ़ पहचाना गया अंत ही उस सीन के सारांश और संदेश इंडेक्स की बैकग्राउंड तैयारी शुरू करता है। Chat Settings → Agent activity (चैट सेटिंग्स → एजेंट की गतिविधि) प्रगति को Advanced Recall के रूप में दिखाता है, तब भी जब सामान्य एजेंट बंद हों।
- हर सीन सारांश रिक्वेस्ट में सारांश के निर्देश, सीन के योग्य संदेश, लागू रेंज वाले सुधार और JSON आउटपुट फ़ॉर्मैट होते हैं। एक रिक्वेस्ट में न समाने वाले सीन सेव किए गए बैच में प्रोसेस होते हैं और फिर मिलाए जाते हैं। रीकैप के लिए 2 से 3 पैराग्राफ़ माँगे जाते हैं। डिफ़ॉल्ट प्रॉम्प्ट ऐतिहासिक रीकैप लिखता है, जिसमें मौजूदा स्थिति का कोई सेक्शन नहीं होता। Summaries में चुने गए कस्टम प्रॉम्प्ट फिर भी लागू होते हैं।
- शुरुआती इतिहास की पहचान मुख्य या सहायक मॉडल से हो सकती है। सारांश हमेशा सहायक मॉडल से बनते हैं।
- हर सारांश यह भी दर्ज करता है कि उसमें कौन शामिल था। कार्ड से अलग प्रतिभागी नाम, जैसे Kaito Nakamura के लिए "Kaito", तब गिना जाता है जब वह ठीक एक कैरेक्टर से मेल खाए और आपके पर्सोना का नाम न हो। साझा नाम, "Kaito's sister" जैसे विवरण, और "(mentioned)" जैसे नोट वाले नाम कोई एक्सेस नहीं देते। अगर सहायक मॉडल न बताए कि सीन में कौन था, तो सीन हर कैरेक्टर को मिलता है, और ग्रुप चैट में उस पर Check who was there का निशान लगता है। जिस सीन में सिर्फ़ आप दर्ज हों, वह सिर्फ़ नैरेटर के लिए रहता है। प्रतिभागी जाँच आने से पहले सेव हुए सीन तब तक सिर्फ़ नैरेटर के लिए रहते हैं जब तक Fix या Prepare existing history उनकी जाँच न कर ले। सीन पूरा करने वाला हर जवाब भी ज़्यादा से ज़्यादा तीन सीन की जाँच करता है।
- एक-एक करके जवाब देने वाली किसी पुरानी ग्रुप चैट के लिए गायब जानकारी सीमाएँ एक बार पक्की करें। किसी कैरेक्टर की पहली पंक्ति इस बात का सबूत नहीं है कि उसे उससे पहले की हर बात पता थी। किसी असली कैरेक्टर को Narrator तभी चुनें जब उसे भागीदारी की सीमाओं से छूट मिलनी चाहिए। ग्लोबल Hide from AI सिर्फ़ किसी टर्न को लाइव ट्रांसक्रिप्ट से हटाता है। Advanced Memory फिर भी उसे स्कैन करता है, उसका सारांश बनाता है और उसे इंडेक्स करता है। शुरुआत के मार्कर लाइव ट्रांसक्रिप्ट को काटते हैं।
लाइव विंडो और बजट
- प्रॉम्प्ट में प्राथमिकता का क्रम है: स्थायी सारांश (हमेशा चालू रहने वाले सारांश), फिर चुने गए सीन सारांश, फिर कैरेक्टर की निजी यादें, फिर संदेशों के अंश। स्थायी सारांशों का लक्ष्य बजट का ज़्यादा से ज़्यादा 70% है। ज़रूरत पड़ने पर पूरी मेमोरी कॉन्टेक्स्ट सीमा के भीतर 2,000 तक अतिरिक्त टोकन ले सकती है। लाइव संदेश स्थायी सारांशों के हिस्से में नहीं गिने जाते।
- जब भेजा जाने वाला प्रॉम्प्ट सीमा तक पहुँचता है, तो लाइव विंडो सभी कैरेक्टर के लिए सबसे नए सीन की शुरुआत पर रीसेट होती है, फिर दोबारा बढ़ती है। फ़ंक्शन कॉल और रोल के फ़ॉलो-अप नहीं गिने जाते। यह कटऑफ़ Mark as new start में All चुने हुए रूप में दिखता है। इसे वापस लेने के लिए All से टिक हटाएँ। निजी शुरुआत के फ़्लैग फिर भी लागू रहते हैं। अगर कोई अधूरा सीन या बहुत बड़ा स्थायी सारांश न समाए, तो रिक्वेस्ट चिह्नित स्रोत अंश इस्तेमाल करती है और सबसे नए संदेश बनाए रखती है। सेव किए गए सारांश और संदेश कभी ओवरराइट नहीं होते।
- मुख्य जेनरेशन सेव की हुई मेमोरी तुरंत पढ़ता है। यह निरंतरता के किसी काम का कभी इंतज़ार नहीं करता।
- मुख्य जवाब के बाद Advanced Memory उन आर्काइव किए गए संदेशों के लिए Chat Summaries जोड़ता है जिन्हें अभी तक कोई सारांश कवर नहीं करता। एक-एक करके जवाब देने वाली ग्रुप चैट में किसी सीन को पढ़ने वाले सभी कैरेक्टर उसका एक ही सारांश साझा करते हैं।
- जब कोई एक कैरेक्टर जिन सक्रिय सारांशों को पढ़ता है, वे बजट के 70% से ज़्यादा हो जाएँ, तो Updating continuity जवाब के बाद सहायक मॉडल से उन्हें मिलाकर एक सारांश बनाता है, जो उनके आकार का लगभग आधा होता है। जवाब कभी इसका इंतज़ार नहीं करता। जो सारांश अब भी लाइव संदेश कवर करता है, वह तब तक इंतज़ार करता है जब तक वे संदेश लाइव विंडो से बाहर न हो जाएँ। अगर मिलाकर बना सारांश अब भी उस हिस्से से ज़्यादा हो, तो अगला अपडेट उसे फिर से आधा कर देता है।
- हर रिक्वेस्ट में सिर्फ़ आपका Combine prompt (जोड़ने का प्रॉम्प्ट), लगभग आधी लंबाई माँगने वाली एक पंक्ति, और सारांश का टेक्स्ट होता है। जब टेक्स्ट में
{{user}}जैसे मैक्रो हों, तो वह पंक्ति यह भी कहती है कि उन्हें जैसे लिखा है वैसे ही रखा जाए। जो टेक्स्ट एक रिक्वेस्ट के लिए बहुत लंबा हो, वह टुकड़ों में भेजा जाता है, और हर टुकड़ा आधा किया जाता है। सहायक मॉडल का जवाब टेक्स्ट से 1,024 टोकन तक ज़्यादा लंबा हो सकता है। इसकी ऊपरी सीमा 8,196 टोकन है, या Chat Summary → Maximum output size, अगर वह इससे बड़ा हो। - अलग-अलग कैरेक्टर जिन सारांशों को पढ़ते हैं, वे एक में मिला दिए जाते हैं, आपके लिखे सारांश भी। निजी हिस्से अपने
{{#if char == "Name"}}…{{/if}}सेक्शन में ठीक उन्हीं कैरेक्टर के लिए रहते हैं जिन्हें वे पता थे। कैरेक्टर का हर समूह जो टेक्स्ट पढ़ता है, वह अपनी अलग रिक्वेस्ट में, अपनी शर्त के बिना, छोटा किया जाता है और फिर उसी शर्त के अंदर लौट आता है। समूह उसी क्रम में आते हैं जिसमें हर एक पहली बार दिखता है। 64 टोकन से छोटा हिस्सा जैसा है वैसा ही रहता है, उसके लिए कोई रिक्वेस्ट नहीं जाती। दूसरे मैक्रो इस्तेमाल करने वाले सारांश जैसे हैं वैसे ही रहते हैं। अगर सिर्फ़ यही किसी कैरेक्टर का पूरा हिस्सा भर दें, तो उन्हें हाथ से छोटा करें या बजट बढ़ाएँ। बदली गई एंट्री निष्क्रिय हो जाती हैं, इसलिए आप उन्हें फिर से चालू कर सकते हैं। - अगर सहायक मॉडल का जवाब अपनी सीमा पर कट जाए, खाली हो, पहले से छोटा न हो या कोई मैक्रो जोड़ दे, या नतीजे से यह बदल जाए कि कोई हिस्सा कौन पढ़ सकता है, तो सारांश जैसे हैं वैसे ही रहते हैं और अपडेट फिर भी पूरा होता है। वही सारांश तब तक दोबारा नहीं भेजे जाते जब तक उनमें से कोई न बदले, या आप सहायक मॉडल या Combine prompt न बदलें। Resume processing ऐसे अपडेट को फिर से आज़माता है जो किसी एरर पर रुक गया हो।
- किसी कैरेक्टर के प्रॉम्प्ट में सारांश की संदेश रेंज और तारीखें सिर्फ़ उन संदेशों से दिखती हैं जो वह कैरेक्टर देख सकता है। अकेले जवाब देने वाला Narrator हर हिस्सा एक बार पढ़ता है।
रिकॉल क्या लौटाता है
- एक Recalled Scenes सेक्शन में हर सारांश और उसके बाद उसका अंश, अगर हो, एक ही रेंज शीर्षक के नीचे आते हैं। यह ब्लॉक मौजूदा लाइव इतिहास की रेंज और आखिरी यूज़र संदेश का नंबर बताता है, ताकि पुरानी घटनाएँ मौजूदा टर्न न समझ ली जाएँ।
- कोई सीन तभी रिकॉल होता है जब उसके सभी स्रोत संदेश भेजे जा रहे लाइव इतिहास से बाहर हों। रेंज वाले Chat Summaries तब तक छोड़े जाते हैं जब तक उनका कवर किया कोई संदेश लाइव हो। वे सेव और चालू रहते हैं। योग्य स्थायी सारांश वैकल्पिक रिकॉल से पहले आते हैं। किसी भी अंश से पहले सभी चुने गए सारांशों के लिए जगह रखी जाती है।
- इलस्ट्रेशन अटैचमेंट और इमेज कैप्शन रिकॉल किए गए टेक्स्ट और नए सारांश के इनपुट से हटा दिए जाते हैं। पढ़े जा सकने वाले टेक्स्ट अटैचमेंट बने रहते हैं।
- निर्णय मोड बंद होने पर रिकॉल तैयार यादें पढ़ता है। क्वेरी एम्बेडिंग की समय-सीमा छोटी होती है, और उसके बाद टेक्स्ट मिलान इस्तेमाल होता है। टेक्स्ट मिलान में जवाब देने वाले कैरेक्टर के पिछली बार बोलने के बाद आए आपके संदेशों के खास शब्दों को ज़्यादा महत्व मिलता है। उन संदेशों में लिए गए नाम को सबसे ज़्यादा महत्व मिलता है। जवाब देने वाले कैरेक्टर और आपके पर्सोना के नामों को यह महत्व नहीं मिलता, न ही उस नाम को जो ज़्यादातर यादों में आता हो। इससे मॉडल का कोई कॉल नहीं जुड़ता।
- रिकॉल सिर्फ़ मुख्य Roleplay जेनरेशन के लिए चलता है। एजेंट कॉल, एजेंट के मैनुअल री-रन और ड्राई रन न इसे शुरू करते हैं, न इसे पाते हैं।
- स्वाइप उसी जवाब की सबसे पहली संगत सेव की हुई मेमोरी दोबारा इस्तेमाल करते हैं। स्वाइप तब दोबारा रिकॉल करता है जब तब से कोई ऐसा पिछला सीन सेव, एडिट, चालू या बंद हुआ हो जिसे उसका कैरेक्टर रिकॉल कर सकता था। किसी जवाब को आगे जारी करने पर वही मेमोरी रहती है जिससे वह शुरू हुआ था। इतिहास, एक्सेस सेटिंग्स, सारांश या यादों में बदलाव सेव किए गए स्नैपशॉट को अमान्य कर देते हैं।
- स्रोत संदेश एडिट करने, स्वाइप करने, छिपाने या मिटाने पर उनसे प्रभावित मेमोरी इस्तेमाल से पहले दोबारा जाँची जाती है। पुराने जवाब को दोबारा जेनरेट करने पर सिर्फ़ लक्ष्य से पहले के स्रोत इस्तेमाल होते हैं।
- मेमोरी रिपोर्ट अनुमानित कॉन्टेक्स्ट आकार, चुनी गई सीमा और रिकॉल किए गए स्रोत दिखाती है। कुछ भी रिकॉल न होने पर यह बताती है कि कोई पिछला सीन था ही नहीं, जगह नहीं बची थी, या कुछ भी प्रासंगिक नहीं था। प्रॉम्प्ट प्रीव्यू तैयार मेमोरी इस्तेमाल करता है और मॉडल का कोई कॉल शुरू नहीं करता। अंतिम प्रॉम्प्ट इंस्पेक्टर दिखाता है कि मॉडल को क्या भेजा गया।
- जब रिकॉल किए गए किसी सीन का कोई अंश नहीं होता, तो रिपोर्ट इसकी वजह बताती है: सारांशों के बाद जगह नहीं बची, या उसका कोई भी संदेश अंश में नहीं लिया जा सकता।
Access memories for this chat
इसे खोलकर नंबर वाले सीन सारांश खोज सकते हैं, उनका समय और दर्शक देख सकते हैं, Summary text (सारांश टेक्स्ट) एडिट कर सकते हैं, या Inspect source messages (स्रोत संदेश देखें) से असली संदेश पढ़ सकते हैं। आप रिकॉर्ड बंद कर सकते हैं, Reindex (दोबारा इंडेक्स करें) कर सकते हैं, एक्सपोर्ट और इंपोर्ट कर सकते हैं, या चैट और सेटिंग्स बचाए रखते हुए तैयारी फिर से शुरू करने के लिए Delete all memories (सभी यादें हटाएँ) चुन सकते हैं। हाथ से लिखे सारांशों के सुधार बचे रहते हैं और उन पर निर्भर निरंतरता को अमान्य कर देते हैं। किसी सारांश के नीचे Delete summary (सारांश मिटाएँ) उसे तब हटाता है जब आप सारांश और दर्शकों की पुष्टि कर दें। यह पुरानी Continuity (निरंतरता) और Ongoing scene (जारी सीन) एंट्री के लिए भी काम करता है। नियमित तैयारी मिटाए गए रीकैप दोबारा नहीं बनाती।
किसी सीन को रिकॉल से बाहर रखने के लिए उसका मेमोरी रिकॉर्ड बंद करें। उसका एक्सेस किसे है, यह अब भी कैरेक्टर के हिसाब से छिपाना तय करता है। ग्लोबल छिपाना उसे आर्काइव से नहीं हटाता।
सीन कौन पढ़ सकता है
- सीन के कुछ हिस्से में मौजूद कैरेक्टर उसकी मेमोरी का एक्सेस बाकी प्रतिभागियों के साथ साझा करता है, भले ही कुछ संदेश उससे छिपे हों। जिस सीन का कोई भी स्रोत संदेश एक्सेस नहीं किया जा सकता, वह उपलब्ध नहीं होता। गैरमौजूद कैरेक्टर का ज़िक्र करने से वह प्रतिभागी नहीं बन जाता।
- नए रीकैप संदेशों की दृश्यता दर्ज करते हैं, साझा घटनाएँ सामान्य गद्य में रखते हैं और निजी हिस्सों के लिए
{{#if character == "Name"}}…{{/if}}इस्तेमाल करते हैं। अगर दृश्यता या किसी रीकैप का लक्षित कैरेक्टर बदल जाए, तो पुराना रीकैप आंशिक एक्सेस वाले पाठकों को तब तक नहीं दिया जाता जब तक आप उस सीन को फिर से तैयार न करें (Fix हर ऐसे सीन के लिए यही करता है) या उसकी निजी शर्तों की समीक्षा करके उन्हें सेव न करें। बाद में जुड़ने वाला कैरेक्टर बदलाव तभी गिना जाता है जब उसे सीन का सिर्फ़ कुछ हिस्सा दिखता हो। किसी कैरेक्टर के जुड़ने के बाद पुराने रीकैप के लिए एक बार Fix चलाना ज़रूरी है। हर स्रोत संदेश तक एक्सेस वाले पाठक अब भी उसे रिकॉल कर सकते हैं। हाथ से सुधारा गया टेक्स्ट कभी चुपचाप दोबारा नहीं लिखा जाता। - सीन की तारीखें सभी तय प्रतिभागियों के लिए साझा होती हैं। मूल अंशों में कैरेक्टर से छिपे संदेश या फुसफुसाहट कभी शामिल नहीं होते। जिस सारांश के कुछ हिस्से सिर्फ़ कुछ कैरेक्टर के लिए हैं, उसे भी अंश मिलता है, जिसमें सिर्फ़ वही होता है जो उस कैरेक्टर ने देखा था। किसी संदेश को किसी कैरेक्टर की याद से बाहर रखने के लिए उसे उस कैरेक्टर से छिपाएँ।
- मर्ज की गई ग्रुप चैट में रिकॉल में वह सब शामिल होता है जो कम से कम एक कैरेक्टर को याद है। जो सीन या निजी हिस्सा हर कैरेक्टर को पता नहीं है, उस पर निशान लगता है, जैसे "known only to Kaito"। अंश में सिर्फ़ वे संदेश होते हैं जो उसे याद रखने वाले हर कैरेक्टर ने देखे थे। जो यादें चैट के किसी भी कैरेक्टर के पास नहीं हैं, जैसे सिर्फ़ नैरेटर वाले सीन, वे बाहर रहती हैं। एक-एक करके जवाब देने वाली ग्रुप चैट में हर कैरेक्टर सिर्फ़ अपनी यादें रिकॉल करता है।
निर्णय वाला रिकॉल कैसे काम करता है
- पहले सामान्य रिकॉल ज़्यादा से ज़्यादा 24 सीन रीकैप की छोटी सूची बनाता है, या Maximum recalled scenes इससे ज़्यादा हो तो उतने की। यह छोटी सूची टेक्स्ट मिलान और एम्बेडिंग को मिलाकर बनती है। एम्बेडिंग हर सीन की तुलना आपके उन ज़्यादा से ज़्यादा छह संदेशों से करती है जो जवाब देने वाले कैरेक्टर के पिछली बार बोलने के बाद आए हैं। पहले जवाब के लिए आपका सबसे नया संदेश इस्तेमाल होता है। जब तक लगभग हर सीन की एम्बेडिंग न बन जाए, छोटी सूची सामान्य रिकॉल की रैंकिंग इस्तेमाल करती है। सबसे अच्छे तीन सीन में से हर एक के ठीक बाद वाले सीन को भी जगह मिलती है।
- मॉडल जिस भी रीकैप को परखता है, वह एक लाइन से शुरू होता है: संदेश रेंज, कहानी की तारीख और किसने बोला। मॉडल काम के सीन चुनता है, फिर हर चुने गए सीन के सबसे अच्छा मेल खाने वाले ज़्यादा से ज़्यादा 12 मूल संदेश परखकर उसका अंश चुनता है। सबसे अच्छा चुना गया संदेश अंश का केंद्र होता है, और बाकी चुने गए संदेश उसे Maximum messages per excerpt (हर अंश में अधिकतम संदेश) तक लंबा करते हैं।
- हर नए संदेश के लिए मॉडल यह भी जाँचता है कि क्या कहानी किसी दूसरी जगह या समय पर चली जाती है, कहीं और मौजूद कैरेक्टर पर पहुँच जाती है, या संदेश किसी सीन-ब्रेक लाइन के बाद आता है। उसे इससे पहले के तीन संदेश दिखते हैं, और यह भी कि उन्हें किसने लिखा। सीमा अनिश्चित होने पर सीन खुला रहता है। सही निर्णय में भी कुछ न चुना जाना संभव है।
- समय-सीमा: हर चरण को लगभग इतना समय मिलता है: मॉडल को एक सवाल के लिए जितना समय चाहिए, उसे सवालों की संख्या से गुणा करके उसमें उसका आधा और जोड़ा जाता है, कम से कम 10 और ज़्यादा से ज़्यादा 25 सेकंड। हर जवाब के लिए दोनों चरणों को मिलाकर ज़्यादा से ज़्यादा 40 सेकंड मिलते हैं। जब मॉडल हर सवाल नहीं निपटा पाता, तो वह कम सवाल परखता है, सबसे अच्छे मेल वाले पहले। रिक्वेस्ट छोटी होती हैं, इसलिए समय पर आए जवाब फिर भी गिने जाते हैं। इस दौरान जवाब में उसका सामान्य Thinking… प्लेसहोल्डर दिखता है।
- जब कोई एक रिक्वेस्ट फ़ेल हो जाए, उसका टाइमआउट हो जाए या वह बहुत बड़ी हो, तो सिर्फ़ वही यादें सामान्य रिकॉल पर लौटती हैं, मॉडल के चुने हुए सीन के बाद, और रिपोर्ट में यह बताया जाता है। कनेक्शन न होने पर, या किसी चरण में कोई जवाब न आने पर, रिकॉल पूरी तरह छोटी सूची की रैंकिंग और टेक्स्ट मिलान पर लौट जाता है। सीन के निर्णय उपलब्ध न हों, तो सामान्य सीन जाँच इस्तेमाल होती है।
- इस मोड में भी एम्बेडिंग बनती हैं। नए सारांश वाले सीन की एम्बेडिंग तुरंत बन जाती है। पुराने सीन और किसी दूसरे एम्बेडिंग मॉडल से बने सीन की एम्बेडिंग जवाबों के बाद थोड़ी-थोड़ी करके बनती है। Reindex सबकी एम्बेडिंग एक साथ बना देता है।
- Peek Prompt → Decision diagnostics → Advanced Memory activity (Peek Prompt → निर्णय जाँच → Advanced Memory गतिविधि) सबसे नए रिकॉल और सीन जाँच के सेव किए गए नतीजे दिखाता है: मॉडल, समय, स्कोर, चुनी गई यादें या सीन की शुरुआत, फ़ॉलबैक की स्थिति, और यह कि किसी सीन का अंश क्यों नहीं है। इसमें ज़्यादा से ज़्यादा 128 नतीजे रहते हैं। ये पिछली गतिविधि हैं, भविष्यवाणी नहीं। इसे खोलने से निर्णय दोबारा नहीं चलते। संगत स्वाइप सेव किए गए चुनाव दोबारा इस्तेमाल करते हैं। आगे जारी किया गया जवाब अपनी यादें फिर से चुनता है।
- होस्टेड Decision अकाउंट को उनके कॉन्टेक्स्ट बजट के भीतर सीमित बैच मिलते हैं। मैनेज किए गए Open-Jev मॉडल हर सवाल के लिए अपना मापा हुआ समय इस्तेमाल करते हैं, और Decision अकाउंट किसी रिक्वेस्ट के सारे सवालों के जवाब एक साथ देता है, इसलिए हर रिक्वेस्ट एक ही बार गिनी जाती है।
प्रीसेट में जगह
प्रीसेट बनाने वाले सेक्शन के क्रम, नाम, रोल और ग्रुप के सामान्य कंट्रोल से ये कॉन्टेंट मार्कर रख सकते हैं:
| मार्कर | कॉन्टेंट |
chat_summary | Chat Summaries की योग्य स्थायी एंट्री। |
current_scene_summary | जारी सीन के पुराने हिस्से के स्रोत अंश। |
recalled_scenes | सभी चुने गए सीन सारांश, हर एक के बाद उसका अंश। |
हर हिस्सा प्रीसेट का XML, Markdown या None (बिना फ़ॉर्मैट) फ़ॉर्मैट मानता है। खाली हिस्से कुछ नहीं भेजते। पहला चालू मार्कर जगह तय करता है। जिन हिस्सों का कोई चालू मार्कर नहीं है, वे इतिहास से पहले एक बार जुड़ते हैं, इसलिए पुराने प्रीसेट भी चलते हैं। प्रीसेट पिकर में सिर्फ़ Recalled Scenes मिलता है। पुराना recalled_messages मार्कर इसका दूसरा नाम है, और चालू recalled_scenes मार्कर को प्राथमिकता मिलती है। Advanced Memory बंद होने पर ये मार्कर खाली रहते हैं।
सीमाएँ
रिकॉल चुनिंदा होता है और सारांश बारीकियाँ छोड़ सकते हैं। ज़रूरी सुधार मूल ट्रांसक्रिप्ट या सारांश एडिटर में रखें। एम्बेडिंग फ़ेल हो, तो सीमित टेक्स्ट रिकॉल और सही निरंतरता बनी रहती है। पूरा आर्काइव कभी एक साथ नहीं जोड़ा जाता। अगर निर्देश या कोई अटैचमेंट सीमा में न समाए, तो उन्हें कम करें या सीमा बढ़ाएँ। अगर जवाब के लिए रखी गई जगह मॉडल के कुल कॉन्टेक्स्ट में न समाए, तो आउटपुट आकार घटाएँ या बड़े कॉन्टेक्स्ट वाला मॉडल चुनें। Advanced Memory निर्देश चुपचाप हटाने के बजाय रुक जाता है।
चालू रहते समय रिकॉल का काम Advanced मोड ही संभालता है, इसलिए Standard Recall दूसरी कॉपी नहीं डालता। उस चैट में यह Roleplay के सामान्य अपने आप सारांश बनने के शेड्यूल की जगह भी लेता है। इसे बंद करने पर सामान्य सेटिंग्स फिर लागू हो जाती हैं। मौजूदा लोरबुक और डाउनलोड किए जा सकने वाले एजेंट अपनी-अपनी सीमा के नियम बनाए रखते हैं।
मिलती-जुलती गाइड
- बिल्ट-इन मॉडल का सेटअप
- किसी AI प्रोवाइडर से कनेक्ट करना
- Conversation मोड: शुरुआत
- Roleplay मोड: शुरुआत
- Marinara Engine की समस्याएँ सुलझाना