Google نے EmbeddingGemma 2 کو 6 اکتوبر 2026 کو جاری کیا اور Apache 2.0 لائسنس کے تحت ڈاؤن لوڈ کیے جا سکنے والے weights فراہم کیے۔ یہ ماڈل متن، code، تصاویر، ویڈیو اور آڈیو کو vectors میں بدلتا ہے جن کا ایک مشترک 768-dimensional space میں موازنہ کیا جا سکتا ہے۔ مقامی مجموعے والے developer کے لیے عملی سوالات یہ ہیں کہ کون سے encoders لوڈ ہوں، queries اور فائلوں کی نمائندگی کیسے ہو اور نتائج اس مجموعے کے لیے مفید ہیں یا نہیں۔ یہ رہنما Google کی شائع کردہ ہدایات اور model card کی پیروی کرتا ہے؛ BIG CHANGE نے ماڈل چلایا یا retrieval کا معیار ناپا نہیں۔
بڑی تبدیلی
- کیا بدلا:پچھلا EmbeddingGemma ماڈل صرف متن سنبھالتا تھا۔ ورژن 2 میں vision اور audio encoders شامل ہیں، اس لیے پہلے captions یا transcripts بنائے بغیر متن کی query کا معاون میڈیا سے مشترک vector space میں موازنہ ہو سکتا ہے۔ Google نے weights جاری کر دیے ہیں؛ Android پر ML Kit سروس آئندہ چند ہفتوں میں آنے کی توقع ہے۔
- یہ کیوں اہم ہے:Developer مقامی مجموعے کے لیے درکار encoders لوڈ کر کے معاون file types کے لیے ایک retrieval index بنا سکتا ہے۔ Google کی AI Edge GallerySQLite میں مقامی media vectors کو cosine similarity سے ترتیب دینے کی مثال دکھاتی ہے۔ پھر بھی ایپ کو فائلیں شامل کرنے، vectors محفوظ کرنے، نتائج دکھانے اور گمراہ کن مماثلتوں کی جانچ کی ضرورت ہے۔
- کس بات پر نظر رکھیں:فوری فیصلہ یہ ہے کہ آیا نمائندہ فائلیں device کی memory اور latency کی حد میں اچھی درجہ بندی حاصل کرتی ہیں۔ آئندہ Android سروس integration کا طریقہ بدل سکتی ہے؛ اعلان کردہ وقت کا مطلب یہ نہیں کہ سروس آج دستیاب ہے۔
ماڈل لوڈ کرنے سے پہلے inputs منتخب کریں
Developer guide تمام معاون میڈیا کے لیے Sentence Transformers 6.1.0 یا بعد کا ورژن اور یہ installation command درج کرتی ہے:
pip install -U sentence-transformers[image,audio,video] transformersدرست checkpoint google/embeddinggemma-2 ہے۔ Sentence Transformers کی default loading میں تمام encoders شامل ہیں۔ صرف متن اور code کے مجموعے کے لیے guide کہتی ہے کہ loading کے وقت vision اور audio نکال دیں:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"vision_config": None, "audio_config": None},
)vision برقرار اور audio خارج کرنے کے لیے config_kwargs={"audio_config": None} درکار ہے؛ audio برقرار اور vision خارج کرنے کے لیے config_kwargs={"vision_config": None} درکار ہے۔ یہ اختیارات لوڈ ہونے والے weights بدلتے ہیں، جبکہ تیار شدہ vectors ماڈل کی مشترک space میں رہتے ہیں۔ چنانچہ guide کے مطابق vision والی configuration سے encode کی گئی تصویر کا موازنہ صرف متنی query سے کیا جا سکتا ہے۔ Google ماڈل کو عام صارف کے آلات کے لیے موزوں بتاتا ہے، لیکن شائع شدہ Python مثال library quickstart ہے، قاری کے device کی memory یا latency کی پیمائش شدہ ضمانت نہیں۔
queries اور مجموعے کے items کو مختلف طریقے سے encode کریں
متنی retrieval کے لیے model card queries اور corpus items کے لیے الگ task instructions متعین کرتا ہے۔ Sentence Transformers انہیں prompt_name کے ذریعے فراہم کرتا ہے:
query_vector = model.encode("northern lights", prompt_name="SearchQuery")
document_vector = model.encode(
"Charged particles from the sun cause the northern lights.",
prompt_name="Document",
)
score = model.similarity(query_vector, document_vector)دستاویزی snippet vectors اور similarity score بناتا ہے؛ یہ ہمارے ماحول میں دیکھا گیا نتیجہ نہیں۔ Document داخل کرتا ہے title: none۔ اگر item کا حقیقی عنوان ہو تو Google ہدایت دیتا ہے کہ اسے واضح طور پر title: {title} | text: {content} کی شکل دیں۔ Code search میں CodeRetrieval query instruction اور indexed code کا عنوان یا file name استعمال ہوتا ہے۔ Classification، clustering اور جملوں کی similarity کے اپنے symmetric instructions ہیں۔ Model card کہتا ہے کہ text instructions کے بغیر بھی ماڈل چلتا ہے مگر precision کم ہو جاتی ہے۔
پچھلے model میں vision یا audio encoder نہیں ہے۔ تصویر encode کرنے سے پہلے اسی checkpoint سے guide کی text-and-vision configuration لوڈ کریں اور اسی ماڈل سے میڈیا اور query پر کارروائی کریں۔ یہ ترتیب دستاویز کے مطابق ہے؛ ہم نے اسے چلایا نہیں:
media_model = SentenceTransformer(
"google/embeddinggemma-2",
config_kwargs={"audio_config": None},
)
image_vector = media_model.encode({"image": "photo.jpg"})
query_vector = media_model.encode("a photo query", prompt_name="SearchQuery")
score = media_model.similarity(query_vector, image_vector)آڈیو کے لیے audio_config: None کو ہٹا کر دوبارہ لوڈ کریں تاکہ audio encoder فعال ہو؛ مکمل default load میں vision اور audio شامل ہوتے ہیں۔ Google کی guide متن کے task prefix کے بغیر {"audio": "recording.wav"} جیسی dictionary دیتی ہے۔ متن میں <|image|>, <|video|> یا <|audio|> markers رکھ کر اور dictionary میں متعلقہ فائلیں دے کر متن اور میڈیا بھی یکجا ہو سکتے ہیں۔ اس call سے مشترک input کے لیے ایک vector بنتا ہے۔ Model card 16 kHz mono audio مقرر کرتا ہے اور کہتا ہے کہ video کا default نمونہ فی سیکنڈ ایک frame ہے۔ تصاویر، video frames، آڈیو اور متن سب 8,192-token context budget بانٹتے ہیں، اس لیے طویل clip یا مخلوط item کے input کی منصوبہ بندی کریں؛ یہ نہ سمجھیں کہ ہر فائل سما جائے گی۔
vector کا سائز منتخب کریں، پھر سمجھوتا جانچیں
معیاری output 768 dimensions کا ہے۔ Google کا model card vector کاٹ کر 512، 256 اور 128 dimensions کی حمایت کرتا ہے۔ Guide میں truncate_dim=256 کو normalize_embeddings=True کے ساتھ model.encode() میں استعمال کرنے کا طریقہ درج ہے۔ Query اور indexed item vectors کی dimensions یکساں ہونی چاہئیں؛ مختصر vectors کو cosine comparison سے پہلے normalize کرنا ضروری ہے۔ Card کے مطابق 128 dimensions سے 256 کے مقابلے میں multimodal معیار کہیں زیادہ گرتا ہے اور 128 بنیادی طور پر متنی کاموں کے لیے تجویز کیا جاتا ہے۔ یہ Google کے full-precision benchmark نتائج ہیں، کسی خاص مجموعے کے recall کی پیش گوئی نہیں۔
عددی precision بھی سیٹ اپ کا انتخاب ہے۔ Card معاون hardware پر bfloat16 اور دوسری جگہوں، بیشتر CPUs سمیت، float32 کے استعمال کا مشورہ دیتا ہے۔ یہ خبردار کرتا ہے کہ float16 سے NaN آ سکتے ہیں یا embeddings خاموشی سے خراب ہو سکتے ہیں۔ Selective-loading parameters کی تعداد ماڈل کے اجزا بتاتی ہے؛ اصل device memory اور تلاش کی رفتار execution path، precision، index اور input کے حجم پر منحصر ہیں۔
نتائج استعمال کرنے سے پہلے کیا جانچیں
Prototype اجازت یافتہ چھوٹے نمونے کو index کر سکتا ہے، نمائندہ queries الگ رکھ سکتا ہے اور دیکھ سکتا ہے کہ درست items اوپر آتے ہیں یا نہیں۔ Text-to-text، text-to-image یا text-to-audio مثالیں صرف اسی وقت شامل کریں جب یہ میڈیا واقعی مجموعے میں ہو۔ ایک جیسی queries پر 768 اور 256 dimensions کا موازنہ کریں، متعلقہ زبانوں اور دستاویز اقسام میں ناکامیاں دیکھیں اور ہدف device پر memory، indexing time اور query latency ناپیں۔ یہ قاری کے لیے جانچ کے مراحل ہیں؛ BIG CHANGE نے انہیں انجام نہیں دیا۔
Model card میں شائع کردہ نتائج MTEB code v1 میں EmbeddingGemma 2 کو 78.68 اور پچھلے ماڈل کو 68.76 اسکور دیتے ہیں؛ multilingual MTEB v2 میں یہ اسکور بالترتیب 61.36 اور 61.15 ہیں۔ Card تصویر، ویڈیو اور آڈیو کے نتائج بھی دیتا ہے، مگر ان modalities کے لیے ورژن 1 سے موازنہ نہیں۔ تمام نقل کردہ benchmark نتائج full-precision checkpoint استعمال کرتے ہیں۔ یہ Google کی جانچ کے حالات بتاتے ہیں، مقامی آرکائیو میں درستگی نہیں۔ Card خبردار کرتا ہے کہ معیار زبان اور کام کے لحاظ سے بدل سکتا ہے، اور retrieval ایپس کو اپنی filtering اور انصاف کی جانچ درکار ہے۔
Weights Apache 2.0 کے تحت جاری ہیں اور guide ان کے Hugging Face repository سے ربط دیتی ہے۔ Google کے مواد میں مقامی اجرا کا راستہ ہے مگر deployment کی کوئی عمومی قیمت نہیں: device، compute، storage اور engineering ایپ کے اخراجات ہیں۔ قاری کا اگلا فیصلہ یہ جانچنا ہے کہ ماڈل device بجٹ میں نمائندہ فائلوں کو درست ترتیب دیتا ہے یا نہیں۔
ماخذ اور مزید مطالعہ
- Google AI Edge اعلان، 6 اکتوبر 2026: اجرا کا مرحلہ، AI Edge Gallery میں مقامی media search کا نفاذ اور ML Kit کا اعلان کردہ وقت۔ اس تحریر میں device پیمائشیں Google کی ہیں۔
- EmbeddingGemma 2 developer guide، 6 اکتوبر 2026: library version، loading اختیارات، encoding مثالیں اور vector truncation ہدایات۔
- EmbeddingGemma 2 model card: ماڈل کی ساخت، input limits، task prompts، precision تنبیہ، benchmark tables اور حدود۔ نتائج Google کے بتائے ہوئے ہیں۔
- Google model repository: نامزد checkpoint اور شائع شدہ model files۔ repository کی دستیابی ایپ کی کارکردگی کی توثیق نہیں کرتی۔



