प्रोजेक्ट
खाली मूल पॉइंटर और एस्केप की गई कुंजियाँ जाँचें तथा गलत एस्केप, अनुपस्थित सदस्य और गैरमानक इंडेक्स अस्वीकार करें।
शब्दकोशों और सूचियों में JSON Pointer का मान निकालें और उन्हें न बदलें।
import re
def pointer_get(root, pointer):
if not isinstance(pointer, str): raise ValueError("pointer text")
if pointer == "": return root
if not pointer.startswith("/"): raise ValueError("root slash")
value = root
for raw in pointer[1:].split("/"):
if re.search(r"~(?![01])", raw): raise ValueError("escape")
key = raw.replace("~1", "/").replace("~0", "~")
if isinstance(value, dict): value = value[key]
elif isinstance(value, list):
if not re.fullmatch(r"0|[1-9][0-9]*", key):
raise ValueError("array index")
if len(key) > len(str(len(value))): raise IndexError(key)
value = value[int(key)]
else: raise ValueError("not a container")
return valueखाली मूल पॉइंटर और एस्केप की गई कुंजियाँ जाँचें तथा गलत एस्केप, अनुपस्थित सदस्य और गैरमानक इंडेक्स अस्वीकार करें।
वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।
बेस URL और आवश्यक होने पर API कुंजी से OpenAI-संगत या Anthropic endpoint सेट करें। कनेक्शन जाँचें। स्थानीय मॉडल सर्वर चालू होना चाहिए; दूरस्थ उपकरण अलग से डेटा भेज सकते हैं।
import re
def pointer_get(root, pointer):
if not isinstance(pointer, str): raise ValueError("pointer text")
if pointer == "": return root
if not pointer.startswith("/"): raise ValueError("root slash")
value = root
for raw in pointer[1:].split("/"):
if re.search(r"~(?![01])", raw): raise ValueError("escape")
key = raw.replace("~1", "/").replace("~0", "~")
if isinstance(value, dict): value = value[key]
elif isinstance(value, list):
if not re.fullmatch(r"0|[1-9][0-9]*", key):
raise ValueError("array index")
if len(key) > len(str(len(value))): raise IndexError(key)
value = value[int(key)]
else: raise ValueError("not a container")
return valuePointerMallow डेवलपरों को परियोजना में संरचित डेटा व्यवहार खोजने का Windows एआई कोडिंग कार्यक्षेत्र देता है। पथ, डेटा संरचना और अपेक्षित मान बातचीत में साथ हों तो विफल खोज का निदान आसान होता है। छोटे दोहराने योग्य नमूने से शुरू करें और मॉडल से उसे वास्तव में इस्तेमाल करने वाला कार्यान्वयन देखने को कहें।
एक अनुरोध के रूप में JSON Pointer खोज लें। स्लैश वाली ऑब्जेक्ट कुंजी, ऐरे इंडेक्स और अनुपस्थित लक्ष्य दें, फिर हर एक का अपेक्षित परिणाम बताएँ। मौजूदा कोड पथ गलत सँभाले तो केंद्रित सुधार माँगें। उपयोगिता नमूनों को कार्यान्वयन और उसके कॉलर से जोड़ने में है।
प्रस्ताव के सफल परिणाम से आगे भी देखें। अमान्य पथ, अनुपस्थित कुंजी और स्केलर से होकर गुजरना अनुप्रयोग में अलग व्यवहार माँग सकते हैं। बदलाव पढ़ें और संबंधित परीक्षण चलाएँ; उपभोक्ता को दिखाई त्रुटि उतनी ही सावधानी से देखें जितना मान्य खोज का लौटाया मान।
मॉडल कनेक्शन आवश्यक क्रेडेंशियल के साथ समर्थित OpenAI-संगत या Anthropic एंडपॉइंट इस्तेमाल कर सकता है। वहाँ उपलब्ध एब्लिटरेटेड एआई मॉडल चुनने पर भी प्रदाता के प्रतिबंध लागू हैं। संदर्भ सीमाएँ और उपकरण मॉडल व सर्वर से बदलते हैं, इसलिए तर्क और कोड सीधे परखने योग्य छोटे नमूने रखें।
दोनों के अलग नमूने और अपेक्षित परिणाम दें। पूछें कि मौजूदा कोड में पार्सिंग कहाँ खत्म और खोज कहाँ शुरू होती है, फिर हर विफलता कॉलर तक कैसे पहुँचती है देखें। उन्हें एक खाली परिणाम में मिलाने से इनपुट त्रुटि छिप सकती है।
उसमें रखने वाले डेटा का प्रकार मायने रखता है। संख्या जैसी ऑब्जेक्ट कुंजी और अलग ऐरे नमूना दें। समान पाठ हमेशा समान प्रकार का स्थान बताएगा यह मानने के बजाय दोनों की पथ-प्रबंधन शाखा देखें।
वह समस्या वाली डेटा संरचना अलग करता है और अपेक्षित परिणाम सत्यापित करना आसान बनाता है। विफल पथ रखते हुए असंबंधित फ़ील्ड और संवेदनशील मान हटाएँ, फिर बाद में प्रतिनिधि परियोजना डेटा से सुधार पुष्ट करें।
अनुबंध आपके अनुप्रयोग का है। दूसरा मॉडल अन्य त्रुटि परिपाटी सुझा सकता है, लेकिन उससे व्यवहार बदलने की अनुमति नहीं मिलती। उपकरणों के गंतव्य भी देखें: स्थानीय मॉडल सर्वर हर जुड़े उपकरण को स्थानीय नहीं बनाता।
PointerMallow · अद्यतन 2026-10-25