写在前面
自从ChatGPT
火了之后,各种产品都在不停的拥抱AI,在各自场景中接入AI,国内外各种大模型层出不穷。
好像有点扯远了,言归正传,今天我们要说的是SpringAI,大家在逛Spring 官网(spring.io/) 应该发现了,在官网中多了SpringAI
模块
一、SpringAI 简介
我们来看看官网是怎么介绍的
Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.
Portable API support across AI providers for Chat, text-to-image, and Embedding models. Both synchronous and stream API options are supported. Dropping down to access model-specific features is also supported.
上面翻译过来就是
Spring AI是一个面向AI工程的应用框架。其目标是将可移植性和模块化设计等设计原则应用于AI领域的Spring生态系统,并将POJO作为应用程序的构建块推广到AI领域。
跨AI提供商的便携API支持聊天、文本到图像和嵌入模型。同时支持同步和流API选项。还支持各种定制的功能。
总的来说就是:Spring出了一个AI框架,帮助我们快速调用AI,从而实现各种功能场景。
今天我们就来看看怎么使用Spring 自己提供的框架调用AI
二、各种模型
这里列举出了支持的各种厂商的各种模型接入,有我们熟悉的Amazon、Google 等模型,但目前还不支持国内的任何一种模型
2.1 Chat Models 聊天模型
2.2 Text-to-image Models 文生图模型
2.3 Transcription (audio to text) Models 音频文本互转模型
2.4 Embedding Models 嵌入模型
三、接入准备
我们这里以接入OpenAI
为例,看看需要做哪些准备
① 首先我们得能魔法上网
② 注册过OpenAI
账号,并创建了API keys
还不知道怎么注册的可以翻一翻之前的文章, 传送门 👉 如何注册OpenAI 👈
注: 之前我们注册生成的API keys
可能过期了,有可能需要重新创建一个
要想接下来调用成功,上面两步缺一不可
四、创建springboot项目
① Spring Initializr
创建项目
注:
- Server URL 这里一定要 填start.spring.io/ ,而不是 start.aliyun.com/ 阿里云暂时还不支持
- jdk一定要选择17及以上版本
② 选择支持模块
如果上面一步选择正确的话,这一步我们会看到一个AI模块,这里选择OpenAI
模型和Spring Web即可,
如果这一步没看到AI模块的,请return到上一步
五、所需依赖
按照上面添加模块之后,idea会默认给我们添加如下依赖,当然了也还用到其他依赖,这里就不都贴出来了
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
如果你用的是Gradle
构建工具,那就是
dependencies {
implementation 'org.springframework.ai:spring-ai-openai-spring-boot-starter'
}
注:
添加依赖之后,如果我们项目配置的是阿里云镜像的话,需要修改成如下仓库地址,否则依赖下载不下来
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
六、修改配置文件
application.properties
或者application.yml
配置文件
spring.ai.openai.api-key=前面步骤创建的apikey
spring.ai.openai.chat.options.model=gpt-3.5-turbo
spring.ai.openai.chat.options.temperature=0.7
或者
spring:
ai:
openai:
api-key: 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
chat:
options:
model: gpt-3.5-turbo
temperature: 0.7
api-key
: 前面步骤创建的apikey
chat.options.model
:gpt
模型 ,上面我们配置的是3.5 模型chat.options.temperature
:Spring AI
与PT模型交互时,特别是在聊天或文本生成场景下,模型生成文本时的随机性程度为0.7
七、代码编写
这里我们只是简单测试一下,所以代码都写在了controller
层里
@RestController
public class ChatController {
private final OpenAiChatClient chatClient;
@Autowired
public ChatController(OpenAiChatClient chatClient) {
this.chatClient = chatClient;
}
@GetMapping("/ai/generate")
public Map generate(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
return Map.of("generation", chatClient.call(message));
}
@GetMapping("/ai/generateStream")
public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "Tell me a joke") String message) {
Prompt prompt = new Prompt(new UserMessage(message));
return chatClient.stream(prompt);
}
}
代码解释:上面代码提供了generate
和generateStream
两个方法接收前端传来的参数message
,然后将message
作为prompt
(如果你还不知道prompt
可以去百度一下)去调用封装好的大模型,并将大模型的结果返回去。
八、Spring AI函数调用流程
九、其他模型调用
上面例子中我们只是列举出OpenAI
模型调用方式,其他模型大家可以参考官方文档,文档写的也非常详细
假设我们想使用亚马逊的大模型,可以到docs.spring.io/spring-ai/r… 查看文档
那么,我们该如何学习大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。