写点什么

在华为开发者空间,调用 DeepSeek 实现代码自动生成

  • 2025-02-25
    广东
  • 本文字数:2835 字

    阅读完需:约 9 分钟

在华为开发者空间,调用DeepSeek实现代码自动生成

摘要:本文将通过 “开发一款带图形画界面的双人对战游戏” 实践案例,手把手带您掌握在云主机调用 DeepSeek 实现代码自动生成的全流程。


本文分享自华为云社区《华为开发者空间:基于DeepSeek实现代码自动生成》,作者: 开发者空间小蜜蜂


还在为繁琐的代码编写工作头疼吗?是否渴望拥有神奇的 “代码魔杖”,一挥就能化繁为简?现在,使用华为开发者空间云主机调用 ModelArts Studio(MaaS)预置的 DeepSeek V3 模型 API,即可实现代码自动生成。

本次,我们通过 “开发一款带图形画界面的双人对战游戏” 实践案例,手把手带您掌握在云主机调用 DeepSeek 实现代码自动生成的全流程。

本次案例的提示词是依据用户对 Agent 提出的各类问题来设定角色的。开发者可以根据自身需求自定义提示词,赋予 Agent 丰富多样的角色功能。例如,让它变成教师,为学生答疑解惑;也能设定成医生,解答医疗相关疑问;甚至可以是代码编写专家,协助解决编程难题。此外,通过接入数据库,Agent 还能依托专业数据给出更为精准、更具针对性的回答。极大地提升智能化水平,为用户带来更优质的服务体验。

1 概述

1.1 案例时间

本案例总时长预计 60 分钟。

1.2 案例流程


说明:

① 登录云主机,配置开发环境;

② 安装大模型应用开发框架 AutoGen;

③ CodeArts IDE 运行 DeepSeekV3 API 调用程序;

④ 调用 ModelArts Studio 预置 DeepSeekV3 模型;

⑤ 返回生成的代码。

1.3 资源总览

本案例预计花费总计 0 元。

2 基础环境及资源准备

2.1 配置云主机

本案例中,需要调用 DeepSeekV3 大语言模型,需要安装 Python 大模型应用开发框架 AutoGen。

说明:

AutoGen 是一个开源框架,用于构建 AI Agent。它简化了事件驱动、分布式、可扩展和弹性的 Agent 应用程序的创建。它使您能够快速构建系统,其中 AI Agent 可以自主或在人工监督下协作并执行任务。

登录开发者空间,登录后页面如下:


点击“配置云主机”,按如规格下配置云主机:

  • 云主机名称:默认/自定义

  • CPU 架构:X86

  • 规格:2 vCPUs 4 GB

  • 操作系统:Ubuntu

  • 系统镜像:公共镜像 Ubuntu 22.04 server 64bit (xfce4 desktop)

  • 工具:Python 工具集(CodeArts IDE+ Python +Git)

确认以上配置无误,点击“安装”,进行云主机操作系统安装。


安装完毕之后,点击“进入桌面”。


环境准备中,大约需要 3-5 分钟,请您耐心等待。


进入桌面后的默认效果如下:


点击左下角的“所有应用程序”->“开发”->“CodeArts IDE for Python”,打开 IDE。


CodeArts IDE for Python 启动后,在弹框界面,选择“新建工程”。


在新建工程页面,自定义输入工程名称,点击“创建”。


CodeArts IDE for Python 配置自动激活虚拟环境(如果之前配置过可忽略此步骤)。

选择“文件”-“设置”,在搜索框中输入“active”,在下面筛选出的结果中找到“在使用插件创建的终端中激活 Python 环境。”并勾选。


在 CodeArts IDE for Python 中打开终端,点击删除图标,关闭命令行窗口。


再次重新打开终端,如果命令行开头显示“(venv)”,则表示成功激活虚拟环境。


在终端中输入以下命令升级 pip:

pip install --upgrade pip
复制代码



在终端中输入以下命令安装 AutoGen 框架:

 pip install pyautogen
复制代码

注意:由于网络原因可能会失败,如遇失败,请多执行几次以上命令,确保 AutoGen 成功安装。

至此,云主机的开发环境已经配置完成。

2.2 领取 DeepSeek V3 模型

登录进入华为云首页,在产品列表中搜索“ModelArts Studio”服务。


进入 ModelArts Studio 控制台首页。


