SociaLite サンプルアプリに生成 AI の回答を追加する

SociaLite chatbot が動作している様子を示すアニメーション スクリーンショット

SociaLite サンプルアプリは、Android プラットフォーム API を使用して、ソーシャル ネットワーク アプリや通信アプリでよく使用される機能を実装する方法を示しています。Firebase AI Logic SDK を使用して Gemini API を統合し、独自の Android アプリにチャットボット機能を実装する方法を示します。

このサンプルコードでは、高速で費用対効果の高い Gemini Flash を使用しています。Gemini モデルの詳細Socialite デモに AI 駆動のチャットボットを実装するために、Gemini API のシステム指示機能を使用してモデルの動作を変更しました。この場合、プロンプトは「このチャット会話に、フレンドリーな猫のように返信してください」です。Gemini を組み込んだこのバージョンの SociaLite では、モデルのマルチモーダル機能を使用して、チャットボットが画像に反応できるようにしています。

Gemini API を実装する

chatbot の実装は主に ChatRepository クラスにあります。GenerativeModel クラスを使用すると、Gemini API を操作できます。これは次のようにインスタンス化されます。

val generativeModel = GenerativeModel(
  // Set the model name to the latest Gemini model.
  modelName = "gemini-2.0-flash-lite-001",
  // Set a system instruction to set the behavior of the model.
  systemInstruction = content {
    text("Please respond to this chat conversation like a friendly cat.")
  },
)

コルーチン スコープで、pastMessagesstartChat() に渡してチャットを開始し、モデルが会話履歴にアクセスできるようにします。これにより、chatbot はコンテキストを維持し、以前のやり取りに基づいて一貫性のあるレスポンスを生成できます。

val pastMessages = getMessageHistory(chatId)
val chat = generativeModel.startChat(
  history = pastMessages,
)

sendMessage() メソッドを使用して、モデルにメッセージを渡します。

AI chatbot をテストする

次の手順でテストできます。

  1. SociaLite サンプルアプリのコードをチェックアウトし、Android Studio で開きます。
  2. Firebase プロジェクトを設定し、こちらの手順に沿ってアプリを Gemini Developer API に接続します。
  3. google-services.json を独自のファイルに置き換えて、app 構成を実行します。
  4. アプリを同期して実行します。
  5. SociaLite アプリで [設定] [AI Chatbot] をタップして、ボタンのラベルが [AI Chatbot: enabled] になるようにします。

これでチャットできるようになりました。

参考情報

詳しくは、Firebase AI Logic SDK についての記事をご覧ください。