阿里巴巴新推出Java版AI 应用开发框架-Spring AI Alibaba

[Spring AI Alibaba 是一款 Java 语言实现的 AI 应用开发框架,旨在简化 Java AI 应用程序开发,让 Java 开发者像使用 Spring 开发普通应用一样开发 AI 应用。Spring AI Alibaba 基于 Spring AI 开源项目构建,默认提供阿里云基础模型服务、开源及商业生态组件的集成与最佳实践。

Spring AI Alibaba 作为开发 AI 应用程序的基础框架,定义了以下抽象概念与 API,并提供了 API 与通义系列模型的适配。

  • 开发复杂 AI 应用的高阶抽象 Fluent API --- ChatClient
  • 提供多种大模型服务对接能力,包括主流开源与阿里云通义大模型服务(百炼)等
  • 支持的模型类型包括聊天、文生图、音频转录、文生语音等
  • 支持同步和流式 API,在保持应用层 API 不变的情况下支持灵活切换底层模型服务,支持特定模型的定制化能力(参数传递)
  • 支持 Structured Output,即将 AI 模型输出映射到 POJOs
  • 支持矢量数据库存储与检索
  • 支持函数调用 Function Calling
  • 支持构建 AI Agent 所需要的工具调用和对话内存记忆能力
  • 支持 RAG 开发模式,包括离线文档处理如 DocumentReader、Splitter、Embedding、VectorStore 等,支持 Retrieve 检索

以上框架功能可让您实现常见 AI 应用的快速开发,例如 "通过文档进行问答" 或 "通过文档进行聊天" 等。

开源项目地址:https://github.com/alibaba/spring-ai-alibaba

快速开始

请参考 官网文档快速开始 了解如何使用 Spring AI Alibaba 快速开发生成式 AI 应用。

总的来说,使用 Spring AI Alibaba 开发应用与使用普通 Spring Boot 没有什么区别,只需要增加 spring-ai-alibaba-starter 依赖,将 ChatClient Bean 注入就可以实现与模型聊天了。

  1. 在项目中加入 spring-ai-alibaba-starter 依赖。
xml 复制代码
<dependency>
  <groupId>com.alibaba.cloud.ai</groupId>
  <artifactId>spring-ai-alibaba-starter</artifactId>
  <version>1.0.0-M2</version>
</dependency>

注意:由于 spring-ai 相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,请在您项目的 pom.xml 依赖中加入如下仓库配置。

xml 复制代码
<repositories>
  <repository>
    <id>spring-milestones</id>
    <name>Spring Milestones</name>
    <url>https://repo.spring.io/milestone</url>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>
  1. 为你的 Spring Bean 注入 ChatClient
java 复制代码
@RestController
public class ChatController {

    private final ChatClient chatClient;

    public ChatController(ChatClient.Builder builder) {
        this.chatClient = builder.build();
    }

    @GetMapping("/chat")
    public String chat(String input) {
        return this.chatClient.prompt()
        .user(input)
        .call()
        .content();
    }
}

并给出了一些ai使用场景示例 官网https://sca.aliyun.com/

对于Java框架的添砖加瓦还是可以了,尤其是目前ai的流行,可以学习下

相关推荐
Flynt32 分钟前
从Spring Boot 4.0升到4.1,我在Maven和gRPC上栽了跟头
java·spring boot·后端
雨落Re1 小时前
如何设计一个高质量Skill
人工智能
plainGeekDev2 小时前
Activity 间传值 → Navigation 参数
android·java·kotlin
Token炼金师2 小时前
大模型权重文件全指南:从格式选择到优化实战
人工智能
plainGeekDev2 小时前
onActivityResult → ActivityResult API
android·java·kotlin
Sunia2 小时前
《AgentX 专栏》10-生产部署:3台2C4G云服务器把企业级Agent真正跑起来的完整方案
java·架构
阿牛哥_GX2 小时前
CDP 浏览器操控原理:让脚本接管你的浏览器
人工智能
ThreeS2 小时前
手搓MiniVLA全实战教程-一步一步用pytorch解释原理与思路
人工智能·python
米小虾3 小时前
Loop Engineering —— 循环的设计与自主执行
人工智能·agent
ZhengEnCi3 小时前
J7A-高级Java工程师面试三道灵魂拷问-深度广度与工程素养的终极检验
java·后端