Embeddings

Metodo: models.embedContent

Genera un incorporamento dal modello una data Content di input.

Endpoint

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

Parametri del percorso

model string

Obbligatorio. Il nome della risorsa del modello. Serve da ID per il modello.

Questo nome deve corrispondere a un nome di modello restituito dal metodo models.list.

Formato: models/{model} Prende il formato models/{model}.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Campi
content object (Content)

Obbligatorio. I contenuti da incorporare. Verranno conteggiati solo i campi parts.text.

taskType enum (TaskType)

(Facoltativo) Tipo di attività facoltativo per cui verranno utilizzati gli incorporamenti. Può essere impostato solo per models/embedding-001.

title string

(Facoltativo) Un titolo facoltativo per il testo. Applicabile solo quando il tipo di attività è RETRIEVAL_DOCUMENT.

Nota: se specifichi un title per RETRIEVAL_DOCUMENT, ottieni incorporamenti di qualità migliore per il recupero.

outputDimensionality integer

(Facoltativo) Dimensione ridotta facoltativa per l'incorporamento di output. Se questa impostazione è impostata, un numero eccessivo di valori nell'incorporamento di output viene troncato dalla fine. Supportato dai modelli più recenti dal 2024 e il modello precedente (models/embedding-001) non può specificare questo valore.

Esempio di richiesta

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 della risposta

La risposta a un EmbedContentRequest.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Campi
embedding object (ContentEmbedding)

Solo output. L'incorporamento generato dai contenuti di input.

Rappresentazione JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Metodo: models.batchEmbedContents

Genera più incorporamenti dal modello dato il testo di input in una chiamata sincrona.

Endpoint

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

Parametri del percorso

model string

Obbligatorio. Il nome della risorsa del modello. Serve da ID per il modello.

Questo nome deve corrispondere a un nome di modello restituito dal metodo models.list.

Formato: models/{model} Prende il formato models/{model}.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Campi
requests[] object (EmbedContentRequest)

Obbligatorio. Incorpora le richieste per il batch. Il modello in ciascuna di queste richieste deve corrispondere al modello specificato per BatchEmbedContentsRequest.model.

Esempio di richiesta

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 della risposta

La risposta a un BatchEmbedContentsRequest.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Campi
embeddings[] object (ContentEmbedding)

Solo output. Gli incorporamenti per ogni richiesta, nello stesso ordine fornito nella richiesta batch.

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

EmbedContentRequest

Richiesta contenente Content per il modello da incorporare.

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

Obbligatorio. Il nome della risorsa del modello. Serve da ID per il modello.

Questo nome deve corrispondere a un nome di modello restituito dal metodo models.list.

Formato: models/{model}

content object (Content)

Obbligatorio. I contenuti da incorporare. Verranno conteggiati solo i campi parts.text.

taskType enum (TaskType)

(Facoltativo) Tipo di attività facoltativo per cui verranno utilizzati gli incorporamenti. Può essere impostato solo per models/embedding-001.

title string

(Facoltativo) Un titolo facoltativo per il testo. Applicabile solo quando il tipo di attività è RETRIEVAL_DOCUMENT.

Nota: se specifichi un title per RETRIEVAL_DOCUMENT, ottieni incorporamenti di qualità migliore per il recupero.

outputDimensionality integer

(Facoltativo) Dimensione ridotta facoltativa per l'incorporamento di output. Se questa impostazione è impostata, un numero eccessivo di valori nell'incorporamento di output viene troncato dalla fine. Supportato dai modelli più recenti dal 2024 e il modello precedente (models/embedding-001) non può specificare questo valore.

ContentEmbedding

Un elenco di numeri in virgola mobile che rappresentano un incorporamento.

Rappresentazione JSON
{
  "values": [
    number
  ]
}
Campi
values[] number

I valori di incorporamento.

TaskType

Tipo di attività per cui verrà utilizzato l'incorporamento.

Enum
TASK_TYPE_UNSPECIFIED Valore non impostato, che verrà impostato in modo predefinito su uno degli altri valori enum.
RETRIEVAL_QUERY Specifica che il testo specificato è una query in un'impostazione di ricerca/recupero.
RETRIEVAL_DOCUMENT Specifica che il testo specificato è un documento del corpus in cui viene eseguita la ricerca.
SEMANTIC_SIMILARITY Specifica il testo specificato che verrà utilizzato per STS.
CLASSIFICATION Specifica che il testo specificato verrà classificato.
CLUSTERING Specifica che gli incorporamenti verranno utilizzati per il clustering.
QUESTION_ANSWERING Specifica che il testo specificato verrà utilizzato per la risposta alle domande.
FACT_VERIFICATION Specifica che il testo specificato verrà utilizzato per la verifica dei fatti.