RAG知识库管理

RAG对话系统支持上传知识库文件,这些文件可以包含相关领域(如医疗、法律或金融等)的专业知识和术语。通过扩展知识范围,知识库使模型能够生成更专业和准确的回答。本文为您介绍如何在RAG对话系统的WebUI页面中上传和管理知识库文件。

使用限制

该知识库管理方法,仅适用于使用v0.3.0版本镜像部署的RAG服务。

您可以前往模型在线服务(EAS)页面,单击RAG服务名称,然后在概览页面的环境信息区域,查看镜像版本。如果镜像版本不符合要求,可参考自定义部署RAG服务的方式进行部署。image

一、进入WebUI页面

  1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS

  2. 单击目标RAG服务名称,并在页面右上角单击查看Web应用,然后在弹出的对话框中单击跳转Web应用

二、添加知识库

默认使用default知识库。当不同部门或个人使用各自独立的知识库时,可以通过以下方法建立多个知识库实现数据的有效隔离:

WebUI页面的系统设置页签,配置以下参数,然后单击添加知识库

  • 知识库名称:选择NEW

  • 新知识库名称:自定义新的知识库名称。例如oss_index。

image

三、上传和管理知识库文件

image

如上图所示。配置知识库后,每个知识库名称会在知识库页签的文件管理页面对应一个一级目录,作为管理路径,该目录一般包含以下两个子目录:

  • docs:所有知识库文件需上传到此目录。

  • .index:此目录仅用于存储供Debug使用的中间态文件,包括日志文件、知识库文件的解析和切片结果等。

上传知识库文件

支持以下两种方式:

  • 通过RAG WebUI:操作简单,适用于本地少量文件的上传。

  • 通过OSS:适用于大批量文件的上传和删除操作。

通过RAG WebUI

以默认知识库名称default为例:

知识库页签的文件管理页面,单击My files,然后进入default/docs目录。拖拽本地文件或单击右上角的image,上传知识库文件。image

通过OSS

您可以使用默认知识库名称default或新建一个知识库名称,以新建的oss_index为例。登录OSS管理控制台,并进入部署RAG服务时挂载的OSS路径下的knowledgebase/oss_index/docs目录中,然后上传知识库文件到该目录。image

查看上传状态

切换到上传历史页签,选择知识库名称并单击右侧的刷新按钮。待所有文件上传状态为done时,表明知识库上传成功。image

查看文件解析和切片结果

文件管理页面,单击My files,然后进入default/.index目录,解析后的内容存放在如下子目录中。image

以知识库文件为例,存放内容示例如下:

目录

存放内容

parse

存放文件的解析结果。image

split

存放文件的切片结果。image

embed

存放文件切片后的向量化结果,JSON格式。image

.faiss

存放FAISS向量库的索引文件(仅当知识库选择FAISS时存在)。image

更新知识库文件

说明

文件更新操作需在RAG WebUI上完成,不能直接在OSS进行更新。由于部署RAG服务时挂载的OSS数据源存在缓存机制,对文件更新操作不敏感,可能导致文件更新状态无法被捕获,从而导致文件更新失败。

将更新后的知识库文件重新拖拽到知识库的docs目录中,在弹出的对话框中单击REPLACE。然后切换到上传历史页面,单击刷新按钮查看更新状态。待状态变为UPDATE:done,则为更新成功。image

删除文件

支持以下两种方式:

通过RAG WebUI

docs目录中,选中要删除的文件,单击右上角的删除按钮image,并在弹出的对话框中,单击DELETE。然后切换到上传历史页面,单击刷新按钮查看删除状态。待状态变为DELETE:done,则为删除成功。image

通过OSS

  1. 登录OSS管理控制台,在部署RAG服务时挂载的OSS路径下的knowledgebase/oss_index/docs目录中,删除已上传的知识库文件

  2. WebUI页面的知识库>上传历史页面,选择知识库名称,并单击刷新按钮,待状态变为DELETE:done,则为删除成功。image