BreezeApp
综合介绍
BreezeApp是一款由联发创新基地(MediaTek Research)为安卓(Android)和iOS平台开发的纯粹在手机本地运行的AI应用。 这款应用程序的核心特点是所有AI功能完全在离线状态下运行,支持飞行模式,从而保证用户的数据完全不会离开个人设备,提供了高度的隐私保护。用户下载安装后,不需要连接互联网就可以使用多种AI功能,例如与聊天机器人进行文本对话、语音输入与输出、以及针对图像内容的提问与解答。该项目默认使用联发科自研的Breeze 2系列模型,同时也提供了更换为Llama 3等其他主流模型的指引。 BreezeApp旨在推广两个核心理念:一是让每个用户都能在自己的手机上自由选择并运行不同的大语言模型(LLM);二是让任何应用开发者都能轻松地创造出完全基于手机本地算力的创新AI应用。
功能列表
- 完全离线运行:所有AI计算都在设备本地完成,无需联网,支持飞行模式。
- 注重隐私保护:由于数据处理完全在本地,用户的个人数据和交互历史不会上传到任何云端服务器。
- 文本聊天机器人:提供基于大语言模型(LLM)的流畅文本对话功能。
- 语音交互:支持语音输入(ASR,语音转文本)和语音输出(TTS,文本转语音),实现免手动操作。
- 图像理解:具备视觉语言模型(VLM)能力,可以识别并回答关于图片内容的问题。
- 多后端支持:支持在本地CPU和联发科NPU(神经处理单元)上运行,并为不同类型的模型(LLM, VLM, ASR, TTS)提供了相应的后端支持。
- 模型可更换:用户可以按照指引将后端模型从默认的Breeze 2系列更换为Llama 3等其他模型。
使用帮助
BreezeApp为普通用户和开发者提供了不同的使用方式。普通用户可以直接下载安装使用,而开发者可以自行编译和贡献代码。
普通用户快速上手
对于不希望自行编译代码的用户,最简单的方式是直接下载预编译的APK安装包。
- 下载应用:从项目的发布页面(Releases)下载最新的
BreezeApp.apk
文件。 - 安装应用:在您的安卓手机上,允许安装来自未知来源的应用,然后点击下载的APK文件进行安装。
- 下载模型:首次启动BreezeApp时,应用会自动提示您下载运行所需的基础AI模型。这个过程需要网络连接。请根据屏幕提示完成下载,下载后的模型将存储在手机本地。
- 离线使用:模型下载完成后,您就可以断开网络(例如开启飞行模式),开始离线使用BreezeApp的所有功能,包括聊天、语音问答和图像理解。
开发者设置指南
如果您是开发者,希望自行编译、修改或为项目贡献代码,请遵循以下详细步骤。
环境准备在开始之前,请确保您的开发环境满足以下要求:
- 操作系统:建议使用Ubuntu 22.04。
- 硬件:一台拥有至少16GB内存的计算机。
- 软件:安装Git、CMake (版本3.21或更高)、以及Java Development Kit (JDK)。
步骤一:克隆源代码仓库首先,打开终端,使用git
命令克隆BreezeApp的源代码到您的本地电脑。
git clone https://github.com/mtkresearch/BreezeApp.git
cd BreezeApp
步骤二:准备安卓开发环境
- 下载Android Studio:从Google官方网站下载并安装最新版本的Android Studio。
- 安装Android SDK和NDK:
- 打开Android Studio,进入
Tools > SDK Manager
。 - 在
SDK Platforms
标签页,确保您已安装Android API Level 34。 - 在
SDK Tools
标签页,勾选并安装以下组件:Android SDK Command-line Tools (latest)
CMake
Android NDK
(推荐版本 26.1.10909125)
- 打开Android Studio,进入
- 配置环境变量:为了让命令行工具能够找到安卓开发工具,需要设置
ANDROID_HOME
和ANDROID_NDK_HOME
环境变量。将以下路径添加到您的.bashrc
或.zshrc
文件中(请根据您的实际安装路径修改):export ANDROID_HOME=$HOME/Android/Sdk export ANDROID_NDK_HOME=$HOME/Android/Sdk/ndk/26.1.10909125 export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH export PATH=$ANDROID_HOME/platform-tools:$PATH
修改后,执行
source ~/.bashrc
使配置生效。
步骤三:构建和编译应用
- 构建依赖项:BreezeApp依赖于多个外部库,例如用于AI推理的Executorch和用于语音处理的sherpa-onnx。幸运的是,项目提供了自动化的构建脚本。
- 首先给脚本添加执行权限:
chmod +x breeze-app/scripts/build-depends.sh
- 然后运行此脚本来下载和编译所有必需的依赖库。这个过程可能需要较长时间,因为它会从头开始编译所有C++库。
./breeze-app/scripts/build-depends.sh
- 首先给脚本添加执行权限:
- 在Android Studio中打开项目:
- 启动Android Studio。
- 选择
Open
,然后导航到您克隆的BreezeApp
源代码目录,并选择其中的breeze-app
子目录。 - Android Studio会自动识别这是一个Gradle项目,并开始同步项目配置。请等待同步完成。
- 编译APK:
- 在Android Studio的顶部菜单栏中,选择
Build > Make Project
。Gradle将开始编译所有Java/Kotlin代码和原生C++代码。 - 编译成功后,您可以通过
Build > Build Bundle(s) / APK(s) > Build APK(s)
来生成最终的APK安装文件。 - 生成的APK文件通常位于
BreezeApp/breeze-app/build/outputs/apk/debug/
目录下。
- 在Android Studio的顶部菜单栏中,选择
- 在设备上运行:
- 通过USB连接您的安卓手机到电脑,并确保已在手机的开发者选项中启用“USB调试”功能。
- 在Android Studio顶部的设备下拉菜单中,选择您的手机。
- 点击绿色的“Run 'app'”按钮(播放图标),Android Studio会自动将编译好的应用安装到您的手机上并启动它。
应用场景
- 注重隐私的个人助理在处理包含银行账户、密码、个人日记等高度敏感信息的文本时,用户可以使用BreezeApp进行内容整理和问答,无需担心信息被上传到云端,确保了绝对的隐私安全。
- 无网络环境下的学习工具在飞机上、地铁里或偏远地区等没有稳定网络连接的环境中,学生或研究人员可以利用BreezeApp进行知识查询和学习。例如,向它提问关于编程、历史或科学的基本概念,把它当作一个离线的知识库使用。
- 辅助开发的编程助手开发者可以在离线状态下,向BreezeApp提问关于算法实现、代码片段或API使用方法的问题。这在无法访问在线文档或Stack Overflow的情况下尤其有用。
- 多语言交流的翻译工具通过其语音转文本和文本转语音功能,BreezeApp可以作为一个基本的离线翻译工具。用户可以说一句话,让应用将其转换为文字,再将目标语言的文字输入应用,让其朗读出来,从而实现简单的跨语言沟通。
QA
- BreezeApp是免费的吗?是的,BreezeApp是一个在Apache-2.0许可下发布的开源项目,您可以免费下载、使用和修改其源代码。
- 这款应用真的完全不需要网络吗?在首次启动时,应用需要连接网络来下载必要的AI模型文件。一旦模型下载完成,所有的核心AI功能,如聊天、语音识别和图像问答,都可以完全在离线状态下运行。
- 我可以在我自己的iPhone上使用BreezeApp吗?该项目的设计目标是同时支持安卓(Android)和iOS平台。GitHub页面上提到了iOS,但当前提供的快速入门指南和编译脚本主要针对安卓平台。iOS版本的开发和支持可以关注项目的后续更新。
- 我可以更换应用内置的AI模型吗?可以。该项目的一个核心理念就是让用户自由选择模型。项目文档中提供了将默认的Breeze 2模型更换为Llama 3模型的指引,这为技术用户提供了很高的灵活性。
- 与其他在线AI聊天应用相比,BreezeApp的优势是什么?最主要的优势是隐私和离线可用性。因为所有计算都在手机本地进行,所以您的数据绝对安全。同时,它不受网络状况的限制,随时随地都可以使用。缺点是,受手机硬件性能的限制,其模型能力和响应速度可能不如基于云端强大服务器的在线AI服务。