网站首页 > 博客文章 正文
我们知道,阿里云百炼有提供很多非常好的模型,控制台地址在:https://bailian.console.aliyun.com/ ,不要用浏览器搜索搜错了。
那这些模型要怎么调用呢,其实alibaba已经封装了调用方法,这就是github上的项目:https://github.com/alibaba/spring-ai-alibaba
今天我们就来简单搭建下。
1、新建springboot项目
这里要求jdk是17,springboot是3以上,所以我就直接用这个版本了
2、加入依赖
这个可以直接参考github项目的例子
https://github.com/alibaba/spring-ai-alibaba/blob/main/spring-ai-alibaba-examples/helloworld-example/pom.xml
如下是我的依赖文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.suibibk.aliai</groupId>
<artifactId>aliai</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>aliai</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
<!-- Spring AI -->
<spring-ai-alibaba.version>1.0.0-M3.1</spring-ai-alibaba.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
其实主要就是
<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-web</artifactId>
</dependency>
还有下面的
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
这个是由于 spring-ai 相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,请在您项目的 pom.xml 依赖中加入如上仓库配置。
补充:如果您的本地 maven settings.xml 中的 mirrorOf 标签配置了通配符 * ,请根据以下示例修改。
<mirror>
<id>xxxx</id>
<mirrorOf>*,!spring-milestones</mirrorOf>
<name>xxxx</name>
<url>xxxx</url>
</mirror>
具体可以参考
https://github.com/alibaba/spring-ai-alibaba/blob/main/README-zh.md
3、jdk
这个可以去https://d.injdk.cn/download/openjdk/17 下载。
4、代码
直接从上面的例子复制即可
package com.suibibk.aliai.aliai;
import java.util.Objects;
import reactor.core.publisher.Flux;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/ai")
public class ChatController {
private final ChatClient chatClient;
public ChatController(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
@GetMapping("/chat")
public String chat(String input) {
return this.chatClient.prompt().user(input).call().content();
}
@GetMapping("/stream")
public String stream(String input) {
Flux<String> content = this.chatClient.prompt().user(input).stream().content();
return Objects.requireNonNull(content.collectList().block()).stream().reduce((a, b) -> a + b).get();
}
}
可以看到提供了chat方式还有流的方式.
5、配置文件
spring.application.name=aliai
spring.ai.dashscope.api-key=xxxxx
这个api-key怎么来呢
6、启动测试
好了以后有需要再试试其他功能。主要是参考github里面和阿里云百炼的接口吧。不过很多接口应该都要钱,价格应该也不贵!
猜你喜欢
- 2025-05-09 介绍一款国产开源免费的在线文件文档预览的kkFileView
- 2025-05-09 Tomcat介绍和配置使用(tomcat的常用配置)
- 2025-05-09 厉害!简短精致:IDEA SpringBoot 免重启热部署(热加载)
- 2025-05-09 Go使用gotk开发跨平台桌面程序,打包压缩后仅8MB
- 2025-05-09 Spring路径-10-SpringBoot开发部署与测试
- 2025-05-09 java批量将word文档转换为pdf(java将word转化为pdf)
- 2025-05-09 音乐盒Java在线音乐jsp源代码Mysql
- 2025-05-09 Optimizer For Eclipse,性能大有不同!
- 2025-05-09 信创终端 PDF 处理神器:免费使用 hhdesk 轻松合并与拆分 PDF!
- 2025-05-09 Mcinabox安装包和运行库分享(蓝奏云网盘)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)