ArrayKit

टूल स्कीमा सत्यापन

उपकरण की परिभाषा चिपकाइए और जानिए कि वह क्यों अस्वीकार हो रही है — या ग़लत बुलाई जा रही है।

टूल स्कीमा सत्यापन

उपकरण की परिभाषा चिपकाइए और जानिए कि वह क्यों अस्वीकार हो रही है — या ग़लत बुलाई जा रही है।

उपकरण परिभाषाएँ आंतरिक तंत्र और एंडपॉइंट बताती हैं। सब कुछ ब्राउज़र में जाँचा जाता है और कहीं नहीं भेजा जाता।

शून्य से परिभाषा बनाइए

टूल स्कीमा सत्यापन के बारे में

उपकरण की परिभाषा में दो तरह की समस्याएँ रहती हैं। पहली बनावटी है: ऐसा प्रकार जो JSON Schema का प्रकार नहीं; ऐसा अनिवार्य नाम जो प्रॉपर्टी में है ही नहीं; बिना items वाला ऐरे; सख़्त मोड, पर उसके अपने नियमों के बिना। ये अस्वीकार होती हैं, और संदेश आम तौर पर फ़ील्ड बता देता है, कारण नहीं। दूसरी तरह पूरी तरह वैध रहती है और दूसरी मुसीबत लाती है: उपकरण ग़लत समय पर, या किसी तर्क में विश्वसनीय दिखती बकवास के साथ बुलाया जाता है, क्योंकि स्कीमा में कहीं यह नहीं लिखा कि किसका क्या अर्थ है। यहाँ दोनों जाँची जाती हैं, हर टिप्पणी उस पथ के साथ आती है जहाँ से वह उठी, और आप जो भी आकार चिपकाएँ वह स्वीकार है: एक उपकरण, एक ऐरे, अनुरोध का टुकड़ा, या सिर्फ़ एक स्कीमा।

विशेषताएँ

  • एक उपकरण, ऐरे, tools टुकड़ा या अकेली स्कीमा — सब स्वीकार
  • हर टिप्पणी के साथ उसका पथ
  • अमान्य प्रकार पकड़ता है, अलग-अलग प्रॉपर्टी पर भी
  • ऐसा अनिवार्य नाम पकड़ता है जो प्रॉपर्टी नहीं है
  • सख़्त मोड के नियम लागू करता है और दोषी प्रॉपर्टी नामित करता है
  • ग़लत कुंजी के नीचे रखी स्कीमा दिखाता है
  • ऐरे में एक जैसे उपकरण नाम पकड़ता है
  • बिना विवरण वाले पैरामीटर और ख़ाली enum पर चेतावनी

टूल स्कीमा सत्यापन का उपयोग कैसे करें

  1. जिस रूप में परिभाषा है उसी रूप में चिपकाइए
  2. पथ के साथ टिप्पणियाँ पढ़िए
  3. पहले त्रुटियाँ ठीक कीजिए, फिर विवरण
  4. जब तक कुछ न बचे तब तक दोबारा जाँचिए

उदाहरण

इनपुट

"required": ["email", "customer_id"]

आउटपुट

Error: “customer_id” is required but is not among the properties

जिस अनिवार्य नाम की कोई प्रॉपर्टी नहीं, वह सीधे अस्वीकार हो जाता है।

सामान्य त्रुटियाँ और समस्या निवारण

  • API उपकरण अस्वीकार करता है पर फ़ील्ड नहीं बताता। — उसे यहाँ चिपकाइए — टिप्पणियों के साथ पथ आता है, इसलिए गड़बड़ नोड नामित हो जाता है, ढूँढ़ना नहीं पड़ता।
  • कहता है मेरी स्कीमा ग़लत कुंजी के नीचे है। — Messages API input_schema पढ़ता है। दूसरी परिपाटियों के लिए लिखी परिभाषाएँ अक्सर parameters इस्तेमाल करती हैं, जो वैध JSON है और बस पढ़ा नहीं जाता।
  • ठीक दिखने वाली स्कीमा पर सख़्त मोड टूटता है। — उसे additionalProperties: false और सभी प्रॉपर्टी अनिवार्य चाहिए। दोनों जाँचे जाते हैं और दोषी प्रॉपर्टी नामित होती हैं।
  • त्रुटियों के बजाय विवरण की चेतावनियाँ आ रही हैं। — यह दूसरी श्रेणी की समस्या है। ये उपकरण के स्वीकार होने में बाधा नहीं डालतीं; ये वही वजह हैं जिससे वह ग़लत तर्कों के साथ बुलाया जाता है।

अक्सर पूछे जाने वाले प्रश्न

कौन-कौन से आकार चिपका सकते हैं?
एक उपकरण ऑब्जेक्ट, उनका ऐरे, {"tools": [...]} टुकड़ा, या अकेली इनपुट स्कीमा। अकेली स्कीमा पहचानी और बताई जाती है, क्योंकि उपकरण को नाम और विवरण भी चाहिए।
गुम विवरणों पर चेतावनी क्यों?
क्योंकि उपकरण के ग़लत बुलाए जाने की सबसे आम वजह वही हैं, और वे कभी त्रुटि नहीं देतीं। नाम वाला और विवरण रहित पैरामीटर अपना अर्थ सिर्फ़ नाम से अनुमान पर छोड़ देता है।
क्या यह असली तर्कों से स्कीमा जाँचता है?
नहीं — यह परिभाषा को ही जाँचता है। कोई ख़ास तर्क-समूह वैध है या नहीं, यह अलग सवाल है और उसका जवाब कॉल के समय API देता है।
क्या $ref समर्थित हैं?
वे दिखाए जाते हैं। उपकरण स्कीमा में संदर्भ हमेशा भरोसे से नहीं सुलझते, इसलिए उन पर टिकी परिभाषा अक्सर वैसा बर्ताव नहीं करती जैसा उसके लेखक ने पढ़ा था। परिभाषा भीतर ही लिख देना यह सवाल हटा देता है।
क्या एक साथ कई उपकरण जाँच सकते हैं?
हाँ, पूरा ऐरे चिपकाइए। समूह में एक जैसे नाम पकड़े जाते हैं — यह समस्या तभी दिखती है जब उपकरणों को साथ देखा जाए।

संबंधित टूल

एआई और एजेंट के और टूल

एआई और एजेंट के सभी टूल देखें · सभी टूल