با استفاده از Vertex AI SDKs برای Firebase با Gemini API شروع کنید


این راهنما به شما نشان می دهد که چگونه می توانید با استفاده از Vertex AI SDK برای Firebase مستقیماً از برنامه خود تماس با Gemini API را شروع کنید.

پیش نیازها

این راهنما فرض می کند که شما با توسعه برنامه ها با Flutter آشنا هستید.

  • مطمئن شوید که محیط توسعه و برنامه وب شما شرایط زیر را دارد:

    • دارت 3.2.0+
  • (اختیاری) برنامه نمونه را بررسی کنید.

    نمونه برنامه را دانلود کنید

    می توانید SDK را به سرعت امتحان کنید، اجرای کامل موارد استفاده مختلف را مشاهده کنید، یا اگر برنامه وب خود را ندارید از نمونه برنامه استفاده کنید. برای استفاده از برنامه نمونه، باید آن را به پروژه Firebase متصل کنید .

مرحله 1 : یک پروژه Firebase راه اندازی کنید و برنامه خود را به Firebase متصل کنید

اگر قبلاً یک پروژه Firebase و یک برنامه متصل به Firebase دارید

  1. در کنسول Firebase، به صفحه Build with Gemini بروید و سپس روی کارت دوم کلیک کنید تا یک گردش کاری راه اندازی شود که به شما در انجام کارهای زیر کمک می کند. اگر طرح کارت را نمی‌بینید، این کارها کامل شده‌اند.

  2. برای افزودن SDK به برنامه خود، مرحله بعدی این راهنما را ادامه دهید.

اگر قبلاً یک پروژه Firebase و یک برنامه متصل به Firebase ندارید

مرحله 2 : SDK را اضافه کنید

با راه اندازی پروژه Firebase و اتصال برنامه به Firebase (مرحله قبل را ببینید)، اکنون می توانید Vertex AI SDK for Firebase را به برنامه خود اضافه کنید.

Vertex AI SDK for Flutter ( firebase_vertexai ) دسترسی به Gemini API را فراهم می کند.

  1. مخزن flutterfire از شاخه vertex_ai دانلود کنید تا از نسخه پیش نمایش SDK استفاده کنید.

    SDK در این دایرکتوری قرار خواهد گرفت:
    <your local folder>/flutterfire/packages/firebase_vertexai/firebase_vertexai

  2. در فایل 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 و مدل تولیدی را مقداردهی اولیه کنید.

  1. در فایل pubspec.yaml خود، مسیر بسته برای firebase_vertexai را به جایی که SDK را دانلود کرده‌اید لغو کنید:

    // For private preview only
    dependency_overrides:
    firebase_vertexai:
      path: PATH/TO/YOUR/LOCAL/FIREBASE_VERTEXAI_PACKAGE
    
  2. در منطق کد دارت خود، دو افزونه Firebase را وارد کنید:

    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'package:firebase_core/firebase_core.dart';
    
  3. سرویس 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 را امتحان کنید

یاد بگیرید چگونه تولید محتوا را کنترل کنید

همچنین می‌توانید با استفاده از Vertex AI Studio، دستورات و پیکربندی‌های مدل را آزمایش کنید.


درباره تجربه خود با Vertex AI SDKs برای Firebase بازخورد بدهید