华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

article/2025/6/7 21:58:58

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

前言

如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何在华为云开通 DeepSeek-V3/R1 商用服务,本地部署搭建详细步骤,带大家体验华为云在线 DeepSeek-V3/R1 以及本地部署使用大模型。

前提准备

1、访问 ModelArts Studio_MaaS大模型即服务平台

官网地址:ModelArts Studio大模型即服务平台

官方教程文档:官网文档

2、进入ModelArts Studio控制台

在这里插入图片描述

3、接受服务服务声明

在这里插入图片描述

4、点击在线推理,授权委托

在这里插入图片描述

5、勾选委托并且创建

在这里插入图片描述

6、服务授权

在这里插入图片描述

7、确认授权

在这里插入图片描述

商用服务开通

1、商用服务开通(**商用服务:**将为您提供商用级别的推理API服务,开放后您可以获取付费API服务。)

商用服务大模型体验是需要收费的输入和输出对于价格如下

在这里插入图片描述

在这里插入图片描述

2、勾选配置,开通商用服务

在这里插入图片描述

3、开通成功,即可在线体验

在这里插入图片描述

商用服务在线体验

1、点击在线体验

在这里插入图片描述

2、参数配置(根据自己的需要选择配置,一般以体验为主的话可以选择默认配置)

参数说明
温度/Temperature设置推理温度,数值较高,输出结果更加随机,数值较低,输出结果更加集中和确定,取值范围:0-2 默认值:不同模型的默认值不同,请以实际环境为准
核采样/top_p设置推理核采样。调整输出文本的多样性,数值越大,生成文本的多样性就越高。 取值范围:0.1~1 默认值:不同模型的默认值不同,请以实际环境为准
top_k选择在模型的输出结果中选择概率最高的前K个结果,取值范围:1~1000 默认值:20

在这里插入图片描述

在这里插入图片描述

3、模型体验(体验模型服务将消耗tokens,费用以实际发生为准)

  • 我的提问
深入讲解华为云ModelArts Studio
  • 大模型的回答
华为云ModelArts Studio是华为云推出的一款面向AI开发者的集成开发环境(IDE),旨在为数据科学家、AI工程师和开发者提供一站式的AI开发平台。它集成了数据准备、模型训练、模型优化、模型部署等全流程的AI开发工具,帮助用户高效地进行AI模型的开发和部署。以下是对ModelArts Studio的深入讲解:1. 核心功能与特点
ModelArts Studio的核心功能涵盖了开发的整个生命周期,主要包括以下几个方面:1.1 数据管理
数据导入与标注:支持从多种数据源(如本地文件、OBS对象存储等)导入数据,并提供自动化的数据标注工具,帮助用户快速生成标注数据集。
数据预处理:内置丰富的数据预处理工具,支持数据清洗、特征工程、数据增强等操作,确保数据质量。
数据集管理:提供统一的数据集管理功能,用户可以地创建、管理、版本化数据集。
1.2 模型开发
模型训练:支持多种深度学习框架(如TensorFlow、PyTorch、MindSpore等),并提供分布式训练能力,加速模型训练过程。
自动化机器学习(AutoML):内置AutoML功能,自动进行模型选择、超参数调优等,降低AI开发门槛。
模型可视化:提供模型训练过程的可视,帮助用户实时监控训练进度、损失函数、准确率等指标。
1.3 模型优化
模型压缩与量化:支持模型剪枝、量化等优化技术,减少模型大小,提升推理速度。
模型转换:支持将训练好的模型转换为不同格式(如ONNX、TensorRT等),便于在不同硬件平台上部署。
1.4 模型部署
在线推理服务:支持一键部署模型为在线,提供RESTful API接口,方便集成到应用中。
边缘部署:支持将模型部署到边缘设备(如华为AI芯片Ascend系列),满足实时性要求高的场景。
模型监控与管理:提供模型服务的监控和管理功能,支持自动扩缩容、负载均衡等。
1.5 开发环境
Jupyter Notebook:内置Jupyter Notebook开发环境,支持Python、R,方便进行交互式开发和调试。
代码托管与版本控制:支持与Git等版本控制系统集成,方便进行代码管理和协作开发。
资源管理与调度:提供灵活的计算资源管理功能,用户可以根据需求选择CPU、GPU、Ascend等硬件资源。
2. 应用场景
ModelArts Studio适用于多种AI应用场景,包括但不限于:计算机视觉:如图像分类、目标图像分割等。
自然语言处理:如文本分类、情感分析、机器翻译等。
语音处理:如语音识别、语音合成等。
推荐系统:如个性化推荐、广告投放等。
3. 优势与价值
一站式开发平台:ModelArts Studio集成了AI开发的各个环节,用户无需在多个工具之间切换,极大提高了开发效率。
高效计算资源:支持多种硬件资源(如GPU、等),并提供分布式训练能力,加速模型训练和推理。
低门槛开发:通过AutoML、可视化工具等功能,降低了AI开发的技术门槛,使更多开发者能够快速上手。
灵活部署:支持云上、边缘等多种部署方式,满足不同场景的需求。
安全可靠:依托华为云的安全体系,确保数据和模型的安全性。
4. 使用流程
使用ModelArts Studio进行AI开发的一般流程如下:****:导入数据并进行标注和预处理。
模型开发:选择合适的算法和框架,进行模型训练和调优。
模型评估:使用测试数据集评估模型性能。
模型部署:将训练好的模型部署为在线服务或边缘设备上的应用。
模型监控与优化:持续监控模型性能,并根据反馈进行优化和迭代。
5. 典型用户
ModelArts StudioAI开发者,包括:数据科学家:进行数据分析和模型开发。
AI工程师:进行模型训练、优化和部署。
企业开发者:将AI能力集成到企业应用中。
6. 未来发展方向
随着AI技术的不断发展,ModelArts Studio也在不断进化,未来可能会在以下方面进行增强:更强大的AutoML能力:进一步提升自动化机器学习的效率,减少人工干预。
更广泛的应用场景支持:扩展到更多行业和领域,如医疗、金融、制造等。
更高效的边缘计算支持:优化边缘设备的模型部署和推理性能,满足实时性要求更高的场景。
总结
华为云ModelArts Studio作为一款功能强大的AI开发平台,集成了从数据准备到模型部署的全流程工具,帮助开发者高效地进行AI模型开发和部署。通过其丰富的功能和灵活的资源管理,ModelArts Studio能够满足不同场景下的AI,降低开发门槛,提升开发效率。

