【AI赋能前端研发】重点!如何基于公司的「私有组件库」生成代码?(一)

文摘   科技   2024-05-20 08:14   中国香港  

大家好,我是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的前端伙伴们~


LV技术派
探索AI时代下适合前端的转型(超级个体)之路|著有《AI赋能前端研发从 0 ~ 1》开源电子书:https://ai.iamlv.cn