پخش جریانی دوطرفه با استفاده از API زنده جمینی، پخش جریانی دوطرفه با استفاده از API زنده جمینی



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

می‌توانید با دستورات و Live API در Vertex AI Studio نمونه‌سازی اولیه کنید.

Live API یک API حالت دار است که یک اتصال WebSocket برای ایجاد یک جلسه بین مشتری و سرور Gemini ایجاد می کند. برای جزئیات، به مستندات مرجع Live API مراجعه کنید.

قبل از شروع

اگر قبلاً این کار را نکرده‌اید، راهنمای شروع را تکمیل کنید، که نحوه راه‌اندازی پروژه Firebase را توضیح می‌دهد، برنامه خود را به Firebase متصل کنید، SDK را اضافه کنید، سرویس Vertex AI را راه‌اندازی کنید، و یک نمونه LiveModel ایجاد کنید.

توجه داشته باشید که برای استفاده از Live API :

  • مطمئن شوید که حداقل از این نسخه های کتابخانه Firebase استفاده می کنید:
    iOS+ : هنوز پشتیبانی نمی شود | Android : v16.3.0+ ( BoM : v33.12.0+) | وب : هنوز پشتیبانی نمی شود | فلوتر : نسخه 1.5.0+ (BoM: نسخه 3.9.0+)

  • یک نمونه LiveModel ( نه یک نمونه GenerativeModel ) ایجاد کنید.

مدل هایی که از این قابلیت پشتیبانی می کنند

Live API فقط توسط gemini-2.0-flash-live-preview-04-09 (نه gemini-2.0-flash ) پشتیبانی می شود.

از ویژگی های استاندارد Live API استفاده کنید

این بخش نحوه استفاده از ویژگی‌های استاندارد Live API را توضیح می‌دهد، به‌ویژه برای پخش جریانی انواع ورودی‌ها و خروجی‌ها:

ارسال متن و دریافت متن

می توانید ورودی متن پخش شده را ارسال کنید و خروجی متن پخش شده را دریافت کنید. مطمئن شوید که یک نمونه liveModel ایجاد کرده اید و حالت پاسخ را روی Text تنظیم کنید.

نحوه انتخاب یک مدل و به صورت اختیاری مکان مناسب برای مورد استفاده و برنامه خود را بیاموزید.

ارسال صوت و دریافت صدا

می توانید ورودی صوتی پخش شده را ارسال کنید و خروجی صدای پخش شده را دریافت کنید. مطمئن شوید که یک نمونه LiveModel ایجاد کرده اید و حالت پاسخ را روی Audio تنظیم کنید.

با نحوه پیکربندی و سفارشی کردن صدای پاسخ آشنا شوید (در ادامه این صفحه).

نحوه انتخاب یک مدل و به صورت اختیاری مکان مناسب برای مورد استفاده و برنامه خود را بیاموزید.



تجربیات جذاب و تعاملی بیشتری ایجاد کنید

این بخش نحوه ایجاد و مدیریت ویژگی‌های جذاب یا تعاملی Live API را شرح می‌دهد.

صدای پاسخ را تغییر دهید

Live API از Chirp 3 برای پشتیبانی از پاسخ های گفتاری ترکیبی استفاده می کند. هنگام استفاده از Vertex AI در Firebase ، می‌توانید صدا را با ۵ صدای HD و ۳۱ زبان ارسال کنید.

اگر صدایی را مشخص نکنید، پیش‌فرض Puck است. همچنین، می‌توانید مدل را طوری پیکربندی کنید که به یکی از صداهای زیر پاسخ دهد:

Aoede (مونث)
Charon (مرد)
Fenrir (مرد)
Kore (مونث)
Puck (مرد)

برای اطلاع از نحوه صدای این صداها و فهرست کامل زبان‌های موجود، به Chirp 3: صداهای HD مراجعه کنید.

برای تعیین یک صدا، نام صدا را در شی speechConfig به عنوان بخشی از پیکربندی مدل تنظیم کنید:

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

RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.

زمینه را در طول جلسات و درخواست ها حفظ کنید

می‌توانید از ساختار چت برای حفظ زمینه در جلسات و درخواست‌ها استفاده کنید. توجه داشته باشید که این فقط برای ورودی متن و خروجی متن کار می کند.

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

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

Vertex AI در Firebase هنوز از مدیریت وقفه پشتیبانی نمی کند. به زودی دوباره بررسی کنید!

استفاده از فراخوانی تابع (ابزار)

می‌توانید ابزارهایی مانند توابع موجود را برای استفاده با Live API درست مانند روش‌های تولید محتوای استاندارد تعریف کنید. این بخش برخی تفاوت های ظریف را در هنگام استفاده از Live API با فراخوانی تابع توضیح می دهد. برای توضیحات کامل و مثال هایی برای فراخوانی تابع، راهنمای فراخوانی تابع را ببینید.

