从docx到结构化db:AI如何用一句话搞定文档自动分类
当一份60页的Word文档摆在面前CtrlF翻到手指发麻时AiPy用“Python-Use”范式给出了另一种解法让大模型自己写代码去读文档、理解结构、分类整理、存入数据库。全程不用写一行代码结果比手动整理还清晰。被60页Word文档支配的恐惧上周我需要从一份60多页的《Web应用安全测试指南》docx里提取“安全测试流程四步曲”的内容整理成可检索的数据库。文档本身结构清晰——“标题二”下分了三块测试流程、漏洞类型、工具清单——但内容全是自然段落没有表格没有结构化标记。按照以前的习惯我会这样干打开文档 → 找到目标章节 → 复制内容到Excel → 手动分列 → 逐条归类 → 存成数据库。60页文档里的几十条子项光是“判断这段文字到底算测试流程还是漏洞类型”这一步就能让人头大。弄到一半就想放弃。这次我换了个方式。我打开了AiPy输入了一句话“在我的桌面上有一个《Web应用安全测试指南》的docx文档文件你需要将‘三、安全测试流程四步曲’的所有内容进行db文件的写入存储自动帮我做好分类最后给我一个db文件。”然后我去倒了杯水。回来的时候桌面上多了一个.db文件。打开一看——内容被分成了三大类“测试流程”“漏洞类型”“工具清单”每类下面条目清晰、字段完整比我自己手动整理的还规整。全程我没写一行代码甚至没看见代码长什么样。技术拆解AiPy如何处理文档这件事看似简单背后涉及的技术链路其实挺有意思。从用户输入一句话到输出一个结构化db文件AiPy走完了“需求解析→任务拆解→代码生成→自动执行→输出结果”的完整闭环。具体拆开看大致经历了这么几个阶段1. 需求解析与任务拆解用户输入是一句大白话“把‘三、安全测试流程四步曲’的所有内容提取出来自动分类写入db文件。”AiPy通过内置的Prompt工程体系让LLM将这句话解析为结构化任务提取目标定位文档中“三、安全测试流程四步曲”章节处理方式读取docx内容 → 识别子项结构 → 按逻辑分类输出格式SQLite数据库文件.db分类逻辑根据内容语义自动划分到“测试流程”“漏洞类型”“工具清单”三个类别这个过程的关键在于Prompt体系强制LLM输出结构化的任务规划而不是自由发挥。2. 代码生成从语义到可执行Python任务拆解完成后AiPy调用了大模型生成Python代码。根据这类文档处理任务的标准实现代码的核心逻辑大致包括pythonimport docx import sqlite3 import re # 读取docx文档 doc docx.Document(Web应用安全测试指南.docx) content [] for para in doc.paragraphs: if 三、安全测试流程四步曲 in para.text: # 定位到目标章节开始提取 ... # 语义分类逻辑 def classify_content(text): # 根据关键词和上下文判断类别 if re.search(r测试准备|信息收集|漏洞挖掘|风险评估, text): return 测试流程 elif re.search(rSQL注入|XSS|CSRF|文件上传, text): return 漏洞类型 elif re.search(rBurp|Nmap|SQLMap|AWVS, text): return 工具清单 return 其他 # 写入SQLite数据库 conn sqlite3.connect(安全测试流程.db) c conn.cursor() c.execute(CREATE TABLE IF NOT EXISTS content (category TEXT, title TEXT, description TEXT)) for item in classified_items: c.execute(INSERT INTO content VALUES (?, ?, ?), item) conn.commit() conn.close()当然实际生成的代码会比这个示例更完整——包含错误处理、编码兼容、段落合并等细节。但核心逻辑就是用python-docx读文档用关键词正则做初步分类用sqlite3写数据库。3. AST自愈机制代码报错也能自己修LLM生成的代码第一次运行未必完美。如果代码报错——比如python-docx库没装、文件路径不对、编码解析失败——AiPy的AST自愈机制会自动介入。具体流程是执行代码捕获错误信息错误类型、行号、堆栈将错误信息连同当前代码一起重新提交给LLMLLM分析错误原因生成修复后的代码再次执行直到任务完成官方数据显示这种自愈机制能把复杂任务的迭代轮次从平均8-10轮压缩到3-5轮。用户感知到的可能只是一条“正在修复错误…”的提示然后任务继续推进。4. 本地化部署数据不出内网整个过程中所有数据处理都在本地完成。文档文件存在本地桌面AiPy生成的Python代码在本地执行生成的db文件也直接保存在本地桌面。按照AiPy的“全本地化安全计算架构”设计用户不需要把敏感文档上传到云端。对于企业来说这一点尤其重要——尤其是金融、医疗等对数据隐私要求高的行业文档内容可能包含内部流程、漏洞详情、工具配置等敏感信息。更深一层为什么“代码即代理”比预设工具更灵活传统AI Agent的工作方式是开发者预先写好一批工具比如“读取docx工具”“写入数据库工具”然后让大模型按说明书调用。这种方式的局限在于碰到没预设过的场景或者需要组合多个工具完成复杂任务时就卡住了。AiPy的“Python-Use”范式走的是另一条路让大模型直接生成Python代码用代码本身作为“工具”。用官方的话说叫“No AgentsCode is Agent”——不需要预先注册工具不需要编排工作流代码本身就是代理。在这个文档处理的场景里这个过程很清楚传统方式需要预先写好“docx提取工具”“文本分类工具”“db写入工具”三个独立功能并告诉大模型什么时候调用哪个。而AiPy的方式是让大模型自己写一段Python代码把这几个步骤串成一个完整的流程一次执行完。区别在于预设工具模式依赖开发者提前预判所有可能的场景代码生成模式遇到新场景现场“造”一个新工具写在最后从docx到db这件事技术上并不复杂。但AiPy的价值在于它把这个过程从“需要懂Python的人来写脚本”变成了“一句话就能搞定”。对于一个普通用户来说ta不需要知道python-docx是什么、不需要装Python环境、不需要处理编码问题、不需要写SQL建表语句——ta只需要说“帮我整理这个文档自动分类存成db文件”。剩下的AiPy自己搞定。如果你也经常被文档整理、信息提取这类重复性工作困扰不妨试试AiPy——从一句话到结构化数据比你想象的要快。