بهترین شیوه‌ها و ملاحظات برای الگوها


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

بهترین شیوه‌ها

بسیاری از این بهترین شیوه‌ها همچنین در مدیریت الگوهای شما به تفصیل شرح داده شده‌اند.

قالب‌های خود را نسخه‌بندی کنید

  • شناسه‌های قالبی ایجاد کنید که به نسخه‌ای که از نسخه‌بندی معنایی (semver) استفاده می‌کند، ضمیمه شده باشند.

  • از Firebase Remote Config استفاده کنید تا بتوانید به راحتی قالب و سایر مقادیر درخواست خود را تغییر دهید.

از قالب خود محافظت کنید

  • از ویرایش قالب‌هایی که در محیط تولید استفاده می‌شوند، خودداری کنید، مگر اینکه تغییر را کاملاً آزمایش کرده باشید.

  • قبل از رفتن به مرحله تولید، قالب خود را قفل کنید.

    • قفل کردن یک الگو به عنوان محافظت در برابر ویرایش غیرعمدی عمل می‌کند، اما قفل کردن به طور کامل ویرایش را مسدود نمی‌کند . یک عضو پروژه با مجوزهای مناسب همیشه می‌تواند یک الگو را برای ویرایش باز کند.

    • ما توصیه می‌کنیم قالب‌هایی را که به طور فعال توسط کد استفاده می‌شوند - به خصوص کد عملیاتی - قفل کنید.

محافظت از استفاده از API Gemini

  • اعتبارسنجی ورودی قوی برای متغیرهای ورودی خود بنویسید، که می‌تواند در موارد زیر کمک کند:

    • می‌تواند به محافظت در برابر تزریق سریع کمک کند.
    • می‌تواند به اطمینان از موفقیت درخواست‌ها و پاسخ‌های مورد انتظار کمک کند.
  • حالت فقط قالب را برای پروژه Firebase خود اعمال کنید تا تمام درخواست‌های API Gemini از طریق Firebase AI Logic باید از یک الگوی اعلان سرور استفاده کنند.

ویژگی‌هایی که هنوز توسط قالب‌های اعلان سرور پشتیبانی نمی‌شوند

بسیاری از این ویژگی‌ها با تکامل قالب‌های اعلان سرور در دسترس قرار خواهند گرفت، بنابراین برای به‌روزرسانی‌ها، یادداشت‌های انتشار را بررسی کنید!

قابلیت‌های Firebase AI Logic هنوز توسط قالب‌ها پشتیبانی نمی‌شوند

قابلیت‌های استاندارد زیر از Firebase AI Logic هنوز از طریق قالب‌های اعلان سرور پشتیبانی نمی‌شوند:

  • پخش دو طرفه ( Gemini Live API )
  • استنتاج ترکیبی یا درون دستگاهی
  • محدود کردن خروجی به لیستی از enumها

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

عناصر رایج Dotprompt هنوز توسط قالب‌ها پشتیبانی نمی‌شوند

قالب‌های اعلان سرور احتمالاً به زودی از عناصر رایج زیر در Dotprompt پشتیبانی خواهند کرد:

  • استفاده از مشخصات طرحواره JSON برای طرحواره‌های ورودی و خروجی در frontmatter شما.

    • توجه داشته باشید که این مشخصات در درخواست‌های الگوی غیر سرور نیز پشتیبانی نمی‌شود. ما در حال حاضر فقط از مشخصات طرحواره OpenAPI پشتیبانی می‌کنیم.
  • اعلام تعریف فیلد wildcard با استفاده از * .

  • استفاده از @key یا به طور کلی پیمایش فیلدهای یک ورودی شیء (که در این مورد از @key استفاده می‌شود).

  • استفاده از @root ‎ که به شما امکان می‌دهد صرف نظر از this فعلی، به زمینه متغیر ریشه ارجاع دهید.

قالب‌های اعلان سرور احتمالاً از عناصر رایج زیر در Dotprompt پشتیبانی نمی‌کنند :

  • استفاده از partialها، که قطعه کدهای قالب قابل استفاده مجدد هستند و می‌توانند در قالب‌های دیگر گنجانده شوند.

ملاحظات دیگر

  • به طور پیش‌فرض، وقتی از رابط کاربری هدایت‌شده در کنسول Firebase استفاده می‌کنید، ما قالب را در تمام مناطق موجود برای Firebase AI Logic ارائه می‌دهیم. اگر از API Vertex AI Gemini استفاده می‌کنید و اگر مورد استفاده شما نیاز به محدودیت‌های مبتنی بر مکان دارد، می‌توانید مکان قالب خود را با استفاده از REST API مشخص کنید .

  • اگر می‌خواهید یک الگوی اعلان سرور را به عنوان یک فایل ارائه دهید (به جای استفاده از رابط کاربری هدایت‌شده کنسول Firebase )، می‌توانید از REST API استفاده کنید. توجه داشته باشید که الگوهای اعلان سرور از طرحواره‌ای که در کد برنامه تعریف شده و به الگو ارسال می‌شود، پشتیبانی نمی‌کنند .

  • حتی اگر قالب روی سرور باشد، نمی‌تواند مستقیماً با سایر منابع سمت سرور پروژه Firebase شما (مانند پایگاه داده) تعامل داشته باشد ، به جز Cloud Storage for Firebase (که می‌توانند به عنوان متغیرهای ورودی ارائه شوند).