पाठ 19 / 25
अंतिम उत्तर के लिए बाध्य करना
Budget ख़त्म होने पर प्रगति का सार देने के लिए बिना tools की आख़िरी call उपयोग करें।
ऐसी आख़िरी call जो tools नहीं बुला सकती
काम के बीच में सीमा छू जाए तो सिर्फ़ error न उठाएँ। Tools बंद करके एक समापन call के लिए छोटा budget आरक्षित रखें और model से कहें कि क्या किया, क्या मिला और क्या बाक़ी है, इसका सार दे। User को चुप्पी की जगह कुछ उपयोगी मिलता है।
उपयोगी चीज़ के साथ रुकें
सीमा छूने पर भी अच्छे loops आंशिक नतीजा लौटाते हैं, स्थिति सहेजते हैं और बताते हैं कि क्या हुआ।
समापन call
tools छोड़ने का मतलब है कि model सिर्फ़ text लिख सकता है। समापन अनुरोध छोटा और उसका max_tokens मध्यम रखें।
def wrap_up(messages, reason):
messages.append({"role": "user", "content":
f"Stopping because: {reason}. Do not call tools. Summarise what you "
"completed, what you found, and what still needs to be done."})
reply = client.messages.create(model=MODEL, max_tokens=800, messages=messages)
return final_text(reply)पहले budget आरक्षित करें
मुख्य loop को कड़ी सीमा से थोड़ा पहले (मान लें 90% पर) रोकें ताकि समापन call के पास चलने की जगह हो। जो समापन ख़ुद budget पार कर दे, वह अपना उद्देश्य खो देता है।
त्वरित जाँच: समापन call में tools बंद क्यों करें?
- ताकि model और काम शुरू करने की जगह सार लिखे
- Tools दो बार उपयोग नहीं हो सकते
- यह call को मुफ़्त बनाता है
- Tools सार तोड़ते हैं
Answer
ताकि model और काम शुरू करने की जगह सार लिखे — Tools के बिना एकमात्र संभव output अंतिम text है।