Gemini 2.0 (تجربی)

Gemini 2.0 Flash اکنون به عنوان نسخه پیش نمایش آزمایشی از طریق Gemini Developer API و Google AI Studio در دسترس است. این مدل ویژگی های جدید و قابلیت های اصلی پیشرفته را معرفی می کند:

  • Multimodal Live API: این API جدید به شما کمک می‌کند تا با استفاده از ابزار، برنامه‌های بینایی و پخش صدا را در زمان واقعی ایجاد کنید.
  • سرعت و عملکرد: Gemini 2.0 نسبت به فلش 1.5 زمان تا اولین توکن (TTFT) به طور قابل توجهی بهبود یافته است.
  • کیفیت: این مدل کیفیت قابل مقایسه با مدل های بزرگتر مانند Gemini 1.5 Pro را حفظ می کند.
  • قابلیت‌های عامل بهبودیافته: Gemini 2.0 بهبودهایی را در درک چندوجهی، کدگذاری، دنبال کردن دستورالعمل‌های پیچیده و فراخوانی عملکرد ارائه می‌دهد. این بهبودها با هم کار می کنند تا از تجربیات نمایندگی بهتر پشتیبانی کنند.
  • روش‌های جدید: Gemini 2.0 تولید تصویر بومی و قابلیت‌های قابل کنترل تبدیل متن به گفتار را معرفی می‌کند که امکان ویرایش تصویر، ایجاد آثار هنری محلی و داستان‌گویی رسا را ​​فراهم می‌کند.

برای پشتیبانی از مدل جدید، یک SDK جدید نیز ارسال می‌کنیم.

برای جزئیات فنی Gemini 2.0، مدل های Gemini را ببینید.

Google Gen AI SDK (تجربی)

Google Gen AI SDK یک رابط یکپارچه برای Gemini 2.0 از طریق Gemini Developer API و Gemini API در Vertex AI فراهم می کند. با چند استثنا، کدهایی که روی یک پلتفرم اجرا می‌شوند، روی هر دو اجرا می‌شوند. این بدان معناست که شما می توانید یک برنامه را با استفاده از Developer API نمونه سازی کنید و سپس برنامه را بدون بازنویسی کد خود به Vertex AI منتقل کنید.

Gen AI SDK همچنین از مدل های Gemini 1.5 پشتیبانی می کند.

SDK جدید در Python and Go با جاوا و جاوا اسکریپت به زودی در دسترس است.

می توانید مانند تصویر زیر از SDK استفاده کنید.

  1. SDK جدید را نصب کنید: pip install google-genai
  2. سپس کتابخانه را وارد کنید، یک کلاینت را مقداردهی اولیه کنید و محتوا تولید کنید:
from google import genai

client = genai.Client(
    vertexai=False,
    api_key="YOUR_API_KEY"
)
response = client.models.generate_content(
    model='gemini-2.0-flash-experimental', contents='How does AI work?'
)
print(response.text)

(اختیاری) متغیرهای محیط را تنظیم کنید

از طرف دیگر، می توانید مشتری را با استفاده از متغیرهای محیطی مقداردهی اولیه کنید. ابتدا مقادیر مناسب را تنظیم کرده و متغیرها را صادر کنید:

# Replace `YOUR_API_KEY` with your API key.
export GOOGLE_API_KEY=YOUR_API_KEY
export GOOGLE_GENAI_USE_VERTEXAI=False

سپس می توانید مشتری را بدون هیچ آرگ مقداردهی اولیه کنید:

client = genai.Client()

توسعه دهندگان پایتون همچنین می توانند نوت بوک شروع شده را در کتاب آشپزی امتحان کنند.

Multimodal Live API

API Live Live Multimodal تعامل صوتی و تصویری دو طرفه با تأخیر با جمینی را امکان پذیر می کند. با استفاده از Multimodal Live API، می‌توانید تجربه مکالمات صوتی طبیعی و شبیه انسان را در اختیار کاربران نهایی قرار دهید و با استفاده از دستورات صوتی، پاسخ‌های مدل را قطع کنید. این مدل می تواند ورودی متن ، صوتی و ویدیو را پردازش کند و می تواند متن و خروجی صوتی را ارائه دهد.

