جاسازی ها در Gemini API

سرویس جاسازی در Gemini API جاسازی های پیشرفته ای را برای کلمات، عبارات و جملات ایجاد می کند. تعبیه‌های به‌دست‌آمده می‌توانند برای کارهای پردازش زبان طبیعی (NLP) مانند جستجوی معنایی، طبقه‌بندی متن و خوشه‌بندی در میان بسیاری دیگر استفاده شوند.

این صفحه به طور مختصر جاسازی ها را توضیح می دهد و برخی از موارد استفاده کلیدی برای سرویس جاسازی را برجسته می کند تا به شما در شروع کار کمک کند.

تعبیه ها چیست؟

جاسازی متن یک تکنیک پردازش زبان طبیعی (NLP) است که متن را به مختصات عددی (به نام بردار ) تبدیل می‌کند که می‌توانند در فضای n بعدی رسم شوند. این رویکرد به شما امکان می‌دهد تا تکه‌های متن را به‌عنوان بیت‌هایی از داده‌های رابطه‌ای در نظر بگیرید، که سپس می‌توانیم مدل‌ها را بر روی آنها آموزش دهیم.

تعبیه‌ها معنا و بافت معنایی را در بر می‌گیرند که در نتیجه متنی با معانی مشابه دارای تعبیه‌های نزدیک‌تر است. به عنوان مثال، جمله "من سگم را به دامپزشک بردم" و "گربه ام را به دامپزشک بردم" دارای جاسازی هایی هستند که در فضای برداری نزدیک به یکدیگر هستند زیرا هر دو زمینه مشابهی را توصیف می کنند.

می توانید از جاسازی ها برای مقایسه متون مختلف و درک نحوه ارتباط آنها استفاده کنید. به عنوان مثال، اگر تعبیه‌های متن «گربه» و «سگ» نزدیک به هم باشند، می‌توانید استنباط کنید که این کلمات از نظر معنا یا بافت یا هر دو مشابه هستند. این توانایی امکان استفاده از موارد مختلفی را فراهم می کند که در بخش بعدی توضیح داده شده است.

موارد استفاده کنید

جاسازی متن در انواع موارد استفاده از NLP استفاده می شود، مانند:

  • بازیابی اطلاعات: می‌توانید از جاسازی‌ها برای بازیابی متنی مشابه از نظر معنایی با توجه به یک متن ورودی استفاده کنید. انواع برنامه ها را می توان توسط یک سیستم بازیابی اطلاعات مانند جستجوی معنایی، پاسخ به سؤالات یا خلاصه سازی پشتیبانی کرد.
  • طبقه بندی: می توانید یک مدل را با استفاده از جاسازی ها برای طبقه بندی اسناد به دسته ها آموزش دهید. به عنوان مثال، اگر می خواهید نظرات کاربران را به عنوان منفی یا مثبت طبقه بندی کنید، می توانید از سرویس embeddings برای دریافت نمایش برداری هر نظر برای آموزش طبقه بندی کننده استفاده کنید.
  • خوشه بندی: مقایسه بردارهای متن می تواند نشان دهد که چقدر شبیه یا متفاوت هستند. از این ویژگی می توان برای آموزش یک مدل خوشه بندی که متن یا اسناد مشابه را با هم گروه بندی می کند و برای تشخیص ناهنجاری ها در داده های شما استفاده کرد.
  • پایگاه داده برداری: می توانید جاسازی های ایجاد شده خود را در یک پایگاه داده برداری ذخیره کنید تا دقت و کارایی برنامه NLP خود را بهبود بخشد. برای یادگیری نحوه استفاده از پایگاه داده برداری برای ترجمه پیام های متنی به بردارهای عددی، به آموزش زیر مراجعه کنید.

مدل های جاسازی جمینی

Gemini API دو مدل را ارائه می‌کند که جاسازی‌های متنی را ایجاد می‌کنند: جاسازی‌های متن و جاسازی‌ها . Text Embeddings یک نسخه به روز شده از مدل Embedding است که اندازه های جاسازی الاستیک را زیر 768 ابعاد ارائه می دهد. تعبیه‌های الاستیک ابعاد خروجی کوچک‌تری ایجاد می‌کنند و به طور بالقوه در هزینه‌های محاسباتی و ذخیره‌سازی با کاهش عملکرد جزئی صرفه‌جویی می‌کنند.

از Text Embedding برای پروژه ها یا برنامه های جدید استفاده کنید. برنامه شما فقط در صورتی باید از مدل Embedding استفاده کند که نتوانید آن را برای استفاده از Text Embeddings منتقل کنید.

با Gemini API جاسازی ایجاد کنید

برای ایجاد جاسازی متن از روش embedContent استفاده کنید:

پایتون

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]')

برای مثال کامل اجرا، از آموزش شروع ما دیدن کنید.

برو

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)

برای مثال کامل اجرا، از آموزش شروع ما دیدن کنید.

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();

برای مثال کامل اجرا، از آموزش شروع ما دیدن کنید.

دارت (فلاتر)

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);

برای مثال کامل اجرا، از آموزش شروع ما دیدن کنید.

حلقه کردن

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

برای مثال کامل قابل اجرا، از کتاب آشپزی Embedding Quickstart with REST در GitHub دیدن کنید.

بعدش چی