Model text-embedding-004
generuje najnowocześniejsze wektory w przypadku słów, wyrażeń i zdań. Uzyskane w ten sposób ujęcia można następnie wykorzystać do wielu zadań, takich jak wyszukiwanie semantyczne, klasyfikacja tekstu czy grupowanie. Więcej informacji o wektorach znajdziesz w naszym artykule naukowym.
Czym są wbudowane dane?
Reprezentacje właściwościowe uchwytują znaczenie semantyczne i kontekst, dzięki czemu teksty o podobnym znaczeniu mają „bliższe” reprezentacje. Na przykład zdania „Zabiorę psa do weterynarza” i „Zabiorę kota do weterynarza” będą miały wbudowane elementy, które są blisko siebie w przestrzeni wektorów, ponieważ oba opisują podobny kontekst.
Dzięki osadzeniu możesz porównywać różne teksty i poznawać ich wzajemne relacje. Jeśli na przykład kody uczenia głębokiego tekstu „kot” i „pies” są blisko siebie, można wywnioskować, że te słowa są podobne pod względem znaczenia, kontekstu lub obu tych czynników. Umożliwia to stosowanie AI w różnych typowych przypadkach.
Generowanie wektorów
Aby wygenerować ukryte reprezentacje tekstu, użyj metody embedContent
:
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?"}]}
}'
Przeczytaj
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)
Przypadki użycia
Węzły tekstowe są używane w różnych typowych przypadkach użycia AI, takich jak:
Wyszukiwanie informacji: dzięki wektorom dystrybucyjnym możesz pobrać tekst semantycznie podobny do podanego przez użytkownika.
Klasteryzacja: porównanie grup wektorów zagęszczenia może pomóc w identyfikacji ukrytych trendów.
Baza danych wektorów: podczas wdrażania różnych zastosowań wektorów dystrybucyjnych w produkcji często przechowuje się wektory w bazie danych wektorów.
Klasyfikacja: możesz trenować model za pomocą wektorów zastępczych, aby klasyfikować dokumenty według kategorii.
Modele wektorów dystrybucyjnych Gemini
Gemini API udostępnia 2 modele, które generują wektory dystrybucyjne tekstu:
Tekstowe wektory dystrybucyjne to zaktualizowana wersja modelu wektorów dystrybucyjnych, która zapewnia elastyczne rozmiary wektorów do 768 wymiarów. Elastyczne zanurzone generują mniejsze wymiary wyjściowe i potencjalnie pozwalają zaoszczędzić na kosztach przetwarzania i przechowywania przy niewielkiej utracie wydajności.
Używaj wbudowanego tekstu w przypadku nowych projektów lub zastosowań.