在华为开发者空间:体验用仓颉基于 DeepSeek 开发智能聊天机器人

本文分享自华为云社区《华为开发者空间:基于仓颉编程语言和DeepSeek开发智能聊天机器人》,作者:开发者空间小蜜蜂。
华为开发者空间,汇聚鸿蒙、昇腾、鲲鹏、GaussDB、欧拉等各项根技术的开发资源及工具,致力于为每位开发者提供一台云主机、一套开发工具及云上存储空间,让开发者基于华为根生态创新。点击链接,免费领取您的专属云主机。
一、案例介绍
本案例基于华为开发者空间云主机的 AI 聊天助手开发过程。在开启这一富有挑战的开发之旅时,我们首先借助一个简洁的仓颉项目案例,体验CodeArts IDE for Cangjie编辑器的各项功能。该编辑器不仅功能强大,且预置在云主机环境中,为我们后续的开发工作奠定了良好基础。我们充分利用其便利性,结合仓颉编程语言,展开了智能聊天助手的开发。
在开发过程中,我们还巧妙运用了华为 MaaS 提供的免费 DeepSeeK Tokens,通过实际操作,在云主机内成功编写并实现了一个智能聊天助手。这一过程中,涉及到在 MaaS 服务中领取模型,深度体验 DeepSeek-R1 满血版的各项优势,以及 CodeArts IDE for Cangjie 编辑器的入门使用方法和通过仓颉编程语言实现与 DeepSeek 接口的对接。
本案例帮助开发者了解 CodeArts IDE for Cangjie 编辑器的能力,以及如何利用仓颉编程语言和 DeepSeeK 接口开发出功能强大的 AI 聊天助手,为用户提供更加智能、便捷的服务体验。
二、案例时间
本案例总时长预计 40 分钟。
三、案例流程

说明:
练习使用 CodeArts IDE for Cangjie 编辑器;
领取免费 DeepSeeK Tokens;
仓颉对接 DeepSeek 接口。
四、资源总览
本案例预计花费总计 0 元。

五、基于 CodeArts IDE for Cangjie 开发 AI 聊天机器人
5.1 编辑器介绍
CodeArts IDE for Cangjie 作为一款专门支持仓颉开发的编辑器,常用的语法高亮、错误诊断、自动补全等功能依然具备,通过这些功能提供实时反馈,提升开发效率。同时还提供了丰富的命令行工具供开发者使用。另外支持反向调试,即我们可以在反向调试模式下查看历史调试信息。当前 CodeArts IDE for Cangjie 也提供了Windows x64版本的安装包,大家也可以在个人本地电脑进行安装体验。
当然,华为也提供了更加便捷的使用方式,即在开发者空间云主机中预置了 CodeArts IDE for Cangjie 以及仓颉工具链,开箱即用。

我们先来熟悉下 CodeArts IDE for Cangjie 的基础使用和能力。
5.2 创建项目
在云主机桌面打开 CodeArts IDE for Cangjie。

点击新建工程创建仓颉工程,名称和位置可以自定义,产物类型选择 executable。
*产物类型说明:executable,可执行文件;static,静态库,是一组预先编译好的目标文件的集合;dynamic,动态库,是一种在程序运行时才被加载到内存中的库文件,多个程序共享一个动态库副本,而不是像静态库那样每个程序都包含一份完整的副本。

创建项目后,打开 src 目录下 main.cj 文件,在预置代码中增加函数和函数调用代码。

修改后的 main.cj 文件代码:
5.3 运行项目
点击右上的运行按钮运行项目,在终端中查看输出内容。如果遇到弹窗提示运行/调试配置,点击确定继续操作。

5.4 调试项目
点击右上调试按钮,首次会提示配置调试,点击新增配置项,选择 Cangjie(cjdb)Debug——launch。
*调试模式说明:Launch 模式,启动调试器的同时加载被调程序;Attach,针对正在运行的程序,附加到已启动的程序。

保持默认配置,直接点击确定。

然后可以在 main.cj 代码中设置断点,再次点击调试按钮。可以在顶部看到调试按钮,在左侧看到调试过程中的变量、监视、调用堆栈、断点信息。

5.5 反向调试
反向调试基于记录重放,IDE 设置中开启反向调试功能后,调试服务会记录开发正向调试的所有停止点,以及停止点的线程、堆栈和变量等调试信息。进入反向调试模式,支持查看历史记录点的调试信息。
在编辑器左下点击管理—设置,搜索 reverse debug,开启反向调试。

给 main.cj 打反向断点,选中“println_add(3,4)”行,然后鼠标右键,选择仓颉:添加反向断点。

然后启动调试,正向调试执行到下个断点,然后启动反向调试,可以看到其停留在了反向断点,如果没有反向断点则直接反向到上一个正向断点。

CodeArts IDE for Cangjie 的基础使用我们就练习到这,下面我们使用 Cangjie 编程语言对接 DeepSeek 接口。
六、Cangjie 对接 DeepSeek 接口
6.1 免费领取 DeepSeek R1 满血版
华为云提供了单模型 200 万免费 Tokens,包含 DeepSeek-R1&V3 满血版,我们可以登录华为云 ModelArts Studio(MaaS)控制台领取免费额度,这里我们选择 DeepSeek-R1 满血版来搭建我们的专属 AI 聊天机器人。
在云主机桌面底部菜单栏,点击打开火狐浏览器。用火狐浏览器访问ModelArts Studio首页:https://www.huaweicloud.com/product/modelarts/studio.html,点击 ModelArts Studio 控制台跳转到登录界面,按照登录界面提示登录,即可进入 ModelArts Studio 控制台。

注册/授权MaaS平台,签署免责声明,点击此处进行服务授权。然后点击立即领取跳转到免费体验 Tokens 界面。

选择 DeepSeek-R1-671B-xxK 模型点击领取。

领取后点击调用,可以获取到对应的 API 地址、模型名称。

点击设置-权限管理,创建 API Key。(注意保存好 API Key)

到这里华为云 MaaS 提供的免费 DeepSeek Tokens 就领取完成啦,记录对应的 API 地址、模型名称、API Key 留作下面步骤使用。
6.2 Cangjie 对接 DeepSeek 开发 AI 聊天助手
进入云主机桌面,右键选择 Open Terminal Here 打开终端命令窗口,克隆仓颉示例代码仓库。

使用 CodeArts IDE for Cangjie 打开 AIChat 示例项目。左上点击文件—打开项目,选择前面克隆的示例代码目录 Cangjie-Examples 下的 AIChat 打开。

修改配置 config.json 配置文件,配置 DeepSeek 的 API 信息。
配置信息:


修改 AIChat 文件夹下的 chat.cj 中的数据格式化解析代码,解决解析未知 key 时直接报:unkow key xxx 问题。即 chat.cj 中“case unkow => println("unkow key ${unkow}")”替换为“case _ => r.skip()”。
可以在编辑器中打开 chat.cj 文件后使用 CTRL+F 快捷键,然后选择替换,输入替换前后的代码,重复按回车键,直到需要修改代码行搜索结果为无结果。

最后打开 main.cj,运行项目,我们就可跟 AI 助手进行聊天了。

至此,使用仓颉+DeepSeek 开发 AI 聊天机器人的就完成啦。
如果想要了解更多仓颉编程语言知识可以访问: https://cangjie-lang.cn/
如果想要体验更多仓颉示例可以访问:https://gitcode.com/Cangjie/Cangjie-Examples
评论