الوضع المجمّع في Google Gemini API أصبح هنا وأرخص بنسبة 50%

Ashley Innocent

Ashley Innocent

7 يوليو 2025

الوضع المجمّع في Google Gemini API أصبح هنا وأرخص بنسبة 50%

يتميز Gemini API من Google الآن بوضع الدفعة (Batch Mode)، وهو تحديث تحويلي مصمم للمهام الكبيرة وغير المتزامنة، ويأتي مع تخفيض بنسبة 50% في التكلفة. 🚀

لذا، دعنا نلقي نظرة فاحصة على وضع الدفعة الجديد في Google Gemini API!

💡
هل تريد أداة رائعة لاختبار واجهة برمجة التطبيقات (API Testing) تُنشئ وثائق API جميلة؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟

يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أقل بكثير!
زر

تسعير وضع الدفعة في Gemini API

من الفوائد الأساسية لوضع الدفعة في Gemini API هو التخفيض الكبير في التكلفة. يتم تسعير جميع المهام المقدمة عبر نقطة النهاية هذه بـ 50% أقل من السعر القياسي للنموذج المكافئ المستخدم في مكالمة متزامنة (في الوقت الفعلي).

ينطبق هذا الخصم البالغ 50% مباشرةً على هيكل التسعير لكل رمز (token). سواء كنت تستخدم gemini-2.5-pro، أو gemini-2.5-flash، أو أي نموذج آخر مدعوم، فإن تكلفة رموز الإدخال والإخراج يتم تخفيضها إلى النصف عند معالجتها عبر مهمة دفعة. يجعل نموذج التسعير هذا من الممكن ماليًا تنفيذ مهام واسعة النطاق، مثل تحليل تيرابايت من البيانات النصية أو إنشاء محتوى لكتالوج منتجات كامل، والتي قد تكون باهظة التكلفة باستخدام واجهة برمجة التطبيقات القياسية. لا تزال التكلفة تُحسب بناءً على عدد الرموز في إدخالك والإخراج الذي تم إنشاؤه، ولكن السعر لكل رمز هو ما يتم خصمه.

كيفية استخدام وضع الدفعة في Gemini API: دليل خطوة بخطوة

تم تصميم سير العمل لوضع الدفعة في Gemini API ليكون مباشرًا، ويتضمن إعداد الملفات وإنشاء المهام واسترداد النتائج. توفر الأقسام التالية دليلًا عمليًا باستخدام Google GenAI Python SDK.

الخطوة 1: إعداد ملف الإدخال الخاص بك لوضع الدفعة في Gemini API

يعالج وضع الدفعة في Gemini API الطلبات من ملف JSON Lines (JSONL). يجب أن يكون كل سطر في الملف كائن JSON صالحًا يمثل طلبًا واحدًا ومكتملًا بذاته. يمكن أن يصل حجم الملف إلى 2 جيجابايت.

يجب أن يحتوي كل كائن JSON في الملف على حقلين:

مثال batch_requests.jsonl:

{"key": "request_1", "request": {"contents": [{"parts": [{"text": "Explain how AI works in a few words"}]}]}}
{"key": "request_2", "request": {"contents": [{"parts": [{"text": "Summarize the key benefits of context caching in LLMs."}]}]}}
{"key": "request_3", "request": {"contents": [{"parts": [{"text": "Write a python function to reverse a string."}]}]}}

الخطوة 2: سير عمل البرمجة لوضع الدفعة في Gemini API

يبسط Python SDK عملية التفاعل مع نقطة نهاية الدفعة إلى عدد قليل من استدعاءات الوظائف الرئيسية.

تحميل ملف الإدخال: أولاً، يجب عليك تحميل ملف JSONL الخاص بك إلى خدمة ملفات Google. يعيد هذا كائن ملف ستشير إليه عند إنشاء المهمة.

import google.generativeai as genai

# It is recommended to configure your API key as an environment variable
# genai.configure(api_key="YOUR_API_KEY")

uploaded_batch_requests = genai.upload_file(path="batch_requests.jsonl")

إنشاء مهمة الدفعة: بعد تحميل الملف، يمكنك الآن إنشاء مهمة الدفعة. يتطلب هذا الاستدعاء تحديد النموذج الذي ترغب في استخدامه وتوفير الملف الذي تم تحميله كمصدر للطلبات.

