本文档记录了发布到 GitHub 前的数据清理工作。
2025-10-05
- ✅
outputs/kb/- 288个知识库文件(包含真实表结构、字段说明、示例数据) - ✅
outputs/m_schema.json- 真实数据库Schema结构 - ✅
outputs/schema.md- 数据库结构文档 - ✅
outputs/semantic_index/- 基于真实数据生成的语义索引
- ✅
temp_result.jsonl- 临时测试结果 - ✅
eval/eval_run_logs.jsonl- 评测运行日志 - ✅
eval/eval_run_results.jsonl- 评测结果
-
✅ README.md 中的真实MySQL配置(已替换为示例配置)
- 内部IP地址:
10.20.178.151→localhost - 数据库名:
edrserver→your_database - 真实用户名和密码 → 示例占位符
- 内部IP地址:
-
✅ run_nl2sql_clean.py 中的默认数据库名
edrserver→test
- ✅
LICENSE- MIT许可证 - ✅
.gitignore- Git忽略规则(防止敏感文件被提交) - ✅
CONTRIBUTING.md- 贡献指南
- ✅
outputs/README.md- 数据文件目录说明 - ✅
outputs/.gitkeep- 保持空目录结构 - ✅
PUBLISH_CHECKLIST.md- 发布前检查清单 - ✅
CLEANUP_SUMMARY.md- 本文档
- ✅ 添加项目徽章(Python版本、License、PRs Welcome)
- ✅ 改进项目简介,突出技术亮点
- ✅ 添加项目背景说明
- ✅ 清理所有敏感配置信息
- ✅ 添加相关文档链接
- ✅
run_nl2sql_clean.py- 主程序(已修改默认值) - ✅
llm_planner.py- LLM规划器 - ✅
llm_generator.py- LLM生成器 - ✅
ast_validator.py- AST验证器 - ✅
sql_guard.py- SQL安全防护 - ✅
semantic_retrieval.py- 语义检索 - ✅
validation_engine.py- 验证引擎 - ✅
xiyan_client.py- 模型客户端
- ✅
gold_samples.jsonl- 标准测试集(通用EDR场景问题) - ✅
eval/eval_samples.jsonl- 评测样本 - ✅
eval/eval_custom.jsonl- 自定义评测样本 - ✅
few_shot_examples.json- Few-shot示例
- ✅
README.md- 主说明文档(已清理敏感信息) - ✅
README_RUN.md- 详细运行说明 - ✅
ARCHITECTURE_SUMMARY.md- 架构总结 - ✅
USAGE_GUIDE.md- 使用指南 - ✅
problem_analysis.md- 问题分析 - ✅
GOLD_SAMPLES_UTILIZATION.md- 样本使用说明
| 项目 | 清理前 | 清理后 | 说明 |
|---|---|---|---|
| 文件总数 | ~320 | ~30 | 删除了288个KB文件 |
| outputs目录 | 290+文件 | 2个说明文件 | 清空所有数据文件 |
| 敏感配置 | 有真实IP/数据库名 | 全部改为示例 | - |
| License | 无 | MIT | 开源友好 |
| Contributing | 无 | 已创建 | 欢迎贡献 |
虽然已完成自动清理,但建议在发布前手动检查:
# 检查可能的IP地址
grep -rn "10\.\|192\.168\." --include="*.py" .
# 检查数据库名
grep -rn "edrserver" --include="*.py" .
# 检查可能的敏感字符串
grep -rn "less_user\|dbpp" --include="*.py" .- 检查
few_shot_examples.json是否包含敏感查询 - 检查
llm_planner.py和llm_generator.py中的示例
- 检查
gold_samples.jsonl中的SQL是否暴露业务逻辑 - 检查
eval/eval_custom.jsonl中的问题是否过于具体
- 确认之前的提交没有包含敏感信息
- 如需要,考虑创建全新仓库
# 检查将被提交的文件
git status
# 查看哪些文件被忽略
git status --ignored
# 确认敏感文件被正确忽略
ls outputs/kb/ # 应该不存在
ls outputs/m_schema.json # 应该不存在# 搜索可能的敏感信息
grep -r "10.20.178" .
grep -r "edrserver" . --include="*.py"
# 检查环境变量文件
cat env.example # 确认没有真实密钥
ls .env # 应该不存在或被忽略# 确认代码可以正常运行(使用示例配置)
python run_nl2sql_clean.py --help
# 确认没有引入语法错误
python -m py_compile *.pyEnterprise-grade Text-to-SQL system with two-stage LLM architecture (Planner + Generator)
and multi-layer security validation. Designed for EDR security scenarios.
text-to-sqlnatural-language-processingllmsql-generationmysqlenterprisesecuritypython
在仓库主页清晰说明:
- ✅ 本项目不包含真实业务数据
- ✅ 需要自行准备MySQL数据库
- ✅ 提供了完整的配置示例
✅ 已完成:
- 删除所有包含真实业务数据的文件
- 清理代码中的敏感配置
- 创建必要的开源文件(LICENSE、CONTRIBUTING等)
- 改进文档,添加使用说明
- 创建 .gitignore 防止后续误提交
- 在
git push前再次检查 - 确保获得公司授权
- 考虑是否需要清理Git历史
- 发布后定期检查是否有敏感信息泄露
✨ 可选增强:
- 添加CI/CD配置(GitHub Actions)
- 添加演示GIF或视频
- 准备一个公开的demo数据集
- 写一篇技术博客介绍项目
清理完成日期: 2025-10-05
清理执行者: AI Assistant
审核状态: 待人工最终审核