Embedding di Gemini API

Model text-embedding-004 menghasilkan penyematan terbaru untuk kata, frasa, dan kalimat. Kemudian, embedding yang dihasilkan dapat digunakan untuk tugas seperti penelusuran semantik, klasifikasi teks, dan pengelompokan, di antara banyak tugas lainnya. Untuk informasi selengkapnya tentang penyematan, baca makalah riset kami.

Apa yang dimaksud dengan embedding?

Embedding menangkap makna dan konteks semantik, yang menghasilkan teks dengan makna serupa yang memiliki penyematan "lebih dekat". Misalnya, kalimat "Saya membawa saya ke dokter hewan" dan "Saya membawa kucing saya ke dokter hewan" akan memiliki penyematan yang berdekatan satu sama lain dalam ruang vektor karena keduanya menjelaskan konteks yang serupa.

Anda dapat menggunakan penyematan untuk membandingkan berbagai teks dan memahami hubungannya. Misalnya, jika penyematan teks "kucing" dan "" berdekatan, Anda dapat menyimpulkan bahwa kata-kata ini memiliki arti, konteks, atau keduanya yang mirip. Hal ini memungkinkan berbagai kasus penggunaan AI umum.

Membuat embedding

Gunakan metode embedContent untuk membuat embedding teks:

Python

import google.generativeai as genai
import os

genai.configure(api_key=os.environ["GEMINI_API_KEY"])

result = genai.embed_content(
        model="models/text-embedding-004",
        content="What is the meaning of life?")

print(str(result['embedding']))

Node.js

const { GoogleGenerativeAI } = require("@google/generative-ai");

const genAI = new GoogleGenerativeAI(process.env.GEMINI_API_KEY);
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});

async function run() {
    const result = await model.embedContent("What is the meaning of life?");
    console.log(result.embedding.values);
}

run();

curl

curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
     "content": {
     "parts":[{
     "text": "What is the meaning of life?"}]}
    }'

Go

ctx := context.Background()

client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GEMINI_API_KEY")))
if err != nil {
    log.Fatal(err)
}
defer client.Close()

em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("What is the meaning of life?"))

if err != nil {
    panic(err)
}
fmt.Println(res.Embedding.Values)

Kasus penggunaan

Embedding teks digunakan dalam berbagai kasus penggunaan AI umum, seperti:

Model penyematan Gemini

Gemini API menawarkan dua model yang menghasilkan penyematan teks:

Embedding Teks adalah versi terbaru dari model Embedding yang menawarkan ukuran embedding elastis di bawah 768 dimensi. Penyematan elastis menghasilkan dimensi output yang lebih kecil dan berpotensi menghemat biaya komputasi dan penyimpanan dengan sedikit penurunan performa.

Gunakan Embedding Teks untuk project atau aplikasi baru.