背 景
技术背景:以支持长对话系统助手为例,结合代码生成工具(iFlyCode)与星火大模型(Spark X1)构建智能化开发流程。详细的演示使用iFlyCode生成前端页面以及rust后端系统的可行性以及高效性。
开发思路:从0搭建一个智能问答系统,通过前后端联调的方式,使用iFlyCode按模块生成相关组件,最后接入星火大模型Spark X1,完成demo的设计。
研发过程
2.1 项目初始化(Vue3 + Rust)
1、vue前端:node.js的安装、vite的安装、vscode的安装。
2、rust后端:rustup安装、RustRover软件安装、actix-web安装、openaiapi-rs安装、tokio安装。
3、星火大模型Spark X1 API使用
首先进行实名认证,获取http API key,借助iflycode生成调用API的代码,进行测试是否能正常连接大模型。
2.2、模块拆分 & 代码生成
2.2.1、模块拆分
效果展示:
前后端项目结构:
2.2.2 代码生成
2.2.2.1前端代码生成
1.提示词
生成后的代码在处理生成Session ID的过程不太严谨,我们使用iflycode的代码优化功能,优化了代码, 测试中得到正确的数据。
2、聊天插件的代码生成
3、调整后的结果
2.2.2.2、后端代码生成
提示词
友情提示:由于结构比较复杂,本次使用了ifycode内置星火模型X1进行解答和生成代码
使用rust语言,编写一个智能客服问答后台,下述是要求:
共有api/multiple_client.rs、service/multiple_client.rs、 model/multiple_client.rs三个主要文件
前端传输过来的数据是”会话id+会话内容"对应路径是"/chat"
系统支持长对话机制和历史会话保存功能
暂不使用数据库进行会话的存储,以实现会话问答的功能为主
2.聊天插件的代码生成
我们按照类似于mvc的架构进行后端代码开发。
api/multiple_client.rs
代码在运行的时候出现点问题,我们使用iflycode纠错功能,进行代码纠错,你工作上的debug小能手!
service/multiple_client.rs
对于比较繁长的代码,不便于我们阅读理解,这时候iflycode的函数拆分功能就很实用,能把复杂的函数拆分成许多小函数,并添加详细注释,对于想快速成长的程序员是一个很大的帮助!
models/multiple_client.rs
2.2.2.3、测试展示界面
总 结
实现了前后端分离的AI问答系统,通过iFlyCode减少40%重复代码量,SparkX1推理延迟低于200ms。通过上述的内容,可以看出iFlyCode在代码生成中的高效辅助能力,大大提高开发效率!