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