AndroidML KitKotlincloud APIon-device AIllama.cpp
Android应用中的AI:ML Kit、云API和端侧LLM对比
Android应用中AI的三条路径。Google ML Kit用于常见任务,云API用于完整LLM能力,llama.cpp端侧模型用于成本和隐私。面向Kotlin开发者的实用比较。
Edward Xi Yang
Android开发者有三种不同的方法为应用添加AI。Google ML Kit处理常见任务。云API提供前沿模型能力。通过llama.cpp的端侧LLM让你获得完整的文本生成能力,无需API成本或网络依赖。
每种服务于不同的目的。本指南从Kotlin开发者的视角进行比较。
路径1:Google ML Kit
ML Kit是Google的移动端机器学习SDK。它为常见ML任务提供生产就绪的API,无需任何ML专业知识。
ML Kit能做什么
ML Kit为特定任务提供预构建模型:
- 文本识别(OCR),支持拉丁文、中文、日文、韩文和梵文字母
- 人脸检测,带有关键点追踪和分类
- 条码扫描,支持所有常见条码格式
- 图像标注,包含400+类别
- 物体检测和追踪,支持实时相机画面
- 姿态检测,用于身体关键点追踪
- 数字墨水识别,用于手写体
- 翻译,支持59种语言,模型 按需下载
- 智能回复建议,用于对话场景
- 实体提取,识别文本中的日期、地址、电话号码
集成模式
// 文本识别示例
val recognizer = TextRecognition.getClient(TextRecognizerOptions.DEFAULT_OPTIONS)
val image = InputImage.fromBitmap(bitmap, 0)
recognizer.process(image)
.addOnSuccessListener { text ->
Log.d("MLKit", "Recognized: ${text.text}")
}
.addOnFailureListener { e ->
Log.e("MLKit", "Recognition failed", e)
}ML Kit不能做什么
ML Kit不支持运行大型语言模型。没有内置的开放式文本生成、对话AI、内容起草或复杂推理能力。Smart Reply提供短消息的建议回复,但它不是一个通用聊天模型。
成本
免费。ML Kit完全在设备上运行。没有API调用,没有按请求的费用,没有使用限制。
最适合
OCR、条码扫描、人脸检测、姿态估计、图像标注。Google提供优化的预构建解决方案的任务。
路径2:云API
从Android应用调用OpenAI、Anthropic、Google Gemini或其他供应商。模型在远程服务器上运行。