Spring推出Spring AI框架,看看怎么个事

news2024/11/26 11:49:37

文章目录

    • 概述
    • SpringAI介绍
    • Spring AI 提供以下功能
    • 支持的聊天模型有哪些
    • 支持的文生图的模型有哪些
    • 支持的音频到文本模型
    • 支持的嵌入模型有哪些
    • 支持的矢量数据库有哪些

概述

在当今快速发展的技术时代,人工智能(AI)已经成为各行各业的关键驱动力。而作为一种领先的Java应用开发框架,Spring Framework在软件开发领域享有盛誉。下面跟着我一起去了解Spring AI的庐山真面目吧。

官网地址如下:https://spring.io/projects/spring-ai#learn
文档地址如下:https://docs.spring.io/spring-ai/reference/index.html
在这里插入图片描述可以看到现在SpringAI出了一个预览版和一个快照版,GA版尚未发布,大家伙可以提前学习,等GA版发布再行使用最佳。

GA指的是 General Availability,意为正式发布的版本,推荐使用(主要是稳定),与maven的releases类似;
PRE指的是预览版,主要提供给开发测试人员找bug的。
SNAPSHOT指的是快照版,会在此版本上持续更新,与maven的SNAPSHOT类似。

SpringAI介绍

Spring AI 是 AI 工程的应用框架。其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI 领域,并促进使用 POJO 作为应用程序的构建块到 AI 领域。

Spring AI 提供以下功能

  1. 支持所有主要模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Hugging Face。
  2. 支持的模型类型包括聊天、文本到图像、音频转录、文本到语音等。
  3. 适用于所有模型的跨 AI 提供商的可移植 API。支持同步和流式 API 选项。还支持下拉以访问特定于模型的功能。
  4. 将 AI 模型输出映射到 POJO。
  5. 支持所有主要的矢量数据库提供商,例如 Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate。
  6. 跨 Vector Store 提供商的可移植 API,包括一种新颖的类似 SQL 的元数据过滤器 API,它也是可移植的。
  7. 函数调用。
  8. 用于 AI 模型和向量存储的 Spring Boot 自动配置和启动器。
  9. 数据工程的 ETL 框架。

支持的聊天模型有哪些

支持的聊天模型,有国外的、国内的、托管在平台上的和运行在自己硬件上的,还是比较齐全的。

模型名称公司简介
Amazon Bedrock亚马逊云科技亚马逊云科技推出的一项完全托管的服务。
Anthropic Claud由OpenAI 前研究副总裁达里奥·阿莫迪等人于创立Claude 是由 Anthropic 开发的一系列大型语言模型。
Azure Open AI微软云Azure Open AI 是微软结合其 Azure 云平台功能与 Open AI 的人工智能模型所推出的服务。
Google Vertex AI谷歌云Google Vertex AI 是谷歌云发布的一款机器学习开发平台。
GroqGroq是一家专注于提高人工智能计算速度的创新公司Groq推出的世界上最快的大模型,每秒可以输出近500个token,其性能是GPT-4的18倍。
HuggingFace开源人工智能创业公司构建了庞大的社区 Hugging Face Hub。其提供的模型和数据集等资源可以通过类似 GitHub 的模型仓库进行管理,使用方式也较为简便。
MistralAI人工智能初创企业Mistral AI 与微软达成了合作,成为继 OpenAI 后第二个能在微软云服务 Azure 上提供大模型服务的公司。
MiniMax该公司是国内唯一一家拥有文本、语音、视觉多种模态融合的通用大模型引擎能力并打通产品全链路的科技创业公司。公司的部分产品如下:1、Glow:基于大模型面向 to C 在虚拟聊天领域的应用 2、Inspo:自主开发的生成式对话 AI 3、星野:AI 社交应用
Moonshot AI国内的大模型创业公司在2023年10月9日宣布在“长文本”领域实现突破,推出了首个支持输入20万汉字的智能助手产品 Kimi Chat 。
Ollama它允许用户在自己的硬件环境中轻松部署和使用大规模预训练模型
OpenAIOpenAI 是一家人工智能研究公司开发了一系列具有影响力的语言模型,如 GPT-3、GPT-4 等。这些模型在自然语言处理任务中表现出色,包括文本生成、问答、翻译、摘要等。
QianFan百度智能云千帆大模型平台百度智能云千帆大模型平台是文心大模型企业级服务的唯一入口,是一站式企业级大模型平台,提供先进的生成式 AI 生产及应用全流程开发工具链。
ZhiPu AI北京智谱华章科技有限公司智谱 AI 是北京智谱华章科技有限公司打造的新一代认知智能大模型。
Watsonx.AIIBMWatsonx 是 IBM 推出的一个人工智能和数据平台。