Multimodal Live API در Gemini API به عنوان روش BidiGenerateContent موجود است و بر روی WebSockets ساخته شده است.

در اینجا یک مثال ساده از متن به متن برای کمک به شما برای شروع کار با Multimodal Live API آورده شده است:

MODEL = "models/gemini-2.0-flash-exp"
CONFIG = {"generation_config": {"response_modalities": ["TEXT"]}}

async with client.aio.live.connect(model=MODEL, config=CONFIG) as session:
  message = "Hello? Gemini, are you there?"
  print("> ", message, "\n")
  await session.send(message, end_of_turn=True)

  # For text responses, when the model's turn is complete it breaks out of the loop.
  async for response in session.receive():
    print("- ", response.text)

قابلیت های کلیدی:

  • چندوجهی: مدل می تواند ببیند، بشنود و صحبت کند.
  • Low-latency real-time interaction: Provides fast responses.
  • حافظه جلسه: مدل تمام تعاملات را در یک جلسه حفظ می کند و اطلاعات شنیده شده یا دیده شده قبلی را به خاطر می آورد.
  • پشتیبانی از فراخوانی تابع، اجرای کد و جستجو به عنوان یک ابزار: ادغام با سرویس های خارجی و منابع داده را فعال می کند.
  • تشخیص خودکار فعالیت صوتی (VAD): این مدل می تواند به دقت تشخیص دهد که کاربر چه زمانی صحبت را شروع می کند و چه زمانی آن را متوقف می کند. این امکان تعاملات طبیعی و محاوره ای را فراهم می کند و به کاربران این امکان را می دهد که مدل را در هر زمان قطع کنند.

زبان:

  • فقط انگلیسی

محدودیت ها:

  • هر دو ورودی و خروجی صدا بر توانایی مدل برای استفاده از فراخوانی عملکرد تأثیر منفی می گذارند.

برای آشنایی بیشتر با قابلیت‌ها و محدودیت‌های API، به راهنمای مرجع Multimodal Live API مراجعه کنید.

می‌توانید Multimodal Live API را در Google AI Studio امتحان کنید. برای شروع توسعه، می توانید کنسول وب (نوشته شده در React) را امتحان کنید. برای توسعه دهندگان پایتون، کد شروع ( نوت بوک و فایل py. ) را امتحان کنید. ممکن است برای شروع کار با نوت بوک راحت‌تر بیابید، اما API زنده زمانی که از ترمینال شما اجرا می‌شود بهترین عملکرد را دارد.

جستجو به عنوان یک ابزار

با استفاده از Grounding with Google Search، می‌توانید دقت و تازگی پاسخ‌های مدل را بهبود ببخشید. با شروع Gemini 2.0، جستجوی Google به عنوان یک ابزار در دسترس است. این بدان معنی است که مدل می تواند تصمیم بگیرد که چه زمانی از جستجوی Google استفاده کند. مثال زیر نحوه پیکربندی جستجو را به عنوان یک ابزار نشان می دهد.

from google import genai
from google.genai.types import Tool, GenerateContentConfig, GoogleSearch

client = genai.Client()
model_id = "gemini-2.0-flash-exp"

google_search_tool = Tool(
    google_search = GoogleSearch()
)

response = client.models.generate_content(
    model=model_id,
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[google_search_tool],
        response_modalities=["TEXT"],
    )
)

for each in response.candidates[0].content.parts:
    print(each.text)
# Example response:
# The next total solar eclipse visible in the contiguous United States will be on ...

# To get grounding metadata as web content.
print(response.candidates[0].grounding_metadata.search_entry_point.rendered_content)

عملکرد Search-as-a-tool همچنین جستجوهای چند نوبتی و پرس و جوهای چند ابزاری (به عنوان مثال، ترکیب Grounding با جستجوی Google و اجرای کد) را فعال می کند.

