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

news2024/11/15 17:49:19

[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 依赖。
<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 依赖中加入如下仓库配置。

<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
@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的流行,可以学习下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【BetterBench博士】2024年华为杯E题:高速公路应急车道紧急启用模型 Python代码实现

题目 【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析 【BetterBench博士】2024年中国研究生数学建模竞赛 E题&#xff1a;高速公路应急车道紧急启用模型 问题分析 【BetterBench博士】2024年中国研究生数学建模竞赛 C题&#xff1a;数据驱动…

杰发科技——Eclipse环境安装

文件已传到网盘&#xff1a; 1. 安装文件准备 2. 安装Make 默认路径&#xff1a;C:\Program Files (x86)\GnuWin32\bin\ 不复制的话会报错 Error: Program "make" not found in PATH 3. 安装工具链 默认路径&#xff1a;C:\Program Files (x86)\Arm GNU Toolchain…

阅读CVPR论文——mPLUG-Owl2:革命性的多模态大语言模型与模态协作

读后感悟&#xff1a; 1&#xff09;实验部分非常丰富&#xff0c;并且论文中的图制作的非常精美&#xff0c;论文开篇的图制作的别出心裁&#xff0c;将几种不同的方法表现出的性能差异不是以普通的表格形式展现&#xff0c;而是制作成了一副环状折线图&#xff0c;论文中其他…

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-19

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-19 1. SAM4MLLM: Enhance Multi-Modal Large Language Model for Referring Expression Segmentation Authors: Yi-Chia Chen, Wei-Hua Li, Cheng Sun, Yu-Chiang Frank Wang, Chu-Song Chen SAM4MLLM: 增强多模…

网络通信——NAT(网络地址转换)

一.NAT是什么 1.首先运营商维护的网络时公网的&#xff0c;使用的是公网的IP地址&#xff0c;而私有的IP地址的不能的在公网上路由&#xff0c;为了保证网络互通&#xff0c;所以有了NAT技术。 2.NAT一般部署在公网和私网上的网关设备上面。 二.为什么会这样 因为你只要出到…

CAD图纸防泄密如何实现?六个措施杜绝泄密风险!

在工程设计领域&#xff0c;CAD图纸作为企业的核心机密之一&#xff0c;其安全性直接关系到企业的技术优势和商业竞争力。 然而&#xff0c;随着信息技术的不断发展&#xff0c;CAD图纸的泄密风险也日益增加。 为了确保CAD图纸的安全&#xff0c;企业必须采取一系列有效的防泄…

ubuntu下使用qt编译QOCI(libqsqloci.so)驱动详解及测试

1、系统及软件版本:ubuntu16.04LTS 安装在WMare虚拟机上,qt的版本是QT5.12.11 2、下载编译libqsqloci.so驱动所需的oracle相关sdk包和basic包,我下载的是11.2.0.4版本,下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.htm…

(done) 声音信号处理基础知识(1) (course overview)

来源&#xff1a;https://www.youtube.com/watch?viCwMQJnKk2c 声学处理应用场景如下 这个系列的内容包括如下&#xff1a; 作者的 slack 频道 油管主的 github repo: https://github.com/musikalkemist/AudioSignalProcessingForML

GRE隧道协议学习笔记

使用场景 分布在不同地理位置的总公司和分公司怎么通过网络连接起来&#xff1f; 可以使用ISP网络连接。在豆包中可以看到如下回答通俗的讲就是运营商收费提供网络服务&#xff0c;有个人的有企业的&#xff0c;企业的很贵 为什么要使用GRE隧道 当然你也可以用其他隧道协议…

使用PyTorch检测和验证多GPU环境的Python脚本

使用PyTorch检测和验证多GPU环境的Python脚本 在深度学习和机器学习中&#xff0c;GPU的计算能力对模型训练和推理的速度有着极大的影响。随着多GPU系统的普及&#xff0c;如何确保多GPU能被正确识别并使用&#xff0c;是一个非常关键的问题。本文将为大家介绍一段简洁的Pytho…

新一代图像生成E2E FT:深度图微调突破

文章地址&#xff1a;Fine-Tuning Image-Conditional Diffusion Models is Easier than You Think 项目主页&#xff1a;https://gonzalomartingarcia.github.io/diffusion-e2e-ft/ 代码地址&#xff1a;https://github.com/VisualComputingInstitute/diffusion-e2e-ft 机构&am…

【常见框架漏洞】ThinkPHP、struts2、Spring、Shiro

一、ThinkPHP 1.环境配置 靶场:vulhub/thinkphp/5-rcedocker-compose up -d #启动环境 访问靶场:http://ip:8080/index.php2.远程命令执行 执行whoami命令 poc: http://47.121.211.205:8080/index.php?sindex/think\app/invokefunction&functioncall_user_func_array&…

物联网(IoT)中基于深度学习的入侵检测系统的综合综述

这篇论文是一篇全面的综述&#xff0c;标题为“A comprehensive survey on deep learning-based intrusion detection systems in Internet of Things (IoT)”&#xff0c;作者是Qasem Abu Al-Haija和Ayat Droos。论文主要探讨了在物联网(IoT)环境中基于深度学习的入侵检测系统…

Python自动化-操作Excel

在数据处理和报表生成过程中&#xff0c;Excel是一个经常使用的工具。Python中的openpyxl库可以让您通过编程方式读取、写入和操作Excel文件&#xff0c;从而实现自动化的数据处理和报表生成。本文将介绍openpyxl库的基本用法和常见操作&#xff0c;帮助您快速上手使用Python处…

蘑菇成熟待收检测系统源码分享

蘑菇成熟待收检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

TQRFSOC开发板47DR PS端DDR4测试

本例程实现对PS端的DDR4进行测试&#xff0c;包括内存读写测试&#xff0c;读写眼图测试等。 创建vivado项目与vitis平台项目的流程与hello world相同&#xff0c;我就不在此处重复演示&#xff0c;也可以在hello world 项目基础上添加应用程序项目。在vitis中创建平台项目后新…

隐私计算相关知识

WOE&#xff08; Weight of Evidence&#xff09;编码 一种在数据分析&#xff0c;尤其是信用评分和欺诈检测等领域中常用的特征编码方法。它的主要目的是将分类变量转换为数值变量&#xff0c;从而使得模型能够更好地理解类别与目标变量之间的关系 IV&#xff08; Informatio…

二.python基础语法

目录 1.第一个python实例 2.python编码规范 2.1.编写规则 2.2.命名规范 2.3. 空格 2.4. 缩进 2.5. 注释 3.python关键字和标识符 3.1.标识符 3.2.关键字 4.python变量 4.1. 定义变量 4.2. 变量类型是可变的 4.3. 多个变量指向同一个值 5.python基本数据类型 5.…

通过组态王在ARMxy边缘计算网关上实现设备集成

随着工业4.0和智能制造理念的普及&#xff0c;设备集成已成为提高生产效率、优化资源配置的重要手段之一。ARMxy系列中的BL340边缘计算网关&#xff0c;以其强大的处理能力和丰富的接口资源&#xff0c;成为实现设备集成的理想平台。 1. BL340边缘计算网关概述 BL340系列是AR…

rce漏洞进阶-玩法思路-绕过姿态

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要是整理rce的一些绕过&#xff0c;以及思路等 用于实战中对着测漏洞用 偏进阶&#xff0c;不涉及基础的漏洞原理等内容 玩法思路 代码执行转化命令执行 遇到代码执行漏洞&#xff0c;我们可以传递syste…