大模型实践 | 为慧眼智能可观测平台插上ChatInsight的翅膀
ChatInsight研发背景
在网易杭州研究院,大模型和AIGC技术已有广泛应用,如网易数帆有数ChatBI和CodeWave智能开发平台,就是知识增强领域大模型技术在数据分析、软件开发领域的典型应用。而在运维领域,引入AIGC的一项前沿创新就是慧眼ChatInsight。
慧眼是杭研打造的一个智能可观测平台,为网易集团提供云原生环境下基础设施和业务的统一观测。ChatInsight定位为慧眼智能可观测平台的自然语言交互入口,旨在利用AIGC技术手段,实现观测经验与数据的高效共享与积累,从而达到提高业务稳定性保障的目的。
在业务稳定性保障过程中,告警处理、问题定位和日常运维都依赖可观测数据作为决策支持。基于AIGC迅速且智能地获取所需的可观测数据,能够克服传统稳定性保障方案的挑战,缩短人工排查时间,提高工作效率。
1. 告警处理效率不高;
2. 故障定位效率有待提升;
告警处理
1. 开发与运维人员根据个人经验或临时查阅FAQ;
1. 多平台导致频繁切换,查看不同数据源耗时;
故障定位
经验沉淀
解决思路分析
可执行FAQ
问题解决办法
问题 | 解决办法 |
告警处理效率低 | 整合可观测数据,将告警与可执行FAQ关联 |
故障定位效率低 | 提供单一的对话界面,通过查找和关联整个慧眼平台的关键数据(包括AI异常检测数据、日志和指标、事件),提升故障定位效率 |
经验沉淀效率低 | 将告警与可执行FAQ关联,团队内共享可执行FAQ,公司范围内提供优质可执行FAQ |
引入AIGC低成本编排可观测数据
编排可观测数据含义
近3天Pod的内存使用量和内存使用率趋势图;
该Pod的内存Limit;
该Pod所在宿主机的内存使用量和使用率;
该Pod资源的内存推荐值;
查询该Pod的日志。
如何低成本编排可观测数据
用户通过自然语言描述动态可观测数据的编排需求,利用AIGC将自然语言低成本地翻译成可被程序解释的程序模板;
平台方面编写一个通用的执行后端,输入为程序模板,输出为可观测数据的集合。
ChatInsight编排可观测数据效果展示
告警处理效果展示
通过自然语言在ChatInsight Prompt探索模块通过自然语言完成可观测数据的编排。本例中是一个复合跨维度查询,查询pod xx 的内存限制和内存请求,该Pod所在主机的内存使用率和CPU使用率,以及该Pod的日志。ChatInsight将此查询分解并将查询结果进行展示。
将可执行的FAQ(经验和可观测数据)保存下来。
将可执行FAQ的URL配置到告警的内容中,并配置好变量和告警变量的关联。
告警被触发,可直接获得具体的告警对象的FAQ信息,提升告警处理效率。
编排可观测数据效果展示
ChatInsight的产品能力设计
ChatInsight实现原理
功能层
实现层
LLM:将自然语言转换为查询模板(API、PromQL、LokiQL等),作为实现所有自然语言驱动功能的引擎。 Backend:根据查询模板完成数据查询,作为与LLM通信的粘合剂,实现上述功能。 向量数据库:解决LLM脑容量的问题,提高自然语言处理的效率和能力。
如何使用LLM实现上述功能
1. 用户使用自然语言输入获取数据需求,例如查询pod xx的下游依赖的Pod所在主机的内核版本和所在主机的磁盘使用情况。
2. 需求校验模块将查询需求发送给LLM,使用LLM完成查询需求校验。如上述查询需求中的磁盘使用情况属于非明确需求,LLM会要求用户继续补充,直至认为需求完整。
3. 完整需求会被拆分成可独立执行的小需求。例如上述需求会被拆分为(1. pod xx的下游依赖的Pod;2. step1_pod所在的主机;3. step2_host的磁盘空间使用量)。
4. 每个拆分的子语句会继续使用LLM翻译成API或查询语句,Backend将使用这些API或查询语句完成数据查询。Backend将在子语句之间传递查询结果并循环执行,直至获取最终结果。
5. Backend记录所有子语句查询数据的方式和关联方式,并对查询对象进行变量化,便于后续更换查询对象名称。
AIGC工程化经验
Prompt经验
举例说明非常重要,可提高理解程度。
在切分任务时,确保抽象干净,抽象之间尽量不存在逻辑共同点。
考虑到大模型的成熟度,设计思想应围绕大模型中的抽象对象,而非强行套用现有UI接口。
描述语言也存在上下文。相关联的描述应尽量抽象和分类,位置最好放在一起,让大模型清晰了解描述语言和抽象之间的关系。
实际落地工程化思考
做好抽象,让领域大模型从源头理解抽象分类,需要适配领域大模型,甚至重新实现原子API。
组织好抽象之间的关联关系,借用确定的中间关系语言或制定多个抽象,使用变量表示。
例子对大模型影响最大,引入语义搜索根据需求动态携带举例。
采用“防御式”编程,后端程序设计时要有兜底框架,并尝试修复。
对于精确度要求高且核心的场景,应当考虑使用领域大模型。
产品设计场景应尽量精细化,携带完整上下文,以提高准确度。
未来展望
丰富数据源支持:持续深入对接融合慧眼的数据源;
数据智能分析:实现数据的自动分析画图的能力,实现轻量版本的code interpreter,提升可观测数据分析的效率;
扩展支持用户自定义指标:开发框架,支持用户自定义的数据源,继续扩展ChatInsight的使用场景;
可观测经验共享和沉淀:与业务团队共建,引入更多优质稳保经验,提升告警处理和故障定位的效率。
名词解释
慧眼:网易杭州研究院为云原生时代研发的智能可观测平台,实现基础设施和业务的统一观测。
AIGC:AI Generated Content,指由人工智能生成内容。在本文中,AIGC技术用于将自然语言需求转换为可执行的程序模板,降低编排可观测数据的成本。
可观测数据:指用于监控和分析系统性能、健康状况和行为的数据。这些数据通常包括指标、日志、事件等,有助于运维人员快速定位和解决问题。
业务稳定性保障:指确保业务系统在各种条件下正常运行的一系列措施和方法。这包括告警处理、问题定位、日常运维等方面的工作。
FAQ:Frequently Asked Questions,常见问题解答。是特定主题或领域中经常被人们提问的问题及其解答的集合,作为一种经验的载体。
可执行FAQ:在传统FAQ的基础上,额外添加了获取与决策支持相关的可观测数据的方式。可执行FAQ = 经验FAQ + 可执行可观测数据。
LLM:Large Language Model,大型语言模型。在本文中,LLM用于将自然语言需求转换为可执行的程序模板,实现自然语言驱动的功能。
网易杭研受邀参加AiDD,分享玉言NL2SQL领域大模型实践