【轻松掌握】使用Spring-AI轻松访问大模型&本地化部署并搭建UI界面访问指南

文章目录

读前必看

通过本文你将学会

  • 快速上手Spring-AI:聊天、图像、音频翻译、文本转语音、多模态应用

  • Ollama本地部署:高效安装与使用大模型

  • Lobe Chat与WebUI:直观界面,轻松访问本地大模型

  • 本文示例代码仓库地址:https://github.com/ChenJiahao0205/Spring-AI-Learning

  • 快速使用

    • 快速搭建本地大模型并使用的方案:Ollama + Docker + Lobe Chat(安装加使用最多花费一个小时,跳到对应章节即可)

什么是Spring-AI

Spring Al是一个AI工程领域的应用程序框架
它的目标是将Spring生态系统的设计原则应用于于人工智能领域,比如Spring生态系统的可移植性和模块化设计,并推广使用POJO来构建人工智能领域应用程序;
Spring AI并不是要构建一个自己的AI大模型,而是让你对接各种AI大模型

官方文档:https://spring.io/projects/spring-ai#learn

Spring-AI文档:https://docs.spring.io/spring-ai/reference/1.0/getting-started.html

目前已支持的对接模型

在这里插入图片描述

https://spring.io/projects/spring-ai#overview

主要分类有聊天、文本到图像、嵌入式等

本文使用Spring-AI版本

本文使用的spring-ai版本为1.0.0-SNAPSHOT

构建项目

选择必要的依赖

在这里插入图片描述

配置系统变量

这里为了隐藏api-key和base-url细节,将他们配置到环境变量中了

在这里插入图片描述

聊天模型API

配置文件

在这里插入图片描述

方式1-使用默认配置

在这里插入图片描述

可以在配置文件指定模型(其他参数也可以在这里配置,例如温度等,参考官方文档https://docs.spring.io/spring-ai/reference/api/chat/openai-chat.html)

在这里插入图片描述

方式2-自定义配置

在这里插入图片描述

配置其他参数

在这里插入图片描述

使用示例

在这里插入图片描述

图像模型API

配置文件

在这里插入图片描述

方式1-使用默认配置

在这里插入图片描述

方式2-自定义配置

在这里插入图片描述

配置其他参数

在这里插入图片描述

使用示例

在这里插入图片描述

在这里插入图片描述

音频翻译文本模型API

https://www.bilibili.com/video/BV1d1421d7Fy?p=32

配置文件

在这里插入图片描述

使用默认配置

在这里插入图片描述

配置其他参数

在这里插入图片描述

使用示例

在这里插入图片描述

文本转语音模型API

使用默认配置

在这里插入图片描述

配置其他参数

在这里插入图片描述

使用示例

### SpringAI与DeepSeek集成教程 对于希望将SpringAI框架同DeepSeek模型相结合的应用场景而言,虽然官方没有直接提供名为“SpringAI”的特定产品或库[^1],可以推测提问者可能是指基于Spring生态系统的应用来调用或是部署像DeepSeek这样的大型语言模型。 #### 准备工作 为了实现两者的集成,开发者应当先熟悉Spring Boot的基础开发流程以及RESTful API的设计原则。与此同时,在准备阶段还需要获取到DeepSeek模型的服务端点地址或者是通过Hugging Face平台下载对应的预训练权重文件搭建本地服务环境。 #### 创建Spring Boot项目 利用Spring Initializr快速创建一个新的Spring Boot工程,确保选中Web依赖项以便能够构建HTTP接口用于后续向DeepSeek发起请求: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` #### 配置访问DeepSeek服务 假设已经拥有了一个可以通过网络访问的DeepSeek实例,则可以在application.properties配置文件里定义该API的位置和其他必要的参数设置: ```properties deepseek.api.url=https://api.example.com/v1/models/deepseek:predict deepseek.api.key=your_api_key_here ``` 接着编写Java类封装对上述属性读取逻辑,且构造出发送POST请求所需的数据结构体,通常情况下这会涉及到JSON格式的消息体传递给远程服务器处理。 #### 实现业务逻辑控制器 最后一步是在应用程序内部建立相应的Controller层组件负责接收前端传来的输入数据,经过简单校验之后转发至目标LLM执行推理任务;待收到响应后再解析返回结果反馈给客户端展示出来。 ```java @RestController @RequestMapping("/chat") public class ChatController { @Autowired private RestTemplate restTemplate; @Value("${deepseek.api.url}") private String apiUrl; @PostMapping("/ask") public ResponseEntity<String> askQuestion(@RequestBody Map<String, Object> payload){ HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); HttpEntity<Map<String,Object>> entity = new HttpEntity<>(payload,headers); try{ ResponseEntity<String> response = restTemplate.postForEntity(apiUrl,entity,String.class); return response; }catch(Exception e){ log.error(e.getMessage()); return new ResponseEntity<>("Error occurred", HttpStatus.INTERNAL_SERVER_ERROR); } } } ``` 以上代码片段展示了如何在一个典型的Spring Web MVC架构下完成从接收入口到最后发出对外部微服务调用的整体链路设计思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五条Programmer

比心~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值