diff --git a/.github/workflows/github_workflows_deploy-docs.yml b/.github/workflows/github_workflows_deploy-docs.yml index 7fa4cd8..530feef 100644 --- a/.github/workflows/github_workflows_deploy-docs.yml +++ b/.github/workflows/github_workflows_deploy-docs.yml @@ -57,7 +57,7 @@ jobs: deploy: needs: build - if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'pull_request' && github.base_ref == 'main') + if: (github.event_name == 'push' && github.ref == 'refs/heads/main') runs-on: ubuntu-latest steps: - name: Download artifact diff --git a/site/404.html b/site/404.html deleted file mode 100644 index 394265e..0000000 --- a/site/404.html +++ /dev/null @@ -1,647 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - -本文档提供项目的完整 API 参考。如果可能,本 API 文档会自动从代码注释生成。
-项目提供以下主要模块的 API:
-如果项目使用自动文档生成工具(如 Sphinx、pydoc、Doxygen),则此部分内容应由工具自动生成。
-pip install sphinx sphinx-rtd-theme
-sphinx-quickstart docs/api/source
-conf.py:import os
-import sys
-sys.path.insert(0, os.path.abspath('../../..'))
-
-extensions = [
- 'sphinx.ext.autodoc',
- 'sphinx.ext.napoleon',
- 'sphinx.ext.viewcode',
- 'sphinx.ext.githubpages'
-]
-
-html_theme = 'sphinx_rtd_theme'
-cd docs/api
-sphinx-apidoc -o source/ ../../your_project
-make html
-npm install typedoc --save-dev
-npx typedoc --out docs/api --entryPoints src/index.ts
-类定义:
-class Project:
- """项目主类,提供核心功能"""
-
- def __init__(self, config_path: str = None, log_level: str = "INFO"):
- """
- 初始化项目
-
- 参数:
- config_path: 配置文件路径
- log_level: 日志级别 (DEBUG, INFO, WARNING, ERROR)
- """
- pass
-
- def load_config(self, config_path: str = None) -> dict:
- """
- 加载配置文件
-
- 参数:
- config_path: 配置文件路径,如果为None则使用初始化时的路径
-
- 返回:
- 配置字典
- """
- pass
-
- def run(self, input_data: Any = None) -> dict:
- """
- 运行项目
-
- 参数:
- input_data: 输入数据
-
- 返回:
- 运行结果
- """
- pass
-class DataLoader:
- """数据加载器,支持多种格式"""
-
- def load_csv(self, filepath: str, **kwargs) -> pd.DataFrame:
- """
- 加载CSV文件
-
- 参数:
- filepath: CSV文件路径
- **kwargs: 传递给pandas.read_csv的额外参数
-
- 返回:
- pandas DataFrame
- """
- pass
-
- def load_json(self, filepath: str, **kwargs) -> dict:
- """
- 加载JSON文件
-
- 参数:
- filepath: JSON文件路径
- **kwargs: 传递给json.load的额外参数
-
- 返回:
- JSON数据字典
- """
- pass
-
- def load_from_database(self, query: str, connection: Any = None) -> pd.DataFrame:
- """
- 从数据库加载数据
-
- 参数:
- query: SQL查询语句
- connection: 数据库连接对象
-
- 返回:
- pandas DataFrame
- """
- pass
-class DataTransformer:
- """数据转换器,提供数据清洗和转换功能"""
-
- def clean_data(self, df: pd.DataFrame, options: dict = None) -> pd.DataFrame:
- """
- 清洗数据
-
- 参数:
- df: 输入DataFrame
- options: 清洗选项
-
- 返回:
- 清洗后的DataFrame
- """
- pass
-
- def normalize(self, df: pd.DataFrame, columns: List[str] = None) -> pd.DataFrame:
- """
- 数据标准化
-
- 参数:
- df: 输入DataFrame
- columns: 要标准化的列名列表,如果为None则标准化所有数值列
-
- 返回:
- 标准化后的DataFrame
- """
- pass
-
- def encode_categorical(self, df: pd.DataFrame, columns: List[str] = None) -> pd.DataFrame:
- """
- 分类变量编码
-
- 参数:
- df: 输入DataFrame
- columns: 要编码的列名列表,如果为None则编码所有分类列
-
- 返回:
- 编码后的DataFrame
- """
- pass
-class Analyzer:
- """数据分析器,提供统计分析功能"""
-
- def describe(self, df: pd.DataFrame) -> dict:
- """
- 数据描述统计
-
- 参数:
- df: 输入DataFrame
-
- 返回:
- 描述统计字典
- """
- pass
-
- def correlation_analysis(self, df: pd.DataFrame, method: str = "pearson") -> pd.DataFrame:
- """
- 相关性分析
-
- 参数:
- df: 输入DataFrame
- method: 相关性计算方法 ("pearson", "spearman", "kendall")
-
- 返回:
- 相关性矩阵DataFrame
- """
- pass
-
- def hypothesis_test(self, df: pd.DataFrame, test_type: str, **kwargs) -> dict:
- """
- 假设检验
-
- 参数:
- df: 输入DataFrame
- test_type: 检验类型 ("t-test", "chi-square", "anova")
- **kwargs: 检验特定参数
-
- 返回:
- 检验结果字典
- """
- pass
-class ModelTrainer:
- """模型训练器,提供机器学习模型训练功能"""
-
- def train(self, X, y, model_type: str = "random_forest", **kwargs) -> Any:
- """
- 训练模型
-
- 参数:
- X: 特征数据
- y: 目标数据
- model_type: 模型类型
- **kwargs: 模型特定参数
-
- 返回:
- 训练好的模型
- """
- pass
-
- def evaluate(self, model, X_test, y_test, metrics: List[str] = None) -> dict:
- """
- 评估模型
-
- 参数:
- model: 训练好的模型
- X_test: 测试特征数据
- y_test: 测试目标数据
- metrics: 评估指标列表
-
- 返回:
- 评估结果字典
- """
- pass
-
- def cross_validate(self, X, y, model_type: str = "random_forest", cv: int = 5, **kwargs) -> dict:
- """
- 交叉验证
-
- 参数:
- X: 特征数据
- y: 目标数据
- model_type: 模型类型
- cv: 交叉验证折数
- **kwargs: 模型特定参数
-
- 返回:
- 交叉验证结果字典
- """
- pass
-class Logger:
- """日志记录器,提供灵活的日志功能"""
-
- def __init__(self, name: str = None, level: str = "INFO"):
- """
- 初始化日志记录器
-
- 参数:
- name: 日志记录器名称
- level: 日志级别
- """
- pass
-
- def debug(self, message: str, **kwargs):
- """
- 记录调试信息
-
- 参数:
- message: 日志消息
- **kwargs: 额外参数
- """
- pass
-
- def info(self, message: str, **kwargs):
- """
- 记录一般信息
-
- 参数:
- message: 日志消息
- **kwargs: 额外参数
- """
- pass
-
- def warning(self, message: str, **kwargs):
- """
- 记录警告信息
-
- 参数:
- message: 日志消息
- **kwargs: 额外参数
- """
- pass
-
- def error(self, message: str, **kwargs):
- """
- 记录错误信息
-
- 参数:
- message: 日志消息
- **kwargs: 额外参数
- """
- pass
-class ConfigManager:
- """配置管理器,提供配置加载和管理功能"""
-
- def __init__(self, config_path: str = None):
- """
- 初始化配置管理器
-
- 参数:
- config_path: 配置文件路径
- """
- pass
-
- def load(self, config_path: str = None) -> dict:
- """
- 加载配置
-
- 参数:
- config_path: 配置文件路径
-
- 返回:
- 配置字典
- """
- pass
-
- def save(self, config: dict, config_path: str = None):
- """
- 保存配置
-
- 参数:
- config: 配置字典
- config_path: 配置文件路径
- """
- pass
-
- def get(self, key: str, default: Any = None) -> Any:
- """
- 获取配置值
-
- 参数:
- key: 配置键
- default: 默认值
-
- 返回:
- 配置值
- """
- pass
-
- def set(self, key: str, value: Any):
- """
- 设置配置值
-
- 参数:
- key: 配置键
- value: 配置值
- """
- pass
-from your_project import Project
-from your_project.data_loader import DataLoader
-from your_project.analyzer import Analyzer
-
-# 初始化项目
-project = Project(config_path="config.yaml")
-
-# 加载配置
-config = project.load_config()
-
-# 加载数据
-data_loader = DataLoader()
-df = data_loader.load_csv("data.csv")
-
-# 分析数据
-analyzer = Analyzer()
-stats = analyzer.describe(df)
-print(stats)
-from your_project.model_trainer import ModelTrainer
-from your_project.data_transformer import DataTransformer
-from sklearn.model_selection import train_test_split
-
-# 准备数据
-transformer = DataTransformer()
-df_clean = transformer.clean_data(df)
-X = df_clean.drop("target", axis=1)
-y = df_clean["target"]
-
-# 分割数据
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
-
-# 训练模型
-trainer = ModelTrainer()
-model = trainer.train(X_train, y_train, model_type="random_forest")
-
-# 评估模型
-metrics = trainer.evaluate(model, X_test, y_test)
-print(f"模型性能: {metrics}")
-当前 API 版本:v1.0.0
-如果您想为 API 文档做出贡献:
-本文档描述项目的整体架构设计、组件交互和数据流。
-本项目采用模块化设计,遵循分层架构原则,确保系统的高可维护性、可扩展性和可靠性。
-┌─────────────────────────────────────────────────────────────┐
-│ 用户界面层 (UI Layer) │
-│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
-│ │ Web界面 │ │ CLI工具 │ │ API接口 │ │
-│ └─────────────┘ └─────────────┘ └─────────────┘ │
-└───────────────────────┬─────────────────────────────────────┘
- │ HTTP/REST/CLI
-┌─────────────────────────────────────────────────────────────┐
-│ 应用服务层 (Application Layer) │
-│ ┌─────────────────────────────────────────────────────┐ │
-│ │ 业务逻辑控制器 (Controllers) │ │
-│ │ • 请求路由与验证 │ │
-│ │ • 业务流程协调 │ │
-│ │ • 事务管理 │ │
-│ └─────────────────────────────────────────────────────┘ │
-└───────────────────────┬─────────────────────────────────────┘
- │ 服务调用
-┌─────────────────────────────────────────────────────────────┐
-│ 业务逻辑层 (Business Layer) │
-│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
-│ │ 服务模块A │ │ 服务模块B │ │ 服务模块C │ │
-│ │ • 核心算法 │ │ • 数据分析 │ │ • 模型训练 │ │
-│ │ • 业务规则 │ │ • 统计计算 │ │ • 预测推理 │ │
-│ └─────────────┘ └─────────────┘ └─────────────┘ │
-└───────────────────────┬─────────────────────────────────────┘
- │ 数据访问
-┌─────────────────────────────────────────────────────────────┐
-│ 数据访问层 (Data Access Layer) │
-│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
-│ │ 数据仓库 │ │ 缓存层 │ │ 文件系统 │ │
-│ │ • 关系数据库│ │ • Redis │ │ • 本地文件 │ │
-│ │ • NoSQL │ │ • Memcached │ │ • 云存储 │ │
-│ └─────────────┘ └─────────────┘ └─────────────┘ │
-└─────────────────────────────────────────────────────────────┘
-功能: -- 提供多种用户交互方式 -- 输入验证和格式化 -- 响应渲染
-包含组件: -- Web界面:基于React/Vue的现代Web应用 -- CLI工具:命令行接口,用于脚本化和自动化 -- API接口:RESTful API,供第三方系统集成
-功能: -- 请求处理和路由 -- 身份认证和授权 -- 会话管理 -- 输入数据验证
-关键类:
-- RequestHandler:处理HTTP请求
-- AuthMiddleware:认证中间件
-- RateLimiter:限流控制
-- ValidationService:数据验证服务
功能: -- 实现核心业务规则 -- 数据处理和转换 -- 算法执行 -- 模型管理和训练
-核心模块:
-class DataProcessor:
- """数据处理引擎"""
-
- def extract(self, source):
- """数据提取"""
- pass
-
- def transform(self, data, rules):
- """数据转换"""
- pass
-
- def load(self, data, destination):
- """数据加载"""
- pass
-class AnalyticsEngine:
- """分析引擎"""
-
- def statistical_analysis(self, dataset):
- """统计分析"""
- pass
-
- def predictive_modeling(self, features, target):
- """预测建模"""
- pass
-
- def optimization(self, objective, constraints):
- """优化计算"""
- pass
-class ModelManager:
- """模型管理器"""
-
- def train(self, config):
- """训练模型"""
- pass
-
- def evaluate(self, model, test_data):
- """评估模型"""
- pass
-
- def deploy(self, model, environment):
- """部署模型"""
- pass
-
- def monitor(self, model, metrics):
- """监控模型"""
- pass
-功能: -- 数据持久化 -- 缓存管理 -- 数据检索优化
-组件:
-class DataRepository:
- """数据仓库抽象"""
-
- def __init__(self, connection):
- self.connection = connection
-
- def save(self, entity):
- """保存实体"""
- pass
-
- def find(self, query):
- """查找实体"""
- pass
-
- def delete(self, entity_id):
- """删除实体"""
- pass
-class CacheService:
- """缓存服务"""
-
- def __init__(self, backend="redis"):
- self.backend = backend
-
- def get(self, key):
- """获取缓存"""
- pass
-
- def set(self, key, value, ttl=None):
- """设置缓存"""
- pass
-
- def invalidate(self, key):
- """失效缓存"""
- pass
-1. 数据输入
- ↓
-2. 数据验证和清洗
- ↓
-3. 特征工程和转换
- ↓
-4. 模型训练/推理
- ↓
-5. 结果后处理
- ↓
-6. 输出和持久化
-┌─────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐
-│ 数据源 │───▶│ 数据摄取器 │───▶│ 数据清洗器 │───▶│ 特征工程 │
-│(CSV/DB/ │ │ (Ingestor) │ │ (Cleaner) │ │(Feature │
-│ API等) │ └──────────────┘ └──────────────┘ │ Engineer)│
-└─────────┘ │ │ └──────────┘
- │ │ │
- ┌────▼────┐ ┌─────▼────┐ │
- │ 缓存层 │ │ 数据质量 │ │
- │ (Cache) │ │ 监控器 │ │
- └─────────┘ │(Quality │ │
- │ Monitor) │ │
- └──────────┘ │
- ▼
-┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐
-│ 结果存储 │◀───│ 结果处理器 │◀───│ 模型引擎 │◀───│ 模型训练/ │
-│(Result │ │ (Processor) │ │ (Engine) │ │ 推理器 │
-│ Storage) │ └──────────────┘ └──────────────┘ │(Trainer/ │
-└──────────┘ │ │ │ Inferencer)
- │ │ └──────────┘
- ┌────▼────┐ ┌─────▼────┐ │
- │ 可视化 │ │ 模型评估 │ │
- │(Viz) │ │(Evaluator)│ │
- └─────────┘ └──────────┘ │
- │
- ┌──────▼──────┐
- │ 模型仓库 │
- │ (Model Repo)│
- └─────────────┘
-┌─────────────────┐
-│ 开发机器 │
-│ • 本地数据库 │
-│ • 开发服务器 │
-│ • 调试工具 │
-└─────────────────┘
-┌─────────────────┐ ┌─────────────────┐
-│ 持续集成 │───▶│ 测试服务器 │
-│ • 自动构建 │ │ • 集成测试 │
-│ • 单元测试 │ │ • 系统测试 │
-└─────────────────┘ └─────────────────┘
-┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
-│ 负载均衡器 │───▶│ 应用服务器集群 │───▶│ 数据库集群 │
-│ • Nginx │ │ • 多实例部署 │ │ • 主从复制 │
-│ • HAProxy │ │ • 自动扩展 │ │ • 读写分离 │
-└─────────────────┘ └─────────────────┘ └─────────────────┘
- │ │ │
- ▼ ▼ ▼
-┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
-│ CDN和缓存 │ │ 消息队列集群 │ │ 对象存储 │
-│ • CloudFront │ │ • Kafka集群 │ │ • S3兼容存储 │
-│ • Redis缓存 │ │ • RabbitMQ │ │ • 备份系统 │
-└─────────────────┘ └─────────────────┘ └─────────────────┘
-VPN访问控制
-应用层安全
-身份认证和授权
-数据层安全
-数据脱敏
-运维安全
-用户请求
- ↓
-身份验证 (JWT/OAuth2)
- ↓
-令牌验证和解析
- ↓
-权限检查 (RBAC/ABAC)
- ↓
-资源访问
-缓存预热
-数据库优化
-分库分表
-异步处理
-批处理
-水平扩展
-0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function B(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o