Batch Mode

تتيح Gemini API وضع المعالجة المجمّعة الذي يتيح لك معالجة طلبات متعددة في مكالمة واحدة. لمزيد من التفاصيل، يُرجى الاطّلاع على دليل وضع الدُفعات.

الطريقة: models.batchGenerateContent

تضيف هذه الطريقة مجموعة من طلبات models.generateContent إلى قائمة الانتظار لمعالجتها بشكل مجمّع.

نقطة نهاية

post https://generativelanguage.googleapis.com/v1beta/{batch.model=models/*}:batchGenerateContent

مَعلمات المسار

batch.model string

الحقل مطلوب. اسم Model المطلوب استخدامه لإنشاء الإكمال.

التنسيق: models/{model} ويكون بالتنسيق التالي: models/{model}.

نص الطلب

يتضمن نص الطلب بيانات بالبنية التالية:

الحقول
batch.name string

النتائج فقط. المعرّف اسم المورد الخاص بالدفعة.

التنسيق: batches/{batch_id}

batch.displayName string

الحقل مطلوب. اسم هذه الدفعة الذي حدّده المستخدم

batch.inputConfig object (InputConfig)

الحقل مطلوب. إدخال إعدادات المثيلات التي يتم إجراء المعالجة المجمّعة عليها

batch.output object (GenerateContentBatchOutput)

النتائج فقط. ناتج طلب الدفعة

batch.createTime string (Timestamp format)

النتائج فقط. الوقت الذي تم فيه إنشاء الدفعة

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 و3 و6 و9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30".

batch.endTime string (Timestamp format)

النتائج فقط. الوقت الذي اكتملت فيه المعالجة المجمّعة.

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 و3 و6 و9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30".

batch.updateTime string (Timestamp format)

النتائج فقط. الوقت الذي تم فيه آخر تعديل على المجموعة

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 و3 و6 و9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30".

batch.batchStats object (BatchStats)

النتائج فقط. إحصاءات حول الدفعة

batch.state enum (BatchState)

النتائج فقط. حالة الدُفعة.

batch.priority string (int64 format)

اختيارية: أولوية الدفعة ستتم معالجة الدفعات ذات قيمة الأولوية الأعلى قبل الدفعات ذات قيمة الأولوية الأقل. يُسمح بالقيم السالبة. القيمة التلقائية هي 0.

نص الاستجابة

إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال Operation.

GenerateContentRequest

طلب إنشاء إكمال من النموذج

الحقول
model string

الحقل مطلوب. اسم Model المطلوب استخدامه لإنشاء الإكمال.

التنسيق: models/{model}

contents[] object (Content)

الحقل مطلوب. محتوى المحادثة الحالية مع النموذج

بالنسبة إلى طلبات البحث ذات الدورة الواحدة، يكون هذا مثيلاً واحدًا. بالنسبة إلى الاستعلامات المتعددة الأدوار، مثل المحادثة، هذا حقل متكرّر يحتوي على سجلّ المحادثات وأحدث طلب.

tools[] object (Tool)

اختيارية: قائمة Tools التي قد تستخدمها Model لإنشاء الرد التالي

Tool هي جزء من الرمز البرمجي يتيح للنظام التفاعل مع أنظمة خارجية لتنفيذ إجراء أو مجموعة من الإجراءات خارج نطاق معرفة Model. Tool المتاحة هي Function وcodeExecution. لمزيد من المعلومات، يُرجى الرجوع إلى دليلَي استدعاء الدوال وتنفيذ الرمز.

toolConfig object (ToolConfig)

اختيارية: إعدادات الأداة لأي Tool محدّدة في الطلب يمكنك الرجوع إلى دليل استخدام ميزة "طلب تنفيذ وظيفة" للاطّلاع على مثال على الاستخدام.

safetySettings[] object (SafetySetting)

اختيارية: قائمة بـ SafetySetting فريدة لحظر المحتوى غير الآمن

سيتم تطبيق هذا الشرط على GenerateContentRequest.contents وGenerateContentResponse.candidates. يجب ألا يكون هناك أكثر من إعداد واحد لكل نوع SafetyCategory. ستحظر واجهة برمجة التطبيقات أي محتوى وردود لا تستوفي الحدود التي تحدّدها هذه الإعدادات. تلغي هذه القائمة الإعدادات التلقائية لكل SafetyCategory محدّد في safetySettings. إذا لم يكن هناك SafetySetting لـ SafetyCategory معيّن مُقدَّم في القائمة، ستستخدم واجهة برمجة التطبيقات إعداد الأمان التلقائي لهذه الفئة. تتوفّر فئات المحتوى الضار التالية: HARM_CATEGORY_HATE_SPEECH وHARM_CATEGORY_SEXUALLY_EXPLICIT وHARM_CATEGORY_DANGEROUS_CONTENT وHARM_CATEGORY_HARASSMENT وHARM_CATEGORY_CIVIC_INTEGRITY. راجِع الدليل للحصول على معلومات تفصيلية حول إعدادات الأمان المتاحة. يمكنك أيضًا الرجوع إلى إرشادات الأمان للتعرّف على كيفية تضمين اعتبارات الأمان في تطبيقات الذكاء الاصطناعي.

