大家好,我是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处理垂直专业领域问题的成熟的技术方案即可。
后续篇章,我们继续探索~