{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Geometry Problem Solving Agent\n", "\n", "> 结合 FormalGeo 与 Agent 的几何问题形式化自动求解器\n", "\n", "本 Notebook 演示如何使用 RAVS 框架求解几何问题。" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 导入必要的模块\n", "import sys\n", "import os\n", "\n", "# 添加项目路径\n", "sys.path.append(\"../src\")\n", "os.chdir(\"../src/ravs\")\n", "\n", "from agent_loop import main" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. 单题求解示例\n", "\n", "求解编号为 1 的几何问题" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 求解单个题目\n", "result = main(\n", " test_pids=[1], # 题目编号,范围 1-7000\n", " log_path=\"../../outputs/log/test.json\", # 日志保存路径\n", " model_names=['Deepseek'], # 使用的 LLM\n", " max_epoch=50, # 最大交互轮次\n", " max_context=80000, # 最大上下文长度\n", " solve_again=False, # 失败后是否重试\n", " debug_mode=True # 是否输出详细日志\n", ")\n", "\n", "print(f\"求解状态: {result}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. 批量求解示例\n", "\n", "批量求解编号为 1-5 的几何问题" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 批量求解\n", "results = main(\n", " test_pids=list(range(1, 6)), # 批量求解 1-5 题\n", " log_path=\"../../outputs/log/batch_test.json\",\n", " model_names=['Deepseek'],\n", " max_epoch=50,\n", " max_context=80000,\n", " solve_again=True,\n", " debug_mode=False\n", ")\n", "\n", "print(\"批量求解完成!\")\n", "print(f\"结果: {results}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. 多模型并行求解\n", "\n", "使用多个 LLM 模型并行处理不同题目" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 多模型并行(每个模型名称对应一个进程)\n", "results = main(\n", " test_pids=[1, 2, 3, 4],\n", " log_path=\"../../outputs/log/multi_model_test.json\",\n", " model_names=['Deepseek', 'Deepseek', 'BaiLian'], # 3 个进程\n", " max_epoch=50,\n", " max_context=80000,\n", " solve_again=True,\n", " debug_mode=False\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. 绘制统计图表\n", "\n", "绘制论文中的统计图(需要先运行过求解)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from chart import main as chart_main\n", "\n", "# 生成统计图表\n", "chart_main()\n", "print(\"图表已保存至 outputs/ 目录\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.12" } }, "nbformat": 4, "nbformat_minor": 4 }