लोरबुक की एंट्री: कीवर्ड, पोज़िशन और टाइमिंग

एंट्री लोरबुक का एक तथ्य है, और उसके साथ वे नियम जो तय करते हैं कि Marinara उसे प्रॉम्प्ट में कब जोड़े। इस गाइड में एंट्री जोड़ना, कीवर्ड और एंट्री का प्रकार चुनना, एंट्री प्रॉम्प्ट में कहाँ जाए यह तय करना, और टाइमिंग शामिल हैं।

शुरू करने से पहले: एक लोरबुक बनाएँ और उसे खोलें। देखें लोरबुक का परिचय।

Entries टैब

Lorebooks (लोरबुक) पैनल से कोई लोरबुक खोलें। एडिटर में दो टैब हैं, Overview (ओवरव्यू) और Entries (एंट्री)। लिस्ट देखने के लिए Entries पर क्लिक करें। टैब पर बना बैज बताता है कि आपकी कितनी एंट्री हैं।

टूलबार में ये कंट्रोल हैं।

टूलबार के नीचे की एक पंक्ति एंट्री की गिनती, फ़ोल्डर की गिनती और सारे एंट्री कॉन्टेंट का कुल अनुमानित टोकन दिखाती है।

एंट्री जोड़ना और बदलना

  1. Add Entry पर क्लिक करें। एक नई पंक्ति दिखती है।
  2. पंक्ति में नाम टाइप करें। हर एंट्री का नाम ज़रूरी है। नाम आपके लिए और सर्च के लिए है, AI के लिए नहीं।
  3. पंक्ति पर, या उसके तीर पर क्लिक करें। पंक्ति के नीचे एक पैनल खुलता है, जिसमें सारे फ़ील्ड होते हैं।
  4. Primary Keys में कोई कीवर्ड टाइप करें और <kbd>Enter</kbd> दबाएँ। फिर Content में AI के लिए टेक्स्ट लिखें। देखें कॉन्टेंट और कीवर्ड।

बदलाव अपने आप सेव हो जाते हैं। ड्रॉअर में पहले Autosaving…, फिर Saving…, फिर Saved automatically दिखता है। सेव न हो पाए, तो आपका टेक्स्ट वहीं रहता है और Marinara आपके अगले बदलाव पर दोबारा कोशिश करता है।

किसी एंट्री की कॉपी बनाने के लिए उसकी पंक्ति पर Duplicate entry पर क्लिक करें। उसे हटाने के लिए Delete entry पर क्लिक करें और पुष्टि करें। कंप्यूटर पर ये बटन तब दिखते हैं, जब आप पंक्ति पर माउस ले जाते हैं।

कॉन्टेंट और कीवर्ड

फ़ील्डयह क्या है
Primary Keysवे शब्द जो एंट्री को ट्रिगर करते हैं। कीवर्ड जोड़ने के लिए उसे टाइप करें और <kbd>Enter</kbd> दबाएँ। Normal एंट्री किसी भी एक मैच पर चालू हो जाती है।
ContentAI को भेजा जाने वाला टेक्स्ट। इसे सादे तथ्य की तरह लिखें। इसमें मैक्रो इस्तेमाल हो सकती हैं, और बॉक्स के नीचे टोकन का अनुमान दिखता है।
Secondary Keysअतिरिक्त कीवर्ड, जो सिर्फ़ Selective एंट्री इस्तेमाल करती हैं।
Descriptionएक छोटा सारांश, जिसे सिर्फ़ Knowledge Router एजेंट पढ़ता है। यह मुख्य मॉडल को कभी नहीं भेजा जाता। देखें नॉलेज सोर्स।

10 से ज़्यादा कीवर्ड वाली लिस्ट पहले 10 दिखाती है। बाकी देखने के लिए Show N more पर, और उन्हें छिपाने के लिए Collapse (समेटें) पर क्लिक करें। छिपे हुए कीवर्ड भी मैच होते हैं।

उदाहरण के लिए, मान लें Silverhaven नाम की एक एंट्री है, जिसके कीवर्ड Silverhaven और the capital हैं और कॉन्टेंट Silverhaven is the mountain capital. Its people mine blue crystal and distrust outsiders. है। हाल की चैट में इनमें से कोई भी कीवर्ड आते ही यह एंट्री AI तक पहुँचती है।

मैचिंग के नियम

