[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-functime-org--functime":3,"similar-functime-org--functime":134},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":8,"readme_en":9,"readme_zh":10,"quickstart_zh":11,"use_case_zh":12,"hero_image_url":13,"owner_login":14,"owner_name":6,"owner_avatar_url":15,"owner_bio":16,"owner_company":17,"owner_location":17,"owner_email":17,"owner_twitter":17,"owner_website":17,"owner_url":18,"languages":19,"stars":32,"forks":33,"last_commit_at":34,"license":35,"difficulty_score":36,"env_os":37,"env_gpu":37,"env_ram":37,"env_deps":38,"category_tags":48,"github_topics":51,"view_count":58,"oss_zip_url":17,"oss_zip_packed_at":17,"status":59,"created_at":60,"updated_at":61,"faqs":62,"releases":93},7827,"functime-org\u002Ffunctime","functime","Time-series machine learning at scale. Built with Polars for embarrassingly parallel feature extraction and forecasts on panel data.","functime 是一款专为大规模时间序列数据设计的 Python 开源库，旨在帮助用户高效完成全局预测与特征提取任务。它主要解决了在处理成千上万条时间序列（如面板数据）时，传统工具计算速度慢、资源消耗大且难以并行的痛点，让用户即便在普通笔记本电脑上也能在秒级内完成十万级序列的分析。\n\n这款工具非常适合数据科学家、机器学习工程师以及需要处理海量时序数据的研究人员使用。无论是进行销售预测、金融分析还是物联网传感器数据处理，functime 都能提供生产级的解决方案。\n\n其核心技术亮点在于深度集成了 Polars 数据处理引擎，利用“惰性计算”和“天然并行”架构，极大地提升了特征工程与模型训练的效率。除了支持多种主流预测算法（如 LightGBM、XGBoost、CatBoost）和自动超参数调优外，functime 还内置了专业的交叉验证分割器、丰富的评估指标以及数据预处理功能。更独特的是，它还引入了大语言模型（LLM）智能体，能够自动分析、描述并对比预测结果，为决策提供直观的文本解读。通过简洁的函数式 API 设计，functime 让复杂的大规模时序建模变得简单而优雅。","\u003Cdiv align=\"center\">\n    \u003Ch1>Time-series machine learning at scale\u003C\u002Fh1>\n\u003Cbr \u002F>\n\n![functime](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffunctime-org_functime_readme_34c8c3ecbe9c.png)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Ffunctime)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F)\n[![PyPi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ffunctime?color=blue)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F)\n[![Code style: black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n[![GitHub Run Quickstart](https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Factions\u002Fworkflows\u002Fquickstart.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Factions\u002Fworkflows\u002Fquickstart.yml)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1145819725276917782)](https:\u002F\u002Fdiscord.com\u002Finvite\u002FJKMrZKjEwN)\n\n\u003C\u002Fdiv>\n\n---\n**functime** is a powerful [Python library](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F) for production-ready **global forecasting** and **time-series feature extraction** on **large panel datasets**.\n\n**functime** also comes with time-series [preprocessing](https:\u002F\u002Fdocs.functime.ai\u002Fref\u002Fpreprocessing\u002F) (box-cox, differencing etc), cross-validation [splitters](https:\u002F\u002Fdocs.functime.ai\u002Fref\u002Fcross-validation\u002F) (expanding and sliding window), and forecast [metrics](https:\u002F\u002Fdocs.functime.ai\u002Fref\u002Fmetrics\u002F) (MASE, SMAPE etc). All optimized as [lazy Polars](https:\u002F\u002Fpola-rs.github.io\u002Fpolars-book\u002Fuser-guide\u002Flazy\u002Fusing\u002F) transforms.\n\nJoin us on [Discord](https:\u002F\u002Fdiscord.com\u002Finvite\u002FJKMrZKjEwN)!\n\n## Highlights\n- **Fast:** Forecast and extract features (e.g. tsfresh, Catch22) across 100,000 time series in seconds *on your laptop*\n- **Efficient:** Embarrassingly parallel feature engineering for time-series using [`Polars`](https:\u002F\u002Fpola.rs\u002F)\n- **Battle-tested:** Machine learning algorithms that deliver real business impact and win competitions\n- **Exogenous features:** supported by every forecaster\n- **Backtesting** with expanding window and sliding window splitters\n- **Automated lags and hyperparameter tuning** using [`FLAML`](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FFLAML)\n\n## Additional Highlights\n`functime` comes with a specialized LLM agent to analyze, describe, and compare your forecasts. Check out the walkthrough [here](https:\u002F\u002Fdocs.functime.ai\u002Fnotebooks\u002Fllm\u002F).\n\n## Getting Started\nInstall `functime` via the [pip](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F) package manager.\n```bash\npip install functime\n```\n\n`functime` comes with extra options. For example, to install `functime` with large-language model (LLM) and lightgbm features:\n\n```bash\npip install \"functime[llm,lgb]\"\n```\n\n- `cat`: To use `catboost` forecaster\n- `xgb`: To use `xgboost` forecaster\n- `lgb`: To use `lightgbm` forecaster\n- `llm`: To use the LLM-powered forecast analyst\n\n### Forecasting\n\n```python\nimport polars as pl\nfrom functime.cross_validation import train_test_split\nfrom functime.seasonality import add_fourier_terms\nfrom functime.forecasting import linear_model\nfrom functime.preprocessing import scale\nfrom functime.metrics import mase\n\n# Load commodities price data\ny = pl.read_parquet(\"https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fraw\u002Fmain\u002Fdata\u002Fcommodities.parquet\")\nentity_col, time_col = y.columns[:2]\n\n# Time series split\ny_train, y_test = y.pipe(train_test_split(test_size=3))\n\n# Fit-predict\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train)\ny_pred = forecaster.predict(fh=3)\n\n# functime ❤️ functional design\n# fit-predict in a single line\ny_pred = linear_model(freq=\"1mo\", lags=24)(y=y_train, fh=3)\n\n# Score forecasts in parallel\nscores = mase(y_true=y_test, y_pred=y_pred, y_train=y_train)\n\n# Forecast with target transforms and feature transforms\nforecaster = linear_model(\n    freq=\"1mo\",\n    lags=24,\n    target_transform=scale(),\n    feature_transform=add_fourier_terms(sp=12, K=6)\n)\n\n# Forecast with exogenous regressors!\n# Just pass them into X\nX = (\n    y.select([entity_col, time_col])\n    .pipe(add_fourier_terms(sp=12, K=6)).collect()\n)\nX_train, X_future = y.pipe(train_test_split(test_size=3))\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train, X=X_train)\ny_pred = forecaster.predict(fh=3, X=X_future)\n```\n\nView the full walkthrough on forecasting [here](https:\u002F\u002Fdocs.functime.ai\u002Fforecasting\u002F).\n\n### Feature Extraction\n\n`functime` comes with over 100+ [time-series feature extractors](https:\u002F\u002Fdocs.functime.ai\u002Ffeature-extraction\u002F).\nEvery feature is easily accessible via `functime`'s custom `ts` (time-series) namespace, which works with any `Polars` Series or expression. To register the custom `ts` `Polars` namespace, you must first import `functime` in your module.\n\nTo register the custom `ts` `Polars` namespace, you must first import `functime`!\n\n```python\nimport polars as pl\nimport numpy as np\nfrom functime.feature_extractors import FeatureExtractor, binned_entropy\n\n# Load commodities price data\ny = pl.read_parquet(\"https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fraw\u002Fmain\u002Fdata\u002Fcommodities.parquet\")\n\n# Get column names (\"commodity_type\", \"time\", \"price\")\nentity_col, time_col, value_col = y.columns\n\n# Extract a single feature from a single time-series\nbinned_entropy = binned_entropy(\n    pl.Series(np.random.normal(0, 1, size=10)),\n    bin_count=10\n)\n\n# 🔥 Also works on LazyFrames with query optimization\nfeatures = (\n    pl.LazyFrame({\n        \"index\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n        \"value\": np.random.normal(0, 1, size=10)\n    })\n    .select(\n        binned_entropy=pl.col(\"value\").ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(\"value\").ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(\"value\").ts.longest_streak_above_mean(),\n    )\n    .collect()\n)\n\n# 🚄 Extract features blazingly fast on many\n# stacked time-series using `group_by`\nfeatures = (\n    y.group_by(entity_col)\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\n\n# 🚄 Extract features blazingly fast on windows\n# of many time-series using `group_by_dynamic`\nfeatures = (\n    # Compute rolling features at yearly intervals\n    y.group_by_dynamic(\n        time_col,\n        every=\"12mo\",\n        by=entity_col,\n    )\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\n\n```\n\n## Related Projects\n\nIf you are interested in general data-science related plugins for `Polars`, you must check out [`polars-ds`](https:\u002F\u002Fgithub.com\u002Fabstractqqq\u002Fpolars_ds_extension). `polars-ds` is a project created by one of `functime`'s core maintainers and is the easiest way to extend your `Polars` pipelines with commonly used data-science operations made blazing fast with Rust!\n\n## License\n`functime` is distributed under [Apache-2.0](LICENSE).\n","\u003Cdiv align=\"center\">\n    \u003Ch1>大规模时间序列机器学习\u003C\u002Fh1>\n\u003Cbr \u002F>\n\n![functime](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffunctime-org_functime_readme_34c8c3ecbe9c.png)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Ffunctime)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F)\n[![PyPi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Ffunctime?color=blue)](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F)\n[![代码风格：black](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg)](https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack)\n[![GitHub Run Quickstart](https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Factions\u002Fworkflows\u002Fquickstart.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Factions\u002Fworkflows\u002Fquickstart.yml)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1145819725276917782)](https:\u002F\u002Fdiscord.com\u002Finvite\u002FJKMrZKjEwN)\n\n\u003C\u002Fdiv>\n\n---\n**functime** 是一个功能强大的 [Python 库](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F)，用于在 **大型面板数据集** 上进行生产就绪的 **全局预测** 和 **时间序列特征提取**。\n\n**functime** 还配备了时间序列 [预处理](https:\u002F\u002Fdocs.functime.ai\u002Fref\u002Fpreprocessing\u002F)（Box-Cox 变换、差分等）、交叉验证 [拆分器](https:\u002F\u002Fdocs.functime.ai\u002Fref\u002Fcross-validation\u002F)（扩展窗口和滑动窗口）以及预测 [指标](https:\u002F\u002Fdocs.functime.ai\u002Fref\u002Fmetrics\u002F)（MASE、SMAPE 等）。所有这些都优化为 [懒加载 Polars](https:\u002F\u002Fpola-rs.github.io\u002Fpolars-book\u002Fuser-guide\u002Flazy\u002Fusing\u002F) 转换。\n\n欢迎加入我们的 [Discord](https:\u002F\u002Fdiscord.com\u002Finvite\u002FJKMrZKjEwN)！\n\n## 亮点\n- **快速：** 在您的笔记本电脑上，几秒钟内即可对 10 万个时间序列进行预测和特征提取（例如 tsfresh、Catch22）\n- **高效：** 使用 [`Polars`](https:\u002F\u002Fpola.rs\u002F) 对时间序列进行并行特征工程\n- **久经考验：** 提供实际业务价值并屡获竞赛冠军的机器学习算法\n- **外生特征：** 每个预测器均支持外生特征\n- **回测：** 支持扩展窗口和滑动窗口拆分器\n- **自动滞后和超参数调优：** 使用 [`FLAML`](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FFLAML)\n\n## 其他亮点\n`functime` 配备了一个专门的 LLM 代理，用于分析、描述和比较您的预测结果。请参阅这里的操作指南 [这里](https:\u002F\u002Fdocs.functime.ai\u002Fnotebooks\u002Fllm\u002F)。\n\n## 开始使用\n通过 [pip](https:\u002F\u002Fpypi.org\u002Fproject\u002Ffunctime\u002F) 包管理器安装 `functime`。\n```bash\npip install functime\n```\n\n`functime` 还提供额外的选项。例如，要安装带有大语言模型 (LLM) 和 lightgbm 特征的 `functime`：\n\n```bash\npip install \"functime[llm,lgb]\"\n```\n\n- `cat`: 使用 `catboost` 预测器\n- `xgb`: 使用 `xgboost` 预测器\n- `lgb`: 使用 `lightgbm` 预测器\n- `llm`: 使用由 LLM 驱动的预测分析师\n\n### 预测\n\n```python\nimport polars as pl\nfrom functime.cross_validation import train_test_split\nfrom functime.seasonality import add_fourier_terms\nfrom functime.forecasting import linear_model\nfrom functime.preprocessing import scale\nfrom functime.metrics import mase\n\n# 加载大宗商品价格数据\ny = pl.read_parquet(\"https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fraw\u002Fmain\u002Fdata\u002Fcommodities.parquet\")\nentity_col, time_col = y.columns[:2]\n\n# 时间序列拆分\ny_train, y_test = y.pipe(train_test_split(test_size=3))\n\n# 拟合-预测\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train)\ny_pred = forecaster.predict(fh=3)\n\n# functime ❤️ 函数式设计\n# 拟合-预测一步完成\ny_pred = linear_model(freq=\"1mo\", lags=24)(y=y_train, fh=3)\n\n# 并行评估预测结果\nscores = mase(y_true=y_test, y_pred=y_pred, y_train=y_train)\n\n# 使用目标变换和特征变换进行预测\nforecaster = linear_model(\n    freq=\"1mo\",\n    lags=24,\n    target_transform=scale(),\n    feature_transform=add_fourier_terms(sp=12, K=6)\n)\n\n# 使用外生回归量进行预测！\n# 只需将它们传递给 X 即可\nX = (\n    y.select([entity_col, time_col])\n    .pipe(add_fourier_terms(sp=12, K=6)).collect()\n)\nX_train, X_future = y.pipe(train_test_split(test_size=3))\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train, X=X_train)\ny_pred = forecaster.predict(fh=3, X=X_future)\n```\n\n完整的预测操作指南请参见 [这里](https:\u002F\u002Fdocs.functime.ai\u002Fforecasting\u002F)。\n\n### 特征提取\n\n`functime` 提供超过 100 种 [时间序列特征提取器](https:\u002F\u002Fdocs.functime.ai\u002Ffeature-extraction\u002F)。每个特征都可以通过 `functime` 的自定义 `ts`（时间序列）命名空间轻松访问，该命名空间适用于任何 `Polars` Series 或表达式。要在模块中注册自定义的 `ts` `Polars` 命名空间，您必须先导入 `functime`。\n\n要注册自定义的 `ts` `Polars` 命名空间，您必须先导入 `functime`！\n\n```python\nimport polars as pl\nimport numpy as np\nfrom functime.feature_extractors import FeatureExtractor, binned_entropy\n\n# 加载大宗商品价格数据\ny = pl.read_parquet(\"https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fraw\u002Fmain\u002Fdata\u002Fcommodities.parquet\")\n\n# 获取列名（“商品类型”、“时间”、“价格”）\nentity_col, time_col, value_col = y.columns\n\n# 从单个时间序列中提取单个特征\nbinned_entropy = binned_entropy(\n    pl.Series(np.random.normal(0, 1, size=10)),\n    bin_count=10\n)\n\n# 🔥 同样适用于具有查询优化的 LazyFrames\nfeatures = (\n    pl.LazyFrame({\n        \"index\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n        \"value\": np.random.normal(0, 1, size=10)\n    })\n    .select(\n        binned_entropy=pl.col(\"value\").ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(\"value\").ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(\"value\").ts.longest_streak_above_mean(),\n    )\n    .collect()\n)\n\n# 🚄 在多个堆叠的时间序列上以极快的速度提取特征\n# 使用 `group_by`\nfeatures = (\n    y.group_by(entity_col)\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\n\n# 🚄 在多个时间序列的窗口上以极快的速度提取特征\n# 使用 `group_by_dynamic`\nfeatures = (\n    # 按年度间隔计算滚动特征\n    y.group_by_dynamic(\n        time_col,\n        every=\"12mo\",\n        by=entity_col,\n    )\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\n\n```\n\n## 相关项目\n\n如果您对 `Polars` 的通用数据科学插件感兴趣，那么一定要查看 [`polars-ds`](https:\u002F\u002Fgithub.com\u002Fabstractqqq\u002Fpolars_ds_extension)。`polars-ds` 是由 `functime` 的核心维护者之一创建的项目，它是将常用的数据科学操作以 Rust 极速实现并扩展到您的 `Polars` 流水线的最简单方式！\n\n## 许可证\n`functime` 采用 [Apache-2.0](LICENSE) 许可证发布。","# functime 快速上手指南\n\n**functime** 是一个强大的 Python 库，专为大规模面板数据设计，提供生产级的**全局预测**和**时间序列特征提取**功能。它基于 [`Polars`](https:\u002F\u002Fpola.rs\u002F) 构建，利用惰性计算实现极速处理，能在笔记本电脑上秒级处理十万级时间序列。\n\n## 环境准备\n\n- **操作系统**：Linux, macOS, Windows\n- **Python 版本**：3.9 - 3.12\n- **核心依赖**：\n  - `polars` (底层计算引擎)\n  - `numpy`\n  - `scikit-learn` (部分模型依赖)\n  - `FLAML` (自动超参数调优)\n\n> **注意**：functime 强依赖 Polars 的惰性执行机制，建议确保安装最新版本的 Polars 以获得最佳性能。\n\n## 安装步骤\n\n使用 pip 进行基础安装：\n\n```bash\npip install functime\n```\n\n如需使用特定功能（如大语言模型分析或特定 boosting 算法），可安装额外依赖：\n\n```bash\n# 安装 LLM 分析功能和 LightGBM 支持\npip install \"functime[llm,lgb]\"\n\n# 其他可选组件\n# pip install \"functime[cat]\"   # CatBoost 支持\n# pip install \"functime[xgb]\"   # XGBoost 支持\n```\n\n> **国内加速建议**：如果下载速度较慢，推荐使用国内镜像源：\n> ```bash\n> pip install functime -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 基本使用\n\n### 1. 快速预测 (Forecasting)\n\n以下示例展示如何加载数据、划分训练集\u002F测试集，并使用线性模型进行预测。\n\n```python\nimport polars as pl\nfrom functime.cross_validation import train_test_split\nfrom functime.forecasting import linear_model\nfrom functime.metrics import mase\n\n# 加载示例数据 (商品价格指数)\ny = pl.read_parquet(\"https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fraw\u002Fmain\u002Fdata\u002Fcommodities.parquet\")\nentity_col, time_col = y.columns[:2]\n\n# 划分时间序列训练集和测试集 (最后 3 期作为测试)\ny_train, y_test = y.pipe(train_test_split(test_size=3))\n\n# 初始化并训练模型 (频率为月度，滞后 24 期)\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train)\n\n# 预测未来 3 期\ny_pred = forecaster.predict(fh=3)\n\n# 函数式风格：一行代码完成拟合与预测\ny_pred = linear_model(freq=\"1mo\", lags=24)(y=y_train, fh=3)\n\n# 并行计算评估指标 (MASE)\nscores = mase(y_true=y_test, y_pred=y_pred, y_train=y_train)\nprint(scores)\n```\n\n**带外生变量预测**：\n只需将外生特征 DataFrame 传入 `X` 参数即可。\n\n```python\nfrom functime.seasonality import add_fourier_terms\n\n# 构造外生特征 (傅里叶项)\nX = (\n    y.select([entity_col, time_col])\n    .pipe(add_fourier_terms(sp=12, K=6)).collect()\n)\n\n# 划分外生变量的训练集和未来集\nX_train, X_future = X.pipe(train_test_split(test_size=3))\n\n# 训练与预测\nforecaster = linear_model(freq=\"1mo\", lags=24)\nforecaster.fit(y=y_train, X=X_train)\ny_pred = forecaster.predict(fh=3, X=X_future)\n```\n\n### 2. 特征提取 (Feature Extraction)\n\nfunctime 提供了 100+ 种时间序列特征提取器，通过自定义的 `.ts` 命名空间直接集成到 Polars 中。\n\n**重要**：使用前必须先 `import functime` 以注册命名空间。\n\n```python\nimport polars as pl\nimport numpy as np\nimport functime  # 必须导入以注册 .ts 命名空间\nfrom functime.feature_extractors import binned_entropy\n\n# 加载数据\ny = pl.read_parquet(\"https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fraw\u002Fmain\u002Fdata\u002Fcommodities.parquet\")\nentity_col, time_col, value_col = y.columns\n\n# 场景 A: 对单个序列提取特征\nsingle_series = pl.Series(np.random.normal(0, 1, size=10))\nentropy_val = binned_entropy(single_series, bin_count=10)\n\n# 场景 B: 在 LazyFrame 上高效提取多个特征 (利用查询优化)\nfeatures = (\n    pl.LazyFrame({\n        \"index\": range(10),\n        \"value\": np.random.normal(0, 1, size=10)\n    })\n    .select(\n        binned_entropy=pl.col(\"value\").ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(\"value\").ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(\"value\").ts.longest_streak_above_mean(),\n    )\n    .collect()\n)\n\n# 场景 C: 对大规模分组数据并行提取特征 (最常用)\nfeatures = (\n    y.group_by(entity_col)\n    .agg(\n        binned_entropy=pl.col(value_col).ts.binned_entropy(bin_count=10),\n        lempel_ziv_complexity=pl.col(value_col).ts.lempel_ziv_complexity(threshold=3),\n        longest_streak_above_mean=pl.col(value_col).ts.longest_streak_above_mean(),\n    )\n)\nprint(features.head())\n```\n\n通过以上步骤，您可以快速开始使用 functime 进行高性能的时间序列分析与建模。更多高级用法（如自动调参、LLM 分析报告）请参考官方文档。","某大型零售连锁企业的数据团队需要基于历史销售记录，对全国 5000 家门店的 10 万种商品进行月度销量预测，以优化库存管理。\n\n### 没有 functime 时\n- **计算效率极低**：使用传统 Pandas 处理十万级时间序列特征提取时，单台笔记本运行数小时甚至内存溢出，必须依赖昂贵的云端集群。\n- **并行开发复杂**：为了实现多序列并行计算，需手动编写复杂的多进程代码，维护成本高且容易出错。\n- **回测流程繁琐**：构建滑动窗口或扩张窗口进行交叉验证时，代码逻辑冗长，难以快速迭代模型参数。\n- **特征工程受限**：受限于性能，无法充分引入滞后项、傅里叶项等复杂特征，导致模型对季节性波动捕捉能力不足。\n\n### 使用 functime 后\n- **秒级完成大规模预测**：依托 Polars 的惰性计算与并行机制，在普通笔记本电脑上即可秒级完成 10 万条时间序列的特征提取与预测。\n- **原生并行无需额外代码**：functime 内置“易并行”架构，自动利用多核 CPU 处理面板数据，开发者只需关注业务逻辑而非底层并发。\n- **一键式标准化回测**：通过内置的扩张窗口和滑动窗口分割器，几行代码即可实现严谨的背测流程，大幅缩短模型验证周期。\n- **丰富特征轻松集成**：支持自动添加滞后项、傅里叶季节项及外生变量，结合 FLAML 自动调参，显著提升了预测精度和对业务波动的响应速度。\n\nfunctime 将原本需要集群资源才能完成的大规模时序预测任务，转化为可在本地高效运行的标准化流程，极大降低了算力门槛并提升了决策时效。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffunctime-org_functime_68dc54ea.png","functime-org","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffunctime-org_f596975c.png","Open-source time-series machine learning at scale.",null,"https:\u002F\u002Fgithub.com\u002Ffunctime-org",[20,24,28],{"name":21,"color":22,"percentage":23},"Python","#3572A5",98.2,{"name":25,"color":26,"percentage":27},"Rust","#dea584",1.6,{"name":29,"color":30,"percentage":31},"Makefile","#427819",0.1,1167,62,"2026-04-14T18:06:02","Apache-2.0",1,"未说明",{"notes":39,"python":40,"dependencies":41},"该工具基于 Polars 构建，利用其惰性计算和并行处理能力在普通笔记本电脑上即可快速处理大规模时间序列数据。若需使用 LLM 预测分析或特定树模型（CatBoost, XGBoost, LightGBM），需通过 pip 安装对应的额外依赖包（如 functime[llm,lgb]）。","3.8+",[42,43,44,45,46,47],"polars","numpy","FLAML","catboost (可选)","xgboost (可选)","lightgbm (可选)",[49,50],"开发框架","数据工具",[52,53,54,55,42,56,57],"forecasting","machine-learning","python","time-series","feature-engineering","panel-data",2,"ready","2026-03-27T02:49:30.150509","2026-04-16T03:30:15.842524",[63,68,73,78,83,88],{"id":64,"question_zh":65,"answer_zh":66,"source_url":67},35059,"Functime 支持的最低 Python 版本是多少？","目前项目支持 Python >= 3.8。虽然 Dask、NumPy 和 SciPy 已仅支持 Python 3.9+，但 Functime 决定暂时保持对 3.8 的支持，直到 Python 3.8 正式停止维护（预计随 Python 3.13 发布时）。此举旨在与 Polars 库的支持版本保持一致。如果用户在 Python 3.8 环境下运行 pip upgrade 升级 Functime，可能会遇到错误，建议届时升级 Python 版本。","https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fissues\u002F112",{"id":69,"question_zh":70,"answer_zh":71,"source_url":72},35060,"在 Mac 上安装项目依赖时遇到编译错误怎么办？","如果在运行 `rye sync --features=dev` 时遇到编译错误，通常是因为 Rust 工具链版本问题。该项目需要 nightly 版本的 Rust 才能编译，稳定版（stable）会导致构建失败。请确保项目中包含 `_rust-toolchain.toml` 文件（该文件会指定切换到 nightly 版本），不要将其删除。已在 Python 3.12 环境下验证，配置正确的 nightly 工具链后可正常构建和测试。","https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fissues\u002F241",{"id":74,"question_zh":75,"answer_zh":76,"source_url":77},35061,"benford_correlation 函数是使用字符串方法还是数学方法计算更优？","尽管数学方法在某些基准测试中速度稍快（约 3 倍），但由于存在精度问题（特别是在处理特定值如 1000 时可能不准确），且不同操作系统或硬件表现不一致，项目最终决定默认使用基于字符串提取首位数字的方法以保证稳定性和精度。数学方法将作为次要选项保留。在大多数数据规模下，两种方法的性能差异并不显著，字符串方法对异常值更具鲁棒性。","https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fissues\u002F41",{"id":79,"question_zh":80,"answer_zh":81,"source_url":82},35062,"如何在 Functime 中使用类似 tsfresh 的时间序列特征功能？","Functime 已将 tsfresh 的时间序列特征重构并集成到 Polars 命名空间中。使用方法是通过 `pl.col(\"列名\").ts.特征名()` 的形式调用。例如：`pl.col(\"value\").ts.binned_entropy(n_bins=42)` 或 `pl.col(\"value\").ts.acf(lags=12)`。该设计天然支持面板数据（通过 `groupby`）和滚动窗口（通过 `groupby_dynamic`），无需额外配置即可实现高效的时间序列特征工程。相关功能已在 v0.9.0 版本中稳定发布。","https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fissues\u002F27",{"id":84,"question_zh":85,"answer_zh":86,"source_url":87},35063,"Functime 是否实现了《金融机器学习进展》书中的分数阶差分（Fractional Differentiation）功能？","是的，社区对该功能非常感兴趣并已纳入开发计划。开发者可以贡献基于 Polars 实现的分数阶差分函数。如果您熟悉 M. L. Prado 的《Advances in Financial Machine Learning》一书并希望贡献书中其他算法的实现，欢迎加入项目的 Discord 频道参与讨论和提交代码。","https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fissues\u002F97",{"id":89,"question_zh":90,"answer_zh":91,"source_url":92},35064,"如何获取 Functime 的源码分发包（sdist）以便在 Conda Forge 上发布？","项目维护者已解决此问题，现在可以在 PyPI 或 GitHub Release 中获取源码分发包（sdist）。这使得社区成员能够创建 Conda Forge feedstock，从而通过 Conda 安装 Functime。如果您需要具体的包文件或协助创建 Conda 配方，可以参考项目最新的 Release 页面或直接联系维护者。","https:\u002F\u002Fgithub.com\u002Ffunctime-org\u002Ffunctime\u002Fissues\u002F23",[94,99,104,109,114,119,124,129],{"id":95,"version":96,"summary_zh":97,"released_at":98},273274,"v0.9.5","- 使用适当的 Polars 类型别名 (#160)\n- 修复重定向链接 (#172)\n- 移除不必要的测试 (#175)\n- 修复拼写错误 (#171)\n- 作为表达式实现去趋势，修复 bug (#155)\n\n## ✨ 功能增强\n\n- 添加采样参数 (#158)\n\n## 🛠️ 其他改进\n\n- 移除瓶颈 (#163)\n\n感谢所有贡献者让本次发布成为可能！\n@FBruzzesi、@abstractqqq、@baggiponte、@ngriffiths13 和 @topher-lo","2024-02-22T01:03:29",{"id":100,"version":101,"summary_zh":102,"released_at":103},273275,"v0.9.4","## ✨ 改进\n\n- 创建分式微分插件 (#151)\n\n感谢所有贡献者让本次发布成为可能！\n@baggiponte、@ngriffiths13 和 @topher-lo","2023-12-28T09:13:39",{"id":105,"version":106,"summary_zh":107,"released_at":108},273276,"v0.9.3","* [热修复：调用当前 OpenAI Python SDK 格式的 API](https:\u002F\u002Fgithub.com\u002FTracecatHQ\u002Ffunctime\u002Fcommit\u002F8ec4b1304f793ca98e554126f02852b742267914)\n","2023-12-07T22:41:54",{"id":110,"version":111,"summary_zh":112,"released_at":113},273277,"v0.9.2","- 将 API 调用更新为当前的 OpenAI Python 格式 (#128)\n\n感谢所有贡献者，正是你们让这次发布成为可能！\n@TomBurdge 和 @topher-lo","2023-11-29T20:20:44",{"id":115,"version":116,"summary_zh":117,"released_at":118},273278,"v0.9.1","- 更新基准测试 (#119)\n- 修复 Polars 的特性标志，使构建恢复正常。(#123)\n- 修复 group by 中的 bug (#120)\n- 更新：在 ts 命名空间中添加 ratio_n_unique_to_length (#121)\n- 功能\u002F特征提取器清理 (#117)\n\n感谢所有贡献者让本次发布成为可能！\n@MathieuCayssol、@abstractqqq、@ngriffiths13 和 @topher-lo","2023-11-25T20:36:48",{"id":120,"version":121,"summary_zh":122,"released_at":123},273279,"v0.9.0","- 使用 Git LFS 恢复 M4 日度数据 (#110)\n- 将 Polars 升级至 v0.19.12 (#109)\n- 时间序列特征提取基准测试 (#60)\n- 连续序列长度 (#100)\n- 添加命名空间及命名空间中缺失的函数 (#95)\n- 分数差分函数及测试 (#104)\n- 更多时间序列优化 (#103)\n- 装饰器日志基础设施 (#102)\n- plot_* 也接受 LazyFrame (#101)\n- 更新 .gitignore、pyproject.toml 和 pre-commit 配置 (#96)\n- 新增线性趋势检验功能 (#93)\n- 添加简单的 tsfresh 单元测试 (#92)\n- 单元测试 (#90)\n- 修复错误的 `roll` 导入 (#86)\n- 在 `__init__.py` 中添加 `__version__` 属性 (#87)\n- 修复拼写错误，向 Polars 命名空间添加新函数并编写单元测试 (#77)\n- 修复变量名 (#68)\n- 在标题中提及大型面板数据集 (#76)\n- 其他功能：修复能量比计算 (#71)\n- tsfresh 的绝对值特征及分位数调整 (#66)\n- 修复自相关、Lempel-Ziv 复杂度以及部分失败的测试 (#67)\n- 在急迫模式下实现近似熵 (#61)\n- 修复并优化：Benford 相关性和熵特征 (#58)\n- 清理 tsfresh 中的函数 (#57)\n- 统一文档字符串 (#56)\n- 修正拼写错误，并移除未使用的函数 number_peaks 的重复代码 (#55)\n- 加快 energy_ratio 的计算速度 (#50)\n- tsfresh 第一阶段的性能与 bug 修复 (#49)\n- 添加小波变换峰值计数功能 (#44)\n- 将 Polars 升级至 0.19.1 (#28)\n\n## ✨ 功能增强\n\n- 使用 Rust 重写 lempel_ziv_complexity 函数 (#107)\n- 添加 `plotting.plot_entities` 函数 (#98)\n- 性能优化与测试：更多 tsfresh 更新 (#91)\n- 时间序列命名空间 + 小 bug 修复 + 重组 (#64)\n- 实现偏自相关函数 (#63)\n- 支持 pl.Expr 和 pl.Series 类型的 tsfresh @mathieu (#37)\n- tsfresh 阶段性改进 (#32)\n- 添加 Yeo-Johnson 变换器 (#29)\n\n## 🛠️ 其他改进\n\n- 更新 pre-commit 钩子：使用 ruff 格式化代码，格式化 pyproject.toml 文件 (#108)\n- 在预处理教程中加入分数差分方法 (#106)\n- 减少核心构建体积 (#82)\n\n感谢所有贡献者使本次发布成为可能！\n@MathieuCayssol、@TomBurdge、@abstractqqq、@baggiponte、@claysmyth、@daryllimyt、@metaboulie、@ngriffiths13、@topher-lo 和 @vienneraphael","2023-11-07T14:12:20",{"id":125,"version":126,"summary_zh":127,"released_at":128},273280,"v0.8.5","## 修复\n\n- `ts` 特征提取命名空间中缺少函数 (#95)\n\n## 🛠️ 其他改进\n\n- 在预处理教程中添加分数差分功能 (#106)\n\n感谢所有贡献者让本次发布成为可能！\n@MathieuCayssol、@ngriffiths13 和 @topher-lo","2023-10-27T00:50:23",{"id":130,"version":131,"summary_zh":132,"released_at":133},273281,"v0.8.4","- 分数阶差分函数及检验 (#104)\n- 更多 tse 优化 (#103)\n- 装饰器日志基础设施 (#102)\n- plot\\_\\* 也接受 LazyFrames (#101)\n- 更新 .gitignore、pyproject.toml 和 pre-commit 配置 (#96)\n- 新增线性趋势检验功能 (#93)\n- 添加简单的 tsfresh 单元测试 (#92)\n- 单元测试 (#90)\n- 修复错误的 `roll` 导入 (#86)\n- 在 `__init__.py` 中添加 `__version__` (#87)\n- 修复拼写错误 + 向 polars 命名空间中添加新函数 + 单元测试 (#77)\n- 修正变量名 (#68)\n- 在标题中提及大型面板数据集 (#76)\n- 其他功能，修复能量比值 (#71)\n- tsfresh 绝对特征及分位数调整 (#66)\n- 修复自相关、Lempel-Ziv 复杂度以及部分失败的测试 (#67)\n- 激进模式下的近似熵 (#61)\n- 修复并优化：本福德相关性和熵特征 (#58)\n- 清理 tsfresh 中的函数 (#57)\n- 统一文档字符串 (#56)\n- 修正拼写错误，并移除未使用的函数 number\\_peaks 的重复代码 (#55)\n- 加快 energy\\_ratio 的运行速度 (#50)\n- tsfresh 第一阶段的性能与 bug 修复 (#49)\n- 添加 CWT 峰值计数特征 (#44)\n- 将 polars 升级至 0.19.1 版本 (#28)\n\n## ✨ 功能增强\n\n- 添加 `plotting.plot_entities` (#98)\n- 性能优化 + 测试：更多 tsfresh 更新 (#91)\n- TS 命名空间 + 小 bug 修复 + 重构 (#64)\n- 实现偏自相关 (#63)\n- 支持 pl.Expr 和 pl.Series 的 tsfresh @mathieu (#37)\n- tsfresh 阶段性更新 (#32)\n- 添加 Yeo-Johnson 变换器 (#29)\n\n## 🛠️ 其他改进\n\n- 减少核心构建体积 (#82)\n\n感谢所有贡献者使本次发布成为可能！\n@MathieuCayssol、@TomBurdge、@abstractqqq、@baggiponte、@claysmyth、@daryllimyt、@metaboulie、@ngriffiths13、@topher-lo 和 @vienneraphael","2023-10-26T20:51:52",[135,146,154,163,171,180],{"id":136,"name":137,"github_repo":138,"description_zh":139,"stars":140,"difficulty_score":141,"last_commit_at":142,"category_tags":143,"status":59},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[144,49,145,50],"Agent","图像",{"id":147,"name":148,"github_repo":149,"description_zh":150,"stars":151,"difficulty_score":141,"last_commit_at":152,"category_tags":153,"status":59},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[49,145,144],{"id":155,"name":156,"github_repo":157,"description_zh":158,"stars":159,"difficulty_score":58,"last_commit_at":160,"category_tags":161,"status":59},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",156804,"2026-04-15T11:34:33",[49,144,162],"语言模型",{"id":164,"name":165,"github_repo":166,"description_zh":167,"stars":168,"difficulty_score":58,"last_commit_at":169,"category_tags":170,"status":59},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[49,145,144],{"id":172,"name":173,"github_repo":174,"description_zh":175,"stars":176,"difficulty_score":58,"last_commit_at":177,"category_tags":178,"status":59},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[179,144,145,49],"插件",{"id":181,"name":182,"github_repo":183,"description_zh":184,"stars":185,"difficulty_score":58,"last_commit_at":186,"category_tags":187,"status":59},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[179,49]]