Vertex AI in Firebase SDK を使用してアプリから Gemini API を呼び出すときに、テキストのみの入力に基づいてテキストを生成するように Gemini モデルにプロンプトを出すことができます。
Gemini API を操作するためのその他のオプション
必要に応じて、Gemini API
の代替の「Google AI」バージョンをテストします。Google AI Studio と Google AI クライアント SDK を使用して、(制限内で、利用可能な場合)無料アクセスを取得します。これらの SDK は、モバイルアプリとウェブアプリのプロトタイピングのみに使用してください。Gemini API の仕組みに慣れたら、Vertex AI in Firebase SDK に移行(このドキュメント)します。Vertex AI in Firebase SDK には、Firebase App Check を使用した API の不正使用からの保護や、リクエスト内の大規模なメディア ファイルのサポートなど、モバイルアプリとウェブアプリに重要な多くの追加機能が含まれています。
必要に応じて、Vertex AI Gemini API サーバーサイドを呼び出す(Python、Node.js、Go など)
サーバーサイド Vertex AI SDK、Firebase Genkit、または Firebase Extensions を使用して Gemini API を呼び出す。
始める前に
Vertex AI in Firebase SDK のスタートガイドをまだ完了していない場合は、必ず完了してください。以下の手順をすべて完了していることを確認します。
Blaze お支払いプランの使用や必要な API の有効化など、新規または既存の Firebase プロジェクトを設定します。
アプリを Firebase に接続して、アプリの登録や Firebase 構成のアプリへの追加などを行います。
SDK を追加し、アプリで Vertex AI サービスと生成モデルを初期化します。
アプリを Firebase に接続し、SDK を追加して、Vertex AI サービスと生成モデルを初期化したら、Gemini API を呼び出す準備が整います。
テキストのみの入力からテキストを生成する
テキストのみを含む入力で Gemini API を呼び出すことができます。これらの呼び出しでは、テキストのみのプロンプト(Gemini 2.0 Flash など)をサポートするモデルを使用する必要があります。
レスポンスをストリーミングするか(generateContentStream
)、結果全体が生成されるまでレスポンスを待つか(generateContent
)を選択します。
モデル生成の結果全体を待たずに、ストリーミングを使用して部分的な結果を処理することで、インタラクションを高速化できます。
この例では、generateContentStream
を使用して、テキストのみを含むプロンプト リクエストから生成されたテキストをストリーミングする方法を示します。
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call generateContentStream with the text input
let contentStream = try model.generateContentStream(prompt)
for try await chunk in contentStream {
if let text = chunk.text {
print(text)
}
}
または、ストリーミングではなく結果全体が返されるのを待つこともできます。結果は、モデルが生成プロセス全体を完了した後にのみ返されます。
この例は、generateContent
を使用して、テキストのみを含むプロンプト リクエストからテキストを生成する方法を示しています。
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Initialize the generative model with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
ユースケースとアプリに適したモデルと、必要に応じてロケーションを選択する方法を学びます。
Google アシスタントの機能
- 長いプロンプトをモデルに送信する前に、トークンをカウントする方法を学びます。
- 不正なクライアントによる Gemini API の不正使用から保護するために Firebase App Check を設定するなど、本番環境の準備を検討します。また、本番環境チェックリストも必ずご確認ください。
Gemini API のその他の機能を試す
- マルチターンの会話(チャット)を構築します。
- マルチモーダル プロンプト(テキスト、画像、PDF、動画、音声など)からテキストを生成します。
- テキストとマルチモーダル プロンプトの両方から構造化出力(JSON など)を生成します。
- 関数呼び出しを使用して、生成モデルを外部システムと情報に接続します。
コンテンツ生成を制御する方法
- プロンプト設計を理解する。ベスト プラクティス、戦略、プロンプトの例などをご覧ください。
- 温度や最大出力トークン(Gemini の場合)やアスペクト比と人物生成(Imagen の場合)など、モデル パラメータを構成します。
- 安全性設定を使用すると、有害と見なされる可能性のある回答が生成される可能性を調整できます。
サポートされているモデルの詳細
さまざまなユースケースで利用可能なモデルと、その割り当てと料金について学びます。Vertex AI in Firebase の使用感に関するフィードバックを送信する