Gemini API を使用してマルチターンの会話(チャット)を作成する


Gemini API を使用すると、複数のターンにわたる自由形式の会話を作成できます。Vertex AI in Firebase SDK は会話の状態を管理することでプロセスを簡素化するため、generateContentStream()generateContent() とは異なり、会話履歴を自分で保存する必要はありません。

始める前に

まだ行っていない場合は、Vertex AI in Firebase SDK のスタートガイドの手順を完了してください。以下の手順をすべて完了していることを確認します。

  1. Blaze お支払いプランの使用や必要な API の有効化など、新規または既存の Firebase プロジェクトを設定します。

  2. アプリを Firebase に接続して、アプリの登録や Firebase 構成のアプリへの追加などを行います。

  3. SDK を追加し、アプリで Vertex AI サービスと生成モデルを初期化します。

アプリを Firebase に接続し、SDK を追加して、Vertex AI サービスと生成モデルを初期化したら、Gemini API を呼び出す準備が整います。

チャット プロンプト リクエストを送信する

マルチターンの会話(チャットなど)を構築するには、まず startChat() を呼び出してチャットを初期化します。次に、sendMessageStream()(または sendMessage())を使用して新しいユーザー メッセージを送信します。これにより、メッセージとレスポンスがチャット履歴に追加されます。

会話内のコンテンツに関連付けられた role には、次の 2 つのオプションがあります。

  • user: プロンプトを提供するロール。この値は sendMessageStream()(または sendMessage())の呼び出しのデフォルト値です。別のロールが渡された場合、関数は例外をスローします。

  • model: レスポンスを提供するロール。このロールは、既存の historystartChat() を呼び出す場合に使用できます。

レスポンスをストリーミングするか(sendMessageStream)、結果全体が生成されるまでレスポンスを待つか(sendMessage)を選択します。

ストリーミング

モデル生成の結果全体を待たずに、ストリーミングを使用して部分的な結果を処理することで、インタラクションを高速化できます。

ストリーミングなし

または、ストリーミングするのではなく、結果全体が返されるのを待つこともできます。結果は、モデルが生成プロセス全体を完了した後にのみ返されます。

ユースケースとアプリに適した Gemini モデルと、必要に応じてロケーションを選択する方法を学びます。

Google アシスタントの機能

  • 長いプロンプトをモデルに送信する前に、トークンをカウントする方法を学びます。
  • Cloud Storage for Firebase を設定して、マルチモーダル リクエストに大きなファイルを含め、プロンプトでファイルを提供するより管理されたソリューションを利用できるようにします。ファイルには、画像、PDF、動画、音声を含めることができます。
  • 本番環境の準備を開始します。たとえば、Gemini API を不正なクライアントによる不正使用から保護するために Firebase App Check を設定するなどです。

Gemini API のその他の機能を試す

コンテンツ生成を制御する方法

Vertex AI Studio を使用して、プロンプトとモデル構成をテストすることもできます。

Gemini モデルの詳細

さまざまなユースケースで使用できるモデルと、その割り当てと料金について学びます。


Vertex AI in Firebase の使用感に関するフィードバックを送信する