活动介绍
谷歌开发者招募活动是专为 Google 技术的爱好者及开发者们开展的活动,旨在鼓励大家通过多种形式 (文章/视频/coding 等) 创作与 Google 技术相关的讲解分享、实践案例或活动感受等内容,展示代码、框架、平台在真实世界中的生动表现,以及分享您应用 AI 技术的故事经历与成果。
作者简介
本文作者蔡嘉亮,语鹦助手开源软件发起人。
文章导读
本文作者利用自己的技能,为身处海外并且想要加强英语学习的人提供一个随时随地的外教辅导,拓展学习新思路,获得更实用的方法指导和启发,同时也为想要开发 AI 工具的开发者提供灵感,激发创新。
*以下为投稿原文
我曾经为了考试,在 3 个月内背了 3,000 多个单词,但是考完试半年后都忘了。学习外语需要好方法,对话是最好的学习方式,学习英语也一样。而无论你是已经身处海外环境,还是有计划提高英语水平,有什么办法可以足不出户地提升自己的英语能力?
2023 年,许多大语言模型横空出世,如 Gemini 等。跨平台技术在早年前已十分成熟,例如 Flutter。加上边缘设备推理的技术,如 TensorFlow、ML Kit 等。在这样的技术背景下,我作为一名热爱技术的开发者,产生了开发一个 AI 外教 APP 的想法。
我希望利用自己的技能,为那些想要学习英语的人提供一个随时随地的外教辅导,同时也为想要开发 AI 工具的开发者提供便利。
项目地址 (有详细的介绍)
https://gitee.com/alexcai/parrot_app
Bilibili 介绍视频
https://www.bilibili.com/video/BV1tZ3keWEyo/
前期准备
竞品分析: 从各种渠道获取信息,分析市面上 AI 英语学习软件和开源 AI 聊天软件的优劣性。
明确目标: 确定开发产品的价值,确认市场定位,规划第一个版本的功能。
制定计划: 预估开发难度、所需时间和成本,结合自身资源规划实现方法。
创作阶段
初稿制作: 将构思转化为具体的产品设计,形成交互原型和 UI 设计。
设计风格: 结合自身形象设计产品风格,使用 Stable Diffusion 工具为产品设计 LOGO 图标。
程序开发: 根据设计实现 MVP,并测试功能可用性。
上传代码: 确认开源协议,创建代码库,上传代码,撰写产品使用手册和开发指引。
后期完善
市场推广: 制作宣传视频,在 B 站或者微信视频号发布视频。 反馈与修改: 根据市场反馈和竞品分析对产品进行功能完善和发布新版本。 总结反思: 回顾创作过程,总结经验教训。
一套代码多处运行: Flutter 跨平台技术
目前在 GitHub 的大语言模型 UI 项目不在少数,产品 UI 大多数使用 WebUI 和 Docker 部署方式。
另外,Flutter 具有跨平台技术 (Web\Andoird\iOS\Windows\macOS\Linux) 特性,可以为我节省很多开发时间和成本。
因此,我选择了 Flutter 作为产品的开发框架。
OpenWebUI | LobeChat | 语鹦助手 | |
Web | HTML | HTML | HTML |
Android | HTML | HTML | APP |
iOS | HTML | HTML | APP |
Windows | HTML | HTML | APP |
macOS | HTML | HTML | APP |
Linux | HTML | HTML | APP |
Flutter 插件库 (Flutter Package) 给开发者提供了很多方便。
我开发语鹦助手主要是用了两个 AI 插件:
第一个是用于连接各大平台大语言模型的 LangChain;
第二个是用于调用本地 TFLite 模型的边缘设备推理插件 ML Kit。
不需要重复做轮子: LangChain 插件
LangChain 插件详细介绍: https://pub-web.flutter-io.cn/packages/langchain
下面演示一下如何通过语鹦助手连接 Google AI:
1. 打开浏览器,登录 Google AI 申请一个 API Key: https://aistudio.google.com/app/apikey
2. 在语鹦助手选择 Gemini* 模型
3.在 API Key 填写刚申请的 API Key:
4.发送一条 prompt: hello
使用边缘计算节省云计算成本:
ML Kit 插件
几个月前,Flutter-ML 团队发布了 ML Kit 插件,使用 ML Kit 插件可以在移动端实现图像,文字和语音相关的 AI 处理功能。
ML Kit 插件 https://pub-web.flutter-io.cn/packages/google_ml_kit
语鹦助手目前是使用了 ML Kit 的文字翻译功能, 能够离线在边缘设备实现翻译。
SQL
flutter pub add google_mlkit_translation
SQL
dependencies:
google_mlkit_translation: ^0.11.0
SQL
import 'package:google_mlkit_translation/google_mlkit_translation.dart';
SQL
final TranslateLanguage sourceLanguage;
final TranslateLanguage targetLanguage;
final onDeviceTranslator = OnDeviceTranslator(sourceLanguage: sourceLanguage, targetLanguage: targetLanguage)
SQL
final String response = await onDeviceTranslator.translateText(text);
竞争优势
应用前景
社群共建
写在最后
感谢蔡嘉亮的创作分享,希望这次的案例可以让您更加深入地理解如何更好地使用 AI 工具。如果您也有自己的实践案例,欢迎您报名谷歌开发者招募活动并投稿作品,展示您对前沿技术的洞察,收获灵感和惊喜!
扫描二维码提交报名
和伙伴们一起探索 Google 技术