关注我的公众号:【编程朝花夕拾】,可获取首发内容。
01 引言
Hutool这款工具开源依赖备受瞩目,争议也不断。尤其2025年2月由开源组织Dromara迁出,被贵州不够科技有限公司(chinabugotech)收购更是引起了不少的关注。
Hutool以其极简的API风格,收到广大开发者的喜爱。喜欢的喜欢的不行,嫌弃的也不在少数。嫌弃的觉得不安全、Bug多等。总之仁者见仁智者见智,众说纷纭。
我们暂且不去评论。今天来介绍一下被收购后新增的一个全新模块Hutool-ai,融合了主流的大模型,不再依赖框架,调用大模型就像调用一般方法一样简单,降低使用门槛。
02 简介

Hutool-ai是在5.8.38版本里面新增的模块,是 Hutool 工具库中用于对接各大 AI 模型的工具模块,提供了统一的 API 接口来访问不同的 AI 服务。目前支持 DeepSeek、OpenAI、Grok、Ollama 和豆包等主流 AI 大模型。

截止小编更新(2025.10.30),Hutool的版本已经到5.8.41了。
官方文档:hutool.cn/
GitHub地址:github.com/chinabugote...
Gitee地址:gitee.com/chinabugote...
03 小试牛刀
Hutool的每个模块都是可以单独引入的,为了方便,小编直接引入所有的模块。
3.1 Maven依赖
xml
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.41</version>
</dependency>
也可以单独引入AI的模块。
xml
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-ai</artifactId>
<version>${latest.version}</version>
</dependency>
3.2 调用测试
Deepseek调用
java
@Test
void test01() {
String chat = AIUtil.chat(new AIConfigBuilder(
ModelName.DEEPSEEK.getValue())
.setApiUrl("https://api.deepseek.com/v1")
.setApiKey("******")
.setModel("deepseek-chat")
.build(), "夸一下帅气的我");
System.out.println(chat);
}
需要指定apiKey和模型。

Ollama调用
java
String apiUrl = "http://127.0.0.1:11434";
String model = "qwen2.5:3b";
@Test
void test03() {
String chat = AIUtil.chat(new OllamaConfig(apiUrl, model), "夸一下帅气的我");
System.out.println(chat);
}

也可以通过调用具体的服务:
java
@Test
void test02() throws IOException {
OllamaService ollamaService = AIUtil.getAIService(
new OllamaConfig(apiUrl, model),
OllamaService.class);
System.out.println(ollamaService);
ollamaService.generate("夸一下帅气的我", (result) -> {
System.out.println(result);
});
// 阻塞程序结束,等待Tokens返回
System.in.read();
}

3.3 AIUtil源码解读

AIUtil真正调用的方法只有chat()大模型对话功能。也就是最终返回所有的tokens
其他的方法分别获取具体的大模型服务如:Deepseek、豆包、Grok、OpenAI等。
其中AIConfig为具体的配置,可以通过具体的实现,也可以通过AIConfigBuilder构建自己的模型配置。
以下是具体的实现:

04 小结
Hutool-AI无疑降低了大模型调用的门槛,给使用者带来了很大的方便。我们不管Hutool以后的走向,无论是走向商业还是继续保持开源,我们都可以从工具的设计理念中得到一些启发。