在这里插入图片描述

商用服务API调用

API KEY获取

1、获取API Key(调用MaaS部署的模型服务时,需要填写API Key用于接口的鉴权认证。最多可创建30个密钥。每个密钥仅在创建时显示一次,请确保妥善保存。如果密钥丢失,无法找回,需要重新创建API Key以获取新的访问密钥)

在这里插入图片描述

2、创建API KEY

在这里插入图片描述

3、填写标签和描述

在这里插入图片描述

4、获取密钥并保存(请将此密钥保存在安全且可访问的地方。这是唯一一次可以查看密钥的机会。您以后将无法查看它。但您可以随时创建新的访问密钥)

每个用户可以创建30个API Key

在这里插入图片描述

Rest API调用

1、点击调用说明(只有当服务有免费token额度,或付费状态为“已开通”时,预置服务才可被成功调用)

在这里插入图片描述

2、提供Rest API和OpenAI SDK两种调用方式,调用说明里面非常详细如果有不懂的可以查看如下官方文档

调用ModelArts Studio(MaaS)部署的模型服务

3、Rest API调用方式

步骤一: 获取API Key(上面已经获取到了自己的API Key)

步骤二: 复制调用示例并替换接口信息、API Key

  • 复制下方调用示例代码
  • 替换其中的接口信息(API地址、模型名称)为上方接口信息
  • 替换其中的API Key为已获取的API Key
# coding=utf-8import requests
import jsonif __name__ == '__main__':url = "https://api.modelarts-maas.com/v1/chat/completions" # API地址api_key = "yourApiKey"  # 把yourApiKey替换成已获取的API Key # Send request.headers = {'Content-Type': 'application/json','Authorization': f'Bearer {api_key}' }data = {"model":"DeepSeek-V3", # 模型名称"messages": [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "你好"}],# 是否开启流式推理, 默认为False, 表示不开启流式推理"stream": True,# 在流式输出时是否展示使用的token数目。只有当stream为True时改参数才会生效。# "stream_options": { "include_usage": True },# 控制采样随机性的浮点数,值较低时模型更具确定性,值较高时模型更具创造性。"0"表示贪婪取样。默认为0.6。"temperature": 0.6}response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)# Print result.print(response.status_code)print(response.text)

在这里插入图片描述

4、打开配置好环境的pycharm,将实例代码需要替换的地方替换如何执行代码

此处有三个地方需要根据自己的修改

  • API地址
  • API Key
  • 模型名称

在这里插入图片描述

5、成功调用

如下报错信息不影响知识一种警告(这个警告信息是由 urllib3 库发出的,提示你正在向 api.modelarts-maas.com 发送未经验证的 HTTPS 请求)

在这里插入图片描述

OpenAI SDK调用

