Embeddings

Metode: models.embedContent

Menghasilkan embedding dari model yang diberi Content input.

Endpoint

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

Parameter jalur

model string

Wajib. Nama resource model. Ini berfungsi sebagai ID yang akan digunakan Model.

Nama ini harus cocok dengan nama model yang ditampilkan oleh metode models.list.

Format: models/{model} Formatnya adalah models/{model}.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Bidang
content object (Content)

Wajib. Konten yang akan disematkan. Hanya kolom parts.text yang akan dihitung.

taskType enum (TaskType)

Opsional. Jenis tugas opsional yang penyematan akan digunakan. Hanya dapat disetel untuk models/embedding-001.

title string

Opsional. Judul opsional untuk teks. Hanya berlaku jika TaskType adalah RETRIEVAL_DOCUMENT.

Catatan: Menentukan title untuk RETRIEVAL_DOCUMENT akan memberikan penyematan dengan kualitas yang lebih baik untuk pengambilan.

outputDimensionality integer

Opsional. Dimensi opsional yang dikurangi untuk penyematan output. Jika disetel, nilai yang berlebihan dalam penyematan output akan dipotong dari bagian akhir. Didukung oleh model yang lebih baru sejak 2024, dan model sebelumnya (models/embedding-001) tidak dapat menentukan nilai ini.

Contoh permintaan

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

Isi respons

Respons terhadap EmbedContentRequest.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Bidang
embedding object (ContentEmbedding)

Hanya output. Penyematan yang dihasilkan dari konten input.

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

Metode: models.batchEmbedContents

Menghasilkan beberapa embedding dari teks input yang diberikan model dalam panggilan sinkron.

Endpoint

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

Parameter jalur

model string

Wajib. Nama resource model. Ini berfungsi sebagai ID yang akan digunakan Model.

Nama ini harus cocok dengan nama model yang ditampilkan oleh metode models.list.

Format: models/{model} Formatnya adalah models/{model}.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Bidang
requests[] object (EmbedContentRequest)

Wajib. Permintaan penyematan untuk batch. Model di setiap permintaan ini harus cocok dengan BatchEmbedContentsRequest.model yang ditentukan model.

Contoh permintaan

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

Isi respons

Respons terhadap BatchEmbedContentsRequest.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Bidang
embeddings[] object (ContentEmbedding)

Hanya output. Embedding untuk setiap permintaan, dalam urutan yang sama seperti yang diberikan dalam permintaan batch.

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

EmbedContentRequest

Permintaan yang berisi Content untuk disematkan model.

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

Wajib. Nama resource model. Ini berfungsi sebagai ID yang akan digunakan Model.

Nama ini harus cocok dengan nama model yang ditampilkan oleh metode models.list.

Format: models/{model}

content object (Content)

Wajib. Konten yang akan disematkan. Hanya kolom parts.text yang akan dihitung.

taskType enum (TaskType)

Opsional. Jenis tugas opsional yang penyematan akan digunakan. Hanya dapat disetel untuk models/embedding-001.

title string

Opsional. Judul opsional untuk teks. Hanya berlaku jika TaskType adalah RETRIEVAL_DOCUMENT.

Catatan: Menentukan title untuk RETRIEVAL_DOCUMENT akan memberikan penyematan dengan kualitas yang lebih baik untuk pengambilan.

outputDimensionality integer

Opsional. Dimensi opsional yang dikurangi untuk penyematan output. Jika disetel, nilai yang berlebihan dalam penyematan output akan dipotong dari bagian akhir. Didukung oleh model yang lebih baru sejak 2024, dan model sebelumnya (models/embedding-001) tidak dapat menentukan nilai ini.

ContentEmbedding

Daftar float yang mewakili embedding.

Representasi JSON
{
  "values": [
    number
  ]
}
Bidang
values[] number

Nilai embedding.

TaskType

Jenis tugas yang embeddingnya akan digunakan.

Enum
TASK_TYPE_UNSPECIFIED Nilai yang dibatalkan, yang secara default akan disetel ke salah satu nilai enum lainnya.
RETRIEVAL_QUERY Menentukan bahwa teks yang diberikan merupakan kueri dalam setelan penelusuran/pengambilan.
RETRIEVAL_DOCUMENT Menentukan bahwa teks yang diberikan adalah dokumen dari korpus yang ditelusuri.
SEMANTIC_SIMILARITY Menentukan bahwa teks yang diberikan akan digunakan untuk STS.
CLASSIFICATION Menentukan bahwa teks yang diberikan akan diklasifikasikan.
CLUSTERING Menentukan bahwa embedding akan digunakan untuk pengelompokan.
QUESTION_ANSWERING Menentukan bahwa teks yang diberikan akan digunakan untuk menjawab pertanyaan.
FACT_VERIFICATION Menentukan bahwa teks yang diberikan akan digunakan untuk verifikasi fakta.