Embeddings

Metoda: Modele.embedContent

Generuje wektor dystrybucyjny na podstawie modelu z danymi wejściowymi Content.

Punkt końcowy

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

Parametry ścieżki

model string

Wymagane. Nazwa zasobu modelu. Służy on jako identyfikator, którego model ma używać.

Ta nazwa powinna być zgodna z nazwą modelu zwracaną przez metodę models.list.

Format: models/{model} Przyjmuje postać models/{model}.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Pola
content object (Content)

Wymagane. Treść do umieszczenia. Zliczane będą tylko pola parts.text.

taskType enum (TaskType)

Opcjonalnie: Opcjonalny typ zadania, w którym będą używane wektory dystrybucyjne. Można ustawić tylko dla models/embedding-001.

title string

Opcjonalnie: Opcjonalny tytuł tekstu. Ma zastosowanie tylko wtedy, gdy TaskType ma wartość RETRIEVAL_DOCUMENT.

Uwaga: określenie title dla RETRIEVAL_DOCUMENT zapewnia lepszą jakość wektorów dystrybucyjnych do pobierania.

outputDimensionality integer

Opcjonalnie: Opcjonalny zredukowany wymiar wektora wyjściowego. Jeśli jest ustawiony, nadmiarowe wartości w wektorze danych wyjściowych są obcinane od końca. Obsługiwane przez nowsze modele od 2024 r., a wcześniejszy model (models/embedding-001) nie może określać tej wartości.

Przykładowe żądanie

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

Treść odpowiedzi

Odpowiedź na element EmbedContentRequest.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Pola
embedding object (ContentEmbedding)

Tylko dane wyjściowe. Wektor dystrybucyjny wygenerowany z treści wejściowych.

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

Metoda: Modele.batchEmbedContents

Generuje wiele wektorów dystrybucyjnych z modelu podanego tekstu wejściowego w wywołaniu synchronicznym.

Punkt końcowy

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

Parametry ścieżki

model string

Wymagane. Nazwa zasobu modelu. Służy on jako identyfikator, którego model ma używać.

Ta nazwa powinna być zgodna z nazwą modelu zwracaną przez metodę models.list.

Format: models/{model} Przyjmuje postać models/{model}.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Pola
requests[] object (EmbedContentRequest)

Wymagane. Prośby o umieszczenie wsadu. Model w każdym z tych żądań musi być zgodny z określonym modelem BatchEmbedContentsRequest.model.

Przykładowe żądanie

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

Treść odpowiedzi

Odpowiedź na element BatchEmbedContentsRequest.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Pola
embeddings[] object (ContentEmbedding)

Tylko dane wyjściowe. Wektory dystrybucyjne dla każdego żądania w tej samej kolejności, w jakiej podano w żądaniu zbiorczym.

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

EmbedContentRequest

Żądanie zawierające element Content, który umożliwia umieszczenie modelu.

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

Wymagane. Nazwa zasobu modelu. Służy on jako identyfikator, którego model ma używać.

Ta nazwa powinna być zgodna z nazwą modelu zwracaną przez metodę models.list.

Format: models/{model}

content object (Content)

Wymagane. Treść do umieszczenia. Zliczane będą tylko pola parts.text.

taskType enum (TaskType)

Opcjonalnie: Opcjonalny typ zadania, w którym będą używane wektory dystrybucyjne. Można ustawić tylko dla models/embedding-001.

title string

Opcjonalnie: Opcjonalny tytuł tekstu. Ma zastosowanie tylko wtedy, gdy TaskType ma wartość RETRIEVAL_DOCUMENT.

Uwaga: określenie title dla RETRIEVAL_DOCUMENT zapewnia lepszą jakość wektorów dystrybucyjnych do pobierania.

outputDimensionality integer

Opcjonalnie: Opcjonalny zredukowany wymiar wektora wyjściowego. Jeśli jest ustawiony, nadmiarowe wartości w wektorze danych wyjściowych są obcinane od końca. Obsługiwane przez nowsze modele od 2024 r., a wcześniejszy model (models/embedding-001) nie może określać tej wartości.

ContentEmbedding

Lista liczb zmiennoprzecinkowych reprezentujących wektor dystrybucyjny.

Zapis JSON
{
  "values": [
    number
  ]
}
Pola
values[] number

Wartości wektora dystrybucyjnego.

TaskType

Typ zadania, w którym zostanie użyte umieszczanie.

Wartości w polu enum
TASK_TYPE_UNSPECIFIED Wartość nieskonfigurowana, która będzie domyślnie ustawiona na jedną z pozostałych wartości wyliczeniowych.
RETRIEVAL_QUERY Określa, że dany tekst jest zapytaniem w ustawieniach wyszukiwania/pobierania.
RETRIEVAL_DOCUMENT Określa, że podany tekst jest dokumentem z przeszukiwanego korpusu.
SEMANTIC_SIMILARITY Określa, który tekst będzie używany w ramach STS.
CLASSIFICATION Określa, że dany tekst zostanie sklasyfikowany.
CLUSTERING Określa, że wektory dystrybucyjne będą używane do grupowania.
QUESTION_ANSWERING Określa, że podany tekst będzie używany do udzielania odpowiedzi na pytania.
FACT_VERIFICATION Określa, że podany tekst będzie używany do weryfikacji informacji.