谷歌 MLKit 新增 GenAI API,支持端上的生成式 AI 能力

前言

Google I/O 2025 宣布,ML Kit 推出一组端上的 GenAI(生成式 AI) 的 API,以帮助开发者将 Gemini Nano 集成到安卓应用中。新发布的 4 个 API包括

  • 总结:用于总结文章和对话。
  • 校对:用于润色短文本。
  • 改写:以不同风格改写文本。
  • 图像描述:为图像提供简短描述。

GenAI API 的主要优势

GenAI API 与现有的 MLKit API 类似,便于集成。这意味着无需额外进行提示工程或针对特定用例进行微调,即可获得开箱即用的高质量结果。

GenAI API 在设备端运行,因此具有以下优势:

  • 输入、推理和输出数据在本地处理。
  • 无需可靠的互联网连接,功能依旧可用。
  • 每次 API 调用无需额外费用。

为防止滥用,Google 还在多个层面添加了安全保护措施,包括基础模型训练、安全感知的低秩适应(LoRA)微调、输入和输出分类器以及安全评估。

GenAI API 的构建方式

GenAI API 主要由 4 个部分组成:

  1. Gemini Nano:是基础模型,为所有 API 共享的基础。
  2. 特定 API 的小型 LoRA 适配器模型:在基础模型之上进行训练和部署,以进一步提高每个 API 的质量。
  3. 优化的推理参数:针对每个 API 进行调整,以引导模型返回最佳结果。
  4. 评估管道:确保在各种数据集和属性上的质量。该管道由大语言模型评分器、统计指标和人工评分器组成。

这些组件共同构成了高级的生成式人工智能 API,简化了在安卓应用中集成 Gemini Nano 所需的工作。

GenAI API 质量得分

为了使 GenAI API 具备开箱即用的高质量,Google 在 Gemini Nano 基础模型之上应用了特定功能的微调。这使得每个 API 的基准分数都有所提高。这个分数基于生成的总结内容和原内容的一致性进行打分,如下所示:

用例 Gemini Nano 基础模型 MLKit GenAI API
总结 77.2 92.1
校对 84.3 90.2
改写 79.5 84.1
图像描述 86.9 92.3

此外,以下是这些 API 在 Pixel 9 Pro 上的性能快速参考:

前处理速度(输入处理速率) 解码速度(输出速率)
Text2Text 510 tokens/秒 11 tokens/秒
Image2Text 510 tokens/秒 + 图像编码需 0.8 秒 11 tokens/秒

示例用法

以下是实现 GenAI API 以获取文章单要点总结的示例:

val articleToSummarize = "We are excited to announce a set of on - device generative AI APIs..."

// 使用期望的输入和输出格式定义任务
val summarizerOptions = SummarizationOptions.builder(context)
  .setInputType(InputType.ARTICLE)
  .setOutputType(OutputType.ONE_BULLET)
  .setLanguage(Language.ENGLISH)
  .build()
val summarizer = Summarization.getClient(summarizerOptions)

suspend fun prepareAndStartSummarization(context: Context) {
  // 检查功能可用性。状态将为以下之一:
  // UNAVAILABLE, DOWNLOADABLE, DOWNLOADING, AVAILABLE
  val featureStatus = featureSet.checkFeatureStatus().await()

  if (featureStatus == FeatureStatus.DOWNLOADABLE) {
    // 如果需要,下载功能。
    // 如果功能尚未下载,第一次推理请求将触发下载。
    summarizer.downloadFeature(object : DownloadCallback {
      override fun onDownloadStarted(totalBytesToDownload: Long) {}
      override fun onDownloadFailed(e: GenAIIException) {}
      override fun onDownloadProgress(totalBytesDownloaded: Long) {}
      override fun onDownloadCompleted() {
        startSummarizationRequest(articleToSummarize, summarizer)
      }
    })
  } else if (featureStatus == FeatureStatus.DOWNLOADING) {
    // 推理请求将在功能下载完成后自动运行。
    // 如果Gemini Nano LoRA适配器模型尚未下载,它将很快下载。
    // 但是,下载过程可能需要更长时间。
    startSummarizationRequest(articleToSummarize, summarizer)
  } else if (featureStatus == FeatureStatus.AVAILABLE) {
    startSummarizationRequest(articleToSummarize, summarizer)
  }
}

fun startSummarizationRequest(text: String, summarizer: Summarizer) {
  // 创建任务请求
  val summarizationRequest = SummarizationRequest.builder(text).build()

  // 启动带有流式响应的总结请求
  summarizer.runInference(summarizationRequest) { newText ->
    // 在UI中显示新文本
  }

  // 您也可以从请求中获取非流式响应
  // val summarizationResult = summarizer.runInference(summarizationRequest)
  // val summary = summarizationResult.get().summary
}

// 不再需要时确保释放资源
// 例如,在viewModel.onCleared()或activity.onDestroy()中
summarizer.close()

更多 GenAI API 的示例,请查看官方文档以及 GitHub:

  • AI Catalog GenAI API Samples with Compose

  • ML Kit GenAI APIs Quickstart

使用建议

以下是关于如何使用 GenAI API 的一些指导:

对于总结 API:
  • 适用于涉及两个或更多用户的对话消息或记录。
  • 适用于少于 4000 个 token(约 3000 个英文单词)的文章- 或文档。使用前几段内容通常足以捕捉最重要的信息。
对于校对和改写 API:
  • 考虑在内容创作过程中用于少于 256 个 token 的短文本,以帮助完成以下任务:
  • 以特定语气完善消息,如更正式或更随意。
  • 润色个人笔记,以便日后更易阅读。
对于图像描述 API:
  • 用于生成图像标题。
  • 用于生成图像搜索的元数据。
  • 用于在无法显示图像本身的用例中(如在聊天消息列表中)使用图像描述。
  • 用于生成替代文本,帮助视障用户更好地理解整体内容。

GenAI API 在实际产品中的应用

想象有一款应用可以将视觉世界转化为语言,帮助盲人和低视力人群更独立地生活。该应用的一个常见用例是用户拍摄图片以获取文档朗读。通过使用生成式人工智能总结 API,该应用能够快速获取拍摄文档的简洁总结。这显著提升了用户体验,使用户能够快速掌握文档要点,并决定是否需要进行更详细的阅读,节省了时间和精力。

谷歌 MLKit 新增 GenAI API,支持端上的生成式 AI 能力_第1张图片

目前支持的设备

目前支持以下设备,更多设备持续适配中:

  • Google: Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold
  • Honor: Magic 7 Pro, Magic 7
  • iQOO: iQOO 13
  • Motorola: Razr 60 Ultra
  • OnePlus: OnePlus 13, OnePlus 13s
  • OPPO: Find N5, Find X8, Find X8 Pro
  • POCO: POCO F7 Ultra
  • realme: realme GT 7 Pro
  • Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra
  • vivo: vivo X200, vivo X200 Pro
  • Xiaomi: Xiaomi 15 Ultra, Xiaomi 15

https://developers.google.com/ml-kit/genai#device-support

你可能感兴趣的:(Google,I/O,GenAI,MLKit,人工智能,GenAI,MLKIt,生成式AI)