支持的文生图的模型有哪些

OpenAI 的文生图大家很熟悉了,Stability AI呢有大名鼎鼎的Stable Diffusion,是不是很熟悉呢。
1、OpenAI 的DALL-E。
2、Stability AI。

支持的音频到文本模型

现在只支持OpenAI的,后面可能会支持其他公司的,毕竟SpringAI框架还在开发中。
1、OpenAI

支持的嵌入模型有哪些

Embedding Models(嵌入模型)是一类机器学习模型,其主要功能是将高维、离散的输入数据(如词汇、类别标签、节点或实体等)映射到低维、连续的向量空间中。

嵌入是文本、图像或视频的数字表示,用于捕捉输入之间的关系。
嵌入的工作原理是将文本、图像和视频转换为浮点数数组(称为向量)。这些向量旨在捕捉文本、图像和视频的含义。嵌入数组的长度称为向量的维数。
通过计算两段文本的向量表示之间的数值距离,应用程序可以确定用于生成嵌入向量的对象之间的相似性。

在这里插入图片描述作为探索 AI 的 Java 开发人员,没有必要理解这些矢量表示背后的复杂数学理论或具体实现。对它们在 AI 系统中的作用和功能有基本的了解就足够了,特别是当您将 AI 功能集成到您的应用程序中时。

  • Azure OpenAI
  • Amazon Bedrock
    • Cohere
    • Titan
  • Azure OpenAI
  • Mistral AI
  • MiniMax
  • Ollama
  • (ONNX) Transformers
  • OpenAI
  • PostgresML
  • QianFan
  • VertexAI
    • Text
    • Multimodal
    • PaLM2
  • ZhiPu AI

支持的矢量数据库有哪些

  1. Azure AI Service:微软提供的云服务,涵盖多种人工智能功能,包括但不限于机器学习、自然语言处理等。在矢量数据处理方面,提供了强大的计算资源和工具,适合大规模数据处理和企业级应用。
  2. Apache Cassandra:一种高度可扩展的分布式数据库,常用于处理大量结构化数据。虽然不是专门的矢量数据库,但可以通过适当的设计和扩展来存储和处理矢量数据。
  3. Chroma:一个轻量级的本地矢量数据库,易于安装和使用,适用于小型项目和快速原型开发。
  4. Elasticsearch:广泛使用的搜索引擎和数据分析平台,能够高效处理和检索矢量数据,常用于构建大规模的搜索和分析应用。
  5. GemFire:一款分布式数据管理平台,提供了高并发、低延迟的数据处理能力,可用于构建复杂的矢量数据存储和查询系统。
  6. Milvus:专为处理海量矢量数据而设计的开源数据库,支持高效的相似性搜索和向量运算,在图像、音频、文本等领域有广泛应用。
  7. MongoDB Atlas:云托管的 MongoDB 服务,具有灵活的数据模型,可通过适当的方式存储和操作矢量数据,适用于多种应用场景。
  8. Neo4j:图数据库,主要用于处理关系型数据,对于某些具有复杂关系的矢量数据场景可能会有特殊的应用价值。
  9. OpenSearch:开源的搜索和分析引擎,类似于 Elasticsearch,能够有效地处理和检索矢量数据,为应用提供搜索和分析功能。
  10. Oracle:成熟的企业级数据库管理系统,通过适当的配置和扩展可以处理矢量数据,但可能在某些特定场景下不如专门的矢量数据库高效。
  11. PGvector:PostgreSQL 的扩展,用于在关系数据库中处理矢量数据,方便与现有 PostgreSQL 应用集成。
  12. Pinecone:专门的矢量数据库服务,提供了高性能的矢量搜索和存储功能,适用于大规模的机器学习和人工智能应用。
  13. Qdrant:开源的矢量数据库,专注于高效的向量存储和检索,支持多种索引类型和查询方式。
  14. Redis:内存数据结构存储系统,常用于缓存和快速数据访问,也可以通过一些扩展来处理简单的矢量数据。
  15. SAP Hana:企业级内存数据库,具有高性能和实时分析能力,可用于处理矢量数据,但通常应用于特定的企业业务场景。
  16. Typesense:轻量级的搜索引擎,能够处理矢量数据,适合构建快速、简单的搜索应用。
  17. Weaviate:开源的矢量数据库,支持多种数据类型和复杂的查询操作,为人工智能应用提供数据存储和检索服务。

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

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

