jsonscraper

كيفية حساب استهلاك الرموز في Responses API: الإدخال والإخراج والتخزين المؤقت والاستدلال

دليل عملي لتتبّع usage والتحقق من الوفورات بعد تحسين المطالبة والسجل والاستدلال.

بعد تقصير المطالبة، تحقّق من الوفورات باستخدام usage لكل استجابة وتكلفة المهمة بأكملها. فقد ترافق الإجابة القصيرة تكلفة كبيرة للاستدلال، كما قد يُعاد احتساب سجل المحادثة عند مواصلتها. لمراقبة الميزانية، افصل بين عدد الرموز وفئات التسعير وعدد الاستدعاءات اللازمة لإنجاز المهمة.

كيفية حساب استهلاك الرموز في Responses API: الإدخال والإخراج والتخزين المؤقت والاستدلال
السياق: نشرح عدّادات Responses API، وإعادة احتساب السياق، ومعادلة التكلفة. رموز الاستدلال مشمولة بالفعل في output_tokens؛ والرموز المخزنة مؤقتًا تدخل ضمن الإدخال، بينما قد تُحتسب كتابة ذاكرة التخزين المؤقت على نحو منفصل.
الموضوع المرئي: غلاف واحد مولّد بالذكاء الاصطناعي للنسخ الروسية والإنجليزية والألمانية. طبيعة صامتة تحريرية واقعية للغاية: على مكتب مطوّر، أربع مجموعات من قطع زجاجية صغيرة شبه شفافة؛ داخ
© jsonscraper · صورة مولّدة بالذكاء الاصطناعي

أربعة عدّادات وعلاقتها بعضها ببعض

في مثال كائن usage، تعرض OpenAI الإدخال والإخراج وتفاصيل كل منهما. اقرأها كما يلي:

  • input_tokens — إجمالي رموز الإدخال لهذا الاستدعاء، بما فيها السياقات المستخدمة لمواصلة المحادثة.
  • input_tokens_details.cached_tokens — جزء الإدخال الذي عولج من ذاكرة التخزين المؤقت. وهو مشمول بالفعل في input_tokens.
  • output_tokens — إجمالي الرموز المُولّدة، بما فيها رموز الاستدلال.
  • output_tokens_details.reasoning_tokens — جزء الإخراج المخصّص للاستدلال.

رموز الاستدلال داخلة بالفعل في output_tokens؛ فلا تضفها إلى الإخراج مرة ثانية. تحتسبها OpenAI وفق سعر رموز الإخراج. وبالمثل، تؤدي إضافة cached_tokens إلى الإدخال إلى احتساب الجزء نفسه مرتين. استخدم total_tokens أو مجموع input_tokens + output_tokens لحساب الإجمالي.

التكلفة: قسّم الإدخال إلى فئات

تعرض صفحة الأسعار الحالية أسعار الإدخال العادي والإدخال المخزّن مؤقتًا وكتابة ذاكرة التخزين المؤقت والإخراج كلًّا على حدة. اختر الأسعار الموافقة للطراز الفعلي ووضع المعالجة وطول السياق المعمول به. واحفظ القيم الدقيقة ضمن إعدادات إصدارها قابل للتتبّع.

ومن التفاصيل المهمة في وثائق التخزين المؤقت الحالية أن طرازات GPT-5.6 والأحدث تحتسب input_tokens_details.cache_write_tokens. إذا كان مخططك يفرض رسومًا منفصلة على كتابة ذاكرة التخزين المؤقت، فاستبعد هذه الفئة من الإدخال العادي وطبّق سعرها الخاص.

I = input_tokens
C = input_tokens_details.cached_tokens
W = input_tokens_details.cache_write_tokens
O = output_tokens

ordinary_input = I - C - W
cost = ((I - C - W) * P_input
        + C * P_cached
        + W * P_write
        + O * P_output) \/ 1_000_000
