重要通知:spring-ai-hunyuan 已兼容 Spring AI 稳定版!

最近有小伙伴在使用 mvn 仓库中的 1.0.0-M6 版本时,已经遇到一些兼容性问题和未知异常。本着更好地维护 spring-ai-hunyuan 仓库,我这几天熬夜更新并整理了对 Spring AI 稳定版(即 1.0.0)的支持。

项目源码地址:
https://github.com/StudiousXiaoYu/spring-ai-hunyuan

当前已支持的功能包括:
Chat(支持流式回答与图片理解)
Embedding (文本向量生成)

混元官方的其他能力我也会逐步实现,欢迎更多小伙伴试用并通过 issue 提出反馈。如果一时联系不上我,也可以直接在相关文章下方留言,我会定期查看并及时回复。

如何使用

环境准备

确保你已安装以下工具:

JDK 17+
Maven 3.8+
腾讯云账号 + HunYuan 秘钥(Secret ID / Secret Key)

创建 Spring Boot 项目并集成

在你的 Spring Boot 项目中添加如下依赖(以 pom.xml 为例):

<dependency>
    <groupId>io.github.studiousxiaoyu</groupId>
    <artifactId>spring-ai-starter-model-hunyuan</artifactId>
    <version>1.0.0</version>
</dependency>

配置 HunYuan 参数

在 application.properties 或 application.yml 中添加 HunYuan 认证信息和模型配置:

spring.ai.hunyuan.secret-id=你的-secret-id
spring.ai.hunyuan.secret-key=你的-secret-key
spring.ai.hunyuan.chat.options.model=hunyuan-pro
spring.ai.hunyuan.embedding.options.model=hunyuan-embedding
spring.ai.hunyuan.embedding.options.dimensions=1024

编写测试代码

使用 ChatClient 发起对话

public class HunYuanService {

    private final ChatClient chatClient;

    public HunYuanService(ChatClient chatClient) {
        this.chatClient = ChatClient.builder(chatModel).build();
    }

    public String askQuestion(String question) {
        return chatClient.prompt()
                .user(question)
                .call()
                .content();
    }
}

控制器示例

@RestController
@RequestMapping("/chat")
public class ChatController {

    private final HunYuanService hunYuanService;

    public ChatController(HunYuanService hunYuanService) {
        this.hunYuanService = hunYuanService;
    }

    @GetMapping("/q")
    public String chat(@RequestParam("text") String text) {
        return hunYuanService.askQuestion(text);
    }
}

启动并测试

启动 Spring Boot 应用,访问:

http://localhost:8080/chat/q?text=你好

你应该能收到来自 HunYuan Pro 模型的回复。

总结

目前默认模型为HunYuan Pro,如果想要使用其他模型,可以自行配置model参数进行调整。如果觉得有所帮助欢迎star~~

如果还有对Spring AI未上手的小伙伴,可以查看我写的demo示例,仓库地址在:https://github.com/StudiousXiaoYu/spring-ai-courses

这个仓库包含了专栏中各个模块的源码,帮助你深入学习每个环节的内容,快速上手 Spring AI。具体的模块包括:

  • 01-course-quickstart: 快速入门,带你搭建 Spring AI 开发环境,快速了解框架基础。
  • 02-course-prompt: 了解如何高效地与 AI 进行交互,掌握 AI 提示工程的核心技能。
  • 03-course-output: 学习如何处理 AI 输出,并实现更加智能的交互功能。
  • 03-course-image_audio: 涉及图像和音频处理,展示如何将多媒体功能集成到 Spring AI 应用中。
  • 04-course-embedding: 讲解如何使用 Spring AI 进行高效的文本和数据嵌入。
  • 05-course-advisor: 理解 AI 在智能系统中的应用,并学习如何创建智能顾问系统。
  • 06-course-document: 实战操作,处理和解析文档数据,提升开发效率。
  • 07-course-function-call: 深入探讨如何在 Spring AI 中实现的函数调用和数据交互。