简介
人工智能技术和日益成熟,开发企业级人工智能的应用已成为一个热门的趋势。Spring AI 是一个用于 AI 工程的应用框架,目的是为了简化AI应用的对接、部署、维护和扩展。
SpringAi的灵感来自LangChain和LlamaIndex,但是SpringAi并不是直接翻译他们的能力。未来生成式AI应用不仅仅面向Python开发人员,Java语言企业级应用开发的优势也会在其中体现出来。
效果展示
自我介绍
流式输出
参考源码
SpringAi的核心
Spring AI 的核心是提供抽象,作为开发 AI 应用程序的基础。这些抽象具有多种实现,只需进行最少的代码更改即可轻松交换组件。
主要功能
- 支持所有主要模型提供商,例如 OpenAI、Microsoft、Amazon、Google 和 Hugging Face。
- 支持的模型类型包括聊天、文本到图像、音频转录、文本到语音等。
- 适用于所有模型的跨 AI 提供商的可移植 API。支持同步和流式 API 选项。还支持下拉以访问特定于模型的功能。
- 将 AI 模型输出映射到 POJO。
- 支持所有主要的矢量数据库提供商,例如 Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis 和 Weaviate。
- 跨 Vector Store 提供商的可移植 API,包括一种新颖的类似 SQL 的元数据过滤器 API,它也是可移植的。
- 函数调用。
- 用于 AI 模型和向量存储的 Spring Boot 自动配置和启动器。
- 数据工程的 ETL 框架。
快速入门
使用国内大模型开放平台作为演示用例,但是我用的是免费的只能演示一些基础功能。文生图、多态之类的功能演示不了,等将来有机会再完善吧。
国内可以免费注册使用的大模型开放平台,智谱开放平台、MiniMax开放平台
这里我使用的是智谱开放平台的免费Key。
原本打算把项目中的核心代码贴出来,所幸直接把源码上传到 GitHub 吧。这样更便于新手快速入门,代码也相对简单。同时,我也是 spring-projects/spring-ai 项目的Contributor。欢迎一起交流学习,为加速 AI 应用在国内的发展贡献力量。