[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MolecularAI--REINVENT4":3,"tool-MolecularAI--REINVENT4":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},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",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},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",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},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",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":10,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":111,"github_topics":112,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":127,"updated_at":128,"faqs":129,"releases":158},2067,"MolecularAI\u002FREINVENT4","REINVENT4","AI molecular design tool for de novo design, scaffold hopping, R-group replacement, linker design and molecule optimization.","REINVENT4 是一款专为药物研发打造的 AI 分子设计工具，旨在通过人工智能技术加速小分子药物的发现过程。它能够帮助科研人员完成从零开始的分子生成、骨架跃迁、基团替换、连接子设计以及现有分子的性质优化等关键任务，有效解决了传统药物设计中耗时久、试错成本高的问题。\n\n该工具特别适合计算化学家、药物研发人员及相关领域的科研工作者使用。其核心亮点在于巧妙结合了强化学习（RL）与迁移学习（TL）算法：强化学习可根据用户自定义的多维属性评分，自动生成符合特定需求的全新分子结构；而迁移学习则能基于已有的分子数据集对模型进行预训练，使生成的分子更贴近目标化学空间。此外，REINVENT4 支持 Linux、Windows 及 macOS 平台，兼容多种硬件加速器，既能在高性能 GPU 上快速训练，也能在 CPU 环境中稳定运行，为不同配置的研究团队提供了灵活高效的选择。","REINVENT 4\n==========\n\n\nDescription\n-----------\n\nREINVENT is a molecular design tool for de novo design, scaffold hopping,\nR-group replacement, linker design, molecule optimization, and other small\nmolecule design tasks.  REINVENT uses a Reinforcement Learning\n(RL) algorithm to generate optimized molecules compliant with a user defined\nproperty profile defined as a multi-component score.  Transfer Learning (TL)\ncan be used to create or pre-train a model that generates molecules closer\nto a set of input molecules. \n\nA paper describing the software has been published as Open Access in the\nJournal of Cheminformatics:\n[Reinvent 4: Modern AI–driven generative molecule design](https:\u002F\u002Flink.springer.com\u002Farticle\u002F10.1186\u002Fs13321-024-00812-5?utm_source=rct_congratemailt&utm_medium=email&utm_campaign=oa_20240221&utm_content=10.1186\u002Fs13321-024-00812-5).\nSee AUTHORS.md for references to previous papers.\n\n\nRequirements\n------------\n\nREINVENT is being developed on Linux and supports both GPU and CPU.  The Linux\nversion is fully validated.  REINVENT on Windows supports GPU and CPU while\nMacOSX supports CPU only, but both platforms are only partially tested and\ntherefore support is limited.\n\nThe code is written in Python 3 (>= 3.10).  The list of\ndependencies can be found in the repository (see also Installation below).\n\nA GPU is not strictly necessary but strongly recommended for performance\nreasons especially for transfer learning and model training.  For Reinforcement\nlearning (RL) a GPU is less important becayse most scoring components run on\nthe CPU.\n\nNote that if no GPU is installed in your computer the code will run on the\nCPU automatically.  REINVENT [supports](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F), as of this writing, NVIDIA GPUs, some AMD GPUs and Intel ARC.\nFor most design tasks a memory of about 8 GiB for both CPU main memory and\nGPU memory is sufficient.\n\n\nInstallation\n------------\n\n1. Clone this Git repository. Add `--depth 1` for only the newest version as the repository has grown quite large over time.\n    ```shell\n    git clone git@github.com:MolecularAI\u002FREINVENT4.git  # --depth 1\n    ```\n1. Create a Python environment and install a compatible version of Python, for example with [Conda](https:\u002F\u002Fconda.io\u002Fprojects\u002Fconda\u002Fen\u002Flatest\u002Findex.html) or other virtual environments.\n    ```shell\n    conda create --name reinvent4 python=3.10\n    conda activate reinvent4\n    ```\n1. Change directory to the repository to install all dependencies.  You will need to set the right processor type, see [PyTorch versions](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F). Linux supports CUDA (e.g. \"cu126\"), AMD ROCm (e.g. \"rocm6.4\"), Intel XPU (\"xpu\") and CPU. Windows supports CUDA, XPU and CPU.  MacOSX only supports CPU (use \"mac\" as processor type!). Optionally, you can select dependencies \"openeye\" (for ROCS; you need to obtain your own license), \"isim\" for similarity tracking in TensorBoard or \"none\" to skip all.  The default is installation of \"all\" dependencies.  See the help text from the install script for details.\n    ```shell\n    python install.py --help\n    python install.py cu126  # or rocm6.4, xpu, cpu, mac, etc.\n    ```\n1. Test the tool. The installer has added a script `reinvent` to your PATH.\n    ```shell\n    reinvent --help\n    ```\n\nPrior models\n------------\n\nAll public prior models can be found on [Zenodo](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.15641296).\n\n\nBasic Usage\n-----------\n\nREINVENT is a command line tool and works principally as follows\n```shell\nreinvent -l sampling.log sampling.toml\n```\n\nThis writes logging information to the file `sampling.log`.  If you wish to write\nthis to the screen, leave out the `-l sampling.log` part. `sampling.toml` is the\nconfiguration file.  The main format is [TOML](https:\u002F\u002Ftoml.io\u002Fen\u002F) as it tends to be more user friendly.  JSON and YAML are supported too.\n\nSample TOML configuration files for all run modes are located in `configs\u002F` in\nthe repository.  File paths in these files need to be adjusted to your local\ninstallation.  You will need to choose a model and the appropriate run mode\ndepending on the research problem you are trying to address.  There is\nadditional documentation in `configs\u002F` in several `*.md` files with\ninstructions on how to configure the TOML file.  Internal priors can be\nreferenced with a dot notation (see `reinvent\u002Fprior_registry.py`).\n\n\nTutorials \u002F `Jupyter` notebooks\n-------------------------------\n\nBasic instructions can be found in the comments in the config examples in\n`configs\u002F`.\n\nNotebooks are provided in the `notebooks\u002F` directory and contributed notebooks\nand tutorials in `contrib\u002F`.  Please note that we provide the notebooks in\njupytext \"light script\" format.  To work with the light scripts you will need\nto install jupytext.  A few other packages will come in handy too.\n\n```shell\npip install jupytext mols2grid seaborn\n```\n\nThe Python files in `notebooks\u002F` can then be converted to a notebook e.g.\n\n```shell\njupytext -o Reinvent_demo.ipynb Reinvent_demo.py\n```\n\n\nScoring Plugins\n---------------\n\nThe scoring subsystem uses a simple plugin mechanism (Python\n[native namespace packages](https:\u002F\u002Fpackaging.python.org\u002Fen\u002Flatest\u002Fguides\u002Fpackaging-namespace-packages\u002F#native-namespace-packages)).  If you\nwish to write your own plugin, follow the instructions below.\nThere is no need to touch any of the REINVENT code. The public\nrepository contains a [contrib](https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FREINVENT4\u002Ftree\u002Fmain\u002Fcontrib\u002Freinvent_plugins\u002Fcomponents) directory with some useful examples.\n\n1. Create `\u002Ftop\u002Fdir\u002Fsomewhere\u002Freinvent\\_plugins\u002Fcomponents` where `\u002Ftop\u002Fdir\u002Fsomewhere` is a convenient location for you.\n1. Do **not** place a `__init__.py` in either `reinvent_plugins` or `components` as this would break the mechanism.  It is fine to create normal packages within `components` as long as you import those correctly.\n1. Place a file whose name starts with `comp_*` into `reinvent_plugins\u002Fcomponents` or subdirectories.   Files with different names will be ignored i.e. not imported. The directory will be searched recursively so structure your code as needed but directory\u002Fpackage names must be unique.\n1. Tag the scoring component class(es) in that file with the @add\\_tag decorator.  More than one component class can be added to the same *comp\\_* file. See existing code.\n1. Tag at most one dataclass for parameters in the same file, see existing code.  This is optional.\n1. Set or add `\u002Ftop\u002Fdir\u002Fsomewhere` to the `PYTHONPATH` environment variable or use any other mechanism to extend `sys.path`.\n1. The scoring component should now automatically be picked up by REINVENT.\n\nEnsure that the component can be important. The log file will write out an error if not.  Check directly if import is possible:\n\n```Python\nfrom reinvent_plugins.components import comp_myscorer\n```\n\n\nUnit and Integration Tests \n--------------------------\n\nThis is primarily for developers and admins\u002Fusers who wish to ensure that the\ninstallation works.  The information here is not relevant to the practical use\nof REINVENT.  Please refer to _Basic Usage_ for instructions on how to use the \n`reinvent` command.\n\nThe REINVENT project uses the `pytest` framework for its tests.  Before you run\nthem you first have to create a configuration file for the tests.\n\nIn the project directory, create a `config.json` file in the `configs\u002F` directory.\nYou can use the example config `example.config.json` as a base.  Make sure that\nyou set `MAIN_TEST_PATH` to a non-existent directory.  That is where temporary\nfiles will be written during the tests.  If it is set to an existing directory,\nthat directory will be removed once the tests have finished.\n\nSome tests require a proprietary OpenEye license.  You have to set up a few\nthings to make the tests read your license.  The simple way is to just set the\n`OE_LICENSE` environment variable to the path of the file containing the\nlicense.  \n\nOnce you have a configuration and your license can be read, you can run the tests.\n\n```\n$ pytest tests --json \u002Fpath\u002Fto\u002Fconfig.json --device cuda\n```\n","REINVENT 4\n==========\n\n\n描述\n-----------\n\nREINVENT 是一款分子设计工具，适用于从头设计、骨架跃迁、R-基团替换、连接子设计、分子优化以及其他小分子设计任务。REINVENT 使用强化学习（RL）算法生成符合用户定义的多组分评分属性谱的优化分子。迁移学习（TL）可用于创建或预训练一个模型，该模型能够生成更接近一组输入分子的候选分子。\n\n一篇介绍该软件的论文已在《化学信息学杂志》上以开放获取形式发表：\n[Reinvent 4: 现代人工智能驱动的生成式分子设计](https:\u002F\u002Flink.springer.com\u002Farticle\u002F10.1186\u002Fs13321-024-00812-5?utm_source=rct_congratemailt&utm_medium=email&utm_campaign=oa_20240221&utm_content=10.1186\u002Fs13321-024-00812-5)。\n有关先前论文的引用，请参阅 AUTHORS.md 文件。\n\n\n要求\n------------\n\nREINVENT 目前在 Linux 上开发，支持 GPU 和 CPU。Linux 版本已完全验证。Windows 上的 REINVENT 支持 GPU 和 CPU，而 macOSX 仅支持 CPU，但这两个平台的测试尚不充分，因此技术支持有限。\n\n代码使用 Python 3（>= 3.10）编写。依赖项列表可在仓库中找到（另请参阅下方的安装说明）。\n\n虽然 GPU 并非严格必要，但出于性能考虑强烈建议使用，尤其是在进行迁移学习和模型训练时。对于强化学习（RL），GPU 的重要性较低，因为大多数评分组件是在 CPU 上运行的。\n\n请注意，如果您的计算机未安装 GPU，代码将自动在 CPU 上运行。截至撰写本文时，REINVENT [支持](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) NVIDIA GPU、部分 AMD GPU 和 Intel ARC 显卡。对于大多数设计任务，CPU 主内存和 GPU 显存各约 8 GiB 即可满足需求。\n\n\n安装\n------------\n\n1. 克隆此 Git 仓库。若只需最新版本，可添加 `--depth 1` 参数，因为仓库随着时间推移已变得相当庞大。\n    ```shell\n    git clone git@github.com:MolecularAI\u002FREINVENT4.git  # --depth 1\n    ```\n1. 创建 Python 环境并安装兼容版本的 Python，例如使用 [Conda](https:\u002F\u002Fconda.io\u002Fprojects\u002Fconda\u002Fen\u002Flatest\u002Findex.html) 或其他虚拟环境。\n    ```shell\n    conda create --name reinvent4 python=3.10\n    conda activate reinvent4\n    ```\n1. 切换到仓库目录以安装所有依赖项。您需要设置正确的处理器类型，详见 [PyTorch 版本](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F)。Linux 支持 CUDA（如 \"cu126\"）、AMD ROCm（如 \"rocm6.4\"）、Intel XPU（\"xpu\"）以及 CPU。Windows 支持 CUDA、XPU 和 CPU。macOSX 仅支持 CPU（请使用 \"mac\" 作为处理器类型！）。此外，您可以选择依赖项 \"openeye\"（用于 ROCS；需自行获取许可证）、\"isim\" 用于 TensorBoard 中的相似性跟踪，或 \"none\" 跳过所有依赖项。默认会安装所有依赖项。详细信息请参阅安装脚本的帮助文本。\n    ```shell\n    python install.py --help\n    python install.py cu126  # 或 rocm6.4、xpu、cpu、mac 等\n    ```\n1. 测试工具。安装程序已将脚本 `reinvent` 添加到您的 PATH 中。\n    ```shell\n    reinvent --help\n    ```\n\n先前模型\n------------\n\n所有公开的先前模型均可在 [Zenodo](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.15641296) 上找到。\n\n\n基本用法\n-----------\n\nREINVENT 是一个命令行工具，其主要工作流程如下：\n```shell\nreinvent -l sampling.log sampling.toml\n```\n\n这会将日志信息写入文件 `sampling.log`。如果您希望将日志输出到屏幕，则可省略 `-l sampling.log` 部分。`sampling.toml` 是配置文件。主要格式为 [TOML](https:\u002F\u002Ftoml.io\u002Fen\u002F)，因为它通常更易于使用。JSON 和 YAML 也受支持。\n\n仓库中 `configs\u002F` 目录下提供了适用于所有运行模式的 TOML 配置文件示例。这些文件中的文件路径需要根据您的本地安装进行调整。您需要根据所要解决的研究问题选择合适的模型和运行模式。`configs\u002F` 目录中还包含若干 `*.md` 文件，提供关于如何配置 TOML 文件的额外文档。内部先验模型可以使用点号表示法引用（参见 `reinvent\u002Fprior_registry.py`）。\n\n\n教程 \u002F `Jupyter` 笔记本\n-------------------------------\n\n基本说明可在 `configs\u002F` 目录中配置示例的注释中找到。\n\n笔记本位于 `notebooks\u002F` 目录中，贡献的笔记本和教程则位于 `contrib\u002F` 目录。请注意，我们以 jupytext 的“轻量脚本”格式提供笔记本。要使用这些轻量脚本，您需要安装 jupytext。此外，一些其他包也会很有用。\n\n```shell\npip install jupytext mols2grid seaborn\n```\n\n然后，`notebooks\u002F` 目录中的 Python 文件可以转换为笔记本，例如：\n\n```shell\njupytext -o Reinvent_demo.ipynb Reinvent_demo.py\n```\n\n\n评分插件\n---------------\n\n评分子系统采用简单的插件机制（Python 的 [原生命名空间包](https:\u002F\u002Fpackaging.python.org\u002Fen\u002Flatest\u002Fguides\u002Fpackaging-namespace-packages\u002F#native-namespace-packages)）。如果您希望编写自己的插件，请按照以下说明操作。无需修改任何 REINVENT 代码。公共仓库中包含一个 [contrib](https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FREINVENT4\u002Ftree\u002Fmain\u002Fcontrib\u002Freinvent_plugins\u002Fcomponents) 目录，其中提供了一些有用的示例。\n\n1. 在您方便的位置创建 `\u002Ftop\u002Fdir\u002Fsomewhere\u002Freinvent_plugins\u002Fcomponents`。\n1. **请勿**在 `reinvent_plugins` 或 `components` 中放置 `__init__.py` 文件，否则会破坏插件机制。可以在 `components` 内部创建普通包，只要正确导入即可。\n1. 将文件名以 `comp_*` 开头的文件放入 `reinvent_plugins\u002Fcomponents` 或其子目录中。其他名称的文件会被忽略，不会被导入。系统会递归搜索该目录，因此您可以按需组织代码结构，但目录\u002F包名必须唯一。\n1. 使用 @add_tag 装饰器标记该文件中的评分组件类。同一 `comp_*` 文件中可以添加多个组件类。请参考现有代码。\n1. 同一文件中最多可标记一个用于参数的数据类，详情请参阅现有代码。这是可选的。\n1. 将 `\u002Ftop\u002Fdir\u002Fsomewhere` 设置或添加到 `PYTHONPATH` 环境变量中，或使用其他方式扩展 `sys.path`。\n1. 此时，REINVENT 应该会自动识别并加载该评分组件。\n\n请确保组件能够正常导入。如果无法导入，日志文件会记录错误。您可以直接检查是否可以导入：\n\n```Python\nfrom reinvent_plugins.components import comp_myscorer\n```\n\n\n单元测试与集成测试 \n--------------------------\n\n这主要是为开发者以及希望确保安装正常工作的管理员或用户准备的。此处的信息与 REINVENT 的实际使用无关。有关如何使用 `reinvent` 命令的说明，请参阅 _基本用法_。\n\nREINVENT 项目使用 `pytest` 框架进行测试。在运行测试之前，您需要先创建一个测试配置文件。\n\n在项目目录的 `configs\u002F` 子目录下创建一个名为 `config.json` 的文件。您可以以示例配置文件 `example.config.json` 作为基础。请确保将 `MAIN_TEST_PATH` 设置为一个不存在的目录，因为测试过程中生成的临时文件将会写入该目录。如果将其设置为一个已存在的目录，测试完成后该目录将会被删除。\n\n部分测试需要专有的 OpenEye 许可证。为了使测试能够读取您的许可证，您需要进行一些配置。最简单的方法是将 `OE_LICENSE` 环境变量设置为包含许可证文件的路径。\n\n完成配置并确保许可证可以被正确读取后，即可运行测试。\n\n```\n$ pytest tests --json \u002Fpath\u002Fto\u002Fconfig.json --device cuda\n```","# REINVENT4 快速上手指南\n\nREINVENT4 是一款基于强化学习（RL）和迁移学习（TL）的分子设计工具，适用于从头设计、骨架跃迁、R 基团替换、连接子设计及分子优化等任务。\n\n## 环境准备\n\n*   **操作系统**：\n    *   **Linux**：完全支持且经过充分验证（推荐）。\n    *   **Windows**：支持 GPU 和 CPU，但测试覆盖有限。\n    *   **macOS**：仅支持 CPU，测试覆盖有限。\n*   **Python 版本**：Python 3.10 或更高版本。\n*   **硬件要求**：\n    *   **GPU**：非强制但强烈建议用于迁移学习和模型训练以提升性能。支持 NVIDIA、部分 AMD 及 Intel ARC 显卡。\n    *   **内存**：CPU 主内存和 GPU 显存建议至少 8 GiB。\n    *   若无 GPU，代码将自动在 CPU 上运行。\n*   **前置依赖管理**：建议使用 Conda 创建虚拟环境。\n\n## 安装步骤\n\n1.  **克隆仓库**\n    使用 `--depth 1` 参数仅获取最新版本，以加快下载速度（仓库历史较大）。\n    ```shell\n    git clone git@github.com:MolecularAI\u002FREINVENT4.git --depth 1\n    cd REINVENT4\n    ```\n\n2.  **创建 Python 环境**\n    使用 Conda 创建名为 `reinvent4` 的环境并激活。\n    ```shell\n    conda create --name reinvent4 python=3.10\n    conda activate reinvent4\n    ```\n\n3.  **安装依赖**\n    运行安装脚本，需根据硬件指定处理器类型（如 `cu126` 代表 CUDA 12.6，`cpu` 代表纯 CPU，`mac` 代表 macOS）。\n    \n    *查看帮助信息：*\n    ```shell\n    python install.py --help\n    ```\n    \n    *示例：安装支持 CUDA 12.6 的版本（Linux\u002FWindows）*\n    ```shell\n    python install.py cu126\n    ```\n    *其他选项示例：`rocm6.4` (AMD), `xpu` (Intel), `cpu`, `mac`。*\n    > 注：默认安装所有依赖。若需 OpenEye 相关功能（如 ROCS），需自行获取许可证；若需 TensorBoard 相似度追踪可添加 `isim` 选项。\n\n4.  **验证安装**\n    安装完成后，`reinvent` 命令已加入环境变量。\n    ```shell\n    reinvent --help\n    ```\n\n## 基本使用\n\nREINVENT4 主要通过命令行运行，核心逻辑是读取配置文件（TOML\u002FJSON\u002FYAML）并执行采样或训练。\n\n1.  **准备配置文件**\n    仓库中的 `configs\u002F` 目录提供了各种运行模式的示例 TOML 文件。请复制一个示例文件并根据本地路径修改其中的模型路径和参数。\n    *   主要格式推荐使用 **TOML**。\n    *   内部预训练模型可通过点号表示法引用（参考 `reinvent\u002Fprior_registry.py`）。\n    *   公开的历史模型可在 [Zenodo](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.15641296) 下载。\n\n2.  **运行工具**\n    最基本的运行命令如下：\n    ```shell\n    reinvent -l sampling.log sampling.toml\n    ```\n    *   `sampling.toml`：你的配置文件路径。\n    *   `-l sampling.log`：将日志输出到文件。若希望直接在屏幕显示日志，可省略此参数。\n\n3.  **进阶资源**\n    *   **教程笔记**：`notebooks\u002F` 目录提供 Jupytext 格式的脚本。需先安装 `jupytext` 将其转换为 `.ipynb` 文件：\n        ```shell\n        pip install jupytext mols2grid seaborn\n        jupytext -o Reinvent_demo.ipynb Reinvent_demo.py\n        ```\n    *   **自定义评分插件**：通过创建符合规范的命名空间包（`reinvent_plugins\u002Fcomponents`），无需修改源码即可扩展评分函数。","某生物制药公司的药物化学团队正致力于针对一种新型激酶靶点开发高选择性抑制剂，急需在保持核心活性的同时优化分子的溶解性和代谢稳定性。\n\n### 没有 REINVENT4 时\n- 依赖人工经验进行繁琐的骨架跃迁和 R 基团替换，耗时数周仅能提出少量候选结构，且容易陷入局部思维定势。\n- 难以同时平衡多个理化性质指标，往往顾此失彼，导致合成后的分子在 ADME（吸收、分布、代谢、排泄）测试中频繁失败。\n- 缺乏系统性的从头设计能力，无法高效探索广阔的化学空间，遗漏了潜在的高价值新颖结构。\n- 每次迭代都需要重新手动构建模型或调整参数，流程割裂且计算资源利用率低，严重拖慢项目进度。\n\n### 使用 REINVENT4 后\n- 利用强化学习算法自动执行从头设计和骨架跃迁，几天内即可生成数千个符合特定多组分评分函数的新颖分子结构。\n- 通过自定义的多属性优化策略，精准控制生成分子的溶解性、代谢稳定性及选择性，显著提升了候选化合物的综合质量。\n- 借助迁移学习功能快速预训练模型，使生成的分子更贴近团队已有的活性化合物库，大幅提高了设计的针对性和成功率。\n- 支持 GPU 加速训练与推理，将原本需要数周的优化循环缩短至数小时，让化学家能将精力集中在最有潜力的分子评估上。\n\nREINVENT4 通过将人工智能驱动的生成式设计与多目标优化深度融合，彻底改变了传统药物发现中分子设计的效率与广度。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMolecularAI_REINVENT4_ffc90d0e.png","MolecularAI","AstraZeneca - Molecular AI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMolecularAI_c2bad917.png","Software from the Molecular AI department at AstraZeneca R&D",null,"https:\u002F\u002Fgithub.com\u002FMolecularAI",[82,86,90],{"name":83,"color":84,"percentage":85},"Python","#3572A5",99.5,{"name":87,"color":88,"percentage":89},"Shell","#89e051",0.4,{"name":91,"color":92,"percentage":93},"CSS","#663399",0,718,207,"2026-04-05T03:06:16","Apache-2.0","Linux, Windows, macOS","非必需但强烈推荐（用于迁移学习和模型训练）。支持 NVIDIA GPU、部分 AMD GPU (ROCm) 和 Intel ARC。推荐显存约 8 GiB。安装时需指定处理器类型（如 cu126, rocm6.4, xpu），若无 GPU 则自动运行于 CPU。","推荐约 8 GiB",{"notes":102,"python":103,"dependencies":104},"Linux 版本经过完全验证，Windows 和 macOS 仅部分测试且支持有限（macOS 仅支持 CPU）。安装脚本需根据硬件选择特定参数（如 cu126, rocm6.4, cpu, mac）。部分功能（如 ROCS 评分或特定测试）需要额外的 OpenEye 商业许可证。配置文件主要使用 TOML 格式。",">=3.10",[105,106,107,108,109,110],"PyTorch","Conda (推荐用于环境管理)","jupytext (用于 Notebook)","mols2grid","seaborn","pytest (用于测试)",[13,15,14],[113,114,115,116,117,118,119,120,121,122,123,124,125,126],"ai","cheminformatics","chemistry","denovo-design","generative-ai","ml","molecule-generation","astrazeneca","deep-learning","neural-networks","reinforcement-learning","transfer-learning","drug-design","drug-discovery","2026-03-27T02:49:30.150509","2026-04-06T05:37:53.304631",[130,135,140,145,150,154],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},9407,"使用 ChemProp 进行评分时程序挂起或无响应怎么办？","这是由于 multiprocessing（多进程）与特定版本的 PyTorch\u002FChemProp 存在兼容性问题。虽然将进程创建方式从默认的 'fork' 改为 'spawn' 可以解决崩溃问题，但这会导致强化学习（RL）性能下降 4-5 倍。因此，最安全且推荐的解决方案是使用“外部进程组件”（external process component）来运行 ChemProp，以避免直接在主进程中加载模型导致的死锁。","https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FREINVENT4\u002Fissues\u002F23",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},9408,"如何正确运行 REINVENT4 的采样任务？需要哪些文件？","运行采样任务需要使用命令行工具并指定配置文件。基本命令格式为：`reinvent -l sampling.log sampling.toml`。用户必须准备两个关键文件：1. TOML 格式的配置文件（定义模型路径、评分组件等参数）；2. 包含输入分子 SMILES 的文件。如果遇到错误，请检查配置中的路径是否正确，并确保输入文件格式符合要求。","https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FREINVENT4\u002Fissues\u002F3",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},9409,"在使用自定义评分组件（DIY Scorer）时遇到相对路径导入错误或模块冲突怎么办？","如果自定义评分组件中包含相对路径导入（例如 `minimol`），可能会导致加载失败。此外，模块导入冲突也可能引发异常。一种有效的解决方案是使用 Flask 创建一个独立的服务器来托管评分函数，然后通过 API 调用进行查询。这种方法可以避免配置文件中的路径冲突和模块导入问题，提高稳定性。","https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FREINVENT4\u002Fissues\u002F276",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},9410,"Dockstream 因 SMILES 解析错误而运行失败的原因是什么？","该问题通常由生成的无效 SMILES 字符串引起（例如环闭合位置错误或字符串两端包含多余的引号），导致下游对接软件（如 GOLD）解析失败。需要注意的是，官方已停止对 Dockstream（内部称为 AZDock）的支持。建议用户迁移到 Maize 平台及其支持的对接工具（如即将推出的 GNINA），以获得更好的维护和兼容性。","https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FREINVENT4\u002Fissues\u002F32",{"id":151,"question_zh":152,"answer_zh":153,"source_url":144},9411,"自定义评分组件返回的数据格式应该是什么？","自定义评分组件必须返回 `np.ndarray` 的列表（list of np.ndarray）。如果收到类型错误（TypeError），请检查代码中返回值的结构，确保其符合 `ComponentResults` 类的预期输入格式。每个评分结果应封装在 numpy 数组中，并由列表包裹。",{"id":155,"question_zh":156,"answer_zh":157,"source_url":144},9412,"在新硬件（如 RTX 5090）和新版 CUDA 上运行时出现 KeyError 或静默崩溃如何解决？","这通常是由于新 GPU 架构或新版 CUDA（如 12.8）与当前的 onnxruntime 库之间存在不兼容性。即使切换回 CPU 模式也可能无法解决。建议尝试以下方法：1. 重新构建环境，确保 PyTorch 和 onnxruntime-gpu 版本与新 CUDA 严格匹配；2. 如果问题依旧，考虑使用容器化部署或等待库更新以支持最新硬件；3. 检查是否因旧模块残留导致冲突，尝试在纯净环境中运行。",[159,164,169,174,179,184,189,194],{"id":160,"version":161,"summary_zh":162,"released_at":163},106798,"v4.7","- SynthSense: enhanced version of CAZP\r\n- Integration of Syngenta's PUMAS scoring subsystem\r\n- iSIM support for TL\r\n- Variants of penalty functions and RND-based filter\r\n- Inception for all generators\r\n- Multi-score support in maize scoring component\r\n- Improvements to ring precedence scoring component\r\n- Fix in CamSol scoring component\r\n- Intel XPU support\r\n- Safer SMILES checks\r\n- Removed JSON configuration examples and add conversion script","2025-11-20T08:41:04",{"id":165,"version":166,"summary_zh":167,"released_at":168},106799,"v4.6.22","* All priors now on [Zenodo](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.15641296)\r\n* CAZP scoring component: interface to AiZynthFinder\r\n* Optional SMARTS filter for sampling to remove unwanted patterns e.g. elements\r\n* Output SMILES state for sampling\r\n* iSIM similarty support for RL in TensorBoard\r\n* Parallel scoring\r\n* Ring system precedence based scoring component (from Pat Walters)\r\n* Multiple endpoints for ExternalProcess scoring component\r\n* ChemProp is still 1.x: rdkit\\_2d\\_normalized is obsolete (but needed and ignored) use features=\"rdkit\\_2d\\_normalized\"\r\n* Write out metadata to CSV e.g. custom alert matching pattern\r\n* GPU memory reporting for TL\r\n* Terminate if invalid tokens are found in the input\r\n* Additions and fixes to PepInvent e.g CamSol scoring component\r\n* Updates to the data pipeline e.g. optional InchiKey deduplication\r\n* Various code improvements and fixes\r\n","2025-07-15T11:49:08",{"id":170,"version":171,"summary_zh":172,"released_at":173},106800,"v4.5.11","New in REINVENT 4.5\r\n===================\r\n\r\nFor details see CHANGELOG.md.\r\n\r\n* PepINVENT: transformer (SMILES) based peptide generator and prior model\r\n* Temperature factor parameter (transformer generators) for sampling and RL\r\n* Support script run-qsartuna.py to play QSARtuna models in external environment\r\n* Component-level parameters for scoring components\r\n* Renamed Qptuna scoring component to [QSARtuna](https:\u002F\u002Fgithub.com\u002FMolecularAI\u002FQSARtuna)\r\n* Staged learning terminates on SIGTERM (Ctrl-C) and writes out checkpoint file\r\n* SIGUSR1 for graceful termination of staged learning runs\r\n* Relaxed dependencies to accomodate install of other software in same environment e.g. QSARtuna\r\n* Updated some dependencies e.g. PyTorch (now at version 2.4.1)\r\n* New notebook in contrib demoing docking with DockStream and OpenEye\r\n* YAML configuration file reader\r\n* Configuration file format is automatically detected from filename extension\r\n* Various code improvements and fixes\r\n","2024-11-22T10:41:07",{"id":175,"version":176,"summary_zh":177,"released_at":178},106801,"v4.4.22","New in REINVENT 4.4\r\n===================\r\n\r\nFor details see CHANGELOG.md.\r\n\r\n* Transformer based Libinvent\r\n* Prior registry to load internal priors more easily\r\n* Strict validation of input configuration to ensure consistency\r\n* Better JSON configuration file writing\r\n* Metadata writing for all created RL and TL models\r\n* Import functionality for scoring runmode\r\n* Stages in staged learning can have their own diversity filters\r\n* More memory efficient transformer models to handle larger numbers of input SMILES\r\n* Additional (fragment) SMILES written to staged learning CSV\r\n* TanimotoDistance renamed to TanimotoSimilarity\r\n* Support for ChemProp multitask models: requires param.target\\_column\r\n* Allow dot SMILES fragment separator for Lib\u002FLinkinvent input\r\n* Optional [scheduler] section for TL\r\n* Example support script for RAScore\r\n* A more complete RL\u002FTL demo notebook\r\n* Experimental data pipeline to preprocess SMILES for prior creation\r\n* Various code improvements and fixes","2024-07-11T07:47:00",{"id":180,"version":181,"summary_zh":182,"released_at":183},106802,"v4.3.5","New in REINVENT 4.3\r\n===================\r\n\r\nFor details see CHANGELOG.md.\r\n\r\n* Upgrade to **PyTorch 2.2**: rerun `pip install -r requirements-linux-64.lock`\r\n* 2 new **notebooks** demoing Reinvent with reinforcement learning and also transfer learning, includes TensorBoard visualisation and basic analysis\r\n* New Linkinvent model code based on unified transformer\r\n* New PubChem Mol2Mol prior\r\n* Unknown token support for PubChem based transformer models\r\n* New \"device\" config parameter to allow for explicit device e.g. \"cuda:0\"\r\n* Optional SMILES randomization in every TL epoch for Reinvent\r\n* Dataclass parameter validation for most scoring components\r\n* Invalid SMILES are now written to the reinforcement learning CSV\r\n* Code improvements and fixes","2024-04-19T11:19:10",{"id":185,"version":186,"summary_zh":187,"released_at":188},106803,"v4.2.6","New in REINVENT 4.2\r\nFor details see CHANGELOG.md.\r\n\r\nReworked TL code with added options and statistics\r\nStandardization can be switched off in TL (useful in new prior creation)\r\nSimilarity calculation in TL made optional\r\nUpdated script for empty classical Reinvent model creation\r\nAllow runs with only filter\u002Fpenalty components\r\nStable sigmoid functions\r\nRemoved long chain check in SMILES processing\r\nUnified transformer code\r\nFilter apply to transformed scores\r\nBetter memory handling in inception\r\nBetter logging for Reinvent standardizer\r\nInception filters for tokens not compatible with the prior\r\nNumber of CPUs for TL (Mol2Mol pair generation) is 1 by default\r\nTensorboard histogram bug fixed again\r\nCode improvements and fixes","2024-03-21T06:12:44",{"id":190,"version":191,"summary_zh":192,"released_at":193},106804,"v4.1.8","New in REINVENT 4.1\r\n===================\r\n\r\nFor details, see CHANGELOG.md.\r\n\r\n* Scoring component MolVolume\r\n* Scoring component for all 210 RDKit descriptors\r\n* CSV and SMILES file reader for the scoring run mode\r\n* Tobias Ploetz' (Merck) REINFORCE implementations of the DAP, MAULI and MASCOF RL reward strategies\r\n* Number of CPUs can be specified for TL jobs: useful for Windows\r\n* All prior models tagged with metadata and checked for integrity\r\n* Code improvements and fixes\r\n","2024-02-21T07:31:36",{"id":195,"version":196,"summary_zh":197,"released_at":198},106805,"v4.0.11","This is the first public release of the REINVENT4 series.","2023-11-07T17:52:44"]