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

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

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

このサンプルコードでは、高速で費用対効果の高い Gemini Flash を使用します。Gemini モデルの詳細Socialite デモに AI 駆動の chatbot を実装するため、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-1.5-pro-latest",
  // Set your Gemini API key in the API_KEY variable in your
  // local.properties file
  apiKey = BuildConfig.API_KEY,
  // 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. Google AI Studio で Gemini API キーを作成します。
  3. Gemini API キーを API_KEY 変数として local.properties ファイルに追加します。
  4. アプリを同期して実行します。
  5. SociaLite アプリで [設定] [AI Chatbot] をタップして、ボタンラベルが [AI Chatbot: enabled] になるようにします。

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

参考情報

Google AI SDK の詳細アプリに Firebase がすでに統合されている場合は、Firebase の Vertex AI から Gemini API にアクセスすることもできます。