本项目是一个引力波信号检测与优化系统,借助模型上下文协议(MCP)实现高效的参数空间探索,专注于分析GW150914事件的引力波信号。
若尚未安装UV,可运行以下命令:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone
cd gw150914-mcp-signal-search
make setup
cp env.template .env
# 使用你的OpenAI API密钥编辑.env文件
make install-dev
make run-client SERVER_PATH=mcp-server/gw_analysis_server.py
make demo
git clone
cd gw150914-mcp-signal-search
make setup
cp env.template .env
# 使用你的OpenAI API密钥编辑.env文件
make install-dev
# 客户端将自动为GW150914事件优化参数
python mcp-client/gw_optimization_client.py mcp-server/gw_analysis_server.py
编辑客户端中的优化查询,可指定不同的参数范围,包括:
运行 make help 查看所有可用命令:
make install - 安装生产依赖项make install-dev - 安装开发依赖项make setup - 完成开发设置make update - 更新所有依赖项make format - 使用black和isort格式化代码make lint - 运行代码检查make check - 运行所有代码质量检查make test - 运行测试make run-server - 启动引力波分析服务器make run-client SERVER_PATH=
- 启动优化客户端make demo - 运行完整演示make notebook - 启动Jupyter笔记本make dev-shell - 进入开发环境make clean - 清理临时文件make data-info - 显示数据文件信息make clean-data - 清理临时数据文件(保留应变数据)make backup-data - 备份分析结果和日志gw150914-mcp-signal-search/
├── data/ # 引力波数据和分析结果
│ ├── H1-1126259446-1126259478.txt # LIGO汉福德探测器应变数据 (GW150914)
│ ├── L1-1126259446-1126259478.txt # LIGO利文斯顿探测器应变数据 (GW150914)
│ ├── matched_filter_records.jsonl # 分析结果和优化历史记录
│ └── logs/ # 应用程序日志(自动生成)
│ ├── server_YYYYMMDD_HHMMSS.log # 服务器执行日志
│ ├── client_YYYYMMDD_HHMMSS.log # 客户端优化日志和人工智能交互日志
│ └── demo_YYYYMMDD_HHMMSS.log # 演示运行的组合日志
├── mcp-client/
│ └── gw_optimization_client.py # 人工智能驱动的优化客户端
├── mcp-server/
│ └── gw_analysis_server.py # 引力波分析MCP服务器
├── pyproject.toml # 项目配置
├── Makefile # 构建和部署命令
├── env.template # 环境变量模板
└── README.md # 本文件
data/ 目录包含GW150914事件的引力波应变数据和分析结果:
H1-1126259446-1126259478.txt:LIGO汉福德(H1)探测器应变数据
L1-1126259446-1126259478.txt:LIGO利文斯顿(L1)探测器应变数据
matched_filter_records.jsonl:JSON Lines文件,包含优化结果
logs/:包含带时间戳的执行日志的目录(自动生成)
server_YYYYMMDD_HHMMSS.log:服务器执行日志,带时间戳client_YYYYMMDD_HHMMSS.log:客户端优化日志和人工智能交互日志demo_YYYYMMDD_HHMMSS.log:演示运行的组合日志make run-server、make run-client 或 make demo 时自动创建日志应变数据格式:
GPS_TIME STRAIN_AMPLITUDE
1.126259446000000000e+09 2.177040281448404468e-19
1.126259446000244141e+09 2.087638998822567751e-19
...
分析结果格式:
{
"timestamp": "010725",
"max_network_snr": 7.3055496414353565,
"max_snr_time": 1126259462.4360352,
"template_parameters": {
"mass1": 17.0,
"mass2": 9.5,
"ra": 0.94,
"dec": -0.31
},
"detector_snrs_at_max": {
"H1": {"snr_abs": 5.064289109514169},
"L1": {"snr_abs": 5.2653614670535624}
}
}
/tmp/gw-mcp/。data/logs/,并带有时间戳,用于调试和分析。本项目聚焦于GW150914事件,这是首次直接探测到的引力波事件:
本项目在 北京人工智能科学黑客松 中开发并验证,取得了有前景的结果,证明了大语言模型代理驱动的引力波检测的有效性。
系统在不同初始条件下表现出一致的收敛行为:
参数演化和收敛分析显示,在探索过程中逐渐收敛到真实值。系统在不同初始条件下表现一致,平均迭代13.3 ± 3.5次达到最大信噪比19.56。
自动化系统成功检测并分析了引力波信号:
网络信噪比时间序列显示成功检测到GW150914信号。系统在GPS时间1126259462.428达到峰值网络信噪比19.6,证明了在真实引力波数据上使用大语言模型代理验证的自动化引力波数据检测能力。
如需详细的方法、结果和分析,请参阅:
由王贺(国际理论物理中心亚太地区办公室,中国科学院大学)和董一鸣(北京大学)在2025年8月24日的北京人工智能科学黑客松上展示
# 完成开发设置
make setup
# 安装预提交钩子
make pre-commit-install
# 运行测试
make test
# 检查代码质量
make check
核心依赖项包括:
mcp:模型上下文协议框架numpy, scipy:科学计算库gwpy, pycbc:引力波分析库openai:人工智能集成库matplotlib:可视化库本项目采用MIT许可证,详情请参阅 LICENSE 文件。
本项目展示了MCP在科学计算中的实际应用,特别是在引力波分析方面。上述资源提供了: