核心功能
ragflow-dataset-ingest 是专为 RAGFlow 知识库打造的全生命周期数据管理工具,覆盖从数据集创建到智能检索的完整工作流。
数据集管理
支持创建、列出、详情查看、更新(重命名/修改描述)及删除数据集。创建时可配置嵌入模型(如 bge-m3)、分块方法(naive 等)、权限级别等参数。删除操作强制要求二次确认,需先展示待删除项的名称与 ID,获得用户明确授权后方可执行。
文档操作
实现文档上传(支持本地路径,拖拽仅作备选)、列出、重命名、元数据更新及删除。上传后需显式调用解析任务,系统不会自动启动。
解析与状态监控
异步解析任务支持启动、停止及进度追踪。parse_status.py 可查看指定数据集或跨所有数据集的解析状态,自动暴露 progress_msg 与失败详情。停止请求后需通过状态查询确认终端状态。
智能检索
基于向量化知识库执行语义搜索,支持多数据集、多文档限定范围,可调节相似度阈值(--threshold)与返回数量(--top-k)。提供 retrieval_test 模式用于单数据集调试。
模型管理
通过 list_models.py 查看已配置的 LLM 工厂与模型,支持按供应商分组、显示不可用模型及详情展开。
安全设计
- 凭证管理:优先使用
--api-key-file或安全交互式提示,禁止命令行直传 API Key;支持--save-to-memory持久化凭证至~/.codex/memories/ragflow_credentials.json - 删除防护:任何删除操作(数据集/文档)必须经列表确认 → 用户明确授权 → 执行的三步流程
- 错误透明:JSON 输出中的
api_error、error等字段直接呈现,不猜测替换
显著优势
- 完整的 CRUD 工作流与检索能力一体化
- 异步任务状态实时可追踪
- 多维度检索过滤(数据集/文档/阈值/Top-K)
- 凭证记忆机制减少重复输入
- 严格的删除确认流程防止误操作
潜在局限
- 环境依赖:需预先部署并运行 RAGFlow 服务(默认
http://127.0.0.1:9380) - 网络限制:大文件拖拽上传可能失败,建议使用本地路径
- 权限要求:需有效的 API Key 与对应的数据集操作权限
- 非实时解析:解析为异步任务,需主动轮询状态
- 范围限定:不支持分块编辑、Memory API 等高级功能
适用人群
- 需构建私有化知识库的 RAGFlow 用户
- 需要批量管理文档与监控解析进度的运维人员
- 基于结构化知识库开发检索增强生成(RAG)应用的开发者
常规风险
- 凭证泄露:若将 API Key 写入命令行或共享内存文件,存在泄露风险;建议使用最小权限令牌并限制内存文件访问权限
- 误删除:虽有确认机制,但批量删除前务必核对 ID 列表
- 服务可用性:依赖 RAGFlow 服务端稳定性,网络中断会导致操作失败
- 数据隐私:上传文档内容发送至 RAGFlow 服务器,需确保服务端可信及传输加密