Embeddings

Méthode: Models.embedContent

Génère une représentation vectorielle continue à partir du modèle en fonction d'une Content d'entrée.

Point de terminaison

<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 et l'ancien modèle (models/embedding-001) ne peut pas spécifier cette valeur.

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

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 :

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 représentations vectorielles continues à partir du texte d'entrée du modèle dans un appel synchrone.

Point de terminaison

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

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 :

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.

Représentation JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
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 et l'ancien modèle (models/embedding-001) ne peut pas spécifier cette valeur.

ContentEmbedding

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

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

Les valeurs de représentation vectorielle continue.

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 Spécifie 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.