Spring-AI-Alibaba快速体验(配置流程和注意事项)

spring-ai在未来将会是主流,快速demo体验一下。

环境配置:

|-------------------------|------------------|
| jdk | 21 |
| springboot | 3.5.3 |
| spring-ai-alibaba maven | 1.0.0-M5.1 3.6.3 |

springai最低要求jdk版本为17,我这里使用21(现在估计大家大部分还用的1.8,建议大家下载两套jdk)。

同时使用21推荐的springboot版本3.5.3。

切记maven使用3.6.3及以上,不然spring版本不兼容会报错。

maven配置:

spring-ai-alibaba只有阿里官方仓库有,引入maven镜像:

复制代码
<mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/repository/public</url>
</mirror>

引入依赖:

复制代码
	<properties>
		<java.version>21</java.version>
		<spring-ai-alibaba.version>1.0.0-M5.1</spring-ai-alibaba.version>
		<spring-boot.version>3.5.3</spring-boot.version>
	</properties>
XML 复制代码
    	<dependencies>
			<!-- Spring AI Alibaba -->
			<dependency>
				<groupId>com.alibaba.cloud.ai</groupId>
				<artifactId>spring-ai-alibaba-starter</artifactId>
				<version>${spring-ai-alibaba.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter</artifactId>
				<version>${spring-boot.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-test</artifactId>
				<version>${spring-boot.version}</version>
				<scope>test</scope>
			</dependency>
		</dependencies>

获取api-key:

进入阿里百炼平台,注册同时创建api-key。

大模型服务平台百炼_企业级大模型开发平台_百炼AI应用构建-阿里云

配置yaml:

XML 复制代码
spring:
  ai:
    dashscope:
      api-key: 填入你的百炼上创建的apikey

编写demo代码:

这里直接使用用官网给demo代码。

java 复制代码
@RestController
@RequestMapping("/helloworld")
public class HelloworldController {
    private static final String DEFAULT_PROMPT = "你是一个博学的智能聊天助手,请根据用户提问回答!";

    private final ChatClient dashScopeChatClient;

    public HelloworldController(ChatClient.Builder chatClientBuilder) {
        this.dashScopeChatClient = chatClientBuilder
                .defaultSystem(DEFAULT_PROMPT)
                // 实现 Logger 的 Advisor
                .defaultAdvisors(
                        new SimpleLoggerAdvisor()
                )
                // 设置 ChatClient 中 ChatModel 的 Options 参数
                .defaultOptions(
                        DashScopeChatOptions.builder()
                                .withTopP(0.7)
                                .build()
                )
                .build();
    }

    /**
     * ChatClient 简单调用
     */
    @GetMapping("/simple/chat")
    public String simpleChat(@RequestParam(value = "query", defaultValue = "你好,很高兴认识你,能简单介绍一下自己吗?")String query) {

        System.out.println(123);
        return dashScopeChatClient.prompt(query).call().content();
    }
}

启动服务。让cursor根据上面controller代码生成一下简单的前端(注意调用端口对应哦):

很好,那么我们就完成了这次的简单的上手体验。

不得不吐槽csdn这个编辑器真难用,为啥不优化优化,做成文档那种编辑方式,改个表格都费劲。

相关推荐
好学且牛逼的马17 分钟前
MyBatis-Plus的深度解析
java
苏纪云18 分钟前
数据结构<C++>——数组
java·数据结构·c++·数组·动态数组
典则39 分钟前
STM32FreeRtos入门(五)——同步互斥与通信
java·jvm·stm32
你不是我我40 分钟前
【Java 开发日记】我们来讲一讲阻塞队列及其应用
java·开发语言
互联网中的一颗神经元42 分钟前
小白python入门 - 9. Python 列表2 ——从基础操作到高级应用
java·开发语言·python
大厂码农老A1 小时前
我带的外包兄弟放弃大厂转正,薪资翻倍入职字节
java·后端·面试
摇滚侠1 小时前
Spring Boot3零基础教程,生命周期监听,自定义监听器,笔记59
java·开发语言·spring boot·笔记
凯子坚持 c1 小时前
Llama-2-7b在昇腾NPU上的六大核心场景性能基准报告
java·开发语言·llama
百锦再1 小时前
国产数据库替代MongoDB的技术实践:金仓数据库赋能浙江省人民医院信息化建设新展望
java·开发语言·数据库·mongodb·架构·eclipse·maven
武子康1 小时前
Java-160 MongoDB副本集部署实战 单机三实例/多机同法 10 分钟起集群 + 选举/读写/回滚全流程
java·数据库·sql·mongodb·性能优化·系统架构·nosql