只保留LLM提取模式,修改提取逻辑
This commit is contained in:
45
README.md
45
README.md
@@ -1,6 +1,6 @@
|
||||
# SRS需求文档解析工具
|
||||
|
||||
一个智能的SRS(软件需求规格说明书)文档解析工具,支持PDF和Docx格式,能够自动提取需求并生成结构化JSON输出。
|
||||
一个基于大模型的SRS(软件需求规格说明书)文档解析工具,支持PDF和Docx格式,能够自动提取需求并生成结构化JSON输出。
|
||||
|
||||
## 特性
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
- **表格需求识别**:支持从表格中提取功能/接口/其他需求
|
||||
- **PDF表格提取**:支持从PDF中提取表格并自动挂接到章节
|
||||
- **长句原子拆分**:自动将包含多个需求点的长句拆分为多个可验证需求项
|
||||
- **章节筛选提取**:支持按章节号提取(如输入`3`提取第3章及其全部子章节)
|
||||
- **LLM-only**:当前版本仅支持LLM提取链路,不再提供规则提取模式
|
||||
|
||||
## 快速开始
|
||||
|
||||
@@ -27,7 +29,7 @@ pip install dashscope
|
||||
pip install pdfplumber
|
||||
```
|
||||
|
||||
### 配置API密钥(LLM模式)
|
||||
### 配置API密钥(必需)
|
||||
|
||||
```bash
|
||||
# 方式1:环境变量(推荐)
|
||||
@@ -45,11 +47,11 @@ llm:
|
||||
### 运行
|
||||
|
||||
```bash
|
||||
# LLM增强模式
|
||||
# LLM增强模式(唯一模式)
|
||||
python main.py -i ".\input\DC-SRS.pdf" -o ".\output\output.json"
|
||||
|
||||
# 纯规则模式(不使用LLM)
|
||||
python main.py -i DC-SRS.pdf -o output.json --no-llm
|
||||
# 按章节提取(输入3表示提取第3章及3.x子章节)
|
||||
python main.py -i ".\input\DC-SRS.pdf" -o ".\output\output_ch3.json" --chapters 3
|
||||
```
|
||||
|
||||
<!-- ```bash
|
||||
@@ -73,16 +75,33 @@ python -c "from src.document_parser import DocxParser; parser = DocxParser('test
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| **接口名称** | 接口的名称
|
||||
| **接口类型** | 接口的类型
|
||||
| **来源** | 数据或信号的来源/发送方 |
|
||||
| **目的地** | 数据或信号的目的地/接收方 |
|
||||
| **接口名称** | 接口的名称 |
|
||||
| **接口类型** | 接口的类型 |
|
||||
| **数据来源** | 数据或信号的来源/发送方 |
|
||||
| **数据目的地** | 数据或信号的目的地/接收方 |
|
||||
|
||||
### 需求描述规则
|
||||
### 需求描述策略(LLM驱动)
|
||||
|
||||
- **功能需求**:保持原文描述,不改写润色
|
||||
- **接口需求**:允许改写润色,确保描述清晰完整
|
||||
- **其他需求**:保持原文描述,不改写润色
|
||||
- **功能需求**:以原文为主,必要时轻微补全语义
|
||||
- **接口需求**:允许适度改写润色,并补齐接口字段
|
||||
- **其他需求**:以原文为主,避免无意义改写
|
||||
|
||||
### 表格处理策略
|
||||
|
||||
- **系统功能要求表、性能要求表**:默认忽略,不提取需求
|
||||
- **接口要求表**:可提取接口需求,且接口字段优先从表格列提取
|
||||
- **硬件/软件/运行环境表**:按“一表一条”生成需求,避免拆成多条
|
||||
|
||||
### 润色约束
|
||||
|
||||
- 除接口需求外,需求描述尽量保持原文
|
||||
- 非接口需求的润色改动上限为20个字(超限则回退原描述)
|
||||
|
||||
## 运行约束
|
||||
|
||||
- 必须配置可用的 `DASHSCOPE_API_KEY`(或在 `config.yaml` 中配置 `llm.api_key`)
|
||||
- 当LLM初始化失败或调用失败时,程序会直接报错退出,不会降级为规则提取
|
||||
- `--chapters` 为空时提取全量;设置为 `3` 时仅提取第3章及其子章节
|
||||
|
||||
## 目录结构
|
||||
|
||||
|
||||
Reference in New Issue
Block a user