不是微调调不起,使用小规模数据库更有性价比!
大模型拥有丰富的通用知识,但是正因为他太广了,对于很多专业的知识库,它是没有办法输出的,这时候我们可以使用微调或者langchain来填补这个缺陷,微调需要拥有GPU算力,而langchain直接依靠现有模型进行嵌入查找就可找到答案。很显然对于小型的数据库,尤其是专有的知识库,我们倾向于使用langchain构建嵌入知识向量,然后对向量进行查找。这也是一部分人这么说:
大模型来了,数据库已死
专有知识库的搭建
1. 专有知识数据的准备
我们想要构建专有数据库首先要有数据,这些数据可以是教科书、说明书、产品手册等等,尽量这些数分布的领域集中在一起,以及文字采用相同的语言
2. 构建嵌入式数据库
我们拥有了数据之后,我们对数据进行嵌入,嵌入数据区别于传统数据库是:传统数据库是一一对应的,而嵌入数据是对数据压缩,将其映射到特定的空间中去。所以我们在数学上寻找相似是快于对比查找的情况,而且这种查找使用自然语言进行。
3. 知识库的查找
将数据嵌入和大模型斤进行连接,之后再通过langchain的提示技术进行查找,使其回答限制在嵌入式知识库中。
操作
依靠文章langchain进行书生大模型专有知识库的搭建。这个过程中,使用gradio快速搭建大模型APP,同时通过ssh访问服务器映射的端口,从而实现业务与功能的剥离。 整个业务操作逻辑如下:
graph LR
B(大模型) --SSH--> A[应用]
C(数据库) --SSH-->A
A <==交互==> D(用户)
结果展示
最后可以看到,我们原先的大模型是不知道InternLM,但是依靠langchain搭建的知识库可以对原先的内容进行抽取,从而产生相应的答案。
这种技术,广泛用于定制化客服、长文档的意义匹配等项目,也是最易于落地的产品。