batch_job = genai.create_batch_job(
    model="gemini-2.5-flash",  # Or "gemini-2.5-pro", etc.
    requests=uploaded_batch_requests,
    config={
        'display_name': "MyFirstBatchJob-1",
    },
)
print(f"Created batch job: {batch_job.name}")
print(f"Initial state: {batch_job.state.name}")

تعود هذه الوظيفة على الفور، وتوفر اسم المهمة وحالتها الأولية، والتي عادة ما تكون JOB_STATE_PENDING.

الخطوة 3: إدارة ومراقبة المهام في وضع الدفعة في Gemini API

نظرًا لأن مهام الدفعة غير متزامنة، فأنت بحاجة إلى مراقبة حالتها. يمكنك استرداد الحالة الحالية للمهمة في أي وقت باستخدام اسمها. يُضمن اكتمال المهام في غضون 24 ساعة.

حالات المهام المحتملة هي:

مثال على التحقق من حالة المهمة:

# Check the status after some time has passed
retrieved_job = genai.get_batch_job(name=batch_job.name)
print(f"Current job state: {retrieved_job.state.name}")

الخطوة 4: معالجة النتائج من وضع الدفعة في Gemini API

بمجرد أن تكون حالة المهمة JOB_STATE_SUCCEEDED، تكون النتائج متاحة للتنزيل كملف JSONL. يتوافق كل سطر في ملف الإخراج مع طلب من ملف الإدخال.

يحتوي كائن JSON الناتج على key من الطلب الأصلي وكائن response يحتوي على إخراج النموذج.

  1. تنزيل ملف النتائج:
if retrieved_job.state.name == 'JOB_STATE_SUCCEEDED':
    result_file_metadata = retrieved_job.result_file
    result_file_content_bytes = genai.download_file(name=result_file_metadata.name).read()
    
    # Decode and process the results
    file_content = result_file_content_bytes.decode('utf-8')
    for line in file_content.splitlines():
        print(line)
elif retrieved_job.state.name == 'JOB_STATE_FAILED':
    print(f"Job failed with error: {retrieved_job.error}")

مثال على سطر ملف الإخراج:

{"key": "request_1", "response": {"candidates": [{"content": {"parts": [{"text": "Artificial intelligence enables machines to learn and reason."}]}}]}}

يمكنك تحليل هذا الملف، باستخدام key لمطابقة كل استجابة مع موجهها الأصلي.

الوظائف المتقدمة في وضع الدفعة في Gemini API

يدعم وضع الدفعة في Gemini API أيضًا ميزات أكثر تقدمًا لتحسين سير العمل على نطاق واسع.

التخزين المؤقت للسياق مع وضع الدفعة في Gemini API

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

استخدام الأدوات المضمنة مع وضع الدفعة في Gemini API

تدعم مهام الدفعة استخدام الأدوات، بما في ذلك وظيفة بحث Google المضمنة. يتيح لك ذلك تنفيذ مهام واسعة النطاق تتطلب من النموذج الوصول إلى المعلومات في الوقت الفعلي من الويب ومعالجتها. على سبيل المثال، يمكن تكوين مهمة دفعة لتحليل آلاف عناوين URL وتلخيص محتواها.

سلطت Google الضوء على العديد من المنظمات التي تستخدم هذه الوظيفة بالفعل:

الخاتمة: القيمة الفنية لوضع الدفعة في Gemini API

يوفر وضع الدفعة في Gemini API حلاً قويًا من الناحية الفنية ومفيدًا ماليًا لمعالجة الذكاء الاصطناعي على نطاق واسع وغير المتزامنة. من خلال تقديم تخفيض بنسبة 50% في التكلفة، وسير عمل مبسط يعتمد على الملفات، ودعم الميزات المتقدمة مثل التخزين المؤقت للسياق واستخدام الأدوات، فإنه يزيل الحواجز الهندسية والمالية المرتبطة بمهام الذكاء الاصطناعي عالية الإنتاجية. إنها أداة أساسية للمطورين والمنظمات التي تتطلع إلى الاستفادة من القوة الكاملة لنماذج Gemini على مجموعات البيانات الضخمة.

💡
هل تريد أداة رائعة لاختبار واجهة برمجة التطبيقات (API Testing) تُنشئ وثائق API جميلة؟

هل تريد منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟

يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أقل بكثير!
زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات