Gemini API از چندین مدل جاسازی پشتیبانی میکند که برای کلمات، عبارات، کدها و جملات جاسازی میشوند. تعبیههای بهدستآمده میتوانند برای کارهایی مانند جستجوی معنایی، طبقهبندی متن، و خوشهبندی و بسیاری دیگر استفاده شوند.
تعبیه ها چیست؟
تعبیهها نمایشهای عددی متن (یا سایر قالبهای رسانهای) هستند که روابط بین ورودیها را نشان میدهند. جاسازی متن با تبدیل متن به آرایه هایی از اعداد ممیز شناور، به نام بردار، کار می کند. این بردارها به گونه ای طراحی شده اند که معنای متن را به تصویر بکشند. طول آرایه تعبیه شده را ابعاد برداری می نامند. یک متن ممکن است با بردار حاوی صدها بعد نمایش داده شود.
تعبیهها معنا و زمینه معنایی را در بر میگیرند که در نتیجه متنی با معانی مشابه دارای تعبیههای «نزدیکتر» است. به عنوان مثال، جمله "من سگم را به دامپزشکی بردم" و "گربه ام را به دامپزشکی بردم" دارای جاسازی هایی هستند که در فضای برداری نزدیک به یکدیگر هستند.
می توانید از جاسازی ها برای مقایسه متون مختلف و درک نحوه ارتباط آنها استفاده کنید. به عنوان مثال، اگر تعبیههای متن «گربه» و «سگ» نزدیک به هم باشند، میتوانید استنباط کنید که این کلمات از نظر معنا، بافت یا هر دو مشابه هستند. این امکان انواع موارد استفاده رایج از هوش مصنوعی را فراهم می کند.
جاسازی ها را ایجاد کنید
برای ایجاد جاسازی متن از روش embedContent
استفاده کنید:
پایتون
from google import genai
client = genai.Client(api_key="GEMINI_API_KEY")
result = client.models.embed_content(
model="gemini-embedding-exp-03-07",
contents="What is the meaning of life?")
print(result.embeddings)
جاوا اسکریپت
import { GoogleGenAI } from "@google/genai";
async function main() {
const ai = new GoogleGenAI({ apiKey: "GEMINI_API_KEY" });
const response = await ai.models.embedContent({
model: 'gemini-embedding-exp-03-07',
contents: 'What is the meaning of life?',
});
console.log(response.embeddings);
}
main();
برو
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("gemini-embedding-exp-03-07")
res, err := em.EmbedContent(ctx, genai.Text("What is the meaning of life?"))
if err != nil {
panic(err)
}
fmt.Println(res.Embedding.Values)
استراحت
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-exp-03-07:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/gemini-embedding-exp-03-07",
"content": {
"parts":[{
"text": "What is the meaning of life?"}]}
}'
همچنین میتوانید با ارسال آنها بهعنوان فهرست رشتهها، جاسازیهایی را برای چندین تکه به طور همزمان ایجاد کنید.
انواع وظایف
هنگام ساختن سیستمهای Retrieval Augmented Generation (RAG)، یک طراحی رایج استفاده از جاسازی متن برای انجام جستجوی مشابه است. در برخی موارد این می تواند منجر به کاهش کیفیت شود، زیرا سؤالات و پاسخ های آنها از نظر معنایی مشابه نیستند. به عنوان مثال، سوالی مانند "چرا آسمان آبی است؟" و پاسخ آن "پراکندگی نور خورشید باعث رنگ آبی می شود" معانی متفاوتی به عنوان عبارات دارند، به این معنی که یک سیستم RAG به طور خودکار رابطه آنها را تشخیص نمی دهد.
انواع وظایف شما را قادر می سازد تا جاسازی های بهینه سازی شده را برای کارهای خاص ایجاد کنید، در زمان و هزینه شما صرفه جویی می کند و عملکرد را بهبود می بخشد.
پایتون
from google import genai
from google.genai import types
client = genai.Client(api_key="GEMINI_API_KEY")
result = client.models.embed_content(
model="gemini-embedding-exp-03-07",
contents="What is the meaning of life?",
config=types.EmbedContentConfig(task_type="SEMANTIC_SIMILARITY")
)
print(result.embeddings)
جاوا اسکریپت
import { GoogleGenAI } from "@google/genai";
async function main() {
const ai = new GoogleGenAI({ apiKey: "GEMINI_API_KEY" });
const response = await ai.models.embedContent({
model: 'gemini-embedding-exp-03-07',
contents: 'What is the meaning of life?',
config: {
taskType: "SEMANTIC_SIMILARITY",
}
});
console.log(response.embeddings);
}
main();
استراحت
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-exp-03-07:embedContent?key=$GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model": "models/gemini-embedding-exp-03-07",
"content": {
"parts":[{
"text": "What is the meaning of life?"}]},
"taskType": "SEMANTIC_SIMILARITY"
}'
انواع وظایف پشتیبانی شده
نوع وظیفه | توضیحات |
---|---|
SEMANTIC_SIMILARITY | برای ایجاد جاسازی هایی که برای ارزیابی شباهت متن بهینه شده اند استفاده می شود. |
CLASSIFICATION | برای تولید جاسازی هایی استفاده می شود که برای طبقه بندی متون بر اساس برچسب های از پیش تعیین شده بهینه شده اند. |
CLUSTERING | برای ایجاد جاسازی هایی که برای خوشه بندی متون بر اساس شباهت هایشان بهینه شده اند استفاده می شود. |
RETRIEVAL_DOCUMENT ، RETRIEVAL_QUERY ، QUESTION_ANSWERING ، و FACT_VERIFICATION | برای ایجاد جاسازی هایی که برای جستجوی اسناد یا بازیابی اطلاعات بهینه شده اند استفاده می شود. |
CODE_RETRIEVAL_QUERY | برای بازیابی یک بلوک کد بر اساس یک جستار زبان طبیعی، مانند مرتب کردن یک آرایه یا معکوس کردن یک لیست پیوندی استفاده می شود. جاسازیهای بلوکهای کد با استفاده از RETRIEVAL_DOCUMENT محاسبه میشوند. |
موارد استفاده کنید
تعبیههای متن در انواع موارد رایج استفاده از هوش مصنوعی استفاده میشوند، مانند:
بازیابی اطلاعات: میتوانید از جاسازیها برای بازیابی متنی مشابه از نظر معنایی با توجه به یک متن ورودی استفاده کنید.
خوشهبندی: مقایسه گروههای جاسازیها میتواند به شناسایی روندهای پنهان کمک کند.
پایگاه داده برداری: از آنجایی که موارد مختلف استفاده از جاسازی را برای تولید می گیرید، ذخیره سازی جاسازی ها در یک پایگاه داده برداری معمول است.
وکتور آموزش پایگاه داده
طبقه بندی: می توانید یک مدل را با استفاده از جاسازی ها برای طبقه بندی اسناد به دسته ها آموزش دهید.
مدل های تعبیه شده
Gemini API سه مدل برای ایجاد جاسازی متن ارائه می دهد:
بعدش چی
دفترچه یادداشت راهاندازی سریع جاسازیها را بررسی کنید.