Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fluoos/crawl2ai

Open more actions menu

Repository files navigation

一个强大的大模型微调数据集生成和管理工具

简体中文 | English

数据集生成、大模型微调工具

大模型微调数据集生成和管理工具,一键爬取指定域名的链接,支持把链接转换成大模型友好的Markdown文件,支持将Markdown文件通过ChatGPT、Deepseek、Gemma等大模型转换成训练大模型可用的数据集。

功能特点

  • 支持深度爬取指定域名的所有链接
  • 支持将链接转换成大模型友好的Markdown文件
  • 支持上传.md、.txt、.pdf、.docx、.doc等文件,自动转换成.md文件
  • 支持智能算法对Markdown文件分段
  • 支持通过DeepSeek、ChatGPT、Gemma等大模型将Markdown转换成训练大模型可用的数据集
  • 支持数据集数据的自定义增加、编辑、修改
  • 支持导出 JSONL 和 JSON 两种输出格式,Alpaca、ShareGPT 和自定义格式
  • 支持预览转换结果

功能截图

项目管理
项目管理
链接管理
链接管理
Md文件转换
Md文件转换
文件管理
文件管理
文件转换成数据集
文件转换成数据集
数据管理
数据管理
系统设置
系统设置

快速开始

安装依赖

  1. 后端依赖:
# 建议运行python的版本python=3.10
# 创建虚拟环境
python -m venv venv
# 激活环境(在PowerShell中)
.\venv\Scripts\Activate.ps1
# 激活环境(在mac中)
source venv/bin/activate
# 从requirements.txt安装所有依赖
pip install -r requirements.txt
  1. 前端依赖:
cd frontend
npm install

运行项目

  1. 启动后端服务器:
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 --ws websockets
  1. 启动前端开发服务器:
cd frontend
npm run dev
  1. 在浏览器中访问:http://localhost:3000

项目结构

├── app/                    # 后端应用目录
│   ├── api/                # API接口目录
│   │   ├── crawler.py      # 爬虫API
│   │   ├── system.py       # 系统API
│   │   ├── files.py        # 文件操作API
│   │   ├── dataset.py      # 数据集API
│   │   └── __init__.py     # 初始化文件
│   ├── core/               # 核心功能
│   │   └── config.py       # 配置文件
│   ├── schemas/            # 数据模式
│   │   ├── crawler.py      # 爬虫模式
│   │   ├── system.py       # 系统模式
│   │   ├── files.py        # 文件模式
│   │   └── dataset.py      # 数据集模式
│   ├── services/           # 服务层
│   │   ├── crawler_service.py        # 爬虫服务
│   │   ├── crawler_engine_service.py # 爬虫引擎服务
│   │   ├── notification_service.py   # 通知服务
│   │   ├── system_service.py         # 系统服务
│   │   ├── files_service.py          # 文件服务
│   │   ├── project_service.py        # 项目服务
│   │   └── dataset_service.py        # 数据集服务
│   ├── utils/              # 工具函数
│   ├── __init__.py         # 初始化文件
│   └── main.py             # 主程序入口
├── frontend/               # 前端目录
│   ├── src/                # 源代码
│   │   ├── assets/         # 静态资源
│   │   ├── components/     # 组件目录
│   │   ├── services/       # 服务
│   │   │   ├── crawler.js  # 爬虫服务
│   │   │   └── request.js  # 请求服务
│   │   ├── views/          # 视图
│   │   │   ├── LinkManager.vue   # 链接管理页面
│   │   │   └── ...         # 其他视图页面
│   │   ├── App.vue         # 主应用组件
│   │   └── main.js         # 入口文件
│   ├── index.html          # HTML入口
│   ├── package.json        # 依赖配置
│   ├── vite.config.js      # Vite配置
│   ├── vue.config.js       # Vue配置
│   ├── .env                # 环境变量
│   ├── .env.production     # 生产环境变量
│   └── .prettierrc         # 代码格式配置
├── config/                 # 配置文件目录
├── export/                 # 导出目录
│   ├── alpaca/             # Alpaca格式导出
│   ├── sharegpt/           # ShareGPT格式导出
│   └── custom/             # 自定义格式导出
├── logs/                   # 日志目录
├── output/                 # 输出目录
│   ├── crawled_urls.json   # 爬取的URL列表(JSON格式)
│   ├── crawler_status.json # 爬虫状态信息
│   ├── markdown/           # 转换后的Markdown文件
│   └── markdown_manager.json # Markdown文件管理信息
├── upload/                 # 上传文件目录
├── .gitignore              # Git忽略文件配置
├── README.md               # 英文说明文档
├── README.zh-CN.md         # 中文说明文档
└── requirements.txt        # Python依赖文件

常见问题处理

  1. 运行过程如果提示下面报错 No module named 'markitdown' No module named 'onnxruntime'

可以尝试在全局安装

pip install 'markitdown[all]'
pip install onnxruntime

🤝 贡献指南

我们欢迎社区用户参与贡献!如有建议、Bug 或新功能需求,请通过 Issue 提出,或直接提交 Pull Request。

🎯 贡献方式

  • 🐛 Bug修复: 发现并修复系统缺陷
  • 新功能: 提出并实现新特性
  • 📚 文档改进: 完善项目文档
  • 🧪 测试用例: 编写单元测试和集成测试
  • 🎨 UI/UX优化: 改进用户界面和体验

📋 贡献流程

  1. Fork项目 到你的GitHub账户
  2. 创建特性分支 git checkout -b feature/amazing-feature
  3. 提交更改 git commit -m 'Add amazing feature'
  4. 推送分支 git push origin feature/amazing-feature
  5. 创建Pull Request 并详细描述变更内容

🎨 代码规范

  • 参考原代码风格

📝 提交规范

使用 Conventional Commits 规范:

feat: 添加文档批量上传功能
fix: 修复向量检索精度问题  
docs: 更新API文档
test: 添加检索引擎测试用例
refactor: 重构文档解析模块

📄 License

本项目基于 MIT 协议发布。 你可以自由使用、修改和分发本项目代码,但需保留原始版权声明。

Releases

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.