
word
最近两个月,我在业余时间参与了几个基于RAG的应用开发项目。在这些项目中,有两个问题让我感到特别棘手:数据清洗和权限管理。目前,企业中的大部分数据都是半结构化的形式存在。比如,一个
word或PDF文档通常会包含文字、图片以及表格等多种类型的信息,而PPT文件则常常是一些带有文字说明的图解内容。这种多样化的半结构化数据给主流的数据清洗方法带来了巨大挑战。很多时候,我们仍然需要依赖人工来逐一审核每个文档,并将那些无法通过自动化手段一次性处理好的部分单独提取出来重新加工。以下是当前较为常用的文档预处理框架:然而,对于服务于大中型企业的数据而言,还存在着另一个复杂的问题——数据权限的区分与架构之间的差异。现有的技术通常只能根据查询重新调整检索结果的顺序,但这并不能解决两个关键问题:一是数据本身可能存在超出语义范畴的优先级设定;二是用户之间存在访问权限隔离的需求。举个例子,在某些企业中,总部制定的章程可能与分
公司章程存在冲突。在这种情况下,实际操作中通常要求分
公司员工遵循分
公司的章程规定。如果系统不考虑用户身份直接返回结果,就可能导致不符合实际情况的错误答案。至于如何区分管理层与普通员工之间的权限,最常见的办法是将知识库进行物理分离。但这种方法并不理想,因为企业在实际运营过程中往往涉及授权操作,这就需要在知识库和应用之外再添加一套独立的权限控制逻辑,从而增加了系统的复杂性。市面上现有的开源RAG框架各有优劣。就非结构化文档召回能力而言,表现最突出的是RAGFlow,尤其是其直接搜索知识库的功能令人印象深刻。不过,它在与其他生态系统集成时提供的接口相对较少。其他框架虽然有的生态功能更全面,有的接口更加丰富,还有的在重排序(Rerank)方面表现出色,但总体来说,没有一个框架能够做到面面俱到。只有经过实际测试后,才能明确具体哪个框架更适合特定的落地场景。此外,还有一个难点在于测试与评估环节。由于企业内部数据几乎不可能有一个现成的评测数据集,因此这部分工作也需要自行完成。而且,效果的评判始终离不开主观因素的影响。例如,开发者认为详尽的回答可能是用户眼中的冗长赘述,而开发者觉得简练的答案在用户看来或许等于没有回答……RAG应用的落地需求不能仅仅依靠技术手段解决,还需要大量的人工干预。毕竟,最终使用这些系统的还是真实的用户,他们的体验才是最重要的衡量标准。