Skip to content

Latest commit

 

History

History
199 lines (155 loc) · 5.65 KB

File metadata and controls

199 lines (155 loc) · 5.65 KB

数据清理总结 / Data Cleanup Summary

本文档记录了发布到 GitHub 前的数据清理工作。

📅 清理时间

2025-10-05

🗑️ 已删除的文件和目录

1. 敏感业务数据

  • outputs/kb/ - 288个知识库文件(包含真实表结构、字段说明、示例数据)
  • outputs/m_schema.json - 真实数据库Schema结构
  • outputs/schema.md - 数据库结构文档
  • outputs/semantic_index/ - 基于真实数据生成的语义索引

2. 临时和日志文件

  • temp_result.jsonl - 临时测试结果
  • eval/eval_run_logs.jsonl - 评测运行日志
  • eval/eval_run_results.jsonl - 评测结果

3. 包含内部信息的配置

  • ✅ README.md 中的真实MySQL配置(已替换为示例配置)

    • 内部IP地址:10.20.178.151localhost
    • 数据库名:edrserveryour_database
    • 真实用户名和密码 → 示例占位符
  • ✅ run_nl2sql_clean.py 中的默认数据库名

    • edrservertest

✅ 已创建的新文件

1. 开源必需文件

  • LICENSE - MIT许可证
  • .gitignore - Git忽略规则(防止敏感文件被提交)
  • CONTRIBUTING.md - 贡献指南

2. 说明文档

  • outputs/README.md - 数据文件目录说明
  • outputs/.gitkeep - 保持空目录结构
  • PUBLISH_CHECKLIST.md - 发布前检查清单
  • CLEANUP_SUMMARY.md - 本文档

3. README改进

  • ✅ 添加项目徽章(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 已创建 欢迎贡献

🔍 遗留检查项(需人工确认)

虽然已完成自动清理,但建议在发布前手动检查:

1. 代码中的硬编码值

# 检查可能的IP地址
grep -rn "10\.\|192\.168\." --include="*.py" .

# 检查数据库名
grep -rn "edrserver" --include="*.py" .

# 检查可能的敏感字符串
grep -rn "less_user\|dbpp" --include="*.py" .

2. Few-shot示例

  • 检查 few_shot_examples.json 是否包含敏感查询
  • 检查 llm_planner.pyllm_generator.py 中的示例

3. 评测样本

  • 检查 gold_samples.jsonl 中的SQL是否暴露业务逻辑
  • 检查 eval/eval_custom.jsonl 中的问题是否过于具体

4. Git历史

  • 确认之前的提交没有包含敏感信息
  • 如需要,考虑创建全新仓库

✅ 验证步骤

1. 本地验证

# 检查将被提交的文件
git status

# 查看哪些文件被忽略
git status --ignored

# 确认敏感文件被正确忽略
ls outputs/kb/  # 应该不存在
ls outputs/m_schema.json  # 应该不存在

2. 内容验证

# 搜索可能的敏感信息
grep -r "10.20.178" .
grep -r "edrserver" . --include="*.py"

# 检查环境变量文件
cat env.example  # 确认没有真实密钥
ls .env  # 应该不存在或被忽略

3. 功能验证

# 确认代码可以正常运行(使用示例配置)
python run_nl2sql_clean.py --help

# 确认没有引入语法错误
python -m py_compile *.py

📝 发布建议

仓库描述建议

Enterprise-grade Text-to-SQL system with two-stage LLM architecture (Planner + Generator) 
and multi-layer security validation. Designed for EDR security scenarios.

标签建议

  • text-to-sql
  • natural-language-processing
  • llm
  • sql-generation
  • mysql
  • enterprise
  • security
  • python

README添加说明

在仓库主页清晰说明:

  • ✅ 本项目不包含真实业务数据
  • ✅ 需要自行准备MySQL数据库
  • ✅ 提供了完整的配置示例

🎯 总结

已完成:

  • 删除所有包含真实业务数据的文件
  • 清理代码中的敏感配置
  • 创建必要的开源文件(LICENSE、CONTRIBUTING等)
  • 改进文档,添加使用说明
  • 创建 .gitignore 防止后续误提交

⚠️ 注意事项:

  • git push 前再次检查
  • 确保获得公司授权
  • 考虑是否需要清理Git历史
  • 发布后定期检查是否有敏感信息泄露

可选增强:

  • 添加CI/CD配置(GitHub Actions)
  • 添加演示GIF或视频
  • 准备一个公开的demo数据集
  • 写一篇技术博客介绍项目

清理完成日期: 2025-10-05
清理执行者: AI Assistant
审核状态: 待人工最终审核