热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为Python开发者设计,能够根据脚本功能需求自动生成专业规范的Python脚本头文件。生成的脚本头文件包含完整的元数据信息,如脚本描述、作者信息、版本历史、依赖关系等,确保代码文档的规范性和可维护性。通过结构化的工作流程,能够准确捕捉脚本的核心功能和业务场景,输出符合行业标准的代码文档格式,提升开发效率和团队协作质量。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# 脚本名称: log_archiver.py
# 脚本类型: 自动化工具 (日志归档/加密/上传/清理/通知)
# 版本信息: 0.1.0
# 创建日期: 2025-12-10
# 作者: 周宁
# 邮箱: zhou.ning@example.com
# 电话: 137****1234 # 为保护隐私已做脱敏
# Python版本: >= 3.9
# 编码: UTF-8
# 许可协议: 按项目策略设置 (例如: MIT/Apache-2.0/内部)
# -----------------------------------------------------------------------------
# 功能概述:
# - 定时扫描本地与远程目录,匹配包含/排除规则收集项目日志;
# - 按规则打包(如 tar.gz/zip)并以 AES-256-GCM 加密;
# - 将归档上传至归档存储(本地/S3/SFTP等)并生成操作报告;
# - 基于保留策略(按天/按版本)清理过期文件;
# - 支持干跑(dry-run)、失败重试(指数退避)与详细/结构化日志;
# - 支持邮件通知发送执行摘要与报告附件/链接。
# -----------------------------------------------------------------------------
# 依赖与可选组件:
# - 基础: pathlib, logging, tarfile/zipfile, hashlib, concurrent.futures
# - 加密(必选其一):
# cryptography>=41.0 # AES-256-GCM 对称加密
# - 远程访问(可选按需):
# paramiko>=3.3 # SFTP
# boto3>=1.34 # S3/兼容对象存储
# - 配置与工具(可选):
# pyyaml>=6.0 # YAML 配置
# requests>=2.31 # Webhook/HTTP 回调
# click>=8.1 # 友好 CLI (或使用 argparse)
# - 安装: pip install -r requirements.txt
# -----------------------------------------------------------------------------
# 运行环境与计划:
# - OS: Linux/macOS/Windows
# - 调度: 建议使用 cron/systemd timers/企业任务编排执行本脚本
# -----------------------------------------------------------------------------
# 配置与敏感信息:
# - 配置文件: --config 指定 (默认: ./config/log_archiver.yaml)
# - 环境变量(示例):
# ARCHIVE_PASSPHRASE # AES-256-GCM 密码短语
# S3_ENDPOINT, S3_BUCKET, S3_ACCESS_KEY, S3_SECRET_KEY
# SFTP_HOST, SFTP_PORT, SFTP_USER, SFTP_PASSWORD 或 SFTP_KEY
# SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD
# - 建议将凭据置于安全的密管(如 KMS/HashiCorp Vault)并以注入方式加载
# -----------------------------------------------------------------------------
# 命令行参数(摘要):
# --local-dirs DIRS 逗号分隔本地目录
# --remote-dirs DIRS 逗号分隔远程目录(与 --remote-protocol 联用)
# --remote-protocol {sftp,s3,file}
# --include PATTERNS 逗号分隔包含模式(如: *.log,*.gz)
# --exclude PATTERNS 逗号分隔排除模式
# --archive-format {tar.gz,zip}
# --encrypt {none,aes256-gcm}
# --passphrase-env NAME 读取密语的环境变量名(默认: ARCHIVE_PASSPHRASE)
# --retention-days N 按天保留
# --retention-versions N 每键/前缀保留最新 N 版
# --dry-run 干跑(不改动数据)
# --max-retries N 最大重试次数(默认: 3)
# --retry-backoff SEC 重试基准退避秒(默认: 2)
# --report-path PATH 输出 JSON/HTML 报告路径
# --email-to ADDRS 收件人(逗号分隔)
# --email-from ADDR 发件人
# --log-level {DEBUG,INFO,WARNING,ERROR}
# --config PATH 配置文件路径
# -----------------------------------------------------------------------------
# 处理流程(简要):
# 1) 收集: 扫描本地/远程目录, 依据 include/exclude 归集日志候选;
# 2) 打包: 按项目/日期/大小切分策略创建归档(支持并发与流式);
# 3) 加密: 使用 AES-256-GCM 对归档进行对称加密(密钥来自环境变量/密管);
# 4) 上传: 将加密归档上传到目标存储(S3/SFTP/本地归档盘);
# 5) 清理: 基于保留策略清理本地/远端过期文件;
# 6) 报告: 生成操作报告(JSON/HTML),发送邮件通知(可附报告/链接);
# 7) 稳健性: 干跑、带指数退避的重试、结构化与详细日志、可观测指标。
# -----------------------------------------------------------------------------
# 退出码:
# 0: 成功
# 1: 参数/配置校验失败
# 2: 部分失败(已记录并上报)
# 3: 致命错误(未完成关键步骤)
# -----------------------------------------------------------------------------
# 使用示例:
# python log_archiver.py \
# --local-dirs /var/log/app1,/var/log/app2 \
# --include "*.log,*.gz" --exclude "*.tmp" \
# --archive-format tar.gz --encrypt aes256-gcm \
# --retention-days 30 --max-retries 3 --retry-backoff 2 \
# --report-path ./reports/last_run.json \
# --email-to ops@example.com --email-from noreply@example.com \
# --log-level INFO
#
# # cron(每日 02:00 执行):
# # 0 2 * * * /usr/bin/python3 /opt/tools/log_archiver.py --config /etc/log_archiver.yaml >> /var/log/log_archiver.log 2>&1
# -----------------------------------------------------------------------------
# 注意:
# - 勿在代码/配置中硬编码凭据;使用环境变量或密钥管理服务;
# - 确保主机时间同步以避免保留策略误删/漏删;
# - 大文件建议启用分段/分片上传并校验完整性(ETag/MD5);
# - S3 类存储列举具有最终一致性,清理与重试需做好幂等;
# - 干跑模式仅记录将执行的操作,不会产生任何数据变更;
# - 详尽实现、参数解析与业务规则请见模块文档与配置样例。
# -----------------------------------------------------------------------------
功能描述摘要
关键参数说明
使用注意事项
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Text Classification Trainer — 文本分类训练脚本
======================================================================
用途
面向生产与研究场景的一体化文本分类训练脚本。完成数据加载、中文分词与去噪、
样本划分、特征工程、超参网格搜索/随机搜索、早停与模型评估;自动导出最佳模型、
指标报告与可复现实验配置;支持一键复训与推断示例。
适用场景
- 企业级NLP分类任务(舆情监控、工单路由、意图识别、内容审核等)
- 学术/教学演示的标准化ML训练流程
- 开源项目的基线文本分类器
核心特性
- 数据读取:CSV/TSV/JSONL;指定文本列与标签列;支持外部划分或分层随机划分
- 文本预处理:中文分词(jieba)、大小写与全/半角规范化、去标点/去噪、停用词过滤、长度裁剪
- 特征工程:TF-IDF(默认,支持 n-gram/子词)、可选 HashingVectorizer
- 模型族:
* 线性基线:LogisticRegression、LinearSVC、SGDClassifier(可早停)
* 梯度提升:XGBoostClassifier(可早停,可选安装)
- 超参搜索:GridSearchCV 或 RandomizedSearchCV;支持并行与交叉验证
- 早停策略:
* SGDClassifier(early_stopping=True)
* XGBoost(early_stopping_rounds, eval_set,支持 GPU 加速)
- 评估与报告:准确率、精确率、召回率、F1(微/宏/加权)、ROC-AUC(二分类)、混淆矩阵、
classification_report;保存学习曲线和混淆矩阵图(可选)
- 产出工件:
* 模型:best_model.joblib(含分类器)
* 向量器/标签器:vectorizer.joblib, label_encoder.joblib
* 指标与报告:metrics.json, report.txt, confusion_matrix.png(可选)
* 复现配置:config.yaml(含随机种子、预处理、搜索空间、最佳超参)
* 预测样例:predictions.csv(验证集或测试集)
* 日志:training.log
- 复现与一键复训:--resume-config 指向历史 config.yaml 即可重跑
- 推断示例:infer 子命令对单条或文件批量文本进行预测
输入数据约定
- 至少包含:
* 文本列:--text-col 指定(默认 text)
* 标签列:--label-col 指定(默认 label)
- 支持文件类型:.csv(默认逗号分隔)、.tsv、.jsonl
- 可选:外部分割文件(train/valid 列或独立文件),或通过 --val-ratio 自动分层划分
命令行用法示例
1) 基础训练(自动分层划分 + 网格搜索 + 保存最佳模型):
python train_text_cls.py train \
--data ./data/labeled.csv \
--text-col text --label-col label \
--val-ratio 0.2 --random-state 42 \
--model xgboost \
--search grid \
--grid '{"max_depth":[4,6], "learning_rate":[0.05,0.1], "n_estimators":[200,400]}' \
--early-stopping-rounds 20 \
--metric f1_macro \
--outdir ./outputs/run_$(date +%Y%m%d_%H%M%S)
2) 使用 SGDClassifier(内置早停)+ 随机搜索:
python train_text_cls.py train \
--data ./data/labeled.csv \
--model sgd --search random --n-iter 30 \
--metric f1_weighted --random-state 123 \
--outdir ./outputs/sgd_run
3) 一键复训(使用历史 config.yaml):
python train_text_cls.py retrain --resume-config ./outputs/run_xxx/config.yaml
4) 推断(单条文本):
python train_text_cls.py infer \
--model-path ./outputs/run_xxx/best_model.joblib \
--vectorizer-path ./outputs/run_xxx/vectorizer.joblib \
--label-encoder-path ./outputs/run_xxx/label_encoder.joblib \
--text "示例文本:这是一条需要分类的句子。"
5) 批量推断(CSV 输入 -> 追加预测列):
python train_text_cls.py infer \
--model-path ./outputs/run_xxx/best_model.joblib \
--vectorizer-path ./outputs/run_xxx/vectorizer.joblib \
--label-encoder-path ./outputs/run_xxx/label_encoder.joblib \
--data ./data/unlabeled.csv --text-col text --output ./outputs/pred.csv
主要参数(节选)
- 模式:
* 子命令:train | retrain | infer
- 数据与列:
* --data 训练/推断数据路径(CSV/TSV/JSONL)
* --text-col 文本列名(默认:text)
* --label-col 标签列名(默认:label,推断时可省略)
* --val-ratio 验证集比例(默认:0.2),与 --cv 互斥
* --cv 交叉验证折数(如 5),与 --val-ratio 互斥
* --sep 分隔符(默认:,;TSV 自动识别)
* --encoding 文件编码(默认:utf-8)
- 预处理:
* --lang 语言(zh|en,默认:zh)
* --lowercase 转小写(默认:开启)
* --normalize-width 全/半角规范化(默认:开启)
* --rm-punct 去标点(默认:开启)
* --rm-stopwords 去停用词(默认:开启)
* --max-len 最大分词数(默认:不裁剪)
- 特征工程:
* --vectorizer tfidf | hashing(默认:tfidf)
* --ngram n-gram 上界(默认:1;如 2 表示 1-2gram)
* --max-features 词表上限(默认:50000)
- 模型与搜索:
* --model logreg | linearsvc | sgd | xgboost(默认:logreg)
* --search grid | random | none(默认:grid)
* --grid 网格(JSON 字符串)
* --n-iter 随机搜索迭代次数(默认:30)
* --n-jobs 并行线程(默认:-1 使用全部)
* --early-stopping-rounds 早停轮数(xgboost 有效)
- 评估与输出:
* --metric 优化目标(accuracy|f1_macro|f1_weighted 等)
* --outdir 输出目录
* --save-proba 保存预测概率(如需绘制 ROC)
- 复现:
* --random-state 随机种子(默认:42)
* --resume-config 复现配置路径(retrain 模式)
- 推断:
* --model-path 训练产出的模型路径
* --vectorizer-path 向量器路径
* --label-encoder-path 标签编码器路径
* --output 推断输出文件(CSV)
依赖与环境
- 运行环境:
* Python 3.9–3.12,Linux/macOS/Windows(x86_64)
* 可选 GPU(XGBoost 支持 'gpu_hist')
- 必需依赖:
* pandas>=1.5, numpy>=1.22, scipy>=1.8
* scikit-learn>=1.2
* jieba>=0.42 (中文分词)
* pyyaml>=6.0 (导出 config.yaml)
* joblib>=1.2 (模型持久化)
* tqdm>=4.64 (进度条)
- 可选依赖:
* xgboost>=1.7 (提升树 + 早停 + 可选 GPU)
- 安装示例:
pip install -U pandas numpy scipy scikit-learn jieba pyyaml joblib tqdm
# 可选
pip install -U xgboost
输出工件(默认约定)
outdir/
├─ best_model.joblib
├─ vectorizer.joblib
├─ label_encoder.joblib
├─ metrics.json
├─ report.txt
├─ predictions.csv
├─ config.yaml
└─ training.log
复现性与随机性
- 固定 random_state,设置 Python/numpy 的随机种子,确保可复结果
- 导出完整 config.yaml(含预处理、搜索空间、最佳超参、数据源摘要)
- 可选记录依赖快照(pip freeze)至 requirements.txt(实现层处理)
性能与资源建议
- 合理设置 --max-features 与 --ngram;避免 n-gram 过大导致内存膨胀
- 并行搜索使用 --n-jobs,必要时通过 OMP_NUM_THREADS 控制线程
- XGBoost 可通过 --model xgboost 并在内部选择树方法 'hist' 或 'gpu_hist'
异常与退出码
- 0:成功
- 2:参数错误(缺失必需参数、不合法组合)
- 3:数据/文件 I/O 错误
- 4:训练或搜索失败
- 5:推断失败
日志
- 训练过程写入 training.log,包括参数、数据摘要、评估指标、最佳超参与路径
- 对敏感文本不做原文日志输出(仅记录统计与摘要)
作者与项目信息
- 作者:王珂
- 邮箱:ke.wang@example.com
- GitHub:https://github.com/wangkedev
版本与许可
- 版本:1.0.0
- 创建日期:2025-12-10
- Python:>=3.9
- 许可协议:Apache-2.0
变更记录
- 1.0.0:初始版本,支持分词去噪、网格/随机搜索、早停、评估与复现导出
"""
__title__ = "text_cls_trainer"
__description__ = "一体化文本分类训练脚本:预处理、划分、特征工程、超参搜索、早停、评估与可复现实验导出。"
__version__ = "1.0.0"
__author__ = "王珂"
__email__ = "ke.wang@example.com"
__url__ = "https://github.com/wangkedev"
__license__ = "Apache-2.0"
__status__ = "Production/Stable" # 可选:Prototype | Development | Production/Stable
# 入口说明(示例):
# if __name__ == "__main__":
# main()
#
# 注意:本头文件仅为脚本元信息与使用说明,具体实现请在主体代码中完成:
# - 参数解析(argparse/typer)
# - 预处理流水线(jieba/正则/停用词)
# - 特征工程(TF-IDF/HashingVectorizer)
# - 模型与搜索(sklearn / xgboost)
# - 早停逻辑(SGDClassifier / XGBoost)
# - 评估与导出(metrics.json/config.yaml/joblib)
功能描述摘要
关键参数说明
使用注意事项
以“一次描述,自动成稿”的方式,帮助Python个人与团队快速生成专业、完整、可直接粘贴的脚本头文件;覆盖数据处理、自动化工具、服务脚本、模型训练等多种场景,统一文档风格,包含脚本用途、责任人与联系方式、变更记录、依赖与运行环境、示例用法与注意事项等核心信息;通过标准化与可读结构,显著提升评审通过率、交接速度与问题追溯效率,减少返工与沟通成本;助力团队沉淀可复用的文档规范,从试用即感知价值,到规模化提升组织效率与合规水平。
以本提示词建立统一脚本文档标准,要求成员提交前自动生成头文件,缩短评审与联调时间,降低交接与合规风险。
为数据清洗、统计与报表脚本快速生成头文件,标注数据源、依赖与运行计划,便于排错与审计,减少夜班告警沟通。
为定时任务与巡检脚本生成清晰运行说明、环境与回滚提示,统一依赖版本,降低上线失败率与临时救火次数。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期