赞
踩
大模型风头正盛,怎么给螺柱公司的领导也想抢占风口,在自家的应用上提供一些大模型/AIGC的辅助功能。
这下可把技术部门给愁坏了
通过调研了SimDep平台后,技术部拟定了一个全流程的部署过程
运维人员参考上述文档中的步骤
拉取了巨大的ChatGLM模型
并装入了CUDA运行时
Python的各个包,制作出了可以使用的镜像,并根据仓库demo完成了对应的工程模板对开发人员进行了下发
开发人员拿到模板后,进入补充了对应的业务代码
并在Simdep上通过代码和触发器创建了对应的工程函数
将函数信息给到了调用方
下游业务方拿到了函数信息确定了接口,封装成了可以调用的sdk进行使用
由于是试验性功能,可能偶发崩溃,但是并不会影响到其它功能
同时得益于Simdep的自动启动机制,崩溃能快速重启
上游开发人员也不断进行修复和更新,在更新代码时会采用滚动更新的机制,很少有流量会受到影响
产品名称/功能 | Webshell调试 | 私有化部署 | 虚拟化支持 | 可视化操作 | 多用户分配 | 用户文件 |
---|---|---|---|---|---|---|
Simdep | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
OpenFaaS | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
AutoDL | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ |
传统Kubernetes | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ |
OpenFaaS是FaaS应用的先行者和标杆之一,拥有31.1K的star,他们不支持Webshell和用户文件管理,可能是因为定位主要放在部署函数上,并不在意开发的过程,希望每一个部署的函数都是调试好的无状态的函数,所以就不支持。
AutoDL
Kubernetes
成员 | 角色 | 个人博客地址 |
---|---|---|
@鲁文澔 | 后端Dev+Ops+PM | https://blog.csdn.net/LGJ1617026914?type=blog |
@张峻源 | DevOps+Test | https://blog.csdn.net/weixin_45757456?type=blog |
@咸永飞 | 前端Dev | https://blog.csdn.net/qq_52042480?type=blog |
@孙靖懿 | 后端Dev | https://blog.csdn.net/weixin_46653352?type=blog |
@杜品豪 | 前端Dev | https://blog.csdn.net/aaicy64/ |
@徐楚鸥 | UI/UX | https://blog.csdn.net/bonny0510 |
@刘骁 | PaperWork | https://blog.csdn.net/weixin_46473364?type=blog |
项目的文档与代码规范遵照Alpha版本,对于Beta版本中由Go语言开发的部分,代码规范遵守Go语言官方代码的风格指定。而前端我们新加入了使用ESLint代码规范能力。
项目未出现上述问题。对于一个新同学想在一台新机器上编译运行我们的项目,我们提供了Simdep FaaS 平台部署教程 逐步地指导小白/新手如何部署我们的平台到自己的服务器上。在经过内部测试人员(k8s小白)的尝试过后,我们认为该份教程已经能够指导新学生对我们的项目进行部署与二次开发。
针对Beta部分新增的管理员模块,我们对暴露在外的接口进行了单元测试,共计50+测试用例,代码的覆盖率达到了90.59%
对于Beta版本中Go语言的相关开发,我们采用了单元测试、覆盖率报告和风格检查等CI保证开发质量。
Beta版本的开发吸取了Alpha版本的教训,在管理方案上改进,前后端的任务分配更加合理,使得整个开发流程比较舒适。但是,由于我们对于Beta版本工作量的错误估计(Beta版本k8s相关的工作量几乎是Alpha版本的一倍还多),使得开发中人力的分配并非达到和谐的状态。这带给我们的经验教训是,从外部视角并依靠相关统计信息的先验来评估工作量,从而做到对任务的适当分配。
划分出了UI/UX和PaperWork两个职位
功能模块 | 开发小组成员与分工 |
---|---|
Webshell、GPU支持 | @鲁文澔 |
原有操作逻辑修改重构 | 后端:@鲁文澔 前端:@咸永飞 |
管理员模块 | 后端:@孙靖懿 前端:@杜品豪 |
UI/UX设计 | @咸永飞 @杜品豪 |
暂时无法在飞书文档外展示此内容
Beta版本的周期恰好与计网试验考试、复杂组网、冯如杯、计网考试等时间冲突,这个时间对于开发来说并不是一个好条件,我们没有办法将每一天的时间投入Beta版本的开发中,但是我们规划了选用相对集中的时间对难点功能进行开发,也算是提高了效率,完成了工作。
开发阶段:租赁多核心机器(14核28线程+64G)内存,启用虚拟机模拟集群环境开发
GPU开发阶段:中科院软件所提供两台带有GPU的服务器协助开发GPU相关功能
最终联调阶段:自有主机(4核4线程+16G)开放热点接入,通过局域网内ssh连接至主机进行联调
在人力资源紧缺的情况下,保证质量的途径,砍功能是最好用的。
名字 | 角色 | 团队贡献分 | 贡献 |
---|---|---|---|
@鲁文澔 | 后端Dev+Ops+PM | 54 | Webshell 功能;文件系统实现;GPU驱动与功能支持;函数服务接口重构;项目Kubernetes移植;Kubernetes部署脚本编写 |
@张峻源 | DevOps+Test | 52 | 仓库的单元测试,风格检查CI;攥写软工质量测试的设计与实施;攥写测试报告ChatGLM模型的选型与部署实践 |
@咸永飞 | 前端Dev | 53 | 前端项目框架搭建;网页原型设计;文件管理、触发器管理、项目管理等页面 |
@孙靖懿 | 后端Dev | 51 | 实现管理员后端功能;编写管理员单元测试;持续跟进中科院客户 |
@杜品豪 | 前端Dev | 48 | 实现管理员前端功能 |
@徐楚鸥 | UI/UX | 49 | 完成了首页的设计与实现;用户中心部分 |
@刘骁 | PaperWork | 43 | 例会日报;产品使用说明书 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。