Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java项目如何集成Spring AI

Java项目如何集成Spring AI

作者头像
jack.yang
发布于 2025-04-05 11:00:36
发布于 2025-04-05 11:00:36
35000
代码可运行
举报
运行总次数:0
代码可运行

Spring CLI(Spring命令行工具)

Spring CLI 简化了直接从终端创建新应用程序的过程。 就像熟悉 JavaScript 生态系统的人的“create-react-app”命令一样,Spring CLI 提供了一个创建基于 Spring 的项目的命令。 Spring CLI 还提供了将外部代码库集成到当前项目中的功能,以及许多其他生产力功能。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring boot new

重要的是要了解“Spring CLI”与“Spring Boot CLI”是一个不同的项目,每个项目都有自己的一组功能。

若要开始创建 Spring AI 应用程序,请按照下列步骤操作:

  1. 下载最新的 Spring CLI 版本并按照安装说明进行操作。
  2. 要创建基于 OpenAI 的简单应用程序,请使用以下命令: spring boot new --from ai --name myai
  3. 有关获取 OpenAI API 密钥和运行第一个 AI 应用程序的指导,请参阅生成的文件。README.md

目前,Spring CLI 仅支持 Maven 项目。

要将相同的简单 AI 应用程序添加到现有 Maven 项目,请执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
spring boot add ai

Spring CLI 允许用户定义自己的项目目录,这些目录定义您可以创建哪些项目或将其添加到现有代码库中。

Spring Initializr

转到 start.spring.io,选择要在新应用程序中使用的 AI 模型和向量存储。

添加Milestone和Snapshot 存储库

如果希望手动添加依赖项,请按照以下说明进行操作。要使用 Milestone 和 Snapshot 版本,您需要在构建文件中添加对 Spring Milestone 和/或 Snapshot 存储库的引用。

对于 Maven,请根据需要添加以下存储库定义:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <repositories>
    <repository>
      <id>spring-milestones</id>
      <name>Spring Milestones</name>
      <url>https://repo.spring.io/milestone</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>spring-snapshots</id>
      <name>Spring Snapshots</name>
      <url>https://repo.spring.io/snapshot</url>
      <releases>
        <enabled>false</enabled>
      </releases>
    </repository>
  </repositories>

对于 Gradle,请根据需要添加以下存储库定义:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
repositories {
  mavenCentral()
  maven { url 'https://repo.spring.io/milestone' }
  maven { url 'https://repo.spring.io/snapshot' }
}

依赖关系管理

Spring AI的引用资源清单(BOM,Bill of Materials)声明了特定Spring AI版本所推荐使用的所有依赖项的版本。 使用应用程序生成脚本中的 BOM 可以避免您自己指定和维护依赖项版本。 相反,您使用的 BOM 版本决定了使用的依赖项版本。 它还可确保默认使用受支持和测试的依赖项版本,除非您选择替代它们。

如果您是 Maven 用户,则可以通过将以下内容添加到pom.xml文件中来使用 BOM:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-bom</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Gradle 用户可以充分利用 Gradle 5.0 及更高版本对 BOM(Bill of Materials)的原生支持,以便在项目中引用 Spring AI BOM,并使用它来声明依赖项的约束。这是通过向 Gradle 构建脚本的依赖项部分添加 "platform" 依赖项处理方法来实现的。以下是一个示例代码片段,它展示了如何配置 Spring AI BOM,以便您可以在不指定版本号的情况下声明一个或多个 Spring AI 模块(如 spring-ai-openai)的 Starter 依赖项。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 在 build.gradle 文件的 dependencies 部分  
dependencies {  
    // 引入 Spring AI BOM 平台依赖项  
    implementation(platform("org.springframework.ai:spring-ai-bom:<version>"))  
  
    // 使用 BOM 中定义的依赖项,无需指定版本号  
    implementation("org.springframework.ai:spring-ai-openai-starter")  
  
    // 如果需要,还可以添加其他 Spring AI 相关的 Starter 依赖项  
    // ...  
  
    // 其他依赖项  
    // ...  
}  
  
