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

发布于:2025-06-04 ⋅ 阅读:(28) ⋅ 点赞:(0)

华为云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-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)

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

  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-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的强逻辑/长文本能力,结合企业级安全组、日志审计与多区域节点保障生产稳定性。


网站公告

今日签到

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