1、点击OpenAI SDK

在这里插入图片描述

2、pycharm安装环境(pycharm终端进行环境安装)

pip install --upgrade "openai>=1.0"

在这里插入图片描述

3、如果出校网络超时,或者报错预计是国外镜像源太慢了更换国内镜像源进行下载

pip install --upgrade "openai>=1.0" -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述

4、复制调用代码

在这里插入图片描述

5、粘贴入pycharm命令行

此处有三个地方需要根据自己的修改

  • API地址
  • API Key
  • 模型名称

在这里插入图片描述

6、运行代码

如下报错代表问题出在处理流式响应的方式上。当你设置stream=True时,OpenAI API 返回的是一个生成器对象,需要迭代它来获取完整内容,而不是直接访问choices属性

在这里插入图片描述

  • 修改代码如下
# coding=utf-8from openai import OpenAIbase_url = "API地址" # API地址
api_key = "API Key" # 替换为实际API Keyclient = OpenAI(api_key=api_key, base_url=base_url)response = client.chat.completions.create(model = "DeepSeek-V3", # 模型名称messages = [{"role": "system", "content": "You are a helpful assistant"},{"role": "user", "content": "你好"},],temperature = 1,stream = True
)# 处理流式响应
full_response = ""
for chunk in response:# 先确认choices列表长度大于0if len(chunk.choices) > 0 and chunk.choices[0].delta.content is not None:full_response += chunk.choices[0].delta.contentprint(full_response)

官方实例代码可能会报错所以此处我对代码做了一定的修改,主要修改了

  1. 流式响应处理:使用for chunk in response遍历生成器,获取每个数据块
  2. 增量内容提取:通过chunk.choices[0].delta.content获取每个数据块中的实际文本内容
  3. 内容拼接:将所有数据块的内容累积到full_response
  4. 访问choices[0]之前,添加了len(chunk.choices) > 0的检查,以此保证列表不为空

7、成功运行(如下则表示调用成功)

在这里插入图片描述

8、官方实例不能够实现持续对话,如果要实现终端中的持续对话,你需要在现有代码基础上添加一个循环结构,让用户可以不断输入问题,并持续接收 AI 的回答。以下是修改后的代码:

此处有三个地方需要根据自己的修改

  • API地址
  • API Key
  • 模型名称
# coding=utf-8from openai import OpenAIbase_url = "API地址"  # API地址
api_key = "替换为实际API Key"  # 替换为实际API Keyclient = OpenAI(api_key=api_key, base_url=base_url)# 初始化对话历史
messages = [{"role": "system", "content": "You are a helpful assistant"}]print("开始对话 (输入'退出'结束)")while True:# 获取用户输入user_input = input("\n你: ")# 检查退出条件if user_input.lower() == "退出":print("对话已结束")break# 添加用户消息到对话历史messages.append({"role": "user", "content": user_input})# 调用APIresponse = client.chat.completions.create(model="DeepSeek-V3", # 模型名称messages=messages,temperature=1,stream=True)# 处理流式响应print("AI:", end="", flush=True)full_response = ""for chunk in response:if len(chunk.choices) > 0 and chunk.choices[0].delta.content is not None:content = chunk.choices[0].delta.contentfull_response += contentprint(content, end="", flush=True)# 添加AI回复到对话历史messages.append({"role": "assistant", "content": full_response})

在这里插入图片描述

本地部署商用服务DeepSeek-V3

使用这个改进后的代码,可以与 DeepSeek-V3 模型进行多轮对话,模型会根据完整的对话历史生成回复,就像在聊天应用中一样

这段代码通过调用 DeepSeek-V3 API 实现持续对话功能:

  • 初始化消息历史并循环获取用户输入
  • 将用户消息添加到历史中发送请求
  • 处理流式响应实时显示回复内容
  • 将完整回复追加到历史以保持对话上下文
  • 支持输入 “exit” 终止对话并处理可能的异常

此处也有两个地方需要根据自己的修改

  • API地址
  • API Key
  • 模型名称
