当前位置: 首页 > news >正文

CangjieMagic-Cjoy大模型问答Web应用示例

代码示例gitcode地址

https://gitcode.com/yunting/CangjieMagic-WebDemo.git

cjpm.toml

[package]cjc-version = "1.0.0"name = "magicwebdemo"description = "nothing here"version = "1.0.0"target-dir = ""src-dir = ""output-type = "executable"compile-option = ""override-compile-option = ""link-option = ""package-configuration = {}[dependencies]cjoy = { git = "https://gitcode.com/Cangjie-SIG/cjoy.git", branch = "main" }magic = { path = "./CangjieMagic" }  

代码示例

package magicwebdemoimport magic.dsl.*
import magic.prelude.*
import magic.config.Config
import cjoy.*
import std.env.*@agent[ model: "dashscope:qwen-plus",executor: "naive",rag: {source: "./docs/tutorial.md",  // 静态知识库支持mode: "static"}
]
class QABot {@prompt[pattern: ERA] (expectation: "代码块被标签 ```cangjie 和 ```包裹",role: "简单问答助手",action: "搜索文档获取知识并回答问题")
}func chat(q: String, emitter: JoySseEmitter, agent: QABot): Unit {let result = agent.chat(q)emitter.sendEvent(JoyServerEventBuilder().data("${result}\n\n"))emitter.sendEvent(JoyServerEventBuilder().data("done\n\n"))emitter.end()
}main(): Int64 {//获取环境变量match (getVariable("DASHSCOPE_API_KEY")) {case Some(key) => Config.env["DASHSCOPE_API_KEY"] = keycase None =>println("ERROR: 请设置环境变量 DASHSCOPE_API_KEY")return 1}Config.defaultEmbeddingModel = ModelManager.createEmbeddingModel("dashscope:text-embedding-v2")//创建对话Agent实例let agent = QABot()//配置服务var cfg = JoyConfig()cfg.enableDebugLog = true// 创建joy实例let joy = Joy.create(cfg)//启动页面joy.router.staticFile("/index", "./frontend/index.html")//对话接口joy.router.get("/chat", { ctx: JoyContext =>//跨源ctx.header("Access-Control-Allow-Origin", "*")let emitter = ctx.eventEmitter()let q = ctx.getQuery("q").getOrDefault({ =>"你好" })println("q: ${q}")chat(q, emitter, agent)})//启动服务joy.run("0.0.0.0", 18881)return 0
}

运行示例

localrun

http://www.rkmt.cn/news/131361.html

相关文章:

  • 【Open-AutoGLM用药提醒黑科技】:揭秘AI如何精准预测最佳服药时间
  • Open-AutoGLM实战应用:5步打造你的私人AI养车顾问
  • Open-AutoGLM核心技术揭秘:AI驱动下的公积金提取效率革命
  • Open-AutoGLM油站查询性能优化:从响应超时到毫秒级返回的全过程
  • yuki
  • Open-AutoGLM如何破解社保数据获取难题:技术架构与接口调用深度剖析
  • 10370_基于Springboot的校园志愿者管理系统
  • 【限时干货】Open-AutoGLM辅助工具使用手册(仅剩200个免费名额)
  • 详细介绍:MongoDB小课堂: 高级查询操作符与游标管理综合指南之深度整合逻辑操作符、字段处理、数组查询与游标控制的最佳实践
  • Open-AutoGLM预约成功率提升300%:资深用户都在用的自动化工具解析
  • 紧急通知:全国首批Open-AutoGLM试点单位名单公布,你的城市在列吗?
  • 揭秘Open-AutoGLM自动社保查询系统:如何3分钟完成百人参保数据采集
  • 为什么90%的预约系统都失败了?:Open-AutoGLM三大设计原则全公开
  • 从0到1构建智能洗车预约系统,Open-AutoGLM实战全流程详解
  • 【每日算法】LeetCode238. 除自身以外数组的乘积
  • 为什么90%的洗车平台都失败了?Open-AutoGLM架构设计中的6个关键决策
  • 手把手教你部署Open-AutoGLM自动下单引擎:7天实现服务响应提速8倍
  • 【Open-AutoGLM实战指南】:5大场景全覆盖,轻松实现零材料提取
  • Python-Locust-压测
  • 详细介绍:图论中邻接矩阵和邻接表详解
  • 2025年AI智能体来了,企业却还在试水池里扑腾!
  • 快速沃尔什变换 FWT
  • 为什么顶级政务部门都在悄悄部署Open-AutoGLM?(内部技术白皮书流出)
  • 还在手动填表?Open-AutoGLM智能填报系统让政务办理效率翻10倍
  • 为什么头部家政公司都在悄悄接入Open-AutoGLM?真相令人震惊
  • 【高效出行必备技能】:利用Open-AutoGLM实现智能加油站实时检索
  • 【Open-AutoGLM校园预约系统实战指南】:手把手教你搭建高效智能服务预约平台
  • 家政O2O新蓝海:Open-AutoGLM智能调度系统的5大核心优势
  • 【稀缺资源抢占秘籍】:用Open-AutoGLM实现健身卡秒约成功率提升90%
  • 非洲经济学者构建计算技能工作坊