این راهنما به شما نشان می دهد که چگونه می توانید با استفاده از Vertex AI SDK برای Firebase مستقیماً از برنامه خود تماس با Gemini API را شروع کنید.
پیش نیازها
این راهنما فرض می کند که شما با توسعه برنامه ها با Flutter آشنا هستید.
مطمئن شوید که محیط توسعه و برنامه وب شما شرایط زیر را دارد:
- دارت 3.2.0+
(اختیاری) برنامه نمونه را بررسی کنید.
می توانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه وب خود را ندارید از نمونه برنامه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .
مرحله 1 : یک پروژه Firebase راه اندازی کنید و برنامه خود را به Firebase متصل کنید
اگر قبلاً یک پروژه Firebase و یک برنامه متصل به Firebase دارید
در کنسول Firebase، به صفحه Build with Gemini بروید و سپس روی کارت دوم کلیک کنید تا یک گردش کاری راه اندازی شود که به شما در انجام کارهای زیر کمک می کند. اگر طرح کارت را نمیبینید، این کارها کامل شدهاند.
پروژه خود را ارتقا دهید تا از طرح قیمت گذاری پرداختی Blaze استفاده کنید.
دو API زیر را برای پروژه خود فعال کنید:
aiplatform.googleapis.com
وfirebaseml.googleapis.com
.
برای افزودن SDK به برنامه خود، مرحله بعدی این راهنما را ادامه دهید.
اگر قبلاً یک پروژه Firebase و یک برنامه متصل به Firebase ندارید
وارد کنسول Firebase شوید.
روی ایجاد پروژه کلیک کنید و سپس از یکی از گزینه های زیر استفاده کنید:
گزینه 1 : با وارد کردن نام پروژه جدید در اولین مرحله از گردش کار «ایجاد پروژه»، یک پروژه کاملاً جدید Firebase (و پروژه Google Cloud زیربنایی آن به صورت خودکار) ایجاد کنید.
گزینه 2 : «افزودن Firebase» به پروژه Google Cloud موجود با انتخاب نام پروژه Google Cloud خود از منوی کشویی در مرحله اول گردش کار «ایجاد پروژه».
توجه داشته باشید که وقتی از شما خواسته شد، برای استفاده از Vertex AI SDKs برای Firebase نیازی به تنظیم Google Analytics ندارید .
در کنسول Firebase، به صفحه Build with Gemini بروید و سپس روی کارت دوم کلیک کنید تا یک گردش کاری راه اندازی شود که به شما در انجام کارهای زیر کمک می کند. اگر طرح کارت را نمیبینید، این کارها کامل شدهاند.
پروژه خود را ارتقا دهید تا از طرح قیمت گذاری پرداختی Blaze استفاده کنید.
دو API زیر را برای پروژه خود فعال کنید:
aiplatform.googleapis.com
وfirebaseml.googleapis.com
.
ابزارهای خط فرمان مورد نیاز را نصب کنید:
اگر قبلاً این کار را نکردهاید، Firebase CLI را نصب کنید .
با اجرای دستور زیر با استفاده از حساب Google خود وارد Firebase شوید:
firebase login
FlutterFire CLI را با اجرای دستور زیر از هر دایرکتوری نصب کنید:
dart pub global activate flutterfire_cli
برنامه های خود را برای استفاده از Firebase پیکربندی کنید:
از FlutterFire CLI برای پیکربندی برنامه های Flutter خود برای اتصال به Firebase استفاده کنید.
از دایرکتوری پروژه Flutter خود، دستور زیر را برای شروع گردش کار پیکربندی برنامه اجرا کنید:
flutterfire configure
گردش کار
flutterfire configure
موارد زیر را انجام می دهد:از شما میخواهد پلتفرمهای پشتیبانی شده (iOS، Android، Web) را در برنامه Flutter خود انتخاب کنید. برای هر پلتفرم انتخاب شده، FlutterFire CLI یک برنامه Firebase جدید در پروژه Firebase شما ایجاد می کند.
می توانید انتخاب کنید که از یک پروژه Firebase موجود استفاده کنید یا یک پروژه Firebase جدید ایجاد کنید. اگر قبلاً برنامههایی را در پروژه Firebase ثبت کردهاید، FlutterFire CLI سعی میکند آنها را بر اساس پیکربندی پروژه Flutter فعلی شما مطابقت دهد.
یک فایل پیکربندی Firebase (
firebase_options.dart
) ایجاد می کند و آن را به دایرکتوریlib/
برنامه Flutter شما اضافه می کند.
در مراحل بعدی این راهنما، Vertex AI SDK for Firebase را به برنامه خود اضافه میکنید و مقدار اولیه مورد نیاز را برای استفاده از SDK و Gemini API تکمیل میکنید.
مرحله 2 : SDK را اضافه کنید
با راه اندازی پروژه Firebase و اتصال برنامه به Firebase (مرحله قبل را ببینید)، اکنون می توانید Vertex AI SDK for Firebase را به برنامه خود اضافه کنید.
Vertex AI SDK for Flutter ( firebase_vertexai
) دسترسی به Gemini API را فراهم می کند.
مخزن
flutterfire
از شاخهvertex_ai
دانلود کنید تا از نسخه پیش نمایش SDK استفاده کنید.SDK در این دایرکتوری قرار خواهد گرفت:
<your local folder>/flutterfire/packages/firebase_vertexai/firebase_vertexai
در فایل
pubspec.yaml
خود، افزونه هایfirebase_vertexai
وfirebase_core
را به لیستdependencies
خود اضافه کنید.dependencies: flutter: sdk: flutter ... firebase_vertexai: any firebase_core: ^2.27.0
مرحله 3 : سرویس Vertex AI و مدل مولد را راه اندازی کنید
قبل از اینکه بتوانید تماس API برقرار کنید، باید سرویس Vertex AI و مدل تولیدی را مقداردهی اولیه کنید.
در فایل
pubspec.yaml
خود، مسیر بسته برایfirebase_vertexai
را به جایی که SDK را دانلود کردهاید لغو کنید:// For private preview only dependency_overrides: firebase_vertexai: path: PATH/TO/YOUR/LOCAL/FIREBASE_VERTEXAI_PACKAGE
در منطق کد دارت خود، دو افزونه Firebase را وارد کنید:
import 'package:firebase_vertexai/firebase_vertexai.dart'; import 'package:firebase_core/firebase_core.dart';
سرویس Vertex AI و مدل مولد را راه اندازی کنید:
import 'package:firebase_vertexai/firebase_vertexai.dart'; import 'package:firebase_core/firebase_core.dart'; // Initialize FirebaseApp await Firebase.initializeApp(); // Initialize the Vertex AI service and the generative model // Specify a model that supports your use case // Gemini 1.5 Pro is versatile and can accept both text-only and multimodal prompt inputs final model = FirebaseVertexAI.instance.generativeModel(modelName: 'gemini-1.5-pro-preview-0409');
وقتی راهنمای شروع کار را به پایان رساندید، یاد بگیرید که چگونه یک مدل Gemini مناسب برای مورد استفاده خود انتخاب کنید.
مرحله 4 : با Gemini API تماس بگیرید
اکنون که برنامه خود را به Firebase متصل کرده اید، SDK را اضافه کرده اید و سرویس Vertex AI و مدل تولیدی را راه اندازی کرده اید، آماده فراخوانی Gemini API هستید.
انتخاب کنید که آیا میخواهید پاسخ را پخش جریانی کنید ( generateContentStream
) یا منتظر پاسخ باشید تا کل نتیجه تولید شود ( generateContent
).
جریان
بهطور پیشفرض، مدل پس از تکمیل کل فرآیند تولید، پاسخی را برمیگرداند. با این حال، میتوانید با منتظر ماندن برای کل نتیجه، به تعاملات سریعتری دست پیدا کنید و در عوض از جریان برای رسیدگی به نتایج جزئی استفاده کنید.
شما می توانید از generateContentStream()
برای پخش متن تولید شده از یک درخواست سریع که فقط شامل متن است استفاده کنید:
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 Pro is versatile and can accept both text-only and multimodal prompt inputs
final model =
FirebaseVertexAI.instance.generativeModel(modelName: 'gemini-1.5-pro-preview-0409');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To stream generated text output, call generateContentStream with the text input
final response = model.generateContentStream(prompt);
await for (final chunk in response) {
print(chunk.text);
}
بدون پخش جریانی
از طرف دیگر، می توانید به جای پخش جریانی، منتظر کل نتیجه باشید. نتیجه تنها پس از تکمیل مدل کل فرآیند تولید برگردانده می شود.
میتوانید از generateContent()
برای تولید متن از یک درخواست سریع که فقط شامل متن است استفاده کنید:
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and the generative model
// Specify a model that supports your use case
// Gemini 1.5 Pro is versatile and can accept both text-only and multimodal prompt inputs
final model =
FirebaseVertexAI.instance.generativeModel(modelName: 'gemini-1.5-pro-preview-0409');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);
شما چه کار دیگه ای میتوانید انجام دهید.
در مورد مدل های جمینی بیشتر بدانید
در مورد مدل های موجود برای موارد استفاده مختلف و سهمیه ها و قیمت آنها اطلاعات کسب کنید.
سایر قابلیت های Gemini API را امتحان کنید
- درباره ارسال پیامهای متنی بیشتر بیاموزید.
- درخواستهای فوری چندوجهی را با اعلانهای متنی و رسانهای (از جمله تصاویر، فایلهای PDF، ویدئو و صدا) ارسال کنید.
- مکالمات چند نوبتی (چت) بسازید.
یاد بگیرید چگونه تولید محتوا را کنترل کنید
- طراحی سریع، از جمله بهترین شیوهها، استراتژیها و درخواستهای نمونه را درک کنید .
- پارامترهای مدل مانند دما و حداکثر نشانه های خروجی را پیکربندی کنید .
- از تنظیمات ایمنی برای تنظیم احتمال دریافت پاسخ هایی که ممکن است مضر تلقی شوند استفاده کنید .
همچنین میتوانید با استفاده از Vertex AI Studio، دستورات و پیکربندیهای مدل را آزمایش کنید.
درباره تجربه خود با Vertex AI SDKs برای Firebase بازخورد بدهید