在 SociaLite 示例应用中添加生成式 AI 响应

Animated screenshot showing the SociaLite chatbot in
action

SociaLite 示例应用 演示了如何使用 Android 平台 API 实现社交网络和通信应用中常用的功能。我们已使用 Google AI 客户端 SDK 集成了 Gemini API,以演示如何在您自己的 Android 应用中实现聊天机器人功能。

此示例代码使用 Gemini Flash,它快速且经济高效。 详细了解 Gemini 模型。为了在 Socialite 演示中实现 AI 驱动的聊天机器人,我们使用了 Gemini API 的 系统指令 功能来修改模型的行为。在本例中,我们使用提示“请像一只友好的猫一样回复此聊天对话”。此融合了 Gemini 的 SociaLite 版本还利用了模型的多模态功能,使聊天机器人能够对图像做出反应。

实现 Gemini API

聊天机器人的实现主要位于 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.")
  },
)

在协程范围内,通过将 pastMessages 传递给 startChat() 来启动聊天,以确保模型可以访问对话历史记录。这使您的聊天机器人能够维护上下文并生成连贯的响应,这些响应建立在先前的交换基础上。

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

使用 sendMessage() 方法将消息传递给模型。

测试 AI 聊天机器人

您可以按照以下步骤自行测试

  1. 查看 SociaLite 示例应用 的代码并在 Android Studio 中打开它。
  2. Google AI Studio 中创建一个 Gemini API 密钥。
  3. 将您的 Gemini API 密钥作为 API_KEY 变量添加到您的 local.properties 文件中。
  4. 同步并运行您的应用。
  5. 在 SociaLite 应用中,点击设置然后点击AI 聊天机器人,以便按钮标签显示为“AI 聊天机器人:已启用”。

您现在可以开始聊天了!

其他资源

详细了解 Google AI SDK。如果您的应用已集成 Firebase,您还可以从 Firebase 中的 Vertex AI 访问 Gemini API。