相关文章

Linux——awk操作符

[rootlocalhost ~] # awk BEGIN{x2;y3;print x**y,x^y,x*y,x/y,xy,x-y,x%y} 8 8 6 0 .666667 5 -1 2 赋值运算符 条件运算符 awk 中的条件运算符只有一个,其语法如下: expression?value1:value2 这是一个三目运算符,当表达式 expre…

#三元运算符(python/java/c)

引入:什么是三元运算符呢?无疑其操作元有三个,一个是条件表达式,剩余两个为值,条件表达式为真时运算取第一个值,为假时取第二个值。 一 Python true_expression if condition else false_expressi…

网络通讯实验报告

拓扑图 需求 1、通过DHCP服务,给PC4和PC5分配IP地址、网关、掩码、DNS服务器IP地址 2、Client-1要求手工配置IP地址,为192.168.1.1, c 3、telnet客户端可以远程登录telnet服务器进行设备管理,并成功修改telnet服务器的名字为123 &#xff0c…

两轮差速拖动机械臂瞄准接收口目标

下图所示,关节2为无动力旋转关节,关节4为无动力移动关节,关节5为旋转关节,差速轮可绕轮中心点4自由旋转,差速轮带动2和4关节运动。设计差速轮和机械臂解算方法,使其相互配合到达接收口,瞄准目标…

树上前缀和树状数组结合

怎么去分析这个题目&#xff0c;一开始我想的就是暴力dfs&#xff0c;接着枚举删除的节点&#xff0c;但是只过了百分之四十个点&#xff0c;代码如下&#xff1a;(这个代码有点像树形dp&#xff09; #include<bits/stdc.h> using namespace std;#define int long long c…

SHL笔试测评题型题库大揭秘适用公司通过技巧神助攻

⭕SHL题库外企应用的比较多&#xff0c;整体来看分为三类。 ✅第一类是综合能力&#xff0c;考察综合素质&#xff0c;要求36分钟完成24道题&#xff0c;适用范围最广。题型有安排时间问题、比例题、记忆题、排序题、日历题、图形变换题、图形推理题、拖线条题等等&#xff0c…

Linux_生产消费者模型

目录 1、生产消费者模型示意图 2、生产者消费者之间的关系 3、定义交易场所 4、实现生产消费者模型 5、伪唤醒 6、多生产多消费者的实际运用 7、POSIX信号量 7.1 初始化信号量 7.2 销毁信号量 7.3 等待信号量 7.4 发布信号量 8、生产消费的环形队列模型 8.1…

接口测试之测试原则、测试用例、测试流程详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、接口的介绍 软件测试中&#xff0c;常说的接口有两种&#xff1a;图形用户接口&#xff08;GUI&#xff0c;人与程序的接口&#xff09;、应用程序编程接口&…

AWS云服务器购买:亚马逊云服务器的价格真的那么贵吗?一年要花多少钱?

亚马逊云服务器是全球领先的云计算服务提供商之一&#xff0c;其服务覆盖全球多个地区&#xff0c;拥有众多的客户和合作伙伴。然而&#xff0c;对于很多人来说&#xff0c;AWS的价格一直是一个热门话题。那么&#xff0c;亚马逊云服务器的价格真的那么贵吗&#xff1f;一年要花…

python爬虫Selenium模块及测试案例详解

