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:
Pengambilan informasi: Anda dapat menggunakan embedding untuk mengambil teks yang mirip secara semantik dengan potongan teks input.
Pengelompokan: Membandingkan grup penyematan dapat membantu mengidentifikasi tren tersembunyi.
Database vektor: Saat Anda menerapkan berbagai kasus penggunaan penyematan ke produksi, menyimpan penyematan dalam database vektor adalah hal yang umum.
Klasifikasi: Anda dapat melatih model menggunakan penyematan untuk mengklasifikasikan dokumen ke dalam kategori.
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.