Gemini API'deki yerleştirmeler

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:

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.