本指南介绍了如何开始使用适用于所选平台的 Vertex AI in Firebase SDK 直接从应用调用 Vertex AI Gemini API。
前提条件
本指南假定您熟悉如何使用 JavaScript 开发 Web 应用。本指南与框架无关。
请确保您的开发环境和 Web 应用满足以下要求:
- (可选)Node.js
- 现代网络浏览器
(可选)查看示例应用。
您可以快速试用 SDK,查看各种用例的完整实现,或者使用示例应用(如果您没有自己的 Web 应用)。如需使用示例应用,您需要将其关联到 Firebase 项目。
第 1 步:设置 Firebase 项目并将应用连接到 Firebase
如果您已有 Firebase 项目和已与 Firebase 相关联的应用
在 Firebase 控制台中,前往使用 Gemini 进行构建页面。
点击 Vertex AI in Firebase 卡片可启动一个工作流,帮助您完成以下任务:
升级您的项目,以使用随用随付 Blaze 定价方案。
在项目中启用所需的 API(Vertex AI API 和 Vertex AI in Firebase API)。
继续执行本指南中的下一步,将 SDK 添加到您的应用。
如果您还没有 Firebase 项目和与 Firebase 关联的应用
第 2 步:添加 SDK
设置完 Firebase 项目并将应用关联到 Firebase(请参阅上一步)后,您现在可以将 Vertex AI in Firebase SDK 添加到应用了。
Vertex AI in Firebase 库可提供对 Vertex AI Gemini API 的访问权限,并包含在 Firebase JavaScript SDK for Web 中。
使用 npm 安装 Firebase JS SDK for Web:
npm install firebase
在您的应用中初始化 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 服务和生成式模型
您需要先初始化 Vertex AI 服务和生成式模型,然后才能进行任何 API 调用。
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 models are versatile and can be used with all API capabilities
const model = getGenerativeModel(vertexAI, { model: "gemini-1.5-flash" });
完成本入门指南后,了解如何选择适合您的应用场景和应用的 Gemini 模型和(可选)位置。
第 4 步:调用 Vertex AI Gemini API
现在,您已将应用与 Firebase 相关联、添加了 SDK,并初始化了 Vertex AI 服务和生成式模型,接下来就可以调用 Vertex AI Gemini API 了。
您可以使用 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 models are versatile and can be used with all API capabilities
const model = getGenerativeModel(vertexAI, { model: "gemini-1.5-flash" });
// 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 的其他功能
- 详细了解如何根据仅包含文本的提示生成文本,包括如何流式传输回答。
- 从多模态提示(包括文本、图片、PDF、视频和音频)生成文本。
- 构建多轮对话(聊天)。
- 根据文本和多模态提示生成结构化输出(例如 JSON)。
- 使用函数调用将生成式模型连接到外部系统和信息。
了解如何控制内容生成
您还可以使用 Vertex AI Studio 对提示和模型配置进行实验。就您使用 Vertex AI in Firebase 的体验提供反馈