# Regulum **Repository Path**: qwe12345678/regulum ## Basic Information - **Project Name**: Regulum - **Description**: 一个内容生成器,未必能实现README.md里的所有特性,原KnowProlog - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-06-15 - **Last Updated**: 2026-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: AI, Nlp ## README # Strata Gen 一个基于 Rust 的数学问题求解框架,提供符号计算、定理证明和结构化内容生成功能。 ## 特性 - **结构化内容生成**: 基于元素定义和规则的灵活文档生成系统 - **符号计算**: 数学表达式解析、求值和简化 - **知识库**: 内置数学定理、公式和常数 - **钩子系统**: 可扩展的生命周期钩子,支持自定义行为 - **高性能**: 使用迭代算法避免栈溢出,支持深层树结构 ## 快速开始 ### 安装 ```bash git clone https://gitee.com/qwe12345678/regulum.git cd regulum cargo build --release ``` ### 基本用法 ```rust use strata_gen::generator::Generator; use strata_gen::element::{ElementDefinition, HooksBuilder}; use std::collections::HashSet; fn main() { let mut generator = Generator::new(); // 定义文档元素 let document_def = ElementDefinition { id: "document".to_string(), can_contain: Some(HashSet::from([ "title".to_string(), "paragraph".to_string(), ])), default_children: Some(vec!["title".to_string(), "paragraph".to_string()]), hooks: Some( HooksBuilder::new() .on_render(|_ctx, children| format!("\n{}\n", children)) .build() ), ..Default::default() }; // 注册元素 generator.register(document_def); // 生成内容 let result = generator.generate(&"document".to_string()).unwrap(); println!("{}", result); } ``` ### 数学计算示例 ```rust use strata_gen::math::MathService; fn main() { let math = MathService::new(); // 解析表达式 let expr = math.parse_expression("2 * x + 3").unwrap(); // 求值 let mut vars = std::collections::HashMap::new(); vars.insert("x".to_string(), 5.0); let result = math.evaluate(&expr, &vars).unwrap(); println!("2 * 5 + 3 = {}", result); // 13 // 简化表达式 let simplified = math.simplify(&expr); println!("简化结果: {:?}", simplified); } ``` ## 项目结构 ``` strata_gen/ ├── src/ │ ├── lib.rs # 库入口 │ ├── main.rs # 示例程序 │ ├── generator.rs # 内容生成器 │ ├── element.rs # 元素定义和钩子 │ ├── context.rs # 生成上下文 │ ├── instance.rs # 实例管理 │ ├── rules.rs # 规则验证 │ ├── error.rs # 错误处理 │ └── math/ # 数学模块 │ ├── mod.rs │ ├── symbolic_computation.rs # 符号计算 │ ├── knowledge_base.rs # 知识库 │ ├── problem_solving.rs # 问题求解 │ └── lru_cache.rs # 缓存 ├── tests/ # 测试 ├── examples/ # 示例代码 └── benches/ # 性能基准测试 ``` ## 测试 ```bash # 运行所有测试 cargo test # 运行特定测试 cargo test test_complete_document_generation_workflow # 启用调试模式测试 DEBUG=1 cargo test ``` ## 性能 项目经过优化以处理大型文档结构: - 使用迭代算法替代递归,避免栈溢出 - FxHashMap 提供更快的哈希性能 - 表达式解析和求值结果缓存 - 高效的实例池管理 基准测试: ```bash cargo bench ``` ## 文档 生成并查看文档: ```bash cargo doc --open ``` ## 贡献 欢迎提交 Issue 和 Pull Request! ## 许可证 MIT License