X2Knowledge 技术文档:安装指南与使用说明
1. 安装指南
1.1 本地安装要求
- Python 3.12+
- Flask框架
- pytesseract(OCR功能)
- Tesseract OCR引擎
- MarkItDown库
- Docling库(可选,用于增强PDF转换)
1.2 本地安装步骤
- 克隆仓库:
git clone https://github.com/leonda123/X2Knowledge.git
cd X2Knowledge
- 创建虚拟环境并安装依赖:
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
- 安装可选转换引擎:
pip install docling
- 安装Tesseract OCR引擎:
- Windows:从GitHub Tesseract releases下载安装
- macOS:
brew install tesseract
- Linux:
sudo apt-get install tesseract-ocr
- 运行应用:
python app.py
- 访问
http://127.0.0.1:5000/
1.3 Docker部署
Docker Compose方式
git clone https://github.com/leonda123/X2Knowledge.git
cd X2Knowledge
docker-compose up -d
访问 http://localhost:5000/
手动构建Docker镜像
docker build -t x2knowledge .
docker run -d -p 5000:5000 --name x2knowledge -v ./uploads:/app/uploads -v ./logs:/app/logs x2knowledge
2. 使用说明
2.1 基本使用流程
- 选择转换模式(文本或Markdown)
- Markdown模式下选择转换引擎:
- MarkItDown:Office文档优化,处理速度快
- Docling:适合含复杂表格的PDF文件
- Marker:最高精度处理含表格/公式/图片的文档
- 上传文档(或拖放)
- 查看、复制或下载转换结果
- 使用Markdown预览功能查看格式化结果
2.2 网页转换功能
- 支持将网页内容转为结构化Markdown
- 可使用CSS选择器(如#content, .article)精确提取内容
- 可选择性移除页眉页脚
2.3 知识库预处理
- 将Markdown转为JSON/CSV问答对
- 自动从标题生成问题,从内容生成答案
- 支持带父子关系的层级标题结构
3. API使用文档
3.1 核心API接口
- 文本转换:
POST /api/convert
- 文本转换并保存:
POST /api/convert-file
- Markdown转换(MarkItDown):
POST /api/convert-to-md
- Markdown转换并保存(MarkItDown):
POST /api/convert-to-md-file
- Markdown转换(Docling):
POST /api/convert-to-md-docling
- Markdown转换并提取图片(Docling):
POST /api/convert-to-md-images-file-docling
- 表格提取(Docling):
POST /api/export-tables-docling
- HTML转换(Docling):
POST /api/convert-to-html-docling
- 在线文档转Markdown(Docling):
POST /api/convert-online-docling
- URL转Markdown:
POST /api/convert-url-to-md
- 知识库存储预处理:
POST /preprocess-for-storage
3.2 API调用示例
import requests
url = "http://localhost:5000/api/convert-to-md"
files = {'file': open('sample.docx', 'rb')}
response = requests.post(url, files=files)
print(response.json())
4. 项目安装方式对比
| 安装方式 | 适用场景 | 优点 | 缺点 | |---------|----------|------|------| | 本地安装 | 开发测试环境 | 调试方便,依赖可控 | 环境配置复杂 | | Docker Compose | 生产环境 | 一键部署,隔离性好 | 需要Docker环境 | | 手动Docker构建 | 定制化需求 | 镜像可定制 | 构建过程复杂 |
建议开发测试使用本地安装,生产环境使用Docker Compose部署
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考