8000 GitHub - zibo2019/rag-doc-processor: 一个纯前端的文档批处理工具,专门用于RAG(检索增强生成)知识库的文档预处理。
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

zibo2019/rag-doc-processor

Repository files navigation

RAG文档处理器

一个纯前端的文档批处理工具,专门用于RAG(检索增强生成)知识库的文档预处理。

首页预览

项目简介

RAG文档处理器是一个基于AI的文档批处理工具,专门设计用于RAG知识库的文档预处理。它能够帮助个人用户和企业通过自定义的AI智能体批量处理多种格式的文本文件(如md、txt、html等),优化文档结构和内容,使其更适合作为RAG知识库的数据源。

主要特性

  • 🚀 纯前端实现:完全在浏览器端运行,无需后端服务
  • 📝 多格式支持:支持处理md、txt、html等多种文本格式
  • 🤖 自定义智能体:可配置多个AI智能体,每个智能体有独立的处理逻辑
  • 📦 批量处理:支持多文件批量上传和处理
  • 📊 处理进度跟踪:实时显示处理进度和状态
  • 💾 本地存储:配置和处理结果保存在本地,保护隐私
  • 🔄 并发处理:支持多文件并发处理,提高效率

技术栈

技术 描述
React 18.3.1 前端核心框架
TypeScript 5.5.3 开发语言,提供类型安全
Vite 5.4.8 现代构建工具,提供快速的开发体验
Tailwind CSS 原子化CSS框架,用于UI样式开发
Radix UI 无样式组件库,提供可访问性组件
Zustand 轻量级状态管理库
React Query API状态管理和缓存
Axios HTTP客户端,用于API调用
React Hook Form 表单管理库
Zod 类型验证库

快速开始

安装依赖

npm install

开发环境运行

npm run dev

构建生产版本

npm run build

预览生产版本

npm run preview

使用指南

1. 配置API

首次使用需要配置OpenAI API密钥:

  1. 点击"设置"按钮
  2. 输入您的OpenAI API密钥
  3. 可选:修改API基础URL(如果使用代理服务)
  4. 保存配置

2. 创建智能体

  1. 进入"智能体"页面
  2. 点击"新建智能体"
  3. 填写智能体名称和描述
  4. 编写处理提示词(Prompt)
  5. 选择模型和参数
  6. 保存智能体配置

3. 上传和处理文件

  1. 进入"文件"页面
  2. 上传需要处理的文件(支持多选)
  3. 选择要使用的智能体
  4. 点击"处理"按钮开始处理
  5. 等待处理完成
  6. 下载处理结果

项目结构

src/
├── components/           # React组件
│   ├── agents/          # 智能体相关组件
│   ├── files/           # 文件处理组件
│   ├── settings/        # 设置相关组件
│   └── common/          # 通用组件
├── hooks/               # 自定义Hooks
├── stores/              # 状态管理
├── api/                 # API相关
├── utils/               # 工具函数
├── types/               # 类型定义
└── App.tsx              # 应用入口

智能体配置示例

以下是一个用于优化Markdown文档结构的智能体配置示例:

你是一个专业的文档数据清洗专家,负责处理和优化用于RAG知识库构建的文档。请按照以下指南对提供的文档进行全面清洗和标准化处理:

### 数据清洗任务:

1. 去除无关内容:
   - 删除所有广告内容
   - 移除页眉页脚信息(如页码、章节标题等重复出现的元素)
   - 清除水印文本
   - 去除版权声明、免责声明等非核心内容
   - 删除装饰性特殊字符和符号

2. 标准化格式:
   - 将所有文本转换为UTF-8编码
   - 统一标点符号(如将全角标点转为半角,或根据文档主要语言选择合适的标点规范)
   - 规范化空格使用(删除多余空格,保持段落间隔一致)
   - 对于中文文档,确保使用标准中文标点
   - 对于英文部分,统一大小写规范(如专有名词、缩写等)

3. 处理缺失值和噪声:
   - 修正OCR错误(如"0"与"O"、"1"与"l"的混淆)
   - 识别并修复断行导致的词语分割
   - 合并被错误分割的段落
   - 修正明显的拼写和语法错误
   - 标记无法修复的损坏内容

4. 结构优化:
   - 重新组织文档的层次结构(标题、小标题、段落)
   - 确保列表格式一致(编号、项目符号等)
   - 保持表格数据的完整性和可读性
   - 确保图表引用的连贯性

5. 语义保全:
   - 确保清洗过程不改变原文档的核心含义
   - 保留专业术语和领域特定词汇
   - 维持上下文关系和逻辑连贯性

### 输出要求:

1. 严格要求:仅输出清洗后的文档内容,不要包含任何解释、说明或其他额外内容
2. 使用markdown格式输出清洗后的完整文档
3. 不要添加任何前缀、后缀或额外的评论
4. 输出结果强化:
   - 确保文档具有清晰的层次结构,使用适当的标题级别(#、##、###等)
   - 主要章节使用一级标题(#),子部分使用二级标题(##),更细分的内容使用三级标题(###)
   - 相关内容应组织在同一部分下,保持逻辑连贯性
   - 为没有明确标题的重要段落添加适当的小标题
   - 确保标题层级之间的逻辑关系清晰,避免层级跳跃

本地存储

应用使用浏览器的LocalStorage存储以下信息:

  • API配置(加密存储)
  • 智能体配置
  • 用户偏好设置

处理中的文件和结果存储在内存中,刷新页面后将丢失。

贡献指南

欢迎贡献代码或提出建议!请遵循以下步骤:

  1. Fork本仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个Pull Request

许可证

本项目采用MIT许可证 - 详见 LICENSE 文件

联系方式

如有问题或建议,请通过Issues提交,或联系项目维护者。


注意:本工具需要OpenAI API密钥才能正常工作。请确保您有有效的API密钥并在设置中正确配置。

About

一个纯前端的文档批处理工具,专门用于RAG(检索增强生成)知识库的文档预处理。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0