# coding=utf-8import requests
import json
import urllib3# 禁用不安全请求警告(仅用于测试环境)
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)def main():url = "https://api.modelarts-maas.com/v1/chat/completions" # API地址api_key = "yourApiKey"  # 把yourApiKey替换成已获取的API Key # 初始化消息历史,包含系统提示messages = [{"role": "system", "content": "You are a helpful assistant."}]headers = {'Content-Type': 'application/json','Authorization': f'Bearer {api_key}'}print("==== 开始对话 ====")print("输入 'exit' 结束对话")while True:# 获取用户输入user_input = input("\n你: ")if user_input.lower() == "exit":break# 添加用户消息到历史messages.append({"role": "user", "content": user_input})# 准备请求数据data = {"model": "DeepSeek-V3",	# 模型名称"messages": messages,"stream": True,"temperature": 0.6}try:# 发送请求response = requests.post(url, headers=headers, data=json.dumps(data), verify=False, stream=True)if response.status_code == 200:print("助手: ", end='', flush=True)full_response = ""# 处理流式响应for line in response.iter_lines():if line:line = line.decode('utf-8')if line.startswith('data: '):data = line[6:]if data != '[DONE]':try:json_data = json.loads(data)if 'choices' in json_data and len(json_data['choices']) > 0:delta = json_data['choices'][0].get('delta', {})content = delta.get('content', '')if content:print(content, end='', flush=True)full_response += contentexcept json.JSONDecodeError as e:print(f"\n解析响应时出错: {e}")# 添加助手回复到消息历史if full_response:messages.append({"role": "assistant", "content": full_response})print()  # 换行else:print(f"\n请求失败,状态码: {response.status_code}")print(response.text)except requests.exceptions.RequestException as e:print(f"\n请求异常: {e}")breakif __name__ == '__main__':main()

在这里插入图片描述

商用服务模型体验-文本对话

1、进入模型体验中心

在这里插入图片描述

2、商用服务模型体验

在这里插入图片描述

3、体验成功

在这里插入图片描述

模型广场

在这里插入图片描述

模型广场页面,ModelArts Studio大模型即服务平台提供了丰富的开源大模型,在模型详情页可以查看模型的详细介绍,根据这些信息选择合适的模型进行训练、推理,接入到企业解决方案中。

总结

华为云平台通过"零门槛商用接入+深度定制化部署"双路径,为开发者提供全栈AI开发支持——商用服务开通环节,依托ModelArts Studio实现API兼容的一键开通与Token级弹性计费,开发者可快速调用DeepSeek-V3/R1的强逻辑/长文本能力,结合企业级安全组、日志审计与多区域节点保障生产稳定性。


http://www.hkcw.cn/article/CfqAjOxJIU.shtml

相关文章

传统业务对接AI-AI编程框架-Rasa的业务应用实战(1)--项目背景即学习初衷

我的初衷:我想学习AI。具体的方向是这样的:原本传统的平台业务去对接智能体。比如发票业务,发票的开具、审核、计税、回款等。根据用户在业务系统前台界面输入若干提示词 或者 语音输入简短语音信息,可以通过智能体给出需要处理的…

【八股消消乐】索引失效与优化方法总结

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本专栏《八股消消乐》旨在记录个人所背的八股文,包括Java/Go开发、Vue开发、系统架构、大模型开发、具身智能、机器学习、深度学习、力扣算法等相关知识点&#xff…

Java面试八股--06-Linux篇

目录 一、Git 1、工作中git开发使用流程(命令版本描述) 2.Reset与Rebase,Pull与Fetch的区别 3、git merge和git rebase的区别 4、git如何解决代码冲突 5、项目开发时git分支情况 二、Linux 1、Linux常用的命令 2、如何查看测试项目的…

动态规划-647.回文子串-力扣(LeetCode)

一、题目解析 这里的子字符串是连续的,与之前的子序列不同,这里需要我们统计回文子串的数目。 二、算法原理 这里也有其他算法可以解决该问题,如中心扩展算法 时间复杂度O(N^2)/空间复杂度O(1),马拉车算法(具有局限性) 时间复杂…

条形进度条

组件 <template><view class"pk-detail-con"><i class"lightning" :style"{ left: line % }"></i><i class"acimgs" :style"{ left: line % }"></i><view class"progress&quo…

大模型赋能:金融智能革命中的特征工程新纪元

一、AI进化论&#xff1a;从“判别”到“生成”的金融新战场 1.1 判别式AI的“痛点”与大模型的“破局” 想象这样一幅画面&#xff1a;银行风控模型像老式收音机&#xff0c;需要人工反复调试参数才能捕捉风险信号&#xff1b;而大模型则是智能调音台&#xff0c;能自动“听…

HA: Wordy靶场

HA: Wordy 来自 <HA: Wordy ~ VulnHub> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.128&#xff0c;靶场IP192.168.23.130 3&#xff0c;对靶机进行端口服务探…

技巧小结:外部总线访问FPGA寄存器

概述 需求&#xff1a;stm32的fsmc总线挂载fpga&#xff0c;stm32需要访问fpga内部寄存器 1、分散加载文件将变量存放到指定地址即FPGA寄存器地址 sct文件指定变量存储地址&#xff0c;从而可以直接访问外设&#xff0c;&#xff08;28335也可以&#xff0c;不过用的是cmd文件…

