Files
NewStock/.kilocode/rules/restricted_files.md

131 lines
3.0 KiB
Markdown
Raw Permalink Normal View History

# 限制文件规则
本规则定义了项目中需要保护的文件和目录,这些文件不应被直接修改或删除。
## 禁止修改的文件
### 模型文件
- `**/*.cbm` - CatBoost 模型文件
- `**/*.pth` - PyTorch 模型检查点
- `**/best_model.pth` - 最佳模型文件
- `main/train/best_model.pth`
### 预测结果文件
- `**/predictions_*.tsv` - 预测结果文件
- `main/train/predictions_test.tsv`
- `main/train/predictions_train.tsv`
- `main/train/predictions.tsv`
- `main/train/test1.tsv`
- `main/train/test2.tsv`
- `predictions_test.tsv`
### 配置文件
- `.env` - 环境变量配置
- `.gitignore` - Git 忽略规则
## 禁止直接编辑的目录
### 模型训练输出目录
- `main/train/` - 模型训练输出目录
- 所有 `.pth` 文件
- 所有 `.tsv` 预测结果
- 所有 `.ipynb` 分析报告(需要时可通过 Jupyter 编辑)
### 数据文件目录
- `main/data/` - 数据文件目录
- 所有 `.ipynb` 数据处理笔记本(需通过 Jupyter 编辑)
- `update/` 子目录下的文件
### 模型文件
- `my_catboost_model.cbm` - CatBoost 训练好的模型
## 只读数据目录
以下目录包含只读数据,处理时需要特别注意:
```python
# 正确的读取方式
def load_data(filename):
data = pd.read_hdf(filename, key="data") # 使用 pandas 读取 HDF5
return data
# 错误的写入方式 - 不要修改源数据
def process_data(filename):
data = pd.read_hdf(filename, key="data")
data.to_hdf(filename, key="data") # 禁止!会覆盖源数据
```
## Jupyter Notebook 规则
### 允许的操作
-`main/data/``main/train/` 目录下编辑 `.ipynb` 文件
- 运行 Notebook 进行数据分析
- 添加新的分析单元
### 禁止的操作
- 直接修改生成的模型文件
- 手动修改预测结果文件
## 保护机制
### 临时文件
临时计算产生的中间文件(如带前缀 `_` 的列)应在函数结束时清理:
```python
def get_factor(df):
old_columns = df.columns.tolist()[:]
# 临时计算
df["_temp_calc"] = df["close"] / df["open"]
# 清理临时列
cols_to_drop = ["_temp_calc"]
df.drop(columns=cols_to_drop, inplace=True, errors="ignore")
new_columns = [col for col in df.columns.tolist()[:] if col not in old_columns]
return df, new_columns
```
### 模型文件保护
模型文件只能通过训练脚本生成,禁止手动修改:
```python
# 正确:使用训练脚本
# python main/train/train_model.py
# 禁止:直接编辑模型文件
# 任何对 .pth, .cbm 文件的手动编辑都是不允许的
```
## 环境变量
以下环境变量在 `.env` 中定义,禁止硬编码:
- 数据库连接信息
- API 密钥
- 路径配置
如需使用这些变量,应通过 `os.getenv()``python-dotenv` 读取:
```python
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("API_KEY")
```
## 相关规则文件
读取限制规则已移至独立文件 [`restricted_reads.md`](restricted_reads.md),包含禁止读取 config 文件和 JSON 文件的详细规则。