# fileCompare **Repository Path**: hzt521/file-compare ## Basic Information - **Project Name**: fileCompare - **Description**: 招投标文件对比 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-04 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 投标文件智能比对系统 ## 项目介绍 投标文件智能比对系统是一个基于大模型和RAG技术的文档相似度检测工具,专门用于检测投标文件中的雷同性,重点发现以下抄袭特征: - 大段文字复制 - 错漏一致(相同的错别字、数字错误) - 格式伪装(更换格式但内容相同) ## 技术架构 采用"RAG检索+大模型推理"的混合架构: - **RAG负责检索**:高效查找相似片段和微观特征 - **大模型负责推理**:进行语义判断和报告生成 ## 核心功能 1. **文档预处理与分块**:支持PDF解析、OCR处理、滑动窗口分块和语义分块 2. **向量化与向量数据库**:支持BGE-M3和text-embedding-ada-002模型,兼容Milvus、Pinecone和Weaviate向量数据库 3. **雷同性检测**:包括语义相似度检测、错漏一致检测和格式伪装检测 4. **大模型推理与报告生成**:使用GPT-4、Claude 3或通义千问进行语义重判和报告生成 ## 安装说明 ### 1. 环境要求 - Python 3.8+ - 建议使用虚拟环境 ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 配置修改 修改 `src/config.py` 文件,填写相关配置: - **向量数据库配置**:根据使用的向量数据库类型填写相应的配置 - **大模型配置**:填写使用的大模型API密钥 ## 使用方法 ### 基本用法 ```bash python src/main.py --output --llm ``` 参数说明: - ``:第一个文件路径(PDF或图片) - ``:第二个文件路径(PDF或图片) - `--output`:输出报告路径,默认值为 `report.json` - `--llm`:大模型提供商,可选值为 `openai`、`anthropic`、`qwen`,默认值为 `openai` ### 示例 ```bash python src/main.py data/file1.pdf data/file2.pdf --output report.json --llm openai ``` ## 输出结果 检测完成后,系统会生成两个报告文件: 1. **结构化报告**(JSON格式):包含详细的检测结果,如相似片段、错误一致证据等 2. **自然语言报告**(TXT格式):由大模型生成的可读性强的检测报告 ## 项目结构 ``` ├── src/ # 源代码目录 │ ├── document/ # 文档处理模块 │ │ ├── parser.py # 文档解析器 │ │ └── chunker.py # 文档分块器 │ ├── vector/ # 向量化模块 │ │ ├── embedder.py # 文本向量化 │ │ └── database.py # 向量数据库操作 │ ├── detection/ # 雷同性检测模块 │ │ └── detector.py # 雷同性检测器 │ ├── llm/ # 大模型模块 │ │ └── llm_client.py # 大模型客户端 │ ├── report/ # 报告生成模块 │ │ └── generator.py # 报告生成器 │ ├── utils/ # 工具模块 │ ├── config.py # 配置文件 │ └── main.py # 主程序 ├── tests/ # 测试目录 │ └── test_main.py # 测试脚本 ├── data/ # 数据目录 ├── requirements.txt # 依赖文件 └── README.md # 项目文档 ``` ## 技术栈 | 组件 | 推荐技术 | 用途 | |------|---------|------| | 文档解析 | PyPDF2, pdfplumber, PaddleOCR | 提取文本和图片 | | 向量化 | BGE-M3, text-embedding-ada-002 | 文本转向量 | | 向量数据库 | Milvus, Pinecone, Weaviate | 高效相似度检索 | | 大模型 | GPT-4, Claude 3, 通义千问 | 语义推理、报告生成 | | 图片处理 | CLIP, ResNet | 图片特征提取 | | 关键词检索 | BM25, Elasticsearch | 错别字等特征检索 | ## 注意事项 1. **向量数据库**:使用前需要确保向量数据库服务已启动(如Milvus) 2. **API密钥**:需要在配置文件中填写正确的大模型API密钥 3. **性能考虑**:处理大型文档时可能需要较长时间,建议在配置较高的机器上运行 4. **准确性**:检测结果仅供参考,最终判断需要人工审核 ## 许可证 本项目采用 MIT 许可证。