תחילת העבודה עם Gemini API באמצעות Vertex AI SDK for Firebase


במדריך הזה מוסבר איך להתחיל לבצע קריאות ל-Gemini API ישירות מהאפליקציה באמצעות Vertex AI SDK for Firebase.

דרישות מוקדמות

המדריך הזה מתבסס על ההנחה שאתם מכירים את השימוש ב-JavaScript כדי לפתח אפליקציות אינטרנט. המדריך הזה לא תלוי ב-framework.

  • ודאו שסביבת הפיתוח ואפליקציית האינטרנט עומדות בדרישות הבאות:

    • (אופציונלי) 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

כאן תוכלו לקרוא על המודלים הזמינים בתרחישים שונים ועל המכסות והתמחור שלהם.

כדאי לנסות יכולות נוספות של Gemini API

מידע נוסף על שליטה ביצירת תוכן

אתם יכולים גם להתנסות בהנחיות ובמודלים של הגדרות אישיות באמצעות Vertex AI Studio.


נשמח לקבל משוב על חוויית השימוש ב-Vertex AI SDK for Firebase