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


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

پیش نیازها

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

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

    • (اختیاری) Node.js
    • مرورگر وب مدرن
  • (اختیاری) برنامه نمونه را بررسی کنید.

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

    می توانید 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 Web دسترسی به Gemini API را فراهم می کند.

  1. پیش نمایش خصوصی SDK را با استفاده از npm نصب کنید:

    npm install firebase@vertexai-preview
    
  2. Firebase را در برنامه خود راه اندازی کنید:

    import { initializeApp } from "firebase/app";
    
    // TODO(developer) Replace the following with your app's Firebase configuration
    // See: https://firebase.google.com/docs/web/learn-more#config-object
    const firebaseConfig = {
      // ...
    };
    
    // Initialize FirebaseApp
    const firebaseApp = initializeApp(firebaseConfig);
    

مرحله 3 : سرویس Vertex AI و مدل مولد را راه اندازی کنید

قبل از اینکه بتوانید تماس API برقرار کنید، باید سرویس Vertex AI و مدل تولیدی را مقداردهی اولیه کنید.

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Initialize the generative model with a model that supports your use case
// Gemini 1.5 Pro is versatile and can accept both text-only or multimodal prompt inputs
const model = getGenerativeModel(vertexAI, { model: "gemini-1.5-pro-preview-0409" });

وقتی راهنمای شروع کار را به پایان رساندید، یاد بگیرید که چگونه یک مدل Gemini مناسب برای مورد استفاده خود انتخاب کنید.

مرحله 4 : با Gemini API تماس بگیرید

اکنون که برنامه خود را به Firebase متصل کرده اید، SDK را اضافه کرده اید و سرویس Vertex AI و مدل تولیدی را راه اندازی کرده اید، آماده فراخوانی Gemini API هستید.

انتخاب کنید که آیا می‌خواهید پاسخ را پخش جریانی کنید ( generateContentStream ) یا منتظر پاسخ باشید تا کل نتیجه تولید شود ( generateContent ).

جریان

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

شما می توانید از generateContentStream() برای پخش متن تولید شده از یک درخواست سریع که فقط شامل متن است استفاده کنید:

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Initialize the generative model with a model that supports your use case
// Gemini 1.5 Pro is versatile and can accept both text-only and multimodal prompt inputs
const model = getGenerativeModel(vertexAI, { model: "gemini-1.5-pro-preview-0409" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To stream generated text output, call generateContentStream with the text input
  const result = await model.generateContentStream(prompt);

  for await (const chunk of result.stream) {
    const chunkText = chunk.text();
    console.log(chunkText);
  }

  console.log('aggregated response: ', await result.response);
}

run();

بدون پخش جریانی

از طرف دیگر، می توانید به جای پخش جریانی، منتظر کل نتیجه باشید. نتیجه تنها پس از تکمیل مدل کل فرآیند تولید برگردانده می شود.

می‌توانید از generateContent() برای تولید متن از یک درخواست سریع که فقط شامل متن است استفاده کنید:

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);

// Initialize the generative model with a model that supports your use case
// Gemini 1.5 Pro is versatile and can accept both text-only and multimodal prompt inputs
const model = getGenerativeModel(vertexAI, { model: "gemini-1.5-pro-preview-0409" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

شما چه کار دیگه ای میتوانید انجام دهید.

در مورد مدل های جمینی بیشتر بدانید

در مورد مدل های موجود برای موارد استفاده مختلف و سهمیه ها و قیمت آنها اطلاعات کسب کنید.

سایر قابلیت های Gemini API را امتحان کنید

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

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


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