华为开发者空间:基于仓颉编程语言和DeepSeek开发智能聊天机器人
【摘要】 帮助开发者了解CodeArts IDE for Cangjie编辑器的能力,以及如何利用仓颉编程语言和DeepSeeK接口开发出功能强大的AI聊天助手,为用户提供更加智能、便捷的服务体验。
一、案例介绍
本案例基于华为开发者空间云主机的 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元。
资源名称 |
规格 |
单价(元) |
时长(分钟) |
云主机 |
2vCPUs | 4GB | X86 | Ubuntu 或 4vCPUs | 8GB | ARM | Ubuntu |
免费 |
40 |
五、熟悉CodeArts IDE for Cangjie编辑器
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文件代码:
package demo
func println_add(a: Int64, b:Int64): Int64 {
let number: Int64 = a+b
println(number)
return number
}
main(): Int64 {
println("hello world")
println_add(3,4)
println("hello Cangjie")
return 0
}
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聊天机器人。
在云主机桌面底部菜单栏,点击打开火狐浏览器。用火狐浏览器访问Model Arts Studio 首页 :https://www.huaweicloud.com/product/modelarts/studio.html,点击ModelArts Studio控制台跳转到登录界面,按照登录界面提示登录,即可进入ModelArts Studio控制台。
签署免责声明。
进入ModelArts Studio控制台首页,在左侧菜单栏,选择模型推理,在旧版服务中选择DeepSeek-R1-671B-xxK模型点击领取。
领取后点击调用说明,可以获取到对应的API地址、模型名称。
点击API Key管理-创建API Key。(注意保存好API Key)
到这里华为云MaaS提供的免费DeepSeek Tokens就领取完成啦,记录对应的API地址、模型名称、API Key留作下面步骤使用。
6.2 Cangjie对接DeepSeek开发AI聊天助手
进入云主机桌面,右键选择Open Terminal Here打开终端命令窗口,克隆仓颉示例代码仓库。
git clone -b 0.53.13 https://gitcode.com/Cangjie/Cangjie-Examples.git
使用CodeArts IDE for Cangjie打开AIChat示例项目。左上点击文件—打开项目,选择前面克隆的示例代码目录Cangjie-Examples下的AIChat打开。
修改配置config.json配置文件,配置DeepSeek的API信息。
配置信息:
配置项 |
内容 |
model |
6.1步骤中获取到的模型名称 |
api_key |
6.1步骤中获取到的API Key |
base_url |
6.1步骤中获取到的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
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)