[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-ai4co--rl4co":3,"similar-ai4co--rl4co":193},{"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":15,"owner_avatar_url":16,"owner_bio":17,"owner_company":18,"owner_location":18,"owner_email":18,"owner_twitter":18,"owner_website":19,"owner_url":20,"languages":21,"stars":26,"forks":27,"last_commit_at":28,"license":29,"difficulty_score":30,"env_os":31,"env_gpu":32,"env_ram":31,"env_deps":33,"category_tags":42,"github_topics":47,"view_count":30,"oss_zip_url":18,"oss_zip_packed_at":18,"status":64,"created_at":65,"updated_at":66,"faqs":67,"releases":92},2400,"ai4co\u002Frl4co","rl4co","A PyTorch library for all things Reinforcement Learning (RL) for Combinatorial Optimization (CO)","rl4co 是一个基于 PyTorch 的开源库，专为利用强化学习（RL）解决组合优化（CO）问题而设计。它致力于提供一个统一的框架，将算法研究与底层工程实现解耦，从而极大地促进了该领域研究的可复现性。\n\n面对组合优化问题中算法实现复杂、环境搭建繁琐以及不同模型难以横向对比的痛点，rl4co 通过高度模块化的设计提供了灵活的解决方案。它不仅支持“构造式”策略（包括自回归和非自回归方法，用于从零构建解），还涵盖“改进式”策略（用于优化现有解），能够适应多种复杂的优化场景。\n\n这款工具特别适合人工智能研究人员、算法工程师以及对强化学习应用于运筹优化感兴趣的开发者使用。其核心技术亮点在于构建了强大的生态基础：底层依托 TorchRL 实现高效的 GPU 向量化环境运行，利用 TensorDict 优雅地处理状态、动作和奖励等异构数据，并集成 PyTorch Lightning 与 Hydra 框架，分别提升了训练性能与配置管理的灵活性。此外，rl4co 允许用户像搭积木一样替换环境嵌入等组件，轻松拓展至新的优化问题，是探索智能决策算法的理想起点。","\u003C\u002Fbr>\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fai4co\u002Fassets\u002Fmain\u002Fsvg\u002Frl4co_animated_full.svg\" alt=\"AI4CO Logo\" style=\"width: 40%; height: auto;\">\n\n\u003C\u002Fbr>\u003C\u002Fbr>\n\n\n\u003Ca href=\"https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F\">\u003Cimg alt=\"PyTorch\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch-ee4c2c?logo=pytorch&logoColor=white\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpytorchlightning.ai\u002F\">\u003Cimg alt=\"Lightning\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Lightning-792ee5?logo=pytorchlightning&logoColor=white\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpytorch\u002Frl\">\u003Cimg alt=\"base: TorchRL\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbase-TorchRL-red\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhydra.cc\u002F\">\u003Cimg alt=\"config: Hydra\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fconfig-Hydra-89b8cd\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack\">\u003Cimg alt=\"Code style: black\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fai4co-community\u002Fshared_invite\u002Fzt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw\">\u003Cimg alt=\"Slack\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-611f69.svg?logo=slack\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\">\u003Cimg alt=\"License: MIT\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-red.svg\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fai4co\u002Frl4co\u002Fblob\u002Fmain\u002Fexamples\u002F1-quickstart.ipynb\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Frl4co\">\u003Cimg alt=\"PyPI\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frl4co?logo=pypi\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fapp.codecov.io\u002Fgithub\u002Fai4co\u002Frl4co\u002Ftree\u002Fmain\u002Frl4co\">\u003Cimg alt=\"Codecov\" src=\"https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fai4co\u002Frl4co\u002Ftree\u002Fmain\u002Fbadge.svg\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Factions\u002Fworkflows\u002Ftests.yml\">\u003Cimg alt=\"Test\" src=\"https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg\">\u003C\u002Fa>\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Frl4co.ai4co.org\u002F\">\u003Cstrong>Documentation\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#getting-started\">\u003Cstrong>Getting Started\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#usage\">\u003Cstrong>Usage\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#contributing\">\u003Cstrong>Contributing\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.17100\">\u003Cstrong>Paper\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#join-us\">\u003Cstrong>Join Us\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\n\u003C\u002Fdiv>\n\n\n\nAn extensive Reinforcement Learning (RL) for Combinatorial Optimization (CO) benchmark. Our goal is to provide a unified framework for RL-based CO algorithms, and to facilitate reproducible research in this field, decoupling the science from the engineering.\n\n\nRL4CO is built upon:\n- [TorchRL](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Frl): official PyTorch framework for RL algorithms and vectorized environments on GPUs\n- [TensorDict](https:\u002F\u002Fgithub.com\u002Fpytorch-labs\u002Ftensordict): a library to easily handle heterogeneous data such as states, actions and rewards\n- [PyTorch Lightning](https:\u002F\u002Fgithub.com\u002FLightning-AI\u002Flightning): a lightweight PyTorch wrapper for high-performance AI research\n- [Hydra](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhydra): a framework for elegantly configuring complex applications\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_55619650bafc.png\" alt=\"RL4CO-Overview\" style=\"max-width: 90%;\">\n\u003C\u002Fdiv>\n\nWe offer flexible and efficient implementations of the following policies:\n- **Constructive**: learn to construct a solution from scratch\n  - _Autoregressive (AR)_: construct solutions one step at a time via a decoder\n  - _NonAutoregressive (NAR)_: learn to predict a heuristic, such as a heatmap, to then construct a solution\n- **Improvement**: learn to improve a pre-existing solution\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_0ad123b07427.png\" alt=\"RL4CO-Policy-Overview\" style=\"max-width: 90%;\">\n\u003C\u002Fdiv>\n\nWe provide several utilities and modularization. For example, we modularize reusable components such as _environment embeddings_ that can easily be swapped to [solve new problems](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fblob\u002Fmain\u002Fexamples\u002F3-creating-new-env-model.ipynb).\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_532afba68ddc.png\" alt=\"RL4CO-Env-Embedding\" style=\"max-width: 90%;\">\n\u003C\u002Fdiv>\n\n\n## Getting started\n\u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fai4co\u002Frl4co\u002Fblob\u002Fmain\u002Fexamples\u002F1-quickstart.ipynb\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\">\u003C\u002Fa>\n\nRL4CO is now available for installation on `pip`!\n```bash\npip install rl4co\n```\n\nTo get started, we recommend checking out our [quickstart notebook](examples\u002F1-quickstart.ipynb) or the [minimalistic example](#minimalistic-example) below.\n\n### Install from source\nThis command installs the bleeding edge `main` version, useful for staying up-to-date with the latest developments - for instance, if a bug has been fixed since the last official release but a new release hasn’t been rolled out yet:\n\n```bash\npip install -U git+https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co.git\n```\n\n### Local install and development\n\nWe recommend local development with the blazing-fast [`uv`](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) package manager, for instance:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co && cd rl4co\nuv sync --all-extras\nsource .venv\u002Fbin\u002Factivate\n```\n\nThis will create a new virtual environment in `.venv\u002F` and install all dependencies.\n\n## Usage\n\n\nTrain model with default configuration (AM on TSP environment):\n```bash\npython run.py\n```\n\n> [!TIP]\n> You may check out [this notebook](examples\u002Fadvanced\u002F1-hydra-config.ipynb) to get started with Hydra!\n\n\u003Cdetails>\n    \u003Csummary>Change experiment settings\u003C\u002Fsummary>\n\nTrain model with chosen experiment configuration from [configs\u002Fexperiment\u002F](configs\u002Fexperiment\u002F)\n```bash\npython run.py experiment=routing\u002Fam env=tsp env.num_loc=50 model.optimizer_kwargs.lr=2e-4\n```\nHere you may change the environment, e.g. with `env=cvrp` by command line or by modifying the corresponding experiment e.g. [configs\u002Fexperiment\u002Frouting\u002Fam.yaml](configs\u002Fexperiment\u002Frouting\u002Fam.yaml).\n\n\u003C\u002Fdetails>\n\n\n\n\n\u003Cdetails>\n    \u003Csummary>Disable logging\u003C\u002Fsummary>\n\n```bash\npython run.py experiment=routing\u002Fam logger=none '~callbacks.learning_rate_monitor'\n```\nNote that `~` is used to disable a callback that would need a logger.\n\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n    \u003Csummary>Create a sweep over hyperparameters (-m for multirun)\u003C\u002Fsummary>\n\n```bash\npython run.py -m experiment=routing\u002Fam  model.optimizer.lr=1e-3,1e-4,1e-5\n```\n\u003C\u002Fdetails>\n\n\n\n### Minimalistic Example\n\nHere is a minimalistic example training the Attention Model with greedy rollout baseline on TSP in less than 30 lines of code:\n\n```python\nfrom rl4co.envs.routing import TSPEnv, TSPGenerator\nfrom rl4co.models import AttentionModelPolicy, POMO\nfrom rl4co.utils import RL4COTrainer\n\n# Instantiate generator and environment\ngenerator = TSPGenerator(num_loc=50, loc_distribution=\"uniform\")\nenv = TSPEnv(generator)\n\n# Create policy and RL model\npolicy = AttentionModelPolicy(env_name=env.name, num_encoder_layers=6)\nmodel = POMO(env, policy, batch_size=64, optimizer_kwargs={\"lr\": 1e-4})\n\n# Instantiate Trainer and fit\ntrainer = RL4COTrainer(max_epochs=10, accelerator=\"gpu\", precision=\"16-mixed\")\ntrainer.fit(model)\n```\n\nOther examples can be found on our [documentation](https:\u002F\u002Frl4co.ai4co.org\u002Fexamples\u002F1-quickstart\u002F)!\n\n\n### Testing\n\nRun tests with `pytest` from the root directory:\n\n```bash\npytest tests\n```\n\n### Known Bugs\n\nYou may check out the [issues](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues) and [discussions](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fdiscussions). We will also periodically post updates on the [FAQ section](https:\u002F\u002Frl4co.ai4co.org\u002Fdocs\u002Fcontent\u002Fgeneral\u002Ffaq\u002F).\n\n## Contributing\n\nHave a suggestion, request, or found a bug? Feel free to [open an issue](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues) or [submit a pull request](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpulls).\nIf you would like to contribute, please check out our contribution guidelines   [here](.github\u002FCONTRIBUTING.md). We welcome and look forward to all contributions to RL4CO!\n\nWe are also on [Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fai4co-community\u002Fshared_invite\u002Fzt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw) if you have any questions or would like to discuss RL4CO with us. We are open to collaborations and would love to hear from you 🚀\n\n### Contributors\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_577bb8359286.png\" \u002F>\n\u003C\u002Fa>\n\n## Citation\nIf you find RL4CO valuable for your research or applied projects:\n\n```bibtex\n@inproceedings{berto2025rl4co,\n    title={{RL4CO: an Extensive Reinforcement Learning for Combinatorial Optimization Benchmark}},\n    author={Federico Berto and Chuanbo Hua and Junyoung Park and Laurin Luttmann and Yining Ma and Fanchen Bu and Jiarui Wang and Haoran Ye and Minsu Kim and Sanghyeok Choi and Nayeli Gast Zepeda and Andr\\'e Hottung and Jianan Zhou and Jieyi Bi and Yu Hu and Fei Liu and Hyeonah Kim and Jiwoo Son and Haeyeon Kim and Davide Angioni and Wouter Kool and Zhiguang Cao and Jie Zhang and Kijung Shin and Cathy Wu and Sungsoo Ahn and Guojie Song and Changhyun Kwon and Lin Xie and Jinkyoo Park},\n    booktitle={Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining},\n    year={2025},\n    url={https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co}\n}\n```\n\nNote that a [previous version of RL4CO](https:\u002F\u002Fopenreview.net\u002Fforum?id=YXSJxi8dOV) was also accepted as an oral presentation at the [NeurIPS 2023 GLFrontiers Workshop](https:\u002F\u002Fglfrontiers.github.io\u002F). Since then, the library has greatly evolved and improved!\n\n---\n\n\n## Join us\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-611f69.svg?logo=slack)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fai4co-community\u002Fshared_invite\u002Fzt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw)\n\nWe invite you to join our AI4CO community, an open research group in Artificial Intelligence (AI) for Combinatorial Optimization (CO)!\n\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fai4co\u002Fassets\u002Fmain\u002Fsvg\u002Fai4co_animated_full.svg\" alt=\"AI4CO Logo\" style=\"width: 30%; height: auto;\">\n\u003C\u002Fdiv>\n","\u003C\u002Fbr>\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fai4co\u002Fassets\u002Fmain\u002Fsvg\u002Frl4co_animated_full.svg\" alt=\"AI4CO Logo\" style=\"width: 40%; height: auto;\">\n\n\u003C\u002Fbr>\u003C\u002Fbr>\n\n\n\u003Ca href=\"https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F\">\u003Cimg alt=\"PyTorch\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch-ee4c2c?logo=pytorch&logoColor=white\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpytorchlightning.ai\u002F\">\u003Cimg alt=\"Lightning\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Lightning-792ee5?logo=pytorchlightning&logoColor=white\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpytorch\u002Frl\">\u003Cimg alt=\"base: TorchRL\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbase-TorchRL-red\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fhydra.cc\u002F\">\u003Cimg alt=\"config: Hydra\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fconfig-Hydra-89b8cd\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsf\u002Fblack\">\u003Cimg alt=\"Code style: black\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcode%20style-black-000000.svg\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fai4co-community\u002Fshared_invite\u002Fzt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw\">\u003Cimg alt=\"Slack\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-611f69.svg?logo=slack\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\">\u003Cimg alt=\"License: MIT\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-red.svg\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fai4co\u002Frl4co\u002Fblob\u002Fmain\u002Fexamples\u002F1-quickstart.ipynb\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Frl4co\">\u003Cimg alt=\"PyPI\" src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Frl4co?logo=pypi\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fapp.codecov.io\u002Fgithub\u002Fai4co\u002Frl4co\u002Ftree\u002Fmain\u002Frl4co\">\u003Cimg alt=\"Codecov\" src=\"https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fai4co\u002Frl4co\u002Ftree\u002Fmain\u002Fbadge.svg\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Factions\u002Fworkflows\u002Ftests.yml\">\u003Cimg alt=\"Test\" src=\"https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg\">\u003C\u002Fa>\n\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Frl4co.ai4co.org\u002F\">\u003Cstrong>Documentation\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#getting-started\">\u003Cstrong>Getting Started\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#usage\">\u003Cstrong>Usage\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#contributing\">\u003Cstrong>Contributing\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.17100\">\u003Cstrong>Paper\u003C\u002Fstrong>\u003C\u002Fa> |\n  \u003Ca href=\"#join-us\">\u003Cstrong>Join Us\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\n\u003C\u002Fdiv>\n\n\n\n一个针对组合优化（CO）的强化学习（RL）基准测试平台。我们的目标是为基于强化学习的组合优化算法提供统一的框架，并促进该领域的可复现研究，从而将科学研究与工程实现分离。\n\nRL4CO 基于以下技术构建：\n- [TorchRL](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Frl)：PyTorch 官方提供的用于强化学习算法及 GPU 上向量化环境的框架\n- [TensorDict](https:\u002F\u002Fgithub.com\u002Fpytorch-labs\u002Ftensordict)：一个用于轻松处理状态、动作和奖励等异构数据的库\n- [PyTorch Lightning](https:\u002F\u002Fgithub.com\u002FLightning-AI\u002Flightning)：一个轻量级的 PyTorch 封装，专为高性能 AI 研究设计\n- [Hydra](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhydra)：一个用于优雅配置复杂应用的框架\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_55619650bafc.png\" alt=\"RL4CO-Overview\" style=\"max-width: 90%;\">\n\u003C\u002Fdiv>\n\n我们提供了灵活高效的策略实现，包括：\n- **构造型**：从零开始学习构建解决方案\n  - _自回归（AR）_：通过解码器逐步构建解决方案\n  - _非自回归（NAR）_：学习预测启发式信息，例如热力图，进而构建解决方案\n- **改进型**：学习如何改进已有的解决方案\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_0ad123b07427.png\" alt=\"RL4CO-Policy-Overview\" style=\"max-width: 90%;\">\n\u003C\u002Fdiv>\n\n我们还提供多种实用工具和模块化设计。例如，我们将可重用组件（如“环境嵌入”）进行模块化，以便轻松替换以[解决新问题](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fblob\u002Fmain\u002Fexamples\u002F3-creating-new-env-model.ipynb)。\n\n\n\u003Cdiv align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_532afba68ddc.png\" alt=\"RL4CO-Env-Embedding\" style=\"max-width: 90%;\">\n\u003C\u002Fdiv>\n\n\n## 入门\n\u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fai4co\u002Frl4co\u002Fblob\u002Fmain\u002Fexamples\u002F1-quickstart.ipynb\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\">\u003C\u002Fa>\n\nRL4CO 现在可以通过 `pip` 安装！\n```bash\npip install rl4co\n```\n\n要开始使用，我们建议您查看我们的[快速入门笔记本](examples\u002F1-quickstart.ipynb)或下面的[极简示例](#minimalistic-example)。\n\n### 从源代码安装\n此命令会安装最新的 `main` 分支版本，适合希望紧跟最新进展的情况——例如，当某个错误已在最新版本中修复，但尚未发布新正式版时：\n\n```bash\npip install -U git+https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co.git\n```\n\n### 本地安装与开发\n\n我们推荐使用速度极快的 [`uv`](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) 包管理器进行本地开发，例如：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co && cd rl4co\nuv sync --all-extras\nsource .venv\u002Fbin\u002Factivate\n```\n\n这将会在 `.venv\u002F` 目录下创建一个新的虚拟环境，并安装所有依赖项。\n\n## 使用方法\n\n\n使用默认配置训练模型（AM 模型在 TSP 环境上）：\n```bash\npython run.py\n```\n\n> [!TIP]\n> 您可以参考[这个笔记本](examples\u002Fadvanced\u002F1-hydra-config.ipynb)，开始使用 Hydra 进行配置！\n\n\u003Cdetails>\n    \u003Csummary>更改实验设置\u003C\u002Fsummary>\n\n使用 [configs\u002Fexperiment\u002F] 中选定的实验配置训练模型：\n```bash\npython run.py experiment=routing\u002Fam env=tsp env.num_loc=50 model.optimizer_kwargs.lr=2e-4\n```\n在这里，您可以更改环境，例如通过命令行指定 `env=cvrp`，或者直接修改相应的实验配置文件，如 [configs\u002Fexperiment\u002Frouting\u002Fam.yaml]。\n\n\u003C\u002Fdetails>\n\n\n\n\n\u003Cdetails>\n    \u003Csummary>禁用日志记录\u003C\u002Fsummary>\n\n```bash\npython run.py experiment=routing\u002Fam logger=none '~callbacks.learning_rate_monitor'\n```\n请注意，`~` 用于禁用需要日志记录器的回调函数。\n\n\u003C\u002Fdetails>\n\n\n\u003Cdetails>\n    \u003Csummary>对超参数进行 sweep 测试（使用 -m 多次运行模式）\u003C\u002Fsummary>\n\n```bash\npython run.py -m experiment=routing\u002Fam  model.optimizer.lr=1e-3,1e-4,1e-5\n```\n\u003C\u002Fdetails>\n\n\n\n### 极简示例\n\n以下是一个极简示例，仅用不到 30 行代码即可在 TSP 问题上训练带有贪婪回放基线的注意力模型：\n\n```python\nfrom rl4co.envs.routing import TSPEnv, TSPGenerator\nfrom rl4co.models import AttentionModelPolicy, POMO\nfrom rl4co.utils import RL4COTrainer\n\n# 实例化生成器和环境\ngenerator = TSPGenerator(num_loc=50, loc_distribution=\"uniform\")\nenv = TSPEnv(generator)\n\n# 创建策略和强化学习模型\npolicy = AttentionModelPolicy(env_name=env.name, num_encoder_layers=6)\nmodel = POMO(env, policy, batch_size=64, optimizer_kwargs={\"lr\": 1e-4})\n\n# 实例化训练器并进行训练\ntrainer = RL4COTrainer(max_epochs=10, accelerator=\"gpu\", precision=\"16-mixed\")\ntrainer.fit(model)\n```\n\n更多示例请参阅我们的[文档](https:\u002F\u002Frl4co.ai4co.org\u002Fexamples\u002F1-quickstart\u002F)！\n\n\n### 测试\n\n在根目录下使用 `pytest` 运行测试：\n\n```bash\npytest tests\n```\n\n### 已知问题\n\n您可以查看[问题](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues)和[讨论](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fdiscussions)。我们也会定期在[常见问题解答](https:\u002F\u002Frl4co.ai4co.org\u002Fdocs\u002Fcontent\u002Fgeneral\u002Ffaq\u002F)部分发布更新。\n\n## 贡献\n\n您有建议、需求，或者发现了 bug？欢迎随时[提交 issue](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues)或[拉取请求](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpulls)。如果您希望参与贡献，请查看我们的贡献指南[这里](.github\u002FCONTRIBUTING.md)。我们欢迎并期待所有对 RL4CO 的贡献！\n\n如果您有任何问题，或想与我们讨论 RL4CO，也欢迎加入我们的[Slack 社区](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fai4co-community\u002Fshared_invite\u002Fzt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw)。我们非常乐意与大家合作，并期待您的来信 🚀\n\n### 贡献者\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_readme_577bb8359286.png\" \u002F>\n\u003C\u002Fa>\n\n## 引用\n如果您认为 RL4CO 对您的研究或应用项目有价值：\n\n```bibtex\n@inproceedings{berto2025rl4co,\n    title={{RL4CO: an Extensive Reinforcement Learning for Combinatorial Optimization Benchmark}},\n    author={Federico Berto and Chuanbo Hua and Junyoung Park and Laurin Luttmann and Yining Ma and Fanchen Bu and Jiarui Wang and Haoran Ye and Minsu Kim and Sanghyeok Choi and Nayeli Gast Zepeda and Andr\\'e Hottung and Jianan Zhou and Jieyi Bi and Yu Hu and Fei Liu and Hyeonah Kim and Jiwoo Son and Haeyeon Kim and Davide Angioni and Wouter Kool and Zhiguang Cao and Jie Zhang and Kijung Shin and Cathy Wu and Sungsoo Ahn and Guojie Song and Changhyun Kwon and Lin Xie and Jinkyoo Park},\n    booktitle={Proceedings of the 31st ACM SIGKDD Conference on Knowledge Discovery and Data Mining},\n    year={2025},\n    url={https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co}\n}\n```\n\n请注意，RL4CO 的[早期版本](https:\u002F\u002Fopenreview.net\u002Fforum?id=YXSJxi8dOV)也曾被接受为口头报告，发表于 [NeurIPS 2023 GLFrontiers Workshop](https:\u002F\u002Fglfrontiers.github.io\u002F)。自那时以来，该库已经得到了极大的发展和改进！\n\n---\n\n\n## 加入我们\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-611f69.svg?logo=slack)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fai4co-community\u002Fshared_invite\u002Fzt-3jsdjs3ec-3KHdV3HwanL884mq_9tyYw)\n\n我们诚挚邀请您加入 AI4CO 社区——一个专注于组合优化（CO）的人工智能（AI）开放研究小组！\n\n\n\u003Cdiv align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fai4co\u002Fassets\u002Fmain\u002Fsvg\u002Fai4co_animated_full.svg\" alt=\"AI4CO Logo\" style=\"width: 30%; height: auto;\">\n\u003C\u002Fdiv>","# RL4CO 快速上手指南\n\nRL4CO 是一个基于 PyTorch 的组合优化（CO）强化学习（RL）基准框架。它旨在提供统一的算法实现，解耦科学研究与工程实现，支持构建式（Constructive）和改进式（Improvement）策略。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux, macOS, 或 Windows (推荐 Linux)\n*   **Python**: 3.8 或更高版本\n*   **PyTorch**: 已安装且版本兼容（建议参考 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 安装）\n*   **GPU (可选但推荐)**: 用于加速训练，需安装对应的 CUDA 版本\n\n**前置依赖库**（通常随主包自动安装，也可手动预装）：\n*   `torchrl` (PyTorch RL 框架)\n*   `tensordict` (异构数据处理)\n*   `pytorch-lightning` (高性能训练封装)\n*   `hydra-core` (配置管理)\n\n> **国内加速提示**：如果下载依赖较慢，建议使用国内镜像源（如清华源、阿里源）。\n> ```bash\n> export PIP_INDEX_URL=https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 安装步骤\n\n### 方式一：通过 pip 安装（推荐）\n\n直接安装最新稳定版：\n\n```bash\npip install rl4co\n```\n\n如果需要安装包含最新修复但未发布版本的代码（bleeding edge）：\n\n```bash\npip install -U git+https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co.git\n```\n\n### 方式二：源码安装（适合开发者）\n\n推荐使用 `uv` 进行快速的本地开发和依赖管理：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co && cd rl4co\nuv sync --all-extras\nsource .venv\u002Fbin\u002Factivate\n```\n\n## 基本使用\n\n### 1. 最小化代码示例\n\n以下示例展示了如何在不到 30 行代码内，使用注意力模型（Attention Model）和 POMO 策略在 TSP（旅行商问题）上进行训练：\n\n```python\nfrom rl4co.envs.routing import TSPEnv, TSPGenerator\nfrom rl4co.models import AttentionModelPolicy, POMO\nfrom rl4co.utils import RL4COTrainer\n\n# 实例化生成器和环境\ngenerator = TSPGenerator(num_loc=50, loc_distribution=\"uniform\")\nenv = TSPEnv(generator)\n\n# 创建策略和 RL 模型\npolicy = AttentionModelPolicy(env_name=env.name, num_encoder_layers=6)\nmodel = POMO(env, policy, batch_size=64, optimizer_kwargs={\"lr\": 1e-4})\n\n# 实例化 Trainer 并开始训练\ntrainer = RL4COTrainer(max_epochs=10, accelerator=\"gpu\", precision=\"16-mixed\")\ntrainer.fit(model)\n```\n\n### 2. 命令行运行\n\nRL4CO 内置了基于 Hydra 的配置系统，可直接通过命令行启动训练。\n\n**使用默认配置训练** (默认为 TSP 环境上的 AM 模型)：\n\n```bash\npython run.py\n```\n\n**自定义实验配置**：\n可以通过命令行参数修改环境、模型超参数等。例如，将城市数量设为 50，学习率设为 2e-4：\n\n```bash\npython run.py experiment=routing\u002Fam env=tsp env.num_loc=50 model.optimizer_kwargs.lr=2e-4\n```\n\n**超参数扫描 (Multirun)**：\n使用 `-m` 标志对多个超参数组合进行并行实验：\n\n```bash\npython run.py -m experiment=routing\u002Fam  model.optimizer.lr=1e-3,1e-4,1e-5\n```\n\n**禁用日志**：\n\n```bash\npython run.py experiment=routing\u002Fam logger=none '~callbacks.learning_rate_monitor'\n```\n\n更多高级用法和 Notebook 示例请参考官方文档或项目中的 `examples` 目录。","某物流科技公司的算法团队正致力于利用强化学习优化城市级车辆路径规划（VRP），以应对动态订单带来的实时调度挑战。\n\n### 没有 rl4co 时\n- **重复造轮子**：团队需从零编写环境交互逻辑和奖励函数，花费数周时间复现基础的构造式策略，严重拖慢实验进度。\n- **工程耦合度高**：算法研究与底层代码深度绑定，更换神经网络架构或调整超参数时，往往需要重构大量样板代码。\n- **难以并行加速**：缺乏原生的 GPU 向量化环境支持，只能在 CPU 上串行采样数据，导致模型训练耗时极长，无法快速验证新想法。\n- **复现困难**：由于缺乏统一框架，不同成员开发的实验配置混乱，导致论文算法难以在内部准确复现和对比。\n\n### 使用 rl4co 后\n- **开箱即用**：直接调用 rl4co 预置的 VRP 环境和自回归策略模板，将新算法的原型开发周期从数周缩短至几天。\n- **模块化解耦**：借助其基于 PyTorch Lightning 和 Hydra 的架构，研究人员可灵活替换环境嵌入模块或调整配置，无需改动核心逻辑。\n- **高效训练**：利用底层 TorchRL 的 GPU 向量化环境能力，实现大规模并行数据采集，训练速度提升数十倍，大幅加速迭代。\n- **标准化基准**：内置的标准基准测试流程确保了实验的可复现性，团队能更专注于算法创新而非工程细节。\n\nrl4co 通过统一的框架将复杂的组合优化研究从繁琐的工程实现中解放出来，让算法团队能以前所未有的效率探索更优的调度策略。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fai4co_rl4co_55619650.png","ai4co","AI4CO","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fai4co_6fb3ce6d.png","Open research community in Artificial Intelligence (AI) for Combinatorial Optimization (CO)",null,"ai4co.org","https:\u002F\u002Fgithub.com\u002Fai4co",[22],{"name":23,"color":24,"percentage":25},"Python","#3572A5",100,840,143,"2026-04-02T18:11:54","MIT",2,"未说明","可选（代码示例中演示了 GPU 加速：accelerator=\"gpu\"），具体型号、显存及 CUDA 版本未说明，需参考 PyTorch 官方要求",{"notes":34,"python":31,"dependencies":35},"该工具基于 PyTorch 生态构建，主要用于组合优化问题的强化学习基准测试。推荐使用 'uv' 包管理器进行本地开发和依赖同步。支持通过 Hydra 灵活配置实验参数。可通过 pip 直接安装，也可从源码安装以获取最新功能。",[36,37,38,39,40,41],"PyTorch","PyTorch Lightning","TorchRL","TensorDict","Hydra","uv (推荐用于开发)",[43,44,45,46],"其他","图像","Agent","开发框架",[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63],"combinatorial-optimization","reinforcement-learning","benchmark","hydra","tensordict","torchrl","pytorch-lightning","operations-research","electronic-design-automation","attention-model","cvrp","tsp","attention","neural-combinatorial-optimization","scheduling","vehicle-routing-problem","ready","2026-03-27T02:49:30.150509","2026-04-06T05:32:15.836952",[68,73,78,82,87],{"id":69,"question_zh":70,"answer_zh":71,"source_url":72},11043,"训练完成后，如何使用自己的测试集（如 TSPLib 或 CVRPLib）来测试模型性能？","项目已提供专门的教程笔记本来指导此过程。请查看 `notebooks\u002Ftutorials` 目录下的 `5-test-on-tsplib.ipynb` 和 `6-test-on-cvrplib.ipynb`。这些笔记本整理了完整的测试流程，包括数据集的下载与准备、加载训练好的模型，以及使用贪婪（greedy）、增强（augmentation）和采样（sampling）等多种方式进行测试的代码示例。","https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues\u002F84",{"id":74,"question_zh":75,"answer_zh":76,"source_url":77},11044,"在 Solomon 数据集上测试 CVRP\u002FCVRPTW 模型时遇到“索引越界”或动作掩码错误，如何解决？","这是一个已知 Bug，已在版本更新中修复（commit 5e90b77）。错误原因是之前的 `get_action_mask()` 函数未正确使用 tensordict 中的车辆容量变量，导致节点被错误掩码。请确保升级到最新版本。修复后，可以使用以下最小代码示例进行测试：\n```python\nimport torch\nimport vrplib\nfrom rl4co.envs import CVRPTWEnv\nfrom rl4co.models import AttentionModelPolicy\n\ndevice = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')\ndata_path = \".\u002Fdata\u002FC101.txt\"\n\nenv = CVRPTWEnv()\npolicy = AttentionModelPolicy(env).to(device)\n\n# 下载并读取 Solomon 实例\nvrplib.download_instance(\"C101\", \"data\")\ninstance = vrplib.read_instance(data_path, instance_format=\"solomon\")\ntd = env.extract_from_solomon(instance, 1).to(device)\n```","https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues\u002F137",{"id":79,"question_zh":80,"answer_zh":81,"source_url":77},11045,"为什么在验证 CVRPLib 提供的最优解时，有效性检查函数返回路线无效？","这是由于浮点数计算精度处理导致的。计算距离时的微小偏差可能导致有效性检查断言某个节点无法在规定时间内到达（即使它实际上是最优路线的一部分）。目前官方尚未实施完美的解决方案来处理这些微小差异，但这确实会影响训练和验证过程。建议用户在评估时考虑到这种由浮点误差引起的微小容差问题。",{"id":83,"question_zh":84,"answer_zh":85,"source_url":86},11046,"运行教程笔记本时遇到 AttributeError 或 GPU 不可用错误，该如何解决？","如果是通过 pip 安装后遇到的属性错误，尝试升级相关的 PyTorch 组件：\n`pip install torchaudio torchvision --upgrade`\n如果是 GPU 不可用问题，通常与 CUDA 版本不匹配有关，请检查 `nvidia-smi` 的输出以确认驱动和 CUDA 版本是否与安装的 PyTorch 版本兼容。","https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues\u002F121",{"id":88,"question_zh":89,"answer_zh":90,"source_url":91},11047,"如何修改 CVRPTW 环境以便在 Solomon 数据集上进行训练和测试？","可以通过向环境传递自定义生成器（Generator）来实现。你可以创建一个继承自 `CVRPTWGenerator` 的新类，或者直接使用现有的生成器配置。示例代码如下：\n```python\nfrom rl4co.envs.routing import CVRPTWEnv, CVRPTWEnv\n\ngenerator = CVRPTWGenerator(num_loc=50)\nenv = CVRPTWEnv(generator=generator)\n```\n如果需要完全自定义数据生成逻辑，可以创建自定义环境类并重写 `generate_data` 方法：\n```python\nclass CustomCVRPTWEnv(CVRPTWEnv):\n    name = \"cvrptw\"\n    def generate_data(self, ...):\n        # 在此处编写你的数据生成逻辑，例如加载 Solomon 数据\n        pass\n```","https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fissues\u002F148",[93,98,103,108,113,118,123,128,133,138,143,148,153,158,163,168,173,178,183,188],{"id":94,"version":95,"summary_zh":96,"released_at":97},57106,"v0.6.0","# v0.6.0 🚀\n\n## **:tada: RL4CO 被 KDD 2025 接受为口头报告 :tada:** \n\n此版本新增了多项功能并修复了若干 bug，包括：\n\n## 变更内容\n* [新功能] 添加 GFACS，并将 CVRP 局部搜索中的 PyVRP 替换为 HGS，由 @hyeok9855 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F236 中实现。\n* [新功能] 实现 GLOP，由 @Furffico 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F253 中完成。\n* [针对 #255 的 Bug 修复] 由 @bokveizen 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F256 中添加了 FLP 和 MCP 的环境配置文件。\n* [针对 #255 的附加功能] 由 @bokveizen 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F257 中添加了 MCP 的嵌入函数。\n* 由 @ngastzepeda 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F262 中将 env、policy 和 dataset 设置为在超参数日志中忽略。\n* 由 @ngastzepeda 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F263 中确保从检查点加载时，SymNCO 的基线始终为 “symnco”。\n* 由 @ngastzepeda 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F264 中取消对 CVRP 环境渲染轴的人为限制。\n* [新功能] 更新 MDCPDP 环境 #220，由 @fedebotu 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F265 中完成。\n* 新增 KDD 2025 相关引用。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fcompare\u002Fv0.5.2...v0.6.0","2025-05-30T10:11:54",{"id":99,"version":100,"summary_zh":101,"released_at":102},57107,"v0.5.2","# v0.5.2 :rocket: \n\n本次发布引入了多项错误修复和改进！\n\n## 变更内容\n* [BugFix] 由 @LTluttmann 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F234 中修复示例笔记本中的 Taillard 实例问题\n* [Fix] 由 @Leaveson 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F235 中修复行嵌入和列嵌入的位置问题\n* [Feat] 由 @fedebotu 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F238 中更新构建系统\n* [BugFix] 解决 PDP 巡回问题 #231 \n* [Docs] 添加使用 uv、poetry 和 conda 的安装说明\n* [Chore] 更新与即将发布的 PyTorch 2.6.0 的兼容性\n* [Minor] 修复徽标显示问题\n\n## 新贡献者\n* @Leaveson 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F235 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fcompare\u002Fv0.5.1...v0.5.2","2025-01-26T07:47:50",{"id":104,"version":105,"summary_zh":106,"released_at":107},57108,"v0.5.1","# v0.5.1 :rocket: \n\n次要版本更新，包含多项用户体验优化\n\n## 变更内容\n* 由 @abcdhhhh 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F226 中实现 tmat_class atsp 生成中的 Floyd 算法\n* 将 \u002F.github\u002Fworkflows 中的 actions\u002Fdownload-artifact 从 3 升级至 4.1.7，由 @dependabot 完成，见 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F210\n* 【文档】修改 example\u002F1-quickstart.ipynb 中的 URL，由 @falconlee236 完成，见 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F215\n* TSPLIB 和 CVRPLIB 测试笔记本\n* 当 `num_samples`>1 时，自动启用采样\n* 根据 `torchrl>=0.6.0` 更新 `Spec` 名称\n* 现在默认会自动返回动作，无需再显式指定 `return_actions=True`\n* 修复 `SDPA` 的边缘情况 #228 \n* 修复 PCTSP 分布问题\n\n## 新贡献者\n* @falconlee236 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F215 中完成了首次贡献\n* @abcdhhhh 在 https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F226 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fcompare\u002Fv0.5.0...v0.5.1","2024-10-28T08:47:15",{"id":109,"version":110,"summary_zh":111,"released_at":112},57109,"v0.5.0","# 重大发布：v0.5.0 终于来了！:rocket:\n\n经过为 NeurIPS 做的大量工作，我们自豪地发布了最新版本 0.5.0！（我们的论文 [arxiv.org\u002Fabs\u002F2306.17100](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.17100) 终究会被接收吗？:crossed_fingers:）\n\n\n## 更改日志\n\n###  :sparkles: 功能\n\n* 在 rl4.co 上发布了全新文档！\n* 新增 SOTA FJSP 环境 @LTluttmann \n* 新增改进方法及相应环境 MDP @yining043  \n    * N2S\n    * DACT\n    * NeuOpt\n* 为 JFSP 添加了 HetGNN 模型 @LTluttmann \n* 新增 L2D 模型 @LTluttmann \n* 新增多任务 VRP (MTVRP) 环境\n* 在 NARGNN 策略中加入温度参数 @Furffico \n* 为不同数据集支持多种批量大小\n* 支持局部搜索，DeepACO + 局部搜索 @hyeok9855 \n* 新增 MTPOMO、MVMoE 模型 @RoyalSkye @FeiLiu36 \n* 支持元学习训练器 @jieyibi \n* 支持改进训练 @yining043 \n* 新增图问题：MCP 和 FLP @bokveizen \n* 新的 PPO 版本：\n    * 步进式 @LTluttmann \n    * 改进版 @yining043 \n* 支持 PolyNet @ahottung \n* 支持不同分布 + MDPOMO @jieyibi \n* 初步支持 RL4CO 提供的求解器 API（MTVRP）：PyVRP、OR-Tools、LKH3 @N-Wouda @leonlan \n* 加快数据 logprobs 的收集速度：现在无需为未使用的轨迹收集 logprobs，而是默认只收集被选中节点的 logprobs，从而降低内存消耗。\n* 添加 Codecov 以跟踪测试覆盖率。\n\n### :gear: 重构\n\n* 【环境】支持环境的 generator_params 参数，更加模块化和灵活。\n* 对注意力模型解码器的 QKV 计算进行模块化处理，以提高灵活性 @LTluttmann \n* 重构 MatNet 编码器，使交叉注意力只需计算一次 @LTluttmann \n\n### :memo: 文档\n\n* 基于 MkDocs 的新文档\n    * 快速搜索\n    * 美观的新首页（希望您会喜欢！）\n    * 新的 API 参考和关于页面\n    * 无广告网站\n    * 浅色\u002F深色模式\n    * 新的关于部分（许可、引用）\n    * ……等等！\n* 关于数据分布的新教程\n* 其他：修复 Colab 链接 @wouterkool \n\n\n### :bug: 错误修复\n\n* 修复 DeepACO 的 log_heuristic 计算错误，以提升性能。@Furffico @henry-yeh \n* 解决自回归解码过程中的内存泄漏问题 @LTluttmann \n* Python 版本管理：移除 Python 3.8，兼容 Python 3.12，并支持 Poetry @ShuN6211 \n* 兼容 tensordict>=0.5.0\n* 修复 OP 和 PCTSP 中的内存泄漏问题\n* 修复 A2C 的 bug：默认优化模块中的所有参数，而不仅仅是“policy”\n* 修复参数重复记录的问题，改进 Wandb 日志记录","2024-09-03T07:28:00",{"id":114,"version":115,"summary_zh":116,"released_at":117},57110,"v0.4.0","# 重大发布：`v0.4.0` 来了！  🚀\n\n本次发布在建模和环境两方面都新增了多项功能，并进行了大规模重构！\n\n\n# 更改日志\n\n## ✨ 功能\n- DeepACO + ACO @Furffico @henry-yeh \n- 非自回归（NAR）模型和 NARGNN @Furffico @henry-yeh \n- 添加模块化的环境数据生成器，支持新的分布 @cbhua \n- 基于解码策略类的新解码技术 @LTluttmann \n    - Top-p（核采样）\n    - Top-k\n - 选择起始节点的函数 @LTluttmann \n\n\n## ⚙️ 重构\n- **重大建模重构**（总结见 [这里](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F165)）。现在我们将 NCO 方法（不一定通过强化学习训练！）分为以下几类：1) 构造式（AR 和 NAR），2) 改进式，3) 转导式。这一分类也体现在代码中，使得系统完全可定制。例如，在构造式方法中，编码器\u002F解码器现在可以以抽象的方式被完全替换或移除！\n- **重大环境重构**（总结见 [这里](https:\u002F\u002Fgithub.com\u002Fai4co\u002Frl4co\u002Fpull\u002F169)）：我们进一步将环境模块化为多个组件（逻辑部分位于 `env`，数据生成部分位于 `generator` 等），并将若干组件移至 `RL4COEnvBase` 内。尤为重要的是，我们引入了可定制的数据生成器！\n- 如果某个类不应被实例化，则使用抽象类 @ngastzepeda \n\n\n## 📝 文档\n- Hydra 文档和教程 @LTluttmann \n- 新的模块化示例位于 `examples\u002F`\n- ReadTheDocs 中更新了 RL4CO 的结构\n- 为更具包容性，迁移至 MIT 许可证，并与 AI4CO 合作\n- 新的 RL4CO \u002F AI4CO 礼品。您也可以在 [这里](https:\u002F\u002Fgithub.com\u002Fai4co\u002Fassets) 找到它们！\n\n## 🐛 错误修复\n- MatNet 和 FFSP 的错误修复 @LTluttmann \n- 从 POMO 中收集最佳解 @ahottung \n- 测试现在可在 MPS 上顺利通过；与 TorchRL 兼容 https:\u002F\u002Fgithub.com\u002Fpytorch\u002Frl\u002Fpull\u002F2125\n- 其他杂项 @LTluttmann , @bokveizen , @tycbony","2024-05-03T11:06:01",{"id":119,"version":120,"summary_zh":121,"released_at":122},57111,"v0.3.3","# 新的路由环境及更多内容 :rocket:\n\n## 更改日志\n\n### :sparkles: 功能\n\n* 添加 CVRPTW 环境 @ngastzepeda \n    * 通过 `vrplib` 添加 Solomon 实例\u002F解加载器\n* 添加基础的技能 VRP (SVRP) @ngastzepeda \n\n### :page_with_curl: 文档\n\n* [轻微] 改进解码策略文档\n\n### :bug: 错误修复\n\n* 通过不保存解码策略的中间步骤，避免 `deepcopy` 错误 #123 \n* 允许在解码策略中传递 `select_start_nodes_fn` 及其他关键字参数","2024-03-03T04:34:24",{"id":124,"version":125,"summary_zh":126,"released_at":127},57112,"v0.3.2","# 新的解码类型及更多 :rocket: \n\n## 更改日志\n\n### 功能\n- 束搜索 #109 #110 @LTluttmann \n- 解码类型类 #109 #110 @LTluttmann \n\n### 文档\n\n- 添加（简单、API 正在开发中！）关于 TSPLib 和 CVRPLib 的教程笔记本 #84 \n- 添加解码策略笔记本 @LTluttmann + 小修复 @Haimrich \n\n### 优化 \n\n* 将 `torch.no_grad` 替换为 `torch.inference_mode`\n* 更快的测试\n\n### 错误修复\n\n* 批量大小初始化 @ngastzepeda \n* 更新命名以与 TorchRL 0.4.0 版本保持一致\n* MatNet 错误修复 #108 ","2024-02-26T13:42:56",{"id":129,"version":130,"summary_zh":131,"released_at":132},57113,"v0.3.1","## 生活质量提升与错误修复 🚀 \n\n## 更改日志\n\n- 改进多起点解码  #102 \n  - 为 POMO 添加模块化的 `select_start_nodes` 函数\n  - 提升多起点函数的效率\n  - 增加针对更多环境的测试和选择功能\n  - 修复 POMO 中 OP 选择过远节点的问题\n  - 实现自动多起点，运行 POMO 时无需再手动预先选择起点\n- 修复 CVRP 容量相关 bug @ngastzepeda #105 \n- 增加对 critic 初始化嵌入的支持\n- 修复数据生成问题并添加更完善的文档 #106 \n- 改进数据集处理：新增数据集选择功能；默认使用低 CPU 占用的数据集\n- 改进解的可视化绘制及快速入门笔记本 #103 \n- 库的冬季清理工作\n- 各处进行了一些零星的小修复","2023-12-07T13:18:01",{"id":134,"version":135,"summary_zh":136,"released_at":137},57114,"v0.3.0","# 更快的库、Python 3.11 和新的 TorchRL 支持、环境、模型、多数据加载器等 🚀 \n\n## 更快的库、全新的 Python 3.11 和 TorchRL\n- 更新至最新版 TorchRL #72，解决了多个问题，如 #95 和 #97（也可参阅 [此链接](https:\u002F\u002Fgithub.com\u002Fwouterkool\u002Fattention-learn-to-route\u002Fissues\u002F58)）\n- 基准测试：\n    - 由于更快的 TensorDict 和新的环境更新，训练轮次速度提升高达 20%\n    - 数据生成几乎即时完成（避免使用列表推导式，例如从每轮约 20 秒缩短至不到 1 秒！）\n- 现已支持 Python 3.11 #97\n\n## 新的 SMTWTP 环境\n- 添加新的调度问题：单机总加权 tardiness 问题环境，参考 [DeepACO](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2309.14032.pdf)，感谢 @henry-yeh\n\n## 新的 MatNet 模型\n- 增加适用于方阵的 MatNet 版本（更高效的实现，非常适合路由问题）\n- 从此处应可轻松实现调度任务\n\n## 多个数据加载器\n- 现在可以使用多个数据加载器，并且支持命名！\n    - 例如，在训练过程中跟踪泛化能力\n\n## 其他改进\n- 修复 POMO 的形状问题 @hyeok9855，同时对 PPO 等模块进行模块化改造\n- 修复 PPO 的精度问题\n- 新增 AI4CO 转移！","2023-11-10T06:33:43",{"id":139,"version":140,"summary_zh":141,"released_at":142},57115,"v0.2.3","## 添加 FlashAttention2 支持 ⚡ \n\n- 按照 [这里](https:\u002F\u002Fgithub.com\u002Fkaist-silab\u002Frl4co\u002Fissues\u002F85) 所述，添加 FlashAttention2 支持\n- 移除旧的 `half()` 精度包装器，因为 Lightning 已经处理了这一点\n- 修复 PyTorch \u003C 2.0 中的 `scaled_dot_product_attention` 实现\n- 进行了一些小的修复","2023-09-19T10:22:39",{"id":144,"version":145,"summary_zh":146,"released_at":147},57116,"v0.2.2","## QoL: New Baseline, Testing Search Methods, Downloader, Miscellanea 🚀\r\n\r\nChangelog\r\n- Add mean baseline @hyeok9855 \r\n- Add testing for search methods\r\n- Move downloader to external repo, extra URL as backup for DPP\r\n- Small bug fix for duplicate args\r\n- Add more modular data generation\r\n- Suppress extra warning in `automatic_optimization`\r\n- Minor doc cleaning","2023-09-18T18:18:05",{"id":149,"version":150,"summary_zh":151,"released_at":152},57117,"v0.2.1","## QoL, Better documentation, Bug Fixes 🚀\r\n\r\n- Add `RandomPolicy` class\r\n- Control `max_steps` for debugging purposes during decoding\r\n- Better documentation, add tutorials, and references #88 @bokveizen \r\n- Set bound to \u003C Python 3.11 for the time being #90 @hyeok9855\r\n- Log more info by default in PPO\r\n- `precompute_cache` method can now accept `td` as well\r\n- If `Trainer` is supplied with `gradient_clip_val` and `manual_optimization=False`, then remove gradient clipping (e.g. for PPO)\r\n- Fix test data size following training and not test by default","2023-09-12T04:53:21",{"id":154,"version":155,"summary_zh":156,"released_at":157},57118,"v0.2.0","# Search Methods, Flexible Embeddings, New Graph Encoders and more 🚀\r\n\r\n### Search methods\r\n- New flexible and extensible abstract class\r\n- Active Search (Bello et al, 2016)\r\n- Efficient Active Search (Hottung et al, 2022)\r\n\r\n### Flexible embeddings\r\n- Support for changing any environment embedding (`init`, `context` and `dynamic`)\r\n- Add [new notebook](https:\u002F\u002Fgithub.com\u002Fkaist-silab\u002Frl4co\u002Fblob\u002Fmain\u002Fnotebooks\u002Ftutorials\u002F2-solving-new-problem.ipynb) showcasing how to solve new complex problems (example of multi-depot multi-agent pickup and delivery problem - MDPDP)\r\n\r\n### Support for `torch-geometric`\r\n- Added new template graph neural networks (MPNN, GCN)\r\n- Example Notebook [here](https:\u002F\u002Fgithub.com\u002Fkaist-silab\u002Frl4co\u002Fblob\u002Fmain\u002Fnotebooks\u002Ftutorials\u002F3-change-encoder.ipynb)\r\n\r\n ### Miscellaneous\r\n- Separate loggers\r\n- Better imports\r\n- Bugfix compatibility with Mac\r\n- Update configs\r\n- ... and more!","2023-08-22T09:55:36",{"id":159,"version":160,"summary_zh":161,"released_at":162},57119,"v0.1.1","## Better training, Bug fixes, and more 🚀 \r\n\r\n- Better automatic training with DDP #87 \r\n- Bug Fix `RL4COTrainer`\r\n- Avoid broadcasting error warning in critic baselines\r\n- Fix rollout baseline bug\r\n- New experiment config structure: interpolate with environment name (we won't need anymore to have separate folders for each environment name such as TSP, CVRP etc, simply use one config to rule them all!","2023-08-02T12:52:01",{"id":164,"version":165,"summary_zh":166,"released_at":167},57120,"v0.1.0","Major release: refactoring of models, trainer and pipelines, and more! 🚀 \r\n\r\n- Refactored the old `task` class into a base class (`RL4COLitModule`) that is the base for RL algorithms (such as REINFORCE and PPO), following the discussion in #67 \r\n- New base class for construction methods: now encoder, decoder, policy, and model can be based on common parent classes to make implementation much more modular\r\n- Added native loading from the checkpoint, which used to be buggy\r\n- Nice new logo (we like it, but we are obviously biased, so feel free to give us your opinion ;) )\r\n- Added mPDP environment (and added some WIP for EquityTransformer)\r\n- New `RL4COTrainer` that automatically includes training tricks for RL\r\n- Added Codecov coverage\r\n- Better testing: now we thoroughly test most of the library, including training (the Hydra part as well!)\r\n- Documentation overhaul: add Sphinx plugins for modularized, automatic docs\r\n- ... and more!","2023-07-22T20:09:30",{"id":169,"version":170,"summary_zh":171,"released_at":172},57121,"v0.0.6","## Better handling of notebooks, refactoring, plots and more!\r\n\r\nChangelog of this release:\r\n- Add notebook with checkpointing, logging, testing and more and relative bugfixes + feats #83 \r\n- Refactor env embeddings into `init`, `context` and `dynamic`\r\n- OP plotting\r\n- PCTSP plotting\r\n- Quickfix Lightning problem: https:\u002F\u002Fgithub.com\u002FLightning-AI\u002Flightning\u002Fpull\u002F18022\r\n- Quickfix docs\r\n- Misc\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkaist-silab\u002Frl4co\u002Fcompare\u002Fv0.0.5...v0.0.6","2023-07-10T19:04:28",{"id":174,"version":175,"summary_zh":176,"released_at":177},57122,"v0.0.5","Changelog\r\n\r\n- Fix SDVRP dynamic embedding #82 \r\n- Add missing environments in testing\r\n- Update quickstart notebook to be more informative \r\n- Remove rendering titles to avoid cluttering\r\n- Other minor misc. updates","2023-07-06T13:38:35",{"id":179,"version":180,"summary_zh":181,"released_at":182},57123,"v0.0.4","Documentation, environment refactoring, SPCTSP and more!\r\n\r\n- Add initial documentation on ReadTheDocs #80\r\n- Major refactoring of environments: new subclasses (`get_action_mask`, `check_solution_validity`) and more modular operations such as `get_tour_length`, move the base class and utils under `common\u002F`\r\n- New SPCTSP environment\r\n- Fix SDVRP, refactor as subclass of CVRP  \r\n- Fix OP with major refactoring; typos @eltociear \r\n- Add Slack chat links\r\n- Add [paper link](https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.17100) and citation\r\n- Move dev status to Beta (it was production stable - we wish it was! Perhaps in the future... 🤞🏼)\r\n- Misc bug fixes\r\n","2023-07-04T17:10:24",{"id":184,"version":185,"summary_zh":186,"released_at":187},57124,"v0.0.3","## Bug Fixes and more!\r\n\r\nChangelog:\r\n- Solve #71 (`pip install` from PyPI now works!)\r\n- Fix TSP rendering\r\n- Add `pre-commit-config` (we will make a contribution guide in the near future)\r\n- Linting action with Black+Ruff combo  - handled by default by the pre-commit \r\n- Add working Colab notebook with full training and testing of AM\r\n- Add badges\r\n- Misc","2023-06-21T20:06:40",{"id":189,"version":190,"summary_zh":191,"released_at":192},57125,"v0.0.2","NOTE: please do not use this version, as it only contains the `__init__.py` file ","2023-06-14T21:27:08",[194,203,212,220,228,240],{"id":195,"name":196,"github_repo":197,"description_zh":198,"stars":199,"difficulty_score":200,"last_commit_at":201,"category_tags":202,"status":64},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,3,"2026-04-05T11:01:52",[46,44,45],{"id":204,"name":205,"github_repo":206,"description_zh":207,"stars":208,"difficulty_score":30,"last_commit_at":209,"category_tags":210,"status":64},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 真正成长为懂上",138956,"2026-04-05T11:33:21",[46,45,211],"语言模型",{"id":213,"name":214,"github_repo":215,"description_zh":216,"stars":217,"difficulty_score":30,"last_commit_at":218,"category_tags":219,"status":64},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[46,44,45],{"id":221,"name":222,"github_repo":223,"description_zh":224,"stars":225,"difficulty_score":30,"last_commit_at":226,"category_tags":227,"status":64},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[46,211],{"id":229,"name":230,"github_repo":231,"description_zh":232,"stars":233,"difficulty_score":30,"last_commit_at":234,"category_tags":235,"status":64},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[44,236,237,238,45,43,211,46,239],"数据工具","视频","插件","音频",{"id":241,"name":242,"github_repo":243,"description_zh":244,"stars":245,"difficulty_score":200,"last_commit_at":246,"category_tags":247,"status":64},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[45,44,46,211,43]]