Embeddings

Embeddings janë një paraqitje numerike e futjes së tekstit që hap një numër rastesh unike përdorimi, të tilla si grupimi, matja e ngjashmërisë dhe marrja e informacionit. Për një hyrje, shikoni udhëzuesin e Embeddings .

Metoda: modele.embedPërmbajtja

Gjeneron një vektor ngulitjeje teksti nga Përmbajtja Content duke përdorur modelin e specifikuar Gemini Embedding .

Pika përfundimtare

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

Parametrat e rrugës

string model

E detyrueshme. Emri i burimit të modelit. Kjo shërben si një ID për Modelin për t'u përdorur.

Ky emër duhet të përputhet me një emër modeli të kthyer nga metoda models.list .

Formati: models/{model} Merr formën models/{model} .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
objekti content object ( Content )

E detyrueshme. Përmbajtja për t'u integruar. Do të numërohen vetëm parts.text .

taskType enum ( TaskType )

Fakultative. Lloji opsional i detyrës për të cilin do të përdoren futjet. Mund të vendoset vetëm për models/embedding-001 .

string title

Fakultative. Një titull opsional për tekstin. Zbatohet vetëm kur lloji i detyrës është RETRIEVAL_DOCUMENT .

Shënim: Përcaktimi i një title për RETRIEVAL_DOCUMENT ofron ngulitje me cilësi më të mirë për rikthim.

outputDimensionality integer

Fakultative. Dimensioni opsional i reduktuar për futjen e daljes. Nëse vendoset, vlerat e tepërta në futjen e daljes shkurtohen nga fundi. Mbështetur nga modele më të reja vetëm që nga viti 2024. Ju nuk mund ta vendosni këtë vlerë nëse përdorni modelin e mëparshëm ( models/embedding-001 ).

Shembull i kërkesës

Python

import google.generativeai as genai

text = "Hello World!"
result = genai.embed_content(
    model="models/text-embedding-004", content=text, output_dimensionality=10
)
print(result["embedding"])

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

Shell

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

Trupi i reagimit

Përgjigja ndaj një EmbedContentRequest .

Nëse është i suksesshëm, trupi i përgjigjes përmban të dhëna me strukturën e mëposhtme:

Fushat
objekt embedding object ( ContentEmbedding )

Vetëm dalje. Përfshirja e krijuar nga përmbajtja hyrëse.

Përfaqësimi JSON
{
  "embedding": {
    object (ContentEmbedding)
  }
}

Metoda: modele.batchEmbedContents

Gjeneron vektorë të shumtë të integruar nga Content hyrëse e cila përbëhet nga një grup vargjesh të përfaqësuara si objekte EmbedContentRequest .

Pika përfundimtare

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

Parametrat e rrugës

string model

E detyrueshme. Emri i burimit të modelit. Kjo shërben si një ID për Modelin për t'u përdorur.

Ky emër duhet të përputhet me një emër modeli të kthyer nga metoda models.list .

Formati: models/{model} Merr formën models/{model} .

Trupi i kërkesës

Trupi i kërkesës përmban të dhëna me strukturën e mëposhtme:

Fushat
requests[] object ( EmbedContentRequest )

E detyrueshme. Vendosja e kërkesave për grupin. Modeli në secilën prej këtyre kërkesave duhet të përputhet me modelin e specifikuar BatchEmbedContentsRequest.model .

Shembull i kërkesës

Python

import google.generativeai as genai

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)

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

Shell

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

Trupi i reagimit

Përgjigja ndaj një BatchEmbedContentsRequest .

Nëse është i suksesshëm, trupi i përgjigjes përmban të dhëna me strukturën e mëposhtme:

Fushat
objekt i embeddings[] object ( ContentEmbedding )

Vetëm dalje. Përfshirjet për secilën kërkesë, në të njëjtin rend siç parashikohet në kërkesën e grupit.

Përfaqësimi JSON
{
  "embeddings": [
    {
      object (ContentEmbedding)
    }
  ]
}

EmbedContentRequest

Kërkesë që përmban Content që modeli të futet.

Fushat
string model

E detyrueshme. Emri i burimit të modelit. Kjo shërben si një ID për Modelin për t'u përdorur.

Ky emër duhet të përputhet me një emër modeli të kthyer nga metoda models.list .

Formati: models/{model}

objekti content object ( Content )

E detyrueshme. Përmbajtja për t'u integruar. Do të numërohen vetëm parts.text .

taskType enum ( TaskType )

Fakultative. Lloji opsional i detyrës për të cilin do të përdoren futjet. Mund të vendoset vetëm për models/embedding-001 .

string title

Fakultative. Një titull opsional për tekstin. Zbatohet vetëm kur lloji i detyrës është RETRIEVAL_DOCUMENT .

Shënim: Përcaktimi i një title për RETRIEVAL_DOCUMENT ofron ngulitje me cilësi më të mirë për rikthim.

outputDimensionality integer

Fakultative. Dimensioni opsional i reduktuar për futjen e daljes. Nëse vendoset, vlerat e tepërta në futjen e daljes shkurtohen nga fundi. Mbështetur nga modele më të reja vetëm që nga viti 2024. Ju nuk mund ta vendosni këtë vlerë nëse përdorni modelin e mëparshëm ( models/embedding-001 ).

Përfaqësimi JSON
{
  "model": string,
  "content": {
    object (Content)
  },
  "taskType": enum (TaskType),
  "title": string,
  "outputDimensionality": integer
}

Përfshirja e përmbajtjes

Një listë e notave që përfaqësojnë një ngulitje.

Fushat
values[] number

Vlerat e ngulitjes.

Përfaqësimi JSON
{
  "values": [
    number
  ]
}

Lloji i detyrës

Lloji i detyrës për të cilën do të përdoret embedding.

Enums
TASK_TYPE_UNSPECIFIED Vlera e çaktivizuar, e cila do të jetë e paracaktuar në një nga vlerat e tjera të numrit.
RETRIEVAL_QUERY Përcakton se teksti i dhënë është një pyetje në një cilësim kërkimi/rikthimi.
RETRIEVAL_DOCUMENT Përcakton se teksti i dhënë është një dokument nga korpusi që kërkohet.
SEMANTIC_SIMILARITY Përcakton se teksti i dhënë do të përdoret për STS.
CLASSIFICATION Përcakton se teksti i dhënë do të klasifikohet.
CLUSTERING Specifikon që futjet do të përdoren për grumbullim.
QUESTION_ANSWERING Përcakton se teksti i dhënë do të përdoret për përgjigjen e pyetjeve.
FACT_VERIFICATION Përcakton që teksti i dhënë do të përdoret për verifikimin e fakteve.