# PycharmProjects **Repository Path**: fishtail_zhj/PycharmProjects ## Basic Information - **Project Name**: PycharmProjects - **Description**: 这是一个基于FastAPI构建的AI文档解析服务,能够对各种类型的文档进行智能分析和结构化解析。 AI 能力工程化为稳定、可复用的解决方案,驱动业务降本增效 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-11-11 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, FastAPI, Qwen-Plus, Agent, langchain ## README # AI文档解析API > **🚀 一个资深架构师的AI转型力作 | 4天从0到1的Python重构实践** > > - **核心价值**:将金融级AI Agent项目的核心模块,使用现代Python技术栈(FastAPI + Qwen-Plus)成功重构与工程化。 > - **能力证明**:本项目是开发者**从Java技术栈向Python AI技术栈平滑过渡的实证**,展现了快速学习、架构迁移和解决复杂问题的综合能力。 > - **工业级思维**:并非简单的技术Demo,而是秉承了金融系统对**稳定性、可扩展性和工程规范**的严格要求。 ## 项目结构 todo 待重构 PythonProject/PROJECT_TREE.md ai_doc_parser/ ├── run(main).py # 应用入口 ├── core/ # 核心配置 │ ├── config.py # 配置管理 │ ├── logging_config.py # 日志配置 │ └── security.py # 安全相关 ├── api/ # API 路由层 │ ├── __init__.py │ ├── dependencies.py # API 依赖项 │ └── endpoints/ │ ├── __init__.py │ ├── document_parser.py # 文档解析端点 │ └── health.py # 健康检查 ├── services/ # 业务逻辑层 │ ├── __init__.py │ ├── document_service.py # 文档解析服务 │ └── ai_service.py # AI 服务封装 ├── repositories/ # 数据访问层 │ ├── __init__.py │ └── ai_repository.py # AI API 调用 ├── models/ # 数据模型 │ ├── __init__.py │ ├── schemas.py # Pydantic 模型 │ └── enums.py # 枚举类型 └── utils/ # 工具函数 ├── __init__.py └── keyword_extractor.py # 关键词提取工具 可实现的架构组合: - springboot + BISHENG/Dify + agent - python + FastAPI + Qwen-Plus - python + Langchain + Qwen-Plus - springAI + BISHENG/Dify + agent - springAI Alibaba + BISHENG/Dify + agent ## 功能特性 ## 核心能力展示 本项目重构并验证了以下现代AI应用开发的核心能力: - **🔧 框架驾驭**:快速掌握 `FastAPI` 构建高性能API、`LangChain` 编排AI工作流。 - **🤖 AI集成**:熟练集成阿里云 `Qwen-Plus` 大模型,实现提示词工程与功能点智能拆分。 - **🏗️ 架构设计**:设计并实现了可扩展的AI服务架构,支持 **Agent工作流** 和 **RAG系统** 的平滑接入。 - **📦 工程化交付**:具备完整的项目构建、依赖管理、API文档化和容器化部署能力。 - 文档基础信息分析(标题、字数、句子数等) - 关键词提取 - 阅读时间估算 - 技术与业务术语识别 - AI驱动的功能点拆分(基于Qwen-Plus模型) ## API端点 ### 基础接口 - `GET /` - 根路径,返回"Hello World" - `GET /health` - 健康检查接口 ### 文档解析接口模拟 - `POST /parse-advanced` - 高级文档解析 - 提供文档的基础统计信息和内容分析 - 支持多种文档类型(general, requirement, design) ### 文档解析接口 python重构 - `POST /parse-ai-qwen-plus` - AI智能文档解析(Qwen-Plus) - 使用通义千问Qwen-Plus模型进行智能功能点拆分 - 返回结构化的功能点清单 - 引入LangChain - 请求Json样例 `{ "text": "用户表新增功能,用户表修改,用户表删除,用户表查询", "doc_type": "requirement" }` - 响应Json样例 `{ "success": true, "data": { "function_points": [ { "index": "1", "function_name": "用户表新增功能", "function_type": "新增", "function_hour": 7, "remark": "" }, { "index": "2", "function_name": "用户表修改功能", "function_type": "修改", "function_hour": 7, "remark": "" }, { "index": "3", "function_name": "用户表删除功能", "function_type": "删除", "function_hour": 7, "remark": "" }, { "index": "4", "function_name": "用户表查询功能", "function_type": "查询", "function_hour": 7, "remark": "" } ] }, "error": null }` ### todo 文档解析接口 python 可扩展 - `POST /parse-ai-explorer` - AI智能文档解析(扩展) - 传入文档(支持的多文档类型pdf, docx, xlsx, txt, md) - system prompt 系统提示词后期可扩展专业的度量模型,或者引入度量模型的知识库 - 使用通义千问Qwen-Plus模型进行智能功能点拆分 - 返回结构化的功能点清单 ### todo 嵌入或者改造原有流程 业务流程再造(BPR) - parse-ai-explorer 结果经过逻辑加工录入原有业务表中 - 替换原来需要人工录入的工作部分 - 包括填写后出现的审核流程都可以移除 - 无缝集成,打造端到端自动化流水线 ## 项目价值与成效 ## 项目诠释:从Java到AI的架构思维迁移 **本项目的意义远超代码本身,它证明了:** 1. **技术栈迁移能力**:在4天内,我将15年(金融软件工程*8年+制造业硬件洞察(SMT/PCBA)*7年)的 Java架构经验(SpringBoot)成功平移到Python AI生态(FastAPI + LangChain), 实现了 **“架构思维”而非“语法翻译”** 的高质量重构。 2. **复杂问题抽象能力**:我抽取了原银行AI效能项目中“需求文档智能解析”这一**最核心、最能体现智能体设计思想的模块**进行重构, 体现了抓住核心复杂度的能力。 3. **AI工程化落地能力**:代码体现了对**稳定性、可维护性和扩展性**的追求,为将AI能力转化为稳定、可复用的企业级服务打下了坚实基础。 ### 效能提升 - **100%替代手工录入**:年处理需求20,000+,节省人工成本超350人月 - **处理效率飞跃**:将工作量处理周期从"月级"缩短至"分钟级" ### 质量治理 - **AI审核机制**:增设AI文档审核环节,数据规范率从~70%提升至98%+ - **规范推动**:反向推动团队文档规范化建设 ### 洞察与规划 - **需求识别**:通过系统数据精准识别"史诗级需求"对研发效能的潜在影响 - **战略纳入**:已将其纳入下一阶段跨部门效能优化核心规划 ### 项目价值 - 成功将AI能力工程化为稳定可用的"研发效能数字孪生"平台 - 为管理层提供实时、精准的决策数据支持 - 奠定研发数字化转型基石 ## 请求参数 ### ParseRequest模型 | 字段名 | 类型 | 默认值 | 描述 | |--------|------|--------|------| | text | string | - | 待解析的文档文本 | | doc_type | string | "general" | 文档类型(general/requirement/design) | ## 响应格式 ### ParseResponse模型 | 字段名 | 类型 | 描述 | |--------|------|------| | success | boolean | 是否成功 | | data | dict | 解析结果数据 | | error | string | 错误信息(如有) | ## 部署说明 1. 安装依赖: bash pip install fastapi uvicorn openai pydantic python-multipart 2. 设置环境变量: bash export DASHSCOPE_API_KEY=your_api_key_here 3. 运行服务: 也可以使用run.py脚本启动 bash uvicorn app:app --host 0.0.0.0 --port 8000 ## 注意事项 - 需要有效的DashScope API密钥才能使用AI解析功能 - 日志级别已设置为DEBUG,可根据需要调整 - 所有接口都包含异常处理机制 - 期待逐步扩展、完善,欢迎提issue或PR ## 拓展模块 - 向量数据库相关模块依赖引入NESMA知识库 -- 依赖检查脚本 PythonProject/ai_doc_parser/utils/check_dependencies.py -- NESMA项目的完整依赖检查 PythonProject/ai_doc_parser/utils/check_nesma_deps.py -- 实时监控安装并更新依赖 smart_install.py - json toon ## 版本更新列表 - 0.1.0: 初始版本,包含基础功能 2025-11-11 - 0.2.0: 重构引入langChain 2025-11-13 - 0.3.0: 配置管理API Key、模型名称、环境变量等硬编码内容移入 config.py 2025-11-14 - 0.4.0: 文档加载与切分 解析文档 ChromaDB,Sentence Transformers - 文本嵌入模型,all-MiniLM-L6-v2(create_nesma_manual_embedding) 文档加载 → 智能切分 → 向量嵌入 → 存储索引 ↓ ↓ read_markdown_file() + smart_chunking() PyPDF2 python-docx RecursiveSplitter - 0.4.1: 实现RAG 通过chroma创建NESMA知识库, 并引入NESMA知识库,增加提示词进行度量 2025-11-17 - 0.4.2: 解析<需求开发文档.docx>需求功能清单进行度量 - 0.5.1: todo 数据处理 Pandas/NumPy - 0.5.2: todo 容器化 Dockerfile - 0.5.3: todo 模型微调 PyTorch - 0.5.4: todo 大模型返回JSON格式校验 - 0.5.5: todo 将返回结果存入数据库 - 0.5.6: todo 建立日志表