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

支持图片上传什么的都有

相关推荐
过期动态1 天前
Java开发中的@EnableWebMvc注解和WebMvcConfigurer接口
java·开发语言·spring boot·spring·tomcat·maven·idea
野犬寒鸦1 天前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端·学习
我爱娃哈哈1 天前
SpringBoot + Flowable + 自定义节点:可视化工作流引擎,支持请假、报销、审批全场景
java·spring boot·后端
韩师学子--小倪1 天前
SpringBoot 优雅停服
spring boot·tomcat
AC赳赳老秦1 天前
DeepSeek 辅助科研项目申报:可行性报告与经费预算框架的智能化撰写指南
数据库·人工智能·科技·mongodb·ui·rabbitmq·deepseek
李梨同学丶1 天前
0201好虫子周刊
后端
思想在飞肢体在追1 天前
Springboot项目配置Nacos
java·spring boot·后端·nacos
JavaGuide2 天前
推荐一个基于 Spring Boot 4.0 + Java 21 + Spring AI 2.0 的大模型项目!
java·spring boot·spring
Loo国昌2 天前
【垂类模型数据工程】第四阶段:高性能 Embedding 实战:从双编码器架构到 InfoNCE 损失函数详解
人工智能·后端·深度学习·自然语言处理·架构·transformer·embedding
小马爱打代码2 天前
Spring Boot :使用 Spring Cache 注解方式集成 Redis
spring boot·redis·spring