agentic_huge_data_base / wiki
页面 LightRAG · 7.1 Docker 部署·DeepWiki 中文全文译文

7.1 · Docker 部署(Docker Deployment)

轻量图谱增强检索 · 聚焦本章的模块关系、源码依据与实现要点。

项目LightRAG 章节7.1 状态全文译文 模块存储与持久化、安装与启动、测试、发布与运维、系统架构
源码线索
  • .dockerignore
  • Dockerfile
  • Dockerfile.lite
  • docker-compose-full.yml
  • docker-compose.yml
  • env.docker-compose-full
  • scripts/setup/templates/memgraph.yml
  • scripts/setup/templates/milvus-gpu.yml
  • scripts/setup/templates/milvus.yml
  • scripts/setup/templates/mongodb.yml
模块标签
  • 存储与持久化
  • 安装与启动
  • 测试、发布与运维
  • 系统架构
  • 模型调用与提供方适配

章节正文

文档管理器 UI

文档管理器用户界面

相关源文件

本章引用的主要源码文件:

  • lightrag_webui/src/api/lightrag.test.ts
  • lightrag_webui/src/api/lightrag.ts
  • lightrag_webui/src/components/documents/ClearDocumentsDialog.tsx
  • lightrag_webui/src/components/documents/PipelineStatusDialog.tsx
  • lightrag_webui/src/components/documents/UploadDocumentsDialog.tsx
  • lightrag_webui/src/components/ui/Dialog.tsx
  • lightrag_webui/src/components/ui/FileUploader.tsx
  • lightrag_webui/src/features/DocumentManager.tsx
  • lightrag_webui/src/locales/ar.json
  • lightrag_webui/src/locales/en.json
  • lightrag_webui/src/locales/fr.json
  • lightrag_webui/src/locales/zh.json
  • lightrag_webui/src/locales/zh_TW.json

文档管理器用户界面是 lightrag_webui 的核心组件,提供了管理文档生命周期的强大接口。它支持在 LightRAG 系统中上传、扫描、监控和删除文档。该界面通过智能轮询、请求去重和熔断逻辑,专为高并发环境设计。

组件架构

主要入口点是 DocumentManager 组件 lightrag_webui/src/features/DocumentManager.tsx:1-46,它协调多个子对话框,并使用 lightrag.ts API 客户端。

自然语言到代码实体的映射

下图将用户界面中的操作映射到底层 TypeScript 实体和 API 调用。

用户界面交互映射图

LightRAG · 自然语言到代码实体的映射 · 图 1
LightRAG · 自然语言到代码实体的映射 · 图 1

来源:lightrag_webui/src/features/DocumentManager.tsx:17-46lightrag_webui/src/api/lightrag.ts:1-200

API 客户端与请求管理

lightrag.ts 模块是核心 API 客户端,基于 Axios 构建。它实现了多种高级模式,以确保用户界面响应性和后端稳定性。

智能轮询与限流

用户界面根据系统活动采用可变速率轮询策略:

  • 活跃轮询(5 秒):pipeline_busy 标志为 true 或活动探针处于活跃状态时触发 lightrag_webui/src/features/DocumentManager.tsx:75-79
  • 空闲轮询(30 秒): 系统空闲时的标准速率。
请求去重

为防止冗余网络流量,特别是针对分页文档列表,客户端使用 inFlightPaginatedDocumentRequests lightrag_webui/src/api/lightrag.test.ts:46-50。如果多个组件请求相同的页面/筛选条件组合,它们会共享同一个 Promise。

熔断器与超时

getDocumentsPaginatedWithTimeout 函数为标准请求包装了超时机制 lightrag_webui/src/api/lightrag.test.ts:118-125。如果请求挂起,熔断器会中止信号,允许用户界面重试而不会阻塞主线程。

来源:lightrag_webui/src/api/lightrag.ts:1-124lightrag_webui/src/api/lightrag.test.ts:118-242

文档生命周期操作

上传与扫描
  • UploadDocumentsDialog: 支持顺序文件上传,以防止服务器端瓶颈 lightrag_webui/src/components/documents/UploadDocumentsDialog.tsx:99-105。它通过 onUploadProgress 回调提供实时进度 lightrag_webui/src/components/documents/UploadDocumentsDialog.tsx:108-114
  • 扫描/重试: scanNewDocuments 函数触发后端在输入目录中查找新文件并重试失败的文档 lightrag_webui/src/api/lightrag.ts:32-39
管线监控

PipelineStatusDialog 提供文档处理队列的实时视图 lightrag_webui/src/components/documents/PipelineStatusDialog.tsx:25-30

管线数据流

LightRAG · 管线监控 · 图 2
LightRAG · 管线监控 · 图 2

来源:lightrag_webui/src/components/documents/PipelineStatusDialog.tsx:76-103lightrag_webui/src/api/lightrag.ts:101-106

删除与清除
  • DeleteDocumentsDialog: 支持有选择地删除选中的文档。它包含删除磁盘上的原始文件以及清除关联的大语言模型(LLM)提取缓存的选项 lightrag_webui/src/locales/en.json:72-74
  • ClearDocumentsDialog: 一个"核选项",用于删除所有文档。它要求输入"yes"确认字符串,并为该操作提供 30 秒的熔断器 lightrag_webui/src/components/documents/ClearDocumentsDialog.tsx:48-51

用户界面功能与本地化

状态分组

用户界面将细粒度的后端状态(例如 PARSINGANALYZING)映射为用户友好的"分组":processed(已处理)、analyzing(分析中)、processing(处理中)、pending(待处理)和 failed(失败)lightrag_webui/src/features/DocumentManager.tsx:59-60

本地化(i18n)

该组件使用 react-i18next 完全本地化。支持的语言包括英语(en.json)、中文(zh.json)、法语(fr.json)和阿拉伯语(ar.jsonlightrag_webui/src/locales/en.json:116-176

功能关键翻译
fileName(文件名)、status(状态)、chunks(片段数)、updated(更新时间)
筛选条件all(全部)、completed(已完成)、processing(处理中)、failed(失败)
操作upload(上传)、scan(扫描)、delete(删除)、clear(清除)

来源:lightrag_webui/src/features/DocumentManager.tsx:59-91lightrag_webui/src/locales/en.json:116-176lightrag_webui/src/locales/zh.json:116-176