डिफ़ॉल्ट रूप से कीवर्ड तब मैच करता है जब वह हाल की चैट में कहीं भी आए, छोटे और बड़े अक्षरों का फ़र्क किए बिना। तीन कंट्रोल इसे बदलते हैं।

Regex तभी इस्तेमाल करें जब आपको रेगुलर एक्सप्रेशन आते हों। हर पैटर्न एक छोटी समय सीमा के साथ चलता है, और जो पैटर्न बहुत देर तक चले वह मैच नहीं करता, इसलिए पैटर्न सरल रखें। उदाहरण के लिए, \bVlad(?:'s)?\b "Vlad" और "Vlad's" से मैच करता है।

एंट्री का प्रकार चुनें

प्रकार का मेन्यू खोलने के लिए पंक्ति पर बने रंगीन बिंदु पर क्लिक करें।

हर Constant एंट्री हर संदेश पर टोकन खर्च करती है, इसलिए इन्हें गिनी-चुनी रखें।

Selective एंट्री के लिए Secondary Keys जोड़ें और कोई Logic बटन चुनें।

लॉजिकएंट्री तब चलती है जब
AND Anyकम से कम एक सेकंडरी कीवर्ड भी आए।
AND Allहर सेकंडरी कीवर्ड भी आए।
NOT Anyकोई भी सेकंडरी कीवर्ड न आए।
NOT Allसारे सेकंडरी कीवर्ड एक साथ न आएँ।

उदाहरण के लिए, प्राइमरी कीवर्ड king, सेकंडरी कीवर्ड Silverhaven और AND Any वाली एंट्री तभी चलती है, जब चैट में दोनों का ज़िक्र हो।

अगर यह काम नहीं किया: बिना कीवर्ड वाली Normal एंट्री के पास मैच करने के लिए कुछ नहीं होता। कीवर्ड जोड़ें, या उसे Constant बनाएँ। बिना कीवर्ड वाली एंट्री अर्थ के आधार पर तब भी मिल सकती है, पर सिर्फ़ तब जब सिमैंटिक सर्च पूरी तरह सेट हो।

Position, Depth और Order

ये कंट्रोल तय करते हैं कि चालू हुई एंट्री प्रॉम्प्ट में कहाँ जाएगी। चौड़ी स्क्रीन पर ये कॉम्पैक्ट पंक्ति पर रहते हैं। पतली स्क्रीन पर पंक्ति का Entry quick controls बटन टैप करें।

कंट्रोलक्या करता है
Positionएंट्री कहाँ जाती है। डिफ़ॉल्ट Before character definitions है।
Before character definitionsप्रॉम्प्ट में कैरेक्टर कार्ड से पहले। पंक्ति पर लेबल ↑Char दिखता है।
After character definitionsकैरेक्टर कार्ड के बाद। पंक्ति पर लेबल ↓Char दिखता है।
@ Depthचैट हिस्ट्री के अंदर। पंक्ति पर लेबल @Depth दिखता है।
Outletअपने आप कहीं नहीं (नीचे देखें)।
Depthसिर्फ़ @ Depth के लिए दिखता है। एंट्री ताज़ा संदेश से कितने संदेश पीछे बैठती है। डिफ़ॉल्ट 4 है।
Orderकई एंट्री चालू होने पर उनका क्रम। छोटा नंबर पहले आता है और बजट तंग होने पर छँटाई में बचा रहता है। डिफ़ॉल्ट 100 है।

Role खुले हुए एंट्री पैनल में है, क्विक कंट्रोल में नहीं। यह जोड़े गए टेक्स्ट पर System, User या Assistant का लेबल लगाता है, सिर्फ़ @ Depth के लिए मायने रखता है, और इसका डिफ़ॉल्ट System है।

जब तक किसी एंट्री को कुछ और न चाहिए, इन्हें डिफ़ॉल्ट पर रहने दें। @ Depth का इस्तेमाल कम करें। इसका टेक्स्ट हाल के संदेशों के बीच किसी रुकावट की तरह आता है, इसलिए इसे उस नियम के लिए रखें जिसे मॉडल बार-बार भूल जाता है, या उस तथ्य के लिए जो अभी-अभी बदला है। उदाहरण के लिए, "सराय में अब आग लगी हुई है।" को @ Depth 1 पर रखें।

Outlet

Outlet एंट्री सिर्फ़ वहीं दिखती है, जहाँ आप मैक्रो रखते हैं।

  1. Position को Outlet पर सेट करें। एक Outlet name फ़ील्ड दिखती है।
  2. कोई हूबहू नाम टाइप करें, जैसे character_rules। इसमें छोटे-बड़े अक्षर का फ़र्क पड़ता है।
  3. अपने प्रीसेट के किसी प्रॉम्प्ट सेक्शन में {{outlet::character_rules}} लगाएँ।

एक ही नाम वाली एंट्री Order के क्रम में जुड़ती हैं, और उनके बीच नई पंक्ति आती है। Outlet मैक्रो Conversation, Roleplay और Game चैट के प्रॉम्प्ट सेक्शन में काम करती हैं। सिर्फ़ इस जवाब के लिए चालू हुई एंट्री ही दिखती हैं। वे फिर भी कीवर्ड, प्रोबेबिलिटी, फ़िल्टर, टाइमिंग, Entry Limit (एंट्री लिमिट) और Token Budget (टोकन बजट) के नियम मानती हैं। कोई एंट्री चालू न हो, तो मैक्रो कुछ नहीं जोड़ती। Outlet एंट्री किसी दूसरी Outlet मैक्रो को नहीं बुला सकती। इस मैक्रो के बारे में प्रॉम्प्ट मैक्रो देखें।

प्रोबेबिलिटी और टाइमिंग

Probability वह संभावना है कि कीवर्ड मैच होने पर एंट्री चलेगी। डिफ़ॉल्ट 100% है। हर बार चार में से एक मौके के लिए 25% सेट करें।

Timing फ़ील्ड तय करती हैं कि एंट्री कई संदेशों तक कैसा व्यवहार करे। चारों शुरू में अनसेट रहती हैं, यानी बंद।

फ़ील्डक्या करती हैउदाहरण
Stickyएंट्री ट्रिगर होने के बाद इतने और संदेशों तक चालू रहती है, भले ही कीवर्ड मैच न हो।3 पर सेट खुल चुका कोई राज़ तीन संदेशों तक बना रहता है।
Cooldownट्रिगर होने के बाद एंट्री दोबारा चलने से पहले इतने संदेशों का इंतज़ार करती है।5 पर सेट कोई शगुन हर पाँच संदेशों में ज़्यादा से ज़्यादा एक बार चलता है।
Delayचैट में इतने संदेश होने तक एंट्री नहीं चल सकती।20 पर सेट कोई मोड़ शुरुआत में छिपा रहता है।
Ephemeralइतनी बार चालू होने के बाद एंट्री खुद को बंद कर लेती है। 0 का मतलब है कोई सीमा नहीं।1 पर सेट शुरुआती परिचय वाला नोट एक बार चलता है।

Sticky, Cooldown और Delay संदेश गिनती हैं। Ephemeral चालू होने की गिनती करती है।

निर्णय से सक्रिय करना

Decision (निर्णय) फ़ील्ड आपके निर्णय मॉडल से तय कराती है कि एंट्री लागू है या नहीं। निर्णय मॉडल एक छोटा मॉडल है, जो हाँ-या-नहीं वाले सवालों के जवाब देता है। हाल की चैट के बारे में एक कथन लिखें, जैसे In the latest message, a dragon is physically present, और एक मोड चुनें।

मोडअसर
Off (बंद)एंट्री हमेशा की तरह चालू होती है। यही डिफ़ॉल्ट है।
Require (ज़रूरी)एंट्री हमेशा की तरह चालू होती है, और सिर्फ़ तब जब कथन भी सही हो। यह हल्के-फुल्के ज़िक्र छाँट देता है।
Trigger (सक्रिय करें)कथन एंट्री को चालू करने का एक और रास्ता है, कीवर्ड न हो तब भी। यह दूसरे शब्दों में कही बात और स्थितियाँ पकड़ता है।

कथन में {{user}} और {{char}} जैसी मैक्रो इस्तेमाल कर सकते हैं।

शुरू करने से पहले: Connections (कनेक्शन) पैनल में Decision model (निर्णय मॉडल) के नीचे कोई निर्णय मॉडल चुनें। निर्णय मॉडल न हो, या जवाब न मिले, तो कथन को "नहीं" माना जाता है। कोई मॉडल सेट न हो, तो एडिटर आपको चेतावनी देता है।

अहम एंट्री को एक सामान्य रास्ता भी दें, और Require सिर्फ़ वैकल्पिक लोर छाँटने के लिए इस्तेमाल करें।

Require सिर्फ़ उस एंट्री को जाँचता है जो कीवर्ड, सिमैंटिक मैच, Constant या मैप स्थान से पहले ही योग्य हो, और उसे भी तभी आने देता है जब कथन भी सही हो। Constant एंट्री पर यह एंट्री को स्थिति पर निर्भर बना देता है, जैसे A fight is happening in the latest message वाले लड़ाई के नियम। यह बिना इस्तेमाल हुई हर एंट्री को स्कैन नहीं करता।

निर्णय कथन मॉडल की रिक्वेस्ट बढ़ाते हैं और Decision statements per turn (हर टर्न के निर्णय कथन) वाली सीमा साझा करते हैं। शब्दांकन के सुझाव, सीमाओं, लागत और जवाब दोबारा इस्तेमाल करने के लिए कथन लिखना, सीमाएँ और लागत और जवाब दोबारा इस्तेमाल करना देखें। मॉडल के सेटअप के लिए निर्णय मॉडल देखें।

और ब्योरा:

ग्रुप, फ़िल्टर और दूसरे विकल्प

खुले हुए ड्रॉअर में और फ़ील्ड हैं।

फ़ील्डक्या करती है
Groupएक ही ग्रुप की एंट्री एक-दूसरे का विकल्प होती हैं। हर जवाब में उनमें से सिर्फ़ एक चालू होती है। इसे विकल्पों के लिए इस्तेमाल करें, जैसे "आज का मौसम" वाली तीन एंट्री। अफ़वाहों को कभी-कभार ही लाने के लिए इसके साथ कम Probability रखें।
Tagआपकी अपनी छँटाई के लिए एक आज़ाद टेक्स्ट लेबल। इससे एंट्री के चालू होने पर कोई असर नहीं पड़ता।
LockedLorebook Keeper एजेंट को इस एंट्री में बदलाव करने से रोकती है। देखें डाउनलोड किए जाने वाले एजेंट का रेफ़रेंस।
No Vectorएंट्री को सिमैंटिक सर्च से बाहर रखती है। देखें लोरबुक के लिए सिमैंटिक सर्च।
Recursionइस एंट्री के कॉन्टेंट को और एंट्री ट्रिगर करने देती है। डिफ़ॉल्ट रूप से बंद। देखें लोरबुक का टोकन बजट और रिकर्शन।

Context filters & matching sources सेक्शन किसी एंट्री को कुछ खास कैरेक्टर, कैरेक्टर टैग या जेनरेशन के प्रकार तक सीमित करता है। इससे आप एंट्री के कीवर्ड के लिए कार्ड की अतिरिक्त फ़ील्ड, जैसे कैरेक्टर का विवरण, भी स्कैन करा सकते हैं। Individual मोड वाली ग्रुप चैट में हर जवाब में सिर्फ़ वही कैरेक्टर गिना जाता है जो उसे लिखता है, इसलिए कैरेक्टर फ़िल्टर एंट्री को दूसरे कैरेक्टर के जवाबों से बाहर रखता है। Merged (Narrator) जवाब में चैट का हर कैरेक्टर गिना जाता है, इसलिए फ़िल्टर किया गया कोई भी कैरेक्टर चैट में हो, तो एंट्री शामिल रहती है। इसे उन राज़ों के लिए इस्तेमाल करें जो सिर्फ़ एक कैरेक्टर जानता है।

किसी तथ्य के लिए सेटिंग्स चुनें

खुद से पूछें कि AI को यह तथ्य कब दिखना चाहिए, फिर इस तालिका का इस्तेमाल करें।

तथ्यसेटअप
हमेशा सचConstant। इन्हें गिनी-चुनी रखें।
सिर्फ़ नाम आने पर मायने रखता हैसटीक कीवर्ड वाली Normal, जैसे Castle Dracul, the castle, the fortress।
इसका कीवर्ड कोई आम शब्द है, जैसे king या homeWhole Words, या सेकंडरी कीवर्ड वाली Selective।
अहम है, पर इसका नाम कम ही आता हैसिमैंटिक सर्च के साथ Normal, या ज़्यादा चौड़े कीवर्ड।
कई रूप, जो एक साथ नहीं आने चाहिएएक ही Group।
ऐसा नियम जिसे मॉडल सीन के बीच भूल जाता है1 से 4 के आसपास @ Depth।

लोरबुक को छोटा रखने वाली आदतें:

उदाहरण के लिए, वह नियम लें जो बताता है कि खलनायक को कैसे मारा जा सकता है, और जिसे AI अक्सर भूल जाता है। इसे AND Any के साथ Selective बनाएँ, Whole Words चालू करें और Order 10 रखें। प्राइमरी कीवर्ड weakness, kill, destroy, stake और सेकंडरी कीवर्ड Vlad, the count इस्तेमाल करें। सेकंडरी कीवर्ड की वजह से जब पार्टी किसी भेड़िये को मारती है, तब यह एंट्री चुप रहती है। Whole Words stake को "mistake" के अंदर मैच होने से रोकता है। छोटा Order भीड़ वाले सीन में इसे छँटने से बचाता है।

कौन-सी चैट किसी लोरबुक को देख पाएँगी, यह इस पर निर्भर करता है कि वह लोरबुक कहाँ रहती है। ग्लोबल, जुड़ी हुई और एम्बेड की हुई लोरबुक के लिए लोरबुक का परिचय और लोरबुक को कैरेक्टर और पर्सोना से जोड़ना देखें।

एंट्री के कॉन्टेंट में मैक्रो

भेजे जाने से पहले Content की मैक्रो बाकी प्रॉम्प्ट टेक्स्ट की तरह ही हल होती हैं। काम की मैक्रो:

पूरी लिस्ट के लिए प्रॉम्प्ट मैक्रो देखें।

Recursive (रिकर्सिव) चालू हो, तो Marinara चालू हुई एंट्री के हल हुए कॉन्टेंट को दोबारा स्कैन करता है। मैक्रो से बना टेक्स्ट और एंट्री ट्रिगर कर सकता है।

Keyword test टूल

Entries टैब के ऊपर बना Keyword test पैनल बिना चैट के आपके कीवर्ड जाँचता है।

  1. Keyword test खोलें।
  2. बॉक्स में कोई नमूना पैराग्राफ़ या कुछ संदेश पेस्ट करें।

जिन एंट्री का मैच होगा, उन्हें हरा रंग और Would activate चिप मिलती है। Constant एंट्री को Always active चिप मिलती है। एक गिनती वाली पंक्ति बताती है कि चालू एंट्री में से कितनी ट्रिगर होंगी। Include other lorebooks (दूसरी लोरबुक भी शामिल करें) स्विच आपकी दूसरी लोरबुक की चालू एंट्री भी जाँचता है।

यह टेस्ट टाइमिंग, संभावना, कैरेक्टर और पर्सोना फ़िल्टर, और अर्थ के आधार पर मैचिंग को अनदेखा करता है, इसलिए असली चैट का नतीजा फिर भी अलग हो सकता है।

एंट्री के फ़ोल्डर

फ़ोल्डर एक ही लोरबुक के अंदर एंट्री को समूह में रखते हैं। ये Lorebooks पैनल के लाइब्रेरी वाले फ़ोल्डर से अलग हैं।

फ़ोल्डर समूह के रूप में सिर्फ़ तब दिखते हैं, जब आप बिना सर्च के Order से सॉर्ट करते हैं। वरना आपको सपाट लिस्ट दिखती है, साथ में यह नोट: Folder view paused (clear search and sort by Order)।

समस्या-समाधान

लक्षणहल
कोई एंट्री कभी नहीं चलती।उसे कीवर्ड दें या Constant बनाएँ। जाँचें कि लोरबुक चालू है और उस चैट में सक्रिय है।
कोई कीवर्ड काम करता था, फिर रुक गया।Marinara सिर्फ़ पिछले कुछ संदेश स्कैन करता है, जिनकी गिनती Scan Depth (स्कैन डेप्थ) तय करती है। डिफ़ॉल्ट 2 है। Scan Depth बढ़ाएँ, Sticky जोड़ें, या एंट्री को Constant बनाएँ।
कोई एंट्री गलत सीन में चल पड़ती है।Whole Words, Selective के सेकंडरी कीवर्ड, या कैरेक्टर फ़िल्टर इस्तेमाल करें।
ज़रूरी लोर छूट जाती है।उसे छोटा Order दें या Token Budget बढ़ाएँ। Chat Settings (चैट सेटिंग्स) का Active Context (एक्टिव कॉन्टेक्स्ट) बताता है कि क्या छूटा और क्यों। देखें लोरबुक का टोकन बजट और रिकर्शन।
AI किसी एंट्री को अनदेखा करता है।Active Context देखकर पक्का करें कि वह चालू हुई थी। ताज़ा संदेश से दूर रखा तथ्य उतना असर नहीं करता, जितना @ Depth से ताज़ा संदेश के पास रखा तथ्य करता है।

मिलती-जुलती गाइड