添加文件解析能力

This commit is contained in:
zk
2026-04-02 14:55:05 +08:00
parent 387c4e6f7e
commit 4de721ffca
4 changed files with 78 additions and 0 deletions
+5
View File
@@ -41,6 +41,9 @@ offerpie_python_ai/
│ ├─ user_func_permission_stock.py # 用户功能权限库存表(bg_user_func_permission_stock
│ └─ user_func_usage_log.py # 用户功能使用记录表(bg_user_func_usage_log
├─ tool/ # **工具层**(无状态、无业务依赖的通用工具)
│ └─ file_parser.py # 文件解析工具(PDF/Word/TXT → 纯文本,parse_to_text 入口方法)
└─ services/ # **业务逻辑层**
└─ func_permission_service.py # 功能权限服务(校验+扣减+回退,逻辑与Java端一致)
```
@@ -53,6 +56,7 @@ offerpie_python_ai/
| **ai** | AI 模型管理,封装多供应商 LLM 实例创建,基于 LangChain ChatOpenAI | `LLM` 枚举(火山引擎:doubao/deepseek,心缘:gpt-4o/claude |
| **api** | REST API 路由定义 | `health.py`(健康检查) |
| **models** | SQLAlchemy ORM 模型,与 Java 端共享同一数据库 | `FuncPermission``UserFuncPermissionStock``UserFuncUsageLog` |
| **tool** | 无状态通用工具,不依赖数据库/Redis/用户上下文 | `file_parser.py`PDF/Word/TXT 文件解析为纯文本) |
| **services** | 业务逻辑实现 | `FuncPermissionService`(功能权限校验、扣减、回退) |
## 3️⃣ 技术栈
@@ -67,6 +71,7 @@ offerpie_python_ai/
| **鉴权** | PyJWT | JWT 解析,与 Java 端共享同一 jwt_secret |
| **数据处理** | Pandas + NumPy | 数据分析与处理 |
| **HTTP** | httpx | 异步 HTTP 客户端 |
| **文件解析** | pdfplumber + python-docx | PDF 和 Word 文件内容提取 |
## 4️⃣ 中间件执行链(由外到内)
| 顺序 | 中间件 | 职责 |