مدلهای Gemini Robotics ER (استدلال تجسمی) مدلهای زبان-دیداری (VLMs) هستند که به روباتها امکان میدهند دنیای فیزیکی را درک کنند و با آن تعامل داشته باشند. این رباتها دادههای دیداری را تفسیر میکنند، استدلال فضایی و زمانی انجام میدهند، تکالیف چندمرحلهای را برنامهریزی میکنند، و رباتها و ابزارها را هماهنگ میکنند.
مدلها
مدل Gemini Robotics ER 2 جدیدترین مدل در Gemini Robotics است. این مدل استدلالی بهروزشده ما است که به روباتها امکان میدهد محیط اطرافشان را بهدقت درک کنند. این مدل در قابلیتهای استدلال تجسمی، مثل هماهنگی عاملان روباتها (برای نمونه، بااستفاده از VLAs)، درک ویدیو روبات شامل درک پیشرفت و تشخیص موفقیت، خواندن ابزار، اشاره کردن، و استدلال فضایی تخصص دارد.
مدل Gemini Robotics ER 2 دو نقطه پایانی مدل را معرفی میکند:
-
gemini-robotics-er-2-preview: مدل استاندارد ER 2. برپایه Gemini 3.5 Flash با استدلال فضایی بهبودیافته، یافتن لحظات ویدیو، طبقهبندی پیشرفت ویدیو، هماهنگی چندروباتی، و استفاده از ابزار چندمرحلهای. gemini-robotics-er-2-streaming-preview: بهینهسازیشده برای جاریسازی همزمان بااستفاده از Live API. از این مدل برای عاملهای روبات با تأخیر کم استفاده کنید که ورودی صوتی و ویدیویی پیوسته را پردازش میکنند.
Gemini Robotics ER 1.6 در
۳۱ اوت ۲۰۲۶ منسوخ شد.
اگر هنوز از Gemini Robotics ER 1.6 استفاده میکنید، با جایگزین کردن model="gemini-robotics-er-1.6-preview" با
model="gemini-robotics-er-2-preview" یا
model="gemini-robotics-er-2-streaming-preview" در فراخوانیهای API، به Gemini Robotics ER 2 ارتقا دهید.
امتحان کردن Gemini Robotics ER 2 در Google AI Studio
قابلیتهای روباتیک
Gemini Robotics ER از طیف وسیعی از قابلیتهای استدلال تجسمی پشتیبانی میکند. برای کسب اطلاعات بیشتر، قابلیتی را انتخاب کنید:
| قابلیت | شرح | راهنما |
|---|---|---|
| استدلال فضایی | به اشیا اشاره کنید، آنها را در ویدیو ردیابی کنید، با چارگوشهای محدودکننده تشخیص دهید، مسیرها را برنامهریزی کنید. | استدلال فضایی |
| بینایی عاملگرا | با بهرهگیری از ابزارهای دستکاری تصویر، از اجرای کد برای بهبود قابلیتهای دیگر استفاده کنید. | بینش عاملگرا |
| هماهنگسازی تکلیف | برای انجام تکالیف بلندمدت، استدلال فضایی را با میاناهای برنامهسازی کاربردی روبات سفارشی ترکیب کنید. | هماهنگی تکلیف |
| جاریسازی (فقط نقطه پایانی جاریسازی Gemini Robotics ER 2) | جاریسازی دوطرفه برای کارگزاران روبات همزمان با تأخیر کم فراخوانی تابع. | جاریسازی برای روباتیک |
| پیشرفت ویدیو (فقط Gemini Robotics ER 2) | یافتن لحظه و طبقهبندی پیشرفت از فیدهای ویدیو پیوسته. | درک ویدیو |
قبلاز شروع
مدلهای Gemini Robotics ER ازطریق Gemini Developer API دردسترس هستند. برای شروع، از Google AI Studio یا کنسول Google Cloud، کلید Gemini API ایجاد کنید و محیطتان را راهاندازی کنید.
برای جزئیات مربوط به انواع کلید، امنیت، و نحوه پیکربندی کلید در Python، JavaScript، و زبانهای دیگر، به استفاده از کلیدهای میانای برنامهسازی کاربردی Gemini مراجعه کنید.
درحال شروع کردن
مثال زیر اشیای موجود در تصویر را پیدا میکند و مختصات و برچسبهای دوبعدی عادیسازیشده آنها را برمیگرداند. میتوانید این برونداد را مستقیماً به میانای برنامهسازی کاربردی روباتیک یا مدل VLA منتقل کنید تا کنشهای روبات را تولید کند.
Python
from google import genai
PROMPT = """
Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.
"""
client = genai.Client()
uploaded_file = client.files.upload(file="my-image.png")
image_response = client.interactions.create(
model="gemini-robotics-er-2-preview",
input=[
{
"type": "image",
"uri": uploaded_file.uri,
"mime_type": uploaded_file.mime_type
},
{"type": "text", "text": PROMPT}
],
generation_config={"thinking_level": "high"},
)
print(image_response.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const PROMPT = `
Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.
`;
const client = new GoogleGenAI();
const uploadedFile = await client.files.upload({ file: "my-image.png" });
const imageResponse = await client.interactions.create({
model: "gemini-robotics-er-2-preview",
input: [
{
type: "image",
uri: uploadedFile.uri,
mime_type: uploadedFile.mimeType,
},
{ type: "text", text: PROMPT },
],
generation_config: { thinking_level: "high" },
});
console.log(imageResponse.output_text);
جاوا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.Content;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.GenerationConfig;
import com.google.genai.gaos.models.interactions.ImageContent;
import com.google.genai.gaos.models.interactions.ImageContentMimeType;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.interactions.ThinkingLevel;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import com.google.genai.types.File;
import com.google.genai.types.UploadFileConfig;
import java.util.List;
Client client = new Client();
String prompt =
"Point to no more than 10 items in the image. The label returned "
+ "should be an identifying name for the object detected. "
+ "The answer should follow the json format: [{\"point\": <point>, "
+ "\"label\": <label1>}, ...]. The points are in [y, x] format "
+ "normalized to 0-1000.";
File uploadedFile =
client.files.upload(
new java.io.File("my-image.png"),
UploadFileConfig.builder().mimeType("image/png").build());
Content imageContent =
ImageContent.builder()
.uri(uploadedFile.uri().orElse(""))
.mimeType(ImageContentMimeType.of(uploadedFile.mimeType().orElse("image/png")))
.build();
Content textContent = TextContent.builder().text(prompt).build();
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-robotics-er-2-preview"))
.input(InteractionsInput.ofContent(List.of(imageContent, textContent)))
.generationConfig(
GenerationConfig.builder().thinkingLevel(ThinkingLevel.HIGH).build())
.build();
Interaction imageResponse =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(imageResponse.outputText().orElse(""));
رفتن
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
prompt := `Point to no more than 10 items in the image. The label returned
should be an identifying name for the object detected.
The answer should follow the json format: [{"point": <point>,
"label": <label1>}, ...]. The points are in [y, x] format
normalized to 0-1000.`
uploadedFile, err := client.Files.UploadFromPath(ctx, "my-image.png", &genai.UploadFileConfig{
MIMEType: "image/png",
})
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-robotics-er-2-preview"),
Input: interactions.NewInteractionsInput([]interactions.Content{
interactions.NewContent(interactions.ImageContent{
URI: genai.Ptr(uploadedFile.URI),
MimeType: genai.Ptr(interactions.ImageMimeTypeImagePng),
}),
interactions.NewContent(interactions.TextContent{
Text: prompt,
}),
}),
GenerationConfig: &interactions.GenerationConfig{
ThinkingLevel: interactions.ThinkingLevelHigh.ToPointer(),
},
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
# First, ensure you have the image file locally.
# Encode the image to base64
IMAGE_BASE64=$(base64 -w 0 my-image.png)
curl -X POST \
"https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-robotics-er-2-preview",
"input": {
"parts": [
{
"inlineData": {
"mimeType": "image/png",
"data": "'"${IMAGE_BASE64}"'"
}
},
{
"text": "Point to no more than 10 items in the image. The label returned should be an identifying name for the object detected. The answer should follow the json format: [{\"point\": [y, x], \"label\": <label1>}, ...]. The points are in [y, x] format normalized to 0-1000."
}
]
},
"generation_config": {
"thinking_config": {
"thinking_level": "high"
}
}
}'
برونداد آرایه JSON حاوی اشیایی خواهد بود که هرکدام دارای point
(مختصات [y, x] عادیسازیشده) و label شناساییکننده شیء است.
(قالب) JSON
[
{"point": [376, 508], "label": "small banana"},
{"point": [287, 609], "label": "larger banana"},
{"point": [223, 303], "label": "pink starfruit"},
{"point": [435, 172], "label": "paper bag"},
{"point": [270, 786], "label": "green plastic bowl"},
{"point": [488, 775], "label": "metal measuring cup"},
{"point": [673, 580], "label": "dark blue bowl"},
{"point": [471, 353], "label": "light blue bowl"},
{"point": [492, 497], "label": "bread"},
{"point": [525, 429], "label": "lime"}
]
تصویر زیر نمونهای از نحوه نمایش این نقاط است:
روش کار
Gemini Robotics ER با پیاموارههای زبان طبیعی ورودی تصویر، ویدیو، یا صدا را دریافت میکند. این ویژگی اشیا را شناسایی میکند، درباره بافت صحنه و روابط فضایی استدلال میکند، و برونداد ساختاریافتهای مثل مختصات یا چارگوشهای محدودکننده برمیگرداند.
Gemini Robotics ER همچنین عامل است: این مدل تکالیف پیچیده را به تکالیف فرعی تقسیم میکند و با فراخوانی کردن عملکردهای ربات شما یا اجرای کد تولیدشده، آنها را اجرا میکند. برای مثال، «سیب را در کاسه بگذار» به توالی مراحل مکانیابی، گرفتن، و قرار دادن تبدیل میشود.
برای جزئیات نحوه اجرای تماسهای ابزار توسط Gemini، فراخوانی تابع را ببینید.
ایمنی
اگرچه Gemini Robotics ER با درنظر گرفتن ایمنی ساخته شده است، اما مسئولیت شما است که محیطی ایمن در اطراف ربات حفظ کنید. مدلهای هوش مصنوعی زایا ممکن است اشتباه کنند و روباتهای فیزیکی ممکن است آسیب برسانند. برای کسب اطلاعات بیشتر، به صفحه ایمنی «روباتیک Gemini» مراجعه کنید.
روالهای مطلوب
از زبان ساده و طبیعی استفاده کنید. کاری را که میخواهید روبات انجام دهد همانطور که به یک شخص میگویید توصیف کنید. اگر اصطلاحی کار نمیکند، مترادف رایجی را امتحان کنید.
ورودی دیداری را بهینه کنید. پیشاز ارسال تصویر، اشیای کوچک یا نامشخص را برش دهید یا زومپیش کنید. نور و کنتراست رنگ پایین میتواند روی تشخیص تأثیر بگذارد.
تکالیف پیچیده را به مراحل تقسیم کنید. هر مرحله را بهعنوان پیامواره جداگانهای ارسال کنید تا مدل متمرکز بماند و دقت بهبود یابد.
برای کارهای با دقت بالا، چندین بار پُرسمان کنید و نتایج را میانگین بگیرید. این رویکرد اجماعی باعث کاهش تغییرات در بروندادهای فضایی میشود.
محدودیتها
هنگام توسعه با Gemini Robotics ER، محدودیتهای زیر را درنظر بگیرید:
- محدودیتهای کلید API: «میانای برنامهسازی کاربردی Gemini» درخواستهای کلیدهای API بدون محدودیت را نمیپذیرد و خطای
403 Forbiddenبرمیگرداند. با افزودن محدودیتها در AI Studio، کلید API خود را ایمن کنید. برای جزئیات، کلیدهای API نامحدود ایمن را ببینید. - تأخیر دربرابر عملکرد: پُرسمانهای پیچیده، ورودیهای با وضوح بالا، یا سطوح بالای تفکر میتواند منجر به افزایش زمان پردازش شود. برای سطح تفکر از متوسط برای ایجاد تعادل خوب بین تأخیر و عملکرد استفاده کنید.
- توهمات: مانند همه مدلهای زبانی بزرگ، مدلهای Gemini Robotics ER گاهی اوقات میتوانند «توهم» داشته باشند یا اطلاعات نادرست ارائه دهند، بهویژه برای پیاموارههای مبهم یا ورودیهای خارج از توزیع.
- وابستگی به کیفیت پیامواره: کیفیت برونداد به وضوح پیامواره ورودی بستگی دارد. از پیاموارههای مشخص و خوشساخت استفاده کنید.
- هزینه محاسباتی: اجرای مدل، بهویژه با ورودیهای ویدیویی یا
thinking_budgetبالا، منابع محاسباتی را مصرف میکند و هزینههایی را بههمراه دارد. برای جزئیات بیشتر، صفحه تفکر را ببینید. - انواع ورودی: برای جزئیات مربوط به محدودیتهای هر حالت، موضوعات زیر را ببینید.
اعلامیه حریم خصوصی
تصدیق میکنید که مدلهای ارجاعشده در این سند («مدلهای رباتیک») از دادههای ویدیویی و صوتی برای عملکرد و حرکت سختافزار شما مطابق با دستورالعملهایتان استفاده میکنند. بنابراین ممکن است «مدلهای رباتیک» را بهگونهای بهکار ببرید که دادههای افراد قابلشناسایی، مثل صدا، تصاویر، و دادههای شباهت («دادههای شخصی») توسط «مدلهای رباتیک» جمعآوری شود. اگر انتخاب کنید «مدلهای رباتیک» را به روشی که «دادههای شخصی» را جمعآوری میکند اداره کنید، موافقت میکنید که به هیچ فرد قابلشناسایی اجازه ندهید با «مدلهای رباتیک» تعامل داشته باشد یا در اطراف آن حضور داشته باشد، مگر اینکه و تا زمانی که به این افراد قابلشناسایی بهاندازه کافی اطلاع داده شود و آنها موافقت کنند که «دادههای شخصی» آنها ممکن است طبق آنچه در «شرایط خدمات تکمیلی Gemini API» در https://ai.google.dev/gemini-api/terms (این «شرایط») آمده است، ازجمله مطابق با بخش با عنوان «Google چگونه از دادههای شما استفاده میکند»، به Google ارائه شود و Google از آن استفاده کند. تضمین میکنید که چنین اعلامیهای اجازه جمعآوری و استفاده از «دادههای شخصی» را همانگونه که در «شرایط» ذکر شده است میدهد، و تا حد امکان از تلاشهای تجاری معقولی برای بهحداقل رساندن جمعآوری و توزیع «دادههای شخصی» بااستفاده از فنونی مانند محو کردن چهره و بهکارگیری «مدلهای رباتیک» در مناطقی که حاوی افراد قابلشناسایی نیستند استفاده خواهید کرد.
قیمتگذاری
برای اطلاعات دقیق درباره قیمتگذاری و مناطق دردسترس، به صفحه قیمتگذاری مراجعه کنید.
نقطههای پایان مدل
پیشنمایش Gemini Robotics ER 2
| دارایی | شرح |
|---|---|
| کد مدل | gemini-robotics-er-2-preview |
| انواع دادههای پشتیبانیشده برای |
ورودیها نوشتار، تصاویر، ویدیو، صدا برونداد نوشتار |
| محدودیتهای نشان[*] |
محدودیت دادهواحد ورودی ۱۳۱٬۰۷۲ محدودیت دادهواحد برونداد ۶۵۵۳۶ |
| قابلیتها | پشتیبانی نمیشود پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده |
| گزینههای مصرف |
پشتیبانیشده پشتیبانی نمیشود پشتیبانی نمیشود |
| نسخه |
|
| آخرین بهروزرسانی | ژوئیه ۲۰۲۶ |
| کارت مدل | کارت مدل |
پیشنمایش جاریسازی Gemini Robotics ER 2
| دارایی | شرح |
|---|---|
| کد مدل | gemini-robotics-er-2-streaming-preview |
| انواع دادههای پشتیبانیشده برای |
ورودیها نوشتار، تصاویر، ویدیو، صدا برونداد نوشتار |
| محدودیتهای نشان[*] |
محدودیت دادهواحد ورودی ۱۳۱٬۰۷۲ محدودیت دادهواحد برونداد ۶۵۵۳۶ |
| قابلیتها | پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانیشده پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانیشده پشتیبانیشده پشتیبانی نمیشود پشتیبانیشده پشتیبانی نمیشود |
| گزینههای مصرف |
پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانی نمیشود |
| نسخه |
|
| آخرین بهروزرسانی | ژوئیه ۲۰۲۶ |
| کارت مدل | کارت مدل |
پیشنمایش Gemini Robotics ER 1.6
| دارایی | شرح |
|---|---|
| کد مدل | gemini-robotics-er-1.6-preview |
| انواع دادههای پشتیبانیشده برای |
ورودیها نوشتار، تصاویر، ویدیو، صدا برونداد نوشتار |
| محدودیتهای نشان[*] |
محدودیت دادهواحد ورودی ۱۳۱٬۰۷۲ محدودیت دادهواحد برونداد ۶۵۵۳۶ |
| قابلیتها | پشتیبانی نمیشود پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانی نمیشود پشتیبانی نمیشود پشتیبانیشده پشتیبانیشده پشتیبانیشده پشتیبانیشده |
| گزینههای مصرف |
پشتیبانیشده پشتیبانی نمیشود پشتیبانی نمیشود |
| نسخه |
|
| آخرین بهروزرسانی | دسامبر ۲۰۲۵ |
| تاریخ برش دانش | ژانویه ۲۰۲۵ |
قدم بعدی چیست
- استدلال فضایی — اشاره کردن، ردیابی کردن، چارگوشهای محصورکننده، مسیرها.
- قابلیتهای عاملگرایی — اجرای کد، خواندن ابزار، حاشیهنویسی تصویر.
- هماهنگسازی تکلیف — تکالیف بلندمدت با APIهای سفارشی ربات.
- روباتیک با جاریسازی — جاریسازی دوطرفه همزمان (فقط Gemini Robotics ER 2).
- درک ویدیو — یافتن لحظه و طبقهبندی پیشرفت (فقط Gemini Robotics ER 2).
- ایمنی Gemini Robotics — پژوهش ایمنی پشت خانواده مدل.