मुख्य सामग्री पर जाएं
stream: true से स्ट्रीमिंग चालू करें और अपने API के स्कीमा के अनुसार क्लाइंट टूल परिभाषित करें। स्ट्रीमिंग और टूल कॉलिंग का समर्थन मॉडल के अनुसार बदलता है। ऐप में इस्तेमाल करने से पहले अपनी Model ID से छोटा अनुरोध जाँचें।

आवश्यकताएँ

पहले SDK के उदाहरणों से साधारण टेक्स्ट अनुरोध सफलतापूर्वक चलाएँ। model plaza से जाँचे जाने वाले प्रोटोकॉल के लिए सही Model ID कॉपी करें। किन बातों की जाँच करनी है, यह मॉडल चयन गाइड में दिया है। प्रोजेक्ट के Python वर्चुअल एनवायरनमेंट में openai और anthropic इंस्टॉल करें, फिर उसी टर्मिनल में प्लेसहोल्डर बदलें:
नीचे हर Python कोड ब्लॉक अलग से चल सकता है। 120 सेकंड का टाइमआउट इन छोटे परीक्षणों का उदाहरण है। ऐप का टाइमआउट टाइमआउट गाइड के अनुसार चुनें। max_tokens या max_output_tokens सेट करने से पहले मॉडल की आउटपुट टोकन सीमा देखें।

टेक्स्ट उत्तर स्ट्रीम करें

स्ट्रीमिंग में एक HTTP उत्तर के भीतर सर्वर से भेजे गए इवेंट (SSE) मिलते हैं। हर SSE इवेंट में पूरा वाक्य या आर्ग्युमेंट का पूरा JSON ऑब्जेक्ट होना ज़रूरी नहीं है। SDK SSE फ़ॉर्मैट को पार्स करता है। ये उदाहरण नया टेक्स्ट और पूरा होने की जानकारी दिखाते हैं। ऐप में त्रुटि वाले इवेंट भी संभालें।

हर प्रोटोकॉल के लिए मौसम का टूल परिभाषित करें

मॉडल फ़ंक्शन कॉल का अनुरोध करता है। आपका ऐप आर्ग्युमेंट जाँचता है, फ़ंक्शन चलाता है और नतीजा लौटाता है। उदाहरण में एक get_weather फ़ंक्शन है जो location आर्ग्युमेंट लेता है और तय डेमो डेटा लौटाता है, मौजूदा मौसम नहीं। मौसम की सेवा या अतिरिक्त Key की ज़रूरत नहीं है। समर्थन मॉडल और प्रोटोकॉल के अनुसार बदलता है। साधारण टेक्स्ट चलने पर भी अपनी Model ID से यह छोटा टूल अनुरोध जाँचें। टूल की घोषणा से होस्ट की गई खोज या प्रदाता की ओर से चलने वाले दूसरे टूल चालू नहीं होते।

टूल कॉल चलाएँ और नतीजा लौटाएँ

ये बिना स्ट्रीमिंग वाले उदाहरण टूल कॉल और नतीजा लौटाने का एक चक्र दिखाते हैं, ताकि आप पूरे आर्ग्युमेंट देख सकें। हर उदाहरण पहले उत्तर की सभी टूल कॉल संभालता है और उसके बाद एक अनुरोध भेजता है। लंबे एजेंट वर्कफ़्लो के लिए अलग सीमित लूप और रुकने की शर्त चाहिए।
टूल के नतीजे जोड़ने से पहले सहायक का पूरा उत्तर सुरक्षित रखें। Responses में सभी output आइटम रखें, जिनमें लौटाए गए रीजनिंग आइटम भी शामिल हैं। Messages में कंटेंट ब्लॉक और उनका क्रम बनाए रखें। नई ID बनाने के बजाय लौटाई गई कॉल ID से नतीजे जोड़ें।

सामान्य प्रश्न

क्या टूल के आर्ग्युमेंट आते ही उन्हें चला सकते हैं?

टूल कॉल के इंडेक्स या आइटम ID के अनुसार टुकड़े इकट्ठा करें। पूरे आर्ग्युमेंट मिलने पर उन्हें पार्स और जाँचें। अधूरा JSON पार्स नहीं हो सकता। स्ट्रीमिंग और टूल जोड़ने से पहले ऊपर के बिना स्ट्रीमिंग वाले उदाहरण चलाएँ।

साधारण टेक्स्ट चलने पर भी टूल क्यों विफल होते हैं?

समर्थन मॉडल और प्रोटोकॉल के अनुसार बदलता है। अपनी Model ID से छोटा टूल अनुरोध जाँचें। टूल का स्कीमा, लौटे हुए आर्ग्युमेंट, नतीजे की ID और संदेशों का क्रम देखें। टाइप के अनुसार JSON की जाँच के लिए संरचित आउटपुट से जुड़े प्रश्न देखें।

स्ट्रीम बीच में टूटने पर क्या फिर से अनुरोध भेजें?

दोबारा भेजने से पहले अनुरोध का रिकॉर्ड जाँचें। कनेक्शन टूटने से पता नहीं चलता कि अनुरोध पूरा हुआ या नहीं। पुनः प्रयास अलग कोशिश है; उसमें पहले से चल चुकी टूल कार्रवाई दोहराई नहीं जानी चाहिए। त्रुटि और पुनः प्रयास गाइड देखें।

संबंधित गाइड

आधिकारिक संदर्भ

इन संदर्भों में अपस्ट्रीम प्रोटोकॉल के फ़ील्ड परिभाषित हैं। इस्तेमाल से पहले BetterToken की अपनी Model ID से सुविधा जाँचें।