Embeddings

Les représentations vectorielles continues sont une représentation numérique de l'entrée de texte qui ouvre un certain nombre de cas d'utilisation uniques, tels que le clustering, la mesure de similarités et la récupération d'informations. Pour une introduction, consultez le guide sur les représentations vectorielles continues.

Méthode: Models.embedContent

Génère un vecteur de représentation vectorielle continue de texte à partir de l'entrée Content à l'aide du modèle de représentation vectorielle continue Gemini spécifié.

Point de terminaison

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

Paramètres de chemin d'accès

model string

Obligatoire. Nom de ressource du modèle. Il servira d'ID pour le modèle.

Ce nom doit correspondre à un nom de modèle renvoyé par la méthode models.list.

Format: models/{model}. Il se présente sous la forme models/{model}.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

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

Obligatoire. Contenu à intégrer. Seuls les champs parts.text seront comptabilisés.

taskType enum (TaskType)

Facultatif. Type de tâche facultatif pour lequel les représentations vectorielles continues seront utilisées. Ne peut être défini que pour models/embedding-001.

title string

Facultatif. Titre facultatif pour le texte. Ne s'applique que lorsque la valeur de "TaskType" est RETRIEVAL_DOCUMENT.

Remarque: La spécification d'un title pour RETRIEVAL_DOCUMENT permet d'obtenir des représentations vectorielles continues de meilleure qualité pour la récupération.

outputDimensionality integer

Facultatif. Dimension réduite facultative pour la représentation vectorielle continue de la sortie. Si cette option est définie, les valeurs excessives dans la représentation vectorielle continue de la sortie sont tronquées à la fin. Compatible avec les modèles plus récents depuis 2024 uniquement. Vous ne pouvez pas définir cette valeur si vous utilisez l'ancien modèle (models/embedding-001).

Exemple de requête

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

Coquille Rose

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

Corps de la réponse

Réponse à un EmbedContentRequest.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

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

Uniquement en sortie. La représentation vectorielle continue générée à partir du contenu d'entrée.

Représentation JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Méthode: Models.batchEmbedContents

Génère plusieurs vecteurs de représentation vectorielle continue à partir de l'élément Content d'entrée qui consiste en un lot de chaînes représentées par des objets EmbedContentRequest.

Point de terminaison

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

Paramètres de chemin d'accès

model string

Obligatoire. Nom de ressource du modèle. Il servira d'ID pour le modèle.

Ce nom doit correspondre à un nom de modèle renvoyé par la méthode models.list.

Format: models/{model}. Il se présente sous la forme models/{model}.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

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

Obligatoire. Requêtes d'intégration pour le lot. Le modèle dans chacune de ces requêtes doit correspondre au modèle BatchEmbedContentsRequest.model spécifié.

Exemple de requête

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

Coquille Rose

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

Corps de la réponse

Réponse à un BatchEmbedContentsRequest.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

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

Uniquement en sortie. Les représentations vectorielles continues pour chaque requête, dans le même ordre que celui fourni dans la requête par lot

Représentation JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Requête contenant le Content pour le modèle à intégrer.

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

Obligatoire. Nom de ressource du modèle. Il servira d'ID pour le modèle.

Ce nom doit correspondre à un nom de modèle renvoyé par la méthode models.list.

Format : models/{model}

content object (Content)

Obligatoire. Contenu à intégrer. Seuls les champs parts.text seront comptabilisés.

taskType enum (TaskType)

Facultatif. Type de tâche facultatif pour lequel les représentations vectorielles continues seront utilisées. Ne peut être défini que pour models/embedding-001.

title string

Facultatif. Titre facultatif pour le texte. Ne s'applique que lorsque la valeur de "TaskType" est RETRIEVAL_DOCUMENT.

Remarque: La spécification d'un title pour RETRIEVAL_DOCUMENT permet d'obtenir des représentations vectorielles continues de meilleure qualité pour la récupération.

outputDimensionality integer

Facultatif. Dimension réduite facultative pour la représentation vectorielle continue de la sortie. Si cette option est définie, les valeurs excessives dans la représentation vectorielle continue de la sortie sont tronquées à la fin. Compatible avec les modèles plus récents depuis 2024 uniquement. Vous ne pouvez pas définir cette valeur si vous utilisez l'ancien modèle (models/embedding-001).

Représentation JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}

ContentEmbedding

Liste de floats représentant une représentation vectorielle continue.

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

Les valeurs de représentation vectorielle continue.

Représentation JSON
{
  "values": [
    number
  ]
}

TaskType

Type de tâche pour lequel la représentation vectorielle continue sera utilisée.

Enums
TASK_TYPE_UNSPECIFIED Valeur non définie. Elle sera définie par défaut sur l'une des autres valeurs d'énumération.
RETRIEVAL_QUERY Spécifie que le texte donné est une requête dans un contexte de recherche/récupération.
RETRIEVAL_DOCUMENT Spécifie que le texte donné est un document du corpus recherché.
SEMANTIC_SIMILARITY Spécifie que le texte donné sera utilisé pour STS.
CLASSIFICATION Indique que le texte donné sera classé.
CLUSTERING Indique que les représentations vectorielles continues seront utilisées pour le clustering.
QUESTION_ANSWERING Indique que le texte donné sera utilisé pour les questions-réponses.
FACT_VERIFICATION Indique que le texte donné sera utilisé pour la vérification des faits.