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

私有化部署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

支持图片上传什么的都有

相关推荐
打工仔折腾 AI24 分钟前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
小蒜学长37 分钟前
基于Python的动物救助站管理系统的设计与实现(代码+数据库+LW)
数据库·后端·python·django·动物救助
小小张说故事1 小时前
Python 中 __new__ 和 __init__ 到底谁才是构造函数?一文讲透区别与 5 个坑
后端·python
光依旧1 小时前
MCP实战手记(八):从“能跑“到“能上线“——无状态MCP Server的生产落地清单
java·人工智能·spring boot·架构·ai agent·mcp
用户847172102841 小时前
.shot 文件格式规范
前端·后端
MZ_ZXD0012 小时前
【关注可白嫖源码】--课程设计--毕业设计-- 29210 Vue.js 3+Springboot中药材基本信息与图片查询系统
javascript·spring boot·课程设计·毕设·大作业·程序开发·毕设代做
wang_shu_mo_ran2 小时前
Spring IoC和DI概念篇
java·后端·spring
Cheney Pan2 小时前
第4篇 Spring Boot 应用监控:Micrometer 与 JVM 指标
jvm·spring boot·后端·prometheus
阿钱真强道2 小时前
30 嵌入式操作系统 | 上位机界面:Flask 网页显示 + 控制闭环
后端·python·flask
念何架构之路3 小时前
go-grpc服务端调用
开发语言·后端·golang