For the complete documentation index, see llms.txt. This page is also available as Markdown.

JSON पार्सर

कच्ची स्ट्रिंग को JSON में पार्स करें।

JSON स्ट्रिंग्स (रॉ JSON या Markdown कोड ब्लॉक्स में लिपटा JSON) को निर्दिष्ट फ़ील्ड्स निकालकर और उन्हें अलग-अलग आउटपुट के रूप में उपलब्ध कराकर संरचित डेटा में पार्स करें, जिससे JSON पार्सिंग, LLM/VLM आउटपुट प्रोसेसिंग, संरचित डेटा निष्कर्षण, और कॉन्फ़िगरेशन पार्सिंग वर्कफ़्लो सक्षम हों, जहाँ JSON स्ट्रिंग्स को उपयोगी वर्कफ़्लो डेटा में बदलने की आवश्यकता होती है।

यह ब्लॉक कैसे काम करता है

यह ब्लॉक JSON स्ट्रिंग्स को पार्स करता है और निर्दिष्ट फ़ील्ड्स को अलग-अलग आउटपुट के रूप में निकालता है। यह ब्लॉक:

  1. एक JSON स्ट्रिंग इनपुट प्राप्त करता है (आमतौर पर LLM/VLM ब्लॉक्स या वर्कफ़्लो इनपुट्स से)

  2. JSON सामग्री का पता लगाता है और उसे निकालता है:

    Markdown-लिपटे JSON को संभालता है:

    • Markdown कोड ब्लॉक्स (json ... )

    • यह प्रारूप LLM/VLM प्रतिक्रियाओं में बहुत सामान्य है (जैसे, GPT प्रतिक्रियाएँ)

    • यदि कई markdown JSON ब्लॉक मिलते हैं, तो केवल पहला ब्लॉक पार्स किया जाता है

    • Markdown टैग्स के भीतर से JSON सामग्री निकालता है

    रॉ JSON स्ट्रिंग्स को संभालता है:

    • यदि कोई markdown ब्लॉक नहीं मिलता, तो पूरी स्ट्रिंग को JSON के रूप में पार्स करने का प्रयास करता है

    • मानक JSON फ़ॉर्मैट स्ट्रिंग्स का समर्थन करता है

  3. JSON सामग्री को पार्स करता है:

    • स्ट्रिंग को JSON ऑब्जेक्ट/डिक्शनरी में बदलने के लिए Python के JSON पार्सर का उपयोग करता है

    • पार्सिंग त्रुटियों को सहजता से संभालता है (यदि पार्सिंग विफल हो जाती है तो सभी फ़ील्ड्स के लिए None लौटाता है)

  4. अपेक्षित फ़ील्ड्स निकालता है:

    • में निर्दिष्ट प्रत्येक फ़ील्ड के लिए मान प्राप्त करता है expected_fields पैरामीटर

    • प्रत्येक अपेक्षित फ़ील्ड के लिए, पार्स किए गए JSON में संबंधित की (key) को खोजता है

    • फ़ील्ड मान लौटाता है (या यदि फ़ील्ड अनुपस्थित है तो None)

  5. त्रुटि स्थिति सेट करता है:

    • error_status को सेट किया जाता है True यदि कम से कम एक अपेक्षित फ़ील्ड पार्स किए गए JSON से प्राप्त नहीं किया जा सकता

    • error_status को सेट किया जाता है False यदि सभी अपेक्षित फ़ील्ड्स मिल जाते हैं (भले ही कई markdown ब्लॉक मौजूद हों, केवल पहला पार्स किया जाता है)

    • त्रुटि स्थिति हमेशा एक आउटपुट के रूप में शामिल होती है, जिससे डाउनस्ट्रीम ब्लॉक्स पार्सिंग सफलता की जाँच कर सकते हैं

  6. फ़ील्ड्स को आउटपुट के रूप में उपलब्ध कराता है:

    • में मौजूद प्रत्येक फ़ील्ड expected_fields फ़ील्ड नाम के साथ एक अलग आउटपुट बन जाता है

    • फ़ील्ड मान पार्स किए गए JSON से निकाले जाते हैं और आउटपुट के रूप में उपलब्ध कराए जाते हैं

    • छूटे हुए फ़ील्ड्स को None पर सेट किया जाता है

    • सभी आउटपुट्स को यहाँ उपयोग करके संदर्भित किया जा सकता है $steps.block_name.field_name सिंटैक्स

  7. पार्स किए गए डेटा को लौटाता है:

    • आउटपुट्स में शामिल हैं: error_status (बूलियन) और सभी अपेक्षित फ़ील्ड्स

    • फ़ील्ड्स में JSON से निकाले गए मान होते हैं (या यदि अनुपस्थित हों तो None)

    • आउटपुट्स को बाद के वर्कफ़्लो चरणों में उपयोग किया जा सकता है

