SpringAI整合DeepSeek解锁更强大的AI能力

随着Deepseek的火爆,Spring AI 插上 DeepSeek 的翅膀,飞向智能新高度!DeepSeek 如同 Spring AI的“最强大脑”,将为其注入强大的 AI 能力,开启智能应用的新纪元。

本章采用Ollama本地部署Deepseek,并应用整合到Spring AI中。

01 本地部署Ollama

1.1 进入Ollama官网

链接地址:https://ollama.com/

可以根据自己的需求下载macOS、Linux、Windows版本的Ollama。

本章采用Linux方式部署, 直接复制命令在Linux执行即可。

注意:

这里的Linux系统使用的Centos7,笔者之前在搭建过程中使用过Centos5.x,中间出现了各种问题,无法安装成功。使用Centos7之后就很顺利完成Ollama的安装。

1.2 检查是否安装成功
ollama -v

出现Ollama的版本说明Ollama已经安装完成。

02 本地部署Ollama

Ollama中提供了大量的模型,可以根据自己的需要结合服务器的性能下载。从Ollama官网可以看到Deepseek模型的下载量稳居榜首。

2.1 拉取Deepseek-r1模型

Deepseek-r1模型提供7个不同参数的模型,不同的参数要求的服务器性能也不同,其中 671b 是满血版。笔者采用1.5b的参数部署,方面演示。

2.2 使用Ollama拉取大模型
ollama pull deepseek-r1:1.5b
2.3 查看大模型
ollama list

2.4 运行大模型
ollama run deepseek-r1:1.5b

启动完成之后就可直接和大模型对话了。

2.5 结束对话
/bye

2.6 Ollama 配置远程访问

Ollama 默认时不支持远程访问的,需要增加远程服务的配置。如果不配置就会出现使用IP访问时,无法访问的情况,这也是一种安全机制。

vim /etc/systemd/system/ollama.service  

# 增加远程配置项
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"  
 
# 重启Ollama服务
systemctl daemon-reload
systemctl restart ollama

03 Spring AI的集成

Spring AI已经有发布了预发布版本。

1.0.0-M6

Spring AI有多种大模型的接入方式:

本章采用Ollama的方式介入。

3.1 依赖引入
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.ai</groupId>
                <artifactId>spring-ai-bom</artifactId>
                <version>1.0.0-M6</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
 </dependencyManagement>


<dependency>
     <groupId>org.springframework.ai</groupId>
     <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
</dependency>
3.2 配置
# Ollama服务地址
spring.ai.ollama.base-url=http://10.100.213.25:11434
# 模型选择
spring.ai.ollama.chat.model=deepseek-r1:1.5b
# 模型精度
spring.ai.ollama.chat.options.temperature=0.7
3.3 demo代码展示

这里需要注入OllamaChatModel

/**
 * Spring AI
 *
 * @Author: ws
 * @Date: 2025/2/24 15:10
 */
@RestController
public class FooController {

    @Autowired
    private OllamaChatModel ollamaChatModel;

    /**
     * @Description: 普通的调用
     *
     * @Author: ws
     * @Date: 2025/2/24 16:32
     **/
    @GetMapping("/ai/generate")
    public Map<String,String> generate(@RequestParam(value = "message", defaultValue = "请给我讲一个笑话") String message) {
        return Map.of("generation", this.ollamaChatModel.call(message));
    }

    
    /**
     * @Description: 响应式调用
     *
     * @Author: ws
     * @Date: 2025/2/24 16:32
     **/
    @GetMapping("/ai/generateStream")
    public Flux<ChatResponse> generateStream(@RequestParam(value = "message", defaultValue = "请给我讲一个笑话") String message) {
        Prompt prompt = new Prompt(new UserMessage(message));
        return this.ollamaChatModel.stream(prompt);
    }
}
3.4 效果展示

3.5 注意事项

在使用Spring AI调用大模型时,无需启动Ollama的大模型。调用时会自动调用大模型。

04 终章

如果你的电脑配置足够可以,可以使用671b的满血版,开启新的AI篇章。

博主的微信新开了微信公众号:
在这里插入图片描述

### 将 Spring AIDeepSeek 集成并使用 OpenAI API 为了使应用程序能够利用 Spring AI 并通过 DeepSeek 的 OpenAI 兼容模式进行交互,开发者需遵循特定配置流程[^1]。 #### 准备工作环境 确保项目已引入必要的依赖库。对于 Maven 构建工具而言,在 `pom.xml` 文件内添加如下依赖项: ```xml <dependency> <groupId>com.deepseek</groupId> <artifactId>deepseek-openai-client</artifactId> <version>${latest.version}</version> </dependency> ``` #### 创建客户端实例 创建一个用于访问 DeepSeek 接口的服务类,并初始化支持 OpenAI 协议的客户对象。这允许应用层逻辑如同直接面对官方服务般简洁明了地发起请求。 ```java import com.deepseek.openai.client.OpenAIClient; import org.springframework.stereotype.Service; @Service public class AiService { private final OpenAIClient client; public AiService() { this.client = new OpenAIClient("your_api_key", "https://api.deepseek.com/v1"); } // 方法定义... } ``` #### 发起 API 请求 借助于上述构建好的 `client` 对象执行具体的自然语言处理任务或其他智能计算功能。例如发送提示词获取回复内容的操作可参照下面代码片段所示方式完成。 ```java String response = client.createChatCompletion( Arrays.asList(new ChatMessage(ChatRole.USER, "你好")), Model.ID_003, null ); System.out.println(response); ``` 以上过程展示了怎样快速搭建基于 Java 技术栈的应用程序框架,从而有效连接至第三方提供的先进人工智能服务平台——DeepSeek,同时享受后者所提供的广泛兼容性和便捷易用性的双重优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智_永无止境

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值