计海龄 发表于 2025-5-30 20:20:14

Spring AI GA正式版试用感受

只花了一上午就搭建了一套向量搜索和 AI 问答+RAG 知识库 和 tools call的示例。
文档全还有示例,上手速度很快,个人感觉比 LangChain 系列好用。
完整项目在在文章末尾,如果对你有帮助请帮我点个star 。谢谢~

Spring AI 1.0 GA 功能介绍:
https://spring.io/blog/2025/05/20/spring-ai-1-0-GA-released
 
核心代码:
/**
   * 构造方法,注入必要的依赖,并配置 ChatClient
   *
   * @param builder ChatClient 构建器
   * @param chatMemory 聊天上下文记忆体
   * @param vectorStore 向量存储,用于语义检索
   * @param listObjectProvider 工具回调提供者对象列表
   */
    public AiSportSupportAssistant(
            ChatClient.Builder builder,
            ChatMemory chatMemory,
            VectorStore vectorStore,
            ObjectProvider<List<ToolCallbackProvider>> listObjectProvider) {

      this.chatBuilder = builder;
      this.vectorStore = vectorStore;
      this.listObjectProvider = listObjectProvider;

      // 配置知识库检索参数:相似度阈值为0.5,返回Top 3条
      SearchRequest searchRequest = SearchRequest.builder()
                .similarityThreshold(0.5d)
                .topK(3)
                .build();

      // 初始化 ChatClient
      this.chatClient = builder
                // 设置默认系统提示词,定义 AI 助理的身份和行为
                .defaultSystem(
                        "你是一个运动助手,帮助用户解决运动相关问题,上下文和历史信息帮助你更好了解用户需求," +
                        "但记住你不仅可以根据上下文来回答内容,而且你也可以调用工具帮助用户查询,始终遵守用户的指令。")
                // 配置对话顾问,包括记忆顾问、知识库问答顾问和日志顾问
                .defaultAdvisors(
                        MessageChatMemoryAdvisor.builder(chatMemory).build(), // 聊天记忆可以配置存储 mysql \Redis
                        QuestionAnswerAdvisor.builder(vectorStore).searchRequest(searchRequest).build(), // 向量知识库问答
                        new SimpleLoggerAdvisor()) // 简单日志
                // 配置默认工具,如时间工具
                .defaultTools(new DateTimeTools())
                // 配置默认可用工具名称
                .defaultToolNames("getStudentSportScore", "getStudentScoreRank")
                .build(); // 构建 ChatClient 实例
    } 
核心配置配置:
spring:
# api-key (项目测试使用是DeepSeek和阿里embedding https://bailian.console.aliyun.com/?tab=model)
ai:
    openai:
      api-key: sk-
      base-url: https://api.deepseek.com
      chat:
      options:
          model: deepseek-chat
      embedding:
      base-url: https://dashscope.aliyuncs.com/compatible-mode
      api-key: sk-
      options:
          model: text-embedding-v3
          dimensions: 1024
    vectorstore:
      milvus:
      client:
          host: "localhost"
          port: 19530
          username: "root"
          password: "milvus"
      databaseName: "default"
      collectionName: "vector_store"
      embeddingDimension: 1024
      indexType: IVF_FLAT
      metricType: COSINE
      initialize-schema: true
    chat:
      memory:
      repository:
          jdbc:
            initialize-schema: never 
 
项目参考:
https://github.com/git-syl/spring-ai-rag-toolscall-demo/

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

稼布欤 发表于 2025-10-16 00:02:33

不错,里面软件多更新就更好了

轧岔 发表于 2025-10-20 08:11:18

喜欢鼓捣这些软件,现在用得少,谢谢分享!

娄静曼 发表于 2025-10-22 00:43:54

过来提前占个楼

各卧唯 发表于 2025-10-22 14:51:51

东西不错很实用谢谢分享

柩通奉 发表于 2025-11-6 05:21:36

感谢分享,下载保存了,貌似很强大

抽厉 发表于 2025-12-3 00:36:09

热心回复!

咚獭 发表于 2025-12-17 07:37:20

感谢分享

挫莉虻 发表于 2025-12-21 07:00:09

感谢分享

忙贬 发表于 2026-1-7 05:45:14

懂技术并乐意极积无私分享的人越来越少。珍惜

客臂渐 发表于 2026-1-12 13:15:02

分享、互助 让互联网精神温暖你我

万俟谷雪 发表于 2026-1-15 00:48:23

东西不错很实用谢谢分享

碛物 发表于 2026-1-19 13:01:34

懂技术并乐意极积无私分享的人越来越少。珍惜

株兆凝 发表于 2026-1-20 17:26:56

谢谢分享,试用一下

杠氯 发表于 2026-1-21 05:12:10

收藏一下   不知道什么时候能用到

崔竹 发表于 2026-1-21 16:07:56

感谢分享

拼潦 发表于 2026-1-22 02:28:28

东西不错很实用谢谢分享

郜庄静 发表于 2026-1-23 07:23:15

感谢发布原创作品,程序园因你更精彩

艋佰傧 发表于 2026-1-23 09:29:30

喜欢鼓捣这些软件,现在用得少,谢谢分享!

蔬陶 发表于 2026-1-24 06:24:54

东西不错很实用谢谢分享
页: [1] 2 3
查看完整版本: Spring AI GA正式版试用感受