首页 > 其他分享 >1、【AI技术新纪元:Spring AI解码】Spring AI 应用框架

1、【AI技术新纪元:Spring AI解码】Spring AI 应用框架

时间:2024-03-20 18:33:31浏览次数:21  
标签:框架 AI Spring 解码 API 文档 模型

Spring AI 应用框架

Spring AI 是面向人工智能工程的应用框架。其目标是将Spring生态系统的设计原则如可移植性和模块化设计应用于AI领域,并推广使用POJOs(Plain Old Java Objects,简单旧式Java对象)作为应用程序的构建块。

特点

  • 跨AI提供商的可移植API支持,涵盖聊天、文本到图像以及嵌入模型。
  • 支持同步和流API选项。
  • 支持特定模型特性的深入访问。
聊天模型
  • OpenAI
  • Azure Open AI
  • Amazon Bedrock
  • Cohere’s Command
  • AI21 Labs’ Jurassic-2
  • Meta’s LLama 2
  • Amazon’s Titan
  • Google Vertex AI Palm
  • Google Gemini
  • HuggingFace - 访问包括Meta的Llama2在内的数千种模型
  • Ollama - 在本地机器上运行AI模型
  • MistralAI
文本到图像模型
  • OpenAI with DALL-E
  • StabilityAI
转录模型(音频到文本)
  • OpenAI
嵌入模型
  • OpenAI
  • Azure OpenAI
  • Ollama
  • ONNX
  • PostgresML
  • Bedrock Cohere
  • Bedrock Titan
  • Google VertexAI
  • Mistal AI
向量存储 API

提供跨不同提供商的可移植性,特色是类似SQL的元数据过滤API,维持可移植性。

向量数据库
  • Azure Vector Search
  • Chroma
  • Milvus
  • Neo4j
  • PostgreSQL/PGVector
  • PineCone
  • Redis
  • Weaviate
  • Qdrant
Spring Boot 自动配置和AI模型及向量存储启动器
函数调用

您可以声明java.util.Function实现以用于OpenAI模型的提示响应。可以直接提供这些函数作为对象,或者在应用上下文中注册为@Bean后引用它们的名称。此功能最大限度地减少不必要的代码,并使AI模型能够请求更多信息以完成其响应。

支持的模型包括:

  • OpenAI
  • Azure OpenAI
  • VertexAI
  • Mistral AI
ETL框架用于数据工程

核心功能是使用向量存储将文档传输到模型提供商。ETL框架基于Java功能性编程概念,帮助您串联多个步骤。我们支持读取各种格式的文档,包括PDF、JSON等。框架允许根据需要进行数据操作,通常包括拆分文档以遵守上下文窗口限制,并通过关键词增强以提高文档检索效果。最后,处理过的文档存储在向量数据库中,方便未来检索。

参考文档、样本应用和工作坊/课程材料

未来的版本将在这一基础上构建,提供对额外AI模型的访问,例如Google刚发布的Gemini多模态模型,一个评估AI应用有效性的框架,更多便利API,以及帮助解决“查询/总结我的文档”用例的功能。请查看GitHub以获取即将发布的详情。

入门

您可以通过以下几个简单步骤开始:

  1. 安装Spring CLI,然后在您的Shell中运行命令。
    spring boot new --from ai --name myai
    
    将为您创建一个应用程序,开始与ChatGPT的基本交互,只需按照

生成的README文件中的说明获取您的API密钥。

  1. 运行应用程序
    ./mvw spring-boot:run
    
    并访问端点:
    curl localhost:8080/ai/simple
    

标签:框架,AI,Spring,解码,API,文档,模型
From: https://blog.csdn.net/song19891121/article/details/136806712

相关文章

  • 从深度伪造到恶意软件:网络安全迎来AI新挑战
    如今,有越来越多的恶意行为者开始利用AI大语言模型开发能够绕过YARA规则的自我增强型恶意软件。根据近日RecordedFuture发布的一份新报告:AI可以通过增强小型恶意软件变种的源代码来规避基于字符串的YARA规则,从而有效降低检测率。目前,已经有威胁行为者在尝试使用AI技术......
  • springboot-Swagger
    Swagger简介前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面:html==>后端。。模版引擎JSP=>后端是主力前后端分离后端:后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端团队】Swagger号称世界上最流行的API框架RestfulApi文档在线自动生成......
  • Spring入门案例
    一、下载Spring5jar包官网地址:https://spring.io/版本目录:https://spring.io/projects/spring-framework#learn下载地址:https://repo.spring.io/ui/native/release/org/springframework/spring/二、新建java工程2.1新建项目2.2导入jar包必需的jar包2.2.1新建lib......
  • 教程|腾讯云高性能应用服务 HAI 快速搭建并使用AI模型 ChatGLM2-6B
    本次我们使用 腾讯云高性能应用服务HAI 体验快速搭建并使用AI模型 ChatGLM2-6B ,实现思路如下:1、体验 高性能应用服务HAI 一键部署 ChatGLM2-6B2、启动 ChatGLM2-6BWebUI 进行简单的对话3、开发者体验 JupyterLab 进行 ChatGLM2-6BAPI 的配置调用1、配......
  • JavaScript逆向之代码补环境(以iwencai为例)
    知识点1.浏览器环境与Node环境的区别1.1浏览器环境具有的功能页面渲染功能(1)加载和控制页面元素的能力->在js中由dom对象来完成(2)渲染引擎->和我们基本上无关浏览器本身的一些东西(窗口大小,url)->BOM对象能够执行js的能力->v8引擎负责执行js代码1.2Node环......
  • Springboot笔记-05
    1.Springboot的热部署spring为开发者提供了一个名为spring-boot-devtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。在pom文件加入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b......
  • 关于衍射光波导设计中的K阈(k-domain)分析的一些学习
     对于衍射光波导的设计来说,不能简单利用几何光的方法对光线的传播路径进行描述。因此可以基于K空间波矢的矢量运算来进行描述。 在阈值分析中,衍射光波导的光线传播遵循二个引导条件,分别为全内反射条件和引导模式条件。如图所示。             ......
  • SpringBoot整合Mybatis(SpringBoot3)
    依赖pom.xml:pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://......
  • spring的IOC
    IOC翻译成中文是"控制反转",不是具体技术,而是实现对象解耦的思想。控制反转的意思是将依赖对象生命周期控制权进行反转,全称应该是控制权反转。之前需要一个对象,常用的方法就是在当前对象中new一个对象,那这样有个比较大的问题在于,耦合,一旦new的那个对象构造方法变动,那么所有使用到......
  • 第一次实践spring cloud项目出的若干问题
    也许更好的阅读体验技术栈说明springcloud+eureka+feign+ribbon+hystrix+gateway+config+bus反序列化失败:Typedefinitionerror:[simpletype,classcom.elm.po.CommonResult];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinition......