
LLM चैट ऐप्स के लिए प्रोग्रामेबल गार्डरेल्स: इनपुट/आउटपुट रेल्स लागू करें, जेलब्रेक और प्रॉम्प्ट इंजेक्शन ब्लॉक करें, हैलुसिनेशन का पता लगाएं, और संवेदनशील डेटा मास्क करें।
नवीनतम रिलीज़ / डेवलपमेंट वर्शन: develop ब्रांच नवीनतम टॉप ऑफ़ ट्री डेवलपमेंट को ट्रैक करती है। नवीनतम रिलीज़ किया गया वर्शन 0.24.1 है।
✨✨✨
📌 आधिकारिक NeMo Guardrails लाइब्रेरी दस्तावेज़ docs.nvidia.com/nemo/guardrails पर उपलब्ध है।
✨✨✨
NVIDIA NeMo Guardrails लाइब्रेरी एक ओपन-सोर्स टूलकिट है जो LLM-आधारित संवादात्मक अनुप्रयोगों में आसानी से प्रोग्रामेबल गार्डरेल्स जोड़ने के लिए है। गार्डरेल्स (या संक्षेप में "रेल्स") एक बड़े भाषा मॉडल के आउटपुट को नियंत्रित करने के विशिष्ट तरीके हैं, जैसे राजनीति के बारे में बात न करना, विशिष्ट उपयोगकर्ता अनुरोधों पर किसी विशेष तरीके से प्रतिक्रिया देना, पूर्वनिर्धारित संवाद पथ का पालन करना, किसी विशेष भाषा शैली का उपयोग करना, संरचित डेटा निकालना, और बहुत कुछ।
यह पेपर NeMo Guardrails लाइब्रेरी का परिचय देता है और इसमें सिस्टम का तकनीकी अवलोकन और वर्तमान मूल्यांकन शामिल है।
Python 3.10, 3.11, 3.12 या 3.13।
pip का उपयोग करके इंस्टॉल करने के लिए:
> pip install nemoguardrails
अधिक विस्तृत निर्देशों के लिए, Installation Guide देखें।
NeMo Guardrails लाइब्रेरी डेवलपर्स को LLM-आधारित एप्लिकेशन बनाते समय एप्लिकेशन कोड और LLM के बीच programmable guardrails जोड़ने में सक्षम बनाती है।
programmable guardrails जोड़ने के प्रमुख लाभों में शामिल हैं:
भरोसेमंद, सुरक्षित और संरक्षित LLM-आधारित एप्लिकेशन बनाना: आप बातचीत को निर्देशित और सुरक्षित करने के लिए rails परिभाषित कर सकते हैं; आप विशिष्ट विषयों पर अपने LLM-आधारित एप्लिकेशन के व्यवहार को परिभाषित कर सकते हैं और इसे अवांछित विषयों पर चर्चा में शामिल होने से रोक सकते हैं।
मॉडल, chains और अन्य सेवाओं को सुरक्षित रूप से जोड़ना: आप एक LLM को अन्य सेवाओं (जिन्हें tools भी कहा जाता है) से निर्बाध और सुरक्षित रूप से जोड़ सकते हैं।
नियंत्रणीय संवाद: आप LLM को पूर्व-निर्धारित संवाद पथों का पालन करने के लिए निर्देशित कर सकते हैं, जिससे आप संवाद डिज़ाइन की सर्वोत्तम प्रथाओं का पालन करते हुए इंटरैक्शन को डिज़ाइन कर सकते हैं और मानक संचालन प्रक्रियाओं (जैसे, authentication, support) को लागू कर सकते हैं।
NeMo Guardrails लाइब्रेरी एक LLM-संचालित चैट एप्लिकेशन को सामान्य LLM कमज़ोरियों, जैसे jailbreaks और prompt injections, से बचाने के लिए कई तंत्र प्रदान करती है। नीचे इस रिपॉज़िटरी में शामिल उदाहरण ABC Bot के लिए विभिन्न guardrails कॉन्फ़िगरेशन द्वारा प्रदान की गई सुरक्षा का एक नमूना अवलोकन दिया गया है। अधिक विवरण के लिए, कृपया LLM Vulnerability Scanning पृष्ठ देखें।
आप विभिन्न प्रकार के उपयोग के मामलों में programmable guardrails का उपयोग कर सकते हैं:
NEMOGUARDRAILS_LLM_FRAMEWORK=langchain environment variable सेट करें या set_default_framework("langchain") कॉल करें।अपने एप्लिकेशन में programmable guardrails जोड़ने के लिए आप Python API या guardrails सर्वर का उपयोग कर सकते हैं (अधिक विवरण के लिए Server Guide देखें)। Python API का उपयोग करना LLM को सीधे उपयोग करने के समान है। LLM के बजाय guardrails परत को कॉल करने के लिए कोड बेस में केवल न्यूनतम परिवर्तन की आवश्यकता होती है, और इसमें दो सरल चरण शामिल हैं:
LLMRails इंस्टेंस बनाना।generate/generate_async मेथड्स का उपयोग करके LLM को कॉल करना।from nemoguardrails import LLMRails, RailsConfig
# Load a guardrails configuration from the specified path.
config = RailsConfig.from_path("PATH/TO/CONFIG")
rails = LLMRails(config)
completion = rails.generate(
messages=[{"role": "user", "content": "Hello world!"}]
)
नमूना आउटपुट:
{"role": "assistant", "content": "Hi! How can I help you?"}
generate मेथड के लिए इनपुट और आउटपुट फॉर्मेट OpenAI के Chat Completions API के समान है।
NeMo Guardrails लाइब्रेरी एक async-first टूलकिट है क्योंकि इसके मुख्य मैकेनिक्स Python async मॉडल का उपयोग करके लागू किए गए हैं। पब्लिक मेथड्स के दोनों sync और async वर्शन उपलब्ध हैं। उदाहरण के लिए: LLMRails.generate और LLMRails.generate_async।
आप NeMo Guardrails का उपयोग कई LLMs जैसे OpenAI GPT-3.5, GPT-4, LLaMa-2, Falcon, Vicuna, या Mosaic के साथ कर सकते हैं। अधिक जानकारी के लिए, Configuration Guide में Supported LLM Models सेक्शन देखें।
NeMo Guardrails लाइब्रेरी पाँच मुख्य प्रकार के गार्डरेल्स का समर्थन करती है: