springboot集成ollama并调用deepseek

安装ollama 参考上篇文章:springboot集成ollama并调用阿里大模型_springboot 集成 spring-ai-ollama-优快云博客

步骤:

1、在ollama搜索deepseek模型 如果电脑空间够大可以选择671b的

deepseek-r1:671bDeepSeek's first-generation of reasoning models with comparable performance to OpenAI-o1, including six dense models distilled from DeepSeek-R1 based on Llama and Qwen.https://ollama.com/library/deepseek-r1:671bhttps://ollama.com/library/deepseek-r1:671bhttps://ollama.com/library/deepseek-r1:671b2、打开cmd命令,输入以下命令进行安装,安装完成即可输入问题进行对话

ollama run deepseek-r1:671b

图片安装命令是1.5b的只有1G大小,上面命令是671b的有400多G大小

安装完可以测试下:

3、集成

1、准备好一个springboot项目  我这里jdk版本使用的jdk17

 加入springboot-ai自动装配依赖jar

    <dependency>
            <groupId>io.springboot.ai</groupId>
            <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
            <version>1.0.3</version>
        </dependency>

yml配置文件

server:
  port: 8080
spring:
  application:
    name: spring-ai
  ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        options:
          model: deepseek-r1:1.5b
  autoconfigure:
    exclude:
      - org.springframework.cloud.function.context.config.ContextFunctionCatalogAutoConfiguration

controller

import lombok.extern.slf4j.Slf4j;
import org.springframework.ai.chat.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.ollama.OllamaChatClient;
import org.springframework.ai.ollama.api.OllamaOptions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @ClassName:OllamaChatClientController
 * @Author: heng
 * @Date: 2025/1/7 13:56
 * @Description: 使用Ollama聊天api
 */
@Slf4j
@RestController
public class OllamaChatClientController {

    @Autowired
    private  OllamaChatClient ollamaChatClient;

    @GetMapping("/ollama/chat/msg")
    public String sendollaMachat(@RequestParam String msg) {
        return ollamaChatClient.call(msg);
    }

    @GetMapping("/ollama/chat/prompt")
    public Object sendollaMachatV2(@RequestParam String msg) {
        Prompt prompt = new Prompt(msg);
        return ollamaChatClient.call(prompt);
    }

    @GetMapping("/ollama/chat/model")
    public Object sendollaMachatV3(@RequestParam String msg) {
        Prompt prompt = new Prompt(
                msg,
                OllamaOptions.create()
                        .withModel("deepseek-r1:1.5b")
                        .withTemperature(0.4F));
        ChatResponse chatResponse = ollamaChatClient.call(prompt);
        return chatResponse.getResult().getOutput().getContent();
    }
}

测试

### 集成Spring Boot与Vue使用Ollama部署DeepSeek #### 创建Spring Boot应用程序 为了创建一个新的Spring Boot项目,可以利用JHipster来简化这一过程。一旦安装好JHipster工具链,在命令行输入`jhipster`即可启动交互式的应用配置向导[^2]。 ```bash jhipster ``` 完成配置之后,等待几分钟让项目生成完毕。这期间会下载必要的依赖库以及设置开发环境。完成后可以看到如下提示: - **Server application generated successfully** - **Run your Spring Boot application:** `./gradlew bootRun` - **Client application generated successfully** 此时已经成功搭建了一个基于Spring Boot的服务端框架,集成了前端构建工具Webpack用于处理静态资源文件。 #### 构建Vue客户端部分 对于Vue项目的初始化可以选择官方CLI工具——vue-cli来进行操作。通过执行下面这条指令快速建立新的工程目录结构[^3]: ```bash npm install -g @vue/cli vue create client-app cd client-app ``` 在创建过程中可以根据需求选择预设选项或是手动挑选特性组合。推荐采用默认的Babel + ESLint模板作为起点,后续再按需调整优化方案。 #### 实现前后端联调机制 为了让两个独立运行的应用能够相互协作通信,通常会在API网关层面上做文章。具体做法是在Spring Boot里定义RESTful接口供外部访问;而在Vue组件内部则借助axios发起HTTP请求获取数据响应。 ##### 定义Rest Controller (Java Code) ```java @RestController @RequestMapping("/api") public class HelloController { @GetMapping("/hello") public String sayHello() { return "Hello from backend!"; } } ``` ##### 发起Ajax Call (JavaScript Code) ```javascript import axios from 'axios'; export default { methods: { async fetchData() { try { const response = await axios.get('http://localhost:8080/api/hello'); console.log(response.data); } catch (error) { console.error(error); } }, }, }; ``` 以上代码片段展示了如何在一个简单的场景下实现跨域资源共享(CORS),使得前端页面可以通过AJAX方式读取到由后端返回的信息。 #### 使用Ollama部署DeepSeek模型服务 假设现在拥有训练好的机器学习模型(比如名为deepseek),且希望将其托管至云端平台以便于在线推理预测,则可考虑采用Docker容器化技术配合Kubernetes集群管理器进行自动化运维部署。这里提到的ollama是一个假定存在的CI/CD流水线插件名称,实际环境中可能对应其他相似功能的产品或自研脚本。 首先编写一份描述镜像构建流程的Dockerfile: ```dockerfile FROM python:3.9-slim-buster WORKDIR /app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"] ``` 接着提交源码仓库触发持续集成事件,经过编译打包阶段产出可供分发使用的image artifact。最后一步就是把它们推送到私有Registry里面去,方便后续拉取实例化节点。 关于具体的实施细节建议查阅相关文档资料获得更详尽的操作指南和支持说明。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值