深入理解 x86 汇编中的重复前缀:REP、REPZ/REPE、REPNZ/REPNE(进阶详解版)

一、重复前缀&#xff1a;串操作的 “循环加速器” 如果你写过汇编代码&#xff0c;一定遇到过需要重复处理大量数据的场景&#xff1a; 复制 1000 字节的内存块比较两个长达 200 字符的字符串在缓冲区中搜索特定的特征值 手动用loop指令编写循环&#xff1f;代码冗长不说&a…

【PCB设计】STM32开发板——原理图设计(电源部分)

一、PCB设计流程 二、准备工作 1.点击文件新建工程并命名 2.新建图页 在绘制较为复杂的原理图时&#xff0c;可以建立多个图页&#xff0c;使得原理图更加清晰。 右击原理图→新建图页 右击→重命名 3.设计规则相关配置 取消勾选第22个 4.调整页面大小 5.放置“电源树”图片…

C++仿RabbitMQ实现消息队列

前言 本项目将使用 C 在 Linux&#xff08;CentOS 7.6&#xff09; 环境下开发一个仿 RabbitMQ 的简易消息队列。 开发和调试环境如下&#xff1a; 操作系统&#xff1a;Linux (CentOS 7.6) 编辑器&#xff1a;Visual Studio Code / Vim 编译器&#xff1a;g&#xff08;GNU…

离散数学_数理逻辑(二):命题逻辑的推理

前言 每一件事都存在现象和本质.现象是表面,本质是内在.数学可以说是自然科学之母,是一切自然现象的本质.对于编程,表面上是在写代码,实际上是在用离散数学理解问题和解决问题. 引入 命题逻辑的推理部分. "推理"在思考中占了很大比重.笔者曾经把学习方法分了两种:一…

KITTI数据集(计算机视觉和自动驾驶领域)

KITTI&#xff08;Karlsruhe Institute of Technology and Toyota Technological Institute at Chicago&#xff09;数据集是计算机视觉和自动驾驶领域中最广泛使用的基准数据集之一。它由德国卡尔斯鲁厄理工学院和美国芝加哥丰田技术研究所联合发布&#xff0c;旨在推动自动驾…

力扣4.寻找两个正序数组的中位数

文章目录 题目介绍题解 题目介绍 题解 题解链接&#xff1a;题解 核心思路&#xff1a;通过二分查找的确定分割点使左右两部分元素数量相等。 class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int n1 nums1.length;int n2 nums2.length…

Windows下将Nginx设置注册安装为服务方法!

一、需求背景 每次启动 Nginx 都要去到 Nginx 安装目录下寻找 nginx.exe 文件点击&#xff0c;很是麻烦。 并且远程登录桌面&#xff0c;有时注销用户&#xff0c;会把在当前用户打开的nginx关闭了。 于是考虑可不可以跟其它服务一样能够开机自启&#xff1f;显然是可以的。…

web第九次课后作业--SpringBoot基于mybatis实现对数据库的操作

前言 在前面我们学习MySQL数据库时&#xff0c;都是利用图形化客户端工具(如&#xff1a;idea、datagrip)&#xff0c;来操作数据库的。 在客户端工具中&#xff0c;编写增删改查的SQL语句&#xff0c;发给MySQL数据库管理系统&#xff0c;由数据库管理系统执行SQL语句并返回执…

SpringBoot+XXL-JOB:高效定时任务管理

一、前言 在现代应用程序中&#xff0c;定时任务是不可或缺的一部分。Spring Boot 和 XXL-Job 为你提供了一个强大的工具组合&#xff0c;以简化任务调度和管理。本文将带领你探索如何将这两者集成在一起&#xff0c;实现高效的定时任务管理。无论你是初学者还是有经验的开发者…

java-spring

入门案例 通过bean创建对象 先通过spring的ClassPathXmlApplicationContext读取xml文件 ,然后通过getbean()函数获取对象&#xff0c;进行操作通过反射机制&#xff0c;吸纳Class的函数forName(class属性)创建对象&#xff0c;然后clazz.getDeclaredConstructor().newinstanc…

springboot @value

#springboot value value 可以读取 yaml 中 的数据

简单爬虫框架实现

1. 框架功能概述 (1) HttpSession 类&#xff1a;请求管理 功能&#xff1a;封装 requests 库&#xff0c;实现带重试机制的 HTTP 请求&#xff08;GET/POST&#xff09;。关键特性&#xff1a; 自动处理 429&#xff08;请求过多&#xff09;、5xx&#xff08;服务器错误&am…