Embeddings

Yöntem: modeller.embedContent

Content girdisi verilen modelden bir yerleştirme oluşturur.

Uç nokta

yayınlayacağım 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 gövdesi, aşağıdaki yapıya sahip verileri içerir:

Alanlar
content object (Content)

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

taskType enum (TaskType)

İsteğe bağlı. Yerleştirmelerin kullanılacağı isteğe bağlı görev türü. Yalnızca models/embedding-001 için ayarlanabilir.

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 title belirtilmesi, alma için daha iyi kaliteli yerleştirmeler sağlar.

outputDimensionality integer

İsteğe bağlı. Çıkış yerleştirme için isteğe bağlı küçültülmüş boyut. Ayarlanırsa çıkıştaki yerleştirilmiş değerlerdeki aşırı değer sondan itibaren kısaltılır. 2024'ten itibaren daha yeni modeller tarafından desteklenir ve önceki model (models/embedding-001) bu değeri belirtemez.

Örnek istek

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

Yanıt gövdesi

EmbedContentRequest için 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ştirme.

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

Yöntem: model.batchEmbedContents

Eşzamanlı bir çağrıda belirtilen giriş metninden birden fazla yerleştirme oluşturur.

Uç nokta

yayınlayacağım 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 gövdesi, aşağıdaki yapıya sahip verileri içerir:

Alanlar
requests[] object (EmbedContentRequest)

Zorunlu. Grup için yerleştirme istekleri. Bu isteklerin her birindeki model, belirtilen modelle (BatchEmbedContentsRequest.model) eşleşmelidir.

Örnek istek

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

Yanıt gövdesi

BatchEmbedContentsRequest 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ış. Her istek için, toplu istekte belirtilen sırayla yerleştirmeler.

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

EmbedContentRequest

Modelin yerleştireceği Content öğesini içeren istek.

JSON gösterimi
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
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ılacaktır.

taskType enum (TaskType)

İsteğe bağlı. Yerleştirmelerin kullanılacağı isteğe bağlı görev türü. Yalnızca models/embedding-001 için ayarlanabilir.

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 title belirtilmesi, alma için daha iyi kaliteli yerleştirmeler sağlar.

outputDimensionality integer

İsteğe bağlı. Çıkış yerleştirme için isteğe bağlı küçültülmüş boyut. Ayarlanırsa çıktı yerleştirmedeki aşırı değerler sondan itibaren kesilir. 2024'ten itibaren daha yeni modeller tarafından desteklenir ve önceki model (models/embedding-001) bu değeri belirtemez.

ContentEmbedding

Yerleştirmeyi temsil eden kayan öğelerin listesi.

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

Yerleştirme değerleri.

TaskType

Yerleştirmenin kullanılacağı görevin türü.

Sıralamalar
TASK_TYPE_UNSPECIFIED Değer ayarı kaldırıldı. Bu değer, varsayılan olarak diğer enum değerlerinden birine ayarlanır.
RETRIEVAL_QUERY Belirtilen metnin, arama/alma ayarındaki bir sorgu olduğunu belirtir.
RETRIEVAL_DOCUMENT Belirtilen metnin, aranmakta olan topluluktaki 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ştirmelerin kümeleme için kullanılacağını belirtir.
QUESTION_ANSWERING Belirtilen metnin, soruyu yanıtlamak için kullanılacağını belirtir.
FACT_VERIFICATION Belirtilen metnin doğruluk doğrulaması için kullanılacağını belirtir.