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

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

01 引言

Hutool这款工具开源依赖备受瞩目,争议也不断。尤其2025年2月由开源组织Dromara迁出,被贵州不够科技有限公司(chinabugotech)收购更是引起了不少的关注。

Hutool以其极简的API风格,收到广大开发者的喜爱。喜欢的喜欢的不行,嫌弃的也不在少数。嫌弃的觉得不安全、Bug多等。总之仁者见仁智者见智,众说纷纭。

我们暂且不去评论。今天来介绍一下被收购后新增的一个全新模块Hutool-ai,融合了主流的大模型,不再依赖框架,调用大模型就像调用一般方法一样简单,降低使用门槛。

02 简介

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

其中AIConfig为具体的配置,可以通过具体的实现,也可以通过AIConfigBuilder构建自己的模型配置。

以下是具体的实现:

04 小结

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

相关推荐
一点技术12 分钟前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
datalover12 分钟前
CompletableFuture 使用示例
java·开发语言
RANCE_atttackkk44 分钟前
Springboot+langchain4j的RAG检索增强生成
java·开发语言·spring boot·后端·spring·ai·ai编程
hello 早上好1 小时前
03_JVM(Java Virtual Machine)的生命周期
java·开发语言·jvm
夕除1 小时前
js--7
java
布谷歌1 小时前
面试题整理
java·开发语言
爬山算法1 小时前
Hibernate(74)如何在CQRS架构中使用Hibernate?
java·架构·hibernate
jjjava2.02 小时前
深入解析Set与Map的奥秘
java·开发语言
白宇横流学长2 小时前
基于Java的火车票订票系统的设计与开发
java·开发语言
黎雁·泠崖2 小时前
Java核心基础API学习总结:从Object到包装类的核心知识体系
java·开发语言·学习