# prdt_doc_to_rec_manual **Repository Path**: lw18323134/prdt_doc_to_rec_manual ## Basic Information - **Project Name**: prdt_doc_to_rec_manual - **Description**: prdt_doc_to_rec_manual - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-10 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 产品文档智能分析与推荐系统 ## 项目概述 本系统是一个基于大语言模型的产品文档智能分析与推荐系统,旨在通过自动化技术提升产品文档的可用性和用户体验。系统能够智能分析产品文档内容,理解用户需求,并提供精准的文档推荐和内容解析。 系统核心功能包括: - 文档内容智能解析与结构化 - 用户需求理解与意图识别 - 个性化文档推荐 - 多轮对话式文档查询 - 知识图谱构建与维护 ## 核心功能 ### PDF-Extract-Kit 功能 `PDF-Extract-Kit` 是一个强大的开源工具包,用于从复杂多样的PDF文档中高效提取高质量内容: - **领先文档解析模型集成**:包含布局检测、公式检测、公式识别、OCR等核心文档解析任务的最先进模型 - **多样化文档高质量解析**:通过多样化文档标注数据微调,在各种复杂文档类型上都能提供高质量结果 - **模块化设计**:灵活的模块化设计允许用户通过修改配置文件和少量代码轻松组合构建各种应用 - **全面评估基准**:提供多样化、全面的PDF评估基准,使用户能根据评估结果选择最适合的模型 ### 文档推荐系统功能 - 基于用户历史行为和当前上下文的个性化文档推荐 - 文档内容语义搜索与相似度匹配 - 多维度文档质量评估与排序 - 用户反馈学习与推荐优化 ## 系统架构 系统采用分层架构设计,主要包括: 1. **数据采集层**:负责产品文档的收集、清洗和预处理 2. **特征提取层**:使用NLP和CV技术提取文档结构和语义特征 3. **知识表示层**:构建和维护产品文档知识图谱 4. **推荐引擎层**:实现多种推荐算法和策略 5. **用户接口层**:提供REST API和Web界面 ## 模型概述 | **任务类型** | **描述** | **模型** | |-------------------|-------------------------------------------------------------------------|-----------------------------| | **布局检测** | 定位文档中的不同元素:包括图像、表格、文本、标题、公式 | `DocLayout-YOLO_ft`, `YOLO-v10_ft`, `LayoutLMv3_ft` | | **公式检测** | 定位文档中的公式:包括行内公式和块公式 | `YOLOv8_ft` | | **公式识别** | 将公式图像识别为LaTeX源代码 | `UniMERNet` | | **OCR** | 从图像中提取文本内容(包括定位和识别) | `PaddleOCR` | | **表格识别** | 将表格图像识别为对应的源代码(LaTeX/HTML/Markdown) | `PaddleOCR+TableMaster`, `StructEqTable` | ## 安装指南 ```bash conda create -n doc-recommend python=3.10 conda activate doc-recommend pip install -r requirements.txt ``` > **注意:** 如果您的设备不支持GPU,请使用`requirements-cpu.txt`安装CPU版本依赖项。 ## 配置说明 系统配置采用YAML格式,主要配置文件包括: - `configs/config.yaml`: 系统全局配置 - `configs/model_config.yaml`: 模型参数配置 - `configs/recommend_config.yaml`: 推荐策略配置 配置项支持热更新,修改后无需重启服务即可生效。 ## 使用示例 ### 文档解析示例 #### 布局检测模型 ```bash python scripts/layout_detection.py --config=configs/layout_detection.yaml ``` #### 公式检测模型 ```bash python scripts/formula_detection.py --config=configs/formula_detection.yaml ``` #### OCR模型 ```bash python scripts/ocr.py --config=configs/ocr.yaml ``` ### 安装流程 1.bash pkg/pkg.sh ,拿到压缩包prdt_doc_to_rec_maprdt_doc_to_rec_manualnual_deploy 2.上传到服务器,如果服务器存在旧版版,先删除 ```bash rm -rf prdt_doc_to_rec_deploy* ``` 3.在传到部署机上任意目录解压,进解压后文件夹,跑bash deploy_prod.sh 虚拟环境安装依赖,执行测试 ```bash tar -zxvf prdt_doc_to_rec_deploy_*.tar.gz cd prdt_doc_to_rec_deploy_* bash deploy_prod.sh ``` FAQ: 1. 如遇到问题: scikit_learn申请TLS内存失败,运行前项目根目录执行: export LD_PRELOAD="$(pwd)/prdvenv/lib/python3.10/site-packages/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0" 调用推荐API: ```python import requests response = requests.post( "http://localhost:8000/recommend", json={"user_id": "123", "query": "如何配置产品参数"} ) print(response.json()) ``` ## 注意事项 1. 系统依赖的深度学习模型需要GPU加速以获得最佳性能 2. 首次使用需要下载预训练模型权重(约5GB) 3. 生产环境部署建议使用Docker容器 4. 文档解析质量与输入文档的清晰度密切相关 ## 许可证 本项目采用[AGPL-3.0](LICENSE)许可证开源。 ## 致谢 - [LayoutLMv3](https://github.com/microsoft/unilm/tree/master/layoutlmv3): 布局检测模型 - [UniMERNet](https://github.com/opendatalab/UniMERNet): 公式识别模型 - [StructEqTable](https://github.com/UniModal4Reasoning/StructEqTable-Deploy): 表格识别模型 - [YOLO](https://github.com/ultralytics/ultralytics): 公式检测模型 - [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR): OCR模型 - [DocLayout-YOLO](https://github.com/opendatalab/DocLayout-YOLO): 布局检测模型 ## 相关链接 - [UniMERNet (真实场景公式识别算法)](https://github.com/opendatalab/UniMERNet) - [MinerU (一站式高质量数据提取工具)](https://github.com/opendatalab/MinerU)