昇腾AI自动生成金融类安卓App
·
本次昇腾与AtomGit AI社区联合举办的“金融行业应用Agent黑客松”,其核心目标是利用昇腾AI硬件与AtomGit平台生态,快速生成具备金融场景应用能力的安卓端AI Agent应用。整个流程是一个端到端的自动化系统,从自然语言需求描述到最终生成可安装的APK文件。
###一、 核心系统架构与流程
该系统主要包含三大核心模块,协同工作实现应用自动生成:
| 模块 | 核心组件/技术 | 功能描述 |
|---|---|---|
| 1. AI代码生成 | Qwen2.5-Coder / GLM系列模型、SGLang、CANN | 接收自然语言需求,生成符合金融场景(如智能分享、多号通话管理)的安卓应用Java/Kotlin代码、资源文件及配置文件。 |
| 2. Gradle构建编译 | Gradle Build System | 将AI生成的源代码、资源进行自动化编译、打包,生成标准的Android APK安装包。 |
| 3. 昇腾推理服务 | 昇腾Atlas 800T服务器、CANN | 为AI代码生成模块中的大模型(如Qwen2.5-Coder, GLM)提供高效、低延迟的NPU推理算力支持,确保生成速度与质量。 |
工作流程:开发者(参赛者)在AtomGit平台提交用自然语言描述的应用需求 → 需求被发送至部署在昇腾服务器上的大模型进行推理 → 模型生成完整的安卓项目代码 → 代码被推送至AtomGit代码仓库并触发CI/CD流水线 → 流水线调用Gradle完成项目的自动构建与APK生成 → 最终产物可供下载和测试。
二、 金融Agent应用开发关键技术点
针对黑客松的金融行业场景,开发高效的安卓端AI Agent需关注以下技术:
1. 端侧智能体架构
通常采用“感知-决策-执行”三层架构。
- 感知层:监听系统事件(如剪贴板变化)、接收用户输入(文本、语音)。
- 决策层:在端侧利用昇腾NPU运行轻量化模型(如经过CANN转换优化的GLM模型),进行意图理解、上下文分析和任务规划。
- 执行层:通过自动化框架(如Open-AutoGLM)调用系统API或操作其他App(如微信、通讯录)完成分享、拨号等动作。
2. 模型部署与优化
- 模型选择:可选用GLM系列多模态模型进行语义理解,或Qwen3.5等模型进行任务规划。AtomGit平台也提供了如MiniMax M2.1等优秀的开源模型选项。
- 昇腾适配:使用昇腾CANN工具链将训练好的模型转换成能在昇腾NPU上高效运行的格式(.om文件),实现端侧低延迟(<2秒)推理,满足金融应用对实时性的要求。
3. 隐私与安全
金融应用需高度重视数据安全。利用端侧AI计算,敏感信息(如聊天记录、联系人)可在本地处理,无需上传至云端,极大保障了用户隐私。
三、 快速入门与代码示例
以下是一个基于该平台生成一个“智能剪贴板分享Agent”的简化示例流程和核心代码片段。
1. 需求描述(提交给AI)
开发一个安卓App,能监听剪贴板。当用户复制了一段包含电话号码或网址的文本后,App能自动弹出浮动按钮,点击后提供“快速拨号”或“在浏览器中打开”的选项。
2. AI可能生成的 核心代码 (Java)
// 主要服务:ClipboardMonitorService.java
public class ClipboardMonitorService extends Service {
private ClipboardManager clipboardManager;
@Override
public void onCreate() {
super.onCreate();
clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboardManager.addPrimaryClipChangedListener(() -> {
// 获取剪贴板文本 CharSequence text = getClipboardText();
if (text != null) {
// 使用本地AI模型(已通过CANN优化部署)分析文本意图 String intent = analyzeTextWithLocalAI(text.toString());
if ("PHONE".equals(intent) || "URL".equals(intent)) {
// 显示浮动操作按钮
showFloatingActionButton(text.toString(), intent);
}
}
});
}
// 模拟本地AI推理函数 private String analyzeTextWithLocalAI(String text) {
// 此处应调用通过昇腾CANN部署的端侧模型进行推理
// 例如:调用昇腾NPU接口运行GLM模型判断文本是否包含电话/网址 // 伪代码:AscendNpu.runModel("glm_intent_detection.om", text);
if (text.matches(".*\\d{11}.*")) { // 简单正则示例,实际用AI模型 return "PHONE";
} else if (text.contains("http://") || text.contains("https://")) {
return "URL";
}
return "OTHER";
}
private void showFloatingActionButton(String content, String intent) {
// 在UI线程显示一个浮动按钮,点击后根据intent执行动作 runOnUiThread(() -> {
// 创建并显示浮动窗口逻辑...
});
}
// ... 其他必要方法
}
<!-- AndroidManifest.xml 中所需权限和服务声明 -->
<uses-permission android:name="android.permission.READ_CLIPBOARD" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<service android:name=".ClipboardMonitorService" android:enabled="true" android:exported="false" />
3. 构建配置 (build.gradle)
android {
compileSdk 34 defaultConfig {
applicationId "com.example.smartclipboardagent"
minSdk 24
targetSdk 34 // ... }
//指定Native库架构,以兼容昇腾NPU环境(如果使用原生库)
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a'
}
}
dependencies {
// 可能包含昇腾AI运行时库
// implementation 'com.huawei.ascend:ascend-runtime:xxx'
}
四、 参赛开发建议
- 明确场景:聚焦一个具体的金融痛点,如“智能客服对话摘要”、“合规检查助手”、“交易信息快速填充”等。
- 利用平台:充分使用AtomGit平台提供的代码托管、CI/CD流水线以及集成的开源大模型(如GLM-5、MiniMax M2.1)进行原型快速生成和迭代。
- 突出昇腾价值:在设计中强调如何利用昇腾NPU的端侧算力实现模型加速、低延迟响应和隐私保护,这是区别于纯云端方案的核心优势。
- 关注体验:Agent的交互设计应简洁高效,触发机制自然(如剪贴板监听、语音唤醒),执行动作准确可靠。
通过以上流程,参赛者可以快速将创意转化为一个集成了先进AI能力的安卓应用原型,角逐黑客松奖项。
参考来源
- 昇腾AI自动生成安卓应用
- 昇腾AI赋能智能分享Agent
- 深度评测 GLM-5:AtomGit 首发模型的代码生成实战体验
- 昇腾AI代理实现多号通话自动化
- MiniMax M2.1 正式开源并全面上线 AtomGit
更多推荐




所有评论(0)