كيفية حساب استهلاك الرموز في Responses API: الإدخال والإخراج والتخزين المؤقت والاستدلال
السياق: نشرح عدّادات Responses API، وإعادة احتساب السياق، ومعادلة التكلفة. رموز الاستدلال مشمولة بالفعل في output_tokens؛ والرموز المخزنة مؤقتًا تدخل ضمن الإدخال، بينما قد تُحتسب كتابة ذاكرة التخزين المؤقت على نحو منفصل.
الموضوع المرئي: غلاف واحد مولّد بالذكاء الاصطناعي للنسخ الروسية والإنجليزية والألمانية. طبيعة صامتة تحريرية واقعية للغاية: على مكتب مطوّر، أربع مجموعات من قطع زجاجية صغيرة شبه شفافة؛ داخ
© jsonscraper · صورة مولّدة بالذكاء الاصطناعي

الأسعار هنا لكل مليون رمز؛ وإذا لم يتضمن مخططك فئة منفصلة للكتابة، فاستخدم W = 0. تغطي المعادلة فئات الرموز المذكورة. أضف الأدوات المدفوعة في بنود مستقلة وفق شروط تسعيرها.

مثال افتراضي: الإدخال 4000، والإدخال المخزّن مؤقتًا 3000، وكتابة ذاكرة التخزين المؤقت 500، والإخراج 1000، منها 600 للاستدلال. ينتج عن ذلك 500 رمز إدخال عادي و5000 رمز إجمالًا. تُحتسب تكلفة الإخراج على أساس 1000 رمز؛ وتُحتفظ بالقيمة 600 لأغراض التشخيص.

مواصلة المحادثة تعني استهلاك الإدخال مجددًا

عند إدارة سجل المحادثة يدويًا، يرسل التطبيق الرسائل السابقة مع الإدخال الجديد. وتصبح الرسائل المضمّنة في الطلب التالي جزءًا من سياق الإدخال مجددًا. لذلك فإن قياس رسالة المستخدم الأخيرة وحدها لا يشمل تكلفة السجل.

عند استخدام previous_response_id، يمرّر التطبيق مرجعًا إلى الاستجابة السابقة، وتربط واجهة API السياق. ووفق قواعد احتساب مواصلة المحادثة، تُحتسب رموز الإدخال السابقة في سلسلة المحادثة مجددًا على أنها إدخال. وقد يغيّر التخزين المؤقت فئة التسعير لجزء من هذا الإدخال؛ لذا تحقّق من حدوث التخزين المؤقت فعليًا عبر cached_tokens في كل استجابة.

كيفية التحقق من نتيجة التحسين

  1. احفظ عينة أساس للمقارنة. قارن مهام متماثلة، والطراز نفسه، ومعيار النجاح نفسه، وأطوال محادثات متقاربة.
  2. سجّل كل استدعاء. دوّن معرّفات الاستجابة والمهمة، والطراز، وإعدادات الاستدلال، والحالة، وزمن الاستجابة، وكامل بيانات usage. واحفظ إصدار المطالبة وإعدادات التسعير.
  3. اجمع تكاليف المهمة. أدرج جميع استدعاءاتها والاستجابات الناتجة عن المحاولات المتكررة. المقياس الأساسي هو تكلفة المهمة المكتملة بنجاح.
  4. افصل أسباب التغيير. راقب الإدخال العادي وقراءة ذاكرة التخزين المؤقت وكتابتها والإخراج ونسبة الاستدلال. ولحساب النسبة الإجمالية للتخزين المؤقت، اقسم مجموع C على مجموع I.
  5. تحقّق من الجودة ومن القيم عند أطراف التوزيع. قارن المئين 95 وعدد المحاولات ونسبة المهام الناجحة إلى جانب متوسط التكلفة.

تحدّ الخاصية max_output_tokens من التوليد بما يشمل الاستدلال. وعند بلوغ الحد، قد تصبح حالة الاستجابة incomplete، حتى في حالات لا يظهر فيها نص، مع استمرار استهلاك الرموز. أدخل هذه الاستجابات في تقييم الوفورات: يكون التحسين قد حقق هدفه عندما تكتمل مهام متقاربة بنجاح بتكلفة إجمالية أقل.

People

No people listed for this article yet.

Keep readingAnthropic تطلق Claude Haiku 5.5: التسعير يعتمد على طول المطالبة
Read the next article

حوّل ما تقرأه إلى تكامل عملي

استكشف واجهات API للبيانات الاجتماعية من jsonscraper واختبر الطلبات وأنشئ سير عملك التالي.

استكشف واجهات API