पाठ 3 / 25
ख़र्च steps से तेज़ क्यों बढ़ता है
Loop भर के कुल input tokens निकालें और देखें कि लंबे loops जल्दी महँगे क्यों हो जाते हैं।
आप पूरा इतिहास दोबारा भेजते हैं
API स्मृति नहीं रखता: हर बारी पिछले सारे messages दोबारा भेजे जाते हैं। अगर हर बारी लगभग 1,000 tokens जोड़ती है, तो बारी 1 में 1,000, बारी 2 में 2,000, बारी 3 में 3,000 भेजे जाते हैं, और आगे यही। n बारियों में कुल input लगभग 1,000 × (1 + 2 + … + n) है, जो n के वर्ग से बढ़ता है, सीधी रेखा में नहीं।
दस बारियाँ, चलाकर देखें
दस बारियाँ जो हर एक 1,000 tokens जोड़ती हैं, कुल 55,000 input tokens भेजती हैं, 10,000 नहीं। Cost वाली पंक्ति में प्रति दस लाख tokens 3 और 15 की उदाहरण क़ीमतें हैं; अपने provider की असली क़ीमतें लगाएँ।
per_turn, total = 1000, 0
for turn in range(1, 11):
total += per_turn * turn # history so far is resent
print(total)
def cost(inp, out, in_price, out_price):
return inp / 1_000_000 * in_price + out / 1_000_000 * out_price
print(round(cost(55_000, 3_000, 3.0, 15.0), 4))
Output:
55000 0.21
पूरी किताब दोबारा पढ़ना
सोचिए कि हर नया पन्ना लिखने से पहले आपको सारे पिछले पन्ने दोबारा पढ़ने पड़ें। शुरू के पन्ने जल्दी होते हैं, पर 50वें पन्ने तक ज़्यादातर समय दोबारा पढ़ने में जाता है। बिना trimming या caching के agent loop ऐसा ही है।
त्वरित जाँच: हर बारी 1,000 tokens जोड़ती है। 10 बारियाँ कुल लगभग कितने input tokens भेजती हैं?
- 10,000
- 100,000
- 55,000
- 1,000
Answer
55,000 — चूँकि इतिहास दोबारा भेजा जाता है, कुल 1,000 × (1 + … + 10) = 55,000 है।