Views
No views yet
7/
├── solver.py # 主推理脚本(RAG问答)
├── train.py # LoRA微调训练脚本
├── vllm_service.sh # vLLM服务启动脚本
├── data/ # 数据目录
│ ├── data/ # 检索语料库
│ ├── test.xlsx # 测试集
│ └── train.parquet # 训练数据
└── models/ # 模型目录
├── Qwen3-Embedding-0.6B/ # 向量嵌入模型
└── trained_llm/ # 微调后的LLM1pip install torch vllm openai pandas openpyxl docx textract
2pip install transformers peft datasets langchain-text-splitters tqdmdata/data/ 目录.pdf, .docx, .txt 等data/test.xlsxID, questiondata/train.parquetsystem, instruction, output1python train.py \
2 --dataset data/train.parquet \
3 --base-model models/trained_llm \
4 --output models/output/checkpoints \
5 --max-samples 90000 \
6 --max-length 2200 \
7 --batch 2 \
8 --grad-accum 3 \
9 --lr 2.1e-4 \
10 --steps 1000 \
11 --seed 5150--dataset: 训练数据路径--base-model: 基础模型路径--output: 输出检查点目录--max-samples: 最大训练样本数--max-length: 最大序列长度--batch: 每设备批次大小--grad-accum: 梯度累积步数--lr: 学习率--steps: 训练步数bash vllm_service.sh../models/trained_llmtrainedhttp://localhost:8000/v1python solver.py --task_type 政务result.csvresult.csv| ID | answer |
|---|---|
| 1 | 答案内容 |
| 2 | 答案内容 |
solver.py 中修改全局常量:1DEFAULT_CHUNK_LENGTH = 2304 # 文本块大小
2DEFAULT_OVERLAP_SIZE = 512 # 重叠大小
3TOP_K_DOCS = 3 # 检索文档数量
4THREAD_POOL_SIZE = 12 # 并发线程数ConfigManager 中的提示词格式:self._prompt_fmt = "问题:\n{question}\n\n参考以下文档来回答:\n{docs}"vllm_service.sh 调整:--tensor-parallel-size: 张量并行度--max-model-len: 最大上下文长度--gpu-memory-utilization: GPU内存使用率1graph LR
2A[用户问题] --> B[向量化查询]
3B --> C[检索Top-K文档]
4C --> D[构建提示词]
5D --> E[LLM生成答案]
6E --> F[后处理输出]data/ 和 models/ 路径是否正确THREAD_POOL_SIZE 和 max_workers--tensor-parallel-sizeTOP_K_DOCS 数量DEFAULT_CHUNK_LENGTH--gpu-memory-utilization