签署免责声明。


(可选)如果遇到“服务授权提醒”弹窗,参考下面两步进行操作,如果没有则忽略跳过。

1、点击“此处”,进入服务授权页面。

提示:使用服务前需进行实名认证,如未认证则会服务受限。


2、添加授权页面中,选择“新增委托>普通用户”,勾选服务声明,点击“创建”。


进入 ModelArts Studio 控制台首页,在左侧菜单栏,选择“模型部署”,在“预制服务”中选择 DeepSeek-V3-671B-8K 模型,点击“领取”,领取 200 万免费 token。


3 代码自动生成实现

3.1 下载 DeepSeek 接口调用代码

在云主机中用浏览器访问https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/case/0023/Agent.zip,下载 DeepSeek 接口调用代码,鼠标右击下载的 zip 包,选择“在此解压”。


进入解压后的文件,选中文件夹下所有文件并复制。


将复制的代码文件粘贴到创建的 Python 工程路径下,快速进入路径方法如下图所示,在 CodeArts IDE for Python 中,鼠标右击“mian.py”文件,选择“打开所在文件夹”。


代码文件粘贴后,CodeArts IDE for Python 中工程项目会自动加载这些文件。


3.2 配置 DeepSeekV3 接口调用参数

CodeArts IDE for Python 中打开 OAI_CONFIG_LIST.json 文件,其中有 3 个参数的值需要配置,参数说明参考下表:

3 个参数的获取方式请按如下操作:

进入 ModelArts Studio控制台首页,在左侧菜单栏,选择“模型部署”,点击在步骤 2.2 中领取的 DeepSeek V3 模型对应的“调用”。


在滑出的“调用”窗口中,model 的值填写“模型名称”的值,如图中的“DeepSeek-V3”;api_key 的值填写“API 地址”中截止到“v1”前的部分,如图中的https://infer-modelarts-cn-southwest-2.modelarts-infer.com/v1/infers/707c01c8-517c-46ca-827a-d0b21c71b074/v1;点击“管理 API Key”。


进入“鉴权管理”页面,点击“创建 API Key”,自定义输入 API Key 描述,点击“确定”,完成 API Key 的创建。


“您的密钥”弹窗中的密钥值就是 OAI_CONFIG_LIST.json 文件中 api_key 参数待填入的值。

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


3 个参数配置完成如下图所示:


“提示词.txt”是对 AI 角色的设定和要求,比如资深 Python 开发者,你可以根据自己的要求修改这个文件。


3.3 调用 API 生成代码

打开 CodeArts IDE for Python 底部的“终端”,配置 Python 运行环境:

sudo apt-get install python3-tk
复制代码

然后运行 agent.py 文件:

python agent.py
复制代码

终端中出现下图所示内容,表明运行成功,可以与 AI 对话获取代码了。


例如输入:“帮我开发一款带图形画界面的双人对战游戏”(可自定义输入对话内容),回车发送对话内容。


DeepSeekV3 需要经过思考返回结果,请耐心等待。

待返回结果后,我们复制全量的返回代码。


新建一个 game.py 文件,将代码粘贴进去,点击右上角“运行”按钮,运行 game.py 文件,查看运行效果。


如果对返回代码的效果不满意,或者代码中存在问题,可以在“终端”中继续与 DeepSeekV3 对话,提出自己的要求(越具体越好)完善代码。


以上是样例场景,也可以尝试其他场景或者更复杂场景的 Python 代码生成。


至此,在云主机上通过 MaaS DeepSeekV3 模型实现自动生成代码案例全部完成。


● 特别福利:指定论坛贴分享云主机调用 DeepSeek 代码生成截图,抽送华为智能体脂秤、华为云云宝盲盒

即日起-3 月 2 日在指定论坛贴评论区发布云主机调用 DeepSeek 代码生成截图,即可参与抽奖。奖品:华为智能体脂秤 3 个,华为云云宝盲盒 10 个


点击了解详情:https://bbs.huaweicloud.com/forum/thread-0225175330392507014-1-1.html


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 5
用户头像

提供全面深入的云计算技术干货 2020-07-14 加入

生于云,长于云,让开发者成为决定性力量

评论

发布
暂无评论
在华为开发者空间,调用DeepSeek实现代码自动生成_人工智能_华为云开发者联盟_InfoQ写作社区