از یک اعلان واحد، مدل می تواند چندین فراخوانی تابع و کدهای لازم برای زنجیره خروجی های آنها را ایجاد کند. این کد در محیط sandbox اجرا می شود و پیام های BidiGenerateContentToolCall بعدی را ایجاد می کند. اجرا متوقف می شود تا زمانی که نتایج هر فراخوانی در دسترس باشد، که پردازش متوالی را تضمین می کند.

علاوه بر این، استفاده از Live API با فراخوانی تابع بسیار قدرتمند است زیرا مدل می‌تواند اطلاعات پیگیری یا شفاف‌سازی را از کاربر درخواست کند. برای مثال، اگر مدل اطلاعات کافی برای ارائه مقدار پارامتر به تابعی که می‌خواهد فراخوانی کند، نداشته باشد، آنگاه مدل می‌تواند از کاربر بخواهد اطلاعات بیشتری یا شفاف‌سازی را ارائه دهد.

مشتری باید با BidiGenerateContentToolResponse پاسخ دهد.



محدودیت ها و الزامات

محدودیت ها و الزامات زیر را در Live API به خاطر داشته باشید.

رونویسی

Vertex AI در Firebase هنوز از رونویسی پشتیبانی نمی کند. به زودی دوباره بررسی کنید!

زبان ها

فرمت های صوتی

Live API از فرمت های صوتی زیر پشتیبانی می کند:

  • فرمت صوتی ورودی: صدای خام 16 بیتی PCM با فرکانس 16 کیلوهرتز کمی اندین
  • فرمت صدای خروجی: صدای خام 16 بیتی PCM با فرکانس 24 کیلوهرتز کمی endian

محدودیت های نرخ

محدودیت های نرخ زیر اعمال می شود:

  • 10 جلسه همزمان در هر پروژه Firebase
  • 4 میلیون توکن در دقیقه

طول جلسه

مدت زمان پیش فرض برای یک جلسه 30 دقیقه است. هنگامی که مدت زمان جلسه از حد مجاز بیشتر شود، اتصال قطع می شود.

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

تشخیص فعالیت صوتی (VAD)

این مدل به طور خودکار تشخیص فعالیت صوتی (VAD) را در جریان ورودی صوتی پیوسته انجام می دهد. VAD به طور پیش فرض فعال است.

توکن شمارش

نمی‌توانید از CountTokens API با Live API استفاده کنید.

،



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

می‌توانید با دستورات و Live API در Vertex AI Studio نمونه‌سازی اولیه کنید.

Live API یک API حالت دار است که یک اتصال WebSocket برای ایجاد یک جلسه بین مشتری و سرور Gemini ایجاد می کند. برای جزئیات، به مستندات مرجع Live API مراجعه کنید.

قبل از شروع

اگر قبلاً این کار را نکرده‌اید، راهنمای شروع را تکمیل کنید، که نحوه راه‌اندازی پروژه Firebase را توضیح می‌دهد، برنامه خود را به Firebase متصل کنید، SDK را اضافه کنید، سرویس Vertex AI را راه‌اندازی کنید، و یک نمونه LiveModel ایجاد کنید.

توجه داشته باشید که برای استفاده از Live API :

  • مطمئن شوید که حداقل از این نسخه های کتابخانه Firebase استفاده می کنید:
    iOS+ : هنوز پشتیبانی نمی شود | Android : v16.3.0+ ( BoM : v33.12.0+) | وب : هنوز پشتیبانی نمی شود | فلوتر : نسخه 1.5.0+ (BoM: نسخه 3.9.0+)

  • یک نمونه LiveModel ( نه یک نمونه GenerativeModel ) ایجاد کنید.

مدل هایی که از این قابلیت پشتیبانی می کنند

Live API فقط توسط gemini-2.0-flash-live-preview-04-09 (نه gemini-2.0-flash ) پشتیبانی می شود.

از ویژگی های استاندارد Live API استفاده کنید

این بخش نحوه استفاده از ویژگی‌های استاندارد Live API را توضیح می‌دهد، به‌ویژه برای پخش جریانی انواع ورودی‌ها و خروجی‌ها:

ارسال متن و دریافت متن

می توانید ورودی متن پخش شده را ارسال کنید و خروجی متن پخش شده را دریافت کنید. مطمئن شوید که یک نمونه liveModel ایجاد کرده اید و حالت پاسخ را روی Text تنظیم کنید.

نحوه انتخاب یک مدل و به صورت اختیاری مکان مناسب برای مورد استفاده و برنامه خود را بیاموزید.

ارسال صوت و دریافت صدا

می توانید ورودی صوتی پخش شده را ارسال کنید و خروجی صدای پخش شده را دریافت کنید. مطمئن شوید که یک نمونه LiveModel ایجاد کرده اید و حالت پاسخ را روی Audio تنظیم کنید.

