被卖的Hutool出AI模块了!它如何让Java调用大模型变得如此简单?

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

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以后的走向,无论是走向商业还是继续保持开源,我们都可以从工具的设计理念中得到一些启发。

相关推荐
.Bryce.1 分钟前
你了解 Blackboard(黑板系统)吗?听说过基于黑板系统实现的智能体吗?
java·网络·gpt·php·agent·codex·黑板系统
猿究院_夏燊7 小时前
Spring Bean 生命周期
java·后端·spring
Wang's Blog7 小时前
Java 项目实战: 交友项目:登录链路回顾与今日任务地图
java·开发语言·状态模式·交友
信誓旦旦的程序猿8 小时前
【Python量化实战宝典 #08】可转债与债券接口手册:转股价·溢价率·纯债价值(Python 可跑)
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
砚底藏山河8 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
Jlzn88888 小时前
华东电芯分选通道数怎么配才不堵线
java·人工智能·架构·自动化·制造
香吧香8 小时前
GRPC连接机制---长连接分析
java·网络与传输协议
CCblandy8 小时前
雪花 ID 四个边界实测:时钟回拨重号 500 个,前端 JSON.parse 直接丢精度
后端·python·算法·性能优化·架构
我是人✓8 小时前
SpringBoot项目的五种创建方式
java·spring boot·后端
Wang's Blog9 小时前
Java 项目实战: 交友项目 - 阿里云 OSS 入门案例:从创建 Bucket 到上传拿到可访问 URL
java·阿里云·交友