جستجو به عنوان یک ابزار، اعلان‌ها و گردش‌های کاری پیچیده را فعال می‌کند که نیاز به برنامه‌ریزی، استدلال و تفکر دارد:

  • زمینه سازی برای افزایش واقعیت و تازگی و ارائه پاسخ های دقیق تر
  • بازیابی مصنوعات از وب برای انجام تجزیه و تحلیل بیشتر
  • یافتن تصاویر، ویدیوها یا رسانه های دیگر مرتبط برای کمک به استدلال چندوجهی یا وظایف تولید
  • کدنویسی، عیب یابی فنی و سایر کارهای تخصصی
  • یافتن اطلاعات خاص منطقه یا کمک به ترجمه دقیق محتوا
  • یافتن وب سایت های مرتبط برای مرور بیشتر

می‌توانید با امتحان کردن دفترچه ابزار جستجو شروع کنید.

ابزارهای بهبود یافته

Gemini 2.0 بهبودهایی را برای فراخوانی عملکرد و ابزارهایی معرفی می‌کند که پشتیبانی بهتری از تجربیات نمایندگی ارائه می‌دهند.

فراخوانی تابع ترکیبی

Gemini 2.0 از قابلیت فراخوانی تابع جدید پشتیبانی می کند: فراخوانی تابع ترکیبی . فراخوانی تابع ترکیبی به Gemini API امکان می دهد تا چندین تابع تعریف شده توسط کاربر را به طور خودکار در فرآیند تولید یک پاسخ فراخوانی کند. به عنوان مثال، برای پاسخ به اعلان "Get the temperature in my current location" ، API Gemini ممکن است هم تابع get_current_location() و هم یک تابع get_weather() را فراخوانی کند که موقعیت مکانی را به عنوان پارامتر می گیرد.

فراخوانی تابع ترکیبی با اجرای کد نیاز به جریان دو طرفه دارد و فقط توسط Multimodal Live API جدید پشتیبانی می شود. در اینجا یک مثال نشان می دهد که چگونه می توانید از فراخوانی تابع ترکیبی، اجرای کد و Multimodal Live API با هم استفاده کنید:

turn_on_the_lights_schema = {'name': 'turn_on_the_lights'}
turn_off_the_lights_schema = {'name': 'turn_off_the_lights'}

prompt = """
  Hey, can you write run some python code to turn on the lights, wait 10s and then turn off the lights?
  """

