Embeddings

Método: models.embedContent

Gera um embedding do modelo que recebe um Content de entrada.

Endpoint

postar https://generativelanguage.googleapis.com/v1beta/{model=models/*}:embedContent

Parâmetros de caminho

model string

Obrigatório. O nome do recurso do modelo. Isso serve como um ID a ser usado pelo modelo.

Esse nome precisa corresponder a um nome de modelo retornado pelo método models.list.

Formato: models/{model}. Ele assume o formato models/{model}.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Campos
content object (Content)

Obrigatório. O conteúdo a ser incorporado. Somente os campos parts.text serão contados.

taskType enum (TaskType)

Opcional. Tipo de tarefa opcional em que os embeddings serão usados. Só pode ser definido para models/embedding-001.

title string

Opcional. Um título opcional para o texto. Aplicável apenas quando o Tipo de tarefa é RETRIEVAL_DOCUMENT.

Observação: especificar um title para RETRIEVAL_DOCUMENT fornece embeddings de melhor qualidade para recuperação.

outputDimensionality integer

Opcional. Dimensão reduzida opcional para o embedding de saída. Se definido, os valores excessivos na incorporação de saída serão truncados no final. Compatível com modelos mais recentes desde 2024, e o modelo anterior (models/embedding-001) não pode especificar esse valor.

Exemplo de solicitação

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

Corpo da resposta

A resposta a um EmbedContentRequest.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

.
Campos
embedding object (ContentEmbedding)

Apenas saída. O embedding gerado a partir do conteúdo de entrada.

Representação JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Método: models.batchEmbedContents

Gera vários embeddings do modelo com base no texto de entrada fornecido em uma chamada síncrona.

Endpoint

postar https://generativelanguage.googleapis.com/v1beta/{model=models/*}:batchEmbedContents

Parâmetros de caminho

model string

Obrigatório. O nome do recurso do modelo. Isso serve como um ID a ser usado pelo modelo.

Esse nome precisa corresponder a um nome de modelo retornado pelo método models.list.

Formato: models/{model}. Ele assume o formato models/{model}.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Campos
requests[] object (EmbedContentRequest)

Obrigatório. Incorpore solicitações para o lote. O modelo em cada uma dessas solicitações precisa corresponder ao modelo especificado BatchEmbedContentsRequest.model.

Exemplo de solicitação

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

Corpo da resposta

A resposta a um BatchEmbedContentsRequest.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

.
Campos
embeddings[] object (ContentEmbedding)

Apenas saída. Os embeddings de cada solicitação, na mesma ordem informada na solicitação em lote.

Representação JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Solicitação contendo o Content do modelo a ser incorporado.

Representação JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}
.
Campos
model string

Obrigatório. O nome do recurso do modelo. Isso serve como um ID a ser usado pelo modelo.

Esse nome precisa corresponder a um nome de modelo retornado pelo método models.list.

Formato: models/{model}

content object (Content)

Obrigatório. O conteúdo a ser incorporado. Somente os campos parts.text serão contados.

taskType enum (TaskType)

Opcional. Tipo de tarefa opcional em que os embeddings serão usados. Só pode ser definido para models/embedding-001.

title string

Opcional. Um título opcional para o texto. Aplicável apenas quando o Tipo de tarefa é RETRIEVAL_DOCUMENT.

Observação: especificar um title para RETRIEVAL_DOCUMENT fornece embeddings de melhor qualidade para recuperação.

outputDimensionality integer

Opcional. Dimensão reduzida opcional para o embedding de saída. Se definido, os valores excessivos na incorporação de saída serão truncados no final. Compatível com modelos mais recentes desde 2024, e o modelo anterior (models/embedding-001) não pode especificar esse valor.

ContentEmbedding

Uma lista de pontos flutuantes que representam um embedding.

Representação JSON
{
  "values": [
    number
  ]
}
.
Campos
values[] number

Os valores de embedding.

TaskType

Tipo de tarefa em que o embedding vai ser usado.

Enums
TASK_TYPE_UNSPECIFIED Valor não definido, que será padronizado para um dos outros valores de tipo enumerado.
RETRIEVAL_QUERY Especifica que o texto é uma consulta em uma configuração de pesquisa/recuperação.
RETRIEVAL_DOCUMENT Especifica que o texto fornecido é um documento do corpus que está sendo pesquisado.
SEMANTIC_SIMILARITY Especifica o texto fornecido que será usado para STS.
CLASSIFICATION Especifica que o texto fornecido será classificado.
CLUSTERING Especifica que os embeddings serão usados para clustering.
QUESTION_ANSWERING Especifica que o texto fornecido será usado para responder a perguntas.
FACT_VERIFICATION Especifica que o texto fornecido será usado para a verificação de fatos.