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

动画屏幕截图:SociaLite 聊天机器人正在运作

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

此示例代码使用 Gemini Flash,速度快且具有成本效益。详细了解 Gemini 模型。为了在 Socialite 演示中实现 AI 驱动的聊天机器人,我们使用了 Gemini API 的系统指令功能来修改模型的行为。在本例中,我们使用“请像一只友好的猫一样回复此聊天对话”这一提示。这种融入 Gemini 的 SociaLite 版本还会使用该模型的多模态功能,让聊天机器人对图片做出回应。

实现 Gemini API

聊天机器人实现主要位于 ChatRepository 类中。您可以通过 GenerativeModel 类与 Gemini API 进行交互,该 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,您还可以通过 Vertex AI in Firebase 访问 Gemini API。