// 如果你的项目是多模块的,你可能需要在 settings.gradle 文件中添加 BOM 仓库  
dependencyResolutionManagement {  
    repositories {  
        mavenCentral() // 假设 BOM 在 Maven 中央仓库  
        // 或者其他仓库,如果 BOM 在其他地方  
        // maven { url 'https://your-repository.com/repository' }  
    }  
  
    // 如果你的 BOM 使用了特定的 Gradle 插件或元数据格式  
    // 你可能还需要在这里配置插件管理  
    // pluginManagement {  
    //     plugins {  
    //         // 配置插件  
    //     }  
    // }  
}

请注意,<version> 应替换为实际的 Spring AI BOM 版本号。此外,如果你的 BOM 存在于不同的仓库中,你需要在 dependencyResolutionManagement 下的 repositories 中添加相应的仓库地址。

通过使用 BOM 平台依赖项,Gradle 会自动解析 BOM 中定义的依赖项版本,并确保你的项目中使用的依赖项与 BOM 中指定的版本保持一致。这有助于减少版本冲突,并确保项目的稳定性和兼容性。

为特定组件添加依赖项

文档中的以下每个部分都显示了需要添加到项目生成系统中的依赖项。

嵌入模型

  • 嵌入 API
    • Spring AI OpenAI 嵌入
    • Spring AI Azure OpenAI 嵌入
    • Spring AI Ollama 嵌入
    • Spring AI Transformers (ONNX) 嵌入
    • Spring AI PostgresML 嵌入
    • Spring AI Bedrock Cohere 嵌入
    • Spring AI Bedrock Titan Embeddings
    • Spring AI VertexAI 嵌入
    • Spring AI MistralAI 嵌入

聊天模型

  • Chat Completion API
    • OpenAI Chat Completion (流和函数调用支持)
    • Microsoft Azure Open AI Chat Completion (流和函数调用支持)
    • Ollama Chat Completion
    • HuggingFace Chat Completion (不支持流)
    • Google Vertex AI PaLM2 Chat Completion (不支持流)
    • Google Vertex AI Gemini Chat Completion (流,多模态和函数调用支持)
    • Amazon Bedrock
      • Cohere Chat Completion
      • Llama Chat Completion
      • Titan Chat Completion
      • Anthropic Chat Completion
      • Jurassic2 Chat Completion
    • MistralAI Chat Completion (流和函数调用支持)

图像生成模型

  • 图像模型 API
    • OpenAI 图像生成
    • StabilityAI图像生成

音频模型

  • 转录模型
    • OpenAI 转录
  • 文本转语音 (TTS) 模型
    • OpenAI 文本转语音

矢量数据库

  • 矢量数据库 API
    • Azure 矢量搜索 - Azure 矢量存储。
    • ChromaVectorStore - 色度矢量存储。
    • MilvusVectorStore - Milvus 向量库。
    • Neo4jVectorStore - Neo4j 向量存储.
    • PgVectorStore - PostgreSQL/PGVector 向量存储。
    • PineconeVectorStore - PineCone 矢量存储.
    • QdrantVectorStore - Qdrant 矢量存储.
    • RedisVectorStore - Redis 矢量存储。
    • WeaviateVectorStore - Weaviate 向量存储。
    • SimpleVectorStore - 持久性矢量存储的简单(内存中)实现,适用于教育目的.

示例项目

您可以在 GitHub 上克隆这些项目以开始使用。

OpenAI