यह ब्लॉक विशेष रूप से उन LLM/VLM आउटपुट्स को प्रोसेस करने के लिए उपयोगी है जो JSON लौटाते हैं, JSON स्ट्रिंग्स से संरचित कॉन्फ़िगरेशन निकालने के लिए, और JSON प्रतिक्रियाओं को वर्कफ़्लो-उपयोगी डेटा में पार्स करने के लिए। यह उस सामान्य मामले को संभालता है जहाँ LLMs JSON को markdown कोड ब्लॉक्स में लपेटते हैं।

सामान्य उपयोग के मामले

  • LLM/VLM आउटपुट प्रोसेसिंग: बड़े भाषा मॉडल्स और विज़ुअल भाषा मॉडल्स से JSON आउटपुट्स को पार्स करें (जैसे, GPT JSON प्रतिक्रियाओं को पार्स करना, LLM आउटपुट्स से संरचित डेटा निकालना, VLM JSON प्रतिक्रियाओं को प्रोसेस करना), जिससे LLM/VLM आउटपुट प्रोसेसिंग वर्कफ़्लोज़ सक्षम होते हैं

  • संरचित डेटा निष्कर्षण: वर्कफ़्लोज़ में उपयोग के लिए JSON स्ट्रिंग्स से संरचित डेटा निकालें (जैसे, कॉन्फ़िगरेशन पैरामीटर्स निकालना, JSON प्रतिक्रियाएँ पार्स करना, संरचित फ़ील्ड्स निकालना), जिससे संरचित डेटा निष्कर्षण वर्कफ़्लोज़ सक्षम होते हैं

  • कॉन्फ़िगरेशन पार्सिंग: JSON कॉन्फ़िगरेशन स्ट्रिंग्स को वर्कफ़्लो पैरामीटर्स में पार्स करें (जैसे, मॉडल कॉन्फ़िगरेशन पार्स करना, वर्कफ़्लो पैरामीटर्स निकालना, JSON कॉन्फ़िग्स पार्स करना), जिससे कॉन्फ़िगरेशन पार्सिंग वर्कफ़्लोज़ सक्षम होते हैं

  • JSON प्रतिक्रिया प्रोसेसिंग: APIs या मॉडलों से JSON प्रतिक्रियाओं को प्रोसेस करें (जैसे, API JSON प्रतिक्रियाएँ पार्स करना, JSON से फ़ील्ड्स निकालना, JSON डेटा प्रोसेस करना), जिससे JSON प्रतिक्रिया प्रोसेसिंग वर्कफ़्लोज़ सक्षम होते हैं

  • गतिशील पैरामीटर निष्कर्षण: वर्कफ़्लो चरणों में उपयोग के लिए JSON स्ट्रिंग्स से गतिशील पैरामीटर्स निकालें (जैसे, JSON से मॉडल IDs निकालना, गतिशील कॉन्फ़िग्स पार्स करना, पैरामीटर्स को गतिशील रूप से निकालना), जिससे गतिशील पैरामीटर वर्कफ़्लोज़ सक्षम होते हैं

  • डेटा फ़ॉर्मेट रूपांतरण: JSON स्ट्रिंग्स को संरचित वर्कफ़्लो डेटा में बदलें (जैसे, JSON को वर्कफ़्लो इनपुट्स में बदलना, वर्कफ़्लो उपयोग के लिए JSON पार्स करना, JSON फ़ील्ड्स निकालना), जिससे डेटा फ़ॉर्मेट रूपांतरण वर्कफ़्लोज़ सक्षम होते हैं

