ceilf6's picture
Update README.md
cabcb95 verified
---
base_model: unsloth/qwen2.5-coder-7b-bnb-4bit
library_name: peft
pipeline_tag: text-generation
tags:
- base_model:adapter:unsloth/qwen2.5-coder-7b-bnb-4bit
- lora
- sft
- transformers
- trl
- unsloth
- frontend
- agent
- planner
- code-generation
language:
- zh
- en
---
# FrontAgent Planner 7B (LoRA Adapter)
基于 Qwen2.5-Coder-7B 微调的前端任务规划 LoRA adapter,从 [FrontAgent](https://github.com/ceilf6/FrontAgent) 的 Planner 阶段蒸馏而来,能够根据自然语言任务描述生成结构化的前端开发执行计划。
## Model Details
### Model Description
- **Developed by:** ceilf6
- **Model type:** LoRA adapter for causal language model
- **Language(s):** 中文, English
- **License:** Apache 2.0 (同基座模型)
- **Finetuned from model:** unsloth/qwen2.5-coder-7b-bnb-4bit (Qwen/Qwen2.5-Coder-7B)
### Model Sources
- **Repository:** https://github.com/ceilf6/FrontAgent
- **基座模型:** https://huggingface.co/Qwen/Qwen2.5-Coder-7B
## Uses
### Direct Use
输入一个前端开发任务描述和项目上下文,模型输出结构化的 JSON 执行计划,包含:
- 按阶段组织的步骤列表(阶段1-分析 到 阶段7-仓库管理)
- 每个步骤的 description、action、phase 字段
- 风险分析 (risks) 和备选方案 (alternatives)
### Out-of-Scope Use
- 不适用于非前端工程的通用规划任务
- 不应作为生产环境的自动化执行引擎,生成的计划需人工审核
## Bias, Risks, and Limitations
- 训练数据为合成数据(Claude API 生成),可能无法覆盖所有真实场景
- 7B 模型在复杂多步骤任务上的推理能力有限
- 输出的 JSON 结构可能不完全稳定,建议后处理校验
## How to Get Started with the Model
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model = "Qwen/Qwen2.5-Coder-7B"
adapter = "ceilf6/frontagent-planner-7B-lora"
tokenizer = AutoTokenizer.from_pretrained(base_model)
model = AutoModelForCausalLM.from_pretrained(base_model, torch_dtype="auto", device_map="auto")
model = PeftModel.from_pretrained(model, adapter)
messages = [
{"role": "system", "content": "你是一个资深前端工程师和项目规划专家。请根据以下任务描述和项目上下文,生成一个结构化的执行计划。计划应按阶段组织(阶段1-分析、阶段2-创建、阶段3-安装、阶段4-验证、阶段5-启动、阶段6-浏览器验证、阶段7-仓库管理),每个步骤包含 description(描述)、action(动作类型)、phase(所属阶段)。同时提供 risks(潜在风险)和 alternatives(备选方案)。\n\n可用的动作类型: read_file, list_directory, create_file, apply_patch, search_code, get_ast, run_command, browser_navigate, browser_screenshot, get_page_structure, browser_click, browser_type"},
{"role": "user", "content": "任务:创建一个用户登录页面,包含邮箱和密码输入框,支持表单验证\n\n项目上下文:\nReact 18 + TypeScript + Ant Design 5"},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1536, temperature=0.7, top_p=0.9)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(response)
```
## Training Details
### Training Data
由 Claude API 基于 FrontAgent-app 的 Planner 系统提示词合成的 ~100 条前端任务规划数据,覆盖创建、修改、分析三类任务场景,Alpaca 格式 (instruction/input/output)。
### Training Hyperparameters
- **Training framework:** Unsloth 2x fast finetuning
- **Base model:** Qwen/Qwen2.5-Coder-7B (4-bit quantized)
- **Method:** QLoRA (4-bit) + LoRA SFT
- **LoRA rank:** 16
- **LoRA alpha:** 32
- **Target modules:** q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
- **Learning rate:** 1e-4
- **Epochs:** 5
- **Batch size:** 2
- **Gradient accumulation:** 4
- **Max sequence length:** 1024
- **Optimizer:** AdamW 8-bit
- **LR scheduler:** Cosine
- **Warmup ratio:** 0.05
### Speeds, Sizes, Times
- **Training hardware:** Google Colab T4 GPU (16GB VRAM)
- **Training time:** ~45-90 分钟
- **Adapter size:** ~50MB
- **可训练参数:** 80,740,352 / 4,433,712,640 (1.82%)
## Evaluation
### Metrics
- **JSON 合法率:** 模型输出是否为合法 JSON
- **完整计划率:** 是否包含 phases/steps/risks/alternatives
- **步骤数:** 每个计划包含的步骤数量
## Framework versions
- PEFT 0.19.1
- Transformers 5.5.0
- Unsloth 2026.5.2
- TRL (SFTTrainer)
- Torch 2.10.0+cu128