私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)

embedded/2025/3/4 22:18:16/

私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)

windows部署ollama

Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计

下载ollama

下载地址(mac、linux、windows):https://ollama.com/download
github 的Releases地址:https://github.com/ollama/ollama/releases
下载可能限速,我选择使用阿里云服务器下载然后再ftp下载到本地

 wget https://github.com/ollama/ollama/releases/download/v0.5.8-rc10/OllamaSetup.exe

我下载的版本为v0.5.8-rc10

ps:这里提供一个github加速网站
https://github.akams.cn/
在这里插入图片描述

安装ollama

下载完毕后,直接点击安装(默认安装C盘,确保你的C盘有10G以上的空间)
打开cmd 输入 ollama ,如果有usage提示,那么说明安装成功
注意,关闭ollama进程,然后再执行下面的步骤,因为安装后默认程序已经打开了
在这里插入图片描述
如何验证是否安装成功?
ctrl+r 进入cmd
输入

ollama

如果出现下面的界面说明安装成功
在这里插入图片描述

配置ollama环境变量

这一步是为了确保你以后下载的模型都放在别的地址(因为默认安装到C盘,这里可以将模型下载到别的盘)
打开【系统环境变量】,新建一个系统环境变量{OLLAMA_MODELS}值为{D:ollamamodels}
在这里插入图片描述

配置ollama端口(可选)

默认地址为http://localhost:11434
配置端口 新建一个系统环境变量{OLLAMA_HOST}值为{0.0.0.0:8080}
为什么要改?因为后面用webui里面用的8080,所以我把这里的端口改了
在这里插入图片描述

配置ollama跨域(可选)

配置跨域 新建一个系统环境变量{OLLAMA_ORIGINS}值为{*}
在这里插入图片描述

选择并下载DeepSeek版本

https://ollama.com/library/deepseek-r1
根据电脑性能选择不同的大小,对应不同的命令。

打开cmd输入命令

这里我选择使用1.5b,所以我的命令为

ollama run deepseek-r1:1.5b

然后等待pull就行了
在这里插入图片描述
安装成功后如下图所示
在这里插入图片描述

linux部署ollama

直接上命令行

curl -fsSL https://ollama.com/install.sh | sh
sudo systemctl enable ollama  
sudo systemctl status ollama
sudo systemctl start ollama
ollama run deepseek-r1:1.5b

接口形式调用DeepSeek-(SpringBoot集成)

对接api文档

ollama已经开放了非常全的api接口了,对于全面私人化定制都是可以支持,详情参照官方文档,我这里只是弄了一个简单的示例。

ollama api文档

https://github.com/ollama/ollama/blob/main/docs/api.md

新建工具类方法
package com.example.springtestdemo.ai.util;import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;/*** @date 2025-01-15 10:58:46*/
@Slf4j
public class OllamaUtil {private static String DOMAIN = "http://localhost:11434/api/generate";public static String chatDeepSeek(String model, String question) {String url = DOMAIN;JSONObject body = new JSONObject();body.put("model", model);body.put("prompt", question);// 关闭流式返回,全部生成完再返回数据body.put("stream", false);String result = CommonUtil.postJson(url, body.toJSONString());log.info("【ollama-请求】 结果 {}", result);try {JSONObject resJson = JSONObject.parseObject(result);String response = resJson.getString("response");log.info("【ollama-请求】 结果 {}", response);return response;} catch (Exception e) {log.error("【ollama-请求】异常", e);}return "ok";}
}
新建控制器
package com.example.springtestdemo.ai.controller;import com.example.springtestdemo.ai.QueryParam;
import com.example.springtestdemo.ai.util.OllamaUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;/*** @date 2025-02-07 14:44:56*/
@RestController
public class AiController {@PostMapping("/deepSeek")public String deepSeek(QueryParam query) {String res = OllamaUtil.chatDeepSeek("deepseek-r1:1.5b", query.getQuestion());return res;}
}

在这里插入图片描述

安装 UI使用界面

1、 直接使用eage插件使用
https://www.crxsoso.com/webstore/detail/jfgfiigpkhlkbnfnbobbkinehhfdhndo
支持图片上传什么的都有
在这里插入图片描述


http://www.ppmy.cn/embedded/170018.html

相关文章

探秘基带算法:从原理到5G时代的通信变革【二】Viterbi解码

文章目录 二、关键算法原理剖析2.1 Viterbi 解码2.1.1 卷积码与网格图基础**卷积码****网格图****生成多项式****理想情况下解码过程** 2.1.2 Viterbi 算法核心思想2.1.3 路径度量与状态转移机制2.1.4 算法流程与关键步骤详解2.1.5 译码算法举例与复杂度分析2.1.6 算法代码示例…

基于 RBAC 的前端权限管理实现教程

基于 RBAC 的前端权限管理实现教程 1. 介绍 RBAC 及其在前端的应用 RBAC(基于角色的访问控制,Role-Based Access Control)是一种常见的权限管理方式,核心思想是 用户(User)通过角色(Role&…

Kafka面试题及原理

1. 消息可靠性(不丢失) 使用Kafka在消息的收发过程都会出现消息丢失,Kafka分别给出了解决方案 生产者发送消息到Brocker丢失消息在Brocker中存储丢失消费者从Brocker 幂等方案:【分布式锁、数据库锁(悲观锁、乐观锁…

【每日学点HarmonyOS Next知识】网络请求回调toast问题、Popup问题、禁止弹窗返回、navigation折叠屏不显示返回键、响应式布局

【每日学点HarmonyOS Next知识】网络请求回调toast问题、Popup问题、禁止弹窗返回、navigation折叠屏不显示返回键、响应式布局 1、HarmonyOS http请求回调后,showToast报错? 使用http.HttpRequest.request发起http请求后,在promise的then回…

sql学习笔记(二)

在 SQL 中,using 和 on 是用于连接(join)操作的关键字,它们都用于指定连接条件,但它们在语法和使用场景上有一些区别。以下是它们的详细对比: 一. on关键字 定义 on是最常用的连接条件关键字&#xff0c…

IP属地是通过卫星定位的吗?如何保护用户隐私

在数字时代,网络空间成为了人们日常生活不可或缺的一部分。随着社交媒体、在线服务等平台的兴起,用户IP属地信息的重要性日益凸显。然而,关于IP属地是如何确定的,尤其是是否通过卫星定位这一问题,却常常引发公众的疑问…

GCC RISCV 后端 -- GCC 构建系统简介

前文提过&#xff0c;GNU 的项目一般都是使用 GNU Autotools 来实现它们的构建系统&#xff0c;其主要目的是通过 GNU Autotools 对不同平台&#xff08;Target Triple: <CPU ARCH>-<Vendor>-<OS>-<ABI>&#xff09;进行抽象&#xff0c;使得GNU Autot…

构建私有化AI知识库:基于CentOS的Ollama + DeepSeek-R1 +ragflow 整合部署教程

操作系统&#xff1a;CentOS 7.9 CPU&#xff1a;支持 AVX 指令集的 x86_64 处理器 内存&#xff1a;64GB 存储&#xff1a;SSD 1TB 以上 GPU&#xff08;可选&#xff09; 一、组件介绍 Ollama Ollama 是一个专为在本地机器上部署和运行大型语言模型&#xff08;LLM&a…