沉默是金,总会发光
大家好,我是沉默
最近发现了一个令人关注的话题——Hutool,这个备受欢迎的国产开源框架,自从被收购已经过去近7个月了。
在这段时间里,Hutool发布了少量更新,并且推出了它的新模块——Hutool AI,吸引了不少开发者的关注。
那么,Hutool现在的现状如何?它未来又将如何发展?如果你不打算继续使用Hutool,还有哪些替代框架可以考虑?让我们一起探讨。
**-**01-
近半年 Hutool 的发展状况
自 Hutool 被收购近7个月以来,尽管它发布了4个版本的更新,但大多数更新都是 Bug 修复,功能更新的数量并不多。然而,这其中最引人注目的是 Hutool AI 模块的发布——一个重要的里程碑。
1. 收购公司背景
收购 Hutool 的公司与收购 AList 的公司是同一家(不够科技)。尽管这家公司曾因在收购 AList 代码中悄悄收集用户设备信息而遭遇广泛关注,但这并不影响 Hutool 的日常运营。然而,因收购而被怀疑“投毒”——这种负面情绪在开发者群体中传播开来,导致 Hutool 的部分忠实用户流失。
2. Hutool AI 模块的推出
Hutool AI 模块的发布成为了收购后最值得庆贺的事件之一。该模块提供了统一的API接口,能够轻松对接各大AI服务,如 DeepSeek、OpenAI、Grok 和豆包等主流大模型。使用Hutool AI,你只需简单配置,就可以轻松调用不同的AI服务。
3. 更新与功能
Hutool 发布的 AI 模块支持了以下功能:
- 统一API设计:简化了不同AI服务的调用。
- 支持多种主流AI模型服务:包括 DeepSeek、OpenAI。
- 开箱即用的工具方法:一行代码即可实现复杂的AI功能。
4. 未来更新计划
- Hutool 5.x:主要基于 JDK 8 实现,未来的更新更多集中在 Bug 修复。
- Hutool 6.x:尝试一些新的功能和特性,推动框架向更广泛的领域扩展。
- Hutool 7.x:将基于 JDK 17,并移除一些过时的类,进行功能性和性能的提升。
- 02-
Hutool AI 模块的使用
对于那些希望集成AI服务的开发者,Hutool AI 提供了非常便利的接口。以下是如何使用 Hutool AI 模块的一些示例代码:
1. 添加依赖
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-ai</artifactId> <version>5.8.38</version></dependency>
2. 实现对话功能
DoubaoService doubaoService = AIServiceFactory.getAIService(new AIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel("your bots id").build(), DoubaoService.class);ArrayList<Message> messages = new ArrayList<>();messages.add(new Message("system","你什么都可以"));messages.add(new Message("user","你想做些什么"));String botsChat = doubaoService.botsChat(messages);
3. 识别图片
DoubaoServicedoubaoService= AIServiceFactory.getAIService(newAIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel(Models.Doubao.DOUBAO_1_5_VISION_PRO_32K.getModel()).build(), DoubaoService.class);Stringbase64= ImgUtil.toBase64DataUri(Toolkit.getDefaultToolkit().createImage("your imageUrl"), "png");StringchatVision= doubaoService.chatVision("图片上有些什么?", Arrays.asList(base64));
4. 生成视频
DoubaoServicedoubaoService= AIServiceFactory.getAIService(newAIConfigBuilder(ModelName.DOUBAO.getValue()).setApiKey(key).setModel("your Endpoint ID").build(), DoubaoService.class);StringvideoTasks= doubaoService.videoTasks("生成一段动画视频,主角是大耳朵图图,一个活泼可爱的小男孩。视频中图图在公园里玩耍,画面采用明亮温暖的卡通风格,色彩鲜艳,动作流畅。", "your_image_url");
- 03-
同类替代框架
如果你不希望继续使用 Hutool,或者对其安全性、更新等有疑虑,市面上也有一些成熟的替代框架:
-
Apache Commons
作为一个老牌的开源框架,Apache Commons 提供了丰富的工具类,涵盖了多种常见的开发需求,适合各类项目使用。 -
Google Guava
Google Guava 是一款功能强大的工具类库,提供了集合操作、缓存机制、并发工具等丰富的功能,适用于 Java 开发中的多种场景。
**-****04-**总结
为了帮助开发者更好地理解 Hutool 和 Hutool AI 的使用,我还准备了相关的视频教程,帮助你更直观地学习如何集成和使用 Hutool。
尽管 Hutool 的收购背景让一些开发者有所担忧,但它的AI模块和后续的更新计划仍然为开发者带来了便利。对于那些不希望继续使用 Hutool 或者有替代需求的开发者,可以尝试使用其他成熟的开源框架如 Apache Commons 和 Google Guava。
对于开源框架的未来,我们无法预知它们的发展,但我们可以选择不断学习和适应,利用现有工具提升开发效率。希望今天的分享能够为你带来一些启发,也期待看到 Hutool 未来的发展。
**-****05-**粉丝福利
我这里创建一个程序员成长&副业交流群,
和一群志同道合的小伙伴,一起聚焦自身发展,
可以聊:
技术成长与职业规划,分享路线图、面试经验和效率工具,
探讨多种副业变现路径,从写作课程到私活接单,
主题活动、打卡挑战和项目组队,让志同道合的伙伴互帮互助、共同进步。
如果你对这个特别的群,感兴趣的,
可以加一下, 微信通过后会拉你入群,
但是任何人在群里打任何广告,都会被我T掉。