AI工业4.0时代:SpringBoot项目接入DeepSeek AI 实践

 先来简单了解一下 DeepSeek

DeepSeek是一家专注于开发先进大语言模型(LLM)及相关技术的人工智能公司,由国内知名量化资管公司幻方量化于2023年7月创立。公司以技术创新和开源路线为核心理念,致力于通过低成本、高性能的AI技术推动人工智能的普惠发展。

核心技术和产品

DeepSeek的技术核心包括:

  1. 混合专家架构(MoE):通过稀疏激活机制,大幅降低计算量,同时保持高性能。

  2. 多头潜在注意力(MLA):优化了模型的训练和推理效率。

  3. 多令牌预测(MTP):允许模型同时预测多个连续位置的token,提高训练效率。

  4. 高效训练框架:采用HAI-LLM框架,支持多种并行策略,显著降低训练成本。

DeepSeek的主要产品包括:

  • DeepSeek-V2/V3:大规模语言模型,具备高效推理能力和低推理成本。

  • DeepSeek-R1:基于强化学习优化的模型,推理能力更强。

  • DeepSeek Coder:专为编码和软件开发设计的专用模型。

核心优势

DeepSeek的核心优势在于其创新的模型架构、高效的训练流程以及开源策略。通过开源,DeepSeek不仅降低了技术门槛,还促进了AI技术的广泛传播和应用。此外,DeepSeek在多模态数据处理、动态推理优化和领域自适应等方面也表现出色。

发展与影响

DeepSeek的快速发展和技术创新使其在全球AI领域迅速崭露头角。其低成本、高性能的模型训练方式被认为可能对整个AI行业产生深远影响。例如,DeepSeek-V3以约600万美元的成本训练出6710亿参数的模型,性能接近甚至超过GPT-4。

DeepSeek通过技术创新和开源策略,正在推动AI技术的普惠化和多样化应用,为全球AI发展提供了新的思路和方向。

接下来,让我们看一下简单的实践效果

首先打开DeepSeek 开放平台:DeepSeek

点击 API keys 并创建 API key ,生成后切记保存(只展示一次)

AI工业4.0时代:SpringBoot项目接入DeepSeek AI 实践_第1张图片

对了, 充值后,才可以使用,一般按需充,最少10元,还是可以的

完事,之后打开你的SpringBoot项目

写一个Service层

package com.medical.service;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.medical.utils.DeepSeekResponse; // 引入 DeepSeekResponse 类
import com.medical.utils.HttpUtils;
import com.sun.tools.javac.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

@Service
public class ApiService {
    @Value("${deepseek.api.key}")
    private String deepseekApiKey;

    @Value("${deepseek.api.url}")
    private String deepseekApiUrl;

    public String query(String content) {
        try {
            Map requestMap = new HashMap<>();
            requestMap.put("model", "deepseek-reasoner");
            Map messageMap = new HashMap<>();
            messageMap.put("role", "user");
            messageMap.put("content", content);
            requestMap.put("messages", Collections.singletonList(messageMap));

            // 转换为 JSON 字符串
            String jsonBody = new ObjectMapper().writeValueAsString(requestMap);

            // 构造请求头
            Map headers = new HashMap<>();
            headers.put("Authorization", "Bearer " + deepseekApiKey);
            headers.put("Content-Type", "application/json");

            // 发送请求
            HttpResponse response = HttpUtils.doPostJson(deepseekApiUrl, headers, jsonBody);

            if (response.getStatusLine().getStatusCode() == 200) {
                String jsonResponse = EntityUtils.toString(response.getEntity(), "UTF-8");

                // 解析响应并提取 content 字段
                ObjectMapper objectMapper = new ObjectMapper();
                DeepSeekResponse deepSeekResponse = objectMapper.readValue(jsonResponse, DeepSeekResponse.class);
                if (deepSeekResponse.getChoices() != null && !deepSeekResponse.getChoices().isEmpty()) {
                    return deepSeekResponse.getChoices().get(0).getMessage().getContent();
                } else {
                    return "No content found in response.";
                }
            } else {
                throw new RuntimeException("Failed to get response from DeepSeek API. Status code: " + response.getStatusLine().getStatusCode());
            }
        } catch (Exception e) {
            e.printStackTrace();
            return "Error: " + e.getMessage();
        }
    }
}

前端代码

/**
 * 初始化聊天窗口滚动条
 */
function messageInit() {
    let height = $("#messages")[0].scrollHeight;
    $("#messages").scrollTop(height);
}

/**
 * 发送消息
 */
function send() {
    let message = $('#message').val();
    if (!message) {
        return;
    }
    $('#messages').append("

现在

" + message + "

"); messageInit(); $('#message').val(''); $.ajax({ type: "POST", url: "message/query", data: { content: message, }, dataType: "json", success: function (data) { if (data['code'] === 'SUCCESS') { message = data['message']; $('#messages').append("
\n" + "
\n" + " \"image\"\n" + "
\n" + "
\n" + "

现在

\n" + "

\n" + message + "

\n" + "
\n" + "
"); messageInit(); } } }); }

打开application.yml文件

AI工业4.0时代:SpringBoot项目接入DeepSeek AI 实践_第2张图片

url 配置 https://api.deepseek.com/v1/chat/completions

key 配置刚才你生成 APIkey

OK 启动项目 看效果

AI工业4.0时代:SpringBoot项目接入DeepSeek AI 实践_第3张图片

这个实践很简单,个人觉得很有意思,挺好玩,就分享一下,如果各位大佬有什么 AI 学习的方向可以分享一下,一起学习,紧跟时代。

你可能感兴趣的:(人工智能,java,开发语言,AI)