# FSM spec转换成标准格式(standard form) **Repository Path**: di_zhao/FSMspec2standard ## Basic Information - **Project Name**: FSM spec转换成标准格式(standard form) - **Description**: FSM spec转换成标准格式(standard form) - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-14 - **Last Updated**: 2026-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LLM4FSM 最终稳定版 ### 项目结构 ``` LLMforFSM/ ├── app.py # 主UI应用 ├── web_app.py # Web界面应用 ├── config.py # 配置文件 ├── fsm.py # FSM结构定义 ├── data_generator.py # 数据集生成 ├── tokenizer.py # 编码功能 ├── trainer.py # 训练功能 ├── tester.py # 测试准确率 ├── generator.py # 生成FSM ├── parser.py # 解析FSM ├── branch_signals.py # 提取分支信号 ├── path_enumerator.py # 路径枚举 ├── path_filter.py # 合法路径过滤 ├── train_fsm.py # 批量训练脚本 ├── infer_cli.py # 单FSM推理工具 ├── batch_infer_cli.py # 批量FSM推理工具 ├── infer_cli.md # 单FSM推理工具说明 ├── batch_infer_cli.md # 批量FSM推理工具说明 ├── data/ # 数据目录 │ ├── train_data.json # 训练数据 │ ├── val_data.json # 验证数据 │ └── test_data.json # 测试数据 ├── templates/ # Web模板目录 └── README.md # 说明文档 ``` ### 安装依赖 ```bash pip install transformers peft torch ``` ### 使用方法 1. 运行主应用: ```bash python app.py ``` 2. 在UI界面中: - **模型训练**标签页:点击"开始训练"按钮进行模型训练 - **FSM生成**标签页:点击"生成FSM"按钮生成FSM文本 - **FSM分析**标签页:点击"分析FSM"按钮分析生成的FSM - **结果展示**标签页:查看FSM分析结果 ### 核心功能 1. **数据集生成**:自动生成FSM训练数据 2. **LoRA训练**:使用LoRA方法微调模型 3. **准确率测试**:测试模型在验证集上的表现 4. **FSM生成**:生成标准格式的FSM文本 5. **FSM解析**:解析FSM文本,构建FSM结构 6. **分支信号提取**:提取FSM中的分支信号 7. **路径枚举**:枚举FSM中的所有路径 8. **合法路径过滤**:过滤出合法的FSM路径 ### 技术特点 - 使用Hugging Face镜像站加速模型下载 - 支持GPU/CPU自动切换 - 模块化设计,易于扩展 - 友好的GUI界面 - 完善的错误处理机制 - 自动兜底功能,确保系统稳定运行 ### 命令行工具使用 #### 1. 批量训练工具 (train_fsm.py) ```bash python train_fsm.py --model ./local_models/opt-125m --output ./trained_model --epochs 3 --batch_size 4 ``` - **功能**:训练FSM生成模型 - **主要参数**: - `--model`:基础模型路径 - `--output`:训练后模型保存路径 - `--epochs`:训练轮数 - `--batch_size`:批次大小 #### 2. 单FSM推理工具 (infer_cli.py) ```bash python infer_cli.py --model ./trained_model --device cpu --spec "A simple FSM with 3 states" --output fsm_result.txt ``` - **功能**:从训练好的模型生成单个FSM并分析 - **主要参数**: - `--model`:模型路径 - `--device`:运行设备(cpu/cuda) - `--spec`:FSM功能描述(英文) - `--output`:输出文件路径 #### 3. 批量FSM推理工具 (batch_infer_cli.py) ```bash python batch_infer_cli.py --model ./local_models/opt-125m --test_data ./data/test_data.json --output batch_results.txt ``` - **功能**:批量处理测试数据集,生成并分析多个FSM - **主要参数**: - `--model`:模型路径 - `--test_data`:测试数据文件路径 - `--output`:输出文件路径 - `--device`:运行设备(cpu/cuda)