大家好,我是LV。
「AI赋能前端研发」是一系列的篇章,总结了我从 0 ~ 1 用AI赋能前端研发的探索经验。
全都是原创文章,目前已经连载了多篇,往期文章见「专栏」:https://juejin.cn/column/7221418382108590138
上篇聊到了如何「打造一个生成业务组件的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微调来浪费精力。
参考详见:https://learn.microsoft.com/zh-cn/azure/ai-services/openai/concepts/fine-tuning-considerations
「方案三」:训练自有模型
这种方案,适合对数据安全性和隐私性很强的场景,可以简单理解为在方案二的基础上增加了「私有化」的属性。
ps:上述资料可以在同名公众号下,回复:「ai资料」,领取。
选择
如何选择适合自己的方案呢?
一条合理的尝试路径:RAG技术 -> Fine-tuning微调 -> 训练自有模型。
在LV0中,我们选择了「RAG技术」(在具体的技术实现细节上有所区别,但整体思想还是一致的)。
如何做的呢?
其实在早期的探索中,我就用到了RAG的思想,只是那会没有还没有给这个技术定一个专业化的词。详见:【在公司前端项目中落地 ChatGPT】初探成果
在第2步中,我们「将公司的组件库注入到ChatGPT中」,这个其实就是用的RAG思想。
经过实践,我们发现通过「RAG」技术就能够满足我们的需求,那如何将这个技术结合到LV0中的呢?
除了RAG之外,Fine-tuning和训练自有模型,效果怎么样呢?
本篇,大家只要熟悉市面上「让LLM处理垂直专业领域问题」的成熟的技术方案即可。
后续篇章,我们继续探索~
最后,如果你也想探索AI + 前端的更多可能性,扫描下方二维码加我的微信,拉你进「最懂AI的前端伙伴们」群,一起探讨AI赋能前端研发,一起提出问题,解决问题,一起「成为」最懂AI的前端伙伴们~