Gemini API を使用すると、複数のターンにわたる自由形式の会話を構築できます。Vertex AI for Firebase SDK は、会話の状態を管理することでプロセスを簡素化するため、generateContentStream()
や generateContent()
とは異なり、会話履歴を自分で保存する必要はありません。
始める前に
まだ Vertex AI for Firebase SDK のスタートガイドをまだ読んでいない場合は、これを行ってください。次のすべてが完了していることを確認します。
新規または既存の Firebase プロジェクトを設定します(Blaze お支払いプランの使用や必要な API の有効化など)。
アプリを Firebase に接続する(アプリの登録、アプリへの Firebase 構成の追加など)。
SDK を追加し、アプリで Vertex AI サービスと生成モデルを初期化します。
アプリを Firebase に接続し、SDK を追加して、Vertex AI サービスと生成モデルを初期化したら、Gemini API を呼び出す準備は完了です。
チャット プロンプト リクエストを送信する
マルチターンの会話(チャットなど)を作成するには、まず startChat()
を呼び出してチャットを初期化します。次に、sendMessageStream()
(または sendMessage()
)を使用して新しいユーザー メッセージを送信します。これにより、メッセージとレスポンスもチャット履歴に追加されます。
会話のコンテンツに関連付けられた role
には、次の 2 つのオプションがあります。
user
: プロンプトを提供するロール。この値はsendMessageStream()
(またはsendMessage()
)の呼び出しのデフォルトであり、別のロールが渡されると、関数は例外をスローします。model
: レスポンスを提供するロール。このロールは、既存のhistory
でstartChat()
を呼び出すときに使用できます。
レスポンスをストリーミングするか(sendMessageStream
)、結果全体が生成されるまでレスポンスを待つか(sendMessage
)を選択します。
ストリーミング
モデル生成の結果全体を待機するのではなく、ストリーミングを使用して部分的な結果を処理すると、より高速なインタラクションを実現できます。
次の例は、sendMessageStream()
を使用してモデルからのレスポンスをストリーミングする方法を示しています。
ストリーミングなし
または、ストリーミングする代わりに結果全体を待機することもできます。結果は、モデルが生成プロセス全体を完了した後にのみ返されます。
次の例は、sendMessage()
を使用して新しいユーザー メッセージを送信する方法を示しています。
ユースケースとアプリに適した Gemini モデルを選択し、必要に応じてロケーションを選択する方法をご確認ください。
Google アシスタントの機能
- 長いプロンプトをモデルに送信する前にトークンをカウントする方法を学習する。
- Cloud Storage for Firebase を設定し、Cloud Storage URL を使用してマルチモーダル リクエストにサイズの大きいファイルを含められるようにします。ファイルには、画像、PDF、動画、音声を含めることができます。
- 権限のないクライアントによる Gemini API の不正使用から保護するための Firebase App Check の設定など、本番環境への準備を始めましょう。
Gemini API のその他の機能を試す
- テキストのみのプロンプトからテキストを生成します。
- マルチモーダル プロンプト(テキスト、画像、PDF、動画、音声など)からテキストを生成します。
- 関数呼び出しを使用して、生成モデルを外部のシステムや情報に接続します。
コンテンツ生成を制御する方法の詳細
- ベスト プラクティス、戦略、プロンプトの例など、プロンプト設計について理解する。
- 温度や最大出力トークンなどのモデル パラメータを構成します。
- 安全性設定を使用して、有害とみなされる可能性のあるレスポンスが返される可能性を調整します。
Gemini モデルの詳細
さまざまなユースケースで利用可能なモデルと、その割り当てと料金について学習する。Vertex AI for Firebase に関するフィードバックを送信する