Embeddings

الطريقة: model.embedContent

تنشئ هذه الدالة تضمينًا من النموذج الذي يتم تحديده لإدخال Content.

نقطة نهاية

منشور https://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

اختياريّ. تمثّل هذه السمة عنوانًا اختياريًا للنص. لا ينطبق هذا الإعداد إلا عندما يكون نوع المهمة RETRIEVAL_DOCUMENT.

ملاحظة: يؤدي تحديد title لـ RETRIEVAL_DOCUMENT إلى توفير عمليات تضمين أفضل جودة للاسترجاع.

outputDimensionality integer

اختياريّ. بُعد اختياري مصغر لتضمين الناتج. وفي حال ضبطها، يتم اقتطاع القيم الزائدة في تضمين الإخراج من النهاية. هذه القيمة متاحة في الطُرز الأحدث منذ عام 2024، ولا يمكن للنموذج السابق (models/embedding-001) تحديد هذه القيمة.

مثال على الطلب

Python


text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

const result = await model.embedContent("Hello world!");

console.log(result.embedding);

نص الاستجابة

تمثّل هذه السمة الردّ على EmbedContentRequest.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

الحقول
embedding object (ContentEmbedding)

النتائج فقط. التضمين الذي تم إنشاؤه من محتوى الإدخال.

تمثيل JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

الطريقة: model.batchEmbedContents

تنشئ هذه الدالة تضمينات متعددة من النموذج الذي يتم إدخاله ضمن نص في مكالمة متزامنة.

نقطة نهاية

منشور https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

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

model string

مطلوب. اسم مورد النموذج. ويعمل هذا كرقم تعريف لكي يستخدمه النموذج.

ويجب أن يتطابق هذا الاسم مع اسم النموذج الذي تعرضه الطريقة models.list.

التنسيق: models/{model} يأخذ الشكل models/{model}.

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

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

مطلوب. طلبات التضمين للمجموعة يجب أن يتطابق النموذج في كل من هذه الطلبات مع النموذج المحدّد في BatchEmbedContentsRequest.model.

مثال على الطلب

Python

texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = genai.embed_content(
    model="models/text-embedding-004", content=texts, output_dimensionality=10
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "text-embedding-004",
});

function textToRequest(text) {
  return { content: { role: "user", parts: [{ text }] } };
}

const result = await model.batchEmbedContents({
  requests: [
    textToRequest("What is the meaning of life?"),
    textToRequest("How much wood would a woodchuck chuck?"),
    textToRequest("How does the brain work?"),
  ],
});

console.log(result.embeddings);

نص الاستجابة

تمثّل هذه السمة الردّ على BatchEmbedContentsRequest.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

الحقول
embeddings[] object (ContentEmbedding)

النتائج فقط. التضمينات لكل طلب بالترتيب نفسه الوارد في الطلب المجمّع

تمثيل JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

طلب يحتوي على Content للنموذج الذي سيتم تضمينه.

تمثيل JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
الحقول
model string

مطلوب. اسم مورد النموذج. ويعمل هذا كرقم تعريف لكي يستخدمه النموذج.

ويجب أن يتطابق هذا الاسم مع اسم النموذج الذي تعرضه الطريقة models.list.

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

content object (Content)

مطلوب. المحتوى المطلوب تضمينه. سيتم احتساب حقول parts.text فقط.

taskType enum (TaskType)

اختياريّ. نوع المهمة الاختياري التي سيتم استخدام التضمينات لها. يمكن ضبطها على models/embedding-001 فقط.

title string

اختياريّ. تمثّل هذه السمة عنوانًا اختياريًا للنص. لا ينطبق هذا الإعداد إلا عندما يكون نوع المهمة RETRIEVAL_DOCUMENT.

ملاحظة: يؤدي تحديد title لـ RETRIEVAL_DOCUMENT إلى توفير عمليات تضمين أفضل جودة للاسترجاع.

outputDimensionality integer

اختياريّ. بُعد اختياري مصغر لتضمين الناتج. وفي حال ضبطها، يتم اقتطاع القيم الزائدة في تضمين الإخراج من النهاية. هذه القيمة متاحة في الطُرز الأحدث منذ عام 2024، ولا يمكن للنموذج السابق (models/embedding-001) تحديد هذه القيمة.

ContentEmbedding

قائمة بالقيم العائمة التي تمثل عملية تضمين.

تمثيل JSON
{
  "values": [
    number
  ]
}
الحقول
values[] number

قيم التضمين.

TaskType

نوع المهمة التي سيتم استخدام التضمين لها.

عمليات التعداد
TASK_TYPE_UNSPECIFIED لم يتم ضبط قيمة، وسيتم ضبطها تلقائيًا على إحدى قيم التعداد الأخرى.
RETRIEVAL_QUERY لتحديد أن النص المقدم هو طلب بحث في إعداد البحث/الاسترجاع.
RETRIEVAL_DOCUMENT لتحديد أن النص المقدم هو مستند من المجموعة التي يتم البحث فيها.
SEMANTIC_SIMILARITY تحدِّد هذه السياسة أنّه سيتم استخدام النص المحدَّد في STS.
CLASSIFICATION لتحديد أنه سيتم تصنيف النص المقدم.
CLUSTERING لتحديد أن التضمينات سيتم استخدامها للتجميع العنقودي.
QUESTION_ANSWERING تشير هذه السمة إلى أنّه سيتم استخدام النص المحدَّد في الإجابة عن السؤال.
FACT_VERIFICATION تشير هذه العلامة إلى أنّ النص المقدَّم سيُستخدم للتحقق من صحة الأخبار.