# Script 文件夹

本文件夹包含 `run_pipeline.py` 的核心依赖模块和提取脚本。

## 核心模块（14个文件）

### LLM和Schema管理
- `llm_helper.py` - LLM调用的核心封装，支持重试、schema验证
- `schema_manager.py` - Schema管理和验证
- `validate_schema.py` - Schema验证函数集合
- `fix_json_quotes.py` - JSON格式修复工具

### 数据提取模块（v5架构）
- `extract_workflow.py` - 工作流提取（v5版本，支持结构化inputs/outputs和action对象）
- `extract_capability.py` - 能力提取（v5版本，支持结构化inputs/outputs和action对象）
- `extract_sources.py` - 源数据提取
- `generate_case.py` - 案例生成

### 内容树和聚类
- `apply_to_grounding.py` - 内容树映射（Stage 2：apply_to_draft → apply_to）
- `cluster_processes.py` - 流程聚类
- `score_processes.py` - 流程评分

### 工作流组装
- `extract_capabilities_workflow.py` - 能力工作流提取
- `enrich_capabilities.py` - 能力丰富化
- `assemble_strategy_workflow.py` - 策略组装

## 资源文件夹（resource/）

集中管理所有资源文件：
- `method_vocab_v5.json` - v5结构化词库（10个维度）
- `method_vocab.json` - 旧版词库（3个维度）
- `category_tree_56.json` - 内容树数据（3MB+）
- `query_tree.py` - 内容树查询工具

## v5架构说明

v5版本的提取脚本（`extract_capability.py` 和 `extract_workflow.py`）采用了新的架构：

### 结构化inputs/outputs
从简单的 `{data_type, description}` 升级为包含10个维度的详细结构：
- `role` - 流程角色（生成指令、编辑指令、约束条件等）
- `modality` - 模态（文本、图片、视频等）
- `artifact_type` - 工件类型（正向提示词、蒙版、LoRA等）
- `control_target` - 控制目标（主体、场景、光线等）
- `target_scope` - 作用范围（整图、人物、背景等）
- `constraint_strength` - 约束强度（硬约束、软约束等）
- `source` - 来源（原帖文本、用户上传等）
- `lifecycle` - 生命周期（原始输入、中间产物、最终成品等）
- `description` - 功能性描述

### action对象化
从字符串 `method` 变为对象：
```json
{
  "main_action": "生成",
  "mechanism": "直接生成"
}
```

### 两阶段提取
- **Stage 1**：语义提取，输出 `apply_to_draft`（自然语言短语）
- **Stage 2**：通过 `apply_to_grounding.py` 将draft映射到内容树的精确节点

### 词库管理
- 从 `resource/method_vocab_v5.json` 加载结构化词库
- 支持动态更新和扩展
- 10个维度确保输出一致性

## 依赖关系

```
run_pipeline.py
├── llm_helper.py
│   ├── schema_manager.py
│   └── fix_json_quotes.py
├── validate_schema.py
├── extract_workflow.py → llm_helper.py, resource/method_vocab_v5.json
├── extract_capability.py → llm_helper.py, resource/method_vocab_v5.json
├── extract_sources.py → fix_json_quotes.py
├── generate_case.py
├── apply_to_grounding.py → llm_helper.py
├── cluster_processes.py → llm_helper.py, validate_schema.py
├── score_processes.py → llm_helper.py, validate_schema.py
├── extract_capabilities_workflow.py → llm_helper.py, validate_schema.py
├── enrich_capabilities.py → llm_helper.py, validate_schema.py, schema_manager.py
└── assemble_strategy_workflow.py → llm_helper.py, validate_schema.py
```

## 外部文件夹

- `../test_script/` - 独立的测试、验证、转换工具
- `../test_script/extract/` - 独立的提取实现（v5 Codex版本、claude版本、gpt版本等）
