Spring AI 是 AI 工程的应用框架。其目标是将 Spring 生态系统设计原则(如可移植性和模块化设计)应用于 AI,并推广使用 POJO 作为 AI 领域应用程序的构建块。
特征
跨 AI 提供商的可移植 API 支持,适用于聊天、文本到图像和嵌入模型。支持同步和流 API 选项。还支持下拉以访问特定于模型的功能。
聊天模型
- OpenAI
- Azure 开放式 AI
- 亚马逊基岩
- Cohere的命令
- AI21 Labs 的侏罗纪 2
- Meta 的 LLama 2
- 亚马逊的泰坦
- 谷歌顶点 AI Palm
- 谷歌双子座
- HuggingFace - 访问数以千计的模型,包括 Meta 的模型,例如 Llama2
- Ollama - 在本地计算机上运行 AI 模型
- 米斯特拉尔人工智能
文本到图像模型
转录(音频到文本)模型
嵌入模型
- OpenAI
- Azure OpenAI
- 奥拉玛
- ONNX公司
- PostgresML的
- 基岩凝聚
- 基岩泰坦
- 谷歌 VertexAI
- 米斯塔尔人工智能
Vector Store API 提供跨不同提供程序的可移植性,具有新颖的类似 SQL 的元数据过滤 API,可保持可移植性。
矢量数据库
- Azure 矢量搜索
- 色度
- Milvus(米尔沃斯酒店)
- Neo4j系列
- PostgreSQL/PGVector
- 松果
- Redis(瑞迪斯酒店)
- 维重
- Qdrant
AI 模型和矢量存储的 Spring Boot 自动配置和启动器。
函数调用您可以向 OpenAI 模型声明实现,以便在其提示响应中使用。您可以直接将这些函数作为对象提供,或者在应用程序上下文中注册为@Bean时引用它们的名称。此功能最大限度地减少了不必要的代码,并使 AI 模型能够请求更多信息来满足其响应。java.util.Function
支持的型号包括
- OpenAI
- Azure OpenAI
- 顶点AI
- 米斯特拉尔 AI
用于数据工程的 ETL 框架
- 我们的 ETL 框架的核心功能是促进使用向量存储将文档传输到模型提供商。ETL 框架基于 Java 函数式编程概念,可帮助您将多个步骤链接在一起。
- 我们支持阅读各种格式的文档,包括 PDF、JSON 等。
- 该框架允许数据操作以满足您的需求。这通常涉及拆分文档以遵守上下文窗口限制,并使用关键字增强它们以提高文档检索效率。
- 最后,处理后的文档存储在矢量数据库中,以便将来检索。
广泛的参考文档、示例应用程序和研讨会/课程材料。
未来的版本将在此基础上提供对其他 AI 模型的访问,例如,Google 刚刚发布的 Gemini 多模态模态、用于评估 AI 应用程序有效性的框架、更方便的 API 以及帮助解决“查询/总结我的文档”用例的功能。查看 GitHub 以获取有关即将发布的版本的详细信息。
开始
您可以通过几个简单的步骤开始
- 安装 Spring CLI,然后在 shell 中运行该命令。
spring boot new --from ai --name myai
将创建一个应用程序,让您开始与 ChatGPT 进行基本交互,只需按照生成的 README 文件中的说明获取您的 API 密钥,然后
- 运行应用程序
./mvw spring-boot:run
- 并卷曲端点:
curl localhost:8080/ai/simple
想以另一种方式开始吗?查看参考文档中的“入门”部分。