Embeddings

Yerleşimler, metin girişinin sayısal bir temsilidir ve gruplandırma, benzerlik ölçümü ve bilgi alma gibi çeşitli benzersiz kullanım alanlarına olanak tanır. Giriş için Embeddings guide (Embeddings rehberi) başlıklı makaleyi inceleyin.

Yöntem: models.embedContent

Belirtilen Gemini yerleştirme modelini kullanarak giriş Content'ten bir metin yerleştirme vektörü oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

Yol parametreleri

model string

Zorunlu. Modelin kaynak adı. Bu, modelin kullanacağı bir kimlik görevi görür.

Bu ad, models.list yöntemi tarafından döndürülen bir model adıyla eşleşmelidir.

Biçim: models/{model} models/{model} biçimindedir.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
content object (Content)

Zorunlu. Yerleştirilecek içerik. Yalnızca parts.text alanları sayılır.

taskType enum (TaskType)

İsteğe bağlı. Yerleştirmelerin kullanılacağı isteğe bağlı görev türü. Önceki modellerde (models/embedding-001) desteklenmez.

title string

İsteğe bağlı. Metin için isteğe bağlı bir başlık. Yalnızca TaskType RETRIEVAL_DOCUMENT olduğunda geçerlidir.

Not: RETRIEVAL_DOCUMENT için bir title belirtmek, getirme işlemi için daha kaliteli yerleştirmeler sağlar.

outputDimensionality integer

İsteğe bağlı. Çıkış yerleştirmesi için isteğe bağlı azaltılmış boyut. Ayarlanırsa çıkış yerleşimindeki aşırı değerler sondan kısaltılır. Yalnızca 2024'ten itibaren yeni modellerde desteklenir. Önceki modeli (models/embedding-001) kullanıyorsanız bu değeri ayarlayamazsınız.

Örnek istek

PythonNode.jskabuk
from google import genai
from google.genai import types

client = genai.Client()
text = "Hello World!"
result = client.models.embed_content(
    model="text-embedding-004",
    contents=text,
    config=types.EmbedContentConfig(output_dimensionality=10),
)
print(result.embeddings)
// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const text = "Hello World!";
const result = await ai.models.embedContent({
  model: "text-embedding-004",
  contents: text,
  config: { outputDimensionality: 10 },
});
console.log(result.embeddings);
curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
    "content": {
    "parts":[{
      "text": "Hello world"}]}, }' 2> /dev/null | head

Yanıt gövdesi

EmbedContentRequest'ye verilen yanıt.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
embedding object (ContentEmbedding)

Yalnızca çıkış. Giriş içeriğinden oluşturulan yerleşik içerik.

JSON gösterimi
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Yöntem: models.batchEmbedContents

EmbedContentRequest nesneleri olarak temsil edilen bir dize grubundan oluşan Content girişinden birden fazla yerleştirme vektörü oluşturur.

Uç nokta

yayınla https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

Yol parametreleri

model string

Zorunlu. Modelin kaynak adı. Bu, modelin kullanacağı bir kimlik görevi görür.

Bu ad, models.list yöntemi tarafından döndürülen bir model adıyla eşleşmelidir.

Biçim: models/{model} models/{model} biçimindedir.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
requests[] object (EmbedContentRequest)

Zorunlu. Grup için istekleri yerleştirin. Bu isteklerin her birindeki model, belirtilen BatchEmbedContentsRequest.model modeliyle eşleşmelidir.

Örnek istek

PythonNode.jskabuk
from google import genai
from google.genai import types

client = genai.Client()
texts = [
    "What is the meaning of life?",
    "How much wood would a woodchuck chuck?",
    "How does the brain work?",
]
result = client.models.embed_content(
    model="text-embedding-004",
    contents=texts,
    config=types.EmbedContentConfig(output_dimensionality=10),
)
print(result.embeddings)
// Make sure to include the following import:
// import {GoogleGenAI} from '@google/genai';
const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });
const texts = [
  "What is the meaning of life?",
  "How much wood would a woodchuck chuck?",
  "How does the brain work?",
];
const result = await ai.models.embedContent({
  model: "text-embedding-004",
  contents: texts,
  config: { outputDimensionality: 10 },
});
console.log(result.embeddings);
curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:batchEmbedContents?key=$GEMINI_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

Yanıt gövdesi

BatchEmbedContentsRequest için verilen yanıt.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

Alanlar
embeddings[] object (ContentEmbedding)

Yalnızca çıkış. Toplu istekte sağlanan sırayla her istek için yerleştirilmeler.

JSON gösterimi
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Modelin yerleştirilmesi için Content içeren istek.

Alanlar
model string

Zorunlu. Modelin kaynak adı. Bu, modelin kullanacağı bir kimlik görevi görür.

Bu ad, models.list yöntemi tarafından döndürülen bir model adıyla eşleşmelidir.

Biçim: models/{model}

content object (Content)

Zorunlu. Yerleştirilecek içerik. Yalnızca parts.text alanları sayılır.

taskType enum (TaskType)

İsteğe bağlı. Yerleştirmelerin kullanılacağı isteğe bağlı görev türü. Önceki modellerde (models/embedding-001) desteklenmez.

title string

İsteğe bağlı. Metin için isteğe bağlı bir başlık. Yalnızca TaskType RETRIEVAL_DOCUMENT olduğunda geçerlidir.

Not: RETRIEVAL_DOCUMENT için bir title belirtmek, getirme işlemi için daha kaliteli yerleştirmeler sağlar.

outputDimensionality integer

İsteğe bağlı. Çıkış yerleştirmesi için isteğe bağlı azaltılmış boyut. Ayarlanırsa çıkış yerleşimindeki aşırı değerler sondan kısaltılır. Yalnızca 2024'ten itibaren yeni modellerde desteklenir. Önceki modeli (models/embedding-001) kullanıyorsanız bu değeri ayarlayamazsınız.

JSON gösterimi
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}

ContentEmbedding

Yerleşimi temsil eden kayan noktaların listesi.

Alanlar
values[] number

Yerleştirme değerleri.

JSON gösterimi
{
  "values": [
    number
  ]
}

TaskType

Yerleşim için kullanılacak görev türü.

Sıralamalar
TASK_TYPE_UNSPECIFIED Varsayılan olarak diğer enum değerlerinden birine ayarlanan ayarlanmamış değer.
RETRIEVAL_QUERY Belirtilen metnin, bir arama/geri alma ayarındaki sorgu olduğunu belirtir.
RETRIEVAL_DOCUMENT Belirtilen metnin, aranan korpustaki bir doküman olduğunu belirtir.
SEMANTIC_SIMILARITY Belirtilen metnin STS için kullanılacağını belirtir.
CLASSIFICATION Belirtilen metnin sınıflandırılacağını belirtir.
CLUSTERING Yerleştirilmiş öğelerin küme oluşturma için kullanılacağını belirtir.
QUESTION_ANSWERING Belirtilen metnin soru yanıtlamak için kullanılacağını belirtir.
FACT_VERIFICATION Belirtilen metnin gerçek doğrulaması için kullanılacağını belirtir.
CODE_RETRIEVAL_QUERY Belirtilen metnin, kod almak için kullanılacağını belirtir.