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 daha yakın yerleştirilmiş öğeler olan 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 bağlam.
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 alanları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.
- Eğitim: Doküman arama
- 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.
- Eğitim: Metin eğitme sınıflandırıcı
- 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.
- Eğiticiler: Kümelemeyi eğitme model, Verileri algıla anormallikler
- 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.
- Eğiticiler: Vektörle çalışma yerleştirmeler, Anlamsal alma
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?
- Yerleştirmeler hakkında daha fazla bilgi edinmek istiyorsanız Dale Markowitz'in Google Cloud blog'um konulu videomuzu izleyin.
- Geliştirmeye hazırsanız çalıştırılabilir kodun tamamını Python hızlı başlangıç kılavuzlarını Git, Node.js ve Dart (Flutter).