Gemini API'deki yerleştirmeler

Gemini API'deki yerleştirme hizmeti, modern yerleştirmeler oluşturur kelimeler, kelime öbekleri ve cümleler için kullanılabilir. Sonuçta oluşturulan yerleştirmeler, daha sonra doğal dil işleme (NLP) görevleri (ör. anlamsal arama, metin) ve kümelemeyi öğreteceğim.

Bu sayfada, yerleştirmeler kısaca açıklanmaktadır. Bu sayfada size yardımcı olacak bir eklenti yerleştirme hizmetinden yararlanabilirsiniz.

Yerleştirme nedir?

Metin yerleştirme, bir doğal dil işleme (NLP) tekniğidir. biçiminde çizilebilen sayısal koordinatlara (vektörler denir) n boyutlu uzay. Bu yaklaşım, metin parçalarını her zaman ilişkisel verileri temel alıyor.

Yerleştirmeler semantik anlam ve bağlamı yakalayarak metnin yakın yerleştirmeler içeren benzer anlamları taşır. Örneğin, "Arkadaş Bitkiler projesinden veterinere göster" ve "Kedimi veterinere götürdüm" yerleştirilmiş öğeler birbirine yakın olduğundan, ikisi de benzer bir daha yakından inceleyeceğiz.

Farklı metinleri karşılaştırmak ve bunların nasıl yazıldığını anlamak için yerleştirmeleri kullanabilirsiniz bahsedeceğiz. Örneğin, "kedi" metni yerleştirilmişse ve "dog" (köpek) yakın bu kelimelerin anlam veya bağlam açısından benzer olduğu veya her ikisini de seçebilirsiniz. Bu özellik, sonraki bölümde açıklanan çeşitli kullanım alanlarına olanak tanır.

Kullanım alanları

Metin yerleştirilmiş öğeler, aşağıdakiler gibi çeşitli NLP kullanım durumlarında kullanılır:

  • Bilgi alma: Yerleştirmeleri anlamsal olarak almak için kullanabilirsiniz girilen benzer bir metni ifade eder. Çeşitli uygulamalar anlamsal arama, arama motorları ve cevap olarak nitelendirilebilir.
  • Sınıflandırma: Sınıflandırma amacıyla bir modeli eğitmek için yerleştirmeleri kullanabilirsiniz. kategorilere ayırabiliriz. Örneğin, bir kullanıcıyı sınıflandırmak istiyorsanız olumlu veya olumsuz yorumları almak isterseniz yerleştirmeler hizmetini sınıflandırıcıyı eğitmek için her bir yorumun vektör gösterimini kullanır.
  • Kümeleme: Metin vektörlerini karşılaştırmak, ne kadar benzer veya farklı olduğunu gösterebilir yaşayabilirsiniz. Bu özellik, yeni ve kolay bir şekilde gruplandırılan bir kümeleme modelini eğitmek için kullanabilir ve verilerinizdeki anormallikleri tespit edebilirsiniz.
  • Vektör veritabanı: Oluşturulan yerleştirmeleri bir vektörelde depolayabilirsiniz. veritabanını kullanarak NLP uygulamanızın doğruluğunu ve verimliliğini artırın. Vektör veritabanını nasıl kullanacağınızı öğrenmek için metin istemlerini sayısal vektörlere çevirme.

Gemini yerleştirme modelleri

Gemini API, metin yerleştirmeleri oluşturan iki model sunar: Metin Yerleştirmeler ve Yerleştirmeler. Metin Yerleştirmeler, Gömme modelinin altında elastik yerleştirme boyutları sunan güncellenmiş sürümü 768 boyut. Esnek yerleştirmeler daha küçük çıktı boyutları oluşturur ve küçük performans kayıplarıyla işlem ve depolama maliyetlerinden tasarruf etme potansiyeline sahiptir.

Yeni projeler veya uygulamalar için metin yerleştirme özelliğinden yararlanın. Başvurunuz Yalnızca Metin Yerleştirme modelini kullanmak üzere taşıyamıyorsanız Yerleştirme modelini kullanın.

Gemini API ile yerleştirme oluşturma

Metin yerleştirilmiş öğeler oluşturmak için embedContent yöntemini kullanın:

Python

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

# 1 input > 1 vector output
print(str(result['embedding'])[:50], '... TRIMMED]')

Başlarken eğitici içerik örneğini inceleyeceğiz.

Go

ctx := context.Background()
// Access your API key as an environment variable (see our Getting Started tutorial)
client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY")))
if err != nil {
    log.Fatal(err)
}
defer client.Close()
// For embeddings, use the Text Embeddings model
em := client.EmbeddingModel("text-embedding-004")
res, err := em.EmbedContent(ctx, genai.Text("The quick brown fox jumps over the lazy dog."))

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

Başlarken eğitim tam çalıştırılabilir örneğine bakalım.

Node.js

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

// Access your API key as an environment variable (see our Getting Started tutorial)
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

async function run() {
// For embeddings, use the Text Embeddings model
const model = genAI.getGenerativeModel({ model: "text-embedding-004"});

const text = "The quick brown fox jumps over the lazy dog."

const result = await model.embedContent(text);
const embedding = result.embedding;
console.log(embedding.values);
}

run();

Başlarken eğitici içerik örneğini inceleyeceğiz.

Dart (Flutter)

final model = GenerativeModel(model: 'text-embedding-004', apiKey: apiKey);
final content = Content.text('The quick brown fox jumps over the lazy dog.');
final result = await model.embedContent(content);
print(result.embedding.values);

Başlarken eğitici içerik örneğini inceleyeceğiz.

curl

curl "https://generativelanguage.googleapis.com/v1beta/models/text-embedding-004:embedContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/text-embedding-004",
     "content": {
     "parts":[{
     "text": "Hello world"}]}, }' 2> /dev/null | head

REST ile Yerleştirme Hızlı Başlangıç Kılavuzumuzu GitHub örneğini inceleyeceğiz.

Sırada ne var?