अन्य ब्लॉक्स से कनेक्ट करना

यह ब्लॉक JSON स्ट्रिंग्स प्राप्त करता है और पार्स किए गए फ़ील्ड आउटपुट्स उत्पन्न करता है:

  • LLM/VLM ब्लॉक्स के बाद : JSON आउटपुट्स को संरचित डेटा में पार्स करने के लिए (जैसे, LLM JSON आउटपुट्स पार्स करना, VLM JSON फ़ील्ड्स निकालना, मॉडल JSON प्रतिक्रियाएँ प्रोसेस करना), जिससे LLM/VLM-से-पार्सर वर्कफ़्लोज़ सक्षम होते हैं

  • वर्कफ़्लो इनपुट्स के बाद : JSON इनपुट पैरामीटर्स को पार्स करने के लिए (जैसे, JSON कॉन्फ़िग इनपुट्स पार्स करना, JSON पैरामीटर्स निकालना, JSON वर्कफ़्लो इनपुट्स प्रोसेस करना), जिससे इनपुट-से-पार्सर वर्कफ़्लोज़ सक्षम होते हैं

  • मॉडल ब्लॉक्स से पहले : पार्स किए गए फ़ील्ड्स को मॉडल पैरामीटर्स के रूप में उपयोग करने के लिए (जैसे, models के लिए पार्स किया गया model_id उपयोग करना, मॉडल सेटअप के लिए पार्स किए गए configs उपयोग करना, models को पार्स किए गए पैरामीटर्स प्रदान करना), जिससे पार्सर-से-मॉडल वर्कफ़्लोज़ सक्षम होते हैं

  • लॉजिक ब्लॉक्स से पहले : स्थितियों में पार्स किए गए फ़ील्ड्स का उपयोग करने के लिए (जैसे, Continue If में पार्स किए गए मानों का उपयोग करना, पार्स किए गए फ़ील्ड्स के आधार पर फ़िल्टर करना, पार्स किए गए डेटा का उपयोग करके निर्णय लेना), जिससे पार्सर-से-लॉजिक वर्कफ़्लोज़ सक्षम होते हैं

  • डेटा संग्रहण ब्लॉकों से पहले : पार्स किए गए फ़ील्ड मानों को संग्रहीत करने के लिए (जैसे, पार्स किए गए JSON फ़ील्ड्स स्टोर करना, पार्स किए गए मान लॉग करना, पार्स किए गए डेटा को सहेजना), जिससे पार्सर-से-स्टोरेज वर्कफ़्लोज़ सक्षम होते हैं

  • वर्कफ़्लो आउटपुट में : पार्स किए गए फ़ील्ड्स को अंतिम आउटपुट के रूप में प्रदान करने के लिए (जैसे, JSON पार्सिंग आउटपुट्स, संरचित डेटा आउटपुट्स, पार्स किए गए फ़ील्ड आउटपुट्स), जिससे पार्सर-से-आउटपुट वर्कफ़्लोज़ सक्षम होते हैं

आवश्यकताएँ

