تتيح Gemini API وضع المعالجة المجمّعة الذي يتيح لك معالجة طلبات متعددة في مكالمة واحدة. لمزيد من التفاصيل، يُرجى الاطّلاع على دليل وضع الدُفعات.
الطريقة: models.batchGenerateContent
تضيف هذه الطريقة مجموعة من طلبات models.generateContent إلى قائمة الانتظار لمعالجتها بشكل مجمّع.
نقطة نهاية
posthttps: / /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}
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 ( |
GenerateContentBatch
- تمثيل JSON
- InputConfig
- InlinedRequests
- InlinedRequest
- GenerateContentBatchOutput
- InlinedResponses
- InlinedResponse
- BatchStats
- BatchState
مورد يمثّل مجموعة من طلبات 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
تضبط هذه السمة الإدخال لطلب الدفعات.
source
Union type
source
إحدى القيم التالية فقط:fileName
string
اسم File
الذي يحتوي على طلبات الإدخال.
requests
object (InlinedRequests
)
الطلبات التي ستتم معالجتها في المجموعة.
تمثيل JSON |
---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedRequests
الطلبات التي ستتم معالجتها في المجموعة إذا تم تقديمها كجزء من طلب إنشاء المجموعة
requests[]
object (InlinedRequest
)
الحقل مطلوب. الطلبات التي ستتم معالجتها في المجموعة.
تمثيل JSON |
---|
{
"requests": [
{
object ( |
InlinedRequest
الطلب الذي ستتم معالجته في الدفعة.
request
object (GenerateContentRequest
)
الحقل مطلوب. الطلب الذي ستتم معالجته في الدفعة.
metadata
object (Struct
format)
اختيارية: البيانات الوصفية التي سيتم ربطها بالطلب
تمثيل JSON |
---|
{
"request": {
object ( |
GenerateContentBatchOutput
ناتج طلب مجمّع يتم عرض هذا الردّ في الحقل BatchGenerateContentResponse أو GenerateContentBatch.output.
output
Union type
output
إحدى القيم التالية فقط:responsesFile
string
النتائج فقط. رقم تعريف الملف الذي يحتوي على الردود سيكون الملف بتنسيق JSONL مع استجابة واحدة لكل سطر. ستكون الردود عبارة عن رسائل GenerateContentResponse منسَّقة بتنسيق JSON. سيتم كتابة الردود بالترتيب نفسه الذي تم فيه إدخال الطلبات.
inlinedResponses
object (InlinedResponses
)
النتائج فقط. الردود على الطلبات في المجموعة يتم عرض هذه الحالة عندما يتم إنشاء المجموعة باستخدام الطلبات المضمّنة. ستكون الردود بالترتيب نفسه الذي تم به إدخال الطلبات.
تمثيل JSON |
---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedResponses
الردود على الطلبات في المجموعة
inlinedResponses[]
object (InlinedResponse
)
النتائج فقط. الردود على الطلبات في المجموعة
تمثيل JSON |
---|
{
"inlinedResponses": [
{
object ( |
InlinedResponse
الردّ على طلب واحد في المجموعة
metadata
object (Struct
format)
النتائج فقط. البيانات الوصفية المرتبطة بالطلب
output
Union type
output
إحدى القيم التالية فقط:error
object (Status
)
النتائج فقط. الخطأ الذي حدث أثناء معالجة الطلب.
response
object (GenerateContentResponse
)
النتائج فقط. الردّ على الطلب
تمثيل JSON |
---|
{ "metadata": { object }, // output "error": { object ( |
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 ( |
الطريقة: batches.get
تتيح هذه الطريقة الاطّلاع على أحدث حالة لعملية طويلة، ويمكن للعملاء استخدامها للتحقّق من نتيجة العملية على فترات زمنية منتظمة تنصح بها خدمة واجهة برمجة التطبيقات.
نقطة نهاية
gethttps: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}
مَعلمات المسار
name
string
يمثّل اسم مورد العملية. ويكون بالتنسيق التالي: batches/{batches}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال Operation
.
الطريقة: batches.list
تعرض هذه الطريقة العمليات التي تتطابق مع الفلتر المحدّد في الطلب. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز UNIMPLEMENTED
.
نقطة نهاية
gethttps: / /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
.
نقطة نهاية
posthttps: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}:cancel
مَعلمات المسار
name
string
اسم مورد العملية المطلوب إلغاؤها. ويكون بالتنسيق التالي: batches/{batches}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة عبارة عن كائن JSON فارغ.
الطريقة: batches.delete
تحذف هذه الطريقة عملية طويلة الأمد. تشير هذه الطريقة إلى أنّ العميل لم يعُد مهتمًا بنتيجة العملية. ولا يؤدي إلى إلغاء العملية. إذا كان الخادم لا يتيح هذه الطريقة، سيعرض الرمز google.rpc.Code.UNIMPLEMENTED
.
نقطة نهاية
deletehttps: / /generativelanguage.googleapis.com /v1beta /{name=batches /*}
مَعلمات المسار
name
string
اسم مورد العملية المطلوب حذفه. ويكون بالتنسيق التالي: batches/{batches}
.
نص الطلب
يجب أن يكون نص الطلب فارغًا.
نص الاستجابة
إذا كانت الاستجابة ناجحة، سيكون نص الاستجابة عبارة عن كائن JSON فارغ.