目录
引言
最近华为发布了CangjieMagic,这基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。这个框架和许多类似的框架,如微软Semantic Kernel差不多。但是它有个优势,就是仓颉语言可以编译成可执行程序并进行轻量化部署,所以理论上说它可以更容易地部署到边端设备上。
CangjieMagic内置了对流行的大模型的支持,包括DeepSeek,不过它内置的支持是官方的API,今天分享一下如何将其集成到华为云的DeepSeek服务中。华为云的DeepSeek服务目前提供了免费额度,更方便做程序测试。
华为云的DeepSeek服务
领取免费额度
ModelArts Studio(MaaS)是华为云提供的模型即服务平台,支持从数据准备到模型部署的全流程操作。当前平台已支持昇腾适配版的DeepSeek-R1/V3(满血版)体验,并且提供 200 万 token 支持开发者免费使用,帮助开发者快速验证和实现创新应用,开发者可以在MaaS平台上轻松部署和使用这一模型。
具体步骤如下:
1、登录华为云控制台,选择区域为“西南-贵阳一”;
2、选择“人工智能”中的“MaaS大模型即部署服务平台”服务;
3、选择“模型推理→在线推理” ,选择“免费服务”,然后领取对应的模型即可。
领取成功之后,就可以获得200万免费token额度。
创建API Key
在调用MaaS的模型服务时,需要填写API Key用于接口的鉴权认证。请创建新的API Key或使用已有API Key,前往 API Key管理。每个账户可以创建30个API Key。
测试CangjieMagic
创建工程
- 通过
cjpm init
新建项目; - 添加对本项目的依赖,需要修改新建项目的
cjpm.toml,
直接配置 git 依赖
[dependencies]
magic = { git = "https://gitcode.com/Cangjie-TPC/CangjieMagic.git", branch = "dev" }
编写程序
有关华为云的DeepSeek服务所需要的参数,可以参考API说明文档。
其中URL只要“v1”及其前面的部分,后面的部分CangjieMagic会自动补上。
华为MaaS服务的模型叫DeepSeek-R1,而不是deepseek-chat,这个也要在程序中进行修改。修改main.cj,输入示例程序。下面的例子是从官方示例修改得到的,记得在代码中设置华为云大模型的 API key。
package demo
import magic.dsl.*
import magic.prelude.*
import magic.config.Config
@agent[model: "deepseek:DeepSeek-R1"]
class BlackCatAssistant {
@prompt(
"你是黑猫警长的助手"
"当接到群众通知后,你需要唱起黑猫警长的专属 BGM 并安抚群众情绪"
)
}
main() {
Config.env["DEEPSEEK_API_KEY"] = "xxxx-s0EOCKOlxbfhJBU_V2KVHw57BBDnRD759eF6didZRS9HD2KhKS36y5s9Q7bMuPRQE0NC6v5bkOdA"
Config.env["DEEPSEEK_BASE_URL"] = "https://maas-cn-southwest-2.modelarts-maas.com/v1/infers/8a062fd4-7367-4ab4-a936-5eeb8fb821c4/v1/"
let agent = BlackCatAssistant()
let result = agent.chat("一只耳来啦")
println(result)
}
运行测试
输入命令cjpm run --name demo即可运行这个测试程序,程序调用DeepSeek的API并进行输出。输出时间有几秒,需要稍微等待一下。
结语
以上就是测试CangjieMagic的一些小心得,后面会对其进行更多测试,看看其在智能体方面的能力如何。