التضمينات هي تمثيل رقمي لإدخال نصي يتيح عددًا من حالات الاستخدام الفريدة، مثل التجميع وقياس التشابه واسترجاع المعلومات. للحصول على مقدمة، يمكنك الاطّلاع على دليل التضمين.
على عكس نماذج الذكاء الاصطناعي التوليدي التي تنشئ محتوًى جديدًا، يهدف نموذج Gemini Embedding إلى تحويل تنسيق بيانات الإدخال إلى تمثيل رقمي فقط. في حين أنّ Google مسؤولة عن توفير نموذج تضمين يحوّل تنسيق بيانات الإدخال إلى التنسيق الرقمي المطلوب، يحتفظ المستخدمون بالمسؤولية الكاملة عن البيانات التي يدخلونها وعمليات التضمين الناتجة. يشير استخدامك لنموذج Gemini Embedding إلى تأكيدك على امتلاك الحقوق اللازمة لأي محتوى يتم تحميله. ويجب عدم إنشاء محتوى ينتهك حقوق الملكية الفكرية أو حقوق الخصوصية للآخرين. يخضع استخدامك لهذه الخدمة لسياسة الاستخدام المحظور وبنود خدمة Google.
الطريقة: models.embedContent
تُنشئ هذه الدالة متّجه تضمين نصي من الإدخال Content باستخدام نموذج Gemini Embedding المحدّد.
نقطة نهاية
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:embedContent
مَعلمات المسار
model
string
الحقل مطلوب. اسم مورد النموذج. ويُستخدَم هذا المعرّف في النموذج.
يجب أن يتطابق هذا الاسم مع اسم طراز تعرضه الطريقة models.list.
التنسيق: models/{model} ويكون بالتنسيق التالي: models/{model}.
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
content
object (Content)
الحقل مطلوب. المحتوى المطلوب تضمينه سيتم احتساب حقول parts.text فقط.
taskType
enum (TaskType)
اختيارية: نوع المهمة الاختياري الذي سيتم استخدام التضمينات فيه لا تتوفّر هذه الميزة على الطُرز القديمة (models/embedding-001).
title
string
اختيارية: عنوان اختياري للنص لا يمكن استخدامها إلا عندما تكون قيمة TaskType هي RETRIEVAL_DOCUMENT.
ملاحظة: يؤدي تحديد title لـ RETRIEVAL_DOCUMENT إلى توفير تضمينات ذات جودة أفضل لاسترجاع البيانات.
outputDimensionality
integer
اختيارية: سمة اختيارية مخفَّضة لتضمين الناتج. في حال ضبط هذا الخيار، يتم اقتطاع القيم الزائدة في التضمين الناتج من النهاية. تتوفّر هذه الميزة على الطُرز الأحدث منذ عام 2024 فقط. لا يمكنك ضبط هذه القيمة في حال استخدام النموذج السابق (models/embedding-001).
مثال على الطلب
Python
Node.js
Go
محارة
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال EmbedContentResponse.
الطريقة: models.batchEmbedContents
تنشئ هذه الدالة متّجهات تضمين متعدّدة من الإدخال Content الذي يتألف من مجموعة من السلاسل الممثّلة كعناصر EmbedContentRequest.
نقطة نهاية
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:batchEmbedContents
مَعلمات المسار
model
string
الحقل مطلوب. اسم مورد النموذج. ويُستخدَم هذا المعرّف في النموذج.
يجب أن يتطابق هذا الاسم مع اسم طراز تعرضه الطريقة models.list.
التنسيق: models/{model} ويكون بالتنسيق التالي: models/{model}.
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
requests[]
object (EmbedContentRequest)
الحقل مطلوب. تضمين الطلبات الخاصة بالدفعة يجب أن يتطابق النموذج في كل من هذه الطلبات مع النموذج المحدّد BatchEmbedContentsRequest.model.
مثال على الطلب
Python
Node.js
Go
محارة
نص الاستجابة
الردّ على BatchEmbedContentsRequest
إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:
embeddings[]
object (ContentEmbedding)
النتائج فقط. تمثيلات مضمّنة لكل طلب، بالترتيب نفسه الذي تم توفيره في طلب الدفعة.
| تمثيل JSON |
|---|
{
"embeddings": [
{
object ( |
الطريقة: models.asyncBatchEmbedContent
تضيف هذه الطريقة مجموعة من طلبات models.embedContent إلى قائمة الانتظار لمعالجتها بشكل مجمّع. لدينا معالج models.batchEmbedContents في GenerativeService، ولكن تمت مزامنته. لذلك، سنسمّي هذا الحقل Async لتجنُّب حدوث أي التباس.
نقطة نهاية
posthttps: / /generativelanguage.googleapis.com /v1beta /{batch.model=models /*}:asyncBatchEmbedContent
مَعلمات المسار
batch.model
string
الحقل مطلوب. اسم Model المطلوب استخدامه لإنشاء الإكمال.
التنسيق: models/{model} ويكون بالتنسيق التالي: models/{model}.
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
batch.name
string
النتائج فقط. المعرّف اسم المورد الخاص بالدفعة.
التنسيق: batches/{batchId}
batch.displayName
string
الحقل مطلوب. اسم هذه الدفعة الذي حدّده المستخدم
batch.inputConfig
object (InputEmbedContentConfig)
الحقل مطلوب. إدخال إعدادات المثيلات التي يتم إجراء المعالجة المجمّعة عليها
batch.output
object (EmbedContentBatchOutput)
النتائج فقط. ناتج طلب الدفعة
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 (EmbedContentBatchStats)
النتائج فقط. إحصاءات حول الدفعة
batch.state
enum (BatchState)
النتائج فقط. حالة الدُفعة.
batch.priority
string (int64 format)
اختيارية: أولوية الدفعة ستتم معالجة الدفعات ذات قيمة الأولوية الأعلى قبل الدفعات ذات قيمة الأولوية الأقل. يُسمح بالقيم السالبة. القيمة التلقائية هي 0.
نص الاستجابة
إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على مثال Operation.
EmbedContentResponse
الردّ على EmbedContentRequest
embedding
object (ContentEmbedding)
النتائج فقط. تمثّل هذه السمة عملية التضمين التي تم إنشاؤها من المحتوى المُدخَل.
| تمثيل JSON |
|---|
{
"embedding": {
object ( |
ContentEmbedding
قائمة بالأرقام العشرية التي تمثّل تضمينًا
values[]
number
قيم التضمين.
| تمثيل JSON |
|---|
{ "values": [ number ] } |
TaskType
نوع المهمة التي سيتم استخدام التضمين فيها.
| عمليات التعداد | |
|---|---|
TASK_TYPE_UNSPECIFIED |
قيمة غير مضبوطة، وسيتم ضبطها تلقائيًا على إحدى قيم التعداد الأخرى. |
RETRIEVAL_QUERY |
تحدّد هذه السمة أنّ النص المحدّد هو طلب بحث في إعداد بحث/استرجاع. |
RETRIEVAL_DOCUMENT |
تحدّد هذه السمة أنّ النص المحدّد هو مستند من مجموعة المستندات التي يتم البحث فيها. |
SEMANTIC_SIMILARITY |
تحدّد هذه السمة أنّ النص المحدّد سيُستخدَم في البحث الذكي. |
CLASSIFICATION |
تحدّد هذه السمة أنّ النص المحدّد سيتم تصنيفه. |
CLUSTERING |
تحدِّد هذه السمة أنّه سيتم استخدام التضمينات للتجميع. |
QUESTION_ANSWERING |
تحدّد هذه السمة أنّ النص المحدّد سيُستخدم للإجابة عن الأسئلة. |
FACT_VERIFICATION |
تحدّد هذه السمة أنّ النص المحدّد سيُستخدَم للتحقّق من صحة المعلومات. |
CODE_RETRIEVAL_QUERY |
تحدّد هذه السمة أنّه سيتم استخدام النص المحدّد لاسترداد الرمز. |
EmbedContentBatch
- تمثيل JSON
- InputEmbedContentConfig
- InlinedEmbedContentRequests
- InlinedEmbedContentRequest
- EmbedContentBatchOutput
- InlinedEmbedContentResponses
- InlinedEmbedContentResponse
- EmbedContentBatchStats
مورد يمثّل مجموعة من طلبات EmbedContent.
model
string
الحقل مطلوب. اسم Model المطلوب استخدامه لإنشاء الإكمال.
التنسيق: models/{model}
name
string
النتائج فقط. المعرّف اسم المورد الخاص بالدفعة.
التنسيق: batches/{batchId}
displayName
string
الحقل مطلوب. اسم هذه الدفعة الذي حدّده المستخدم
inputConfig
object (InputEmbedContentConfig)
الحقل مطلوب. إدخال إعدادات المثيلات التي يتم إجراء المعالجة المجمّعة عليها
output
object (EmbedContentBatchOutput)
النتائج فقط. ناتج طلب الدفعة
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 (EmbedContentBatchStats)
النتائج فقط. إحصاءات حول الدفعة
state
enum (BatchState)
النتائج فقط. حالة الدُفعة.
priority
string (int64 format)
اختيارية: أولوية الدفعة ستتم معالجة الدفعات ذات قيمة الأولوية الأعلى قبل الدفعات ذات قيمة الأولوية الأقل. يُسمح بالقيم السالبة. القيمة التلقائية هي 0.
| تمثيل JSON |
|---|
{ "model": string, "name": string, "displayName": string, "inputConfig": { object ( |
InputEmbedContentConfig
تضبط هذه السمة الإدخال لطلب الدفعات.
source
Union type
source إحدى القيم التالية فقط:fileName
string
اسم File الذي يحتوي على طلبات الإدخال.
requests
object (InlinedEmbedContentRequests)
الطلبات التي ستتم معالجتها في المجموعة.
| تمثيل JSON |
|---|
{
// source
"fileName": string,
"requests": {
object ( |
InlinedEmbedContentRequests
الطلبات التي ستتم معالجتها في المجموعة إذا تم تقديمها كجزء من طلب إنشاء المجموعة
requests[]
object (InlinedEmbedContentRequest)
الحقل مطلوب. الطلبات التي ستتم معالجتها في المجموعة.
| تمثيل JSON |
|---|
{
"requests": [
{
object ( |
InlinedEmbedContentRequest
الطلب الذي ستتم معالجته في الدفعة.
request
object (EmbedContentRequest)
الحقل مطلوب. الطلب الذي ستتم معالجته في الدفعة.
metadata
object (Struct format)
اختيارية: البيانات الوصفية التي سيتم ربطها بالطلب
| تمثيل JSON |
|---|
{
"request": {
object ( |
EmbedContentBatchOutput
ناتج طلب مجمّع يتم عرض هذا الرمز في الحقل AsyncBatchEmbedContentResponse أو الحقل EmbedContentBatch.output.
output
Union type
output إحدى القيم التالية فقط:responsesFile
string
النتائج فقط. رقم تعريف الملف الذي يحتوي على الردود سيكون الملف بتنسيق JSONL مع استجابة واحدة لكل سطر. ستكون الردود عبارة عن رسائل EmbedContentResponse منسَّقة بتنسيق JSON. سيتم كتابة الردود بالترتيب نفسه الذي تم فيه إدخال الطلبات.
inlinedResponses
object (InlinedEmbedContentResponses)
النتائج فقط. الردود على الطلبات في المجموعة يتم عرض هذه الحالة عندما يتم إنشاء المجموعة باستخدام الطلبات المضمّنة. ستكون الردود بالترتيب نفسه الذي تم به إدخال الطلبات.
| تمثيل JSON |
|---|
{
// output
"responsesFile": string,
"inlinedResponses": {
object ( |
InlinedEmbedContentResponses
الردود على الطلبات في المجموعة
inlinedResponses[]
object (InlinedEmbedContentResponse)
النتائج فقط. الردود على الطلبات في المجموعة
| تمثيل JSON |
|---|
{
"inlinedResponses": [
{
object ( |
InlinedEmbedContentResponse
الردّ على طلب واحد في المجموعة
metadata
object (Struct format)
النتائج فقط. البيانات الوصفية المرتبطة بالطلب
output
Union type
output إحدى القيم التالية فقط:error
object (Status)
النتائج فقط. الخطأ الذي حدث أثناء معالجة الطلب.
response
object (EmbedContentResponse)
النتائج فقط. الردّ على الطلب
| تمثيل JSON |
|---|
{ "metadata": { object }, // output "error": { object ( |
EmbedContentBatchStats
إحصاءات حول الدفعة
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 } |