当前位置: 首页 > 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.jsqmd.com/news/119314/

相关文章:

  • 【Open-AutoGLM用药提醒黑科技】:揭秘AI如何精准预测最佳服药时间
  • Open-AutoGLM智能用药系统:3大核心机制让你再也不会漏服药物
  • Open-AutoGLM落地案例曝光:某省政务大厅办结时间从7天缩短至45分钟
  • 用药准时率提升90%?Open-AutoGLM时间提醒背后的算法秘密
  • Hall 定理小记
  • Open-AutoGLM实战应用:5步打造你的私人AI养车顾问
  • 挂号排队耗时降低80%?Open-AutoGLM智能调度背后的秘密
  • C++与C比较
  • 《痞子衡嵌入式半月刊》 第 120 期
  • Open-AutoGLM核心技术揭秘:AI驱动下的公积金提取效率革命
  • Open-AutoGLM油站查询性能优化:从响应超时到毫秒级返回的全过程
  • 保险到期总忘记?Open-AutoGLM这5个提醒功能让你再无后顾之忧,
  • 京东Java面试被问:垃圾收集算法(标记-清除、复制、标记-整理)的比较
  • Open-AutoGLM校园预约系统深度解析(核心技术架构曝光)
  • (Open-AutoGLM部署避坑指南):新手最容易忽略的8个配置细节
  • 2025年必看!高铁广告品牌口碑前五强深度解析,公交车身广告/主流网络媒体/户外LED广告/社区门禁广告/公交站台广告价格推荐排行榜单 - 品牌推荐师
  • yuki
  • 10370_基于Springboot的校园志愿者管理系统
  • 位操作符和单目操作符
  • 【限时干货】Open-AutoGLM辅助工具使用手册(仅剩200个免费名额)
  • Open-AutoGLM如何破解社保数据获取难题:技术架构与接口调用深度剖析
  • 还在错过保养周期?Open-AutoGLM实时监控让你永不超期
  • Open-AutoGLM性能调优全攻略:3大瓶颈突破与5倍吞吐量提升秘诀
  • 详细介绍:MongoDB小课堂: 高级查询操作符与游标管理综合指南之深度整合逻辑操作符、字段处理、数组查询与游标控制的最佳实践
  • 【AI驱动的洗车革命】:Open-AutoGLM如何重构传统洗车服务预约体验?
  • Open-AutoGLM预约成功率提升300%:资深用户都在用的自动化工具解析
  • 好写作AI:你的论文为什么越改越差?当心陷入“AI修改陷阱”
  • 你还在等客服回复?,掌握这3种自助预约方式秒杀90%用户
  • 公积金提取太慢?Open-AutoGLM智能引擎提速9倍,你试过了吗?
  • 【企业HR必备工具】:基于Open-AutoGLM的全自动社保查询平台搭建全解析