华为云Flexus+DeepSeek征文|SpringBoot开发实战:基于ModelArts Studio高效集成DeepSeek大模型服务

发布于:2025-05-16 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

一、前言

二、ModelArts Studio(MaaS)介绍与使用

2.1ModelArts Studio(MaaS)介绍

2.2 ModelArts Studio(MaaS)使用场景

2.3 开通MaaS服务

2.4 开通DeepSeek-V3商用服务

三、MaaS模型服务接口测试

3.1 获取API Key

3.2 获取模型列表接口:/v1/models

3.3 聊天对话型生成调用接口:/v1/chat/completions

3.4 面向传统文本补全接口:/v1/completions

四、Springboot整合MaaS模型服务接口

4.1 Springboot代码整合

4.2 测试验证

4.3 调用统计

五、总结


一、前言

华为云ModelArts Studio(MaaS)作为全托管的AI开发平台,为企业和开发者提供了便捷的大模型部署和应用能力。本文将详细介绍如何通过Spring Boot应用调用ModelArts Studio上部署的DeepSeek-V3模型服务,包括平台介绍、接口测试和代码整合等内容。

二、ModelArts Studio(MaaS)介绍与使用

2.1ModelArts Studio(MaaS)介绍

ModelArts Studio是华为云面向AI开发者的全托管服务平台,支持从数据处理、模型开发到部署上线的全生命周期管理。其ModelArts Studio产品架构如图:

总结其核心优势在于:

  • ​全托管服务​​:无需管理底层基础设施,专注于模型开发和应用
  • ​多模型支持​​:支持多种预训练大模型和自定义模型部署
  • ​弹性扩展​​:根据业务需求自动调整计算资源
  • ​安全可靠​​:提供多层次的安全防护机制

2.2 ModelArts Studio(MaaS)使用场景

华为MaaS服务提供了简单易用的模型开发工具链,支持大模型定制开发,让模型应用与业务系统无缝衔接,降低企业AI落地的成本与难度,能够在多种场景灵活使用。主要有如下场景:

  • ​智能客服​​:快速构建企业级智能客服系统
  • ​内容创作​​:辅助生成文章、故事、代码等内容
  • ​知识问答​​:构建企业知识库问答系统
  • ​数据分析​​:自动化数据分析和报告生成
  • ​多模态应用​​:结合图像、语音等多模态数据处理

2.3 开通MaaS服务

访问MaaS平台,点击MaaS控制台跳转华为云登录页面,登录或者注册华为账号即可。

2.4 开通DeepSeek-V3商用服务

登录成功之后自动跳转ModelArts Studio控制台,在模型推理-在线推理的商用服务找到DeepSeek-V3/R1模型,点击「开通服务」,即可体验对应模型服务。

根据个人需求可以开通DeepSeek-V3或者DeepSeek-R1模型。

开通成功之后,返回控制台就可以看到付费状态显示开通,并且在操作栏可以看到在线体验已高亮。

三、MaaS模型服务接口测试

开通完开通DeepSeek-V3/商用服务,接下来就可以进行模型服务接口调用。MaaS模型服务接口可以参考:调用ModelArts Studio(MaaS)部署的模型服务_AI开发平台ModelArts_华为云

 点击调用说明,可以看到接口请求域名

即请求域名如下:https://api.modelarts-maas.com/,后续所有MaaS模型服务接口都是通过这个请求。MaaS模型服务接口包括下面三个:

  • /v1/chat/completions
  • /v1/models
  • /v1/completions

注意:

  • /v1/models使用GET方法不需要请求体,而/v1/chat/completions与/v1/completions均需要POST请求方式和对应的JSON请求体。
  • 请求头为Authorization: Bearer YOUR_API_KEY,这里注意前面还有Bearer+空格
  • 对于POST请求,还需包含Content-Type: application/json。

3.1 获取API Key

API Key是调用MaaS服务的身份凭证,每个API Key对应唯一的用户和服务权限,在ModelArts Studio控制台-API Key管理进行创建生成。

这里需要注意的是API Key只会展示一次,所以生成完成之后需要复制保存起来。

3.2 获取模型列表接口:/v1/models

