Deepseek整合SpringAI

devtools/2025/2/22 8:45:08/

在现代应用开发中,问答系统是一个常见的需求,尤其是在客服、教育和技术支持领域。本文将介绍如何使用 Spring BootDeepseekSpring AI 构建一个简单的问答系统,并通过 Postman 调用 API 接口实现问答功能。通过本文,你将学习如何整合这些技术,快速实现一个高效的问答系统。

1. 技术栈介绍

  • Spring Boot:用于快速构建 Java 后端服务。
  • Deepseek:高性能的深度学习推理框架,用于问答模型的推理。
  • Spring AI:Spring 生态中的 AI 工具包,用于简化 AI 模型的集成。
  • Postman:用于测试和调用 API 接口。

2. 环境准备

在开始之前,请确保你已经完成以下准备工作:

  1. 安装 JDK 17 或更高版本
  2. 安装 Maven:用于构建和管理项目依赖。
  3. 安装 Postman:用于测试 API 接口。
  4. 准备 Deepseek 模型:确保你已经有一个训练好的问答模型(如 qa_model.ds)。

3. 创建 Spring Boot 项目

3.1 初始化项目

  1. 打开 Spring Initializr。
  2. 配置项目:
    • Project:Maven Project
    • Language:Java
    • Spring Boot:3.1.0
    • Dependencies:Spring Web、Spring AI
  1. 点击“Generate”下载项目压缩包,并解压到本地。

3.2 导入项目

  1. 打开 IntelliJ IDEA,选择 File > Open,导入解压后的项目。
  2. 等待 Maven 自动下载依赖。

4. 集成 Deepseek 和 Spring AI

4.1 添加 Deepseek 依赖

  1. pom.xml 中添加 Deepseek 的依赖:
<dependency><groupId>ai.deepseek</groupId><artifactId>deepseek-java</artifactId><version>1.0.0</version>
</dependency>

4.2 配置 Spring AI

  1. application.properties 中添加 Spring AI 的配置:
spring.ai.deepseek.model-path=/path/to/qa_model.ds
spring.ai.deepseek.device=cpu

4.3 创建问答服务

  1. src/main/java/com/ts/demo 目录下创建 QAService.java
package com.ts.demo;import ai.deepseek.DeepseekModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class QAService {private final DeepseekModel model;@Autowiredpublic QAService(DeepseekModel model) {this.model = model;}public String answer(String question) {// 调用 Deepseek 模型进行推理return model.infer(question);}
}

4.4 创建控制器

  1. src/main/java/com/ts/demo 目录下创建 QAController.java
package com.ts.demo;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;@RestController
@RequestMapping("/api/qa")
public class QAController {private final QAService qaService;@Autowiredpublic QAController(QAService qaService) {this.qaService = qaService;}@PostMapping("/ask")public String askQuestion(@RequestBody String question) {return qaService.answer(question);}
}

5. 运行项目

  1. 在 IntelliJ IDEA 中,右键点击 DemoApplication.java,选择 Run
  2. 项目启动后,控制台会输出类似以下信息:
Started DemoApplication in 2.5 seconds

6. 使用 Postman 测试 API

6.1 创建 Postman 请求

  1. 打开 Postman,点击 New > Request
  2. 配置请求:
    • Method:POST
    • URLhttp://localhost:8080/api/qa/ask
    • Body:选择 raw,格式为 JSON,输入以下内容:
{"question": "什么是深度学习?"
}

6.2 发送请求

  1. 点击 Send 按钮,发送请求。
  2. 查看响应结果,例如:
{"answer": "深度学习是机器学习的一个分支,通过多层神经网络模拟人脑的学习过程。"
}

7. 项目结构

以下是项目的完整结构:

src/main/java/com/ts/demo/├── DemoApplication.java       # Spring Boot 启动类├── QAController.java          # 控制器├── QAService.java             # 问答服务└── DeepseekConfig.java        # Deepseek 配置类(可选)
src/main/resources/├── application.properties     # 配置文件└── qa_model.ds                # Deepseek 模型文件

http://www.ppmy.cn/devtools/160905.html

相关文章

STL —— 洛谷字符串(string库)入门题(蓝桥杯题目训练)(二)

目录 一、B2121 最长最短单词 - 洛谷 算法代码&#xff1a; 代码分析 变量定义 输入处理 单词长度计算 更新最长和最短单词的长度 输出最长单词 输出最短单词 评测记录&#xff1a;​编辑 二、B2122 单词翻转 - 洛谷 算法代码&#xff1a; 代码分析 引入头文件和定…

今日行情明日机会——20250221

明日投资机会分析 根据2月21日市场数据&#xff0c;市场情绪活跃&#xff08;涨停117家&#xff0c;跌停4家&#xff09;&#xff0c;资金聚焦机器人、AI、算力、芯片等科技主线&#xff0c;结合板块梯队与连板强度&#xff0c;建议重点关注以下方向&#xff1a; 1. 机器人概念…

基于Spring Boot的农产品智慧物流系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自动收发消息)

1.本地部署 1.1 ollama Ollama软件通过其高度优化的推理引擎和先进的内存管理机制&#xff0c;显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术&#xff08;Quantization&#xff09;以降低模型的计算复杂度和存储需求&#xff0c;同时结合张量并行计算&…

基于ffmpeg+openGL ES实现的视频编辑工具-opengl相关逻辑(五)

在我们的项目中,OpenGL ES 扮演着至关重要的角色,其主要功能是获取图像数据,经过一系列修饰后将处理结果展示到屏幕上,以此实现各种丰富多样的视觉效果。为了让大家更好地理解后续知识,本文将详细介绍 OpenGL 相关代码。需要注意的是,当前方案将对 OpenGL 的所有操作都集…

Redis 设置密码无效问题解决

一、验证密码有没有生效 运行cmd&#xff0c;cd到redis的目录下 输入“redis-cli.exe” 回车 输入“auth 123456” 回车 若错误&#xff0c;说明没有设置密码或者设置的密码没有生效 输入“exit” 回车就立即退出redis 二、解决方案是&#xff1a;直接修改后缀是 .conf 的…

RT-Thread+STM32L475VET6实现红外遥控实验

文章目录 前言一、板载资源介绍二、具体步骤1. 确定红外接收头引脚编号2. 下载infrared软件包3. 配置infrared软件包4. 打开STM32CubeMX进行相关配置4.1 使用外部高速时钟&#xff0c;并修改时钟树4.2 打开定时器16(定时器根据自己需求调整)4.3 打开串口4.4 生成工程 5. 打开HW…

Ollama Docker 镜像部署

文章来源&#xff1a;Docker 部署文档 -- Ollama 中文文档|Ollama官方文档 仅 CPU docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama英伟达 GPU 安装 NVIDIA Container Toolkit。 使用 Apt 安装 配置存储库 curl -fsSL https://nvidia.g…