LLM大模型在前海一方运维工作中的应用尝试
2023.09.20
前海一方


LLM(Large Language Model,大语言模型)是一种基于机器学习和自然语言处理技术的模型能力。LLM通过训练大量的样本数据,来学习知识。通过自然语言的理解和推理能力,可以完成知识查询、简单计算等工作,结合一些特定的插件,还能完成一些具体的指令和操作,比如生成图片、文档、音视频等。 (参见引用01)

LLM可以在很多方面辅助我们的工作 ,如:


1.作为AI助理,为员工提供工作咨询和指导


一个最常用的用法,就是请它帮我们解释一下你遇到的新知识。和搜索不同,你可以针对它的回答中你不了解的知识进一步地追问,直到你觉得搞清楚了这个知识点。可以说是一个非常好的助教。而且这个助教知识广博、不知疲倦、极有耐心,绝对不会因为你的反复提问而表示不耐烦。


2.作为AI助理,为员工提供数据整理和计算服务


传统情况下业务人员要在业务中完成数据查询和统计,需要先梳理需求,由IT人员进行分析、设计、开发,最终完成数据输出。

现在,我们可以通过LLM的text2sql技术为员工提供数据自主的数据查询服务,让员工能够通过使用业务话术的方式让LLM返回相对应的数据、数据集、数据图表等,极大地提高了业务人员的效率,降低了跨部门的沟通协作成本。


3.作为AI助理,辅助员工完成文档生成及整理


在我们公司知识库比较完善的基础上,我们可以基于诉求,让LLM帮我们生成个性化的文档(比如部署方案、部署手册等),或者我们也可以让LLM基于你提供的资料文本帮你进行文本摘要整理等。


4.作为AI运维经理,自动完成一些运维工作


比如作为一个问答机器人,帮助运维完成一些简单的生产问题或发布问题的答疑;作为一个监控机器人,帮助运维监控资源报警情况,并做出一些简单指令的处理。


5.作为公司知识库,为员工提供业务、技术知识的查阅和整理


我们可以将公司内部不同类别的知识文档导入到LLM中,形成公司的一个或多个知识库,这样做既便于我们归集公司的知识内容,又能为员工提供业务和技术知识的相关查询,而且往往效率也比通过搜索查资料快很多。

对于知识库的分类,我们可以根据岗位、专业、业务线来分类,相当于建立不同学科的辅助老师;也可以基于难易度来分类,相当于为不同层级的员工提供更适合的辅导教员。


可以说知识库的建成可以帮助公司达到更高的生产效率,和促进公司内部信息或知识的流通。


LLM作为一种通用的AI技术能力,可以辅助我们完成很多的工作任务。但是,LLM需要通过训练来提升这种能力,在应用LLM时,需要考虑性价比。


基于此,我们考虑通过LLM来实现如下工作:

①提供业务知识问答

②构建知识库的问答系统

③业务数据的自主查询



我们进行了如下尝试:


1.通过LLM来咨询运维部署的步骤


我们将一些运维积累的部署手册,发布经验集等作为知识集样本对LLM进行训练,让LLM可以回答运维人员关于一些部署和发布步骤上的问题,用于辅助运维部门平时的部署及发布工作。


如,运维人员提问:一个全新环境nacos怎么部署?



LLM会回答关于nacos相关部署手册的步骤,但是由于不同环境不同项目要求不一样,在部署过程中如果完全参照LLM给的步骤进行操作会比较混乱,效果不尽如人意,所以我们只能寄托于LLM在我们部署过程中能给我们提供大致步骤和思路。


2.通过LLM来实现运维流程规范的问答


我们将运维部门的流程及规范信息,制作为训练样本对LLM进行训练,训练后的LLM可以解释和回答运维人员在运维过程中的一些流程和规范相关的咨询问题


如完成流程的咨询,运维人员提问:日常巡检发现设备异常,我们的处理流程是什么?  


LLM回答:若检查到异常则应该向运维经理汇报以及进行异常处理,并将处理结果进行汇报确认。


完成规范的咨询,运维人员提问:日常巡检发现设备异常,进行异常处理的过程中需要注意什么?


LLM回答:发现异常20分钟内完成汇报、l修改配置文件前,需对配置文件进行备份、禁止删除文件夹、删除文件必须指定到具体文件等。


LLM的回答和运维流程规范管理中基本一致。LLM在这里充当了一个工作助手的角色,可以帮助运维人员在解决日常工作遇到的流程规则问题,也便于新入职的员工能快速适应流程规范等。提高了运维过程中工作效率,降低了运维内部的沟通成本及时间成本。


3.通过LLM来实现业务项目需求、设计资料的咨询和问答


我们通过把业务项目的需求文档、设计资料、运维生产反馈处理手册等整理为知识集样本进行LLM的训练,训练后的LLM可以帮助运维人员处理各个项目的用户及生产反馈问题。


如:我们询问LLM保理业务中触发单据费率变动的业务场景有哪些? 


LLM回答:触发费率变动的业务场景有正式导入、信息修改、维护费率复核通过等。


LLM能够快速告诉我们一些业务知识和业务规则等,相较于运维人员之前去查阅各种文档和咨询开发及产品经理,提高了解决对应问题的效率,缩短了问题调查的时间,更有利于促进业务的良性循环。


该应用基于开源langchain技术实现,技术原理图如下:



(参见引用02)



整体思路是,将文档向量化存储,问答时的问题也进行向量化,并进行语义化匹配,获得备选答案,然后将备选答案作为提示词,交由LLM完成最终的答案。



下一步,前海一方将围绕LLM大模型能力着手:


1.构建知识库问答系统


基于公司的文档资料等,建立公司的知识库,向部分员工开放问答功能,目前已实现LLM到钉钉的集成,并通过公司PMS系统实现问答信息管理和记录。以支持未来对问答进行分析,提炼微调样本来逐步提升模型能力。架构示意图如下:


目前,我们仍无法确定最优的预训练模型,所以,从架构上,我们通过适配模式来支持切换底层不同的预训练模型、向量数据库。并通过样本生成工具来支持不同的微调训练技术。


2.基本业务知识的QA问答


整理公司业务术语,进行LLM的微调训练,实现基础业务知识的问答能力,并开放给产品经理和业务人员进行使用,针对使用过程中的不满意术语回答和出现的新术语进行后续的迭代更新。


3.DB查询(text2sql)的集成应用


基于数仓,通过LLM的text2sql技术,为领导、产品经理、业务人员等提供自主的数据查询服务,让用户通过业务话术的方式就能从数仓获取到对应的数据,并可以通过值、图形、表格等多种形式展现数据。


初步架构设计示意图如下:




01:知乎 - 德丶钰 - LLM名词性解释:https://zhuanlan.zhihu.com/p/635725134

02:图片来源:

https://github.com/chatchat-space/Langchain-Chatchat/blob/master/img/langchain+chatglm.png

内容撰写:鲲哥 ;部分图源网络