Gemini API به صورت پیشفرض پاسخها را به صورت متن بدون ساختار برمیگرداند. با این حال، برخی موارد استفاده به متن ساختاریافته مانند JSON نیاز دارند. به عنوان مثال، ممکن است از پاسخ برای سایر کارهای پایین دستی که به یک طرح داده ثابت نیاز دارند استفاده کنید.
برای اطمینان از اینکه خروجی تولید شده مدل همیشه به یک طرح واره خاص پایبند است، می توانید یک طرح پاسخ تعریف کنید، که مانند یک طرح اولیه برای پاسخ های مدل عمل می کند. سپس می توانید مستقیماً داده ها را از خروجی مدل با پس پردازش کمتر استخراج کنید.
در اینجا چند نمونه آورده شده است:
اطمینان حاصل کنید که پاسخ یک مدل JSON معتبر تولید می کند و با طرح ارائه شده شما مطابقت دارد.
به عنوان مثال، مدل میتواند ورودیهای ساختاریافتهای را برای دستور العملها ایجاد کند که همیشه شامل نام دستور غذا، فهرست مواد تشکیل دهنده و مراحل است. سپس می توانید به راحتی این اطلاعات را در رابط کاربری برنامه خود تجزیه و نمایش دهید.نحوه پاسخگویی یک مدل را در طول وظایف طبقه بندی محدود کنید.
به عنوان مثال، میتوانید مدل را به جای برچسبهایی که مدل تولید میکند (که میتواند دارای درجهای از تنوع مانندgood
،positive
، متنی را با مجموعهای از برچسبها (مثلاً مجموعهای خاص از فهرستها مانندpositive
وnegative
) حاشیهنویسی کند. ،negative
یاbad
).
این راهنما به شما نشان میدهد که چگونه میتوانید خروجی JSON را با ارائه responseSchema
در یک فراخوان برای generateContent
ایجاد کنید. بر روی ورودی فقط متن تمرکز دارد، اما Gemini همچنین میتواند پاسخهای ساختاری به درخواستهای چندوجهی تولید کند که شامل تصاویر، ویدیوها و صدا به عنوان ورودی است.
در پایین این صفحه نمونه های بیشتری وجود دارد، مانند نحوه تولید مقادیر enum به عنوان خروجی . برای مشاهده نمونههای اضافی از نحوه تولید خروجی ساختاریافته، فهرست طرحوارههای نمونه و پاسخهای مدل را در اسناد Google Cloud بررسی کنید.
به صورت اختیاری با نسخه جایگزین « Google AI » از Gemini API آزمایش کنید
با استفاده از Google AI Studio و Google AI Client SDK، دسترسی رایگان (در محدوده و در صورت وجود) دریافت کنید. این SDK ها باید فقط برای نمونه سازی در برنامه های موبایل و وب استفاده شوند.بعد از اینکه با نحوه عملکرد Gemini API آشنا شدید، به Vertex AI in Firebase SDK (این مستندات) مهاجرت کنید ، که دارای بسیاری از ویژگیهای اضافی مهم برای برنامههای موبایل و وب هستند، مانند محافظت از API در برابر سوء استفاده با استفاده از Firebase App Check و پشتیبانی از فایل های رسانه ای بزرگ در درخواست ها
به صورت اختیاری Vertex AI Gemini API سمت سرور را فراخوانی کنید (مانند Python، Node.js یا Go)
از Vertex AI SDK ، Firebase Genkit یا Firebase Extensions برای Gemini API استفاده کنید.
قبل از شروع
اگر قبلاً این کار را نکردهاید، راهنمای شروع به کار برای Vertex AI in Firebase SDK را تکمیل کنید. مطمئن شوید که تمام کارهای زیر را انجام داده اید:
یک پروژه Firebase جدید یا موجود راه اندازی کنید، از جمله استفاده از طرح قیمت گذاری Blaze و فعال کردن API های مورد نیاز.
برنامه خود را به Firebase وصل کنید، از جمله ثبت برنامه خود و افزودن پیکربندی Firebase به برنامه خود.
SDK را اضافه کنید و سرویس Vertex AI و مدل تولیدی را در برنامه خود راه اندازی کنید.
بعد از اینکه برنامه خود را به Firebase متصل کردید، SDK را اضافه کردید و سرویس Vertex AI و مدل تولیدی را راه اندازی کردید، آماده فراخوانی Gemini API هستید.
مرحله 1 : یک طرح پاسخ را تعریف کنید
برای تعیین ساختار خروجی مدل، نام فیلدها و نوع داده مورد انتظار برای هر فیلد، یک طرح پاسخ تعریف کنید.
هنگامی که یک مدل پاسخ خود را تولید می کند، از نام فیلد و زمینه از درخواست شما استفاده می کند. برای اینکه منظور شما واضح باشد، توصیه می کنیم از یک ساختار واضح، نام فیلدهای بدون ابهام و حتی توضیحات در صورت نیاز استفاده کنید.
ملاحظاتی برای طرحواره های پاسخ
هنگام نوشتن طرح پاسخ به موارد زیر توجه کنید:
اندازه طرح پاسخ در حد توکن ورودی به حساب می آید.
ویژگی طرح پاسخ از انواع MIME پاسخ زیر پشتیبانی می کند:
application/json
: خروجی JSON همانطور که در طرح پاسخ تعریف شده است (مفید برای الزامات خروجی ساختاریافته)text/x.enum
: خروجی مقدار enum همانطور که در طرح پاسخ تعریف شده است (مفید برای وظایف طبقه بندی)
ویژگی طرحواره پاسخ از فیلدهای طرحواره زیر پشتیبانی می کند:
enum
items
maxItems
nullable
properties
required
اگر از یک فیلد پشتیبانینشده استفاده میکنید، مدل همچنان میتواند به درخواست شما رسیدگی کند، اما فیلد را نادیده میگیرد. توجه داشته باشید که لیست بالا زیرمجموعه ای از شی طرح OpenAPI 3.0 است (به مرجع طرحواره Vertex AI مراجعه کنید).
بهطور پیشفرض، برای Vertex AI in Firebase SDK، همه فیلدها ضروری در نظر گرفته میشوند مگر اینکه آنها را بهعنوان اختیاری در آرایه
optionalProperties
مشخص کنید. برای این فیلدهای اختیاری، مدل می تواند فیلدها را پر کند یا آنها را رد کند.توجه داشته باشید که این برخلاف رفتار پیشفرض برای Vertex AI Gemini API است.
مرحله 2 : یک درخواست با یک طرح پاسخ برای تولید JSON ارسال کنید
مثال زیر نحوه تولید خروجی JSON ساخت یافته را نشان می دهد.
برای تولید خروجی ساختاریافته، باید در طول مقداردهی اولیه مدل، responseMimeType
مناسب (در این مثال، application/json
) و همچنین responseSchema
را که میخواهید مدل استفاده کند، مشخص کنید.
استفاده از responseSchema
توسط Gemini 1.5 Pro و Gemini 1.5 Flash پشتیبانی می شود.
نحوه انتخاب مدل Gemini و به صورت اختیاری مکان مناسب برای مورد استفاده و برنامه خود را بیاموزید.
نمونه های اضافی
برای مشاهده نمونههای اضافی از نحوه استفاده و تولید خروجی ساختاریافته، فهرست طرحوارههای نمونه و پاسخهای مدل را در اسناد Google Cloud بررسی کنید.
مقادیر enum را به عنوان خروجی تولید کنید
مثال زیر نحوه استفاده از طرح پاسخ را برای یک کار طبقه بندی نشان می دهد. از مدل خواسته می شود تا ژانر یک فیلم را بر اساس توضیحات آن شناسایی کند. خروجی یک مقدار enum متن ساده است که مدل از لیستی از مقادیری که در طرح پاسخ ارائه شده تعریف شده اند، انتخاب می کند.
برای انجام این کار طبقهبندی ساختاریافته، باید در طول اولیهسازی مدل، responseMimeType
مناسب (در این مثال، text/x.enum
) و همچنین responseSchema
که میخواهید مدل استفاده کند، مشخص کنید.
نحوه انتخاب مدل Gemini و به صورت اختیاری مکان مناسب برای مورد استفاده و برنامه خود را بیاموزید.
گزینه های دیگر برای کنترل تولید محتوا
- در مورد طراحی سریع بیشتر بیاموزید تا بتوانید مدل را تحت تأثیر قرار دهید تا خروجی خاصی برای نیازهای شما ایجاد کند.
- پارامترهای مدل را برای کنترل نحوه ایجاد پاسخ توسط مدل پیکربندی کنید. این پارامترها شامل حداکثر توکن های خروجی، دما، topK و topP هستند.
- از تنظیمات ایمنی برای تنظیم احتمال دریافت پاسخ هایی که ممکن است مضر تلقی شوند، از جمله سخنان مشوق عداوت و تنفر و محتوای صریح جنسی استفاده کنید.
- دستورالعمل های سیستم را برای هدایت رفتار مدل تنظیم کنید. این ویژگی مانند یک «مقدمه» است که قبل از اینکه مدل در معرض هر دستورالعمل دیگری از کاربر نهایی قرار گیرد، اضافه میکنید.
درباره تجربه خود با Vertex AI in Firebase بازخورد بدهید