本文介绍Spring的一级项目Spring AI
简介:
Spring AI 是一个用于 AI 工程的应用程序框架。其目标是将 Spring 生态系统的设计原则(如可移植性和模块化设计)应用于 AI 领域,并推动将 POJO(Plain Old Java Objects,简单老式 Java 对象)作为应用程序的构建块引入到 AI 领域。
主要特性:
支持跨 AI 提供商的便携式 API,用于聊天、文本到图像和嵌入模型。同时支持同步和流 API 选项。也支持降级以访问特定于模型的特性。
目录
1、安装Spring CLI,然后,在你的shell中运行该命令。
一、支持的聊天模型主要有
1、Amazon Bedrock
Amazon Bedrock是亚马逊云科技(AWS)推出的一项完全托管的服务,专为构建和扩展生成式人工智能(AI)应用程序而设计
2、Google Vertex AI
Google Vertex AI是谷歌云(Google Cloud)推出的一项全托管式AI平台,旨在帮助开发者和企业简化和加速AI模型的开发、训练、部署和管理。
3、OpenAI
这个大家都比较熟悉就不介绍了
4、QianFan
百度智能云的千帆平台是一个一站式的大模型开发和服务运营平台,为企业开发者提供了包括多种模型在内的服务。这些模型可能包括百度自研的如文心一言(ERNIE-Bot)等,以及第三方开源模型。
5、 Watsonx.AI
IBM 推出的一款专为企业设计的 AI 和数据平台,它集成了基础模型支持的全新生成式 AI 功能和传统机器学习 (ML) 功能,旨在通过整个企业的可信数据来扩展和加速 AI 的影响力。
二、文本到图像模型
1、OpenAI with DALL-E
一款在图像生成领域具有革命性的人工智能模型,其结合了深度学习和生成对抗网络(GAN)的原理,能够根据用户输入的描述生成高质量、富有创意的图像。
- 名称由来:DALL-E 的名字来源于著名的画家 Salvador Dalí 和 Pixar 的动画电影《Wall-E》,寓意着它在艺术创造和机器智能方面的结合。
- 核心技术:DALL-E 的核心技术基于变分自编码器(VAE)和 GPT(Generative Pre-trained Transformer)模型。VAE 是一种生成模型,能够学习数据的潜在表示;GPT 则是一种在自然语言处理领域非常成功的模型,能够理解和生成自然语言文本。
2、StabilityAI
一家全球领先的开源生成式AI公司,其核心技术和产品广泛应用于图像、文本、代码等多个领域。
核心技术:
Stable Diffusion:这是Stability AI最为知名的图像生成模型,能够从文本描述中生成逼真的图像。Stable Diffusion使用了一种基于扩散的生成模型,通过迭代扩散高斯噪声来生成高质量、高分辨率的图像。该技术使得Stability AI在图像生成领域取得了显著成就,并广泛应用于数字艺术、计算机视觉和视频游戏等领域。
StableLM:这是Stability AI在自然语言处理领域的贡献。StableLM在基于The Pile的海量数据集上进行训练,具备高性能的对话和编码能力,尽管其参数少于GPT-3等其他大型语言模型。
Stable Fast 3D:作为Stability AI的最新成果,Stable Fast 3D能够在半秒内生成3D图像,速度提升了1200倍。这一技术革新使得3D图像的生成变得更加高效和便捷,具有广泛的应用前景。
三、转录(音频到文本)模型
-
OpenAI
四、嵌入模型
Embedding Models(嵌入模型)是一类在人工智能领域,特别是在自然语言处理(NLP)、推荐系统、计算机视觉等领域广泛应用的机器学习模型。它们的核心功能是将高维、离散的输入数据(如词汇、类别标签、节点或实体)映射到低维、连续的向量空间中。这些向量(即embeddings)通常具有丰富的语义信息,并能够捕捉原始数据之间的潜在关系和相似度。
Embedding Models通过将输入数据(如文本、图像等)转换为连续向量空间中的点,使得模型能够学习到数据之间的语义和语法关系。在自然语言处理中,Embedding技术允许将单词、句子或文档转换为连续的数值向量,从而便于机器学习算法处理。这些向量能够捕捉词汇之间的语义信息,使得相似意义的词在向量空间中距离较近,而不同意义的词距离较远。
应用场景有:
- 自然语言处理(NLP)
- 推荐系统
- 计算机视觉
- 知识图谱
1、Azure OpenAI
Azure OpenAI是微软(Microsoft)与OpenAI合作推出的人工智能服务,该服务通过Azure云平台提供OpenAI的先进模型和技术。
2、Mistral AI
Mistral AI是一家由前DeepMind和Meta Platforms(META.US)研究人员组建的初创公司,致力于构建大型通用人工智能(AGI)模型。
Mistral AI被视为OpenAI在欧洲的主要竞争对手,其开源大模型在欧洲市场引起了广泛关注。
3、MiniMax
MiniMax是一家成立于2021年12月的通用人工智能科技公司,总部位于中国,致力于成为通用人工智能时代的基础设施建设者和内容应用创造者。
MiniMax自主研发了不同模态的通用大模型,包括万亿参数的MoE文本大模型、语音大模型以及图像大模型。
基于这些通用大模型,MiniMax推出了生产力工具海螺AI、沉浸式AI内容社区星野等原生应用。
产品:包括Glow(虚拟聊天AI应用)、Inspo(生成式对话AI)、AI智能助手万卷、AI社交软件星野以及AI语音对话助手海螺问问。其中,abab6是国内首个数千亿参教级别MoE大语言模型,在性能上已接近GPT-4、Claude-3和Gemini-1.5等最顶尖大模型。
4、Ollama
Ollama是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。
特点:
1)简化部署
- Ollama使用Docker容器技术来简化大型语言模型的部署和管理。用户只需简单的命令即可启动和停止模型,无需担心底层的复杂性。
- 它将模型权重、配置和数据捆绑到一个包中,称为Modelfile,这有助于优化设置和配置细节,包括GPU使用情况。
2)丰富的模型库
- Ollama提供了丰富的预训练模型库,涵盖了各种自然语言处理任务,如文本生成、翻译、问答等。用户可以轻松地选择和使用所需的模型。
- 支持多种大型语言模型,如Llama 2、Code Llama、Mistral、Gemma等,并允许用户根据特定需求定制和创建自己的模型。
3)跨平台支持
- Ollama支持多种操作系统,包括Windows(预览版)、macOS和Linux,能够满足不同用户的需求。
4)灵活的自定义
- Ollama提供了灵活的自定义选项,允许用户根据自己的需求调整模型的行为。
5)离线使用
- Ollama可以让用户在离线环境下使用LLM,这对于隐私敏感或网络连接不稳定的情况非常有用。
6)降低成本
- 通过在本地运行模型,Ollama可以帮助用户降低使用LLM的成本,避免云服务的高昂费用。
7)提高安全性
- Ollama可以提高LLM使用的安全性,因为它允许用户完全控制自己的数据和模型。
5、PostgresML
PostgresML 是 PostgreSQL 的一个机器学习扩展,它支持生成式AI,使得用户能够通过SQL查询对文本和表格数据执行训练和推理任务。以下是关于 PostgresML 的详细介绍:
1)概述
- 功能定位:PostgresML 作为 PostgreSQL 的扩展,将机器学习功能无缝集成到数据库系统中,允许用户直接在数据库内部应用机器学习算法,而无需将数据导出到其他工具或平台进行处理。
- 应用场景:适用于需要高效处理大量数据并进行实时分析和预测的场景,如金融、电商、物联网等领域。
2)主要特点
- 支持多种机器学习算法:PostgresML 提供了丰富的机器学习算法支持,包括分类、回归、聚类等多种类型的算法,满足用户不同的数据分析需求。
- 无缝集成:通过 SQL 查询即可实现数据的训练和推理,无需额外的编程或配置工作,降低了机器学习应用的门槛。
- 高效处理:直接在数据库内部执行机器学习任务,减少了数据传输和处理的延迟,提高了整体效率。
- 扩展性强:PostgresML 可以与其他 PostgreSQL 扩展(如 PostGIS)结合使用,为用户提供更全面的数据处理和分析能力。
3)功能应用
- 文本处理:支持自然语言处理(NLP)任务,如情感分析、问答、翻译、摘要和文本生成等。用户可以轻松地从 Hugging Face 模型中心访问 1000 种最先进的语言模型,如 GPT-2、GPT-J、GPT-Neo 等,以执行各种 NLP 任务。
- 表格数据处理:支持对表格数据进行分类和回归等机器学习任务的训练和推理。用户可以使用 SQL 查询来训练模型,并使用训练好的模型对新的数据进行预测。
4)使用示例
- 文本翻译:使用 SQL 查询执行文本翻译任务,如将英文文本翻译为法语文本。
- 情感分析:通过 SQL 查询对文本进行情感分析,判断文本的情感倾向是正面还是负面。
- 模型训练:使用 SQL 查询训练分类模型,如手写数字图像分类器,并选择合适的算法(如 XGBoost)进行训练。
5)安装与配置
PostgresML 的安装由三部分组成:PostgreSQL 数据库、用于机器学习的 Postgres 扩展和仪表板应用程序。用户可以通过 Docker 容器化服务来安装和配置 PostgresML,以便快速部署和使用。
五、 向量存储API
提供跨不同提供商的可移植性,具有一种新颖的类似SQL的元数据过滤API,以维持可移植性。
六、向量数据库
1、PGvector
2、Neo4j
3、Elasticsearch
4、MongoDB Atlas
5、Chroma
6、Azure AI Service
7、Apache Cassandra
七、快速开始
1、安装Spring CLI,然后,在你的shell中运行该命令。
spring boot new --from ai --name myai
这个命令会为你创建一个新的应用程序,以便你开始与ChatGPT进行基本的交互。只需按照生成的README文件中的说明来获取你的API密钥,然后
2、运行应用
./mvw spring-boot:run
3、访问地址
localhost:8080/ai/simple