​功能说明​​:
该接口用于获取当前用户可用的模型列表,无需请求体,仅需通过请求头传入认证信息。

3.3 聊天对话型生成调用接口:/v1/chat/completions

该接口主要用于对话式交互场景,支持多轮对话和上下文理解,比如向模型提问:介绍一下你的功能?

请求参数如下:

{
  "model": "DeepSeek-V3",
  "messages": [
    {"role": "user", "content": "介绍一下你的功能"}
  ],
  "temperature": 0.7
}

请求响应结果如下:

3.4 面向传统文本补全接口:/v1/completions

这个接口主要是面向传统文本补全,即根据给定的prompt生成相应文本,让其讲一个大灰狼和小白兔的故事。请求参数如下:

{
    "model": "DeepSeek-V3",
    "prompt": "讲一个大灰狼和小白兔的故事",
    "max_tokens": 150,
    "temperature": 0.7
}

请求响应结果如下:

四、Springboot整合MaaS模型服务接口

MaaS模型服务接口测试完毕之后,接下来就可以在代码进行整合了,本次模拟开发一个AI交流工具,主要需求是在网页对话框,输入咨询问题,AI工具能够响应回调,并且后续可以结合自己业务进行改造。

4.1 Springboot代码整合

根据接口文档,编写接口请求MaaS模型聊天对话型生成调用接口/v1/chat/completions工具方法。

public String chat(String question) {

        // 修改 messages 部分,使用 JSONObject 数组而不是 String 数组
        JSONObject json = new JSONObject();
        json.put("model", "DeepSeek-V3");
        JSONArray messages = new JSONArray();
        JSONObject message = new JSONObject();
        message.put("role", "user");
        message.put("content", question);
        messages.add(message);

        json.put("messages", messages);
        json.put("temperature", 0.7);

        String response = HttpRequest.post("https://api.modelarts-    maas.com/v1/chat/completions")
                .body(json.toString()) // 设置请求体为JSON格式
                .header("Authorization", "Bearer " + apiToken)
                .header("Content-Type", "application/json")
                .timeout(20000) // 设置超时时间
                .execute()
                .body();

        // 获取message内容
        JSONObject jsonObject = JSONObject.parseObject(response);
        JSONObject messageR = jsonObject.getJSONArray("choices").getJSONObject(0).getJSONObject("message");
        return messageR.getString("content");
    }

前端可以请求问题咨询,并将接收结果通知响应到前端页面中。

 // 发送消息到后端接口
    function sendMessage() {
        const question = document.getElementById('questionInput').value.trim();
        if (!question) {
            alert('请输入问题!');
            return;
        }

        // 添加用户消息到聊天框
        addMessage(question, 'user');

        // 调用后端接口
        fetch('/maas/v1/chat', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify({ question }), // 发送 JSON 数据
        })
            .then(response => response.json())
            .then(data => {
                // 添加机器人回复到聊天框
                var data = data.data;
                addMessage(data.response, 'bot');
            })
            .catch(error => {
                console.error('Error:', error);
                addMessage('请求失败,请稍后重试。', 'bot');
            });

        // 清空输入框
        document.getElementById('questionInput').value = '';
    }

4.2 测试验证

启动服务,在对话框中输入咨询问题,比如:介绍一下你的功能,可以看到自动将结果渲染到前端页面中。

4.3 调用统计

可以看到调用次数,token数,请求成功和失败数,已经响应时间。

五、总结

本次基于Spring Boot调用ModelArts Studio(MaaS)部署的DeepSeek-V3模型服务项目顺利完成。可以看到其优势显著,整合对接简单,成本低,适合AI小白,只需获取API Key进行HTTP请求即可快速上手,开发效率高且资源投入少,应用场景广泛,能满足多种业务需求。

然而,项目也存在不足,接口调用响应时间较长,平均响应时间达8851.25ms,影响用户体验。后续可针对此问题进行优化,如优化请求策略、设计批量处理机制等,以提升系统性能,更好地发挥该技术栈的应用价值。

大家可以去体验感受一下,欢迎评论区一起交流。


网站公告

今日签到

点亮在社区的每一天
去签到