Flutter 包实现设备本地生成式AI与离线文本生成
AubAI是一个Flutter/Dart包,为应用提供设备本地的生成式AI功能,包括离线文本生成。该包支持macOS、Windows、Linux、Android、iOS和iPadOS等多个平台。AubAI设计简洁,易于使用,鼓励开源社区参与,并提供应用示例和教程。通过集成llama.cpp库,AubAI使开发者能够在Flutter项目中便捷地使用先进AI模型。
<sub>AubAI为您的应用带来设备端生成式AI能力,包括离线文本生成等功能。</sub>
Flutter开发者、AI爱好者和前瞻性开发者们,你们好!准备好用设备端生成式AI(包括先进的文本生成功能)来革新你的应用了吗?你来对地方了。
认识一下AubAI:这是一个专为赋予你的应用设备端生成式AI模型能力而设计的Flutter/Dart包。无论是生成文本、增强用户交互还是其他AI驱动的任务,AubAI都能满足你的需求。
这个包对所有主要平台来说都是改变游戏规则的。不要只相信我的话,你可以在我的YouTube教程YouTube.com/@BrutalCoding上看到AubAI的实际应用。
AubAI不仅功能强大、用途广泛,而且用户友好且开源。是时候用最新的生成式AI技术释放你的应用的全部潜力了。
通用平台支持:AubAI专为Flutter精心设计,确保 在多种平台上无缝运行。这种广泛的兼容性涵盖了各种操作系统,满足多样化的开发需求:
假设你已经查看了AubAI,并且喜欢它,有几种方式可以表示你的赞赏:
考虑成为赞助者。虽然这个项目的理念是让AI对每个人都可用,但它确实需要花费大量时间。我的房东还不接受GitHub星星作为付款方式,至少目前还不接受。如果你有能力,请考虑成为赞助者。可以是一次性1美元,每月1美元,或任何其他金额。每一点帮助都很重要,无论是精神上还是经济上。
如果你是一个即将购买豪华游艇的富有个人,可以考虑在方向盘上少装一个镀金旋钮,用那笔钱把你的名字添加到赞助者名单中。
目标是让AI对每个人都可用,对吧?这就是为什么我花了相当多时间确保示例应用可以在所有主要平台上下载。我想让每个人都能尽可能轻松地尝试。没有什么比真实世界的例子更能展示AubAI的能力了。
不需要技术知识。只需下载应用,就可以开始使用了。
如果你喜欢这个项目,请务必点击"Star"按钮。也许有一天我的房东会接受GitHub星星作为付款方式!
pubspec.yaml
文件中添加以下内容:dependencies: aub_ai: ^1.0.0
运行flutter pub get
安装包。
在你的Dart代码中导入包:
import 'package:aub_ai/aub_ai.dart';
/// AI的输出将存储在这个变量中。 /// 可以在Text()小部件中使用,例如。 String outputByAI = ''; /// 如何使用AubAI与AI对话的示例。 Future<void> example() async { // 确保模型文件是GGUF格式。 const String filePath = 'path/to/model.gguf'; // 开始对话的提示。 const String promptByUser = '为什么天空是蓝色的?'; // 预定义的提示模板可用。 final promptTemplate = PromptTemplate.chatML().copyWith( prompt: promptByUser, ); // 执行所有魔法的主要函数。 await talkAsync( filePathToModel: filePath, promptTemplate: promptTemplate, onTokenGenerated: (String token) { // 这个回调函数会为AI生成的每个标记调用。 // 标记可以看作是部分单词,如"你"和"好"。 setState(() { outputByAI += token; }); }, ); }
AubAI利用了llama.cpp的力量。这是一个C++库,允许你在设备上运行AI模型。它快速、轻量且开源。这是AubAI的完美搭配。
虽然llama.cpp是一个很棒的库,但将其集成到Flutter项目中并不简单。这就是AubAI的用武之地。它是一个Flutter/Dart包,让你能轻松在Flutter项目中使用llama.cpp。
AubAI的愿景是让AI对每个人都可用,而AI不仅仅是生成文本。这就是为什么AubAI设计成模块化的。随着时间的推移,更多AI功能将被添加到AubAI中,如图像生成、语音生成等。
如果你在寻找模型文件,可以在这里找到一些: HuggingFace.co。 在撰写本文时,已有超过2300个模型可供使用。其中一些可能在数学方面表现出色,另一些在编程方面很强,还有一些擅长诗歌创作,也有一些在各个方面都很出色。你需要为你的应用找到最适合的模型,或者像我在示例应用中那样让用户自己选择模型。
AubAI、本人以及任何参与此项目的人员均不对使用本项目造成的任何损害负责。使用风险自负。
请查看LICENSE文件。除非另有明确说明,所有文件均按AGPL-3.0许可证授权。
AubAI采用AGPL-3.0许可证。但我们理解AGPL-3.0许可证并不总是适合商业用途。因此,我们为那些希望在商业环境中使用AubAI但不想遵守AGPL-3.0许可证的用户提供商业许可。
如需咨询商业许可,请联系daniel@brutalcoding.com。
请阅读CONTRIBUTING.md文件。
对AubAI感兴趣吗?看看我的频道,我会制作关于AubAI的视频:YouTube.com/@BrutalCoding。