mathRag.py
概述
mathRag.py(通常位于项目的根目录)是整个 Math-RAG 项目的最高层级命令行入口统筹脚本文件(也即系统总控中枢 CLI)。
它引入并连接了分散在诸如 dataGen, retrieval, generation, 和 evaluation 这个生命周期的全流程的所有主要业务子组件并且将其暴露通过诸如 argparse 的系统子命令给操作者。使得不管是独立进行构建图表数据还是拉起网络界面甚至是完整的一个一键跑批测试都能直接透过这个文件完成对内部分配派发表征行为统合逻辑路由层。
顶层命令映射簇设计与派发操作:
基于主函数 main() 利用诸如标准结构解析器的封装,它抛出或定义如下的多种主要挂靠控制层业务选项指令入口的解析与映射组:
build-corpus (或相似指令)
通过解析截获用户的调用指令进而去唤起转入 retrieval.buildCorpus.main() 操作执行去拉起构建知识库落盘。
extract-terms / ocr-files
连接到由 dataGen 分支里的 pix2text_ocr.py 及之后的抽取术语去为接下来构建问题集进行准备基础文件内容的任务去进行挂线并开启分配等操作功能结构装配处。
chat / ui
映射直接从根级拉取 generation.webui.launch_webui() 调用,给用户呈现带有对话及查看搜索返回信息并可以直接使用它的一整套人机使用体验窗口拉起挂靠执行操作提供点入口指令层管理区。
evaluate
引导流程转移进入评估模块子级去进行诸如读取一份测评基准卷进入评测环境等唤起如对执行生成的全面考核或者是仅对检索部分作测试的过程组件逻辑中等。
main() 整体组织逻辑和参数配置装载流程
- 初始化装配通过
utils.outputManager设置本次调用的运行追踪存储结构点; - 拉起装配解析到
config.toml配置等初始化全部应用变量树挂到整个空间等; - 基于
argparse.ArgumentParser()内嵌声明多路(sub-parsers)处理组装分歧并接上相关联的不同子功能环境接口执行分流并传入指定的对应定制特定子选项参数等交接结构控制层; - 并附带最底线的全局未捕捉出错回退崩溃打印等控制日志收集防御网逻辑执行与终止包裹功能拦截配置环境与组装门面服务组件位置点等全功能实现方法区。