【AI赋能前端研发】很多人关心:AI如何基于公司「私有组件库」生成代码?

2,246 阅读3分钟

大家好,我是LV。

AI赋能前端研发是一系列的篇章,总结了我从 0 ~ 1 用AI赋能前端研发的探索经验。

全都是原创文章,目前已经连载了多篇,往期文章见:AI赋能前端研发

上篇聊到了如何打造一个生成业务组件的AI助手,详见:【AI赋能前端研发】做一个生成业务组件的AI助手

在文末提出了一个问题:如何基于公司私有的组件库来生成代码呢?

本篇来揭晓。

AI赋能前端研发系列持续更新中,关注,不迷路~

欢迎加入最懂AI的前端伙伴们~群,一起探讨AI赋能前端研发。

问题本质

“AI怎么基于公司私有组件库生成代码”

回到上面的问题,我们分析一下怎么实现。

因为公司私有组件库是内部数据,并不在LLM已有的语料库中,所以LLM并不知道如何根据私有的数据生成我们想要的内容。

所以这个问题的本质是:“如何让通用LLM生成垂直专业领域的内容”。

以下场景,也归属这个本质的问题:

“AI怎么联网回答问题?”

“怎么搭建AI智能客服?”

如何解决这个问题呢?

现在主流有3种解决方案。

3种方案

在这里引用一下笔者参加微软 Azure OpenAI Day 看到的生成式人工智能白皮书资料。

方案一:RAG技术

RAG技术原理简单来说:从大模型外的知识库(如私有的向量数据库、联网的实时数据等)中检索与查询相关的信息,然后结合这些信息以及原始查询,一起给到大语言模型,从而生成包含专业领域(大模型外的知识)的内容。

从上图标注的重点可以知道,大部分的这种问题可以通过RAG技术解决。

方案二:Fine-tuning微调

简单说:微调就是拿别人训练好的模型(如gpt3.5)来调整一下,让它的表现更适合自己的特定领域的任务。

但是,微调所需要的精力比RAG大很多,而且你的场景或许不适合用微调,如下图:

官方也推荐能用RAG那就别用Fine-tuning微调来浪费精力。

参考详见:learn.microsoft.com/zh-cn/azure…

方案三:训练自有模型

这种方案,适合对数据安全性和隐私性很强的场景,可以简单理解为在方案二的基础上增加了私有化的属性。

ps:上述资料可以在同名公众号下,回复:ai资料,领取。

选择

如何选择适合自己的方案呢?

一条合理的尝试路径:RAG技术 -> Fine-tuning微调 -> 训练自有模型。

在LV0中,我们选择了RAG技术(在具体的技术实现细节上有所区别,但整体思想还是一致的)。

如何做的呢?

其实在早期的探索中,我就用到了RAG的思想,只是那会没有还没有给这个技术定一个专业化的词。详见:【在公司前端项目中落地 ChatGPT】初探成果

在第2步中,我们将公司的组件库注入到ChatGPT中,这个其实就是用的RAG思想。

经过实践,我们发现通过RAG技术就能够满足我们的需求,那如何将这个技术结合到LV0中的呢?

除了RAG之外,Fine-tuning和训练自有模型,效果怎么样呢?

本篇,大家只要熟悉市面上让LLM处理垂直专业领域问题的成熟的技术方案即可。

后续篇章,我们继续探索~