tools = [
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

توسعه دهندگان پایتون می توانند این را در دفترچه یادداشت Live API Tool Use امتحان کنند.

استفاده از چند ابزار

با Gemini 2.0 می توانید چندین ابزار را همزمان فعال کنید و مدل تصمیم می گیرد چه زمانی آنها را فراخوانی کند. در اینجا یک مثال است که دو ابزار، Grounding با جستجوی Google و اجرای کد را در یک درخواست با استفاده از Multimodal Live API فعال می کند.

prompt = """
  Hey, I need you to do three things for me.

  1. Turn on the lights.
  2. Then compute the largest prime palindrome under 100000.
  3. Then use Google Search to look up information about the largest earthquake in California the week of Dec 5 2024.

  Thanks!
  """

tools = [
    {'google_search': {}},
    {'code_execution': {}},
    {'function_declarations': [turn_on_the_lights_schema, turn_off_the_lights_schema]}
]

await run(prompt, tools=tools, modality="AUDIO")

توسعه دهندگان پایتون می توانند این را در دفترچه یادداشت Live API Tool Use امتحان کنند.

تشخیص جعبه مرزی

در این راه‌اندازی آزمایشی، ما به توسعه‌دهندگان ابزار قدرتمندی برای تشخیص و بومی‌سازی در تصاویر و ویدیو ارائه می‌دهیم. با شناسایی دقیق و مشخص کردن اشیاء با جعبه های محدود، توسعه دهندگان می توانند طیف گسترده ای از برنامه ها را باز کنند و هوشمندی پروژه های خود را افزایش دهند.

مزایای کلیدی:

  • ساده: بدون در نظر گرفتن تخصص بینایی رایانه خود، قابلیت های تشخیص اشیا را به راحتی در برنامه های خود ادغام کنید.
  • قابل تنظیم: جعبه‌های محدودکننده را بر اساس دستورالعمل‌های سفارشی تولید کنید (مثلاً «می‌خواهم جعبه‌های مرزبندی همه اشیاء سبز در این تصویر را ببینم»)، بدون نیاز به آموزش یک مدل سفارشی.

جزئیات فنی:

  • ورودی: درخواست شما و تصاویر یا فریم های ویدیویی مرتبط.
  • خروجی: کادرهای مرزبندی در قالب [y_min, x_min, y_max, x_max] . گوشه بالا سمت چپ مبدا است. محور x و y به ترتیب به صورت افقی و عمودی حرکت می کنند. مقادیر مختصات برای هر تصویر به 0-1000 نرمال می شوند.
  • تجسم: کاربران استودیو AI کادرهای مرزی را که در داخل رابط کاربری ترسیم شده است، خواهند دید. کاربران Vertex AI باید جعبه‌های محدود خود را از طریق کد تجسم سفارشی تجسم کنند.

برای توسعه دهندگان پایتون، نوت بوک درک فضایی دوبعدی یا دفترچه یادداشت اشاره سه بعدی تجربی را امتحان کنید.

تولید گفتار (دسترسی اولیه/لیست مجاز)

Gemini 2.0 از قابلیت تولید چندوجهی جدید پشتیبانی می کند: متن به گفتار. با استفاده از قابلیت تبدیل متن به گفتار، می‌توانید از مدل بخواهید خروجی صوتی با کیفیتی شبیه صدای انسان تولید کند ( say "hi everyone" )، و می‌توانید با هدایت صدا، خروجی را بیشتر اصلاح کنید.

تولید تصویر (دسترسی اولیه/لیست مجاز)

Gemini 2.0 از توانایی خروجی متن با تصاویر درون خطی پشتیبانی می کند. این به شما امکان می دهد از Gemini برای ویرایش مکالمه تصاویر یا تولید خروجی های چندوجهی (به عنوان مثال، یک پست وبلاگ با متن و تصاویر در یک نوبت) استفاده کنید. قبلاً این امر مستلزم ترکیب چندین مدل با هم بود.

تولید تصویر به عنوان نسخه آزمایشی خصوصی در دسترس است. این روش ها و قابلیت های زیر را پشتیبانی می کند:

  • متن به تصویر
    • اعلان مثال: "تصویری از برج ایفل با آتش بازی در پس زمینه ایجاد کنید."
  • متن به تصویر (ها) و متن (میانبر)
    • درخواست مثال: "یک دستور العمل مصور برای پائلا ایجاد کنید."
  • تصویر(ها) و متن به تصویر(ها) و متن (میانبر)
    • مثال سریع: (با تصویری از یک اتاق مبله) "چه مبل های رنگی دیگر در فضای من کار می کنند؟ آیا می توانید تصویر را به روز کنید؟"
  • ویرایش تصویر (متن و تصویر به تصویر)
    • درخواست مثال: "این تصویر را ویرایش کنید تا شبیه یک کارتون شود"
    • اعلان مثال: [تصویر گربه] + [تصویر بالش] + "یک بخیه متقاطع از گربه من روی این بالش ایجاد کنید."
  • ویرایش چند نوبتی تصویر (چت)
    • مثال می گوید: [تصویر یک ماشین آبی را آپلود کنید.] "این ماشین را به یک ماشین تبدیل کنید." "حالا رنگ را به زرد تغییر دهید."
  • واترمارک (SynthID)

محدودیت ها:

  • تولید مردم و ویرایش تصاویر بارگذاری شده از افراد مجاز نیست.
  • تولید تصویر فقط به زبان‌های زیر پشتیبانی می‌شود: EN، es-MX، ja-JP، zh-CN، hi-IN.
  • تولید تصویر از ورودی های صوتی یا تصویری پشتیبانی نمی کند.
  • تولید تصویر ممکن است همیشه فعال نشود:
    • مدل ممکن است فقط متن خروجی داشته باشد. سعی کنید خروجی های تصویر را به طور صریح بخواهید (به عنوان مثال "تصویر ایجاد کنید"، "تصاویر را در حین حرکت ارائه دهید"، "تصویر را به روز کنید").
    • ممکن است تولید مدل به صورت نیمه تمام متوقف شود. دوباره امتحان کنید یا درخواست دیگری را امتحان کنید.