text-embedding-004
modeli, kelimeler, kelime öbekleri ve cümleler için en gelişmiş yerleştirmeleri oluşturur. Elde edilen bu yerleştirmeler daha sonra diğer birçok görev arasında anlamsal arama, metin sınıflandırma ve küme oluşturma gibi görevler için kullanılabilir. Yerleşimler hakkında daha fazla bilgi için araştırma makalemizi okuyun.
Yerleşim nedir?
Yerleşimler, anlamsal anlamı ve bağlamı yakalar. Bu da benzer anlamlara sahip metinlerin "daha yakın" yerleşimlere sahip olmasına neden olur. Örneğin, "Köpeğimi veterinere götürdüm" ve "Kedimi veterinere götürdüm" cümleleri, benzer bir bağlamı tanımladıkları için vektör alanında birbirine yakın yerleştirmelere sahip olur.
Farklı metinleri karşılaştırmak ve bunların nasıl ilişkili olduğunu anlamak için yerleştirmeleri kullanabilirsiniz. Örneğin, "kedi" ve "köpek" metinlerinin yerleştirilmeleri birbirine yakınsa bu kelimelerin anlam, bağlam veya her ikisi açısından benzer olduğunu anlayabilirsiniz. Bu sayede çeşitli yaygın yapay zeka kullanım alanları oluşturulabilir.
Yerleştirilmiş öğeler oluşturma
Metin gömmeleri oluşturmak için embedContent
yöntemini kullanın:
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)
Kullanım alanları
Metin yerleştirmeleri, aşağıdakiler gibi çeşitli yaygın yapay zeka kullanım alanlarında kullanılır:
Bilgi alma: Bir giriş metni verildiğinde anlamsal olarak benzer metin almak için yerleştirmeleri kullanabilirsiniz.
Gruplandırma: Yerleşim gruplarını karşılaştırmak, gizli trendleri belirlemenize yardımcı olabilir.
Vektör veritabanı: Farklı yerleştirme kullanım alanlarını üretime alırken yerleştirmeleri bir vektör veritabanında depolamak yaygın bir uygulamadır.
Sınıflandırma: Belgeleri kategorilere ayırmak için yerleştirmeleri kullanarak bir model eğitebilirsiniz.
Gemini yerleştirme modelleri
Gemini API, metin yerleştirmeleri oluşturan iki model sunar:
Metin Yerleşimleri, 768 boyutun altında esnek yerleştirme boyutları sunan Yerleşim modelinin güncellenmiş bir sürümüdür. Esnek yerleştirmeler daha küçük çıkış boyutları oluşturur ve küçük bir performans kaybıyla bilgi işlem ve depolama maliyetlerinden tasarruf etmenizi sağlayabilir.
Yeni projeler veya uygulamalar için metin yerleştirmelerini kullanın.