# file2QA **Repository Path**: hweiming/file2-qa ## Basic Information - **Project Name**: file2QA - **Description**: 文档知识库处理,转换成QA - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-17 - **Last Updated**: 2025-02-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Document to QA Knowledge Base Converter 一个将文档(PDF/Word)转换为问答(QA)知识库的工具,生成JSON文件。支持图片提取和上传到华为云OBS,并自动进行语义化分段。 ## 功能特性 - 支持多种文档格式 - PDF文件解析 - Word文件解析 - 图片提取与处理 - 智能内容处理 - AI 语义化分段, - AI 接口文档:https://api-docs.deepseek.com/zh-cn/guides/multi_round_chat - 自动QA对生成 - 图片上传至OBS - 多文档源管理 - 错误处理 - 文件格式验证 - 上传失败重试 - 详细日志记录 ## 安装和配置 1. 安装依赖 ```bash pip install -r requirements.txt ``` 2. 配置文件 在 `config/config.yaml` 中配置: ```yaml # OBS配置 obs: access_key: "your_access_key" secret_key: "your_secret_key" endpoint: "obs.cn-north-4.myhuaweicloud.com" bucket: "your_bucket" url_expire_seconds: 31536000 # URL有效期:1年 retry_times: 3 # AI配置 ai: api_key: "your_api_key" api_base: "https://api.deepseek.com/v1" model: "deepseek-chat" temperature: 0.7 max_tokens: 2000 ``` ## 使用方法 1. 单文件处理 ```python from doc_to_qa import DocProcessor # 初始化处理器 processor = DocProcessor('config/config.yaml') # 处理文档 qa_pairs = processor.process_document( file_path='path/to/document', source_name='系统A' # 数据源标识 ) ``` 2. 批量处理 ```python # 处理整个目录 results = processor.process_directory( dir_path='path/to/docs', source_name='系统B' ) ``` ## 输出格式 ```json { "qa_pairs": [ { "question": "问题内容", "answer": "答案内容,包含图片链接", "source": "系统A", "metadata": { "confidence": true, "created_at": "2024-03-20 10:00:00" } } ] } ``` ## 处理流程 1. 文档解析 - 支持PDF和Word格式 - 提取文本内容 - 提取图片 2. 图片处理 - 图片压缩和格式转换 - 上传到华为云OBS - 生成访问URL 3. 内容处理 - 智能分段 - 使用DeepSeek AI生成QA对 - 添加数据源标识 ## 性能优化 - 图片处理 - 自动压缩大图片 - 支持断点续传 - 失败重试机制 - 内容处理 - 智能分段避免内容过长 - 保持段落语义完整性 - 批量处理优化 ## 开发说明 1. 文档解析模块 - 支持PDF和Word格式 - 保持文档结构完整性 - 提取图片并生成临时引用 2. 图片处理模块 - 支持常见图片格式 - 自动上传至华为云OBS - 生成可访问的URL 3. 内容处理模块 - 使用DeepSeek AI进行智能分段 - 生成符合上下文的问答对 - 保持语义完整性