با نحوه پیکربندی و سفارشی کردن صدای پاسخ آشنا شوید (در ادامه این صفحه).

نحوه انتخاب یک مدل و به صورت اختیاری مکان مناسب برای مورد استفاده و برنامه خود را بیاموزید.



تجربیات جذاب و تعاملی بیشتری ایجاد کنید

این بخش نحوه ایجاد و مدیریت ویژگی‌های جذاب یا تعاملی Live API را شرح می‌دهد.

صدای پاسخ را تغییر دهید

Live API از Chirp 3 برای پشتیبانی از پاسخ های گفتاری ترکیبی استفاده می کند. هنگام استفاده از Vertex AI در Firebase ، می‌توانید صدا را با ۵ صدای HD و ۳۱ زبان ارسال کنید.

اگر صدایی را مشخص نکنید، پیش‌فرض Puck است. همچنین، می‌توانید مدل را طوری پیکربندی کنید که به یکی از صداهای زیر پاسخ دهد:

Aoede (مونث)
Charon (مرد)
Fenrir (مرد)
Kore (مونث)
Puck (مرد)

برای اطلاع از نحوه صدای این صداها و فهرست کامل زبان‌های موجود، به Chirp 3: صداهای HD مراجعه کنید.

برای تعیین یک صدا، نام صدا را در شی speechConfig به عنوان بخشی از پیکربندی مدل تنظیم کنید:

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

RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.

زمینه را در طول جلسات و درخواست ها حفظ کنید

می‌توانید از ساختار چت برای حفظ زمینه در جلسات و درخواست‌ها استفاده کنید. توجه داشته باشید که این فقط برای ورودی متن و خروجی متن کار می کند.

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

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

Vertex AI در Firebase هنوز از مدیریت وقفه پشتیبانی نمی کند. به زودی دوباره بررسی کنید!

استفاده از فراخوانی تابع (ابزار)

می‌توانید ابزارهایی مانند توابع موجود را برای استفاده با Live API درست مانند روش‌های تولید محتوای استاندارد تعریف کنید. این بخش برخی تفاوت های ظریف را در هنگام استفاده از Live API با فراخوانی تابع توضیح می دهد. برای توضیحات کامل و مثال هایی برای فراخوانی تابع، راهنمای فراخوانی تابع را ببینید.

از یک اعلان واحد، مدل می تواند چندین فراخوانی تابع و کدهای لازم برای زنجیره خروجی های آنها را ایجاد کند. این کد در محیط sandbox اجرا می شود و پیام های BidiGenerateContentToolCall بعدی را ایجاد می کند. اجرا متوقف می شود تا زمانی که نتایج هر فراخوانی در دسترس باشد، که پردازش متوالی را تضمین می کند.

علاوه بر این، استفاده از Live API با فراخوانی تابع بسیار قدرتمند است زیرا مدل می‌تواند اطلاعات پیگیری یا شفاف‌سازی را از کاربر درخواست کند. برای مثال، اگر مدل اطلاعات کافی برای ارائه مقدار پارامتر به تابعی که می‌خواهد فراخوانی کند، نداشته باشد، آنگاه مدل می‌تواند از کاربر بخواهد اطلاعات بیشتری یا شفاف‌سازی را ارائه دهد.

مشتری باید با BidiGenerateContentToolResponse پاسخ دهد.



محدودیت ها و الزامات

محدودیت ها و الزامات زیر را در Live API به خاطر داشته باشید.

رونویسی

Vertex AI در Firebase هنوز از رونویسی پشتیبانی نمی کند. به زودی دوباره بررسی کنید!

زبان ها

فرمت های صوتی

Live API از فرمت های صوتی زیر پشتیبانی می کند:

  • فرمت صوتی ورودی: صدای خام 16 بیتی PCM با فرکانس 16 کیلوهرتز کمی اندین
  • فرمت صدای خروجی: صدای خام 16 بیتی PCM با فرکانس 24 کیلوهرتز کمی endian

محدودیت های نرخ

محدودیت های نرخ زیر اعمال می شود:

  • 10 جلسه همزمان در هر پروژه Firebase
  • 4 میلیون توکن در دقیقه

طول جلسه

مدت زمان پیش فرض برای یک جلسه 30 دقیقه است. هنگامی که مدت زمان جلسه از حد مجاز بیشتر شود، اتصال قطع می شود.

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

تشخیص فعالیت صوتی (VAD)

این مدل به طور خودکار تشخیص فعالیت صوتی (VAD) را در جریان ورودی صوتی پیوسته انجام می دهد. VAD به طور پیش فرض فعال است.

توکن شمارش

نمی‌توانید از CountTokens API با Live API استفاده کنید.