Embeddings

Einbettungen sind eine numerische Darstellung von Texteingaben, die eine Reihe einzigartiger Anwendungsfälle wie Clustering, Ähnlichkeitsmessung und Informationsabruf eröffnet. Eine Einführung finden Sie im Leitfaden zu Einbettungen.

Methode: model.embedContent

Generiert einen Texteinbettungsvektor aus der Eingabe-Content mithilfe des angegebenen Gemini-Einbettungsmodells.

Endpunkt

<ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> Beitrag https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

Pfadparameter

model string

Erforderlich. Der Ressourcenname des Modells. Dies dient als ID für das zu verwendende Modell.

Dieser Name sollte mit einem Modellnamen übereinstimmen, der von der Methode models.list zurückgegeben wird.

Format: models/{model}. Das Format hat das Format models/{model}.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

<ph type="x-smartling-placeholder">
</ph> Felder
content object (Content)

Erforderlich. Der einzubettende Inhalt. Nur die parts.text-Felder werden gezählt.

taskType enum (TaskType)

Optional. Optionaler Aufgabentyp, für den die Einbettungen verwendet werden. Kann nur für models/embedding-001 festgelegt werden.

title string

Optional. Ein optionaler Titel für den Text. Gilt nur, wenn der TaskType RETRIEVAL_DOCUMENT ist.

Hinweis: Wenn Sie für RETRIEVAL_DOCUMENT einen title angeben, werden Einbettungen mit höherer Qualität für den Abruf bereitgestellt.

outputDimensionality integer

Optional. Optionale reduzierte Dimension für die Ausgabeeinbettung. Wenn festgelegt, werden übermäßig viele Werte in der Ausgabeeinbettung vom Ende abgeschnitten. Wird nur von neueren Modellen seit 2024 unterstützt. Sie können diesen Wert nicht festlegen, wenn Sie das frühere Modell (models/embedding-001) verwenden.

Beispielanfrage

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

Muschel

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

Antworttext

Die Antwort auf ein EmbedContentRequest.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

<ph type="x-smartling-placeholder">
</ph> Felder
embedding object (ContentEmbedding)

Nur Ausgabe. Die aus dem Eingabeinhalt generierte Einbettung.

JSON-Darstellung
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Methode: models.batchEmbedContents

Generiert mehrere Einbettungsvektoren aus der Eingabe-Content, die aus einem Batch von Strings besteht, die als EmbedContentRequest-Objekte dargestellt werden.

Endpunkt

<ph type="x-smartling-placeholder"></ph> <ph type="x-smartling-placeholder"></ph> Beitrag https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

Pfadparameter

model string

Erforderlich. Der Ressourcenname des Modells. Dies dient als ID für das zu verwendende Modell.

Dieser Name sollte mit einem Modellnamen übereinstimmen, der von der Methode models.list zurückgegeben wird.

Format: models/{model}. Das Format hat das Format models/{model}.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

<ph type="x-smartling-placeholder">
</ph> Felder
requests[] object (EmbedContentRequest)

Erforderlich. Einbettungsanfragen für den Batch. Das Modell in jeder dieser Anfragen muss dem in BatchEmbedContentsRequest.model angegebenen Modell entsprechen.

Beispielanfrage

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

Muschel

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

Antworttext

Die Antwort auf ein BatchEmbedContentsRequest.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

<ph type="x-smartling-placeholder">
</ph> Felder
embeddings[] object (ContentEmbedding)

Nur Ausgabe. Die Einbettungen für jede Anfrage in derselben Reihenfolge wie in der Batchanfrage angegeben.

JSON-Darstellung
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Anfrage mit der Content für das einzubettende Modell.

<ph type="x-smartling-placeholder">
</ph> Felder
model string

Erforderlich. Der Ressourcenname des Modells. Dies dient als ID für das zu verwendende Modell.

Dieser Name sollte mit einem Modellnamen übereinstimmen, der von der Methode models.list zurückgegeben wird.

Format: models/{model}

content object (Content)

Erforderlich. Der einzubettende Inhalt. Nur die parts.text-Felder werden gezählt.

taskType enum (TaskType)

Optional. Optionaler Aufgabentyp, für den die Einbettungen verwendet werden. Kann nur für models/embedding-001 festgelegt werden.

title string

Optional. Ein optionaler Titel für den Text. Gilt nur, wenn der TaskType RETRIEVAL_DOCUMENT ist.

Hinweis: Wenn Sie für RETRIEVAL_DOCUMENT einen title angeben, werden Einbettungen mit höherer Qualität für den Abruf bereitgestellt.

outputDimensionality integer

Optional. Optionale reduzierte Dimension für die Ausgabeeinbettung. Wenn festgelegt, werden übermäßig viele Werte in der Ausgabeeinbettung vom Ende abgeschnitten. Wird nur von neueren Modellen seit 2024 unterstützt. Sie können diesen Wert nicht festlegen, wenn Sie das frühere Modell (models/embedding-001) verwenden.

JSON-Darstellung
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}

ContentEmbedding

Eine Liste von Gleitkommazahlen, die eine Einbettung darstellen.

<ph type="x-smartling-placeholder">
</ph> Felder
values[] number

Die Einbettungswerte.

JSON-Darstellung
{
  "values": [
    number
  ]
}

TaskType

Aufgabentyp, für den die Einbettung verwendet wird.

Enums
TASK_TYPE_UNSPECIFIED Nicht festgelegter Wert, der standardmäßig auf einen der anderen enum-Werte verwendet wird.
RETRIEVAL_QUERY Gibt an, dass der angegebene Text eine Abfrage in einer Such-/Abrufeinstellung ist.
RETRIEVAL_DOCUMENT Gibt an, dass der angegebene Text ein Dokument aus dem durchsuchten Korpus ist.
SEMANTIC_SIMILARITY Gibt an, dass der angegebene Text für STS verwendet wird.
CLASSIFICATION Gibt an, dass der angegebene Text klassifiziert wird.
CLUSTERING Gibt an, dass die Einbettungen für das Clustering verwendet werden.
QUESTION_ANSWERING Gibt an, dass der angegebene Text zur Beantwortung der Frage verwendet wird.
FACT_VERIFICATION Gibt an, dass der angegebene Text für die Faktenüberprüfung verwendet wird.