Embeddings

تعبیه‌ها یک نمایش عددی از ورودی متن هستند که تعدادی از موارد استفاده منحصربه‌فرد مانند خوشه‌بندی، اندازه‌گیری شباهت و بازیابی اطلاعات را باز می‌کنند. برای معرفی، راهنمای Embeddings را بررسی کنید.

روش: models.embedContent

با استفاده از مدل مشخص شده Gemini Embedding یک بردار جاسازی متن از Content ورودی ایجاد می کند.

نقطه پایانی

پست https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

پارامترهای مسیر

string model

مورد نیاز. نام منبع مدل این به عنوان شناسه ای برای استفاده از مدل عمل می کند.

این نام باید با نام مدلی که با روش models.list برگردانده شده است مطابقت داشته باشد.

قالب: models/{model} شکل models/{model} را می‌گیرد.

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

فیلدها
شی content object ( Content )

مورد نیاز. محتوایی که باید جاسازی شود. فقط قسمت‌های parts.text شمارش می‌شود.

taskType enum ( TaskType )

اختیاری. نوع کار اختیاری که جاسازی‌ها برای آن استفاده خواهند شد. فقط برای models/embedding-001 قابل تنظیم است.

string title

اختیاری. عنوان اختیاری برای متن فقط زمانی قابل اعمال است که TaskType RETRIEVAL_DOCUMENT باشد.

توجه: تعیین title برای RETRIEVAL_DOCUMENT جاسازی‌های با کیفیت بهتری را برای بازیابی فراهم می‌کند.

outputDimensionality integer

اختیاری. ابعاد کاهش یافته اختیاری برای جاسازی خروجی. اگر تنظیم شود، مقادیر بیش از حد در جاسازی خروجی از انتها کوتاه می شوند. فقط از سال 2024 توسط مدل های جدیدتر پشتیبانی می شود. در صورت استفاده از مدل قبلی ( models/embedding-001 ) نمی توانید این مقدار را تنظیم کنید.

درخواست نمونه

پایتون


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);

پوسته

curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
    "content": {
    "parts":[{
      "text": "Hello world"}]}, }' 2> /dev/null | head

بدن پاسخگو

پاسخ به EmbedContentRequest .

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

فیلدها
embedding object ( ContentEmbedding )

فقط خروجی تعبیه ایجاد شده از محتوای ورودی.

نمایندگی JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

روش: models.batchEmbedContents

چندین بردار تعبیه شده از Content ورودی ایجاد می کند که شامل دسته ای از رشته ها است که به عنوان اشیاء EmbedContentRequest نشان داده می شوند.

نقطه پایانی

پست https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

پارامترهای مسیر

string model

مورد نیاز. نام منبع مدل این به عنوان شناسه ای برای استفاده از مدل عمل می کند.

این نام باید با نام مدلی که با روش models.list برگردانده شده است مطابقت داشته باشد.

قالب: models/{model} شکل models/{model} را می‌گیرد.

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

فیلدها
شی requests[] object ( EmbedContentRequest )

مورد نیاز. جاسازی درخواست‌ها برای دسته مدل در هر یک از این درخواست ها باید با مدل مشخص شده BatchEmbedContentsRequest.model مطابقت داشته باشد.

درخواست نمونه

پایتون

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);

پوسته

curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:batchEmbedContents?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"requests": [{
      "model": "models/text-embedding-004",
      "content": {
      "parts":[{
        "text": "What is the meaning of life?"}]}, },
      {
      "model": "models/text-embedding-004",
      "content": {
      "parts":[{
        "text": "How much wood would a woodchuck chuck?"}]}, },
      {
      "model": "models/text-embedding-004",
      "content": {
      "parts":[{
        "text": "How does the brain work?"}]}, }, ]}' 2> /dev/null | grep -C 5 values

بدن پاسخگو

پاسخ به BatchEmbedContentsRequest .

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

فیلدها
embeddings[] object ( ContentEmbedding )

فقط خروجی جاسازی‌ها برای هر درخواست، به همان ترتیبی که در درخواست دسته‌ای ارائه شده است.

نمایندگی JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

درخواست حاوی Content برای جاسازی مدل.

فیلدها
string model

مورد نیاز. نام منبع مدل این به عنوان شناسه ای برای استفاده از مدل عمل می کند.

این نام باید با نام مدلی که با روش models.list برگردانده شده است مطابقت داشته باشد.

قالب: models/{model}

شی content object ( Content )

مورد نیاز. محتوایی که باید جاسازی شود. فقط قسمت‌های parts.text شمارش می‌شود.

taskType enum ( TaskType )

اختیاری. نوع کار اختیاری که جاسازی‌ها برای آن استفاده خواهند شد. فقط برای models/embedding-001 قابل تنظیم است.

string title

اختیاری. عنوان اختیاری برای متن فقط زمانی قابل اعمال است که TaskType RETRIEVAL_DOCUMENT باشد.

توجه: تعیین title برای RETRIEVAL_DOCUMENT جاسازی‌های با کیفیت بهتری را برای بازیابی فراهم می‌کند.

outputDimensionality integer

اختیاری. ابعاد کاهش یافته اختیاری برای جاسازی خروجی. اگر تنظیم شود، مقادیر بیش از حد در جاسازی خروجی از انتها کوتاه می شوند. فقط از سال 2024 توسط مدل های جدیدتر پشتیبانی می شود. در صورت استفاده از مدل قبلی ( models/embedding-001 ) نمی توانید این مقدار را تنظیم کنید.

نمایندگی JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}

ContentEmbedding

فهرستی از شناورها که نشان دهنده یک جاسازی هستند.

فیلدها
values[] number

مقادیر تعبیه شده

نمایندگی JSON
{
  "values": [
    number
  ]
}

نوع وظیفه

نوع وظیفه ای که تعبیه برای آن استفاده خواهد شد.

Enums
TASK_TYPE_UNSPECIFIED مقدار unset، که به صورت پیش‌فرض به یکی از مقادیر enum دیگر تبدیل می‌شود.
RETRIEVAL_QUERY مشخص می کند که متن داده شده یک پرس و جو در تنظیمات جستجو/بازیابی باشد.
RETRIEVAL_DOCUMENT مشخص می کند متن داده شده سندی از مجموعه مورد جستجو است.
SEMANTIC_SIMILARITY مشخص می کند که متن داده شده برای STS استفاده خواهد شد.
CLASSIFICATION مشخص می کند که متن داده شده طبقه بندی می شود.
CLUSTERING مشخص می کند که جاسازی ها برای خوشه بندی استفاده خواهند شد.
QUESTION_ANSWERING مشخص می کند که متن داده شده برای پاسخگویی به سوال استفاده خواهد شد.
FACT_VERIFICATION مشخص می کند که متن داده شده برای تأیید واقعیت استفاده می شود.