|
Post by account_disabled on Feb 12, 2024 3:41:54 GMT -5
首先要对获取的数据做基础的清洗保证质量; 然后系统对数据进行“分块”(Chunk)处理,通常较小的文本片段可以使RAG系统更快、更准确地发现相关上下文; 再进一步就是将这些Chunks转换成计算机可以理解的数据也就是向量化(Embedding); 最后将获取的向量信息存储在向量数据库(Vector DB)中备用。 第二步:检索信息 当用户输入问题时,首先会对输入的“问题”向量化,然后在向量数据库中查询匹配的结果,通过排序规则对结果进行再次排序(Rerank),最后返回最匹配的结果。 第三步:生成结果 系统将匹配的Chunks数据通过设计好的提示(Promopt)模板传递给LLM,LLM基于基于输入的Chunks润色加工后返回问题的答案。 PS:这里只是简单的介绍一下RAG架构的工作流程,实际项目中每一步都包含很多优化策略和配置参数,比如Chunk的大小选择,Embedding模型的选择以及Rerank的规则等,在后面介绍模型优化环节时,将会结合具体问题分享自己的优化思路。 三、基于FastGPT搭建基础问答系统 FastGPT是一个开源的、基于 LLM 的知识库问答系统,相对于langflow,我们可以方便的查看模型各个环节的运行数据(比如知识库的引用情况、token使用等),也支持支持可视化工作流编排,比较适 新加坡电报号码 合做调试和扩展应用。 1. 在线搭建 FastGPT提供了线上直接使用的方式,使用流程比较简单,大致分为4步: 账号注册登录; 创建自己的知识库; 创建自己的应用; 选择应用关联的数据库。 建议大家自行到官网查看操作手册,非常容易上手,访问地址如下我们可以查看每一次对话引用的知识库内容、上下文信息以及运行时间等。 但是需要注意的是,模型的调用都是需要收费的,虽然注册后就会赠送5块钱的额度,但是基本也只够体验一下,要搭建一个完整的项目是远远不够的,所以前期尽量先用小样本数据创建知识库(Embedding也是要花钱的)体验整个流程。 2. 本地部署 FastGpt也提供了多种本地部署的方法,推荐使用 docker-compose 进行部署,官方文档如下FastGPT默认采用的是LLM是chagGPT,Embedding model是openAI的Embedding-2,这两个模型调用都是要收费的,我们可以用更便宜的国产大模型替换使用。 现在基座大模型正处于激烈竞争阶段,平台都会送一些赠送token额度,建议大家如果只是想自己尝试做一个demo可以采取这种低成本的方式,FastGPT也提供了通过接入OneAPI的方式来实现对不同大模型的支持。
|
|