systemInstruction object (Content)

اختيارية: يضع المطوّر تعليمات النظام. في الوقت الحالي، يمكن إدخال نص فقط.

generationConfig object (GenerationConfig)

اختيارية: خيارات الإعداد لإنشاء النماذج والمخرجات

cachedContent string

اختيارية: اسم المحتوى المخزَّن مؤقتًا لاستخدامه كسياق لعرض التوقّع التنسيق: cachedContents/{cachedContent}

تمثيل JSON
{
  "model": string,
  "contents": [
    {
      object (Content)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "toolConfig": {
    object (ToolConfig)
  },
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],
  "systemInstruction": {
    object (Content)
  },
  "generationConfig": {
    object (GenerationConfig)
  },
  "cachedContent": string
}

GenerateContentBatch

مورد يمثّل مجموعة من طلبات GenerateContent.

الحقول
model string

الحقل مطلوب. اسم Model المطلوب استخدامه لإنشاء الإكمال.

التنسيق: models/{model}

name string

النتائج فقط. المعرّف اسم المورد الخاص بالدفعة.

التنسيق: batches/{batch_id}

displayName string

الحقل مطلوب. اسم هذه الدفعة الذي حدّده المستخدم

inputConfig object (InputConfig)

الحقل مطلوب. إدخال إعدادات المثيلات التي يتم إجراء المعالجة المجمّعة عليها

output object (GenerateContentBatchOutput)

النتائج فقط. ناتج طلب الدفعة

createTime string (Timestamp format)

النتائج فقط. الوقت الذي تم فيه إنشاء الدفعة

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 و3 و6 و9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30".

endTime string (Timestamp format)

النتائج فقط. الوقت الذي اكتملت فيه المعالجة المجمّعة.

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 و3 و6 و9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30".

updateTime string (Timestamp format)

النتائج فقط. الوقت الذي تم فيه آخر تعديل على المجموعة

يستخدم المعيار RFC 3339، حيث يكون الناتج الذي يتم إنشاؤه مُمثلاً بالتوقيت العالمي المنسَّق مع حرف Z في النهاية ويستخدم الأرقام الجزئية 0 و3 و6 و9. تُقبل أيضًا المعادلات الأخرى التي لا تستخدم حرف Z. أمثلة: "2014-10-02T15:01:23Z" أو "2014-10-02T15:01:23.045123456Z" أو "2014-10-02T15:01:23+05:30".

batchStats object (BatchStats)

النتائج فقط. إحصاءات حول الدفعة

state enum (BatchState)

النتائج فقط. حالة الدُفعة.

priority string (int64 format)

اختيارية: أولوية الدفعة ستتم معالجة الدفعات ذات قيمة الأولوية الأعلى قبل الدفعات ذات قيمة الأولوية الأقل. يُسمح بالقيم السالبة. القيمة التلقائية هي 0.

تمثيل JSON
{
  "model": string,
  "name": string,
  "displayName": string,
  "inputConfig": {
    object (InputConfig)
  },
  "output": {
    object (GenerateContentBatchOutput)
  },
  "createTime": string,
  "endTime": string,
  "updateTime": string,
  "batchStats": {
    object (BatchStats)
  },
  "state": enum (BatchState),
  "priority": string
}

InputConfig

تضبط هذه السمة الإدخال لطلب الدفعات.

الحقول
source Union type
الحقل مطلوب. تمثّل هذه السمة مصدر الإدخال. يمكن أن تكون source إحدى القيم التالية فقط:
fileName string

اسم File الذي يحتوي على طلبات الإدخال.

requests object (InlinedRequests)

الطلبات التي ستتم معالجتها في المجموعة.

تمثيل JSON
{

  // source
  "fileName": string,
  "requests": {
    object (InlinedRequests)
  }
  // Union type
}

InlinedRequests

الطلبات التي ستتم معالجتها في المجموعة إذا تم تقديمها كجزء من طلب إنشاء المجموعة

الحقول
requests[] object (InlinedRequest)

الحقل مطلوب. الطلبات التي ستتم معالجتها في المجموعة.

تمثيل JSON
{
  "requests": [
    {
      object (InlinedRequest)
    }
  ]
}

InlinedRequest

الطلب الذي ستتم معالجته في الدفعة.

الحقول
request object (GenerateContentRequest)

الحقل مطلوب. الطلب الذي ستتم معالجته في الدفعة.

metadata object (Struct format)

اختيارية: البيانات الوصفية التي سيتم ربطها بالطلب

تمثيل JSON
{
  "request": {
    object (GenerateContentRequest)
  },
  "metadata": {
    object
  }
}

GenerateContentBatchOutput

ناتج طلب مجمّع يتم عرض هذا الردّ في الحقل BatchGenerateContentResponse أو GenerateContentBatch.output.

الحقول
output Union type
ناتج طلب الدفعة يمكن أن تكون output إحدى القيم التالية فقط:
responsesFile string

النتائج فقط. رقم تعريف الملف الذي يحتوي على الردود سيكون الملف بتنسيق JSONL مع استجابة واحدة لكل سطر. ستكون الردود عبارة عن رسائل GenerateContentResponse منسَّقة بتنسيق JSON. سيتم كتابة الردود بالترتيب نفسه الذي تم فيه إدخال الطلبات.

inlinedResponses object (InlinedResponses)

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

تمثيل JSON
{

  // output
  "responsesFile": string,
  "inlinedResponses": {
    object (InlinedResponses)
  }
  // Union type
}

InlinedResponses

الردود على الطلبات في المجموعة

الحقول
inlinedResponses[] object (InlinedResponse)

النتائج فقط. الردود على الطلبات في المجموعة

تمثيل JSON
{
  "inlinedResponses": [
    {
      object (InlinedResponse)
    }
  ]
}

InlinedResponse

الردّ على طلب واحد في المجموعة

الحقول
metadata object (Struct format)

النتائج فقط. البيانات الوصفية المرتبطة بالطلب

output Union type
ناتج الطلب يمكن أن تكون output إحدى القيم التالية فقط:
error object (Status)

النتائج فقط. الخطأ الذي حدث أثناء معالجة الطلب.

response object (GenerateContentResponse)

النتائج فقط. الردّ على الطلب

تمثيل JSON
{
  "metadata": {
    object
  },

  // output
  "error": {
    object (Status)
  },
  "response": {
    object (GenerateContentResponse)
  }
  // Union type
}

BatchStats

إحصاءات حول الدفعة

الحقول
requestCount string (int64 format)

النتائج فقط. عدد الطلبات في الدفعة.

successfulRequestCount string (int64 format)

النتائج فقط. عدد الطلبات التي تمت معالجتها بنجاح

failedRequestCount string (int64 format)

النتائج فقط. عدد الطلبات التي تعذّر معالجتها.

pendingRequestCount string (int64 format)

النتائج فقط. عدد الطلبات التي لا تزال في انتظار المعالجة

تمثيل JSON
{
  "requestCount": string,
  "successfulRequestCount": string,
  "failedRequestCount": string,
  "pendingRequestCount": string
}

BatchState

حالة الدُفعة.

عمليات التعداد
BATCH_STATE_UNSPECIFIED حالة الدفعة غير محدّدة.
BATCH_STATE_PENDING تستعد الخدمة لتشغيل المجموعة.
BATCH_STATE_RUNNING الدفعة قيد التنفيذ.
BATCH_STATE_SUCCEEDED اكتملت الدفعة بنجاح.
BATCH_STATE_FAILED تعذّر تنفيذ المجموعة.
BATCH_STATE_CANCELLED تم إلغاء الدفعة.
BATCH_STATE_EXPIRED انتهت صلاحية الدفعة.

مورد REST: ‏ batches

المورد: العملية

يمثّل هذا المورد عملية طويلة ناتجة عن طلب بيانات من واجهة برمجة التطبيقات من الشبكة.

الحقول
name string

هو الاسم الذي يُعيّنه الخادم، ويكون فريدًا فقط ضمن الخدمة نفسها التي أرسلت الاسم في الاستجابة. إذا كنت تستخدم أسلوب ربط HTTP التلقائي، يجب أن يكون حقل name اسم مورد ينتهي بالشكل التالي: operations/{unique_id}.

metadata object

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

هو كائن يحتوي على حقول من أي نوع، بالإضافة إلى حقل "@type" الذي يتضمّن معرف موارد منتظم (URI) يحدّد نوع الكائن، مثل { "id": 1234, "@type": "types.example.com/standard/id" }.

done boolean

إذا كانت القيمة false، هذا يعني أنّ العملية ما زالت قيد التنفيذ. أما إذا كانت true، فهذا يعني أنّ العملية اكتملت، ويمكن عندها الوصول إلى error أو response.

result Union type
تمثّل نتيجة العملية، والتي يمكن أن تكون إما error أو response صالحة. إذا كان done ‏ == false، هذا يعني أنّه لم يتم ضبط أي من error أو response. إذا كان done ‏ == true، هذا يعني أنّه يمكن ضبط إما error أو response فقط. يُرجى الِعلم أنّ بعض الخدمات قد لا توفّر النتيجة. يمكن أن تكون result إحدى القيم التالية فقط:
error object (Status)

يمثّل نتيجة الخطأ للعملية في حال فشلها أو إلغائها.

response object

يشير هذا الحقل إلى الاستجابة المعتادة إذا كانت العملية ناجحة. إذا كان الإجراء الأصلي لا يعرض أي بيانات عند نجاحه، مثل Delete، تكون الاستجابة google.protobuf.Empty. وإذا كان الإجراء الأصلي أحد العمليات الشائعة مثل Get أو Create أو Update، يجب أن تكون الاستجابة هي المورد نفسه. أما بالنسبة إلى الإجراءات الأخرى، فيجب أن يكون نوع الاستجابة بصيغة XxxResponse، حيث يمثّل Xxx اسم الإجراء الأصلي. على سبيل المثال، إذا كان اسم الإجراء الأصلي TakeSnapshot()، سيكون نوع الاستجابة المستنتَج TakeSnapshotResponse.

هو كائن يحتوي على حقول من أي نوع، بالإضافة إلى حقل "@type" الذي يتضمّن معرف موارد منتظم (URI) يحدّد نوع الكائن، مثل { "id": 1234, "@type": "types.example.com/standard/id" }.

تمثيل JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // result
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

الطريقة: batches.get

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

نقطة نهاية

get https://generativelanguage.googleapis.com/v1beta/{name=batches/*}

مَعلمات المسار

name string

يمثّل اسم مورد العملية. ويكون بالتنسيق التالي: batches/{batches}.

نص الطلب

يجب أن يكون نص الطلب فارغًا.

نص الاستجابة

إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال Operation.

الطريقة: batches.list

تعرض هذه الطريقة العمليات التي تتطابق مع الفلتر المحدّد في الطلب. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز UNIMPLEMENTED.

نقطة نهاية

get https://generativelanguage.googleapis.com/v1beta/{name=batches}

مَعلمات المسار

name string

اسم المورد الرئيسي للعملية ويكون بالتنسيق التالي: batches.

مَعلمات طلب البحث

filter string

فلتر القائمة العادي

pageSize integer

حجم صفحة القائمة العادي

pageToken string

الرمز المميز لصفحة القائمة العادية

نص الطلب

يجب أن يكون نص الطلب فارغًا.

نص الاستجابة

إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال ListOperationsResponse.

الطريقة: batches.cancel

تبدأ هذه الطريقة عملية إلغاء غير متزامنة لعملية طويلة الأمد. يبذل الخادم قصارى جهده لإلغاء العملية، ولكن لا يمكن ضمان نجاحها. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز google.rpc.Code.UNIMPLEMENTED. يمكن للعملاء استخدام Operations.GetOperation أو طرق أخرى للتحقّق مما إذا تم الإلغاء بنجاح أو ما إذا اكتملت العملية على الرغم من الإلغاء. عند إلغاء العملية بنجاح، لا يتم حذفها، بل تصبح عملية بقيمة Operation.error مع حالة google.rpc.Status.code بقيمة 1، ما يتوافق مع Code.CANCELLED.

نقطة نهاية

post https://generativelanguage.googleapis.com/v1beta/{name=batches/*}:cancel

مَعلمات المسار

name string

اسم مورد العملية المطلوب إلغاؤها. ويكون بالتنسيق التالي: batches/{batches}.

نص الطلب

يجب أن يكون نص الطلب فارغًا.

نص الاستجابة

إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة عبارة عن كائن JSON فارغ.

الطريقة: batches.delete

تحذف هذه الطريقة عملية طويلة الأمد. تشير هذه الطريقة إلى أنّ العميل لم يعُد مهتمًا بنتيجة العملية. ولا يؤدي إلى إلغاء العملية. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز google.rpc.Code.UNIMPLEMENTED.

نقطة نهاية

delete https://generativelanguage.googleapis.com/v1beta/{name=batches/*}

مَعلمات المسار

name string

اسم مورد العملية المطلوب حذفه. ويكون بالتنسيق التالي: batches/{batches}.

نص الطلب

يجب أن يكون نص الطلب فارغًا.

نص الاستجابة

إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة عبارة عن كائن JSON فارغ.