华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 免费服务开通全流程与Rest API和OpenAI SDK调用详解

前言

本文将详细介绍DeepSeek-V3/R1 免费服务开通全流程,并且详细讲解通过本地方式Rest API和OpenAI SDK两种方式调用DeepSeek-V3/R1

前提准备

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

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

官方教程文档:官网文档
2、进入ModelArts Studio控制台在这里插入图片描述

3、接受服务服务声明

在这里插入图片描述

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

在这里插入图片描述

5、勾选委托并且创建

在这里插入图片描述

6、服务授权

在这里插入图片描述

7、确认授权

在这里插入图片描述

免费服务开通

1、免费服务:仅适合用于体验模型,且受严格的速率限制。平台可能会不定时调整其适用模型、免费额度、有效期等内容。(免费服务中单个模型提供200万token推理额度,额度消耗完后可开通使用商用级别的推理API服务(仅限贵阳一),或前往我的服务部署为我的服务后付费使用)

在这里插入图片描述

2、领取额度

在这里插入图片描述

3、领取成功

在这里插入图片描述

免费服务在线体验

1、点击在线体验

在这里插入图片描述

2、这里可以进行提问体验感受DeepSeek-V3/R1的能力

在这里插入图片描述

3、参数调配(可以根据需求调配不同的参数,让大模型更加智能)

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

在这里插入图片描述

4、体验感受

  • 我的提问
DeepSeek-V3-32K是什么,能做什么
  • DeepSeek-V3/R1的回答
DeepSeek-V3-32K 是什么?
DeepSeek-V3-32K 是深度求索(DeepSeek)公司开发的一款先进的大型语言模型(LLM)。它基于最新的深度学习技术,具备强大的自然语言处理(NLP)能力,能够理解和生成人类语言。以下是其核心特点:

32K 上下文长度:
模型支持高达 32,000 token 的上下文长度,这意味着它可以处理更长的文本输入,保持对上下文的理解和连贯性,适合长文档、复杂对话和多轮交互场景。

多模态能力:
除了文本处理,DeepSeek-V3-32K 可能还支持图像、音频等多模态数据的处理,能够实现跨模态的理解和生成。

高精度和高效性:
模型经过大规模数据训练高精度的语言理解和生成能力,同时优化了计算效率,适用于多种应用场景。

可定制化:
支持针对特定行业或任务的微调和定制,以满足用户的个性化需求。

DeepSeek-V3-32K 能做什么?
DeepSeek-V3-32K 的应用场景非常广泛,以下是一些主要功能:

文本生成:

撰写文章、报告、故事、。
生成营销文案、社交媒体内容。
自动摘要长篇文章或文档。
对话与问答:

构建智能客服系统,提供即时、准确的回答。
实现多轮对话,支持复杂问题的解答。
作为虚拟助手,协助用户完成日常任务。
翻译与多语言支持:

支持多种语言之间的高质量翻译。
跨语言沟通和文档处理。
代码生成与编程辅助:

自动生成代码片段或完整程序。
提供编程问题解答和调试建议。
辅助开发人员进行代码优化。
数据分析与洞察:

从大量文本数据中提取关键信息。
生成数据报告和可视化图表。
帮助用户发现数据中的模式和趋势。
教育与:

提供个性化学习建议和知识讲解。
自动生成练习题和考试题目。
辅助教师进行课程设计和内容开发。
创意与设计:

生成创意文案、广告语、品牌名称等。
辅助设计工作,如生成图像描述或设计灵感。
多模态应用:

结合图像和音频数据进行跨模态生成如生成图像描述或语音转文字。
支持多模态内容的创作和编辑。
适用场景
企业应用:智能客服、自动化文档处理、市场分析、员工培训等。
教育领域:在线教学、学习辅助、课程开发等。
创意产业:内容创作、广告设计、媒体制作等。
科研与技术:数据分析、代码开发、学术研究等。
--- 总结

DeepSeek-V3-32K 是一款功能强大、灵活多变的大型语言模型,能够满足多种场景下的自然语言处理需求。其超长的上下文支持和多模态能力使其在复杂任务中表现出色,同时其可定制化特性也为企业和个人用户提供了高度适配的解决方案。

在这里插入图片描述

免费服务API调用

API KEY获取

1、点击调用说明可以查看API调用 方法

在这里插入图片描述

2、按照调用说明的步骤进行操作

  • Rest API调用和OpenAI SKD调用两种方式

在这里插入图片描述

3、步骤一: 获取API Key

  • 点击API KEY管理-创建API KEY

在这里插入图片描述

  • 创建API KEY(输入标签和描述)

在这里插入图片描述

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

在这里插入图片描述

  • 密钥创建获取成功即完成了步骤一

在这里插入图片描述

Rest API调用

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

打开pycharm平台,将调用示例代码复制并替换对应的参数信息

  • 复制下方调用示例代码
  • 替换其中的接口信息(API地址、模型名称)为上方接口信息
  • 替换其中的API Key为已获取的API Key

在这里插入图片描述

2、pychram粘贴代码

在这里插入图片描述

3、运行代码(如下显示则为调用成功)

如下报错信息不影响知识一种警告(这个警告信息是由 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、体验成功

在这里插入图片描述

总结

华为云Flexus整合DeepSeek-V3/R1提供低成本高效开发路径:通过ModelArts Studio快速开通免费服务,基于Rest API和OpenAI SDK兼容调用实现V3对话生成与R1逻辑推理,结合MoE架构灵活适配轻量/复杂场景,显著缩短开发周期并降低资源成本。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