Azure OpenAI

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用 Spring AI 调用 OpenAI 对话接口
从 https://start.spring.io/ 下载一个包含 Spring Web 依赖的 Maven 工程:
AlphaHinex
2024/12/03
8050
用 Spring AI 调用 OpenAI 对话接口
Spring AI集成DeepSeek
随着Spring Boot的流行,越来越多的开发者选择利用其快速开发和简化配置的优势,构建企业级应用。Spring Boot通过自动化配置和高度的模块化,使得开发者可以更快速地实现业务功能。而Spring AI作为Spring生态的一部分,提供了与人工智能技术结合的能力,可以帮助开发者轻松将AI能力集成到Spring Boot项目中。
有一只柴犬
2025/02/23
1.3K0
Spring AI集成DeepSeek
Spring AI 来了,Java程序员又行了!
在技术界的浩瀚星河中,Java程序员一直是企业级应用的主力军。而Spring框架,作为Java生态的中流砥柱,它提供了一套完整的工具和框架,帮助开发者快速地构建可靠、高效和可维护的应用程序,其影响力不言而喻。但AI的大火,使得Spring生态系统也不得不与时俱进,引入了新成员——Spring AI。
程序员小义
2024/04/30
7100
Spring AI 来了,Java程序员又行了!
Spring AI实战之一:快速体验(OpenAI)
程序员欣宸
2024/05/26
5.9K0
Spring AI实战之一:快速体验(OpenAI)
Spring AI调用Ollama+DeepSeek
ChatClient 是一个接口,它定义了一个与聊天服务交互的客户端。这个接口主要用于创建聊天客户端对象,设置请求规范,以及发起聊天请求。
鱼找水需要时间
2025/06/02
5710
Spring AI调用Ollama+DeepSeek
技术分享:初识Java中SpringAi框架
在当今这个由数据和智能驱动引领生产力的时代,人工智能(AI)已经成为推动业务创新和优化用户体验的关键力量。它正已前所未有的速度渗透到我们生活的每一个角落,并且已经在众多领域有了突破发展,由我们最先熟知的ChatGPT到现在的多AI共同发展,这将大大提高我们的日常生产力。
小颜同学
2024/04/16
1.8K0
技术分享:初识Java中SpringAi框架
JeecgBoot 低代码平台快速集成 Spring AI
JeecgBoot 是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x 和 3.x,SpringCloud,Ant Design Vue3,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot 引领新的低代码开发模式 (OnlineCoding-> 代码生成器 -> 手工 MERGE), 帮助解决 Java 项目 70% 的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性!
JEECG
2024/08/05
4080
JeecgBoot 低代码平台快速集成 Spring AI
spring-ai 学习系列(7)-MCP 安全认证
继续先前的MCP学习,实际企业级应用中,很多信息都是涉及商业敏感数据,需要考虑安全认证,不可能让MCP Server在网上裸奔。spring web开发中,提供了拦截器功能,最简单的思路,在Client连接到Server的sse时,拦截请求,检测http header头中,是否有必要的token信息(包括验证token是否合法)
菩提树下的杨过
2025/08/22
2850
spring-ai 学习系列(7)-MCP 安全认证
从零搭建Java AI项目:Maven整合与避坑全攻略
对于 Java 开发者而言,在 Java 环境下搭建 AI 项目的能力变得愈发关键。Java 以其 “一次编写,到处运行” 的特性,以及庞大而稳定的生态系统,为 AI 项目的落地提供了坚实的基础。不过,搭建一个 AI 的 Maven 项目并非坦途,其中涉及的技术细节、框架整合以及依赖管理等,都可能成为前行路上的绊脚石。
小马哥学JAVA
2025/03/12
3140
大模型安装部署、测试、接入SpringCloud应用体系
大模型通常指的是具有庞大数据的神经网络模型,如OpenAI的GPT系列、Google的BERT等。这些模型对计算资源的需求极高,因此通常部署在云服务器或高性能计算集群上。安装部署大模型时,需要考虑模型的兼容性、计算资源的需求、存储空间的分配以及模型的优化策略。
后台技术汇
2024/09/22
4830
大模型安装部署、测试、接入SpringCloud应用体系
Spring Boot 2.0.0参考手册_中英文对照_Part II_8-10
文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书
Tyan
2022/05/09
6410
Spring框架参考手册_5.0.0_中文版_Part I_第二章
Spring框架是一个为支持开发Java应用提供全面基础架构的Java平台。Spring处理基础架构,因此你可以集中精力在你有应用上。
Tyan
2022/05/09
6112
Spring框架参考手册_5.0.0_中文版_Part I_第二章
使用Spring AI调用AI模型
Spring AI是Spring框架对人工智能和机器学习的支持模块,它提供了一套简单易用的API来集成各种AI服务和模型。
阿珍
2025/03/27
7370
使用Spring AI调用AI模型
深度解析Spring AI:请求与响应机制的核心逻辑
我们在前面的两个章节中基本上对Spring Boot 3版本的新变化进行了全面的回顾,以确保在接下来研究Spring AI时能够避免任何潜在的问题。今天,我们终于可以直接进入主题:Spring AI是如何发起请求并将信息返回给用户的。
努力的小雨
2024/09/29
6820
SpringBoot系列之Spring AI+DeekSeek创建AI应用
随着人工智能技术的飞速发展,AI 已经成为现代软件应用中不可或缺的一部分。从智能对话系统到内容生成工具,AI 的应用场景日益丰富。Spring AI 是 Spring 官方推出的用于简化 AI 集成的框架,而 DeepSeek 是一个强大的 AI 平台,提供了高效、灵活的语言模型和 API 接口。通过将 Spring AI 与 DeepSeek 结合,开发者可以在 Spring Boot 应用中快速实现智能对话、文本生成等 AI 功能。
SmileNicky
2025/03/04
2.8K2
SpringBoot系列之Spring AI+DeekSeek创建AI应用
Spring AI 项目介绍
Spring AI 是一个为开发 AI 应用程序提供 Spring 友好的 API 和抽象层的项目。它将 Spring 生态系统的设计原则(如可移植性和模块化设计)应用到 AI 领域,并促进使用 POJO 作为 AI 应用程序的构建块。
martinzh7
2025/07/07
3160
Spring AI 项目介绍
必看!SpringAI轻松构建MCP Client-Server架构
MCP 这个概念相信大家已经听了无数次了,但不同人会有不同的解释,你可能也是听得云里雾里的。
磊哥
2025/03/30
1.1K1
必看!SpringAI轻松构建MCP Client-Server架构
如何用Spring AI构建MCP Client-Server架构
现代 Web 应用正加速与大语言模型(LLMs)深度融合,构建超越传统问答场景的智能解决方案。为突破模型知识边界,增强上下文理解能力,开发者普遍采用多源数据集成策略,将 LLM 与搜索引擎、数据库、文件系统等外部资源互联。然而,异构数据源的协议差异与格式壁垒,往往导致集成复杂度激增,成为制约 AI 应用规模化落地的关键瓶颈。因此,Anthropic公司推出了模型上下文协议(Model Context Protocol, MCP),通过标准化接口为 AI 应用与外部数据源建立统一交互通道。这一协议体系不仅实现了数据获取与操作的规范化,更构建起可扩展的智能体开发框架,使开发者能够基于原生 LLM 能力快速构建复杂工作流。
程序猿DD
2025/03/27
3.1K0
如何用Spring AI构建MCP Client-Server架构
Spring Security 入门(一)Spring Security中的认证与密码编码器
Spring Security是一个提供认证(authentication)、授权(authorization)和防御各种Web攻击的框架,它对命令式和反应式应用程序都提供了一流的支持,是保护基于spring的应用程序的事实标准。
用户3587585
2022/09/21
2.1K0
springboot的介绍_Springboot的优点
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。
全栈程序员站长
2022/08/02
5380
springboot的介绍_Springboot的优点
相关推荐
用 Spring AI 调用 OpenAI 对话接口
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验