华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
前言
如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何在华为云开通 DeepSeek-V3/R1 商用服务,本地部署搭建详细步骤,带大家体验华为云在线 DeepSeek-V3/R1 以及本地部署使用大模型。
前提准备
1、访问 ModelArts Studio_MaaS大模型即服务平台
官方教程文档:官网文档
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-8 import requests import json if __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-8 from openai import OpenAI base_url = "API地址" # API地址 api_key = "API Key" # 替换为实际API Key client = 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列表长度大于0 if len(chunk.choices) > 0 and chunk.choices[0].delta.content is not None: full_response += chunk.choices[0].delta.content print(full_response)
官方实例代码可能会报错所以此处我对代码做了一定的修改,主要修改了
- 流式响应处理:使用
for chunk in response
遍历生成器,获取每个数据块- 增量内容提取:通过
chunk.choices[0].delta.content
获取每个数据块中的实际文本内容- 内容拼接:将所有数据块的内容累积到
full_response
中- 访问
choices[0]
之前,添加了len(chunk.choices) > 0
的检查,以此保证列表不为空7、成功运行(如下则表示调用成功)
8、官方实例不能够实现持续对话,如果要实现终端中的持续对话,你需要在现有代码基础上添加一个循环结构,让用户可以不断输入问题,并持续接收 AI 的回答。以下是修改后的代码:
此处有三个地方需要根据自己的修改
- API地址
- API Key
- 模型名称
# coding=utf-8 from openai import OpenAI base_url = "API地址" # API地址 api_key = "替换为实际API Key" # 替换为实际API Key client = 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}) # 调用API response = 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.content full_response += content print(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-8 import 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 += content except 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}") break if __name__ == '__main__': main()
商用服务模型体验-文本对话
1、进入模型体验中心
2、商用服务模型体验
3、体验成功
模型广场
模型广场页面,ModelArts Studio大模型即服务平台提供了丰富的开源大模型,在模型详情页可以查看模型的详细介绍,根据这些信息选择合适的模型进行训练、推理,接入到企业解决方案中。
总结
华为云平台通过"零门槛商用接入+深度定制化部署"双路径,为开发者提供全栈AI开发支持——商用服务开通环节,依托ModelArts Studio实现API兼容的一键开通与Token级弹性计费,开发者可快速调用DeepSeek-V3/R1的强逻辑/长文本能力,结合企业级安全组、日志审计与多区域节点保障生产稳定性。