RAG知识库管理

更新时间:
复制 MD 格式

RAG对话系统支持上传知识库文件,文件可包含特定领域(如医疗、法律或金融等)的专业知识和术语,使模型生成更专业、准确的回答。

使用限制

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

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

一、进入WebUI页面

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

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

二、添加知识库

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

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

  • 知识库名称:选择NEW

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

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

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

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

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

上传知识库文件

支持以下两种方式:

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

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

通过RAG WebUI

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

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

通过OSS

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

查看上传状态

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

查看文件解析和切片结果

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

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

目录

存放内容

parse

存放文件的解析结果。在文件管理页面,进入 home > default > .index > parse 路径,可看到已解析的文件 rag_chatbot_test_doc.txt(4.04 KB)。单击该文件可预览其文本内容,确认文档已成功解析。

split

存放文件的切片结果。在 split 目录下,文档按源文件名创建子文件夹(如 rag_chatbot_test_doc.txt),文件夹内包含多个编号的 JSON 分片文件(如 1.json2.json3.json4.json)。每个 JSON 文件存储一个文本分片,包含字段:_id(唯一标识)、embedding(向量值)、metadata(含 file_pathfile_namefile_typefile_sizecreation_datelast_modified_date)、text(分片文本内容)以及 class_name(值为 TextNode)。

embed

存放文件切片后的向量化结果,JSON格式。在 .index > embed 路径下,每个文档对应一个以文档名命名的文件夹(如 rag_chatbot_test_doc.txt),文件夹内包含多个 JSON 分片文件(如 1.json2.json 等,大小约 31 KB)。每个 JSON 文件存储 id_(文档分片唯一标识)和 embedding(浮点数向量数组)两个字段。

.faiss

存放FAISS向量库的索引文件(仅当知识库选择FAISS时存在)。目录下包含一个以哈希值命名的文件夹(如 632c96510a5...),展开后可看到子文件夹 local_bm25_store 以及四个文件:default__vector_store.jsondocstore.jsongraph_store.jsonindex_store.json,分别存储向量索引、文档内容、图结构和索引元数据。

更新知识库文件

说明

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

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

删除文件

通过RAG WebUI

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

通过OSS

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

  2. WebUI页面的知识库>上传历史页面,选择知识库名称,并单击刷新按钮,待状态变为DELETE:done,则为删除成功。在上传历史页面中,该文件的操作列显示为DELETE上传状态列显示为done,表示文件已成功删除。