符号回归(Symbolic Regression)Agent,通过 LLM 调用工具分析数据并发现数学公式。
- 安装依赖(参见
install.sh) - 设置 .env 文件(示例见
.env.example):
if [ ! -f .env ]; then
cp .env.example .env
fi
# 编辑 .env 文件,填入实际的 API Key 等信息- 运行测试:
python -m pytest tests/ -v- 运行示例:
python run_sr_agent.py \
-f "y = sin(x1 - x2)" \
--x-low -10 \
--x-high 10 \
--llm-provider openrouter \
--llm-model qwen/qwen3.5-flash-02-23├── src/sr_agent/ # 核心代码,详见 `src/sr_agent/README.md`
│ ├── tools/ # 工具定义,详见 `src/sr_agent/tools/README.md`
│ ├── api/ # LLM 接口
│ ├── parser/ # 工具调用解析器
│ ├── prompts/ # Prompt 模板(暂时用不到)
│ ├── buffer/ # 消息管理(暂时用不到)
│ ├── skills/ # 技能文档(暂时用不到)
│ ├── utils/ # 工具函数
│ └── _vendor/ # 无法通过 pip 安装的第三方库
│ └── llmsr_bench/ # LLM-SRBench 对接代码
├── tests/ # 单元测试,详见 tests/README.md
├── scripts/ # 临时性脚本和数据分析脚本
├── analysis/ # 数据分析 notebook
├── data/ # 数据文件
├── logs/ # 运行结果日志
└── playground/ # 实验性/临时代码
- 根目录只放具有明确功能的入口脚本(如
run_sr_agent.py、bench_sr_agent.py),避免根目录过于杂乱。 scripts/放临时性脚本和数据分析脚本,运行时需指定PYTHONPATH:export PYTHONPATH=. && python ./scripts/xxx.py
analysis/放数据分析 notebook,命名格式为YYMMDD_xxx.ipynb。注意控制 notebook 文件大小,避免撑爆 git 仓库。data/放数据文件(已加入.gitignore)。logs/放运行结果(已加入.gitignore)。playground/放不舍得删但代码中用不到的东西(已加入.gitignore)。
详见 tests/README.md。
python -m pytest tests/ -vMIT License