इस ब्लॉक को एक JSON स्ट्रिंग इनपुट (रॉ JSON या Markdown कोड ब्लॉक्स में लिपटा JSON) की आवश्यकता होती है। expected_fields पैरामीटर यह निर्दिष्ट करता है कि कौन-से JSON फ़ील्ड्स को आउटपुट्स के रूप में निकालना है (फ़ील्ड नाम वैध JSON keys होने चाहिए)। error_status फ़ील्ड नाम आरक्षित है और इसका उपयोग इसमें नहीं किया जा सकता expected_fields. यह ब्लॉक रॉ JSON स्ट्रिंग्स और Markdown कोड ब्लॉक्स में लिपटे JSON दोनों का समर्थन करता है (json ... )। यदि कई markdown ब्लॉक्स पाए जाते हैं, तो केवल पहला पार्स किया जाता है। यदि पार्सिंग विफल होती है या अपेक्षित फ़ील्ड्स गायब होते हैं, तो फ़ील्ड्स को None पर सेट किया जाता है और error_status को True पर सेट किया जाता है। सभी अपेक्षित फ़ील्ड्स अलग-अलग आउटपुट्स बन जाते हैं जिन्हें बाद के वर्कफ़्लो चरणों में संदर्भित किया जा सकता है।

प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें "type" फ़ील्ड: roboflow_core/json_parser@v1 अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

गुण

नाम

प्रकार

विवरण

संदर्भ

name

str

इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..

raw_json

str

पार्स करने के लिए JSON स्ट्रिंग। यह रॉ JSON स्ट्रिंग हो सकती है (उदा., '{"key": "value"}') या Markdown कोड ब्लॉक्स में लिपटा JSON हो सकता है (उदा., json {"key": "value"} )। Markdown-लिपटा JSON LLM/VLM प्रतिक्रियाओं में सामान्य है। यदि कई markdown JSON ब्लॉक्स मौजूद हैं, तो केवल पहला ब्लॉक पार्स किया जाता है। स्ट्रिंग को Python के JSON पार्सर का उपयोग करके पार्स किया जाता है, और निर्दिष्ट फ़ील्ड्स को आउटपुट्स के रूप में निकाला जाता है..

expected_fields

List[str]

पार्स किए गए JSON से निकालने के लिए JSON फ़ील्ड नामों की सूची। प्रत्येक फ़ील्ड एक अलग आउटपुट बन जाती है जिसे बाद के वर्कफ़्लो चरणों में संदर्भित किया जा सकता है (उदा., $steps.block_name.field_name)। जो फ़ील्ड्स JSON में मौजूद हैं, उनके मान निकाले जाते हैं; जो फ़ील्ड्स अनुपस्थित हैं, उन्हें None पर सेट किया जाता है। 'error_status' फ़ील्ड नाम आरक्षित है (जो हमेशा आउटपुट के रूप में शामिल होता है) और इस सूची में इसका उपयोग नहीं किया जा सकता। फ़ील्ड नामों को JSON keys से बिल्कुल मेल खाना चाहिए..

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

इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार JSON पार्सर संस्करण v1 है।

इनपुट और आउटपुट बाइंडिंग्स
  • इनपुट

    • raw_json (language_model_output): पार्स करने के लिए JSON स्ट्रिंग। यह रॉ JSON स्ट्रिंग हो सकती है (उदा., '{"key": "value"}') या Markdown कोड ब्लॉक्स में लिपटा JSON हो सकता है (उदा., json {"key": "value"} )। Markdown-लिपटा JSON LLM/VLM प्रतिक्रियाओं में सामान्य है। यदि कई markdown JSON ब्लॉक्स मौजूद हैं, तो केवल पहला ब्लॉक पार्स किया जाता है। स्ट्रिंग को Python के JSON पार्सर का उपयोग करके पार्स किया जाता है, और निर्दिष्ट फ़ील्ड्स को आउटपुट्स के रूप में निकाला जाता है..

  • आउटपुट

    • error_status (boolean): बूलियन फ़्लैग.

    • * (*): किसी भी तत्व का समतुल्य।

उदाहरण JSON परिभाषा

अंतिम अपडेट

क्या यह उपयोगी था?