大家好,这里是五彩石编程,我是军哥。随着gpt的大火,与gpt相关的应用及软件工具也越来越多,今天咱们就来聊一聊其中比较出色的一款开源工具fastgpt。本系列会包含:fastgpt基础知识、fastgpt部署、fastgpt构建企业级知识库的流程、fastgpt高级编排、fastgpt源码解读等多个维度,全面的介绍fastgpt技术栈,感兴趣的朋友欢迎持续关注。
一、什么是fastgpt(引言)
用fastgpt官方的一句话来回答,fastgpt就是:一个基于LLM大语言模型的知识库问答系统,同时可以通过Flow进行可视化工作流编排,从而实现复杂的问答场景。
对于接触的比较少的朋友来说,看完上面的定义可能还是云里雾里,但请注意一下里面的几个关键词:LLM
、知识库
、工作流编排
、问答场景
,下面我们将依次展开讲一下,然后慢慢的就可以理解fastgpt的核心了。
二、LLM
不管你是否了解大语言模型(后面简称大模型),咱们在这里都简单的聊一下。大语言模型,英文:Large Language Model,缩写为:LLM,它是基于海量的文本数据,进行深度机器学习的模型,这种模型有几个显著的优点:
- 对自然语言的理解能力非常强。由于训练的数量非常大,参数从几十亿(B),到了如今的万亿级(几千B),其对自然语言的理解能力也变得非常强悍,在此基础上,人类目前已经可以通过自然语言与机器进行对话了。
- 适应性强。第1个特点是对大模型进行应用的基础,可以称之为通用能力,在通用能力的基础上,通过对大模型进行微调(fine-tuning),可以让它快速的适应特定的应用场景,从而表现出行业、领域专家级的水准,体现了强大的适应能力。
- 强大的学习能力。基于第1个特点,我们可以让其快速的学习新的知识,掌握其中的规律,从而在面对新的任务时,能够快速学习和适应
- 强大的语言生成能力,由于大模型掌握了大量的自然语言语法规律,从而能够根据规律,快速的生成符合自然语言的文本,比如让大模型进行创作,这将极大的提高文字处理的效率,比如让其写小说、写作文、写报告 、写祝福、对文本进行总结分析等
其实总结来说,大模型的核心就是对自然语言的理解能力非常强,这一点极其重要,其应用场景也严重依赖于这一点。我们可以这么来看大模型,它学习了海量的文字,在一定程度上理解了其内部的规律,同时也一定程度上掌握了相应的知识,那么在完全离线的场景下,我们就可以基于其理解的规律,重新生成很多知识和文本。
目前很多公司都在持续优化自己的大模型,比如百度的文心一言、阿里的通义千问、华为的盘古、腾讯的混元、科大讯飞的星火、昆仑万维的天工大模型、百川的百川大模型、月之暗面的moonshot(对应kimi应用)、字节的云雀等。
很多公司的大模型产品都可以在线免费体验使用,感兴趣的朋友可以去试一下。
三、知识库
大模型的能力已经非常强悍了,那为什么还会出现知识库呢?
其实这一点很容易理解,大模型训练的语料主要是公开的数据,生成的也是通用的理解能力,但如果你要问它一家企业内部的某个文件的精神或某些内容,它是完全没有办法去回答的,而大多数企业内部,都会有大量的文本类资料,这些资料组成了一个企业内部的知识集合,大模型的能力不管再强悍,只要它没有见过企业内部的知识集合,它就不可能回答针对企业内部知识集合中的问题。
针对上述问题,我们就需要一种能够把企业的知识集合与大模型关联起来的技术,这个技术的实现,就是通常所说的RAG技术,其对外的表现,就是企业级知识库。
RAG的全称为:Retrieval Augmented Generation,也即检索、增强、生成,其技术的原理很简单,就是把企业的知识集合进行向量化,保存进向量数据库中,然后对用户的问题进行增强,增强之后,进行向量检索,最后把检索出来的内容交给大模型,让其基于检索出来的内容,生成符合自然语言的回答。
四、工作流编排
既然有了大模型,又有了知识库,为什么还要有工作流编排呢?
其实主要是技术方面的因素,传统的知识库构建,通常是基于Lang Chain技术栈,虽然Lang Chain非常灵活,能实现各种业务流程,但不可否认的一点就是,它有点偏底层,基于Lang Chain来构建一个企业级应用,还是需要比较强的技术的。而对于中小型企业来说,为了构建一个知识库而维护一支开发团队,成本是不太容易接受的。
而基于ui界面的工作流编排就不一样了,如果企业希望构建一个基于知识库的应用,那么只需点几下鼠标,建立一个知识库,再把企业数据导入进去,然后根据企业的需求,再点几下鼠标,把问答及处理流程描绘出来,一个企业级的知识库应用就搞定了,是不是变得非常简单?
并且,工作流编排还拥有强大的扩展能力,除了内置了一系列的基础插件,还可以创建自定义的插件、调用Laf云函数,维护及调整也非常便捷,这一切都给快速构建企业级知识库应用提供了无限的可能。
五、问答场景
有了基于工作流编排的知识库应用,其实就已经创建出来了一个问答的场景了,对于企业的内部知识,也不用再去手动搜索了,直接问知识库应用就可以了,它可以搜索相关的知识片段、按照用户的要求,输出整理后的内容,在一问一答的几秒到几分钟之内中,已经完成了以往需要几分钟到几个小时的工作了,效率提高了好多倍。
六、什么是fastgpt(总结)
有了上面的知识作为背景,相信大多数人已经对fastgpt有一些初步的认识了,它本质上提供了两种能力:
- 快速构建企业级知识库的能力
- 快速构建问答应用的能力,这里可以是知识库的问答,也可以是非知识库的问答
我想这也是fastgpt中fast的由来,因为通过它的技术,基于gpt来构建问答系统,实在是快了很多了。
想了解更多fastgpt的知识,请微信搜索并关注“五彩石编程”公众号,军哥的文章将会持续同步更新。