什么是selenium&#xff1f; &#xff08;1&#xff09;Selenium是一个用于Web应用程序测试的工具。 &#xff08;2&#xff09;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 &#xff08;3&#xff09;支持通过各种driver&#xff08;FirfoxDrive…

粘包问题、mmap和分片上传

一、粘包问题&#xff1a; 如果一端要把文件发给另一端&#xff0c;要发送两个部分的数据&#xff1a;其一是文件名&#xff0c;用于对端创建文件&#xff1b;另一个部分是文件内容。服务端在接收文件名&#xff0c;实际上并不知道有多长&#xff0c; 所以它会试图把网络缓冲区…

怎么把照片变漫画?学会这几招让照片秒变漫画

在这个追求图片创意与趣味性的时代&#xff0c;照片的“变身”游戏正悄然风靡。 从滤镜的巧妙运用到拍摄姿势的创新突破&#xff0c;人们不断探索着让照片焕发新生的无限可能。 而今&#xff0c;一股将照片转化为漫画风格的新潮流正席卷而来&#xff0c;它不仅保留了照片的记…

【PPT方案】大数据湖建设方案

背 景&#xff1a;大数据湖的发展背景与建设理念 体 系&#xff1a;大数据湖体系规划与建设思路 生态圈&#xff1a;探索新兴业务入湖建设模式 共 享&#xff1a;大数据湖统一访问共享规划 运 营&#xff1a;大数据湖一体化运营管理建设 软件全套资料部分文档清单&…

恐怖数字暗影:猜中才能逃离

大家可以看看这个&#xff0c;也很有意思&#xff01; 猜数字游戏&#xff08;老六版&#xff09;-CSDN博客 1、 剧情介绍 在一个阴暗潮湿的古堡中&#xff0c;你独自一人走进了一间散发着诡异气息的房间。房间的正中央有一张古老的桌子&#xff0c;上面放着一本泛黄的羊皮卷…

Java二十三种设计模式-装饰器模式(7/23)

装饰器模式&#xff1a;动态扩展功能的灵活之选 引言 装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;用于在不修改对象自身的基础上&#xff0c;通过添加额外的职责来扩展对象的功能。 基础知识&#xff0c;java设计模式总体来说设计…

MT19937

MT19937 文章目录 MT19937题型1 逆向extract_number[SUCTF2019]MT 题型2 预测随机数[GKCTF 2021]Random 题型3逆向twist[V&N2020 公开赛]Backtrace 题型4 逆向init扩展题型WKCTF easy_random 现成模块randcrack库Extend MT19937 Predictor库 MT19937是一种周期很长的伪随机…

【C++】深刻基础笔记

目录 关于debug&#xff1a; 多文件编译&#xff1a; 编译器工作原理 预处理&#xff1a; 如何将机器二进制转换成可以看懂的文件 链接器的工作原理 Pointers指针 Reference引用 C线程 程序如何从源文件变成exe可执行文件&#xff1f; 首先是预处理器#include <..…

斐波那契数列的多种解法 C++实现,绘图部分用Python实现

斐波那契数列的多种解法 C实现&#xff0c;绘图部分用Python实现 flyfish 斐波那契数列&#xff08;Fibonacci sequence&#xff09;是一个经典的数列&#xff0c;定义如下&#xff1a; { 0 if n 0 1 if n 1 F ( n − 1 ) F ( n − 2 ) if n > 1 \begin{cases} 0 &…

c++网络编程实战——开发基于ftp协议的文件传输模块(二) 配置ftp服务与手动执行ftp命令

配置FTP服务 一.前言 博主的环境是阿里云服务器&#xff0c;操作系统版本为 ubuntu20.04,一下所有操作都基于以上环境下进行的操作&#xff0c;同时为了简化操作我将开放同一个云服务器的不同端口&#xff0c;让它同时充当服务端和客户端&#xff0c;大家如果想测试效果更好且…

Java基础:类与对象,递归,方法

类与对象的区别和联系 1.类是抽象的,概念的他是数据类型 2.对象是具体的实际的,代表一个具体事务 3.类是对象的模板,对象是类的个体 **对象在内存中的存在形式** 基本数据类型在堆,引用类型如String,数组在方法区 对象的属性 属性基本说明 1.成员变量or成员属性 属性的定…