# PycharmProjects **Repository Path**: fishtail_zhj/PycharmProjects ## Basic Information - **Project Name**: PycharmProjects - **Description**: 这是一个基于FastAPI构建的AI文档解析服务,能够对各种类型的文档进行智能分析和结构化解析。 AI 能力工程化为稳定、可复用的解决方案,驱动业务降本增效 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-11-11 - **Last Updated**: 2026-05-02 ## 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,而是秉承了金融系统对**稳定性、可扩展性和工程规范**的严格要求。 ## 项目结构 ``` PythonProject/ ├── app.py # FastAPI应用入口(已实现) ├── run.py # 服务启动脚本(已实现) ├── requirements.txt # 依赖声明(已实现) ├── __init__.py └── ai_doc_parser/ ├── agent/ # AI智能体模块(已实现) │ ├── __init__.py │ └── simple_refactor.py ├── config/ # 配置管理(已实现) │ ├── templates/ │ │ ├── .env.template │ │ └── config.local.py.template │ └── __init__.py ├── core/ # 核心模块(已实现) │ ├── template/ │ │ ├── RequirementTemplate.py │ │ └── __init__.py │ ├── __init__.py │ └── config.py ├── nesma_qa_assistant/ # NESMA问答助手(已实现) │ ├── __init__.py │ ├── app_qa.py │ └── qa_bot.py ├── sources/ # 文档源文件(已实现) │ └── 需求开发文档.docx ├── vector/ # 向量数据库(已实现) │ ├── NESMA_FPA.md │ ├── __init__.py │ └── create_nesma_manual_embedding.py └── __init__.py ``` ### 待实现模块 ``` ai_doc_parser/ ├── api/ # API 路由层(待实现) │ ├── __init__.py │ ├── dependencies.py │ └── endpoints/ │ ├── __init__.py │ ├── document_parser.py │ └── health.py ├── services/ # 业务逻辑层(待实现) │ ├── __init__.py │ ├── document_service.py │ └── ai_service.py ├── repositories/ # 数据访问层(待实现) │ ├── __init__.py │ └── ai_repository.py ├── models/ # 数据模型(待实现) │ ├── __init__.py │ ├── schemas.py │ └── 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端点 ### 已实现接口 #### 向量数据库与RAG相关(已实现) - `POST /create-nesma-embedding` - 创建NESMA知识库向量索引 - 基于ChromaDB创建功能点度量知识库 - 使用Sentence Transformers进行文本嵌入 - `POST /parse-docx-with-rag` - 使用RAG解析需求文档 - 解析Word文档并结合NESMA知识库进行功能点度量 #### NESMA问答助手(已实现) - `POST /nesma/qa` - NESMA功能点度量问答 - 基于RAG的智能问答系统 - 支持功能点度量相关问题查询 - `POST /nesma/parse` - NESMA需求解析 - 解析需求文档并进行功能点估算 #### AI智能体(已实现) - `POST /agent/refactor` - 代码重构建议 - 基于AI的代码重构分析 ### 待实现接口 #### 基础接口(待实现) - `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 }` #### 文档解析接口 Python 可扩展(待实现) - `POST /parse-ai-explorer` - AI智能文档解析(扩展) - 传入文档(支持的多文档类型pdf, docx, xlsx, txt, md) - system prompt 系统提示词后期可扩展专业的度量模型,或者引入度量模型的知识库 - 使用通义千问Qwen-Plus模型进行智能功能点拆分 - 返回结构化的功能点清单 #### 业务流程再造(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知识库 - `create_nesma_manual_embedding.py` - 创建NESMA知识库向量索引 - `NESMA_FPA.md` - NESMA功能点度量知识库文档 - ✅ 文档加载与切分(docx支持) - ✅ RAG实现 - 通过Chroma创建NESMA知识库并进行度量 - ✅ NESMA问答助手模块 (`nesma_qa_assistant/`) - `app_qa.py` - 问答服务API - `qa_bot.py` - RAG问答核心逻辑 - ✅ AI智能体模块 (`agent/`) - `simple_refactor.py` - 代码重构建议 - ✅ FastAPI应用入口 (`app.py`) - ✅ 服务启动脚本 (`run.py`) - ✅ 依赖声明 (`requirements.txt`) ### 待实现 - ❌ API路由层 (`api/`) - ❌ 业务逻辑层 (`services/`) - ❌ 数据访问层 (`repositories/`) - ❌ 数据模型 (`models/`) - ❌ 工具函数 (`utils/`) - ❌ 依赖检查脚本 - ❌ JSON格式校验工具 ## 版本更新列表 ### 已发布版本 | 版本 | 日期 | 状态 | 内容 | |------|------|------|------| | 0.1.0 | 2025-11-11 | ✅ 已实现 | 初始版本,包含基础功能 | | 0.2.0 | 2025-11-13 | ✅ 已实现 | 重构引入LangChain | | 0.3.0 | 2025-11-14 | ✅ 已实现 | 配置管理 - API Key、模型名称、环境变量等移入 config.py | | 0.4.0 | - | ✅ 已实现 | 文档加载与切分 - ChromaDB、Sentence Transformers、all-MiniLM-L6-v2 | | 0.4.1 | 2025-11-17 | ✅ 已实现 | 实现RAG - 通过Chroma创建NESMA知识库,引入知识库进行度量 | | 0.4.2 | - | ✅ 已实现 | 解析<需求开发文档.docx>需求功能清单进行度量 | | 0.4.3 | - | ✅ 已实现 | NESMA问答助手模块 - 基于RAG的智能问答系统 | | 0.4.4 | - | ✅ 已实现 | AI智能体模块 - 代码重构建议功能 | | 0.4.5 | - | ✅ 已实现 | FastAPI应用入口与服务启动脚本 | ### 待规划版本 | 版本 | 状态 | 内容 | |------|------|------| | 0.5.0 | ❌ 待实现 | API路由层与业务逻辑层完善 | | 0.5.1 | ❌ 待实现 | 数据处理 - Pandas/NumPy | | 0.5.2 | ❌ 待实现 | 容器化 - Dockerfile | | 0.5.3 | ❌ 待实现 | 模型微调 - PyTorch | | 0.5.4 | ❌ 待实现 | 大模型返回JSON格式校验 | | 0.5.5 | ❌ 待实现 | 将返回结果存入数据库 | | 0.5.6 | ❌ 待实现 | 建立日志表 |