RAG 模型的私有化部署通常在商业化过程中被用于结合企业私有数据。在企业有特殊需求时,还可对模型进行微调以优化性能。基础模型负责提供推理提示,RAG 用于整合新知识、实现快速迭代和定制化信息检索。
构建有效的 RAG 系统并不简单,企业若要进行私有化部署,需考虑以下因素:
此外,实现 RAG 模型私有化部署还涉及一些技术操作,如本地部署资讯问答机器人时,需要导入依赖库、从订阅源获取内容、为文档内容生成向量等。
第四个部分我想分享一些有关商业化落地的经验。在商业化过程中,构建企业知识库是最常见的需求之一。一种普遍的解决方案是结合企业私有数据与RAG模型的私有化部署。如有特殊需求,我们还可以进行模型的Fine-tuning(微调),以优化性能。基础模型主要负责提供推理提示,而RAG则用于整合新知识,实现快速迭代和定制化信息检索。通过Fine-tuning,我们可以增强基础模型的知识库,调整输出,并教授更复杂的指令,从而提高模型的整体性能和效率。这样的联合应用通常能带来最佳性能,适用于多数企业的需求。而在这个过程中,Know-How很重要!
我之前接受过一个咨询,这位朋友是做广告的,他发现大模型生成的内容有着浓浓的AI味。他咨询说,如果我将一份优秀的广告词库写入知识库,利用RAG技术,AI是不是就可以学习这些内容,然后从而写出更有"人味"的广告词?这问题是将微调和RAG的能力混淆了。通过前文中的流程,我们可以看到RAG主要是在运行时进行信息检索和整合,而不是对模型进行再训练或学习。它不会改变模型的基本参数或能力RAG可以帮助AI获取相关的事实信息,但不能让AI真正"学习"或内化某种写作风格。它更像是一个高级的查询系统,而不是一个学习系统。通过这个章节,我想说明的是,虽然RAG是一个非常强大的技术,而且现在已经有了很多生产级的应用案例,但是构建一个有效的RAG系统并不简单,它是多个流程的配合,在任何一个环节遇到问题,都有可能将检索的结果大打折扣。如果企业想要构建一个有效的RAG系统,要考虑如下几个因素数据是否需要考虑安全性:如果有,则需要私有化部署,需要考虑硬件成本数据集的复杂度和数量级:复杂的数据集会带来高昂的文档清洗、解析和分割成本,而大的数据量级则会带啦存储成本的上升回答质量的要求:对回答质量要求越高,则需要越复杂的检索算法以及更加强大的LLM,这些都会带来算力的成本数据的更新频率:频繁的数据更新可能会需要高昂的维护成本
|导入依赖库加载所需的库和模块。其中,feedparse用于解析RSS订阅源ollama用于在python程序中跑大模型,使用前请确保ollama服务已经开启并下载好模型|从订阅源获取内容下面函数用于从指定的RSS订阅url提取内容,这里只是给了一个url,如果需要接收多个url,只要稍微改动即可。然后,通过一个专门的文本拆分器将长文本拆分成较小的块,并附带相关的元数据如标题、发布日期和链接。最终,这些文档被合并成一个列表并返回,可用于进一步的数据处理或信息提取任务。|为文档内容生成向量这里,我们使用文本向量模型bge-m3。https://huggingface.co/BAAI/bge-m3bge-m3是智源研究院发布的新一代通用向量模型,它具有以下特点:支持超过100种语言的语义表示及检索任务,多语言、跨语言能力全面领先(M ulti-Lingual)最高支持8192长度的输入文本,高效实现句子、段落、篇章、文档等不同粒度的检索任务(M ulti-Granularity)同时集成了稠密检索、稀疏检索、多向量检索三大能力,一站式支撑不同语义检索场景(M ulti-Functionality)从hf下载好模型之后,假设放置在某个路径/path/to/bge-m3,通过下面函数,利用FAISS创建一个高效的向量存储。|实现RAG