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

目录

一、前言

二、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,影响用户体验。后续可针对此问题进行优化,如优化请求策略、设计批量处理机制等,以提升系统性能,更好地发挥该技术栈的应用价值。

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

### 华为云 ModelArts服务器资源配置与分配方法 华为云 ModelArts 是一款面向 AI 开发者的全流程服务平台,支持数据预处理、模型训练、部署等功能。关于 ModelArts服务器资源配置与分配方法,可以从以下几个方面展开说明: #### 1. **计算资源的选择** ModelArts 提供多种类型的计算资源以满足不同的应用场景需求。例如,在 Flexus服务中提到的 Flexus服务器 X 实例和 Flexus 应用服务器 L 实例均可作为底层支撑[^1]。开发者可以根据具体的业务场景选择适合的实例类型,比如 GPU 加速实例用于深度学习训练。 对于 Yolo 模型开发这样的任务,则可能更多依赖于高性能 GPU 资源来加速模型训练过程[^2]。因此,在实际操作前需明确所需硬件规格(如 CPU 核心数、内存大小、GPU 类型及其数量),并通过平台提供的选项完成配置。 #### 2. **账户管理与初次设置** 当获得由管理员分发给每位用户的独立账号之后,首次登录时会被引导至修改默认密码页面[^4]。这一步骤非常重要,不仅保障个人隐私同时也增强了系统的安全性。 接着按照指引进入主界面并确认所选区域是否正确无误——因为不同地理位置可能会对应不一样的数据中心和服务延迟情况等因素影响最终效果表现。另外值得注意的是,“收藏”功能可以帮助快速定位常用工具或模块位置以便日后高效调用。 #### 3. **具体配置流程** - 登录到指定网址后输入用户名及新设定后的密码; - 找到左侧菜单栏里的“三道杠”按钮打开全部可用选项列表; - 定位目标地域节点信息后再切换回原路径继续浏览其他子栏目内容直到找到标注名称为 “ModelArts”的链接入口处单击跳转过去即可开始正式探索之旅啦! 此外还有些额外的小贴士可供参考借鉴:如果希望减少每次重新查找的时间成本的话不妨试试看那个固定图标的功能哟~它能让经常使用的某些特定项目始终保持在显眼的位置方便随时取阅查阅哦~ ```python # 示例代码展示如何连接远程服务器进行自动化脚本编写 import paramiko ssh_client =paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname='your_server_ip', username='root', password='password') stdin, stdout, stderr = ssh_client.exec_command('nvidia-smi') print(stdout.read().decode()) ssh_client.close() ``` 以上就是有关华为云 ModelArts 平台下服务器资源配置的一些基本介绍及相关注意事项。合理规划好各项参数指标能够极大地提升工作效率同时降低成本支出比例达到双赢局面的效果呢! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小明爱吃火锅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值