Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wuwenjie1992/StarryDivineSky
精选了10K+项目,包括机器学习、深度学习、NLP、GNN、推荐系统、生物医药、机器视觉、前后端开发等内容。Selected more than 10k+ projects, including machine learning, deep learning, NLP, GNN, recommendation system, biomedicine, machine vision, etc. Let more excellent projects be discovered by people. Continue to update! Welcome to star!
https://github.com/wuwenjie1992/StarryDivineSky
List: StarryDivineSky
awesome awesome-list biomedicine cv data-science deep-learning hacker language-model large-language-models machine-learning nlp web
Last synced: 16 days ago
JSON representation
精选了10K+项目,包括机器学习、深度学习、NLP、GNN、推荐系统、生物医药、机器视觉、前后端开发等内容。Selected more than 10k+ projects, including machine learning, deep learning, NLP, GNN, recommendation system, biomedicine, machine vision, etc. Let more excellent projects be discovered by people. Continue to update! Welcome to star!
- Host: GitHub
- URL: https://github.com/wuwenjie1992/StarryDivineSky
- Owner: wuwenjie1992
- License: other
- Created: 2020-08-17T13:29:06.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-11-24T07:31:59.000Z (27 days ago)
- Last Synced: 2024-11-24T08:24:42.814Z (27 days ago)
- Topics: awesome, awesome-list, biomedicine, cv, data-science, deep-learning, hacker, language-model, large-language-models, machine-learning, nlp, web
- Homepage: https://www.wuwenjie.xyz
- Size: 14.6 MB
- Stars: 710
- Watchers: 11
- Forks: 98
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- ultimate-awesome - StarryDivineSky - 精选了10K+项目,包括机器学习、深度学习、NLP、GNN、推荐系统、生物医药、机器视觉、前后端开发等内容。Selected more than 10k+ projects, including machine learning, deep learning, NLP, GNN, recommendation system, biomedicine, machine vision, etc. Let more excellent projects be discovered by people. Continue to update! Welcome to star! . (Other Lists / Monkey C Lists)
README
StarryDivineSky
精选了10K+项目,包括机器学习、深度学习、NLP、GNN、推荐系统、生物医药、机器视觉等内容。
Selected more than 10K projects, including machine learning, deep learning, NLP, GNN, recommendation system, biomedicine, machine vision, etc.
让更多优秀的项目被人发现,让更多的人感受开源的魅力。
Let more excellent projects be discovered by people, let more people feel the charm of open source.
持续更新!欢迎🌟star!😀😀😀 Continue to update! Welcome to star! 😀😀😀
# 目录
- [机器学习与深度学习](#A01_机器学习与深度学习)
- [NLP自然语言处理](#A02_NLP自然语言处理)
* [大语言对话模型及数据](#大语言对话模型及数据)
- [网络与前后端开发](#A03_网络与前后端开发)
- [机器视觉](#A04_机器视觉)
- [语音识别与合成](#A05_语音识别与合成)
- [推荐系统](#推荐系统)
- [因果推断](#因果推断)
- [金融股票与时间序列](#金融股票与时间序列)
- [强化学习](#强化学习_ReinforcementLearning)
- [生物医药](#生物医药)
- [图数据库 图算法](#图数据库图算法)
- [图神经网络GNN](#图神经网络GNN)
- [大数据](#大数据)
- [虚拟化](#虚拟化)
- [安全与渗透](#安全与渗透)
- [硬件](#硬件)
- [其他项目](#其他项目)# Tips注意
* 文件内容较长,建议clone后阅读或搜索。The file content is long, it is recommended to read or search after cloning.
# Star🌟数变化
* [![关注者](https://starchart.cc/wuwenjie1992/StarryDivineSky.svg)](https://starchart.cc/wuwenjie1992/StarryDivineSky)
# 加入社区
# A01_机器学习与深度学习
## A01_机器学习教程
* [Coursera-ML-AndrewNg-Notes](https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes) 吴恩达老师的机器学习课程个人笔记。Machine Learning(机器学习)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演译。在过去的十年中,机器学习帮助我们自动驾驶汽车,有效的语音识别,有效的网络搜索,并极大地提高了人类基因组的认识。机器学习是当今非常普遍,你可能会使用这一天几十倍而不自知。很多研究者也认为这是最好的人工智能的取得方式。在本课中,您将学习最有效的机器学习技术,并获得实践,让它们为自己的工作。更重要的是,你会不仅得到理论基础的学习,而且获得那些需要快速和强大的应用技术解决问题的实用技术。最后,你会学到一些硅谷利用机器学习和人工智能的最佳实践创新。 本课程提供了一个广泛的介绍机器学习、数据挖掘、统计模式识别的课程。主题包括: (一)监督学习(参数/非参数算法,支持向量机,核函数,神经网络)。 (二)无监督学习(聚类,降维,推荐系统,深入学习推荐)。 (三)在机器学习的最佳实践(偏差/方差理论;在机器学习和人工智能创新过程)。本课程还将使用大量的案例研究,您还将学习如何运用学习算法构建智能机器人(感知,控制),文本的理解(Web搜索,反垃圾邮件),计算机视觉,医疗信息,音频,数据挖掘,和其他领域。 本课程需要10周共18节课,相对以前的机器学习视频,这个视频更加清晰,而且每课都有ppt课件,推荐学习。
* [parrt/dtreeviz](https://github.com/parrt/dtreeviz) 用于决策树可视化和模型解释的 python 库。决策树是梯度提升机和随机森林 (tm) 的基本构建块,这可能是结构化数据中两种最流行的机器学习模型。在了解这些模型的工作原理和解释模型时,可视化决策树是一个巨大的帮助。可视化效果的灵感来自 R2D3 的教育动画;机器学习的视觉介绍。请参阅如何可视化决策树,以更深入地讨论我们的决策树可视化库和我们所做的可视化设计决策。目前 dtreeviz 支持:scikit-learn、XGBoost、Spark MLlib、LightGBM 和 Tensorflow。作者:特伦斯·帕尔 (Terence Parr) 是谷歌的技术主管,直到 2022 年,他是旧金山大学的数据科学/计算机科学教授,并于 2012 年担任旧金山大学数据科学硕士课程的创始主任。Tudor Lapusan ;Prince Grover。主要代码和可视化清理由 Matthew Epland (@mepland) 完成。
* [pytorch/serve](https://github.com/pytorch/serve) 在生产环境中提供、优化和扩展 PyTorch 模型。特色:`模型管理 API`:通过优化从角色到模型的分配进行多模型管理、`推理 API`:对批量推理的 REST 和 gRPC 支持、`TorchServe 工作流`:使用多个相互依赖的模型部署复杂的 DAG、`导出模型以进行优化推理`:开箱即用的Torchscript,ORT和ONNX,IPEX,TensorRT,FasterTransformer、`性能指南`:内置支持优化、基准测试和分析 PyTorch 和 TorchServe 性能、`富有表现力的处理程序`:一种富有表现力的处理程序体系结构,通过开箱即用的支持,支持对用例的推理变得微不足道、`指标 API`:通过 Prometheus 导出、自定义指标和 PyTorch 分析器支持对系统级指标的开箱即用支持
* [finos/perspective](https://github.com/finos/perspective) 数据可视化和分析组件,特别适用于大型和/或流数据集。使用它来创建用户可配置的报告、仪表板、笔记本和应用程序,然后在浏览器中独立部署,或与 Python 和/或 Jupyterlab 协同部署。一个快速、内存高效的流式查询引擎,用 C++ 编写并针对 WebAssembly 和 Python 编译,具有用于 Apache Arrow 的读/写/流式处理,以及基于 ExprTK 的高性能列式表达式语言。一个与框架无关的用户界面,打包为自定义元素,通过 WebAssembly 在浏览器内提供支持,或通过 WebSocket 服务器 (Python/Node) 虚拟提供支持。JupyterLab 小部件和 Python 客户端库,用于笔记本中的交互式数据分析,以及可扩展的生产 Voila 应用程序。
* [rmcelreath/rethinking](https://github.com/rmcelreath/rethinking) rethinking是一个 R 包,用于贝叶斯数据分析,它与 McElreath的《统计重思考》一书配套使用。该包提供工具进行后验分布的快速二次近似和哈密顿蒙特卡洛模拟(通过 RStan 或 cmdstanr)。该包的独特之处在于它要求用户以显式分布假设列表的形式指定模型,这比传统的公式化工具更繁琐,但也更灵活、更强大,最重要的是,更有利于教学和学习。用户必须写出模型的每一个细节,才能真正理解模型。该包还提供了一个名为 `quap` 的函数,用于进行二次近似,并支持向量化参数,方便处理分类变量。该包没有在 CRAN 上发布,用户需要从 GitHub 上安装。
* [jupyterhub/jupyterhub](https://github.com/jupyterhub/jupyterhub) JupyterHub是一个多用户 Jupyter 笔记本服务器,它可以为多个用户提供独立的 Jupyter 笔记本服务器。它通过一个中心 Hub 来管理用户登录、启动和代理单个用户的 Jupyter 笔记本服务器。JupyterHub 使用 Node.js 构建的代理服务器来将用户请求转发到相应的笔记本服务器。JupyterHub 还提供了一个 REST API,用于管理 Hub 和用户。安装 JupyterHub 需要 Python 3.8 或更高版本、Node.js/npm 和一个 PAM 模块(如果使用默认的 PAM 身份验证器)。JupyterHub 可以使用 conda 或 pip 安装,并需要额外的软件包,例如 JupyterLab 或 Jupyter notebook,才能在本地运行笔记本服务器。
* [galaxyproject/galaxy](https://github.com/galaxyproject/galaxy) Galaxy是一个开源平台,旨在为每个人提供数据密集型科学分析能力。它提供了一个用户友好的界面,允许用户执行各种生物信息学分析,无需编写代码。Galaxy 通过工具箱和工作流程来实现,这些工具箱和工作流程可用于执行数据分析任务。用户可以轻松地共享和重用这些工具和工作流程,从而促进科学发现。Galaxy 还提供了一个强大的管理界面,允许管理员管理和配置服务器。要开始使用Galaxy,请访问 https://getgalaxy.org/ 安装并运行 Galaxy。您可以在 https://docs.galaxyproject.org/ 找到文档,在 https://training.galaxyproject.org/ 找到教程。
* [EmuKit/emukit](https://github.com/EmuKit/emukit) Emukit是一个基于Python的工具箱,用于在决策、不确定性量化和统计仿真中使用各种方法,包括多保真度、实验设计、贝叶斯优化、贝叶斯积分等。它适用于数据稀缺或难以获取的复杂系统,通过传播校准良好的不确定性估计,有效地利用有限资源。Emukit支持多保真度仿真、贝叶斯优化、实验设计/主动学习、敏感性分析和贝叶斯积分等功能,并与Python生态系统中的各种机器学习工具兼容。用户可以通过`pip install emukit`安装Emukit,并参考教程笔记本和文档了解更多信息。
* [raghakot/keras-vis](https://github.com/raghakot/keras-vis) keras-vis是一个用于可视化和调试训练好的 Keras 神经网络模型的高级工具包,支持激活最大化、显著性映射和类别激活映射等可视化方法,并可用于 N 维图像输入。该工具包将所有可视化方法抽象为能量最小化问题,提供简洁易用的接口,兼容 Theano 和 TensorFlow 后端,并支持 "channels_first" 和 "channels_last" 数据格式。你可以通过定义加权损失函数和配置优化器来最小化损失,从而生成自然逼真的图像。项目还提供了多种示例,方便你快速上手。
* [srush/GPU-Puzzles](https://github.com/srush/GPU-Puzzles) GPUPuzzles 项目是一个通过解决一系列 GPU 编程谜题来学习 CUDA 的交互式教程。它使用 NUMBA 将 Python 代码直接映射到 CUDA 内核,让用户能够在无需深入了解底层 CUDA 代码的情况下学习 GPU 编程。项目提供一系列谜题,从简单的向量加法开始,逐步引导用户学习更复杂的 GPU 编程概念,最终能够理解深度学习中常用的算法。项目还提供 Colab 笔记本,方便用户快速上手。此外,项目还提供一个 YouTube 视频教程,详细讲解项目内容。
* [DataExpert-io/data-engineer-handbook](https://github.com/DataExpert-io/data-engineer-handbook) 这是一个包含数据工程学习资源的仓库,涵盖了从入门到精通的各个方面。它提供了一个2024年数据工程学习路线图,以及免费的6周YouTube数据工程训练营,并包含了大量书籍、社区、公司和工具的链接。其中包括数据工程必读书籍、热门数据工程社区、数据工程相关公司以及数据湖、数据仓库、数据质量、数据集成等领域的相关工具。该仓库还提供了数据分析和可视化工具的链接,以及数据工程学习和面试准备的资源。
* [tensorflow/lingvo](https://github.com/tensorflow/lingvo) Lingvo是一个基于 TensorFlow 的神经网络构建框架,尤其擅长构建序列模型。它提供了一系列预训练模型,包括自动语音识别、机器翻译、图像处理和语言建模等。Lingvo 支持 TensorFlow 2.9 及以上版本,并提供了快速入门指南,帮助用户快速上手使用。Lingvo 还包含 GShard 变压器模型,可以用于构建大型语言模型。此外,Lingvo 还提供了 3D 物体检测模型。用户可以参考 Lingvo 文档,了解其详细功能和使用方法。
* [selfteaching/the-craft-of-selfteaching](https://github.com/selfteaching/the-craft-of-selfteaching) 这是一个名为 "the-craft-of-selfteaching" 的 GitHub 项目,旨在帮助人们掌握自学技巧。项目作者认为自学能力是未来成功的关键,并通过一系列 Jupyter Notebook 文件,提供了一套完整的自学方法论。该项目以编程学习为切入点,强调阅读、练习和实践的重要性,并提供 JupyterLab 安装和使用指南,方便读者学习和实践。项目还包含了如何使用 Pull Request 贡献内容的说明,鼓励读者参与其中。
* [fairlearn/fairlearn](https://github.com/fairlearn/fairlearn) Fairlearn是一个Python包,帮助开发者评估和改善机器学习模型的公平性。它包含了用于评估模型的公平性指标和用于缓解不公平问题的算法。Fairlearn定义了两种类型的伤害:分配伤害和服务质量伤害,并通过组公平性方法来识别受影响的群体。Fairlearn提供了多种公平性指标和算法,帮助开发者评估和缓解模型中的不公平问题。用户可以通过Fairlearn的文档和示例代码了解如何使用它。
* [apple/corenet](https://github.com/apple/corenet) CoreNet是一个深度神经网络工具包,允许研究人员和工程师训练标准和新型的小型和大规模模型,用于各种任务,包括基础模型(例如CLIP 和 LLM)、目标分类、目标检测和语义分割。它包含用于音频和视频处理的可选依赖项,并支持使用 Git LFS进行测试和 Jupyter 笔记本运行。CoreNet 还包含了 Apple 使用该库进行研究的出版物列表,以及链接到预训练模型的训练和评估配方。
* [zetane/viewer](https://github.com/zetane/viewer) 免费的 Zetane Viewer 是一款帮助理解和加速机器学习和人工神经网络发现的工具。它可以通过可视化和理解模型的架构和内部数据(特征图、权重、偏差和层输出张量)来打开 AI 黑匣子。它可以被认为是一种工具,用于对人工神经网络和机器学习算法进行神经成像或脑成像。您还可以使用 Zetane Python API 通过几个命令直接从现有脚本或笔记本启动您自己的 Zetane 工作区。
* [karpathy/nn-zero-to-hero](https://github.com/karpathy/nn-zero-to-hero) 这是一个从零开始学习神经网络的课程,包含一系列 YouTube 视频,通过代码和训练神经网络来学习。课程内容涵盖基础知识,如反向传播、语言建模等,并提供 Jupyter 笔记本和练习。该项目特色是使用微型梯度库 (micrograd) 和 makemore项目来演示神经网络的构建和训练过程,并深入探讨了反向传播、语言建模、多层感知器 (MLP)、激活函数、批量归一化等关键概念。
* [WeiHongLee/Awesome-Multi-Task-Learning](https://github.com/WeiHongLee/Awesome-Multi-Task-Learning) Awesome-Multi-Task-Learning 是一个持续更新的多任务学习资源列表,包含了相关领域的论文、研究、基准数据集、代码库等。该项目旨在为研究人员和开发者提供一个方便的资源库,帮助他们了解多任务学习的最新进展,并进行相关研究和开发。项目内容包括:多任务学习综述、基准数据集和代码、论文、多领域多任务学习、研讨会、在线课程和相关资源列表。
* [MIND-Lab/OCTIS](https://github.com/MIND-Lab/OCTIS) OCTIS是一个用于优化和比较主题模型的Python包,它使用贝叶斯优化方法来估计主题模型的最佳超参数。该项目已被EACL2021演示环节接受。OCTIS提供预处理数据集、多种主题模型(包括经典模型和神经模型)、多种评估指标、贝叶斯优化超参数以及Python库和Web仪表板等功能。用户可以使用预处理的基准数据集,或使用自己的数据集,并通过教程快速上手。
* [markdregan/Bayesian-Modelling-in-Python](https://github.com/markdregan/Bayesian-Modelling-in-Python) 这是一个使用 PyMC3 库进行贝叶斯建模的 Python 教程,它旨在为那些了解贝叶斯统计基础并希望学习如何使用 Python 构建贝叶斯模型的人提供一个编程指南。教程涵盖了从参数估计到模型检查、层次模型、贝叶斯回归、生存分析、A/B测试等多个主题,并提供了相应的代码示例和解释。教程还鼓励用户贡献,并提供了一些学习贝叶斯统计的推荐资源。
* [fehiepsi/rethinking-numpyro](https://github.com/fehiepsi/rethinking-numpyro) 这是一个将 Richard McElreath 的《统计思维》(第二版)中的代码移植到 NumPyro的项目,旨在帮助 NumPyro/Pyro 用户以及想要用 Python 进行贝叶斯统计的人。该项目提供了 Jupyter 笔记本,涵盖了书中的所有示例和练习,并使用 Arviz、NetworkX、Daft 等工具进行可视化和分析。此外,项目还提供了部分练习的解决方案,方便学习者理解和实践。
* [personqianduixue/Math_Model](https://github.com/personqianduixue/Math_Model) 数学建模、美赛、美国大学生数学建模竞赛、全国大学生数学建模竞赛、华为杯研究生数学建模、国赛LaTeX模板、美赛LaTeX模板、mathorcup、电工杯、华中赛、APMCM、深圳杯、中青杯、华东杯、数维杯、东三省数学建模、认证杯、数学建模书籍、常用matlab算法、国赛评阅要点、软件模型算法汇总、智能算法、优化算法、现代的算法
* [ClimbsRocks/auto_ml](https://github.com/ClimbsRocks/auto_ml) auto_ml是一个用于生产和分析的自动化机器学习库,支持多种机器学习模型,包括深度学习、XGBoost、LightGBM和CatBoost。它可以自动选择最佳模型并进行训练,并提供快速高效的预测功能,适用于生产环境。用户只需提供数据和目标变量,auto_ml就能自动完成模型训练、评估和预测,并支持模型保存和加载,方便部署和使用。
* [google/objax](https://github.com/google/objax) Objax是一个开源机器学习框架,它通过极简的 面向对象设计和易读的代码库来加速研究和学习。它结合了 Object 和JAX 框架,旨在为研究人员提供一个简单易懂的框架,方便他们阅读、理解、扩展和修改代码以满足自身需求。用户可以通过 pip 安装 Objax,并使用示例代码测试安装。Objax 支持 GPU,但需要用户自行安装 CUDA。
* [Yorko/mlcourse.ai](https://github.com/Yorko/mlcourse.ai) 由 OpenDataScience (ods.ai) 领导的开放式机器学习课程,由 Yury Kashnitsky(Yorko)领导。Yury拥有应用数学博士学位和Kaggle竞赛大师级学位,旨在设计一门在理论与实践之间取得完美平衡的ML课程。因此,该课程在讲座中为您提供数学公式,并以作业和 Kaggle 课堂竞赛的形式进行大量练习。目前,该课程处于自定进度模式。
* [ericmjl/bayesian-stats-modelling-tutorial](https://github.com/ericmjl/bayesian-stats-modelling-tutorial) 该项目是一个使用 NumPy 和 PyMC3 进行贝叶斯统计建模的教程,提供 Jupyter Notebook 文件,涵盖了贝叶斯统计建模的基础知识,包括模型构建、参数估计、模型比较和模型诊断等内容。用户可以选择在 Binder 上运行教程,或通过 Anaconda 或 pipenv 在本地环境中运行。教程还提供了详细的安装和配置步骤,方便用户快速上手。
* [Azure/MachineLearningNotebooks](https://github.com/Azure/MachineLearningNotebooks) 这是一个使用 Azure 机器学习 Python SDK 的机器学习和深度学习示例的 Python 笔记本仓库,但已弃用,建议使用新的 v2 SDK 示例仓库。该仓库提供使用 Azure 机器学习 Python SDK 的示例,推荐在 Azure 机器学习计算实例中使用,但也可以在其他开发环境中使用。仓库包含快速入门教程,并提供安装说明和贡献指南。
* [dformoso/machine-learning-mindmap](https://github.com/dformoso/machine-learning-mindmap) 该项目是一个关于机器学习概念的思维导图,涵盖了从数据分析到深度学习的各个方面。它以PDF格式呈现,包含数据处理、数学基础、机器学习概念、模型等内容,并提供配套的Jupyter Notebook和深度学习思维导图。该项目旨在帮助学习者快速掌握机器学习的核心知识,并提供相关资源链接。
* [pymc-devs/pymc-resources](https://github.com/pymc-devs/pymc-resources) 该项目提供PyMC3的学习资源,包括将其他书籍(如"Bayesian Modeling and Computationin Python"、"Statistical Rethinking"、"Bayesian Cognitive Modeling"等)中的模型移植到PyMC3。项目还包含贡献指南,帮助用户参与资源的开发和维护。所有代码均遵循MIT许可证,除非目录中另有说明。
* [microsoft/AI-System](https://github.com/microsoft/AI-System) 该项目是微软 AI 教育资源库的一部分,提供关于人工智能系统设计的课程。课程内容涵盖了人工智能系统的设计原理,并以“System for AI”为主题,旨在帮助学生了解人工智能系统的架构和工作原理。课程以代码示例和实践项目为主,旨在帮助学生掌握人工智能系统的实际应用。
* [Vay-keen/Machine-learning-learning-notes](https://github.com/Vay-keen/Machine-learning-learning-notes) 周志华《机器学习》又称西瓜书是一本较为全面的书籍,书中详细介绍了机器学习领域不同类型的算法(例如:监督学习、无监督学习、半监督学习、强化学习、集成降维、特征选择等),记录了本人在学习过程中的理解思路与扩展知识点,希望对新人阅读西瓜书有所帮助!
* [udlbook/udlbook](https://github.com/udlbook/udlbook) Understanding Deep Learning(UDL) 是由 Simon J.D. Prince 编写的深度学习入门书籍,其 GitHub 项目 udlbook/udlbook 提供了该书的代码和示例,涵盖了深度学习的基础知识、神经网络架构、训练方法、应用案例等内容,并使用 Python 和 TensorFlow 库进行演示,适合初学者学习和实践。
* [krasserm/bayesian-machine-learning](https://github.com/krasserm/bayesian-machine-learning) 该项目是一个关于贝叶斯机器学习的 Jupyter 笔记本集合,包含贝叶斯线性回归、高斯过程回归与分类、稀疏高斯过程、贝叶斯优化、贝叶斯神经网络等主题,并提供使用 NumPy、SciPy、scikit-learn、GPy、PyMC3、JAX、Keras、Tensorflow 2 和 Tensorflow Probability 等库的示例实现。
* [fuzzylabs/awesome-open-mlops](https://github.com/fuzzylabs/awesome-open-mlops) MLOps(机器学习操作)是一门帮助人们在生产环境中成功训练、部署和运行机器学习模型的学科。因为这是一个快速发展的新领域,所以有很多工具,而且新的工具一直在出现。这是 Fuzzy Labs 指南,介绍了免费和开源 MLOps 工具的世界。
* [D-X-Y/Awesome-AutoDL](https://github.com/D-X-Y/Awesome-AutoDL) 自动化深度学习:神经架构搜索不是终点(AutoDL 资源精选列表和深入分析)。自动化深度学习相关资源的精选列表。灵感来自令人敬畏的深度愿景、令人敬畏的对抗性机器学习、令人敬畏的深度学习论文和令人敬畏的架构搜索。
* [amusi/AI-Job-Notes](https://github.com/amusi/AI-Job-Notes) AI算法岗求职攻略:涵盖校招时间表、准备攻略、刷题指南、内推、AI公司清单和答疑等资料。AI算法岗方向涉及:AIGC、大模型、深度学习、机器学习、计算机视觉、自然语言处理、图像处理、自动驾驶、元宇宙、AIGC、SLAM等。
* [TingsongYu/PyTorch_Tutorial](https://github.com/TingsongYu/PyTorch_Tutorial) 该项目是《Pytorch模型训练实用教程》的配套代码,提供了深度学习应用案例和教程,涵盖CV、NLP和LLM等领域,并包含ONNX和TensorRT的学习内容。教程内容包括模型训练、深度学习应用案例和原理讲解,适合入门和进阶学习。
* [microsoft/ai-edu](https://github.com/microsoft/ai-edu) 微软人工智能教育与学习共建社区。由**基础教程**、**实践案例**、**实践项目**三大模块构成,通过系统化的理论教程和丰富多样的实践案例,帮助学习者学习并掌握人工智能的知识,并锻炼在实际项目中的开发能力。
* [aladdinpersson/Machine-Learning-Collection](https://github.com/aladdinpersson/Machine-Learning-Collection) 在此存储库中,您将找到与机器学习相关的教程和项目。我尝试使代码尽可能清晰,目标是用作学习资源和查找问题以解决特定问题的方法。对于大多数人,如果您想要代码的演练,我还在YouTube上做了视频解释。
* [GokuMohandas/Made-With-ML](https://github.com/GokuMohandas/Made-With-ML) 了解如何设计、开发、部署和迭代生产级 ML 应用程序。在本课程中,将从实验(设计 + 开发)到生产(部署 + 迭代)。我们将通过激励组件来迭代地做到这一点,这些组件将使我们能够构建可靠的生产系统。
* [hibayesian/awesome-automl-papers](https://github.com/hibayesian/awesome-automl-papers) 自动化机器学习论文、文章、教程、幻灯片和项目的精选列表,自动化机器学习 (AutoML) 提供了使机器学习可供非机器学习专家使用的方法和流程,以提高机器学习的效率并加速机器学习的研究。
* [ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide](https://github.com/ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide) 为本科生或任何想在扎实基础上深入研究人工智能领域的任何人提供详细和量身定制的指南。本指南适用于任何具有基本编程知识或计算机科学背景的人,有兴趣成为深度学习和 NLP 研究科学家。
* [tangyudi/Ai-Learn](https://github.com/tangyudi/Ai-Learn) 人工智能学习路线图,整理近200个实战案例与项目,免费提供配套教材,零基础入门,就业实战!包括:Python,数学,机器学习,数据分析,深度学习,计算机视觉,自然语言处理,等热门领域
* [PAIR-code/facets](https://github.com/PAIR-code/facets) 包含两个用于理解和分析机器学习数据集的可视化效果:Facets Overview 和 Facets Dive。可视化作为 Polymer Web 组件实现,由 Typescript 代码提供支持,可以轻松嵌入到 Jupyter 笔记本或网页中。
* [donnemartin/data-science-ipython-notebooks](https://github.com/donnemartin/data-science-ipython-notebooks) 数据科学Python笔记本:深度学习(TensorFlow,Theano,Caffe,Keras),scikit-learn,Kaggle,大数据(Spark,Hadoop MapReduce,HDFS),matplotlib,pandas,NumPy,SciPy,Python essentials,AWS和各种命令行。
* [zergtant/pytorch-handbook](https://github.com/zergtant/pytorch-handbook) pytorch handbook是一本开源的书籍,目标是帮助那些希望和使用PyTorch进行深度学习开发和研究的朋友快速入门,其中包含的Pytorch教程全部通过测试保证可以成功运行
* [d2l-ai/d2l-en](https://github.com/d2l-ai/d2l-en) 交互式深度学习书籍,包含多框架代码、数学和讨论。被斯坦福大学、麻省理工学院、哈佛大学和剑桥大学等 60 个国家的 400 所大学采用。
* [cbamls/AI_Tutorial](https://github.com/cbamls/AI_Tutorial) 精选机器学习,NLP,图像识别, 深度学习等人工智能领域学习资料,搜索,推荐,广告系统架构及算法技术资料整理。算法大牛笔记汇总
* [baifanxxx/awesome-active-learning](https://github.com/baifanxxx/awesome-active-learning) 很棒的主动学习精选列表。主动学习是机器学习的特殊情况,它可以与专家进行交互(或其他信息源),再使用输出的新样本进行学习。
* [mrdbourke/machine-learning-roadmap](https://github.com/mrdbourke/machine-learning-roadmap) 2020 年机器学习路线图(2023 年仍有 90% 有效),连接机器学习中许多最重要概念的路线图,如何学习它们以及使用哪些工具来执行它们。
* [abmlai/annotated_deep_learning_paper_implementations](https://github.com/labmlai/annotated_deep_learning_paper_implementations) 神经网络和相关算法的简单 PyTorch 实现的集合。将这些呈现为并排格式化的笔记。我们相信这些将帮助您更好地理解这些算法。
* [dragen1860/TensorFlow-2.x-Tutorials](https://github.com/dragen1860/TensorFlow-2.x-Tutorials) TensorFlow 2.x版本的教程和示例,包括CNN,RNN,GAN,Auto-Encoders,FasterRCNN,GPT,BERT示例等。 TF 2.0版入门实例代码,实战教程。
* [pytorch/tutorials](https://github.com/pytorch/tutorials) PyTorch 教程。熟悉 PyTorch 概念和模块。在本快速入门指南中了解如何加载数据、构建深度神经网络、训练和保存模型。
* [chenyuntc/pytorch-book](https://github.com/chenyuntc/pytorch-book) 书籍《深度学习框架PyTorch:入门与实践(第2版)》的对应代码,但是也可以作为一个独立的PyTorch入门指南和教程。
* [louisfb01/best_AI_papers_2021](https://github.com/louisfb01/best_AI_papers_2021) 按发布日期列出的人工智能最新突破(2021 年)的精选列表,附有清晰的视频说明、更深入文章的链接和代码。
* [louisfb01/start-machine-learning](https://github.com/louisfb01/start-machine-learning) 机器学习 (ML)、人工智能 (AI) 的完整指南,无需任何该领域背景,并随时了解最新消息和最先进的技术!
* [girls-in-ai/Girls-In-AI](https://github.com/girls-in-ai/Girls-In-AI) 免费学代码系列:小白python入门、数据分析data analyst、机器学习machine learning、深度学习deep learning、kaggle实战
* [ageron/handson-ml2](https://github.com/ageron/handson-ml2) 一系列Jupyter笔记本,引导您使用Scikit-Learn,Keras和TensorFlow 2了解Python中的机器学习和深度学习的基础知识。
* [ageron/handson-ml3](https://github.com/ageron/handson-ml3) 一系列Jupyter笔记本,引导您使用Scikit-Learn,Keras和TensorFlow 2了解Python中的机器学习和深度学习的基础知识。
* [ujjwalkarn/Machine-Learning-Tutorials](https://github.com/ujjwalkarn/Machine-Learning-Tutorials) 包含机器学习和深度学习教程、文章和其他资源的主题精选列表。其他很棒的列表可以在此列表中找到。
* [d2l-ai/d2l-zh](https://github.com/d2l-ai/d2l-zh) 《动手学深度学习》:面向中文读者、能运行、可讨论。中英文版被60多个国家的400多所大学用于教学。
* [kmario23/deep-learning-drizzle](https://github.com/kmario23/deep-learning-drizzle) 通过从这些令人兴奋的讲座中学习,让自己沉浸在深度学习、强化学习、机器学习、计算机视觉和 NLP
* [ShusenTang/Deep-Learning-with-PyTorch-Chinese](https://github.com/ShusenTang/Deep-Learning-with-PyTorch-Chinese) 将PyTorch官方书籍《Deep learning with PyTorch》(基本摘录版)翻译成中文版并给出可运行的相关代码。
* [ritchieng/the-incredible-pytorch](https://github.com/ritchieng/the-incredible-pytorch) 一个精选的教程、项目、库、视频、论文、书籍以及与令人难以置信的 PyTorch 相关的任何内容。
* [lexfridman/mit-deep-learning](https://github.com/lexfridman/mit-deep-learning) 麻省理工学院深度学习相关课程的教程、作业和竞赛。[deeplearning.mit.edu](https://deeplearning.mit.edu/)
* [dusty-nv/jetson-inference](https://github.com/dusty-nv/jetson-inference) Hello AI World 指南,介绍如何使用 TensorRT 和 NVIDIA Jetson 部署深度学习推理网络和深度视觉基元。
* [datawhalechina/pumpkin-book](https://github.com/datawhalechina/pumpkin-book) 本书旨在对西瓜书里比较难理解的公式加以解析,以及对部分公式补充具体的推导细节。
* [ShusenTang/Dive-into-DL-PyTorch](https://github.com/ShusenTang/Dive-into-DL-PyTorch) 本项目将《动手学深度学习》(Dive into Deep Learning)原书中的MXNet实现改为PyTorch实现。
* [bharathgs/Awesome-pytorch-list](https://github.com/bharathgs/Awesome-pytorch-list) github上pytorch相关内容的完整列表,例如不同的模型,实现,帮助程序库,教程等。
* [Jack-Cherish/Machine-Learning](https://github.com/Jack-Cherish/Machine-Learning) 机器学习实战(Python3):kNN、决策树、贝叶斯、逻辑回归、SVM、线性回归、树回归
* [aws/amazon-sagemaker-examples](https://github.com/aws/amazon-sagemaker-examples) 示例 Jupyter 笔记本,演示如何使用 Amazon SageMaker 构建、训练和部署机器学习模型
* [fastai/fastbook](https://github.com/fastai/fastbook) 这些笔记本介绍了深度学习、fastai 和 PyTorch。fastai 是用于深度学习的分层 API。
* [wesm/pydata-book](https://github.com/wesm/pydata-book) Wes McKinney的“Python for Data Analysis”材料和IPython笔记本,由O‘Reilly Media出版
* [microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners) Microsoft的 Azure 云倡导者很高兴提供为期 12 周、每节课的人工智能课程。
* [EthicalML/awesome-production-machine-learning](https://github.com/EthicalML/awesome-production-machine-learning) 精选的开源库列表,用于部署、监控、版本控制和扩展您的机器学习
* [jakevdp/PythonDataScienceHandbook](https://github.com/jakevdp/PythonDataScienceHandbook) 包含完整的 Python 数据科学手册,其形式为 (免费!Jupyter 笔记本。
* [trekhleb/homemade-machine-learning](https://github.com/trekhleb/homemade-machine-learning) 流行的机器学习算法的Python示例,并解释了交互式Jupyter演示和数学
* [floodsung/Deep-Learning-Papers-Reading-Roadmap](https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap) 深度学习论文阅读路线图,适合任何渴望学习这项惊人技术的人!
* [PKUFlyingPig/cs-self-learning](https://github.com/pkuflyingpig/cs-self-learning/) 计算机自学指南深度学习入门开源书,基于TensorFlow 2.0案例实战。
* [rougier/scientific-visualization-book](https://github.com/rougier/scientific-visualization-book) 一本关于使用 python 和 matplotlib 进行科学可视化的开放获取书籍
* [fastai/numerical-linear-algebra](https://github.com/fastai/numerical-linear-algebra) 用于计算线性代数课程 fast.ai Jupyter 笔记本的免费在线教科书
* [owainlewis/awesome-artificial-intelligence](https://github.com/owainlewis/awesome-artificial-intelligence) 人工智能 (AI) 课程、书籍、视频讲座和论文的精选列表。
* [eugeneyan/applied-ml](https://github.com/eugeneyan/applied-ml) 生产中的数据科学和机器学习的精选论文、文章和博客。
* [pytorch/examples](https://github.com/pytorch/examples) 一组关于 pytorch 在视觉、文本、强化学习等方面的示例。
* [fengdu78/deeplearning_ai_books](https://github.com/fengdu78/deeplearning_ai_books) deeplearning.ai(吴恩达老师的深度学习课程笔记及资源)
* [mrdbourke/pytorch-deep-learning](https://github.com/mrdbourke/pytorch-deep-learning) 学习用于深度学习的 PyTorch:从零到精通课程的材料。
* [NirantK/awesome-project-ideas](https://github.com/NirantK/awesome-project-ideas) 机器学习、NLP、视觉、推荐系统项目创意的精选列表
* [MorvanZhou/PyTorch-Tutorial](https://github.com/MorvanZhou/PyTorch-Tutorial) 轻松快速地构建您的神经网络, 莫烦Python中文教学
* [mli/paper-reading](https://github.com/mli/paper-reading) 深度学习经典、新论文逐段精读。包括视频讲解。
* [ashishpatel26/500-AI-Machine-learning-Deep-learning-Computer-vision-NLP-Projects-with-code](https://github.com/ashishpatel26/500-AI-Machine-learning-Deep-learning-Computer-vision-NLP-Projects-with-code) 500个AI机器学习 深度学习 计算机视觉 NLP 代码项目
* [dragen1860/Deep-Learning-with-TensorFlow-book](https://github.com/dragen1860/Deep-Learning-with-TensorFlow-book) 深度学习入门开源书,基于TensorFlow 2.0案例实战。
* [dair-ai/ML-YouTube-Courses](https://github.com/dair-ai/ML-YouTube-Courses) 在 YouTube 上发现最新的机器学习/人工智能课程。
* [sgrvinod/Deep-Tutorials-for-PyTorch](https://github.com/sgrvinod/Deep-Tutorials-for-PyTorch) 使用 PyTorch 自行实现深度学习模型的深入教程。
* [ZuzooVn/machine-learning-for-software-engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers) 学习成为机器学习工程师的完整日常计划。
* [ukas/ml-class](https://github.com/lukas/ml-class) 专为工程师设计的机器学习课程和教学项目
* [bangoc123/learn-machine-learning-in-two-months](https://github.com/bangoc123/learn-machine-learning-in-two-months) 在 2 个月内学习好机器学习所需的知识。
* [kailashahirwar/cheatsheets-ai](https://github.com/kailashahirwar/cheatsheets-ai) 深度学习和机器学习工程师的基本备忘单
* [microsoft/ML-For-Beginners](https://github.com/microsoft/ML-For-Beginners) 微软给初学者开源了一份机器学习课程。
* [afshinea/stanford-cs-229-machine-learning](https://github.com/afshinea/stanford-cs-229-machine-learning) 斯坦福大学 CS 229 机器学习的 VIP 备忘单
* [Dod-o/Statistical-Learning-Method_Code](https://github.com/Dod-o/Statistical-Learning-Method_Code) 实现李航《统计学习方法》中全部算法
* [ChristosChristofidis/awesome-deep-learning](https://github.com/ChristosChristofidis/awesome-deep-learning) 精选深度学习教程、项目和社区列表。
* [josephmisiti/awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning) 机器学习框架、库和软件的精选列表
* [fengdu78/lihang-code](https://github.com/fengdu78/lihang-code) 《统计学习方法》第二版的代码实现
* [nndl/nndl.github.io](https://github.com/nndl/nndl.github.io) 《神经网络与深度学习》 邱锡鹏著
* [datawhalechina/leedl-tutorial](https://github.com/datawhalechina/leedl-tutorial) 《李宏毅深度学习教程》,PDF下载
* [mml-book/mml-book.github.io](https://github.com/mml-book/mml-book.github.io) 《机器学习数学》一书的配套网页
* [roatienza/Deep-Learning-Experiments](https://github.com/roatienza/Deep-Learning-Experiments) 了解深度学习的视频、笔记和实验
* [AMAI-GmbH/AI-Expert-Roadmap](https://github.com/AMAI-GmbH/AI-Expert-Roadmap) 2022年成为人工智能专家的路线图
* [FavioVazquez/ds-cheatsheets](https://github.com/FavioVazquez/ds-cheatsheets) 统治世界的数据科学备忘单列表
* [yunjey/pytorch-tutorial](https://github.com/yunjey/pytorch-tutorial) 深度学习研究人员的 PyTorch 教程
* [Hvass-Labs/TensorFlow-Tutorials](https://github.com/Hvass-Labs/TensorFlow-Tutorials) 带有 YouTube 视频的 TensorFlow 教程
* [datastacktv/data-engineer-roadmap](https://github.com/datastacktv/data-engineer-roadmap) 2021 年成为数据工程师的路线图
* [microsoft/Data-Science-For-Beginners](https://github.com/microsoft/Data-Science-For-Beginners) 10 周20 节课,全民数据科学!
* [lazyprogrammer/machine_learning_examples](https://github.com/lazyprogrammer/machine_learning_examples) 机器学习示例和教程的集合。
* [Mikoto10032/DeepLearning](https://github.com/Mikoto10032/DeepLearning) 深度学习入门教程, 优秀文章
* [MorvanZhou/tutorials](https://github.com/MorvanZhou/tutorials) 莫烦Python 机器学习相关教程
* [chefyuan/algorithm-base](https://github.com/chefyuan/algorithm-base) 用动画将算法说的通俗易懂
* [dair-ai/ML-Papers-Explained](https://github.com/dair-ai/ML-Papers-Explained) ML 中关键概念的解释
* [MorvanZhou/tutorials](https://github.com/MorvanZhou/tutorials) 机器学习相关教程
* [apachecn/pytorch-doc-zh](https://github.com/apachecn/pytorch-doc-zh) Pytorch 中文文档
## 其他_机器学习与深度学习
* [HIPS/autograd](https://github.com/HIPS/autograd) Autograd 可以自动区分原生 Python 和 Numpy 代码。它可以处理 Python 的大部分功能,包括循环、ifs、递归和闭包,甚至可以采用导数的导数的导数。它支持反向模式微分(又名反向传播),这意味着它可以有效地采用关于数组值参数的标量值函数的梯度,以及正向模式微分,并且两者可以任意组合。Autograd 的主要预期应用是基于梯度的优化。假设您想为您的数据测试一个新的机器学习模型。这通常意味着提出一些损失函数来捕捉模型与数据的拟合程度,并根据模型参数优化该损失。如果有很多模型参数(神经网络可以有数百万个),那么你需要梯度。然后,您有两个选择:自己派生和编码它们,或者使用 Theano 或 TensorFlow 等系统的语法和语义约束来实现您的模型。我们想提供第三种方法:只需使用像 Numpy 这样的标准数值库写下损失函数,Autograd 就会给你它的梯度。如何使用 Autograd?Autograd 的 grad 函数接受一个函数,并为您提供一个计算其导数的函数。您的函数必须具有标量值输出(即 float)。这涵盖了您想要使用渐变来优化某些内容时的常见情况。Autograd 适用于包含所有常用控制结构的普通 Python 和 Numpy 代码,包括 while 循环、if 语句和闭包。幕后发生了什么?要计算梯度,Autograd 首先必须记录在转换为函数输出时应用于输入的每个转换。为此,Autograd 包装函数(使用函数原语),以便在调用它们时,它们会将自己添加到执行的操作列表中。Autograd 的核心有一个表,将这些包装的基元映射到它们相应的渐变函数(或者更准确地说,它们的向量雅可比乘积函数)。为了标记我们采用梯度的变量,我们使用 Box 类包装它们。您永远不必考虑 Box 类,但在打印调试信息时可能会注意到它。评估函数后,Autograd 有一个图表,指定了对我们要区分的输入执行的所有操作。这是函数计算的计算图。为了计算导数,我们只需将微分规则应用于图中的每个节点。反向模式微分:给定一个由多个嵌套函数调用组成的函数,有几种方法可以计算其导数。例如,给定 L(x) = F(G(H(x))),链式规则表示其梯度为 dL/dx = dF/dG * dG/dH * dH/dx。如果我们从右到左评估这个乘积:(dF/dG * (dG/dH * dH/dx)),则执行与计算本身相同的顺序,这称为前向模式微分。如果我们从左到右评估这个乘积:((dF/dG * dG/dH) * dH/dx),则计算本身的相反顺序,这称为逆模微分。与有限差分或正向模式相比,反向模式微分是迄今为止更实用的微分方法,用于区分采用大向量并输出单个数字的函数。在机器学习社区中,逆模微分被称为“反向传播”,因为梯度通过函数向后传播。这特别好,因为您不需要显式实例化中间雅可比矩阵,而只依赖于应用一系列无矩阵向量雅可比乘积函数 (VJP)。由于 Autograd 也支持高等导数,因此也可以使用 Hessian 向量积(二阶导数的一种形式)并高效计算。如何支持 ifs、while 循环和递归?某些 autodiff 软件包(例如 TensorFlow)的工作原理是让您指定函数执行的计算图,包括所有控制流(例如 if 和 for 循环),然后将该图转换为另一个计算梯度的图。这有一些好处(例如允许编译时优化),但它需要你用这些包知道如何处理的有限迷你语言来表达控制流。(例如,TensorFlow 中的 tf.while 和 tf.cond 操作)。相比之下,Autograd 不必知道用于决定调用哪些操作的任何 if、分支、循环或递归。要计算特定输入的梯度,只需知道哪些连续转换应用于该特定输入,而不需要知道可能已应用了哪些其他转换。由于 Autograd 会单独跟踪每个函数调用的相关操作,因此所有 Python 控制流操作对 Autograd 不可见都不是问题。事实上,它大大简化了实现。
* [chrisstroemel/Simple](https://github.com/chrisstroemel/Simple) Simple(x) 是一种比贝叶斯优化更可扩展的全局优化算法。与贝叶斯优化一样,它具有很高的样本效率,能够在尽可能少的样本中收敛到全局最优解。与贝叶斯优化不同的是,它的运行时间复杂度为 O(log(n)),而不是O(n^3)(或使用近似值时为 O(n^2)),并且常数因子大约小三个数量级。Simple 的运行时间性能,加上它在高维空间中优越的样本效率,使该算法能够轻松扩展到具有大量设计变量的问题。对于典型的优化工作负载,贝叶斯优化消耗的 CPU 时间以分钟为单位,而Simple 使用的 CPU 时间以毫秒为单位。Simple 通过构建目标函数行为的内部代理模型来工作。该算法从代理模型预测具有高目标值和大量信息增益的点进行采样,以在未来的迭代中做出更准确的预测。Simple 通过将优化域分解成一组相互独立的离散局部插值来构建其代理模型。每个局部插值都采用单纯形的形式,单纯形是三角形几何概念在更高维度的数学术语。通过测试每个单纯形内部的一个点,该算法可以将父插值分解成 dim+1 个更小、更准确的子插值。Simple 通过将全局优化问题转化为动态规划问题,实现了比贝叶斯优化快得多的速度。由于每个插值都基于纯粹的局部信息,因此可以对单个样本进行采样,而无需重新计算整个搜索空间的更新代理模型。在每一步中,Simple 从其优先队列中获取具有最高获取函数值(最高组合插值值和信息增益)的局部插值,并在该插值的测试点处评估目标函数。然后,该算法使用新的样本信息将父插值细分为更小的子插值,并将其添加回优先队列。每个单纯形都有一个候选测试位置,该位置由几何确定,以帮助保证收敛并抑制创建精度较低的高纵横比插值。更详细地说,获取函数由 acquisition = interpolated_value + exploration_preference* opportunity_cost 给出。探索偏好是一个可调超参数,用于告知算法应该给予探索优化域多少重要性,而不是追求 exploitation。
* [tensorflow/neural-structured-learning](https://github.com/tensorflow/neural-structured-learning) TensorFlow神经结构化学习 (NSL) 是一个新的学习范式,通过利用结构化信号来训练神经网络,除了特征输入之外。结构可以是显式的,如由图表示 [1,2,5],也可以是隐式的,如由对抗性扰动诱导 [3,4]。结构化信号通常用于表示样本之间的关系或相似性,这些样本可能是标记的或未标记的。在神经网络训练期间利用这些信号可以利用标记和未标记数据,从而提高模型精度,尤其是在**标记数据量相对较少**的情况下。此外,使用对抗性扰动生成的样本训练的模型已被证明对**恶意攻击具有鲁棒性**,这些攻击旨在误导模型的预测或分类。NSL 泛化到神经图学习 [1] 以及对抗性学习 [3]。TensorFlow 中的 NSL 框架为开发人员提供以下易于使用的API 和工具,用于使用结构化信号训练模型:* Keras API,用于启用使用图(显式结构)和对抗性扰动(隐式结构)的训练。* TF 操作和函数,用于在使用较低级别 TensorFlow API 时启用使用结构的训练。* 工具,用于构建图并构建用于训练的图输入。NSL 框架设计灵活,可用于训练任何类型的神经网络。例如,前馈、卷积和循环神经网络都可以使用 NSL 框架进行训练。除了监督学习和半监督学习(少量监督)之外,NSL 理论上可以推广到无监督学习。仅在训练期间合并结构化信号,因此服务/推理工作流的性能保持不变。请查看我们的教程以了解 NSL 的实际介绍。
* [jmschrei/pomegranate](https://github.com/jmschrei/pomegranate) Pomegranate是一个 Python 库,用于概率建模,它以其模块化实现和将所有模型视为概率分布的特点而著称。模块化实现允许用户轻松地将正态分布放入混合模型中以创建高斯混合模型,就像将伽马分布和泊松分布放入混合模型中以创建异构混合模型一样。此外,由于每个模型都被视为概率分布,贝叶斯网络可以像正态分布一样轻松地放入混合模型中,而隐马尔可夫模型可以放入贝叶斯分类器中以创建序列分类器。这两种设计选择共同实现了其他任何概率建模包都无法比拟的灵活性。最近,Pomegranate (v1.0.0)使用 PyTorch 进行了重写,以替换过时的 Cython 后端。这次重写让我有机会修复我在作为一名软件工程师时所做的一些糟糕的设计选择。不幸的是,许多更改不向后兼容,会破坏工作流程。另一方面,这些更改显著加快了大多数方法,改进和简化了代码,修复了多年来社区提出的许多问题,并使贡献变得更加容易。我将在下面详细说明,但您现在可能来这里是因为您的代码已损坏,这是简短的说明。Pomegranate 支持使用 `pip install pomegranate`进行安装,如果需要重写之前的 Cython 版本,可以使用 `pip install pomegranate==0.14.8`。您可能需要手动安装 v3 之前的 Cython 版本。重写的动机主要有四个:速度、功能、社区贡献和互操作性。
* [facebookexperimental/Robyn](https://github.com/facebookexperimental/Robyn) Robyn 是来自 Meta Marketing Science 的一个实验性的、由 AI/ML 支持的开源营销组合建模 (MMM) 包。我们的使命是使建模知识民主化,通过创新激励行业,减少建模过程中的人为偏见并建立强大的开源营销科学社区。罗宾是什么? :Robyn 是来自 Meta Marketing Science 的实验性、半自动化和开源营销组合建模 (MMM) 软件包。它使用各种机器学习技术(岭回归、用于超参数优化的多目标进化算法、趋势和季节的时间序列分解、基于梯度的预算分配优化、聚类等)来定义媒体渠道效率和有效性,探索adstock 费率和饱和曲线。它是为具有许多自变量的精细数据集而构建的,因此特别适合具有丰富数据源的数字和直接响应广告商。我们为什么要这样做? :MMM曾经是一种资源密集型技术,只有“大玩家”才能负担得起。随着测量领域隐私需求的发展,对现代 MMM 作为隐私安全解决方案的需求明显增加。在 Meta Marketing Science,我们的使命是通过转变基于数据和科学的营销实践来帮助所有企业发展。它与我们的使命高度一致,即使 MMM 民主化并让各种规模的广告商都可以使用它。通过 Robyn 项目,我们希望为测量领域做出贡献,激励行业,并围绕 MMM 和营销科学的未来建立一个交流和创新的社区。
* [zenml-io/zenml](https://github.com/zenml-io/zenml) 构建可移植、生产就绪的 MLOps 管道。ZenML 是一个 MLOps 框架,适用于希望标准化机器学习实践的数据科学家或 ML 工程师。只需将@step和@pipeline添加到现有的 Python 函数中即可开始使用。轻松预配 MLOps 堆栈或重用现有基础架构:该框架是从业者构建复杂 ML 管道的温和切入点,几乎不需要了解底层基础设施的复杂性。ZenML 管道可以在 AWS、GCP、Azure、Airflow、Kubeflow 甚至 Kubernetes 上运行,而无需更改任何代码或了解底层内部结构。ZenML提供了不同的功能,可以帮助人们在远程环境中快速上手。如果要在所选云提供商上从头开始部署远程堆栈,可以通过仪表板使用一键式部署功能。在生产基础架构上轻松运行工作负载:配置 MLOps 堆栈后,可以轻松地在其上运行工作负载;跟踪模型、管道和工件:创建生成人员、地点以及生成数据和模型的完整谱系,您将能够找出谁在什么时间生成了哪个模型,使用哪些数据以及代码的哪个版本。这保证了完全的可重复性和可审计性。专为机器学习而构建,可集成到您喜爱的工具中:虽然 ZenML 带来了很多盒子的价值,但它也可以集成到您现有的工具和基础设施中,而您不必被锁定。
* [reservoirpy/reservoirpy](https://github.com/reservoirpy/reservoirpy) ReservoirPy是一个简单易用的Python库,用于实现高效的储层计算(RC)架构,特别是回声状态网络(ESN)。它提供灵活的接口,支持离线和在线训练、并行实现、稀疏矩阵计算、快速谱初始化和高级学习规则等功能。用户可以轻松创建包含多个储层、读出和复杂反馈回路的复杂架构。该库还包含图形工具,可以帮助用户使用hyperopt库探索超参数。此外,它还包含多个教程,介绍了奇特的架构和科学论文的复现示例。该库适用于Python 3.8及更高版本。水库计算(Reservoir computing)是一种从循环神经网络理论中衍生出的计算框架,通过一个称为水库的固定非线性系统的动力学,将输入信号映射到更高维的计算空间。在将输入信号输入到被视为“黑盒”的水库后,训练一个简单的读取机制来读取水库的状态并将其映射到所需的输出。这个框架的第一个关键优势是,训练仅在读取阶段进行,因为水库的动力学是固定的。第二个优势是,可以使用自然存在的系统(包括经典和量子力学系统)的计算能力来降低有效的计算成本。
* [replicate/cog](https://github.com/replicate/cog) Cog 是一个开源工具,可让您将机器学习模型打包到标准的生产就绪容器中。特色:Docker 容器没有痛苦,编写自己的 Dockerfile 可能是一个令人困惑的过程,使用 Cog,您可以使用一个简单的配置文件来定义您的环境,它会生成一个包含所有最佳实践的 Docker 镜像:Nvidia 基础镜像、依赖项的高效缓存、安装特定的 Python 版本、合理的环境变量默认值等。不再有 CUDA 地狱,Cog 知道哪些 CUDA/cuDNN/PyTorch/Tensorflow/Python 组合是兼容的,并会为您正确设置。使用标准 Python 定义模型的输入和输出,Cog 生成一个 OpenAPI 架构,并使用 Pydantic 验证输入和输出。自动 HTTP 预测服务器:您的模型类型用于使用 FastAPI 动态生成 RESTful HTTP API。自动队列工作程序,长时间运行的深度学习模型或批处理最好使用队列进行架构,Cog 模型开箱即用。Redis 目前受支持,更多支持正在开发中。云存储,文件可以直接读取和写入 Amazon S3 和 Google Cloud Storage。为生产做好准备,将模型部署到运行 Docker 映像的任何位置。您自己的基础设施或 Replicate。
* [arrayfire/arrayfire](https://github.com/arrayfire/arrayfire) ArrayFire是一个通用张量库,简化了针对CPU、GPU和其他硬件加速设备的并行架构的软件开发过程。它提供数百种加速的张量计算函数,涵盖数组处理、计算机视觉、图像处理、线性代数、机器学习、标准数学、信号处理、统计和向量算法等领域。ArrayFire拥有易于使用、稳定且文档齐全的API,并通过严格的基准测试和测试确保最佳性能和数值精度。它支持CUDA、oneAPI、OpenCL和原生CPU,可在Windows、Mac和Linux上运行。ArrayFire还内置了通过Forge实现的可视化功能,并提供商业友好的开源许可和企业支持。ArrayFire通过`af::array`对象提供对加速器上数据的抽象,开发者编写对ArrayFire数组进行操作的代码,这些代码会自动转换为在计算设备上执行的近乎最佳的内核。ArrayFire可在从低功耗移动电话到高性能GPU支持超级计算机的各种设备上运行。它支持来自所有主要供应商(英特尔、AMD、ARM)的CPU,来自主要制造商(AMD、英特尔、英伟达和高通)的GPU,以及Windows、Mac和Linux上的各种其他加速器设备。
* [modelscope/modelscope](https://github.com/modelscope/modelscope) ModelScope 建立在“模型即服务”(MaaS) 的概念之上。它旨在汇集来自人工智能社区的最先进的机器学习模型,并简化在实际应用中利用人工智能模型的过程。此存储库中开源的核心 ModelScope 库提供了允许开发人员执行模型推理、训练和评估的接口和实现。特别是,ModelScope 库具有丰富的 API 抽象层,可提供统一的体验,以探索跨 CV、NLP、语音、多模态和科学计算等领域的最先进模型。不同领域的模型贡献者可以通过分层 API 将模型集成到 ModelScope 生态系统中,从而轻松统一地访问他们的模型。集成后,只需几行代码即可完成模型推理、微调和评估。同时,还提供了灵活性,以便在必要时可以定制模型应用程序中的不同组件。除了包含各种不同模型的实现外,ModelScope 库还支持与 ModelScope 后端服务进行必要的交互,尤其是与 Model-Hub 和 Dataset-Hub 的交互。这种交互有助于在后台无缝执行各种实体(模型和数据集)的管理,包括实体查找、版本控制、缓存管理等。
* [deepchecks/deepchecks](https://github.com/deepchecks/deepchecks) Deepchecks:用于持续验证ML模型和数据的测试。Deepchecks 是一个整体的开源解决方案,可满足您所有的 AI 和 ML 验证需求,能够彻底测试您的数据和模型,从研究到生产。Deepchecks 是一个全面的开源解决方案,可满足您所有的 AI 和 ML 验证需求,使您能够彻底测试从研究到生产的数据和模型。Deepchecks的核心包括各种内置检查,用于测试所有类型的数据和模型相关问题。这些检查针对各种模型和数据类型(表格、NLP、视觉)实现,并且可以轻松自定义和扩展。检查结果可用于自动对模型的生产准备情况做出明智的决策,并在生产中随时间推移对其进行监控。检查结果可以通过可视化报告进行检查(通过将它们保存到 HTML 文件,或在 Jupyter 中查看它们),使用代码进行处理(使用其 pythonic / json 输出),并使用 Deepchecks 的动态 UI 进行检查和协作(用于检查测试结果和生产监控)。
* [ml-explore/mlx](https://github.com/ml-explore/mlx) Apple 机器学习研究团队推出的基于 Apple 芯片的机器学习阵列框架。主要功能包括:熟悉的 API:MLX 有一个紧跟 NumPy 的 Python API。MLX 还有一个功能齐全的 C++ API,它与 Python API 非常相似。MLX 具有更高级别的包,例如 API mlx.optimizers ,这些包与 PyTorch 密切相关, mlx.nn 以简化构建更复杂的模型。可组合函数变换:MLX支持可组合函数变换,实现自动微分、自动矢量化、计算图优化等功能。延迟计算:MLX 中的计算是延迟的。数组仅在需要时具体化。动态图构建:MLX中的计算图是动态构建的。更改函数参数的形状不会触发缓慢的编译,并且调试简单直观。多设备:操作可以在任何受支持的设备(当前为 CPU 和 GPU)上运行。统一内存:与 MLX 和其他框架的显着区别是统一内存模型。MLX 中的数组位于共享内存中。可以在任何受支持的设备类型上执行对 MLX 阵列的操作,而无需传输数据。
* [feast-dev/feast](https://github.com/feast-dev/feast) 用于机器学习的开源功能存储。Feast 是管理现有基础设施的最快途径,用于生产用于模型训练和在线推理的分析数据。通过管理离线存储(用于处理用于横向扩展批量评分或模型训练的历史数据)、低延迟在线存储(支持实时预测)和经过实战测试的功能服务器(用于在线提供预先计算的功能),使功能始终可用于训练和服务。通过生成时间点正确的特征集来避免数据泄露,以便数据科学家可以专注于特征工程,而不是调试容易出错的数据集连接逻辑,这可确保将来的特征值不会在训练期间泄漏到模型中。通过提供单个数据访问层将特征存储从特征检索中抽象出来,将 ML 与数据基础架构分离,确保模型在从训练模型迁移到服务模型、从批处理模型迁移到实时模型以及从一个数据基础设施系统迁移到另一个数据基础设施时保持可移植性。
* [nextflow-io/nextflow](https://github.com/nextflow-io/nextflow) Nextflow是一个用于创建可扩展、可移植和可重复工作流程的系统,它基于数据流编程模型,简化了并行和分布式管道的编写,使您专注于数据和计算流程。Nextflow可以在多种执行平台上部署工作流程,包括本地机器、HPC调度器、AWS Batch、Azure Batch、Google Cloud Batch和Kubernetes。此外,它支持多种管理软件依赖项的方式,包括Conda、Spack、Docker、Podman、Singularity等。您可以通过单个命令安装Nextflow,并从Bioconda安装它。Nextflow的文档可在最新稳定版和边缘版中获取。您可以在Nextflow社区论坛或Nextflow Slack中提问并获得帮助,并通过GitHub问题报告错误和功能请求。Nextflow社区非常活跃,定期举办社区会议、活动、播客等。您可以在Nextflow和nf-core的YouTube频道上查看大部分内容。nf-core项目是一个社区努力,汇集了高质量的Nextflow工作流程,供所有人使用。
* [IDSIA/sacred](https://github.com/IDSIA/sacred) Sacred 是一个帮助您配置、组织、记录和重现实验的工具。它旨在完成您在实际实验中需要完成的所有繁琐的日常工作,以便:跟踪实验的所有参数,轻松运行不同设置的实验,将各个运行的配置保存在数据库中。重现你的结果,Sacred 通过以下主要机制实现这一目标:配置范围函数中局部变量的一种非常方便的方法来定义实验使用的参数;配置注入:您可以从每个函数访问配置的所有参数。它们是按名称自动注入的;命令行界面:每个实验都有一个强大的命令行界面,可用于更改参数并运行不同的变体;观察者:Sacred 提供了观察者来记录有关您的实验、其依赖项、您使用的配置、运行的机器,当然还有结果的各种信息;这些可以保存到 MongoDB,以便以后轻松访问;自动播种有助于控制实验中的随机性,从而使结果保持可重复性。
* [rusty1s/pytorch_scatter](https://github.com/rusty1s/pytorch_scatter) PyTorchScatter 是一个 PyTorch 扩展库,提供高度优化的稀疏更新(散射和分割)操作,弥补了 PyTorch 主库的不足。它基于给定的“分组索引”张量实现类似于归约操作的散射和分割操作,其中分割操作要求“分组索引”张量已排序,而散射操作则没有此要求。该库包含基于任意索引的散射、基于排序索引的 segment_coo 和基于压缩索引的segment_csr 等操作,并提供 sum、mean、min、max 等多种归约类型。此外,它还提供 scatter_std、scatter_logsumexp、scatter_softmax 和 scatter_log_softmax 等复合函数,这些函数利用 scatter_* 操作。所有操作都可广播,支持各种数据类型,并在 CPU 和 GPU 上实现,并提供相应的反向传播实现,且完全可追踪。该库可以通过 Anaconda 或 pip 安装,并提供适用于各种操作系统、PyTorch 和 CUDA 版本的二进制文件。
* [Thinklab-SJTU/awesome-ml4co](https://github.com/Thinklab-SJTU/awesome-ml4co) 用于组合优化论文的出色机器学习资源。包括图论问题: 图形匹配、旅行商问题、最大独立集、哈密顿循环问题、图着色、最大公共子图等。这类问题通常涉及到图的结构和性质,寻找图中的最优解。组合优化问题: 背包问题、车辆路径问题、作业车间调度问题、设施位置问题等。这类问题主要涉及到离散变量的优化,寻找满足约束条件下的最优组合。整数规划问题: 混合整数规划问题。这类问题是组合优化问题的一种特殊形式,变量取值为整数。其他问题: 投资组合优化、影响力最大化、因果发现、博弈论语义、可微优化、电子设计自动化、虚拟网络嵌入、预测+优化、最佳功率流、排序和排名、组合药物推荐、随机组合优化等。这些问题涉及到更广泛的领域,如机器学习、人工智能、经济学等。
* [scikit-learn-contrib/DESlib](https://github.com/scikit-learn-contrib/DESlib) DESlib是一个易于使用的集成学习库,专注于实现最先进的动态分类器和集成选择技术。该库基于scikit-learn,使用相同的函数签名:fit、predict、predict_proba和score。所有动态选择技术都是根据[1]中的定义实现的。动态选择(DS)指的是在测试时根据每个新样本动态选择基础分类器的方法。只有最称职的分类器或最称职的分类器集合被选中来预测特定测试样本的标签。这些技术的原理是,池中的每个分类器都不是所有未知样本的专家,而是每个基础分类器都是特征空间不同局部区域的专家。DS是多分类器系统(MCS)中最有希望的方法之一,因为越来越多的实证研究表明,与静态组合方法相比,它具有更好的性能。这些技术在处理小尺寸和不平衡数据集时,尤其能获得更好的分类性能。
* [smarco/WFA2-lib](https://github.com/smarco/WFA2-lib) WFA2-lib 是一个实现 Wavefront Alignment (WFA) 算法的库,该算法是一种精确的 gap-affine 对齐算法,通过利用序列之间的同源区域来加速对齐过程。与传统的动态规划算法相比,WFA 的时间复杂度为 `O(ns+s^2)`,其中 `n` 是序列长度,`s` 是对齐得分,内存使用量为 `O(s^2)` (或使用 ultralow/BiWFA 模式时为 `O(s)`)。WFA2-lib 支持多种距离函数 (如 indel、edit、gap-linear、gap-affine 和 dual-gap gap-affine),并允许计算得分或完整对齐 (CIGAR)。此外,它还支持全局对齐和自由端对齐 (包括半全局、glocal 和扩展对齐),并提供低内存模式以减少内存使用。除了精确对齐模式,WFA2-lib 还实现了启发式模式以加速对齐计算。该库还提供许多其他支持函数,用于显示和验证对齐结果,控制内存使用等。
* [skypilot-org/skypilot](https://github.com/skypilot-org/skypilot) SkyPilot:在任何基础设施(Kubernetes 或 12+ 云)上运行 AI 和批处理作业。通过简单的界面实现统一执行、成本节约和高可用性。SkyPilot 消除了基础设施负担:在任何基础设施上启动开发集群、作业和服务;轻松的作业管理:对许多作业进行排队、运行和自动恢复。SkyPilot 支持多个集群、云和硬件 (Sky):带上您的预留 GPU、Kubernetes 集群或 12+ 云,灵活预置 GPU、TPU、CPU,具有自动重试功能。SkyPilot降低您的云成本并最大化GPU可用性:Autostop:自动清理空闲资源;托管 Spot:使用 Spot 实例节省 3-6 倍的成本,并具有抢占自动恢复功能;优化器:通过自动选择最便宜和最可用的基础设施,节省2倍的成本。SkyPilot 支持您现有的 GPU、TPU 和 CPU 工作负载,无需更改代码。
* [feathr-ai/feathr](https://github.com/feathr-ai/feathr) Feathr是一个可扩展的统一数据和 AI 工程平台,在 LinkedIn 生产环境中应用多年,于 2022 年开源。它允许用户使用 Pythonic API定义数据和特征转换,并注册转换以便在 AI 建模、合规性、市场营销等各种用例中获取转换后的数据(特征)。Feathr 尤其适用于 AI 建模,它能自动计算特征转换并将其加入训练数据,使用时间点正确语义避免数据泄露,并支持物化和部署特征以供在线生产使用。Feathr 具有云原生集成、可扩展的架构、丰富的转换 API、Pythonic API 和高度可定制的用户定义函数 (UDF) 等特点,并支持 PySpark和 Spark SQL,降低了数据科学家的学习曲线。Feathr 内置的注册表使命名转换和数据/特征重用变得轻而易举。可以通过 Feathr Sandbox 轻松体验 Feathr 的功能。
* [PAIR-code/lit](https://github.com/PAIR-code/lit) LIT(Learning Interpretability Tool) 是一个可视化、交互式的机器学习模型理解工具,支持文本、图像和表格数据。它可以作为独立服务器运行,也可以在 Colab、Jupyter 和 Google Cloud Vertex AI 笔记本等笔记本环境中运行。LIT 旨在回答诸如“我的模型在哪些类型的示例上表现不佳?”、“为什么我的模型做出这个预测?”、“如果我改变文本风格、动词时态或代词性别,我的模型是否会保持一致?”等问题。LIT 通过基于浏览器的 UI 支持各种调试工作流程,包括局部解释、聚合分析、反事实生成、并排模式和高度可扩展性。它与 TensorFlow、PyTorch 等框架无关。LIT 拥有一个网站,其中包含实时演示、教程、设置指南等。可以通过 pip 或从源代码构建来安装 LIT。
* [flashlight/flashlight](https://github.com/flashlight/flashlight) Flashlight是一个完全用 C++ 编写的快速、灵活的机器学习库,由 Facebook AI Research 和 Torch、TensorFlow、Eigen 和 Deep Speech 的创建者开发。其核心特性包括:完全可修改性(包括用于张量计算的内部 API)、小巧的占地面积(核心代码不到 10MB,20k 行 C++ 代码)、高性能默认设置(通过 ArrayFire 张量库使用现代 C++ 进行即时内核编译)、注重效率和可扩展性。Flashlight 在 C++ 中提供原生支持,并易于扩展,使其成为一个强大的研究框架,能够在新的实验设置和算法上快速迭代,同时保持性能。在一个代码库中,Flashlight 提供了用于跨多个领域进行研究的应用程序,例如:自动语音识别(以前称为 wav2letter 项目)、图像分类、目标检测、语言建模。
* [facebookresearch/CrypTen](https://github.com/facebookresearch/CrypTen) CrypTen是一个基于 PyTorch 的隐私保护机器学习框架,旨在让安全计算技术更易于被机器学习从业者使用。它使用安全多方计算(MPC) 作为安全计算后端,为 ML 研究人员提供三个主要优势:1. 以机器学习为先,通过 `CrypTensor` 对象提供协议,该对象与 PyTorch 的 `Tensor` 具有相同的行为,允许用户使用自动微分和神经网络模块。2. 基于库,与 PyTorch 一样实现了一个张量库,使从业者更容易调试、实验和探索 ML 模型。3. 框架考虑了现实世界的挑战,没有简化安全协议的实现。CrypTen 目前运行在Linux 和 Mac 上,支持 Python 3.7 和 GPU 计算,但不支持 Windows。该项目提供了多个示例,包括线性 SVM、LeNet、TFE 基准测试、Bandit 和 ImageNet,涵盖了各种模型。
* [jeshraghian/snntorch](https://github.com/jeshraghian/snntorch) snntorch是一个基于PyTorch的Python包,用于使用脉冲神经网络进行基于梯度的学习。它扩展了PyTorch的功能,利用其GPU加速的张量计算,并将其应用于脉冲神经元网络。预先设计的脉冲神经元模型与PyTorch框架无缝集成,可以作为循环激活单元进行处理。snntorch包含一个脉冲神经元库、一个用于脉冲生成和数据转换的库、一个用于可视化基于脉冲数据的工具库、一个用于可选代理梯度函数的库,以及一个数据集实用程序函数库。snntorch旨在与PyTorch直观地使用,就好像每个脉冲神经元只是一个层序列中的另一个激活一样。因此,它与全连接层、卷积层、残差连接等无关。目前,神经元模型由递归函数表示,这消除了存储膜电位的需要。
* [explainX/explainx](https://github.com/explainX/explainx) explainX是一个面向数据科学家和商业用户的模型可解释性/可理解性框架,它可以帮助用户通过一行代码来解释和调试任何黑盒机器学习模型。explainX 可以帮助用户理解模型的整体行为,解释模型预测背后的原因,消除数据偏差,并为商业利益相关者创建令人信服的解释。用户可以通过 explainX 回答诸如“为什么我的模型犯了错误?”、“我的模型有偏差吗?如果有,在哪里?”、“如何理解和信任模型的决策?”、“我的模型是否满足法律和监管要求?”等问题。explainX 提供了一个完整的可解释性仪表板,包含所有可解释性技术,用户也可以单独访问这些技术。该项目正在寻找合作者,感兴趣的可以联系 [email protected]。
* [MegEngine/MegEngine](https://github.com/MegEngine/MegEngine) MegEngine 是一个快速、可拓展、易于使用且支持自动求导的深度学习框架。MegEngine 是一个快速、可扩展且用户友好的深度学习框架,具有 3 个关键功能。训练和推理的统一框架;量化、动态形状/图像预处理,甚至使用单个模型进行推导;训练后,将所有内容放入模型中,以便在任何平台上快速、精确地进行推理。最低的硬件要求,启用DTR算法后,GPU的内存使用量可以减少到原来内存使用量的三分之一,利用我们的下推内存规划器实现内存使用率最低的推理模型。在所有平台上高效推理,在 x86、Arm、CUDA 和 RoCM 上进行快速且高精度的推理。支持Linux、Windows、iOS、Android、TEE等。利用我们的高级功能优化性能和内存使用。
* [dssg/aequitas](https://github.com/dssg/aequitas) Aequitas是一个开源的偏差审计和公平机器学习工具包,专为数据科学家、机器学习研究人员和政策制定者设计。它提供了一个易于使用且透明的工具,用于审计机器学习模型的预测,以及在二元分类设置中使用公平机器学习方法来尝试“纠正有偏差的模型”。该项目还提供详细的教程和相关出版物,帮助用户了解如何在人工智能/机器学习系统中处理偏差和公平问题。Aequitas 1.0.0 版本引入了 Aequitas Flow,它将偏差审计与偏差缓解相结合,并通过新的简化功能增强了公平机器学习方法的实验。用户可以使用示例笔记本进行模型审计、模型预测纠正、公平机器学习实验,以及将自定义方法添加到 Aequitas Flow 工具包。
* [tensorflow/compression](https://github.com/tensorflow/compression) TensorFlow Compression(TFC) 是一个 TensorFlow 库,提供数据压缩工具,用于构建包含端到端优化数据压缩的机器学习模型。它可以帮助您找到数据的存储效率表示(图像、特征、示例等),同时仅牺牲一小部分模型性能。该库包含 C++ 编写的灵活 TF 操作形式的范围编码(也称为算术编码)实现,熵模型类,以及其他 TensorFlow 函数和 Keras 层,这些函数和层在学习数据压缩的背景下很有用。TFC 现已进入维护模式,这意味着功能集已固定,但将继续维护修复。从 TensorFlow 2.15 开始,TFC 包将不再与 Keras 兼容,因此发布了一个新的包 `tensorflow-compression-ops`,其中只包含 C++ 操作,并将在未来更新以支持更新的 TensorFlow 版本。
* [cornellius-gp/gpytorch](https://github.com/cornellius-gp/gpytorch) GPyTorch是一个基于 PyTorch 的高性能高斯过程库,旨在简化可扩展、灵活和模块化高斯过程模型的创建。GPyTorch采用数值线性代数技术(如预处理共轭梯度法)进行推断,与许多现有方法不同。通过提供内核矩阵及其导数的矩阵乘法例程,或通过组合已有的 `LinearOperators`,可以轻松实现可扩展的 GP 方法。这不仅简化了流行的可扩展 GP 技术的实现,而且与基于 Cholesky 分解的求解器相比,通常可以显著提高 GPU 计算的利用率。GPyTorch 提供了显著的 GPU 加速(通过基于 MVM 的推断)、最先进的算法实现(如 SKI/KISS-GP、随机 Lanczos 展开、LOVE、SKIP、随机变分、深度内核学习等)以及与深度学习框架的轻松集成。
* [google/differential-privacy](https://github.com/google/differential-privacy) Google的差分隐私库,提供了一系列工具用于生成 ε- 和 (ε, δ)- 差分隐私统计数据,包括:Privacy on Beam(基于 Apache Beam的端到端差分隐私框架)、PipelineDP4j(针对 JVM 语言的端到端差分隐私框架)、C++、Go 和 Java的差分隐私构建块库(实现基本噪声添加原语和差分隐私聚合)、随机测试器、差分隐私会计库、用于运行差分隐私 SQL 查询的命令行界面以及用于审核差分隐私保证的 DP Auditorium 库。该库支持多种算法,包括拉普拉斯机制、高斯机制、计数、求和、平均值、方差、标准差、分位数、自动边界近似、截断几何阈值、拉普拉斯阈值、高斯阈值和预阈值。该库适用于研究、实验或生产用例。
* [huggingface/evaluate](https://github.com/huggingface/evaluate) 🤗 Evaluate是一个用于轻松评估机器学习模型和数据集的库,它包含数十种流行指标的实现,涵盖从 NLP 到计算机视觉的各种任务,并提供数据集特定的指标。用户可以使用简单的命令(如 `accuracy = load("accuracy")`)加载任何指标,并将其用于评估任何框架(Numpy/Pandas/PyTorch/TensorFlow/JAX)中的 ML 模型。Evaluate 还提供模型比较和数据集评估工具,以及一个简单的方法来将新的评估模块添加到 🤗 Hub。每个指标都附带一个卡片,描述其值、限制和范围,并提供使用和用途的示例。用户可以轻松地添加自己的指标,并与他人协作。Evaluate 可以通过pip 安装,并提供类型检查、社区指标等功能。
* [pymc-devs/pymc](https://github.com/pymc-devs/pymc) PyMC是一个用于贝叶斯统计建模的 Python 包,专注于先进的马尔可夫链蒙特卡罗 (MCMC) 和变分推断 (VI) 算法。其灵活性和可扩展性使其适用于各种问题。它提供直观的模型规范语法,例如 `x ~ N(0,1)`,并支持强大的采样算法,如 No U-Turn Sampler,允许对具有数千个参数的复杂模型进行建模。PyMC 还支持变分推断,包括 ADVI 和 mini-batch ADVI,用于快速近似后验估计。它依赖于 PyTensor,提供计算优化、动态 C 或 JAX 编译、NumPy广播和高级索引以及线性代数运算符。PyMC 还透明地支持缺失值插补。例如,可以使用 PyMC 建立线性回归模型,以预测植物生长与阳光照射时间、浇水量和土壤氮含量之间的关系。
* [PAIR-code/what-if-tool](https://github.com/PAIR-code/what-if-tool) What-If Tool(WIT) 是一个用于深入理解黑盒分类或回归机器学习模型的工具,它提供了一个易于使用的界面,可以对大量示例进行推理并以多种方式可视化结果。用户可以手动或以编程方式编辑示例,并重新运行模型以查看更改带来的结果。WIT 还包含用于调查模型性能和公平性的工具,并能够在数据集子集上进行分析。WIT 的目标是为用户提供一个简单、直观且强大的方式,让他们无需编写任何代码即可通过可视化界面与训练好的机器学习模型进行交互。WIT 可以通过 TensorBoard 访问,也可以作为 Jupyter 或 Colab 笔记本的扩展使用。该项目提供了一系列Web 和 Colab 演示,用户可以轻松上手体验。
* [Trusted-AI/AIF360](https://github.com/Trusted-AI/AIF360) AI Fairness 360 (AIF360) 是一个开源工具包,包含了用于检测和减轻机器学习模型中偏差的技术。它提供了一套全面的数据集和模型公平性指标,以及用于解释这些指标和减轻数据集和模型偏差的算法。AIF360 支持多种偏差缓解算法,包括优化预处理、差异影响消除器、均衡几率后处理、重新加权、拒绝选项分类、偏见消除正则化、校准均衡几率后处理、学习公平表示、对抗性去偏、公平分类元算法、丰富子组公平性、指数梯度减少、网格搜索减少、公平数据自适应等。该工具包可在 Python 和 R中使用,并提供交互式体验、教程和完整 API 文档,旨在将算法研究从实验室转化到现实应用中。
* [xenova/transformers.js](https://github.com/xenova/transformers.js) 最先进的 Web 机器学习。直接在浏览器中运行🤗Transformers,无需服务器! 被设计为在功能上等同于 Hugging Face 的 transformers python 库,这意味着您可以使用非常相似的 API 运行相同的预训练模型。这些模型支持不同模式的常见任务,例如:自然语言处理:文本分类、命名实体识别、问答、语言建模、摘要、翻译、多项选择和文本生成。计算机视觉:图像分类、物体检测和分割。音频:自动语音识别和音频分类。多模态:零样本图像分类。Transformers.js使用 ONNX 运行时在浏览器中运行模型。最好的部分是,您可以使用 🤗 Optimum 轻松地将预训练的 PyTorch、TensorFlow 或 JAX 模型转换为 ONNX。
* [tensorflow/transform](https://github.com/tensorflow/transform) TensorFlow Transform(TFT) 是一个用于使用 TensorFlow 预处理数据的库。它适用于需要完整数据遍历的预处理任务,例如:使用均值和标准差对输入值进行归一化,通过生成所有输入值的词汇表将字符串转换为整数,根据观察到的数据分布将浮点数分配到桶中。TFT 扩展了 TensorFlow 对单个示例或示例批次的处理能力,支持对示例数据进行完整遍历。TFT 的输出以 TensorFlow 图的形式导出,用于训练和服务。使用相同的图进行训练和服务可以防止数据偏差,因为两个阶段都应用了相同的转换。TFT 需要 TensorFlow、Apache Beam 和 Apache Arrow。它支持本地模式和分布式模式,例如使用 Google Cloud Dataflow。
* [jupyter/docker-stacks](https://github.com/jupyter/docker-stacks) Jupyter Docker Stacks提供了一系列预构建的 Docker 镜像,包含 Jupyter 应用和交互式计算工具,方便用户快速启动 Jupyter Server、JupyterHub 以及其他 Jupyter 应用。用户可以使用这些镜像轻松地创建个人 Jupyter Server、团队 JupyterHub 或自定义项目 Dockerfile。该项目提供多种镜像,例如 `jupyter/scipy-notebook`和 `jupyter/datascience-notebook`,用户可以通过简单的 Docker 命令启动这些镜像,并通过浏览器访问 JupyterLab。此外,用户还可以使用 `-v` 选项将本地目录挂载到容器中,方便进行数据访问和项目开发。该项目文档详细介绍了各种镜像、使用方法和功能,用户可以参考文档进行更深入的了解。
* [google-research/rliable](https://github.com/google-research/rliable) rliable是一个开源 Python 库,用于在强化学习和机器学习基准测试中进行可靠的评估,即使只有少量运行也能做到。它使用分层引导置信区间来解决性能评估中的不确定性问题,并通过性能概况来展示不同任务和运行之间的性能差异,而不是仅仅使用表格形式的平均分数。rliable 还提供了诸如跨所有运行的四分位数均值 (IQM) 等聚合指标,以更全面地评估基准测试性能。该库还包含一个交互式 Colab 笔记本,展示了如何使用 rliable,并提供了在 Atari 100k、ALE、DM Control 和 Procgen 等广泛使用的基准测试上对已发表算法的示例。rliable 的相关论文获得了 NeurIPS 2021 的杰出论文奖。
* [oegedijk/explainerdashboard](https://github.com/oegedijk/explainerdashboard) ExplainerDashboard是一个Python库,可以快速构建可解释的AI仪表板,以展示所谓的“黑盒”机器学习模型的内部工作原理。它提供交互式图表,展示模型性能、特征重要性、特征对单个预测的贡献、“如果”分析、偏依赖图、SHAP(交互)值、单个决策树的可视化等。用户可以在笔记本/colab环境中交互式地探索仪表板的组件,或设计具有自定义布局和解释的仪表板。仪表板可以从运行的仪表板直接导出到静态html,或作为自动化CI/CD部署过程的一部分以工件的形式进行编程导出。该库支持scikit-learn、xgboost、catboost、lightgbm和skorch(用于表格PyTorch模型的sklearn包装器)等库。
* [tensorflow/fairness-indicators](https://github.com/tensorflow/fairness-indicators) Tensorflow's Fairness Indicators是一个用于评估、改进和比较模型公平性的工具包,它与Tensorflow工具包协同工作。该工具包能够计算二元和多分类模型的常见公平性指标,并支持对大型数据集和模型进行评估。它可以评估数据集的分布,以及模型在不同用户群中的表现,并提供置信区间和多阈值评估。此外,它还允许深入分析单个切片,以探索根本原因并寻找改进机会。该工具包包含Tensorflow Data Validation (TFDV)用于分析数据集分布,Tensorflow Model Analysis (TFMA)用于分析模型性能,以及Fairness Indicators用于添加公平性指标和跨切片比较性能。它还提供夜间包,可以通过pip安装。
* [kedro-org/kedro](https://github.com/kedro-org/kedro) 用于生产就绪型数据科学的工具箱。它使用软件工程最佳实践来帮助你创建可重现、可维护和模块化的数据工程和数据科学管道。基于Cookiecutter数据科学的标准、可修改且易于使用的项目模板。一系列轻量级数据连接器,用于跨多种不同的文件格式和文件系统(包括本地和网络文件系统、云对象存储和 HDFS)保存和加载数据。数据目录还包括基于文件的系统的数据和模型版本控制。使用 Kedro-Viz 自动解析纯 Python 函数和数据管道可视化之间的依赖关系。部署策略,包括单机或分布式计算机部署,以及对在 Argo、Prefect、Kubeflow、AWS Batch 和 Databricks 上部署的额外支持。
* [yosinski/deep-visualization-toolbox](https://github.com/yosinski/deep-visualization-toolbox) DeepVis Toolbox是一个用于深度神经网络可视化的工具箱,它允许用户通过正则化优化生成神经元级别的可视化。该工具箱提供了两种主要功能:1. 前向/反向传播:用户可以使用该工具箱对图像进行前向传播,以可视化网络中的激活,并使用反向传播计算任何单元相对于其他单元的导数。2. 单元级可视化:该工具箱支持三种类型的单元级可视化,包括最大图像、最大图像的反卷积和通过正则化优化进行的激活最大化。用户可以使用该工具箱可视化自己的模型,但需要预先计算单元级可视化,因为它们计算成本很高。该工具箱还包含CaffeNet模型的预计算单元级可视化。
* [featureform/featureform](https://github.com/featureform/featureform) Featureform是一个虚拟特征存储,它可以将您现有的数据基础设施转变为特征存储。它允许数据科学家定义、管理和提供其 ML 模型的特征。Featureform 位于您现有的基础设施之上,并对其进行编排,使其像传统的特征存储一样工作。使用 Featureform,数据科学团队可以解决以下组织问题:增强协作、组织实验、简化部署、提高可靠性、保持合规性。Featureform 通过将转换、特征、标签和训练集推送到具有元数据(如名称、变体、血统和所有者)的集中式特征存储库来实现这些目标。它还通过其编排器处理重试逻辑并自动解决其他常见分布式系统问题来确保可靠性。
* [BloodAxe/pytorch-toolbelt](https://github.com/BloodAxe/pytorch-toolbelt) PyTorch-toolbelt 是一个 Python 库,为 PyTorch 提供了一系列工具,用于快速进行 R&D 原型设计和 Kaggle 比赛。它包含易于使用的编码器-解码器架构、各种模块(如 CoordConv、SCSE、Hypercolumn、深度可分离卷积等)、GPU 友好的测试时间增强(TTA)用于分割和分类、GPU 友好的大图像(5000x5000)推理、日常常用例程(修复/恢复随机种子、文件系统工具、指标)、损失函数(如 BinaryFocalLoss、Focal、ReducedFocal、Lovasz、Jaccard 和 Dice 损失、Wing Loss 等)以及 Catalyst 库的扩展(批预测可视化、额外指标)。该库旨在补充 Catalyst、Ignite 和 fast.ai 等高级框架,而不是取代它们。
* [NannyML/nannyml](https://github.com/NannyML/nannyml) NannyML是一个开源的 Python 库,用于在模型部署后估计模型性能(无需访问目标数据),检测数据漂移,并将数据漂移警报与模型性能变化智能地关联起来。它专为数据科学家设计,提供易于使用的界面、交互式可视化,完全与模型无关,目前支持所有表格用例,包括分类和回归。NannyML 的核心贡献者研究并开发了多种用于估计模型性能的新算法:基于置信度的性能估计(CBPE) 和直接损失估计 (DLE)。Nansters 还发明了一种使用基于 PCA 的数据重建来检测多变量数据漂移的新方法。如果您喜欢我们的工作,请加入我们的社区 Slack 并为我们提供 GitHub 星标。
* [ScottfreeLLC/AlphaPy](https://github.com/ScottfreeLLC/AlphaPy) AlphaPy是一个用 Python 编写的机器学习框架,专为交易者和数据科学家设计,使用 scikit-learn、pandas 等库,以及其他用于特征工程和可视化的工具。AlphaPy 可以用于运行机器学习模型(包括 scikit-learn、Keras、xgboost、LightGBM 和 CatBoost),生成混合或堆叠集成,使用 MarketFlow 分析市场,使用 SportFlow 预测体育赛事,以及使用 MarketFlow 和 Quantopian 的 pyfolio开发交易系统和分析投资组合。AlphaPy 还提供 MarketFlow 和 SportFlow 等功能,用于构建交易系统和分析市场,并提供 GamePT 等示例项目。用户可以通过 Github 提交问题寻求支持,并通过 Twitter关注项目最新动态。
* [pykale/pykale](https://github.com/pykale/pykale) PyKale是一个基于 PyTorch 生态的机器学习库,旨在通过弥合数据、软件和最终用户之间的差距,使机器学习更易于跨学科研究。PyKale 采用统一的管道式 API,专注于多模态学习和迁移学习,目前支持图、图像和视频,并提供深度学习和降维模型。PyKale 通过绿色机器学习理念,如减少重复和冗余、重用现有资源以及跨领域循环利用学习模型,来实现标准化和最小化。PyKale 将促进和加速跨学科、知识感知的机器学习研究,应用于生物信息学、图分析、图像/视频识别和医学影像等领域,其总体主题是利用来自多个来源的知识进行准确且可解释的预测。
* [PaddlePaddle/VisualDL](https://github.com/PaddlePaddle/VisualDL) VisualDL是飞桨深度学习可视化工具,提供多种图表展示参数趋势,可视化模型结构、数据样本、张量直方图、PR曲线、ROC曲线和高维数据分布等,帮助用户更清晰直观地理解训练过程和模型结构,高效优化模型。VisualDL提供实时跟踪指标、可视化模型结构、展示数据样本、可视化超参数与模型指标关系、展示张量分布变化、展示PR曲线、将高维数据投影到低维空间等多种可视化功能。VisualDL还提供VDL.service,方便开发者保存、跟踪和分享实验的可视化结果。VisualDL原生支持Python,开发者只需在训练前添加几行Python代码即可获取丰富的可视化结果。
* [google/flax](https://github.com/google/flax) Flax是一个为 JAX 设计的灵活的神经网络库,它允许用户通过修改训练循环而不是添加框架功能来尝试新的训练形式。Flax与 JAX 团队紧密合作开发,提供从神经网络 API(如 Dense、Conv、{Batch|Layer|Group} Norm、Attention、Pooling、{LSTM|GRU} Cell、Dropout)到实用工具和模式(如复制训练、序列化和检查点、指标、设备预取)、教育示例(如 MNIST、LSTM seq2seq、图神经网络、序列标记)以及快速、经过调优的大规模端到端示例(如 CIFAR10、ImageNet 上的 ResNet、Transformer LM1b)等一系列功能,帮助用户快速开始研究。用户可以使用 pip install flax 命令安装 Flax。
* [microsoft/responsible-ai-toolbox](https://github.com/microsoft/responsible-ai-toolbox) MicrosoftResponsible AI Toolbox 是一个工具套件,提供模型和数据探索以及评估用户界面和库,帮助更好地理解 AI 系统。这些界面和库使AI 系统的开发人员和利益相关者能够更负责任地开发和监控 AI,并做出更好的数据驱动决策。该工具箱包含三个仓库:Responsible-AI-Toolbox 仓库包含四个可视化小部件,用于模型评估和决策:Responsible AI 仪表板、错误分析仪表板、可解释性仪表板和公平性仪表板;Responsible-AI-Toolbox-Mitigations 仓库包含用于缓解 AI 系统中偏差和公平问题的工具;Responsible-AI-Widgets 仓库包含用于构建 Responsible AI工具箱的 UI 组件。
* [jupyter-widgets/ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet) ipyleaflet是一个 Jupyter 和 Leaflet.js 之间的桥梁,它允许在 Jupyter笔记本中创建交互式地图。该项目提供了丰富的功能,包括选择底图、加载 GeoJSON 地图、使用 Leaflet.js 原生组件、使用 Splitmap 控件、显示速度数据、创建 Choropleth 图层以及使用小部件控件。您可以使用 conda 或 pip 安装 ipyleaflet,并通过详细的文档快速上手。该项目还包含一个名为 jupyter-leaflet 的 npm 包,它是一个前端组件,以及一个名为 ipyleaflet 的 Python 包,它是 Python Jupyter 内核的后端。类似地,xleaflet 项目为 C++ Jupyter 内核 "xeus-cling" 提供了 jupyter-leaflet 的后端。
* [microsoft/FLAML](https://github.com/microsoft/FLAML) FLAML是一个轻量级的Python库,用于高效地自动化机器学习和AI操作。它基于大型语言模型、机器学习模型等自动执行工作流程,并优化其性能。FLAML支持快速、经济的自动调优,能够处理具有异构评估成本和复杂约束/指导/提前停止的大型搜索空间。它还支持构建下一代GPT-X应用程序,基于多代理对话,并最大限度地提高GPT-X模型的性能。FLAML由微软研究院和宾夕法尼亚州立大学、史蒂文斯理工学院、华盛顿大学和滑铁卢大学等合作者的一系列研究成果提供支持。它还拥有.NET实现,名为ML.NET,这是一个开源的跨平台机器学习框架。
* [weld-project/weld](https://github.com/weld-project/weld) Weld是一个用于提升数据密集型应用性能的语言和运行时。它通过使用通用中间表示来表达库中核心计算,并在每个框架之间进行优化,从而跨库和函数进行优化。现代分析应用结合了来自不同库和框架的多个函数来构建复杂的流程。即使单个函数可以在隔离状态下实现高性能,但由于函数之间存在大量数据移动,组合流程的性能通常比硬件限制低一个数量级。Weld 通过延迟构建整个流程的计算,然后仅在需要结果时对其进行优化和评估来解决此问题。您可以加入我们的 Google Group 或 Weld 邮件列表,参与关于 Weld 的讨论。
* [m3dev/gokart](https://github.com/m3dev/gokart) Gokart是一个用于机器学习管道的Python库,旨在解决可重复性、任务依赖关系、代码质量约束和易用性问题。它通过将每个任务的元数据(如输出数据、导入的模块版本、处理时间、随机种子、日志和参数)存储在单独的pkl文件中,并使用哈希值进行标识,来确保可重复性。Gokart还支持自动重新运行管道,并支持使用GCS和S3作为中间结果的存储。此外,它还提供了一些额外的功能,如数据类型检查、自动目录结构生成、种子固定和SOLID原则支持。Gokart已被m3.inc使用超过3年,并在Nishika.inc的自然语言处理竞赛中获得第二名。
* [iterative/cml](https://github.com/iterative/cml) CML是一个开源的命令行工具,用于为机器学习实施持续集成和持续交付(CI/CD),专注于MLOps。它可以帮助自动化开发工作流程,包括机器配置、模型训练和评估、跨项目历史比较ML实验以及监控数据集变化。CML可以帮助训练和评估模型,并在每个拉取请求中自动生成包含结果和指标的可视化报告。CML遵循GitFlow原则,使用GitLab或GitHub管理ML实验,并使用DVC对数据和模型进行编码,而不是推送到Git仓库。它还自动生成包含指标和图表的ML实验报告,并支持使用GitLab、Bitbucket或GitHub构建自己的ML平台,无需额外的服务。
* [workflowr/workflowr](https://github.com/workflowr/workflowr) workflowr是一个 R 包,帮助研究人员组织他们的分析,促进项目管理、可重复性、协作和结果共享。它结合了 literate programming(knitr 和rmarkdown)和版本控制(Git,通过 git2r)来生成一个网站,其中包含带时间戳、版本化和文档化的结果。任何 R 用户都可以快速轻松地使用 workflowr。它提供了组织化的项目模板、代码和结果混合、Git 版本控制、可重复性(显示代码版本、隔离的 R 会话、会话信息记录、随机数生成种子设置)、可共享性(创建网站展示结果、文档化免费托管网站、创建过去版本结果链接)等功能。
* [tensorpack/tensorpack](https://github.com/tensorpack/tensorpack) 基于图模式 TensorFlow 的神经网络训练接口。另一个 TF 高级 API,具有以下亮点:注重训练速度。Tensorpack 的速度是免费的——它以高效的方式使用 TensorFlow,没有额外的开销。在普通的 CNN 上,它的训练速度比等效的 Keras 代码快 1.2~5 倍。如果使用 Tensorpack 编写,您的训练可能会更快。可扩展的数据并行多 GPU/分布式训练策略是现成的。有关更多基准测试,请参阅 tensorpack/benchmarks。符号编程(例如 tf.data )不提供研究所需的数据处理灵活性。Tensorpack 通过各种自动并行化策略从纯 Python 中榨取最大的性能。
* [HigherOrderCO/HVM](https://github.com/HigherOrderCO/HVM) 基于Rust的一个大规模并行交互的高阶虚拟机。通过将高级语言(如 Python 和 Haskell)的程序编译为 HVM,可以直接在大规模并行硬件(如 GPU)上运行这些语言,并具有近乎理想的加速。HVM2 是 HVM1 的继任者,HVM1 是该概念的 2022 年原型。与其前身相比,HVM2 更简单、更快,最重要的是更正确。HOC为其PAPER上列出的所有功能提供长期支持。该存储库提供了用于指定 HVM2 网络的低级 IR 语言,以及从该语言到 C 和 CUDA 的编译器。它不适合直接供人类使用。如果您正在寻找一种与 HVM2 交互的高级语言,请选Bend。
* [KevinMusgrave/pytorch-metric-learning](https://github.com/KevinMusgrave/pytorch-metric-learning) PyTorch Metric Learning是一个易于使用的深度度量学习库,它提供模块化、灵活且可扩展的组件,并用PyTorch编写。该库包含9个模块,可以独立使用或组合在一起,用于完整的训练/测试流程。其工作原理是通过损失函数和挖掘器来优化模型,使模型能够学习到更有意义的特征表示,从而提高相似性搜索、图像检索等任务的性能。例如,TripletMarginLoss 损失函数会计算所有可能的triplet,并根据标签形成 anchor-positive 和 anchor-negative 对,而挖掘器则可以帮助找到更难的正负样本对,从而提高模型的学习效果。
* [learnables/learn2learn](https://github.com/learnables/learn2learn) learn2learn是一个用于元学习研究的 PyTorch 库,它旨在加速元学习研究的快速原型设计和正确可重复性。learn2learn 提供低级实用程序和统一接口来创建新的算法和领域,以及现有算法的高质量实现和标准化基准。它与 torchvision、torchaudio、torchtext、cherry 和任何其他基于 PyTorch 的库兼容。该库包含用于创建少样本任务的 Taskset 和转换,用于计算机视觉和少样本学习的模型、数据集和基准,用于元强化学习的环境和实用程序,以及现有元学习算法的高级包装器和用于可微优化和元下降的实用程序和算法。
* [sdv-dev/SDV](https://github.com/sdv-dev/SDV) SDV是一个用于生成表格数据的Python库,它使用机器学习算法从真实数据中学习模式并将其模拟到合成数据中。SDV提供了多种模型,从经典的统计方法(如高斯Copula)到深度学习方法(如CTGAN),可以生成单个表格、多个连接表格或顺序表格的数据。此外,SDV还提供数据评估和可视化功能,可以比较合成数据与真实数据,并生成质量报告以获得更多见解。用户还可以预处理、匿名化数据,并定义约束条件,以提高合成数据的质量。SDV提供了丰富的文档、教程和社区支持,方便用户学习和使用。
* [thomasp85/patchwork](https://github.com/thomasp85/patchwork) patchwork是一个用于组合 ggplot 图表的 R 包,它提供了一种简单易用的 API,可以将多个 ggplot 图表组合成一个图形,支持任意复杂的布局和对齐方式。它类似于 gridExtra::grid.arrange() 和 cowplot::plot_grid(),但更易于使用,并支持更复杂的布局。用户可以通过简单的加号运算符将多个 ggplot 图表组合在一起,并使用括号和斜杠定义复杂的布局,例如将三个图表并排放置,然后在下方放置一个图表。patchwork 提供了丰富的功能,用户可以参考官方文档学习更多关于组合、布局、注释和跨页对齐等功能。
* [gugarosa/opytimizer](https://github.com/gugarosa/opytimizer) Opytimizer是一个基于 Python 的元启发式优化算法库,它提供了一系列易于使用的元启发式优化算法实现,涵盖从代理到搜索空间、从内部函数到外部通信等各个方面。你可以使用 Opytimizer 创建自己的优化算法,设计或使用预加载的优化任务,混合和匹配不同的策略来解决你的问题。Opytimizer 兼容 Python 3.6+,并提供丰富的示例和集成,例如 Learnergy、NALP、OPFython、PyTorch、Scikit-Learn 和 Tensorflow。Opytimizer 的结构包含核心组件、函数、数学工具、优化器、空间和实用工具,并以最小化问题为核心。
* [trent-b/iterative-stratification](https://github.com/trent-b/iterative-stratification) iterative-stratification 是一个为多标签数据提供分层交叉验证器的 scikit-learn兼容项目。它扩展了 scikit-learn 的交叉验证器,使其能够对多标签数据进行分层,并提供 MultilabelStratifiedKFold、RepeatedMultilabelStratifiedKFold 和 MultilabelStratifiedShuffleSplit等实现,其分层算法基于 Sechidis 等人 (2011) 的论文。该项目支持 Python 3.4 到 3.9,依赖于 scipy、numpy 和 scikit-learn。用户可以通过 pip 安装该项目,并像使用其他交叉验证器一样使用其提供的多标签交叉验证器,例如与 cross_val_score 或 cross_val_predict 一起使用。
* [KindXiaoming/pykan](https://github.com/KindXiaoming/pykan) Kolmogorov-Arnold 网络 (KAN) 是多层感知器 (MLP) 的有前途的替代品。KAN 与 MLP 一样具有强大的数学基础:MLP 基于通用近似定理,而 KAN 基于 Kolmogorov-Arnold 表示定理。KAN 和 MLP 是双重的:KAN 在边缘具有激活函数,而 MLP 在节点上具有激活函数。这个简单的变化使KAN在模型准确性和可解释性方面都比MLP更好。KAN 比 MLP 具有更快的扩展速度,KAN 比参数较少的 MLP 具有更好的准确性。KAN可以直观地可视化。KAN 提供 MLP 无法提供的可解释性和交互性。我们可以使用KAN来潜在地发现新的科学定律。
* [google/caliban](https://github.com/google/caliban) Caliban是一个帮助研究人员在隔离、可重复的计算环境中启动和跟踪其数值实验的工具。它由机器学习研究人员和工程师开发,使研究人员能够轻松地将运行在工作站上的简单原型扩展到在云端运行的数千个实验作业。使用 Caliban,您可以:在本地开发实验代码并在隔离的(Docker)环境中进行测试;轻松地遍历实验参数;将您的实验作为云作业提交,这些作业将在相同的隔离环境中运行;控制和跟踪作业。Caliban 需要 Docker 和 Python 3.6 或更高版本。您可以使用 `pip install caliban` 安装 Caliban。
* [pyqtgraph/pyqtgraph](https://github.com/pyqtgraph/pyqtgraph) PyQtGraph是一个用纯Python编写的图形库,专为数学、科学和工程应用而设计。它利用NumPy进行数值计算,利用Qt的GraphicsView框架进行二维显示,利用OpenGL进行三维显示,因此速度很快。该项目支持Python 3.10+、Qt 5.15、6.2+以及PyQt5、PyQt6、PySide2或PySide6。此外,通过第三方库(如SciPy、PyOpenGL、h5py、colorcet、Matplotlib、CuPy、Numba和Jupyter_rfb)可以添加额外的功能,例如图像处理、3D图形、HDF5格式导出、感知一致颜色映射、Matplotlib图形导出、CUDA加速图像处理、更快的图像处理以及Jupyter Notebook支持。
* [NVIDIA/DALI](https://github.com/NVIDIA/DALI) NVIDIA DALI是一个 GPU 加速的数据加载和预处理库,旨在加速深度学习训练和推理应用。它提供了一组高度优化的构建块,用于加载和处理图像、视频和音频数据,可以作为流行深度学习框架中内置数据加载器和数据迭代器的可移植替代方案。DALI 通过将数据预处理卸载到 GPU 来解决 CPU 瓶颈问题,并利用其自己的执行引擎来最大化输入管道的吞吐量。它支持多种数据格式,可移植到 TensorFlow、PyTorch、PaddlePaddle 和 JAX 等框架,并提供易于使用的 Python API 和可扩展的自定义管道构建能力。
* [tidyverse/ggplot2](https://github.com/tidyverse/ggplot2) ggplot2是一个基于“图形语法”的 R 语言绘图系统,它允许用户通过声明式的方式创建图形。用户只需提供数据,并告诉 ggplot2如何将变量映射到美学属性、使用哪些图形基元,ggplot2 就会自动处理细节,生成图形。ggplot2 已经稳定发展超过十年,被数百万用户用于制作数百万张图表。用户可以通过 `ggplot()` 函数开始绘图,并添加图层(例如 `geom_point()` 或 `geom_histogram()`)、比例尺(例如 `scale_colour_brewer()`)、分面规范(例如 `facet_wrap()`)和坐标系(例如 `coord_flip()`)来定制图形。
* [modAL-python/modAL](https://github.com/modAL-python/modAL) modAL是一个模块化的主动学习框架,专为 Python3 设计,以模块化、灵活性和可扩展性为目标。它基于 scikit-learn,允许你快速创建主动学习工作流程,并提供几乎完全的自由度。此外,你可以轻松地用自定义解决方案替换部分组件,方便你轻松设计新算法。主动学习通过智能地查询你对信息量最大的实例进行标注,来提高分类性能。modAL 提供了一组工具来处理这类问题,它允许你将 scikit-learn 或 Keras 模型无缝集成到你的算法中,并轻松定制你的自定义查询策略和不确定性度量。
* [DmitryUlyanov/Multicore-TSNE](https://github.com/DmitryUlyanov/Multicore-TSNE) Multicore-TSNE 是一个基于 Barnes-Hut t-SNE 的多核并行实现,使用 Python 和 Torch 进行了封装。它比 sklearn.TSNE在单核上运行速度更快,并且在多核环境下能够显著提升效率。该项目利用并行计算加速了最近邻搜索步骤,从而提升了数据预处理的效率,但在梯度下降优化步骤的并行化方面还有提升空间。该项目适用于大规模数据集和高维数据,尤其是在数据维度较高时,并行计算带来的加速效果更加明显。用户可以通过 pip 安装该项目,并使用 Python 代码调用其 API 进行 t-SNE 降维操作。
* [spring-projects/spring-ai](https://github.com/spring-projects/spring-ai) Spring AI是一个面向 AI 应用开发的 Spring 友好型框架,旨在将 Spring生态系统的可移植性和模块化设计理念应用于 AI 领域,并推广使用 POJO 作为 AI 应用的构建块。它通过提供 Spring 友好的 API 和抽象,连接企业数据和 API 与 AI 模型,并支持所有主要 AI 模型提供商(如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama)和向量数据库提供商,提供可移植的 API、结构化输出、工具/函数调用、可观察性、ETL 框架、AI 模型评估和 ChatClient API 等功能,帮助开发者构建下一代生成式 AI 应用。
* [h2oai/h2o-3](https://github.com/h2oai/h2o-3) H2O是一个开源的、分布式的、快速且可扩展的机器学习平台,支持多种算法,包括深度学习、梯度提升(GBM和XGBoost)、随机森林、广义线性模型(带弹性网络)、K-Means、PCA、广义加性模型(GAM)、RuleFit、支持向量机(SVM)、堆叠集成、自动机器学习(AutoML)等。H2O使用熟悉的接口,如R、Python、Scala、Java、JSON和Flow笔记本/Web界面,并与Hadoop和Spark等大数据技术无缝集成。H2O模型可以下载并加载到H2O内存中进行评分,或导出为POJO或MOJO格式,以便在生产环境中进行快速评分。
* [orchest/orchest](https://github.com/orchest/orchest) Orchest是一个用于简化数据管道构建的工具,无需框架或YAML配置,只需使用Python、R或Julia编写数据处理代码。它提供用户友好的界面来可视化构建管道,支持在笔记本和脚本中编写代码,并允许运行管道的任何子集。Orchest可以轻松定义依赖项,并在任何机器上运行,并提供跨整个管道运行的服务。它还支持使用Git对项目进行版本控制。Orchest目前处于beta阶段,其团队正在开发路线图以添加更多功能。用户可以查看示例项目以快速上手,也可以使用Orchest Cloud服务直接体验。
* [stan-dev/pystan](https://github.com/stan-dev/pystan) PyStan是一个 Python 接口,用于访问 Stan,一个用于贝叶斯推断的平台。Stan 是一个用于统计建模和高性能统计计算的先进平台,被成千上万的用户用于社会、生物和物理科学、工程和商业领域的统计建模、数据分析和预测。PyStan 的主要特点包括:自动缓存编译后的 Stan 模型、自动缓存 Stan 模型的样本、类似于 RStan 的接口以及开源软件 (ISC 许可证)。使用 `pip install pystan` 安装 PyStan,它可以在 Linux 和 macOS 上运行。您还需要一个 C++ 编译器,例如 gcc u003e= 9.0 或 clang u003e= 10.0。
* [amundsen-io/amundsen](https://github.com/amundsen-io/amundsen) Amundsen是一个元数据驱动的应用程序,旨在提高数据分析师、数据科学家和工程师在与数据交互时的效率。它通过索引数据资源(表格、仪表盘、流等)并基于使用模式(例如,高查询频率的表格比低查询频率的表格显示得更早)提供类似 PageRank 的搜索功能来实现这一点。可以将其视为数据的 Google 搜索。该项目以挪威探险家罗阿尔德·阿蒙森的名字命名,他是第一个发现南极的人。Amundsen 由 LF AI & Data 基金会托管,包含三个微服务、一个数据摄取库和一个公共库。
* [ContinualAI/avalanche](https://github.com/ContinualAI/avalanche) Avalanche是一个基于 PyTorch 的端到端持续学习库,由 ContinualAI开发,旨在为持续学习算法的快速原型设计、训练和可重复评估提供一个共享的、协作的开源代码库(MIT 许可)。Avalanche 包含四个主要模块:基准测试、训练、评估和模型,分别提供数据处理、模型训练、评估指标和模型扩展等功能。Avalanche 帮助研究人员减少代码编写量,提高可重复性、模块化和可重用性,并增强研究成果的影响力和可用性。该项目还提供预训练模型和流行的架构,可用于持续学习实验。
* [ropensci/skimr](https://github.com/ropensci/skimr) `skimr`是一个用于生成数据摘要统计的 R 包,它提供了一种无缝的、可管道化的方式来处理数据摘要统计。它遵循“最小惊讶原则”,以用户可以快速浏览的方式显示摘要统计信息,帮助用户快速理解数据。`skimr` 支持多种数据类型,并返回一个 `skim_df` 对象,该对象可以包含在管道中或以易于人类阅读的方式显示。`skimr` 提供比 `summary()` 函数更多的统计信息,包括缺失值、完整值、计数和标准差,并按数据类型单独报告。它还支持基于 `pillar` 包的火花条和火花线。
* [google-deepmind/dm-haiku](https://github.com/google-deepmind/dm-haiku) Haiku是一个基于 JAX 的神经网络库,由 DeepMind 开发,旨在简化 JAX 上的神经网络构建,并提供与 Sonnet(TensorFlow 神经网络库)类似的编程体验。Haiku 提供了 `hk.Module` 模块抽象和 `hk.transform` 函数转换,允许用户使用面向对象的编程模型,同时保留 JAX 的纯函数转换能力。Haiku 已在 DeepMind 内部广泛应用,并被用于各种大规模实验,包括图像和语言处理、生成模型和强化学习。Haiku 的目标是成为一个轻量级的库,而不是一个框架,以便与其他库和 JAX 生态系统良好集成。
* [tencentmusic/cube-studio](https://github.com/tencentmusic/cube-studio) 开源云原生一站式机器学习/深度学习AI平台,支持sso登录,多租户/多项目组,数据资产对接,notebook在线开发,拖拉拽任务流pipeline编排,多机多卡分布式算法训练,超参搜索,推理服务VGPU,多集群调度,边缘计算,serverless,标注平台,自动化标注,数据集管理,大模型一键微调,llmops,私有知识库,AI应用商店,支持模型一键开发/推理/微调,私有化部署,支持国产cpu/gpu/npu芯片,支持RDMA,支持pytorch/ tf/ mxnet/ deepspeed/ paddle/ colossalai/ horovod/ spark/ ray/ volcano分布式
* [interpretml/DiCE](https://github.com/interpretml/DiCE) DiCE (DiverseCounterfactual Explanations) 是一个开源库,用于生成机器学习模型的多种反事实解释。它可以帮助用户理解模型的决策过程,并提供可操作的建议,例如,用户可以了解需要改变哪些特征才能获得不同的预测结果。DiCE 使用多种方法生成反事实解释,例如,使用遗传算法或基于梯度的优化方法。它支持各种机器学习模型,包括线性模型、决策树、神经网络等。DiCE 的目标是为机器学习模型提供更全面、更易于理解的解释,从而提高模型的可信度和透明度。
* [WecoAI/aideml](https://github.com/WecoAI/aideml) AIDE是一个先进的机器学习工程师代理,能够根据自然语言描述生成机器学习解决方案代码。它在OpenAI的MLE-bench基准测试中表现出色,在75个Kaggle机器学习任务中取得了领先成绩,获得的奖牌数量是第二名代理架构的四倍。AIDE能够使用自然语言描述任务,并生成经过测试的机器学习管道Python脚本,支持迭代优化,并提供可视化工具来了解其实验过程。用户可以通过命令行运行AIDE,只需提供数据目录、目标描述和可选的评估指标,即可让AIDE自动生成解决方案。
* [PAIR-code/saliency](https://github.com/PAIR-code/saliency) Saliency是一个框架无关的库,提供了最先进的显著性方法的实现,包括XRAI、BlurIG、SmoothGrad等。该库包含了多种显著性技术,并提供了Performance Information Curve (PIC)指标用于评估显著性方法的质量。用户可以使用pip安装该库,并通过`core`和`tf1`两个子包使用库中的功能。`core`子包使用通用的`call_model_function`,可以与任何机器学习框架一起使用,而`tf1`子包则接受输入/输出张量,并为每种方法设置必要的图操作。该库还提供了可视化模块,用于可视化显著性结果。
* [maximtrp/scikit-posthocs](https://github.com/maximtrp/scikit-posthocs) scikit-posthocs 是一个 Python 包,提供用于成对多重比较的后验检验,通常在统计数据分析中执行,以评估组水平之间的差异,前提是 ANOVA 检验已获得统计学上的显著结果。scikit-posthocs 与 Pandas DataFrames 和 NumPy 数组紧密集成,以确保快速计算和方便的数据导入和存储。该包对使用 Python 进行工作的统计学家、数据分析师和研究人员很有用。它提供了多种参数和非参数后验检验,以及异常值检测和基本绘图方法,旨在弥补 Python 统计生态系统中与 R 包相比的不足。
* [slundberg/shap](https://github.com/slundberg/shap) 一种博弈论方法,用于解释任何机器学习模型的输出。SHAP(SHapley Additive exPlanations)是一种博弈论方法,用于解释任何机器学习模型的输出。它将最优信用分配与局部解释联系起来,使用博弈论中的经典Shapley值及其相关扩展(有关详细信息和引用,请参阅论文)。虽然SHAP可以解释任何机器学习模型的输出,但我们已经为树集成方法开发了一种高速精确算法(请参阅我们的Nature MI论文)。XGBoost,LightGBM,CatBoost,scikit-learn和pyspark tree模型支持快速C++实现。
* [kelvins/awesome-mlops](https://github.com/kelvins/awesome-mlops) 精选的精彩 MLOps 工具列表。包括:AutoML 自动机器学习、用于机器学习的 CI/CD、Cron作业监控、数据目录、数据扩充、数据探索、数据管理、数据处理、数据验证、数据可视化、漂移检测、特征工程、功能商店、超参数调优、知识共享、机器学习平台、模型公平性和隐私性、模型可解释性、模型生命周期、模型服务、模型测试和验证、优化工具、简化工具、可视化分析与调试、工作流工具、资源、文章、书、事件、其他列表、播客、Slack、网站链接、贡献
* [polyaxon/polyaxon](https://github.com/polyaxon/polyaxon) 用于构建、训练和监控大规模深度学习应用程序的平台。我们正在制作一个系统来解决机器学习应用程序的可重复性、自动化和可扩展性问题。Polyaxon 可部署到任何数据中心、云提供商中,也可以由 Polyaxon 托管和管理,并且它支持所有主要的深度学习框架,如 Tensorflow、MXNet、Caffe、Torch 等。Polyaxon 通过智能容器和节点管理管理工作负载,使开发深度学习应用程序变得更快、更轻松、更高效。它将 GPU 服务器转变为您的团队或组织的共享自助服务资源。
* [rstudio/rstudio](https://github.com/rstudio/rstudio) RStudio是一个用于 R 编程语言的集成开发环境 (IDE),提供定制化的工作台,集成了控制台、源代码编辑器、绘图工具、工作空间、帮助文档、历史记录等功能,支持语法高亮、代码自动补全,可直接从源代码编辑器执行代码,并完全支持 Sweave 和 TeX 文档的编写。RStudio 可以在 Windows、Mac 和 Linux 上运行,并提供社区维护的 FreeBSD 版本。此外,它还可以作为服务器运行,允许多个用户通过 Web 浏览器访问 RStudio IDE。更多信息请访问项目网站:https://posit.co/。
* [clab/dynet](https://github.com/clab/dynet) DyNet是一个由卡内基梅隆大学开发的动态神经网络工具包,用C++编写(并提供Python绑定),它在CPU或GPU上运行效率很高,并能很好地处理动态结构网络,这些网络在每个训练实例中都会发生变化。DyNet被用于构建用于句法分析、机器翻译、形态词语变化等领域的最新系统。它提供自动批处理功能,可以提高训练效率。DyNet依赖于CMake和Eigen库,需要手动下载特定版本的Eigen库才能编译。用户可以参考文档和教程开始使用DyNet,并可以加入用户组寻求帮助。
* [tensorflow/data-validation](https://github.com/tensorflow/data-validation) TensorFlow Data Validation(TFDV) 是一个用于探索和验证机器学习数据的库,旨在高度可扩展并与 TensorFlow 和 TensorFlow Extended (TFX) 协同工作。TFDV 包含:可扩展的训练和测试数据摘要统计计算,与数据分布和统计信息查看器集成,以及面部比较功能对,自动数据模式生成以描述数据期望,模式查看器以帮助检查模式,异常检测以识别异常(例如缺失特征、超出范围的值或错误的特征类型),以及异常查看器以查看哪些特征存在异常并学习更多信息以纠正它们。
* [Microsoft/MMdnn](https://github.com/Microsoft/MMdnn) MMdnn是一个跨框架工具,用于转换、可视化和诊断深度学习模型。它支持模型在 Caffe、Keras、MXNet、TensorFlow、CNTK、PyTorch Onnx 和 CoreML 等框架之间转换,并提供模型检索、可视化和部署功能。MMdnn 还提供代码片段,简化模型的重新训练和推理过程,并提供指南帮助用户将模型部署到其他硬件平台,例如 Android 和 TensorRT。此外,MMdnn 还与其他 Microsoft 开源项目(如 OpenPAI、FrameworkController、NNI、NeuronBlocks 和 SPTAG)协同工作,以提升 AI 和深度学习的生产力。
* [GPflow/GPflow](https://github.com/GPflow/GPflow) GPflow是一个基于 TensorFlow 的 Python 库,用于构建高斯过程模型。它实现了现代高斯过程推理,支持可组合的核函数和似然函数。GPflow 基于 TensorFlow 2.4+ 和 TensorFlow Probability,可在 GPU 上快速执行计算。该项目由 James Hensman 和 Alexander G. deG. Matthews 创建,并由 Artem Artemev、Mark van der Wilk、ST John 和 Vincent Dutordoir 等人维护。GPflow 依赖TensorFlow 2.4+ 和 TensorFlow Probability 0.12+,支持 Python 3.7+。可以通过 `pip install gpflow` 安装最新稳定版,或从 GitHub 获取最新开发版。
* [tensorflow/probability](https://github.com/tensorflow/probability) TensorFlow Probability(TFP) 是一个用于在 TensorFlow 中进行概率推理和统计分析的库。它整合了概率方法和深度网络,通过自动微分实现基于梯度的推理,并利用硬件加速(如 GPU)和分布式计算扩展到大型数据集和模型。TFP 还可以在纯 JAX 中用作“Tensor 友好的概率”。其主要组成部分包括:基础的 TensorFlow 数值运算,统计构建块(如概率分布和双射变换),模型构建工具(如联合分布和概率层),以及概率推理算法(如马尔可夫链蒙特卡罗和变分推理)。
* [Netflix/vectorflow](https://github.com/Netflix/vectorflow) Vectorflow是一个轻量级的、专门针对稀疏数据和单机环境优化的神经网络库,由Netflix开发。它使用D语言编写,并以dub包的形式发布。Vectorflow没有外部依赖,只需要一个最新的D编译器,推荐使用LDC编译器以获得最佳运行速度。该库提供了一系列示例,包括RCV1(稀疏逻辑回归)示例,用户可以通过dub test命令运行测试。用户可以通过dub build -b ddox && dub run -b ddox命令构建和本地服务文档,也可以使用其他DDOC编译器。更多信息请参考仓库的Wiki页面。
* [windmaple/awesome-AutoML](https://github.com/windmaple/awesome-AutoML) Awesome-AutoML 是一个收集 AutoML 相关研究、工具、项目和其他资源的列表。AutoML 是指使用机器学习方法和流程来自动化机器学习系统并使其更易于访问的技术。近年来,AutoML 领域发展迅速,一些公司已经将该技术商业化。AutoML 包括神经网络架构搜索、超参数优化、优化器搜索、数据增强搜索、学习学习/元学习等多种类型。该项目整理了大量 AutoML相关的研究论文,包括 AutoML 综述、神经网络架构搜索等方面的论文,并提供了相关工具和项目的链接。
* [manujosephv/pytorch_tabular](https://github.com/manujosephv/pytorch_tabular) PyTorch Tabular是一个用于表格数据深度学习模型的标准框架,旨在简化深度学习在表格数据上的应用,并将其应用于现实世界案例和研究。该库的核心设计原则包括易用性、可定制性和可扩展性。它基于 PyTorch 和 PyTorch Lightning,提供多种模型,例如 FeedForwardNetwork、Neural Oblivious Decision Ensembles、TabNet、Mixture Density Networks 和 AutoInt,并支持多种功能,例如自定义模型、数据预处理和模型训练。用户可以通过 pip 安装 PyTorch Tabular,并参考文档进行使用。
* [lowRISC/opentitan](https://github.com/lowRISC/opentitan) OpenTitan是一个开源硅信任根 (RoT) 项目。使企业、平台提供商和芯片制造商的硅 RoT 设计和实现更加透明、可信和安全,以生产高质量的开放 IP 以作为全功能产品的实例化。制造商越来越多地开始关注防篡改处理器(或其中一部分),通常被称为“安全区域(Secure Enclave)”,以阻止各种攻击。芯片中使用“信任根(Root of Trust)”,在系统每次启动时进行加密检查,确保没有任何内容被恶意篡改。如果发现问题,安全区域会阻止计算机启动。
* [pytorchbearer/torchbearer](https://github.com/pytorchbearer/torchbearer) torchbearer是一个为深度学习和可微分编程研究人员(或任何需要它的人)设计的 PyTorch 模型拟合库。它旨在显著减少编写样板代码的数量,同时不限制 PyTorch 的功能和开放性。torchbearer 提供了用于训练、验证和测试模型的简化接口,以及用于跟踪指标、保存模型和可视化结果的回调。它还支持使用不同的优化器、损失函数和数据加载器。从 2月底开始,torchbearer 将不再积极维护,但会继续修复发现的错误并确保它在 PyTorch 的新版本上运行。
* [google/neural-tangents](https://github.com/google/neural-tangents) Neural Tangents是一个 Python 库,用于定义、训练和评估无限宽度的复杂神经网络,它可以像处理有限网络一样轻松地处理无限网络。该库利用 JAX 和 XLA,可以在 CPU、GPU 或 TPU 上运行,并针对速度和内存效率进行了优化,可以自动分布在多个加速器上。Neural Tangents 允许用户构建由卷积、池化、残差连接、非线性等常见构建块组成的模型,并获得有限模型和相应的 GP 核函数。该库已在 100 多篇论文中使用,可用于研究神经网络的无限宽度极限。
* [bqplot/bqplot](https://github.com/bqplot/bqplot) bqplot是一个基于 Jupyter 的 2D 可视化系统,它利用 *Grammar of Graphics* 的概念,将图表中的每个组件都设计为交互式小部件。这使得用户能够将可视化与其他 Jupyter 交互式小部件集成,只需几行 Python 代码就能创建完整的 GUI。bqplot 依赖于ipywidgets、traitlets、traittypes、numpy 和 pandas 等库。用户可以通过 pip 或 conda 进行安装,并使用 JupyterLab 或 Jupyter Notebook 进行使用。bqplot 提供了 pyplot API 和 Object Model API,并包含丰富的示例,方便用户快速上手。
* [zyushun/Adam-mini](https://github.com/zyushun/Adam-mini) Adam-mini是 Adam 优化器的精简版本,它在保留与 AdamW 相当或更好的性能的同时,将内存占用减少了 50%。Adam-mini通过减少 Adam 中学习率资源(即 $1/\sqrt{v}$)来实现内存节省。它根据 Hessian 结构将参数划分为块,并为每个块分配一个最佳学习率,从而有效地减少了学习率资源。该项目提供了 Adam-mini 的 PyTorch 实现,并支持DDP、FSDP、DeepSpeed、Huggingface Trainer、Torchtitan 和 LLaMA-Factory 等框架。项目还提供了 GPT2 和 Llama 系列模型预训练的示例代码。
* [hbaniecki/adversarial-explainable-ai](https://github.com/hbaniecki/adversarial-explainable-ai) 该项目是一个关于可解释人工智能 (XAI) 中对抗性攻击和防御的综述,它涵盖了如何攻击和防御解释方法,以确保其安全性和可靠性。该项目还提供了一个统一的符号和分类法,以方便研究人员和从业人员理解对抗性机器学习 (AdvML) 和 XAI领域之间的交叉研究。项目特色包括:对现有 XAI 安全漏洞的总结,以及对抗性 XAI (AdvXAI) 中新兴研究方向的概述。该项目还提供了一个关于对抗性攻击和防御方法的调查,以及如何设计鲁棒的解释方法。
* [PennyLaneAI/pennylane](https://github.com/PennyLaneAI/pennylane) PennyLane是一个跨平台的Python库,用于量子计算、量子机器学习和量子化学。它允许你像训练神经网络一样训练量子计算机。它支持与PyTorch、TensorFlow、JAX、Keras和NumPy等框架集成,并提供即时编译功能,支持自适应电路、实时测量反馈和无限循环等高级特性。PennyLane还支持多种量子硬件后端,包括Strawberry Fields、Amazon Braket、IBM Q、Google Cirq、Rigetti Forest、Qulacs、Pasqal和Honeywell等。它还包含用于量子机器学习、优化和量子化学的内置工具。
* [hrbrmstr/hrbrthemes](https://github.com/hrbrmstr/hrbrthemes) hrbrthemes是一个专注于排版风格的 ggplot2 主题和主题组件包。它提供了多种主题,例如 `theme_ipsum`,使用 Arial Narrow字体,该字体在大多数现代系统上都已安装。该包还包含其他主题,例如 `theme_ipsum_gs` (Goldman Sans Condensed)、`theme_ipsum_es` (Econ Sans Condensed)、`theme_ipsum_rc` (Roboto Condensed) 等,以及与这些主题相匹配的调色板和颜色,例如 `ipsum_pal` 和 `ft_cols`。此外,它还提供了用于设置刻度标签格式的函数,例如 `scale_x_comma` 和 `scale_y_percent`。
* [JetBrains/lets-plot](https://github.com/JetBrains/lets-plot) Lets-Plot是一个基于图形语法 (Grammar of Graphics) 的跨平台绘图库,灵感来自 Leland Wilkinson 的著作《图形语法》。它允许用户通过组合独立组件创建各种图形,类似于 R 语言中的 ggplot2 包。该库提供 Python 和 Kotlin 版本,支持在 Jupyter Notebook、Kotlin Notebook、Datalore 和Compose Multiplatform 等环境中使用,并提供 JVM 和 Kotlin/JS 版本。此外,Lets-Plot 还提供一个名为“Lets-Plot in SciView”的插件,为 PyCharm 和 IntelliJ IDEA 的科学模式添加交互式绘图功能。
* [SimonVandenhende/Multi-Task-Learning-PyTorch](https://github.com/SimonVandenhende/Multi-Task-Learning-PyTorch) 该项目使用PyTorch实现多任务学习架构,包括MTI-Net(ECCV2020),并提供了一个多任务学习资源库。项目代码基于论文"Multi-Task Learning for Dense Prediction Tasks: A Survey"和"MTI-Net: Multi-Scale Task Interaction Networks for Multi-Task Learning"。用户可以根据自己的需求修改代码,例如更改数据集路径、输出目录和模型配置等。项目支持PASCAL和NYUD数据集,并提供语义分割、深度估计、法线估计、边缘检测、显著性检测和人体部位分割等任务。
* [YihongDong/FAN](https://github.com/YihongDong/FAN) FAN (Fourier Analysis Networks) 是一种新型神经网络,它通过将傅里叶分析融入神经网络结构,有效地提升了模型对周期性信号的建模能力。FAN 层使用余弦和正弦函数来提取输入信号的频率信息,并结合非线性激活函数,从而在保留原始信息的同时,增强了模型对周期性模式的识别能力。该项目提供多个应用场景的代码,包括周期性建模、情感分析、时间序列预测、符号公式表示和图像识别,并提供详细的运行说明和数据集获取方式。
* [XiaoMi/mace](https://github.com/XiaoMi/mace) MACE是一个针对移动端异构计算平台优化的深度学习推理框架,支持 Android、iOS、Linux 和 Windows 设备。MACE 旨在提升性能、降低功耗、提高响应速度、优化内存使用和库体积,并提供模型保护功能。MACE 支持 TensorFlow、Caffe 和 ONNX 模型格式,并提供丰富的模型库,可在 [MACE Model Zoo](https://github.com/XiaoMi/mace-models) 中找到。用户可以通过 [文档](https://mace.readthedocs.io) 学习如何使用 MACE,并可通过 GitHub 问题、Slack 和 QQ 群与开发团队交流。
* [ebhy/budgetml](https://github.com/ebhy/budgetml) BudgetML是一个快速、低成本的机器学习模型部署工具,它利用Google Cloud Platform的预抢占实例(比普通实例便宜80%),并自动生成安全的HTTPS API端点,确保最低的运行成本和最小的停机时间。它使用FastAPI构建,提供交互式Swagger文档,并支持通过LetsEncrypt和docker-swag生成SSL证书。BudgetML还提供完整的OAuth2安全端点,支持密码和Bearer模式。与传统云函数或Kubernetes集群相比,BudgetML更轻量级,更易于使用,适合快速部署模型并降低成本。
* [chartdb/chartdb](https://github.com/chartdb/chartdb) ChartDB是一个免费开源的数据库图表编辑器,可以通过单个查询可视化和设计您的数据库。它支持多种数据库,包括 PostgreSQL、MySQL、SQL Server、MariaDB、SQLite 和 ClickHouse。ChartDB 使用智能查询快速检索数据库模式并将其可视化为 JSON 格式,方便您进行文档记录、团队讨论或数据理解。它还提供 AI 驱动的导出功能,可以生成不同数据库方言的 DDL 脚本,简化数据库迁移。您可以在网页上使用 ChartDB,也可以通过 Docker 容器在本地部署。
* [NVIDIA/cuda-samples](https://github.com/NVIDIA/cuda-samples) NVIDIA/cuda-samples 是一个 CUDA 开发者示例项目,展示了 CUDA 工具包中的各种功能。该项目支持 CUDA Toolkit 12.5 版本,包含基础示例、实用工具示例、概念和技术示例以及高级示例,涵盖了 CUDA 开发的各个方面。用户可以通过下载 CUDA Toolkit 并使用 git clone 命令获取项目代码,然后根据平台选择使用 Visual Studio 或 makefile 编译运行示例。项目还支持跨平台编译和调试功能,并提供详细的文档和示例代码,帮助开发者快速上手 CUDA 开发。
* [fastai/fastai](https://github.com/fastai/fastai) 一个深度学习库,它提供了高级组件,可以在标准深度学习领域快速轻松地提供最先进的结果,并为研究人员提供可以混合和匹配以构建新方法的低级组件。它旨在做到这两件事,而不会在易用性、灵活性或性能方面做出实质性妥协。这要归功于精心分层的架构,该架构以解耦抽象的形式表达了许多深度学习和数据处理技术的共同底层模式。这些抽象可以通过利用底层Python语言的动态性和PyTorch库的灵活性来简洁明了地表达。
* [tableau/TabPy](https://github.com/tableau/TabPy) TabPy(Tableau Python Server)是一款Tableau Analytics Extension,它允许用户通过Tableau的表格计算执行Python脚本和保存的函数,扩展Tableau的功能。TabPy通过REST API与Tableau交互,用户可以在Tableau中使用Python代码进行数据分析、机器学习等操作,并将结果可视化。TabPy支持多种部署方式,包括本地部署、虚拟环境部署和Heroku部署,并提供详细的文档和教程,帮助用户快速上手。为了安全起见,建议启用身份验证,以防止未经授权的访问。
* [vega/vegafusion](https://github.com/vega/vegafusion) VegaFusion是一个用于 Vega 可视化语法服务器端加速的项目,它可以加速 Vega-Altair Python 接口与 Vega-Lite 的交互。其核心算法使用 Rust 实现,并通过 PyO3 提供 Python 集成,通过 wasm-bindgen 提供 JavaScript 集成。VegaFusion 可以解决 Altair 的`MaxRowsError` 问题,通过在服务器端执行数据密集型聚合和修剪不必要的列来提高性能,从而允许用户处理更大的数据集。用户可以通过在 Altair 中启用 `"vegafusion"` 数据转换器来使用 VegaFusion。
* [snorkel-team/snorkel](https://github.com/snorkel-team/snorkel) Snorkel是一个用于快速生成训练数据的弱监督系统,它允许用户通过编程方式标记、构建和管理训练数据。Snorkel项目起源于斯坦福大学,其核心思想是通过弱监督技术来解决机器学习项目中训练数据不足的问题。Snorkel已被广泛应用于各个领域,包括医疗、金融、安全等,并已在多个知名机构得到应用。Snorkel团队目前正在开发Snorkel Flow,一个基于Snorkel核心思想的端到端AI应用开发平台,旨在简化AI应用的开发和部署流程。
* [pytorch/captum](https://github.com/pytorch/captum) Captum是一个用于 PyTorch 的模型可解释性和理解库,它提供了一系列集成梯度、显著性图、SmoothGrad、VarGrad 等算法,帮助用户理解模型的预测结果。Captum 支持与 torchvision、torchtext 等领域特定库构建的模型快速集成,并提供对抗攻击和最小输入扰动功能,方便用户生成反事实解释和对抗性扰动。Captum 的目标用户包括希望改进模型的开发者、专注于识别可解释性算法的研究人员以及在生产环境中使用训练模型的应用工程师。
* [tensorflow/io](https://github.com/tensorflow/io) TensorFlow I/O 是 TensorFlow 的扩展,提供了 TensorFlow 内置支持之外的文件系统和文件格式,例如支持 HTTP/HTTPS 文件系统,可以直接访问网络上的数据集,无需下载到本地。它还支持多种文件格式,例如 MNIST、TFRecord 等。用户可以使用 pip 安装 `tensorflow-io` 包,并通过 `tfio.IODataset` 类访问数据集,例如使用 `tfio.IODataset.from_mnist` 方法直接从网络读取 MNIST 数据集。此外,TensorFlow I/O 还提供了 Docker 镜像,方便用户快速开始使用。
* [fossasia/visdom](https://github.com/fossasia/visdom) Visdom是一个灵活的工具,用于创建、组织和共享实时丰富数据的可视化效果,支持 Torch 和 Numpy。它提供了一个基于 Web 的界面,可以用来展示各种类型的图表、图像和文本,并支持将这些可视化效果组织成仪表板。Visdom 旨在促进(远程)数据的可视化,重点是支持科学实验。它可以用于广播可视化效果,以供自己和合作者查看,并可以用来组织可视化空间,以创建实时数据的仪表板、检查实验结果或调试实验代码。
* [nidhaloff/igel](https://github.com/nidhaloff/igel) Igel是一个无需编写代码即可训练、测试和使用机器学习模型的工具。它支持回归、分类和聚类,并提供自动机器学习功能,例如图像分类和文本分类。Igel 支持多种数据集类型(csv、txt、excel、json、html),甚至可以处理存储在文件夹中的原始数据。它还支持各种机器学习模型、数据预处理方法、交叉验证、超参数搜索、YAML 和 JSON 格式,以及 GUI 使用。Igel 的目标是让每个人,无论技术背景如何,都能使用机器学习。
* [kubeflow/pipelines](https://github.com/kubeflow/pipelines) 机器学习 (ML) 工具包,致力于使 Kubernetes 上的 ML 工作流部署变得简单、可移植和可扩展。Kubeflow 流水线是使用 Kubeflow Pipelines SDK 构建的可重用的端到端 ML 工作流。Kubeflow 流水线服务具有以下目标:端到端编排,启用和简化端到端机器学习管道的编排;轻松实验,让您轻松尝试众多想法和技术,并管理您的各种试验/实验;易于重用,使您能够重用组件和管道,以快速拼凑端到端解决方案,而无需每次都重新构建。
* [alibaba/Curvature-Learning-Framework](https://github.com/alibaba/Curvature-Learning-Framework) 基于Tensorflow的非欧深度学习框架。实现了多种非欧流形、非欧算子和黎曼优化器,基于与Tensorflow相似的底层接口,可以便捷的迁移模型空间而不改变模型细节。背景:欧氏空间不可能无损表征树、环结构,然而双曲(负曲率)、球面(正曲率)空间无损表征。由于对结构性强的如无尺度网络、层次数据、环状数据等的优良表征能力,非欧深度学习逐渐应用到各个领域并展示出优越性,包括链接预测、推荐系统等。
* [likedan/Awesome-CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) Awesome-CoreML-Models 是一个收集了大量 Core ML 格式机器学习模型的项目,旨在帮助 iOS、macOS、tvOS 和 watchOS 开发者轻松使用机器学习技术。该项目提供了图像识别、文本检测、姿势估计等多种模型,并包含模型下载链接、演示项目和相关论文链接,方便开发者快速上手。此外,项目还提供了一些可视化工具,例如 Netron,帮助开发者更好地理解模型结构。开发者可以自由提交自己转换的 Core ML 模型,共同完善这个项目。
* [tensorflow/addons](https://github.com/tensorflow/addons) TensorFlow Addons(TFA) 是 TensorFlow 2.x 的一个扩展库,提供了一些 TensorFlow 核心库中没有的额外功能,例如激活函数、回调函数、图像处理、层、损失函数、指标、优化器、RNN、Seq2Seq 和文本处理等。TFA 遵循 TensorFlow 的 API规范,并由 TensorFlow SIG-addons 维护。TFA 已经停止开发和引入新功能,并进入维护模式,预计将在 2024 年 5 月停止维护。建议开发者使用 TensorFlow 社区中的其他库(如 Keras、Keras-CV 和 Keras-NLP)来替代 TFA。
* [rtqichen/torchdiffeq](https://github.com/rtqichen/torchdiffeq) torchdiffeq是一个 PyTorch 库,提供可微分的常微分方程 (ODE)求解器,支持全 GPU 加速和 O(1) 内存反向传播。该库使用伴随方法实现 ODE 解的反向传播,从而实现恒定内存成本。求解器完全在 PyTorch 中实现,因此可以在 GPU 上运行。该库提供 `odeint` 接口,用于求解初值问题 (IVP),并支持对所有主要参数进行梯度计算。此外,该库还支持可微分的事件处理,允许根据事件函数终止 ODE 解,并支持大多数求解器的反向传播。
* [Guang000/Awesome-Dataset-Distillation](https://github.com/Guang000/Awesome-Dataset-Distillation) 数据集蒸馏是合成一个小数据集的任务,使得在其上训练的模型在原始大数据集上实现高性能。 数据集蒸馏算法将要蒸馏的大型真实数据集(训练集)作为输入,并输出一个小的合成蒸馏数据集,该数据集通过在单独的真实数据集(验证/测试集)上在该蒸馏数据集上训练的测试模型进行评估。 一个好的小型蒸馏数据集不仅对数据集理解有用,而且具有各种应用(例如,持续学习、隐私、神经架构搜索等)。
* [pyjanitor-devs/pyjanitor](https://github.com/pyjanitor-devs/pyjanitor) `pyjanitor` 是一个 Python 库,它借鉴了 R 包 `janitor`的理念,提供简洁的 API 用于数据清洗。它通过方法链的方式,将一系列数据预处理步骤串联起来,方便用户以更直观的方式表达数据处理流程。例如,用户可以使用 `pyjanitor` 删除列、删除空值行、重命名列、添加新列等操作,这些操作可以像语句一样连续地执行,使得代码更易读、更易维护。`pyjanitor` 鼓励用户使用方法链,让数据清洗过程更加清晰、高效。
* [DistrictDataLabs/yellowbrick](https://github.com/DistrictDataLabs/yellowbrick) Yellowbrick是一个机器学习模型选择工具集,它通过扩展 scikit-learnAPI 提供可视化诊断工具(称为“可视化器”),帮助用户直观地了解模型选择过程。Yellowbrick 将 scikit-learn 与 matplotlib 相结合,生成可视化结果,帮助用户更好地理解机器学习工作流程。Yellowbrick 支持 Python 3.4 及更高版本,依赖 scikit-learn 和 matplotlib,可以通过 pip 或 conda 安装。用户可以使用 Yellowbrick的可视化器来分析特征、评估模型性能等。
* [lmcinnes/umap](https://github.com/lmcinnes/umap) 均匀流形近似和投影 (UMAP ,Uniform Manifold Approximation and Projection) 是一种降维技术,可用于类似于 t-SNE 的可视化,但也可用于一般的非线性降维。该算法建立在关于数据的三个假设之上:数据均匀分布在黎曼流形上;黎曼度量是局部常数(或可以近似);流形是本地连接的。根据这些假设,可以对具有模糊拓扑结构的流形进行建模。通过搜索具有最接近的等效模糊拓扑结构的数据的低维投影来找到嵌入。
* [opencog/opencog](https://github.com/opencog/opencog) OpenCog框架是一个用于集成人工智能和人工通用智能(AGI)研究的实验室,该项目现已不再维护,其主要部分已被拆分为多个独立的仓库,例如atomspace、cogserver等。 该框架曾集成自然语言处理、常识推理、多种学习算法和类人机器人运动控制等,旨在开发AGI系统,但目前代码库状态参差不齐,包含一些自然语言处理管道、实体聊天机器人和动作选择机制等组件。 感兴趣的用户应参考其拆分后的子项目。
* [datahub-project/datahub](https://github.com/datahub-project/datahub) DataHub是一个现代数据栈的数据发现平台,由 Acryl Data 和 LinkedIn 共同开发。它提供了一个用于数据发现和元数据管理的平台,帮助用户更好地理解和使用数据。DataHub 支持多种数据源,并提供丰富的功能,例如数据搜索、数据 lineage、数据质量监控等。用户可以通过DataHub 的 API 和 UI 与平台交互,并使用其提供的工具进行数据分析和管理。DataHub 拥有活跃的社区,并定期举办线上会议,欢迎用户参与。
* [terryyz/PyArmadillo](https://github.com/terryyz/PyArmadillo) Python 语言的线性代数库,强调易用性。该库旨在提供类似于 Matlab 或者 Octave 的高级语法和功能,使得用户以熟悉且自然的方式表达数学运算。提供了用于矩阵和多维数据集(cube)的对象,以及 200 多个用于处理对象中存储数据的相关函数。所有功能都可以在一个平面结构中访问,并且支持整数、浮点数和复数。通过集成 LAPACK 或者 Intel MKL、OpenBLAS 等高性能替代产品,该库可以提供各种矩阵分解。
* [Trusted-AI/AIX360](https://github.com/Trusted-AI/AIX360) AI Explainability360 (AIX360) 是一个开源库,用于解释数据和机器学习模型。它包含了涵盖不同解释维度的算法,并提供代理可解释性指标。AIX360 支持表格、文本、图像和时间序列数据。该项目还提供交互式体验、教程和示例笔记本,帮助用户了解其概念和功能。AIX360 涵盖了数据解释、局部后验解释和时间序列局部后验解释等多种解释方法,并支持扩展性。用户可以贡献自己的解释算法、指标和用例。
* [ContextLab/hypertools](https://github.com/ContextLab/hypertools) HyperTools是一个Python工具箱,用于帮助用户从几何角度理解高维数据。它通过将高维数据集(或一系列高维数据集)输入到单个函数调用中,来降低数据集的维度并创建可视化图形。HyperTools基于matplotlib、scikit-learn和seaborn等常用库,并提供完整的API文档和示例。用户可以通过pip安装HyperTools,并使用其提供的功能进行数据可视化和分析。HyperTools已发表在JMLR期刊上,并提供相应的论文和示例笔记本。
* [neptune-ai/neptune-client](https://github.com/neptune-ai/neptune-client) neptune.ai 是一个可扩展的实验跟踪器,专为训练基础模型的团队而设计。它可以记录数百万次运行,并以秒为单位查看和比较它们。轻松监控和可视化持续数月的模型训练,包括多个步骤和分支。从第一天起就在您的基础设施上部署 Neptune,跟踪 100% 的元数据,并更快地实现下一个重大 AI 突破。该项目提供了 Python 库,允许您轻松地将实验数据记录到 Neptune 平台,并提供丰富的可视化和分析功能。
* [csinva/imodels](https://github.com/csinva/imodels) imodels是一个用于构建简洁、透明且准确的预测模型的 Python 包,它与 scikit-learn 兼容。该包提供了一系列可解释的机器学习模型,这些模型可以替代黑盒模型(如随机森林),同时提高可解释性和计算效率,而不会牺牲预测精度。imodels 的模型包括决策树、规则列表和线性模型,这些模型都易于使用,只需导入模型并使用 `fit` 和 `predict` 方法即可。该包还包含用于数据预处理和模型评估的工具。
* [catalyst-team/catalyst](https://github.com/catalyst-team/catalyst) Catalyst是一个基于 PyTorch 的深度学习研究和开发框架,它专注于可重复性、快速实验和代码库重用,帮助你专注于创新,而不是重复编写训练循环。Catalyst 提供了丰富的功能,包括:可视化、日志记录、模型保存和加载、数据增强、分布式训练、超参数优化等。它还支持多种深度学习任务,例如图像分类、目标检测、语义分割等。Catalyst 旨在简化深度学习研究和开发流程,加速你的研究进度。
* [mpld3/mpld3](https://github.com/mpld3/mpld3) mpld3是一个使用D3.js将matplotlib图形带到浏览器中的交互式数据可视化工具。它通过解析matplotlib图形并输出D3.js可读的JSON描述来实现,并提供一个自定义的独立javascript库来渲染图形。mpld3支持matplotlib的大部分核心功能,包括线图、散点图、直方图、饼图等,并提供交互式功能,例如缩放、平移、工具提示等。用户可以通过简单的Python代码将matplotlib图形转换为交互式的网页视图,并与他人分享。
* [Kanaries/Rath](https://github.com/Kanaries/Rath) RATH是一款开源数据探索分析和可视化平台,旨在替代 Tableau 等工具。它通过增强分析引擎自动执行探索性数据分析工作流程,发现模式、洞察和因果关系,并使用强大的自动生成的多维数据可视化来呈现这些洞察。RATH 基于最小化可视化中信息的可视感知误差来生成/推荐可视化。用户可以通过沙盒演示、文档和视频快速上手。主要功能包括自动数据探索、数据探索副驾驶和自然语言界面等。
* [xflr6/graphviz](https://github.com/xflr6/graphviz) 该项目是一个简单易用的 Python 接口,用于与 Graphviz 图形绘制软件交互。它允许用户使用 Python 代码创建和渲染 DOT 格式的图形描述,并可直接将生成的图形以 PDF、PNG、SVG 等格式进行查看。用户可以通过添加节点和边来构建图形,并获取其 DOT 源代码字符串,然后将其保存到文件并使用系统上的 Graphviz 安装进行渲染。此外,该项目还支持在 Jupyter Notebook 和 Jupyter QtConsole 中渲染和显示图形。
* [nicodv/kmodes](https://github.com/nicodv/kmodes) kmodes是一个 Python 库,用于对分类数据进行聚类,实现了 k-modes和 k-prototypes 聚类算法。它基于 numpy 库,并提供了与 scikit-learn 类似的接口。k-modes 用于对分类变量进行聚类,根据数据点之间匹配的类别数量来定义聚类。k-prototypes 结合了 k-modes 和 k-means,能够对混合的数值/分类数据进行聚类。该库实现了 k-modes、基于密度的 k-modes 初始化和 k-prototypes 算法,并支持使用 joblib 库进行并行计算。
* [astroML/astroML](https://github.com/astroML/astroML) AstroML是一个基于 Python 的机器学习和数据挖掘库,专为天文学和天体物理学设计,它利用 NumPy、SciPy、Scikit-learn 和Matplotlib 等库,并遵循 BSD 许可证。AstroML 提供了丰富的统计和机器学习算法,用于分析天文数据,包含多个天文数据集加载器,以及大量用于分析和可视化天文数据的示例。该项目始于 2012 年,旨在配合 Zeljko Ivezic 等人撰写的《天文学中的统计学、数据挖掘和机器学习》一书。
* [AutoViML/Auto_ViML](https://github.com/AutoViML/Auto_ViML) Auto_ViML是一个自动机器学习库,只需一行代码即可构建多个可解释的机器学习模型。它能帮助你进行数据清理,并自动选择最少特征构建高性能模型。Auto_ViML 使用 SULOV 算法自动去除高度相关的特征,并通过 Auto_NLP 处理文本变量,同时还支持日期时间变量的处理。此外,它还包含 `imbalanced_ensemble` 库,可以处理不平衡数据集。Auto_ViML 的目标是帮助数据科学家快速构建可解释且高效的模型。
* [edwindj/daff](https://github.com/edwindj/daff) Daff是一个 R 包,用于比较、存储、渲染和应用 `data.frame` 之间的差异,并基于共同父级 `data.frame`合并两个版本。它使用 [daff.js](http://paulfitz.github.io/daff/) 库,并通过 [V8](https://github.com/jeroen/v8) 包进行封装。Daff 提供了 `diff_data`、`patch_data`、`read_diff`、`write_diff`、`render_diff` 和 `merge_data` 等函数,可用于计算差异、应用补丁、读取和写入差异文件、渲染差异为 HTML 页面以及合并两个`data.frame`。
* [neoml-lib/neoml](https://github.com/neoml-lib/neoml) NeoML是一个端到端的机器学习框架,支持深度学习和传统算法,由ABBYY工程师用于计算机视觉和自然语言处理任务,包括图像预处理、分类、文档布局分析、OCR和结构化/非结构化文档数据提取。它支持超过100种神经网络层类型、20多种传统机器学习算法(分类、回归、聚类等)、CPU和GPU加速、ONNX支持,并提供Python、C++、Java和Objective-C接口,可在Windows、Linux、macOS、iOS和Android等平台上运行。
* [shogun-toolbox/shogun](https://github.com/shogun-toolbox/shogun) Shōgun是一个统一且高效的机器学习工具箱,自1999年起一直致力于机器学习领域。它提供C++核心代码,并通过自动生成的接口支持Python、Octave、Java/Scala、Ruby、C#、R、Lua等多种语言,目前正在开发JavaScript、D和Matlab接口。Shōgun支持GNU/Linux、MacOSX、FreeBSD和Windows等多种平台,并提供BSD 3-clause许可证,包含可选的GPL3组件。用户可以通过官网获取安装指南、接口调用说明、API示例和开发者信息。
* [OAID/Tengine](https://github.com/OAID/Tengine) Tengine是一个轻量级、高性能、模块化的推理引擎,专为嵌入式设备设计。它由 OPEN AI LAB 开发,提供深度学习神经网络模型在嵌入式设备上的快速、高效执行能力。Tengine 主要由三个模块组成:device、scheduler 和 operator,分别负责底层硬件操作、模型调度和神经网络算子执行。Tengine 支持 CPU、GPU、NPU 等多种硬件平台,并针对嵌入式设备的资源限制进行了优化,能够有效提升模型推理效率。
* [koaning/scikit-lego](https://github.com/koaning/scikit-lego) scikit-lego是一个为 scikit-learn 提供额外功能的 Python 库,它包含自定义的转换器、度量指标和模型,旨在简化机器学习工作流程。该库提供各种数据集加载器、数据处理工具、虚拟模型和线性模型,例如用于公平性约束的 DemographicParityClassifier,以及用于时间序列分析的 add_lags 函数。你可以像使用 scikit-learn 一样使用 scikit-lego 中的组件,通过 pip 或 conda 安装,并参考其文档了解更多信息。
* [aloctavodia/Statistical-Rethinking-with-Python-and-PyMC3](https://github.com/aloctavodia/Statistical-Rethinking-with-Python-and-PyMC3) 该项目是 Richard McElreath 所著书籍 "Statistical Rethinking: A Bayesian Coursewith Examples in R and Stan" 中示例的 Python/PyMC3 版本。它将书中的 R 和 Stan 代码移植到 PyMC3,并尽可能保持原书的示例,同时以更 Pythonic 和 PyMC3onic的方式表达。该项目已弃用,建议访问 [https://github.com/pymc-devs/resources/tree/master/Rethinking](https://github.com/pymc-devs/resources/tree/master/Rethinking) 获取更新、提交问题或发送拉取请求。
* [SMPyBandits/SMPyBandits](https://github.com/SMPyBandits/SMPyBandits) SMPyBandits是一个开源的Python库,用于单人和多人多臂老虎机(MAB)算法的研究。它包含了最全面的单人(经典)老虎机算法集合,以及所有最先进的多人算法的实现。该库积极跟踪MAB研究的最新出版物,并快速实现新算法,例如Exp3++、CORRAL、SparseUCB、LearnExp和kl-UCB++。SMPyBandits提供完整的Sphinx生成的文档,并提供基于Airspeed Velocity的广泛基准测试结果。该库已发布到PyPI,并可通过pip安装。
* [riga/tfdeploy](https://github.com/riga/tfdeploy) tfdeploy是一个轻量级的库,用于将TensorFlow模型部署到无法运行TensorFlow的环境中,它使用NumPy进行快速评估,并可以将模型保存到磁盘,以便在没有TensorFlow的环境中加载和使用。tfdeploy不需要TensorFlow进行评估,仅依赖NumPy,可以加载一个或多个模型,并且比使用TensorFlow的`Tensor.eval`更快。该项目不再积极维护,但代码库仍然可用,作为大多数构成现代机器学习领域核心内核的参考实现。
* [intel/scikit-learn-intelex](https://github.com/intel/scikit-learn-intelex) Intel(R)Extension for Scikit-learn 是一个免费的 AI 加速器,可以将您的现有 scikit-learn 代码加速 10-100倍。它利用向量指令、AI 硬件特定内存优化、线程和针对所有即将推出的英特尔平台的优化来实现软件加速。该扩展可以集成到您的现有 scikit-learn 应用程序中,无需代码修改,并继续使用开源 scikit-learn API。您可以通过几行代码或在命令行中启用和禁用该扩展。它还包含在 Intel(R) AI 工具中。
* [mlrun/mlrun](https://github.com/mlrun/mlrun) MLRun是一个开源 MLOps 平台,用于快速构建和管理持续的机器学习应用程序及其生命周期。MLRun 集成到您的开发和 CI/CD 环境中,并自动化生产数据、机器学习管道和在线应用程序的交付。MLRun 显著减少了工程工作量、生产时间和计算资源。使用 MLRun,您可以选择本地机器或云上的任何 IDE。MLRun 打破了数据、机器学习、软件和 DevOps/MLOps 团队之间的隔阂,从而实现协作和快速持续改进。
* [SebKrantz/collapse](https://github.com/SebKrantz/collapse) collapse是一个基于 C/C++ 的 R 包,用于数据转换和统计计算,旨在简化 R 中复杂的数据转换、探索和计算任务,并使 R 代码更快、更灵活、更简洁、更易于编程。它支持多种数据类型,包括 base R、tibble、grouped_df、data.table、sf、units、pseries、pdata.frame、xts/zoo 和变量标签。主要功能包括:高级统计编程、快速数据操作、高级聚合、高级转换、高级时间计算、列表处理、高级数据探索等。
* [argmaxinc/WhisperKit](https://github.com/argmaxinc/WhisperKit) WhisperKit是一个 Swift 包,它将 OpenAI 的流行语音识别模型 Whisper 与 Apple的 CoreML 框架集成,以便在 Apple 设备上进行高效的本地推理。它允许您在设备上进行语音识别,而无需将数据发送到云端。您可以使用 Swift Package Manager 将 WhisperKit 集成到您的 Swift 项目中,并通过简单的 API 使用它来转录音频文件或实时音频流。WhisperKit 还提供了一个命令行界面,您可以使用它来生成和管理模型。
* [unifyai/ivy](https://github.com/unifyai/ivy) Ivy 是一个开源机器学习框架,使您能够:自动调整模型:使用 ivy. autotune 自动查找适合您特定用例的最佳框架、编译器基础结构和硬件。将代码转换为任何框架:通过使用 ivy.transpile 将任何代码从一个框架转换为另一个框架,在任何模型、库或设备的基础上使用和构建。编写与框架无关的代码:在 ivy 中编写一次代码,然后选择最合适的 ML 框架作为后端,以利用所有优势和工具。
* [tensorflow/datasets](https://github.com/tensorflow/datasets) TensorFlow Datasets(TFDS) 是一个用于 TensorFlow、Jax 等框架的公共数据集集合,它提供易于使用的 `tf.data.Datasets`。TFDS遵循简单性、性能、确定性和可定制性等核心价值观,并提供详细的文档、教程和 API 参考。用户可以通过 `tfds.load` 函数加载数据集,并使用 `tf.data` API 构建输入管道。此外,TFDS 还允许用户添加新的数据集,并提供数据集请求功能,方便用户投票选择他们想要的数据集。
* [unslothai/hyperlearn](https://github.com/unslothai/hyperlearn) Hyperlearn是一个机器学习算法库,它能够使算法速度提升2-2000倍,并减少50%的内存使用,同时兼容所有硬件。该项目由NVIDIA前员工Daniel Hanchen开发,其算法和方法已被应用于多个组织和项目,包括Facebook的Pytorch、Scipy、Cupy、NVIDIA和UNSW。Hyperlearn的特色在于其高效的算法,例如TSNE算法,它能够将运行时间从数小时缩短至数秒。该项目目前正在开发中,预计将于2022年发布稳定版本。
* [SALib/SALib](https://github.com/SALib/SALib) SALib是一个 Python 库,用于执行敏感性分析,包含 Sobol、Morris、FAST 等多种方法。它可以帮助用户分析模型输入或外部因素对模型输出的影响。SALib 提供了多种方法,包括 Sobol 方法、Morris 方法、FAST 方法、Delta 方法、DGSM 方法、Fractional FactorialSensitivity Analysis、HDMR 方法、PAWN 方法和 Regional Sensitivity Analysis。用户可以通过 pip 安装 SALib 库,并使用其提供的示例代码快速开始使用。
* [pavlin-policar/openTSNE](https://github.com/pavlin-policar/openTSNE) openTSNE是一个模块化的Python实现,用于t-分布随机邻域嵌入(t-SNE)算法,该算法是一种流行的高维数据可视化降维算法。openTSNE包含了t-SNE算法的最新改进,包括将新数据点添加到现有嵌入的能力、大幅提升速度、支持对数百万个数据点进行t-SNE,以及各种技巧来改善结果可视化的全局对齐。该项目提供详细的文档、用户指南、教程和示例,并支持从conda-forge或PyPi进行安装。
* [amueller/dabl](https://github.com/amueller/dabl) dabl是一个数据分析基础库,它专注于探索性可视化和预处理,并提供 GridSearchCV 和 RandomizedSearchCV 的替代方案,使用连续减半方法进行模型搜索。它还包含类似于 Auto-sklearn 的模型组合,快速搜索不同梯度提升模型、树集成和核方法。dabl 提供方便的预处理和模型搜索功能,并通过可视化快速概述数据。它与 Lux 和 Pandas Profiling 等其他数据分析库互补,提供了不同的功能。
* [explosion/thinc](https://github.com/explosion/thinc) Thinc是一个轻量级的深度学习库,提供了一个优雅、类型检查、函数式编程的 API 用于模型组合,并支持 PyTorch、TensorFlow 和 MXNet等框架定义的层。Thinc 可以作为接口层、独立工具包或灵活的开发新模型的方式。Thinc 的主要特点包括类型检查、支持 PyTorch、TensorFlow 和 MXNet 模型、简洁的函数式编程模型定义方式、可选的自定义中缀符号、集成的配置系统、可扩展的后端等。
* [tensorflow/model-optimization](https://github.com/tensorflow/model-optimization) TensorFlow模型优化工具箱是一个用于优化机器学习模型的工具集,支持量化和剪枝等技术,帮助用户将模型部署到各种平台。该工具箱提供了专门为 Keras 设计的 API,并提供稳定的 Python API。用户可以参考 TensorFlow 模型优化官方网站获取项目概述、工具介绍、优化收益以及路线图等信息。该项目遵循 TensorFlow 的贡献指南和行为准则,并使用 GitHub Issues 来跟踪请求和错误。
* [patrick-kidger/equinox](https://github.com/patrick-kidger/equinox) Equinox是一个基于 JAX 的库,提供 PyTorch 风格的易用神经网络定义、过滤 API、PyTree 操作和运行时错误等功能,并与JAX 生态系统中的其他库兼容。它不是一个框架,而是提供构建模型的工具,模型可以轻松地与 JAX 的其他功能(如 JIT、梯度等)集成。Equinox 提供了 PyTorch 风格的语法来定义模型,并与 JAX 的操作(如 JIT、梯度等)完全兼容,方便用户构建和训练神经网络。
* [ropensci/targets](https://github.com/ropensci/targets) targets是一个类似 Make 的 R 包,用于构建数据科学和统计分析的管道,它可以自动执行任务、并行计算,并抽象文件为 R 对象。targets 的核心思想是通过定义目标(target)来组织分析流程,每个目标对应一个 R 函数,并返回一个 R 对象。targets 会自动管理目标之间的依赖关系,并只执行必要的操作,从而提高效率和可重复性。targets 还支持并行计算,可以加速分析过程。
* [geomstats/geomstats](https://github.com/geomstats/geomstats) Geomstats是一个用于在流形上进行计算、统计、机器学习和深度学习的Python包。它包含两个主要模块:geometry和learning。geometry模块实现了微分几何,包括流形、李群、纤维丛、形状空间、信息流形、黎曼度量等。learning模块实现了用于流形上数据的统计和学习算法。用户可以选择NumPy、Autograd或PyTorch作为后端。该项目提供丰富的文档、教程和示例,并积极维护社区互动。
* [graphistry/pygraphistry](https://github.com/graphistry/pygraphistry) PyGraphistry是一个开源Python库,帮助数据科学家和开发者利用图形可视化、分析和AI的力量,并利用GPU加速。它允许您快速加载和准备各种格式、形状和规模的数据,并将其转换为图形,同时利用Pandas、Spark、RAPIDS (GPU)和Apache Arrow等工具。PyGraphistry还与Amazon Neptune、cuGraph、Databricks、graphviz、Neo4j、Splunk、TigerGraph等多种工具集成,并提供大量示例和教程,帮助您快速上手。
* [lebedov/scikit-cuda](https://github.com/lebedov/scikit-cuda) scikit-cuda是一个 Python 库,提供对 NVIDIA CUDA 编程工具包中 CUDA 设备/运行时、CUBLAS、CUFFT 和 CUSOLVER 库的接口,以及对 CULA Dense Toolkit 中部分函数的接口。它提供类似于 C 语言的低级包装函数,以及类似于 NumPy 和 Scipy的高级函数。该项目提供完整的文档,包含示例和演示,并支持多种平台和版本。用户可以在 GitHub 上提交问题和反馈,并通过引用该项目进行学术出版。
* [scikit-learn-contrib/category_encoders](https://github.com/scikit-learn-contrib/category_encoders) category_encoders是一个与scikit-learn兼容的库,提供多种方法将分类变量编码为数值型,方便机器学习模型使用。它包含无监督和监督两种类型的编码方法,无监督方法包括One-Hot、Ordinal等,监督方法包括Target Encoding、LeaveOneOut等。该库支持numpy数组和pandas数据框作为输入,并提供可配置的选项。用户可以通过pip或conda安装该库,并使用其提供的编码器进行数据预处理。
* [microsoft/CNTK](https://github.com/microsoft/CNTK) 统一的深度学习工具包,它通过有向图将神经网络描述为一系列计算步骤。在此有向图中,叶节点表示输入值或网络参数,而其他节点表示输入的矩阵运算。CNTK允许用户轻松实现和组合常用模型类型,例如前馈 DNN、卷积网络 (CNN) 和循环网络 (RNN/LSTM) 。它实现了随机梯度下降(SGD,误差反向传播)学习,并在多个 GPU 和服务器之间实现了自动微分和并行化。
* [pditommaso/awesome-pipeline](https://github.com/pditommaso/awesome-pipeline) 这是一个精心整理的管道工具包列表,灵感来自 Awesome Sysadmin 项目。它包含了各种框架和库,用于构建、管理和执行数据处理、机器学习、CI/CD 等任务的流程。例如,Airflow 是一个基于 Python 的工作流系统,Argo Workflows 是一个容器原生工作流引擎,Cromwell 是一个面向科学工作流的管理系统,等等。该列表还包括一些专门用于生物信息学、高性能计算等领域的工具。
* [mit-han-lab/tinyengine](https://github.com/mit-han-lab/tinyengine) TinyEngine是一个针对微控制器的内存高效且高性能的神经网络库,是MCUNet的一部分,MCUNet是一个用于微控制器上的微型深度学习的系统-算法协同设计框架。TinyEngine和TinyNAS共同设计以适应严格的内存预算,项目特色包括:内存高效、高性能、支持微控制器上的深度学习,并提供推理和训练演示。MCUNetV1、MCUNetV2和MCUNetV3分别在NeurIPS2020、NeurIPS 2021和NeurIPS 2022上发表。
* [inducer/pycuda](https://github.com/inducer/pycuda) PyCUDA是一个 Python 库,它允许你从 Python 中访问 Nvidia 的 CUDA 并行计算 API。它提供了一些独特的功能,例如自动资源管理(RAII),简化了 CUDA 编程,并提供了完整的 CUDA 驱动程序 API 访问,以及与 OpenGL 的互操作性。PyCUDA 还提供自动错误检查和 C++ 编写的底层,以确保速度和效率。此外,它还拥有完善的文档,并与 PyOpenCL 项目相关联,为 OpenCL 提供类似的功能。
* [dougbrion/pytorch-classification-uncertainty](https://github.com/dougbrion/pytorch-classification-uncertainty) 该项目是一个基于 PyTorch 的开源实现,用于量化分类不确定性,它基于论文“Evidential Deep Learning to Quantify Classification Uncertainty”。该项目使用狄利克雷分布对类概率进行建模,将神经网络的预测视为主观意见,并通过确定性神经网络从数据中学习证据收集函数,从而实现对预测不确定性的显式建模。该方法在检测非样本查询和对抗性扰动方面取得了显著成果。
* [snakemake/snakemake](https://github.com/snakemake/snakemake) Snakemake是一个用于创建可重复且可扩展的数据分析工作流程的工具,它使用易于理解的 Python 语言描述工作流程,并能无缝扩展到服务器、集群、网格和云环境,无需修改工作流程定义。Snakemake 还支持描述所需软件,并自动部署到任何执行环境。Snakemake 非常受欢迎,2021 年平均每周有超过 7 次新的引用,下载量接近 40 万次。项目主页:https://snakemake.github.io。
* [chainer/chainer](https://github.com/chainer/chainer) Chainer是一个灵活的基于Python的深度学习框架,旨在提供灵活性。它使用**define-by-run**方法(也称为动态计算图)提供自动微分API,以及面向对象的、高级的API来构建和训练神经网络。它还使用[CuPy](https://github.com/cupy/cupy)支持CUDA/cuDNN,以实现高性能训练和推理。有关Chainer的更多详细信息,请参阅上面列出的文档和资源,并加入论坛、Slack和Twitter上的社区。
* [huggingface/autotrain-advanced](https://github.com/huggingface/autotrain-advanced) AutoTrain Advanced是一个无需代码的机器学习模型训练和部署工具,只需点击几下即可训练模型。它支持在 Google Colab 或 Hugging Face Spaces 上运行,并提供本地安装选项。AutoTrain Advanced 可以使用配置文件进行命令行训练,并提供示例配置文件。此外,它还提供针对特定任务的Colab 示例,例如 LLM 微调和 DreamBooth 训练。项目文档可在 https://hf.co/docs/autotrain/ 找到。
* [spyder-ide/spyder](https://github.com/spyder-ide/spyder) Spyder是一个开源的科学 Python 开发环境,它提供了一个用户友好的界面,用于编写、运行和调试 Python 代码。Spyder 集成了许多有用的功能,例如代码自动补全、语法高亮、代码调试、变量浏览器和交互式控制台,以帮助用户更高效地进行科学计算和数据分析。Spyder 基于 Qt 框架构建,并使用 Python 语言编写,它可以运行在 Windows、macOS 和 Linux 操作系统上。
* [dfm/emcee](https://github.com/dfm/emcee) emcee是一个稳定、经过良好测试的 Python 库,实现了 Goodman & Weare(2010) 提出的用于马尔科夫链蒙特卡罗 (MCMC) 的仿射不变系综采样器。该代码是开源的,已在多个已发表的天体物理学文献项目中使用。emcee 的文档可以在 emcee.readthedocs.io 上找到,并鼓励在研究中使用该代码的用户引用 Foreman-Mackey 等人(2012) 的论文。emcee 是根据 MIT 许可证发布的免费软件。
* [ropensci/drake](https://github.com/ropensci/drake) drake是一个专注于 R 语言的管道工具包,用于提高可重复性和高性能计算。它可以帮助你构建、管理和执行数据分析管道,并自动处理依赖关系,确保结果的准确性和可重复性。drake 已经被 `targets` 包取代,`targets` 包功能更强大,使用更便捷。你可以访问 [https://books.ropensci.org/targets/drake.html](https://books.ropensci.org/targets/drake.html) 获取更多信息和迁移建议。
* [8080labs/pyforest](https://github.com/8080labs/pyforest) pyforest是一个Python库,能自动导入常用的数据科学库,无需手动编写import语句。它在Jupyter Notebook中工作,在你使用某个库时自动导入并将其添加到第一个单元格,未使用则不导入,方便快捷地进行数据分析,提高效率,支持pandas、numpy、matplotlib、seaborn等众多库。安装方法为`pip install --upgrade pyforest`及`python -m pyforest install_extensions`,并重启Jupyter服务器。
* [pydata/patsy](https://github.com/pydata/patsy) Patsy是一个Python库,用于描述统计模型(特别是线性模型或具有线性成分的模型)并构建设计矩阵。它将R语言中的公式语法引入Python,方便用户使用公式来描述模型。Patsy不再积极开发,但目前仍可使用。用户可考虑迁移到其继承项目Formulaic。Patsy依赖于Python、six、numpy等库,并可选依赖于pytest/pytest-cov和scipy。用户可以使用pip install patsy命令安装该库。
* [NexaAI/nexa-sdk](https://github.com/NexaAI/nexa-sdk) Nexa SDK是一个支持 ONNX 和 GGML 模型的综合工具包,支持文本生成、图像生成、视觉语言模型 (VLM)、自动语音识别 (ASR) 和文本转语音 (TTS) 功能。它提供一个与 OpenAI 兼容的 API 服务器,支持 JSON 模式函数调用和流支持,并提供一个用户友好的 Streamlit UI。Nexa SDK 支持 CUDA、Metal 和 ROCm 等 GPU 加速,可运行在任何具有 Python 环境的设备上,并提供可执行版本。
* [amaiya/ktrain](https://github.com/amaiya/ktrain) ktrain是一个轻量级的 Python 库,它简化了深度学习和 AI的应用,旨在让新手和经验丰富的从业者都能轻松使用。ktrain 基于 TensorFlow Keras,提供了预训练模型,可以轻松处理文本、图像、图和表格数据,例如文本分类、文本回归、序列标注(NER)、句子对分类、无监督主题建模等任务。它还支持快速、准确的模型训练和部署,并提供丰富的示例和教程。
* [mirage-project/mirage](https://github.com/mirage-project/mirage) Mirage 是一个通过超级优化技术自动为 PyTorch 程序生成快速 GPU 内核的工具。例如,要获得用于注意力的快速 GPU 内核,用户只需编写几行 Python 代码来描述注意力的计算。对于给定的 PyTorch 程序,Mirage 会自动搜索功能上与输入程序等效的潜在 GPU 内核空间,并发现高度优化的候选内核。这种方法使 Mirage 能够找到优于现有专家设计内核的新定制内核。
* [spfrommer/torchexplorer](https://github.com/spfrommer/torchexplorer) TorchExplorer是一个用于交互式检查PyTorch模型的工具,可以方便地查看模型的输入、输出、参数和梯度信息。它可以与Weights & Biases(WandB)集成,也可以作为独立的工具使用。用户只需在训练循环中调用`torchexplorer.watch()`方法,即可在训练过程中实时查看模型的内部状态。TorchExplorer还提供了交互式的模型结构视图,方便用户了解模型的结构和参数。
* [nalepae/pandarallel](https://github.com/nalepae/pandarallel) Pandarallel 是一个简单高效的工具,可以利用所有可用的 CPU 并行化 Pandas 操作。只需修改一行代码即可实现并行化,并提供进度条显示。该项目正在寻找维护者,感兴趣的用户可以联系项目作者或在 GitHub 上创建问题。安装方法为 `pip install pandarallel`,使用时只需将 `df.apply(func)` 替换为 `df.parallel_apply(func)` 即可。项目文档提供详细的使用示例和说明。
* [vega/altair](https://github.com/vega/altair) Vega-Altair是一个用于 Python 的声明式统计可视化库,它基于强大的Vega-Lite JSON 规范,提供简单易用的 API,帮助你快速创建美观且有效的可视化图表。你可以在 JupyterLab、Jupyter Notebook、Visual Studio Code 等环境中使用它,并导出为 PNG/SVG 等格式。Vega-Altair 的独特之处在于它不仅支持可视化,还支持交互,例如使用刷选工具过滤散点图并联动更新直方图。
* [lyhue1991/torchkeras](https://github.com/lyhue1991/torchkeras) torchkeras是一个易于使用的 PyTorch 模型训练工具,它提供简洁的代码结构,方便用户快速构建、训练和评估模型。它借鉴了Keras 的设计理念,提供类似的 API,简化了模型构建和训练过程,同时保留了 PyTorch 的灵活性和性能。torchkeras旨在简化模型训练,并提供常用的功能,例如模型构建、训练、评估、可视化等,方便用户快速上手 PyTorch 模型训练。
* [JuliaLang/IJulia.jl](https://github.com/JuliaLang/IJulia.jl) IJulia是Julia语言的Jupyter内核,允许用户在Jupyter Notebook(或JupyterLab等)交互式环境中使用Julia编程语言。它结合了Julia的强大功能和Jupyter的交互式笔记本功能,支持代码、文本、数学公式和多媒体的整合。IJulia可与多种Jupyter用户界面配合使用,并提供便捷的安装和启动方式,用户可选择自行安装Jupyter或让IJulia创建和管理其自身的Python/Jupyter安装。
* [Kaggle/kaggle-api](https://github.com/Kaggle/kaggle-api) Kaggle API是 Kaggle 网站的官方 API,使用 Python 3 实现,可以通过命令行工具访问。用户可以通过安装 `kaggle` 包来使用 API,并通过环境变量或配置文件设置 API 凭据。API 提供了多种功能,例如列出模型、获取数据集等。开发者可以通过修改 `src/` 目录下的代码,并使用 `hatch` 工具编译和运行代码,还可以进行集成测试。Kaggle API 遵循 Apache 2.0 许可证。
* [google/ml-metadata](https://github.com/google/ml-metadata) ML Metadata (MLMD) 是一个用于记录和检索与机器学习开发人员和数据科学家工作流程相关的元数据的库。它支持在各种平台上运行,包括macOS、Ubuntu 和 Windows。MLMD 可以通过 PyPI 安装,也可以从源代码构建。MLMD 提供了记录和检索元数据的 API,可以帮助用户跟踪模型训练、数据预处理、特征工程等过程中的关键信息,方便进行模型管理、调试和分析。
* [arviz-devs/arviz](https://github.com/arviz-devs/arviz) ArviZ是一个 Python 包,用于对贝叶斯模型进行探索性分析,包含后验分析、数据存储、模型检验、比较和诊断等功能。它提供丰富的绘图功能,例如森林图、小提琴图、后验预测图等,帮助用户直观地理解模型结果。ArviZ还支持 Julia 语言,并提供详细的文档和示例。用户可以通过 pip 或 conda 安装 ArviZ,并使用其丰富的功能进行贝叶斯模型分析。
* [gstoica27/ZipIt](https://github.com/gstoica27/ZipIt) ZipIt!是一个无需额外训练就能将不同初始化、解决不同任务的模型合并成一个多任务模型的框架。该项目提供了用于合并预训练模型的代码,支持多种模型架构和数据集,包括 ResNet、VGG、SinGAN 等。用户可以通过配置文件选择实验设置,并利用提供的评估脚本进行模型评估。该项目还支持自定义模型架构,用户可以根据自己的需求进行扩展。
* [SeldonIO/seldon-core](https://github.com/SeldonIO/seldon-core) MLOps 框架,用于打包、部署、监视和管理数千个生产机器学习模型。Seldon core 将您的 ML 模型(Tensorflow、Pytorch、H2o 等)或语言包装器(Python、Java 等)转换为生产 REST/GRPC 微服务。Seldon 可处理扩展到数千个生产机器学习模型,并提供开箱即用的高级机器学习功能,包括高级指标、请求日志记录、解释器、异常值检测器、A/B 测试、金丝雀等。
* [jason718/awesome-self-supervised-learning](https://github.com/jason718/awesome-self-supervised-learning) 该项目是一个关于自监督学习的资源列表,涵盖了理论、计算机视觉、机器学习、机器人、自然语言处理、自动语音识别、时间序列、图、演讲、论文和博客等方面。项目特色在于其对自监督学习方法的分类整理,并提供相关论文和代码链接。该项目旨在为研究人员和开发者提供一个方便的资源库,帮助他们了解和应用自监督学习技术。
* [bethgelab/foolbox](https://github.com/bethgelab/foolbox) Foolbox是一个Python库,用于对机器学习模型(如深度神经网络)进行对抗性攻击测试,它基于EagerPy,并原生支持PyTorch、TensorFlow和JAX模型。Foolbox 3采用EagerPy重写,提供原生性能,支持批处理,包含大量最先进的基于梯度和决策的对抗性攻击方法,并通过类型检查帮助开发者避免代码错误。用户可以通过官方指南、教程和API文档快速上手。
* [baal-org/baal](https://github.com/baal-org/baal) Baal是一个用于研究和工业应用的贝叶斯主动学习库,它支持多种主动学习方法,包括蒙特卡洛丢弃、MCDropConnect、深度集成和半监督学习。Baal旨在帮助用户更有效地训练机器学习模型,通过主动选择需要标注的数据点来减少标注成本。该库提供详细的文档和教程,并已在多个研究论文中得到应用。Baal最初由ElementAI开发,现已独立运营。
* [marcharper/python-ternary](https://github.com/marcharper/python-ternary) python-ternary是一个基于 matplotlib 的 Python 库,用于绘制三元图。它提供绘制投影线、曲线(轨迹)、散点图和热图等功能,并支持多种 matplotlib 关键字参数,例如 linestyle。该库包含多个示例和教程,可以帮助用户快速上手。用户可以使用 `TernaryAxesSubplot` 类创建三元坐标轴对象,并使用类似于 matplotlib 的 AxesSubplot 对象的方法进行绘图。
* [biolab/orange3](https://github.com/biolab/orange3) Orange是一个面向新手和专家的数据挖掘和可视化工具箱。它使用工作流方式,无需编程或深入的数学知识,让数据科学变得更易懂。用户只需拥有数据或有探索数据的意愿,就能使用Orange进行数据分析。Orange可以通过官方网站下载安装,也可以使用conda或pip进行安装。安装完成后,运行`orange-canvas`或`python3 -m Orange.canvas`即可启动Orange。
* [online-ml/river](https://github.com/online-ml/river) River是一个用于 Python 在线机器学习的库,旨在成为处理流式数据的机器学习最友好的库。River 是由 creme 和 scikit-multiflow合并而成的。它允许您在数据流上进行预测和模型更新,并提供各种机器学习模型、预处理方法和评估指标,例如,您可以使用 River 训练一个逻辑回归模型来对网站钓鱼数据集进行分类,并实时评估模型的准确率。
* [soulmachine/machine-learning-cheat-sheet](https://github.com/soulmachine/machine-learning-cheat-sheet) 该项目是一个机器学习公式和图表速查表,包含许多经典的机器学习公式和图表,可以帮助你快速回忆机器学习知识和概念,也适合准备机器学习相关面试的人使用。项目提供了 PDF 下载链接,以及使用 Docker 和 Windows 环境编译 LaTeX 模板的详细步骤。该项目基于 Springer LaTeX 模板,并提供详细的编译步骤,方便用户自行编译和修改。
* [albermax/innvestigate](https://github.com/albermax/innvestigate) iNNvestigate是一个用于分析神经网络预测的工具箱,它提供了一个通用接口和开箱即用的实现,可以帮助你轻松地分析神经网络的预测结果。iNNvestigate支持多种分析方法,例如Saliency、Deconvnet、GuidedBackprop、SmoothGrad、IntegratedGradients、LRP、PatternNet和PatternAttribution,并提供了一份论文用于引用。它基于Keras和TensorFlow 2,可以通过pip安装。
* [tensorflow/hub](https://github.com/tensorflow/hub) TensorFlow Hub是一个用于迁移学习的库,它允许开发者重用 TensorFlow 模型的部分组件。该库已迁移至 Kaggle Models,用户可通过 KaggleModels 访问和使用 TensorFlow Hub 模型。该库支持加载之前上传至 tfhub.dev 的模型,并建议将 tfhub.dev 链接替换为 Kaggle Models 链接,以提高代码健壮性和可调试性。一些未迁移的模型资产已被删除,无法再获取。
* [prismformore/Multi-Task-Transformer](https://github.com/prismformore/Multi-Task-Transformer) 该项目包含两个强大的多任务Transformer模型,分别为TaskPrompter和InvPT,用于场景理解。TaskPrompter模型利用空间-通道多任务提示机制,在ICLR 2023上发表。InvPT模型采用倒金字塔结构,在ECCV 2022上发表。这两个模型都取得了较好的性能,并在Cityscapes数据集上取得了SOTA结果。该项目提供代码和模型,并包含详细的介绍和引用信息。
* [labmlai/labml](https://github.com/labmlai/labml) Labml 是一个开源工具,可以帮助你从手机或笔记本电脑上监控深度学习模型训练和硬件使用情况。它只需两行代码即可集成到你的项目中,并提供漂亮的训练进度日志。Labml 还可以跟踪实验信息,例如 Git 提交、配置和超参数。你可以在任何电脑上使用一个命令来监控硬件使用情况,并使用 Labml 的 API 创建自定义可视化。
* [MarquezProject/marquez](https://github.com/MarquezProject/marquez) Marquez是一个开源的元数据服务,用于收集、聚合和可视化数据生态系统的元数据。它维护数据集的消费和生产来源,提供对作业运行时和数据集访问频率的全局可见性,集中化数据集生命周期管理等等。Marquez 由 WeWork 发布并开源。它支持使用OpenLineage 收集和查看数据集、作业和运行元数据,并提供 Docker 快速入门指南。
* [pymc-devs/sunode](https://github.com/pymc-devs/sunode) Sunode是一个 Python 库,用于快速求解常微分方程 (ODE),并支持 PyMC。它利用 Sundials 库中的 ADAMS 和 BDF求解器,以及它们对求解伴随 ODE 的支持来计算解的梯度。Sunode 可以通过 sympy 自动生成函数的抽象语法树,并使用 numba 编译它们,从而避免 Python 的开销。Sunode 还提供了一个 PyTensor 包装器,以便使用 PyMC 估计 ODE 的参数。
* [bambinos/bambi](https://github.com/bambinos/bambi) Bambi是一个用 Python 编写的用于构建贝叶斯模型的高级接口,基于 PyMC 概率编程框架。它旨在简化使用贝叶斯方法拟合社会科学领域常见的混合效应模型。Bambi 可以通过 pip 安装,并依赖于 ArviZ、formulae、NumPy、pandas 和 PyMC。Bambi 提供了简单的接口来构建模型,例如线性回归模型,并使用 ArviZ 进行结果分析和可视化。
* [t-makaro/animatplot](https://github.com/t-makaro/animatplot) animatplot是一个基于 matplotlib 的 Python 包,用于创建交互式动画图表。它支持使用滑块控制动画,并提供多种动画效果。animatplot需要 Python 3.8 及以上版本和 Matplotlib 2.2 及以上版本。可以使用 pip 或 conda 安装。项目文档可以在 [https://animatplot.readthedocs.io/en/latest/index.html](https://animatplot.readthedocs.io/en/latest/index.html) 找到。
* [holoviz/hvplot](https://github.com/holoviz/hvplot) hvPlot 是一个基于 HoloViews 的高层绘图 API,用于 pandas、dask、xarray 和 networkx 等数据分析库。它简化了数据分析和可视化,提供了一种直观的方式来创建各种图表,包括折线图、散点图、直方图、热图等。hvPlot 利用 HoloViews 的强大功能,自动处理数据映射、布局和交互性,使您能够轻松地创建交互式、可探索的图表。
* [tensorflow/privacy](https://github.com/tensorflow/privacy) TensorFlow Privacy是一个Python库,用于训练具有数据隐私保护的机器学习模型。它包含TensorFlow优化器的实现,用于训练具有差分隐私的机器学习模型。该库还提供教程和分析工具,用于计算提供的隐私保证。该库处于持续开发中,欢迎贡献。用户可以通过`pip install tensorflow-privacy`安装该库,并通过GitHub提交代码贡献。
* [premAI-io/state-of-open-source-ai](https://github.com/premAI-io/state-of-open-source-ai) 该项目是《开源 AI 状态》(2023 版)电子书的源代码仓库,该电子书全面介绍了开源 AI 的方方面面,从模型评估到部署,旨在帮助读者了解开源 AI 的最新进展。该项目欢迎贡献、问题和评论,并提供了一个专门的 Discord 频道供读者讨论书中的内容。该电子书采用 CC-BY-4.0(文本)和 Apache-2.0(代码)许可证发布。
* [DataCanvasIO/Hypernets](https://github.com/DataCanvasIO/Hypernets) 通用自动化机器学习框架,用于简化特定领域中端到端 AutoML 工具包的开发。包括 tensorflow、keras、pytorch 等深度学习框架,以及 sklearn、lightgbm、xgboost 等机器学习库。引入了抽象的搜索空间表示,同时兼顾了超参数优化和神经架构搜索(NAS)的要求,使 Hypernets 成为能够适应各种自动化机器学习需求的通用框架。
* [yassouali/awesome-semi-supervised-learning](https://github.com/yassouali/awesome-semi-supervised-learning) 最新和精选的令人敬畏的半监督学习论文,方法和资源列表。未标记的数据可能相对容易收集,但很少有方法可以使用它们。半监督学习通过使用大量未标记的数据以及标记的数据来构建更好的分类器来解决此问题。由于半监督学习需要更少的人力并且具有更高的准确性,因此它在理论和实践中都非常有趣。
* [apache/predictionio](https://github.com/apache/predictionio) Apache PredictionIO是一个开源机器学习框架,专为开发者、数据科学家和最终用户设计。它支持事件收集、算法部署、评估,并通过 REST API查询预测结果。它基于可扩展的开源服务,如 Hadoop、HBase(和其他数据库)、Elasticsearch、Spark,并实现了 Lambda 架构。您可以通过网站 http://predictionio.apache.org 获取更多信息。
* [shankarpandala/lazypredict](https://github.com/shankarpandala/lazypredict) Lazy Predict是一个Python库,它可以帮助你快速构建各种基础机器学习模型,无需编写大量代码,并能帮助你了解不同模型的效果,无需进行参数调整。它支持分类和回归任务,并提供多种评估指标,例如准确率、平衡准确率、ROC AUC、F1分数等。你可以使用它快速比较不同模型的性能,并选择最适合你的模型。
* [rasbt/mlxtend](https://github.com/rasbt/mlxtend) mlxtend是一个 Python 库,为 Python 的数据分析和机器学习库提供扩展和辅助模块。它包含各种实用工具,可以简化日常数据科学任务,例如,它提供用于集成多个分类器的集成投票分类器,以及用于绘制决策区域的函数。mlxtend 可以通过 pip 或 conda 安装,并提供详细的文档和示例代码,方便用户学习和使用。
* [SeldonIO/alibi](https://github.com/SeldonIO/alibi) Alibi是一个Python库,用于机器学习模型的检查和解释,提供高质量的实现,包括黑盒、白盒、局部和全局解释方法,适用于分类和回归模型。该库支持各种解释方法,例如锚点解释、集成梯度、反事实示例和累积局部效应,可用于理解模型的预测结果。Alibi还提供了一系列示例和文档,帮助用户快速上手。
* [ml-tooling/ml-workspace](https://github.com/ml-tooling/ml-workspace) MLWorkspace是一个一体化的基于Web的机器学习和数据科学IDE,预装了TensorFlow、PyTorch、Jupyter、VS Code等众多流行库和工具,方便用户快速构建ML解决方案。它支持通过Docker轻松部署在Mac、Linux和Windows上,并提供Jupyter、JupyterLab和VS Code等多种Web IDE,以及Tensorboard和Netdata等集成监控工具,可通过Web、SSH或VNC访问。
* [rusty1s/pytorch_sparse](https://github.com/rusty1s/pytorch_sparse) PyTorchSparse 是一个用于优化稀疏矩阵操作的 PyTorch 扩展库,支持自动微分。它包含了多种稀疏矩阵操作,包括合并、转置、稀疏-稠密矩阵乘法和稀疏-稀疏矩阵乘法,支持多种数据类型,并在 CPU 和 GPU 上实现。该库简化了稀疏张量的操作,用户只需传入索引和值张量即可,并支持对值张量的自动微分。
* [has2k1/plotnine](https://github.com/has2k1/plotnine) plotnine是一个基于 ggplot2 的 Python 图形语法库,它允许你通过将数据框中的变量映射到图形对象的视觉属性(位置、颜色、大小等)来构建图形。这种图形语法方法使得构建复杂图形变得简单直观,同时保持简单图形的易用性。plotnine 的API 与 ggplot2 相似,因此你可以参考 ggplot2 文档来学习更多用法。
* [scikit-learn-contrib/metric-learn](https://github.com/scikit-learn-contrib/metric-learn) metric-learn是一个 Python 库,提供多种监督和弱监督度量学习算法的实现,其 API 与 scikit-learn 兼容,可与 scikit-learn 的各种工具(如管道、模型选择等)无缝衔接。该库包含 LMNN、ITML、SDML、LSML、SCML、NCA、LFDA、RCA、MLKR 和 MMC 等算法,可用于学习数据之间的距离度量,从而提高机器学习模型的性能。
* [holoviz/holoviews](https://github.com/holoviz/holoviews) HoloViews 是一个 Python 库,它通过简化数据可视化过程,让你的数据自动生成图表。你只需对数据进行标注,HoloViews 会自动选择合适的图表类型并呈现数据。它支持多种图表类型,并与其他数据科学库(如 Pandas 和 NumPy)无缝集成。HoloViews 还可以用于创建交互式图表,方便你探索和分析数据。
* [Xtra-Computing/thundersvm](https://github.com/Xtra-Computing/thundersvm) ThunderSVM是一个快速支持向量机库,它利用GPU和多核CPU加速SVM模型训练,支持LibSVM的所有功能,包括一类SVM、SVC、SVR和概率SVM,并提供与LibSVM相同的命令行选项。ThunderSVM支持Python、R、Matlab和Ruby接口,可在Linux、Windows和MacOS等操作系统上运行。该项目旨在帮助用户轻松高效地应用SVM解决问题。
* [tensorflow/serving](https://github.com/tensorflow/serving) 灵活、高性能的机器学习模型服务系统,专为生产环境而设计。它涉及机器学习的推理方面,在训练后获取模型并管理其生命周期,通过高性能、引用计数的查找表为客户提供版本化访问。TensorFlow Serving 提供与 TensorFlow 模型的开箱即用集成,但可以轻松扩展以服务其他类型的模型和数据。
* [sudharsan13296/Awesome-Meta-Learning](https://github.com/sudharsan13296/Awesome-Meta-Learning) 这是一个关于元学习的资源列表,包含论文、代码、书籍、博客、视频、数据集和其他资源。该项目涵盖了各种元学习方法,包括零样本学习、少样本学习、低样本学习等。项目提供了一些经典论文的代码实现,例如Siamese Networks、Prototypical Networks、Matching Networks等,方便用户学习和实践。
* [nebuly-ai/nebullvm](https://github.com/nebuly-ai/nebullvm) 易于使用的库,可利用最先进的优化技术促进 AI 推理。利用多种优化技术(深度学习编译器、量化、稀疏性、蒸馏等),以确定在特定硬件上执行 AI 模型的最佳方式。可以在不损失性能的情况下将您的模型加速 2 到 10 倍,如果为超低延迟和更轻的模型牺牲准确度/精度,则可加速至 30 倍.
* [carefree0910/carefree-learn](https://github.com/carefree0910/carefree-learn) carefree-learn是一个基于 PyTorch 的深度学习框架,旨在简化深度学习操作。它以模块为核心,提供简洁易用的模块化设计,并尽可能保持原生 PyTorch 风格,支持依赖注入和 torch.compile 优化。框架优先考虑模块化设计,并计划在未来根据现代 AI 发展添加训练功能,同时保证 API 的向后兼容性。
* [datalad/datalad](https://github.com/datalad/datalad) DataLad是一款基于 Git 和 git-annex 的数据管理和分发工具,它可以帮助用户轻松地管理代码、数据和容器。DataLad 通过将数据存储在 Git 仓库中,并使用 git-annex 来管理大型文件,从而实现数据版本控制、协作和分发。DataLad 还支持多种数据格式,并提供了一系列工具来简化数据分析和处理。
* [yinsn/ParaDance](https://github.com/yinsn/ParaDance) ParaDance 是一个专为大规模数据分析而定制的综合性 Python 工具包。它提供数据加载、处理、评估指标、采样和可视化功能。 ParaDance 的独特之处在于,它具有多目标贝叶斯优化功能,支持各种聚合公式和计算器。这种多目标设置的灵活性使 ParaDance 成为数据科学家和研究人员的宝贵工具。
* [SeldonIO/alibi-detect](https://github.com/SeldonIO/alibi-detect) Alibi Detect是一个 Python 库,专注于异常值、对抗样本和数据漂移检测。该库涵盖了表格数据、文本、图像和时间序列的在线和离线检测器。支持 TensorFlow 和 PyTorch 后端进行漂移检测。该库还包含内置的预处理步骤,并提供大量参考列表,包括异常值检测、对抗样本检测和漂移检测算法。
* [scikit-tda/scikit-tda](https://github.com/scikit-tda/scikit-tda) Scikit-TDA 是一个为非拓扑学家提供的 Python 拓扑数据分析库,旨在提供易于使用且广泛适用的 TDA 工具。它包含多个独立的包,可单独使用或作为 `scikit-tda` 捆绑包的一部分使用。安装所有库只需运行 `pip install scikit-tda`。如果您想贡献代码、笔记本、示例或文档,请随时提交 Pull Request。
* [conda/conda](https://github.com/conda/conda) Conda 是一个跨平台、与语言无关的二进制包管理器。它是一个在Miniforge和Anaconda Distribution等 conda 发行版中使用的包管理器,但它也可以用于其他系统。 Conda 使环境成为一等公民,甚至可以轻松地为 C 库创建独立的环境。 conda 命令行界面完全用 Python 编写,并且是 BSD 许可的开源软件。
* [microsoft/onnxruntime](https://github.com/microsoft/onnxruntime) 跨平台深度学习训练和推理机加速器,与深度学习框架,可以兼容TensorFlow、Keras和PyTorch等多种深度学习框架。Open Neural Network Exchange 是用于表示深度学习模型的开放格式,定义了通用运算符、机器学习和深度学习模型的构建块以及通用文件格式,可与各种框架工具和编译器一起使用。
* [pytorch/ignite](https://github.com/pytorch/ignite) Ignite是一个 PyTorch 高级库,它提供灵活且透明的训练和评估神经网络的方法。它简化了训练和验证循环,并通过事件和处理程序提供强大的功能。Ignite 采用库式方法,不会反转程序控制,允许用户在需要时使用它。此外,它还提供可扩展的 API,用于度量、实验管理器和其他组件。
* [facebookresearch/hydra](https://github.com/facebookresearch/hydra) Hydra是一个用于优雅配置复杂应用程序的框架,它通过简化配置管理来提高开发效率。Hydra的工作原理是利用结构化的配置文件,支持多种配置格式和参数覆盖机制,从而方便地管理和运行复杂的实验和应用。它拥有活跃的社区和丰富的生态系统,并被广泛应用于机器学习等领域。
* [raminmh/liquid_time_constant_networks](https://github.com/raminmh/liquid_time_constant_networks) 一种能适应实时世界系统的变化的神经网络。神经网络的设计灵感来自生物大脑,设计灵感直接来自秀丽隐杆线虫(C. elegans)。他说:「它的神经系统仅有 302 个神经元,但却可以产生超出预期的复杂动态。」 Liquid 网络的流动性使其能更弹性地应对意料之外的数据或噪声数据。
* [vosen/ZLUDA](https://github.com/vosen/ZLUDA) ZLUDA 允许您在 Intel AMD GPU 上以近乎原生的性能运行未经修改的 CUDA 应用程序。ZLUDA 目前是 alpha 质量,但已被确认可以与各种原生 CUDA 应用程序一起使用:Geekbench、3DF Zephyr、Blender、Reality Capture、LAMMPS、NAMD、waifu2x、OpenFOAM、Arnold(概念验证)等。ZLUDA完全建立在ROCm/HIP之上。
* [MaxHalford/prince](https://github.com/MaxHalford/prince) Prince是一个用于 Python 的多元探索性数据分析库,它包含各种方法来汇总表格数据,包括主成分分析 (PCA) 和对应分析 (CA)。Prince 提供高效的实现,使用 scikit-learn API。该库支持多种方法,包括 PCA、CA、MCA、MFA、FAMD和 GPA,并提供交互式图表功能,帮助用户更好地理解数据。
* [philipperemy/keract](https://github.com/philipperemy/keract) Keract是一个用于获取 Keras 模型中各层输出和梯度的工具,支持Tensorflow 2.9-2.15 版本。它可以轻松获取模型中各层的激活值(输出)和梯度,并提供多种展示方式,例如以 NumPy 数组形式输出、以热图形式展示以及保存为 JSON 文件。Keract 还支持嵌套模型,但目前支持有限。
* [numba/numba](https://github.com/numba/numba) 开源的、NumPy 感知的 Python 优化编译器,由 Anaconda, Inc. 赞助。它使用 LLVM 编译器项目从 Python 语法生成机器代码。Numba 可以编译一个以数字为中心的 Python 子集,包括许多 NumPy 函数。此外,Numba 还支持循环的自动并行化、GPU 加速代码的生成以及 ufuncs 和 C 回调的创建。
* [gigwegbe/tinyml-papers-and-projects](https://github.com/gigwegbe/tinyml-papers-and-projects) 这是一个关于 TinyML的有趣论文和项目的列表,包含了 2016 年到 2024 年的论文和项目,涵盖了模型压缩、硬件感知量化、目标检测等领域,并提供了一些资源,如文章、书籍、库和工具、课程和 TinyML 演讲。该项目还包含了项目源代码和文章链接,方便用户学习和参考。
* [PaddlePaddle/Paddle-Lite](https://github.com/PaddlePaddle/Paddle-Lite) 飞桨多端多平台高性能深度学习推理引擎.支持多平台:涵盖 Android、iOS、嵌入式 Linux 设备、Windows、macOS 和 Linux 主机。支持多种语言:包括 Java、Python、C++。轻量化和高性能:针对移动端设备的机器学习进行优化,压缩模型和二进制文件体积,高效推理,降低内存消耗
* [TimDettmers/bitsandbytes](https://github.com/TimDettmers/bitsandbytes) PyTorch 的 8 位 CUDA 函数。具有混合精度分解的 8 位矩阵乘法;LLM.int8 推理;8 位优化器:Adam、AdamW、RMSProp、LARS、LAMB(节省 75% 的内存);稳定嵌入层:通过更好的初始化和规范化;提高稳定性 8 位量化:分位数、线性和动态量化;快速分位数估计:比其他算法快 100 倍
* [gyli/PyWaffle](https://github.com/gyli/PyWaffle) PyWaffle是一个开源的 Python 包,用于绘制华夫饼图,它基于matplotlib,提供一个名为 `Waffle` 的图形构造类,可以生成 matplotlib图形对象。它支持多种自定义选项,包括值缩放、字典输入、自动调整大小、图例、标题、颜色、方向、排列方式等,并提供详细的 API 文档。
* [TimDettmers/bitsandbytes](https://github.com/TimDettmers/bitsandbytes) 用于 PyTorch 的 8 位 CUDA 函数。具有混合精度分解的 8 位矩阵乘法;8位优化器:Adam,AdamW,RMSProp,LARS,LAMB,Lion(节省75%的内存);稳定嵌入层:通过更好的初始化和规范化提高稳定性;8 位量化:分位数、线性和动态量化、快速分位数估计:比其他算法快 100 倍。
* [ggerganov/ggml](https://github.com/ggerganov/ggml) 用于机器学习的张量库,用 C 语言编写、16 位浮点支持、整数量化支持(4 位、5 位、8 位等)、自动区分、ADAM和L-BFGS优化器、针对苹果芯片进行了优化、在x86架构上利用AVX / AVX2内部函数、在 ppc64 架构上利用 VSX 内部函数、无第三方依赖关系、运行时内存分配为零
* [nubank/fklearn](https://github.com/nubank/fklearn) fklearn是一个基于函数式编程的机器学习库,旨在简化机器学习问题的解决。它借鉴了scikit-learn的理念,并遵循以下原则:真实场景的验证、生产模型与验证模型一致、模型易于部署、结果易于复现和分析。fklearn可以通过pip安装,并提供详细的文档和贡献指南。
* [determined-ai/determined](https://github.com/determined-ai/determined) Determined 是一个开源机器学习平台,可简化分布式训练、超参数优化、实验跟踪和资源管理。适用于 PyTorch 和 TensorFlow。它负责:分布式训练可更快获得结果。用于获得最佳模型的超参数优化。用于降低云 GPU 成本的资源管理。用于分析和重现性的实验跟踪。
* [KaiyuYue/torchshard](https://github.com/KaiyuYue/torchshard) 马里兰大学帕克分校计算机科学系的研究者开源了一个轻量级的引擎,用于将 PyTorch 张量切片成并行的 shard。当模型拥有大量的线性层(例如 BERT、GPT)或者很多类(数百万)时,TorchShard 可以减少 GPU 内存并扩展训练规模,它具有与 PyTorch 相同的 API 设计。
* [thuml/Transfer-Learning-Library](https://github.com/thuml/Transfer-Learning-Library) 用于迁移学习的开源且文档齐全的库。它基于具有高性能和友好API的纯PyTorch。当前支持的算法包括:领域对抗神经网络(DANN)深度适应网络(DAN)联合适应网络(JAN)条件域对抗网络(CDAN)最大分类器差异(MCD)Margin Disparity Discrepancy 保证金差异(MDD)
* [wandb/client](https://github.com/wandb/client) Weights and Biases 组织和分析机器学习实验 它与框架无关,并且比TensorBoard轻巧。每次您运行带有的脚本时wandb,都会保存您的超参数和输出指标。在训练过程中可视化模型,并轻松比较模型的版本。我们还将自动跟踪您的代码状态,系统指标和配置参数。
* [Jittor/jittor](https://github.com/Jittor/jittor) 基于 JIT 编译和元运算符的高性能深度学习框架。整个框架和元运算符是及时编译的。它使我们能够生成专门针对您的模型的高性能代码。Jittor 还包含丰富的高性能模型库,包括:图像识别、检测、分割、生成、可微渲染、几何学习、强化学习等。
* [Baiyuetribe/paper2gui](https://github.com/Baiyuetribe/paper2gui) 让每个人都简单方便的使用前沿人工智能技术。一款面向普通人的 AI 桌面 APP 工具箱,免安装即开即用,已支持 40+AI 模型,内容涵盖 AI 绘画、语音合成、视频补帧、视频超分、目标检测、图片风格化、OCR 识别等领域。支持 Windows、Mac、Linux 系统。
* [xorbitsai/xorbits](https://github.com/xorbitsai/xorbits) 一个开源计算框架,可以轻松扩展数据科学和机器学习工作负载 - 从数据预处理到调优、训练和模型服务。Xorbits 可以利用多核或 GPU 来加速单台机器上的计算,或者横向扩展到数千台机器,以支持处理数 TB 的数据以及训练或为大型模型提供服务。
* [wireservice/agate](https://github.com/wireservice/agate) agate是一个 Python 数据分析库,它优先考虑人类的易读性,而不是机器的效率。它作为 numpy 和 pandas 的替代方案,使用可读的代码解决现实世界的问题。agate 以前被称为 journalism,提供丰富的文档、代码仓库和问题追踪系统,方便用户使用和反馈。
* [asheeshcric/awesome-contrastive-self-supervised-learning](https://github.com/asheeshcric/awesome-contrastive-self-supervised-learning) 这是一个关于对比自监督学习的论文列表,包含了对比自监督学习领域的最新研究成果,涵盖了各种主题,例如对比学习的应用、对比学习的理论基础、对比学习的攻击和防御等。该项目还提供了论文的链接和代码链接,方便用户学习和研究。
* [IRkernel/IRkernel](https://github.com/IRkernel/IRkernel) IRkernel是Jupyter Notebook的原生R内核,允许用户在Jupyter环境中直接运行R代码。它需要Jupyter和R环境,安装方便,可通过R包管理器安装并注册内核。用户可自定义内核名称,支持多版本R环境的配置,并提供多种启动方式,包括命令行和Docker容器。
* [openvinotoolkit/openvino](https://github.com/openvinotoolkit/openvino) 用于优化和部署 AI 推理的开源工具包,提高计算机视觉、自动语音识别、自然语言处理和其他常见任务中的深度学习性能。使用通过 TensorFlow、PyTorch 等流行框架训练的模型。减少资源需求,并在从边缘到云的一系列英特尔®平台上高效部署。
* [tensorly/tensorly](https://github.com/tensorly/tensorly) TensorLy是一个用Python编写的张量学习库,旨在简化并提供张量分解、张量学习和张量代数操作。它支持NumPy、PyTorch、JAX、TensorFlow、CuPy和Paddle等后端,可以在CPU或GPU上高效运行。用户可以通过pip或conda安装TensorLy,并根据需要选择不同的后端。
* [SimonBlanke/Hyperactive](https://github.com/SimonBlanke/Hyperactive) Hyperactive是一个优化和数据收集工具箱,方便快捷地对计算量大的模型进行原型设计。它易于学习,但功能强大,支持多种优化算法,并提供数据可视化功能,帮助用户快速找到最佳模型参数。Hyperactive还支持并行计算,加速模型训练过程。
* [tensorchord/envd](https://github.com/tensorchord/envd) envd是一个命令行工具,用于创建基于容器的 AI/ML 开发环境。它使用简单的 Python 代码来定义环境所需软件包,并通过 `envd up` 命令快速构建隔离的开发环境。envd 支持本地和云端部署,并与 OCI 镜像规范兼容,可以轻松共享和部署环境。
* [PytorchLightning/metrics](https://github.com/PytorchLightning/metrics) PyTorch原生的函数和度量模块的集合,用于简单的性能评估。可以使用常见的指标,如准确性,召回率,精度,AUROC, RMSE, R²等,或者创建你自己的指标。支持超过25个指标,并不断增加更多通用任务和特定领域的标准(目标检测,NLP等)。
* [pydata/xarray](https://github.com/pydata/xarray) xarray是一个Python库,用于处理N维标记数组和数据集。它结合了NumPy的计算能力和pandas的数据结构,提供高效的N维数据分析工具,支持多种数据格式,并具有强大的标签和元数据处理功能,方便进行科学计算和数据可视化。
* [SimonBlanke/Gradient-Free-Optimizers](https://github.com/SimonBlanke/Gradient-Free-Optimizers) 该项目提供了一套简单可靠的无梯度优化算法,适用于数值离散搜索空间,包括局部、全局、基于种群和顺序优化技术。项目包含多种优化算法,并提供易于使用的接口,方便用户在不同场景下选择合适的算法进行优化。
* [saulpw/visidata](https://github.com/saulpw/visidata) 用于表格数据的交互式多功能工具。它将电子表格的清晰度、终端的效率和 Python 的强大功能结合到一个轻量级实用程序中,可以轻松处理数百万行。VisiData 支持 tsv、csv、sqlite、json、xlsx (Excel)、hdf5 和许多其他格式。
* [google/model_search](https://github.com/google/model_search) 帮助研究者自动、高效地开发最佳机器学习模型,谷歌开源了一个不针对特定领域的 AutoML 平台。该平台基于 TensorFlow 构建,非常灵活,既可以找出最适合给定数据集和问题的架构,也能够最小化编程时间和计算资源。
* [instill-ai/instill-core](https://github.com/instill-ai/instill-core) Inthrow Core 是一款用于数据、模型和管道编排的全栈 AI 基础设施工具,旨在简化构建多功能 AI 优先应用程序的各个方面。访问 Instill Core 很简单,无论您是选择 ☁️ Instill、Cloud 还是通过 instill-core 存储库进行自托管。
* [pytorch/tnt](https://github.com/pytorch/tnt) TNT是一个轻量级的 PyTorch 训练工具和实用程序库,提供了一系列功能,包括训练循环、指标、数据加载器、可视化工具等,旨在简化 PyTorch 训练流程。它可以通过 pip 或 conda 安装,并支持从 master 分支安装最新版本。
* [sepandhaghighi/pycm](https://github.com/sepandhaghighi/pycm) PyCM是一个用 Python 编写的多类混淆矩阵库,支持输入数据向量和直接矩阵,是模型评估的工具,支持大多数类别和整体统计参数。PyCM 是混淆矩阵的瑞士军刀,主要针对需要各种指标来评估预测模型的数据科学家。
* [kserve/kserve](https://github.com/kserve/kserve) 提供了一个 Kubernetes 自定义资源定义,用于在任意框架上提供机器学习 (ML) 模型。它旨在通过为 Tensorflow、XGBoost、ScikitLearn、PyTorch 和 ONNX 等常见 ML 框架提供高性能、高抽象的接口来解决生产模型服务用例。
* [RAPIDS Open GPU Data Science](http://rapids.ai) RAPIDS 开放 GPU 数据科学库。cuDF - GPU DataFrame Library GPU数据表库。cuML - RAPIDS Machine Learning Library RAPIDS 机器学习库。cuGraph - RAPIDS Graph Analytics Library RAPIDS 图分析库。cuSignal - RAPIDS Signal Processing Library RAPIDS信号处理库
* [chenzomi12/DeepLearningSystem](https://github.com/chenzomi12/DeepLearningSystem) 跟大家一起探讨和学习人工智能、深度学习的系统设计,而整个系统是围绕着 ZOMI 在工作当中所积累、梳理、构建 AI 系统全栈的内容。希望跟所有关注 AI 开源项目的好朋友一起探讨研究,共同促进学习讨论。
* [bleedline/aimoneyhunter](https://github.com/bleedline/aimoneyhunter) ai副业赚钱资讯信息的大合集,将在全网搜索并整理ai副业赚钱的相关方法、技术、工具、以及一些可以赚钱的平台和渠道。 期望能在AI时代,打破信息茧房,利用AI智能化做副业,赚取工作之余的额外收益。
* [openxla/xla](https://github.com/openxla/xla) 适用于 GPU、CPU 和 ML 加速器的机器学习编译器。XLA 编译器从 PyTorch、TensorFlow 和 JAX 等流行的 ML 框架中获取模型,并对其进行优化,以便在不同的硬件平台(包括 GPU、CPU 和 ML 加速器)上实现高性能执行。
* [neuralmagic/sparseml](https://github.com/neuralmagic/sparseml) SparseML是一个开源模型优化工具包,它允许您使用剪枝、量化和蒸馏算法创建推理优化的稀疏模型。使用 SparseML优化的模型可以导出到 ONNX 并与 DeepSparse 一起部署,以便在 CPU 硬件上实现 GPU 级别的性能。
* [cleanlab/cleanlab](https://github.com/cleanlab/cleanlab) 通过自动检测 ML 数据集中的问题来帮助您清理数据和标签。为了促进对混乱的真实数据进行机器学习,这个以数据为中心的 AI 包使用现有模型来估计数据集问题,这些问题可以修复以训练更好的模型。
* [lancedb/lance](https://github.com/lancedb/lance) 用于 ML 的现代列式数据格式,并在 LLMs Rust 中实现。只需 2 行代码即可从 parquet 转换,随机访问、矢量索引和数据版本控制速度提高 100 倍。兼容 Pandas、DuckDB、Polars、Pyarrow,还有更多集成即将推出。
* [openai/triton](https://github.com/openai/triton) OpenAI的Triton是一种类 Python 的开源编程语言。能够高效编写 GPU 代码。它可以用不到 25 行代码写出与 cuBLAS 性能相匹配的 FP16 矩阵乘法内核。此外,使用 Triton 成功生成比同类实现效率高 2 倍的内核。
* [dataease/dataease](https://github.com/dataease/dataease) 开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。
* [mosaicml/composer](https://github.com/mosaicml/composer) 将神经网络训练速度提高 7 倍 更低的成本和更高的准确度更快地训练神经网络。我们已经实现了两打以上的加速方法,只需几行代码即可应用于您的训练循环,或与我们的内置 Trainer 一起使用。
* [nvdla/hw](https://github.com/nvdla/hw) NVIDIA 深度学习加速器 (NVDLA) 是一种免费的开放式架构,它促进了设计深度学习推理加速器的标准方法。凭借其模块化架构,NVDLA 具有可扩展性、高度可配置性,并且旨在简化集成和可移植性。
* [annoviko/pyclustering](https://github.com/annoviko/pyclustering) pyclustering是一个 Python 和 C++ 数据挖掘库,提供聚类算法、振荡网络和神经网络的实现。它包含 Python 和 C++ 版本,并支持Linux、Windows 和 MacOS 操作系统。该库不再维护,建议使用其他替代方案。
* [tensorlayer/TensorLayerX](https://github.com/tensorlayer/TensorLayerX) 跨平台开发框架,支持TensorFlow, Pytorch, MindSpore, PaddlePaddle, OneFlow和Jittor,用户不需要修改任何代码即可以运行在各类操作系统和AI硬件上(如Nvidia-GPU 和 Huawei-Ascend),并支持混合框架的开发。
* [tensorflow/tensorboard](https://github.com/tensorflow/tensorboard) TensorBoard 是一套 Web 应用程序,用于检查和了解 TensorFlow 运行和图表。TensorBoard 设计为完全离线运行,无需访问互联网。例如,这可能位于您的本地计算机上、公司防火墙后面或数据中心中。
* [virgili0/Virgilio](https://github.com/virgili0/Virgilio) 开源计划,旨在指导和指导数据科学领域的任何人。我们的愿景是让每个人都有机会参与这个领域,从实践者开始,获得新技能,并学会在无限的资源网络中导航,并找到对您有用的资源。
* [apache/incubator-tvm](https://github.com/apache/incubator-tvm) 用于深度学习系统的编译器堆栈。它旨在缩小以生产力为中心的深度学习框架与以性能和效率为重点的硬件后端之间的差距。TVM与深度学习框架一起使用,以提供对不同后端的端到端编译
* [numpy/numpy](https://github.com/numpy/numpy) 使用 Python 进行科学计算的基础包。它提供:一个强大的 N 维数组对象、复杂的(广播)功能、用于集成 C/C++ 和 Fortran 代码的工具、有用的线性代数、傅里叶变换和随机数功能。
* [OpenRefine/OpenRefine](https://github.com/OpenRefine/OpenRefine) 基于 Java 的强大工具,它允许您加载数据、理解数据、清理数据、协调数据,并使用来自 Web 的数据进行扩充。所有这些都来自网络浏览器以及您自己计算机的舒适性和隐私性。
* [scutan90/DeepLearning-500-questions](https://github.com/scutan90/DeepLearning-500-questions) 深度学习500问,以问答形式对常用的概率知识、线性代数、机器学习、深度学习、计算机视觉等热点问题进行阐述,以帮助自己及有需要的读者。 分为18个章节,50余万字。
* [mlech26l/keras-ncp](https://github.com/mlech26l/keras-ncp) 设计灵感直接来自秀丽隐杆线虫 由感官神经元接收环境信息、而后经过中间神经元,传递给指令神经元进而形成决策信息,最后由动作神经元完成决策的执行并完成动作。
* [scipy/scipy](https://github.com/scipy/scipy) SciPy(发音为“Sigh Pie”)是一款用于数学、科学和工程的开源软件。它包括用于统计、优化、积分、线性代数、傅里叶变换、信号和图像处理、常微分方程求解器等模块。
* [google-research/tuning_playbook](https://github.com/google-research/tuning_playbook) 系统地最大化深度学习模型性能的手册。重点是超参数调优的过程。我们涉及深度学习训练的其他方面,例如管道实现和优化,但我们对这些方面的处理并不打算完整。
* [OpenMined/PySyft](https://github.com/OpenMined/PySyft) 用于安全和私有深度学习的Python库。PySyft使用联合学习,差分隐私和加密计算(例如PyTorch和TF中的多方计算 (MPC) 和同态加密 (HE) 将模型训练中的私人数据进行解耦。
* [guipsamora/pandas_exercises](https://github.com/guipsamora/pandas_exercises) 练习python Pandas库, 名字衍生自术语 ”panel data”(面板数据)和 ”Python data analysis”(Python 数据分析),提供高性能、易于使用的数据结构和数据分析工具。
* [dropreg/R-Drop](https://github.com/dropreg/R-Drop) 填补Dropout缺陷,简单又有效的正则方法。在每个 mini-batch 中,每个数据样本过两次带有 Dropout 的同一个模型,R-Drop 再使用 KL-divergence 约束两次的输出一致。
* [yzhao062/combo](https://github.com/yzhao062/combo) 用于机器学习**模型组合**的 Python 工具箱。模型组合可以被认为是整体学习的子任务,并且已被广泛用于诸如Kaggle [3]之类的现实任务和数据科学竞赛中。
* [ELS-RD/kernl](https://github.com/ELS-RD/kernl/) 第一个使用 OpenAI Triton 编写的 OSS 推理引擎,这是一种由 OpenAI 设计的新语言,可以更轻松地编写 GPU 内核。每个内核不到200行代码,易于理解和修改。
* [whylabs/whylogs](https://github.com/whylabs/whylogs) 用于机器学习模型和数据管道的开源数据记录库。提供对数据质量和模型性能随时间变化的可见性。支持隐私保护数据收集,确保安全性和稳健性。
* [zml/zml](https://github.com/zml/zml) 在 ZML,我们正在高性能 AI 推理堆栈之上创建令人兴奋的 AI 产品。我们的堆栈专为生产而构建,使用令人惊叹的 Zig 语言、MLIR 和 Bazel 的强大功能。
* [sfu-db/dataprep](https://github.com/sfu-db/dataprep) Python 库,有助于自动化探索性数据分析过程。它在创建数据分析报告时很有用,它还具有 3 个用于绘制图形、绘制缺失数字和数据相关性的功能。
* [great-expectations/great_expectations](https://github.com/great-expectations/great_expectations) 由数据工程师设计并为数据工程师设计的数据质量平台。它可以帮助您快速、清晰地发现问题,同时还可以更轻松地与非技术利益相关者协作。
* [China-UK-ZSL/Resources_for_KZSL](https://github.com/China-UK-ZSL/Resources_for_KZSL) KZSL:对知识驱动的零样本学习进行基准测试.用于零**样本**图像分类 ( ZS-IMGC)、零**样本**关系提取 ( ZS-RE) 和零**样本**知识图 (KG) 完成 ( ZS-KGC )
* [ucbrise/actnn](https://github.com/ucbrise/actnn) PyTorch的激活压缩训练框架。在同样内存限制下,通过使用 2 bit 激活压缩,可将 batch size 扩大 6-14 倍,将模型尺寸或者输入图片扩大 6-10 倍。
* [Jianf-Wang/RSG](https://github.com/Jianf-Wang/RSG) 可以在训练过程中生成稀有类样本,并且可以与任何骨干网络相结合。RSG 仅用于训练阶段,因此在测试阶段不会给骨干网带来额外的负担。
* [haifengl/smile](https://github.com/haifengl/smile) Java和Scala中的快速而全面的机器学习,NLP,线性代数,图形,插值和可视化系统。凭借先进的数据结构和算法,Smile 可提供最先进的性能。
* [salesforce/OmniXAI](https://github.com/salesforce/OmniXAI) 用于可解释 AI (XAI) 的 Python 机器学习库,提供全向可解释 AI 和可解释机器学习功能,以解决实践中解释模型做出的决策时的许多痛点。
* [NLP-LOVE/ML-NLP](https://github.com/NLP-LOVE/ML-NLP) 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现,也是作为一个算法工程师必会的理论基础知识。
* [NVIDIA/nvidia-container-toolkit](https://github.com/NVIDIA/nvidia-container-toolkit) NVIDIA 容器工具包允许用户构建和运行 GPU 加速容器。该工具包包括一个容器运行时库和实用程序,用于自动配置容器以利用 NVIDIA GPU。
* [scikit-learn-contrib/hdbscan](https://github.com/scikit-learn-contrib/hdbscan) 用无监督学习来查找数据集的集群聚类或密集区域的工具。主要算法是HDBSCAN。该算法的高性能实现,以及用于分析结果聚类的工具。
* [Tencent/WeChat-TFCC](https://github.com/Tencent/WeChat-TFCC) C++深入学习推理框架。提供以下工具包,便于您开发和部署训练 DL 模型:TFCC深度学习推理库的核心、TFCC 代码生成器、TFCC 运行时。
* [huggingface/optimum](https://github.com/huggingface/optimum) 性能优化工具,AI 生态发展迅速,越来越多的专用硬件及其优化每天都在涌现,可实现在目标硬件上训练和运行模型的最高效率。
* [allegroai/clearml](https://github.com/allegroai/clearml) ClearML - 自动神奇的 CI/CD,可简化您的 AI 工作负载。实验管理、数据管理、管道、编排、调度和服务在一个 MLOps/LLMOps 解决方案中
* [swyxio/ai-notes](https://github.com/swyxio/ai-notes) 软件工程师了解新 AI 开发速度的说明。用latent.space 编写和产品头脑风暴的数据存储,但已清理 /Resources 文件夹下的规范引用。
* [VowpalWabbit/vowpal_wabbit](https://github.com/VowpalWabbit/vowpal_wabbit) 机器学习系统,它通过在线、哈希、allreduce、reductions、learning2search、active 和交互式学习、Bandit等技术推动了机器学习的前沿。
* [eriklindernoren/ML-From-Scratch](https://github.com/eriklindernoren/ML-From-Scratch) 从头开始机器学习。机器学习模型和算法的裸骨 NumPy 实现,重点关注可访问性。旨在涵盖从线性回归到深度学习的所有内容。
* [BayesWitnesses/m2cgen](https://github.com/BayesWitnesses/m2cgen) 将 ML 模型转换为零依赖的本机代码(Java、C、Python、Go、JavaScript、Visual Basic、C#、R、PowerShell、PHP、Dart、Haskell、Ruby、F#、Rust)
* [NVIDIA/DeepLearningExamples](https://github.com/NVIDIA/DeepLearningExamples) 按模型组织的最先进的深度学习脚本 - 易于训练和部署,在企业级基础架构上具有可重现的准确性和性能。最新 NVIDIA 示例。
* [YyzHarry/imbalanced-regression](https://github.com/YyzHarry/imbalanced-regression) 深度不平衡回归(DIR)旨在从具有连续目标的不平衡数据中学习,解决某些区域的潜在缺失数据,并推广到整个目标范围。
* [cbamls/AI_Tutorial](https://github.com/cbamls/AI_Tutorial) 精选机器学习,NLP,图像识别, 深度学习等人工智能领域学习资料,搜索,推荐,广告系统架构及算法技术资料整理。
* [facebookincubator/AITemplate](https://github.com/facebookincubator/AITemplate) Python 框架,可将神经网络渲染为高性能 CUDA/HIP C++ 代码。 专门用于 FP16 TensorCore(NVIDIA GPU)和 MatrixCore(AMD GPU)推理。
* [activeloopai/Hub](https://github.com/activeloopai/Hub) AI的数据集格式。为深度学习构建、管理和可视化数据集。将数据实时流式传输到PyTorch/TensorFlow并对其进行版本控制。
* [christianversloot/machine-learning-articles](https://github.com/christianversloot/machine-learning-articles) 关于机器学习的文章,存档自 MachineCurve.com。在 2019 年 5 月至 2022 年 2 月期间撰写了这些关于 peroid 机器学习的文章。
* [microsoft/hummingbird](https://github.com/microsoft/hummingbird) 将训练有素的机器学习模型编译为张量计算,以加快推理速度。 用于将经过训练的传统ML模型编译为张量计算的库。
* [vikasverma1077/manifold_mixup](https://github.com/vikasverma1077/manifold_mixup) 数据增强⽅法,目标是通过插入示例的隐藏状态来学习鲁棒的特征。 我们的方法学习到的表征更具判别性和紧凑性。
* [heheda12345/MagPy](https://github.com/heheda12345/MagPy) MagPy 是 PyTorch 程序的 JIT 编译器。它可以从 PyTorch 程序中提取运算符图,并使用各种深度学习图编译器来优化图。
* [CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers) 又名“黑客的贝叶斯方法”:介绍贝叶斯方法+概率编程,以计算/理解为先,数学为第二的观点。一切都在纯python
* [PaddlePaddle/PaddleHub](https://github.com/PaddlePaddle/PaddleHub) 基于PaddlePaddle的真棒预训练模型工具包。(400+模型,包括图像,文本,音频,视频和跨模态,易于推理和服务)
* [rasbt/deeplearning-models](https://github.com/rasbt/deeplearning-models) 各种深度学习架构、模型和技巧的集合。Jupyter Notebooks中TensorFlow和PyTorch的深度学习架构、模型和技巧的集合。
* [vespa-engine/vespa](https://github.com/vespa-engine/vespa) 开放的大数据服务引擎。开放的大数据服务引擎 - 在服务时存储、搜索、组织和对大数据进行机器学习推理。
* [PKU-DAIR/mindware](https://github.com/PKU-DAIR/mindware) 一个高效的开源 AutoML 系统,用于自动化机器学习生命周期,包括特征工程、神经架构搜索和超参数调整。
* [rayon-rs/rayon](https://github.com/rayon-rs/rayon) Rust 的数据并行库。它非常轻巧,可以轻松地将顺序计算转换为并行计算。它还保证了数据竞争的自由。
* [wuba/dl_inference](https://github.com/wuba/dl_inference) 通用深度学习推理工具,可在生产环境中快速上线由TensorFlow、PyTorch、Caffe框架训练出的深度学习模型。
* [arogozhnikov/Einops](https://github.com/arogozhnikov/Einops) 深度学习操作被彻底改造(用于 pytorch、tensorflow、jax 等). einops(爱因斯坦标记法),让代码可读性更强.
* [Mohitkr95/Best-Data-Science-Resources](https://github.com/Mohitkr95/Best-Data-Science-Resources) 该存储库包含最好的数据科学免费精选资源,可为您提供所有行业驱动的技能和面试准备工具包。
* [Tencent/TNN](https://github.com/Tencent/TNN) 移动端高性能、轻量级推理框架,同时拥有跨平台、高性能、模型压缩、代码裁剪等众多突出优势
* [tracel-ai/burn](https://github.com/tracel-ai/burn) 使用 Rust 构建的新的综合动态深度学习框架,其主要目标是极高的灵活性、计算效率和可移植性。
* [janishar/mit-deep-learning-book-pdf](https://github.com/janishar/mit-deep-learning-book-pdf) 麻省理工学院深度学习书 PDF 格式(完整和部分),作者:Ian Goodfellow、Yoshua Bengio 和 Aaron Courville
* [guofei9987/scikit-opt](https://github.com/guofei9987/scikit-opt) 强大的启发式算法Python模块 遗传算法 粒子群优化 模拟退火 蚁群算法 免疫算法 人工鱼群算法
* [amusi/Deep-Learning-Interview-Book](https://github.com/amusi/Deep-Learning-Interview-Book) 深度学习面试宝典(含数学、机器学习、深度学习、计算机视觉、自然语言处理和SLAM等方向)
* [apachecn/pytorch-doc-zh](https://github.com/apachecn/pytorch-doc-zh) Pytorch 中文文档,PyTorch 是一个针对深度学习, 并且使用 GPU 和 CPU 来优化的 tensor library (张量库)
* [geohot/tinygrad](https://github.com/geohot/tinygrad) 不到1000行的深度学习框架,麻雀虽小,但五脏俱全,这个深度学习框架使用起来和PyTorch类似
* [PaddlePaddle/models](https://github.com/PaddlePaddle/models) 飞桨产业级开源模型库,官方维护,PaddlePaddle支持,包括CV、NLP、Speech、Rec、TS、大模型等。
* [ContrastiveSR/Contrastive_Learning_Papers](https://github.com/ContrastiveSR/Contrastive_Learning_Papers) 对比学习的相关论文列表。内容包括:计算机视觉、NLP、推荐系统、图模型等方面的应用。
* [serge-sans-paille/pythran](https://github.com/serge-sans-paille/pythran) 将 Python 代码转成 C++ 代码执行 一个 AOT (Ahead-Of-Time - 预先编译) 编译器,大幅度提升性能。
* [jxhe/unify-parameter-efficient-tuning](https://github.com/jxhe/unify-parameter-efficient-tuning) 参数高效迁移学习 (PETL) 方法仅调整少量(额外)参数以使大型预训练模型适应下游任务。
* [AtsushiSakai/PythonRobotics](https://github.com/AtsushiSakai/PythonRobotics) 包括了机器人设计中常用的定位算法、测绘算法、路径规划算法、SLAM 、路径跟踪算法。
* [mars-project/mars](https://github.com/mars-project/mars) 基于张量的统一框架,用于大规模数据计算,可扩展numpy,pandas,scikit-learn和Python函数。
* [4paradigm/OpenMLDB](https://github.com/4paradigm/OpenMLDB) 一个开源机器学习数据库,它提供了一个计算一致特征的特征平台,用于训练和推理。
* [microsoft/nnfusion](https://github.com/microsoft/nnfusion) 灵活高效的深度神经网络(DNN)编译器,可从DNN模型描述生成高性能的可执行文件。
* [lanpa/tensorboardX](https://github.com/lanpa/tensorboardX) PyTorch的张量板(以及Chainer,MXNET,Numpy等)。使用简单的函数调用编写张量板事件。
* [visenger/awesome-mlops](https://github.com/visenger/awesome-mlops) 机器学习操作 (MLOps),可自动执行并加速机器学习生命周期。精选的参考文献列表。
* [Unstructured-IO/unstructured](https://github.com/Unstructured-IO/unstructured) 开源库和 API,用于构建用于标记、训练或生产机器学习管道的自定义预处理管道。
* [pola-rs/polars](https://github.com/pola-rs/polars) 速度极快的 DataFrames 库,使用 Apache Arrow Columnar Format 作为内存模型在 Rust 中实现。
* [apachecn/AiLearning](https://github.com/apachecn/AiLearning) AiLearning: 机器学习 - MachineLearning - ML、深度学习 - DeepLearning - DL、自然语言处理 NLP
* [PaddlePaddle/Paddle](https://github.com/PaddlePaddle/Paddle) 『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署
* [yuanming-hu/taichi_mpm](https://github.com/yuanming-hu/taichi_mpm) 带有切割和耦合(CPIC)的高性能MLS-MPM(基于移动最小二乘法的物质点法)求解器
* [BoltzmannEntropy/interviews.ai](https://github.com/BoltzmannEntropy/interviews.ai) 深度学习面试书:数百个完全解决的工作面试问题,来自 AI 的广泛关键主题。
* [mljar/mljar-supervised](https://github.com/mljar/mljar-supervised) 用于表格数据 AutoML 的 Python 包,具有特征工程、超参数优化、解释和自动文档
* [vaexio/vaex](https://github.com/vaexio/vaex) 适用于Python的核外DataFrame,以每秒十亿行的速度可视化和探索大型表格数据
* [bojone/keras_recompute](https://github.com/bojone/keras_recompute) 通过重计算来节省显存,参考论文《Training Deep Nets with Sublinear Memory Cost》。
* [plotly/dash](https://github.com/plotly/dash) 下载量最大,最值得信赖的Python框架,用于构建ML和数据科学Web应用程序。
* [google-deepmind/sonnet](https://github.com/google-deepmind/sonnet) 基于 TensorFlow 2 构建的库,旨在为机器学习研究提供简单、可组合的抽象。
* [polyaxon/traceml](https://github.com/polyaxon/traceml) 用于机器学习/数据跟踪、可视化、可解释性、漂移检测和仪表板的引擎。
* [huggingface/datasets](https://github.com/huggingface/datasets) 最大的 ML 模型即用型数据集中心,提供快速、易用和高效的数据处理工具
* [roboticcam/machine-learning-notes](https://github.com/roboticcam/machine-learning-notes) 不间断更新的机器学习,概率模型和深度学习的讲义(2000+页)和视频链接
* [BinRoot/TensorFlow-Book](https://github.com/BinRoot/TensorFlow-Book) 随附的 Machine Learning with TensorFlow 源代码。请参阅本书以获取分步说明。
* [skorch-dev/skorch](https://github.com/skorch-dev/skorch) 综合scikit-learn和PyTorch的机器学习库,可以实现sklearn和PyTorch高效兼容。
* [flyteorg/flyte](https://github.com/flyteorg/flyte) 可扩展且灵活的工作流编排平台,可无缝统一数据、ML 和分析堆栈。
* [MingchaoZhu/DeepLearning](https://github.com/MingchaoZhu/DeepLearning) 该书为《深度学习》(花书) 数学推导、原理剖析与源码级别代码实现
* [microsoft/Semi-supervised-learning](https://github.com/microsoft/Semi-supervised-learning) 统一的半监督学习基准,可应用于人脸识别、语音识别和音频分类
* [marcotcr/lime](https://github.com/marcotcr/lime) LIMELocal Interpretable Model-agnostic Explanations被用作解释机器学习模型。
* [huggingface/candle](https://github.com/huggingface/candle) Rust 的极简主义 ML 框架,专注于性能(包括 GPU 支持)和易用性。
* [davisking/dlib](https://github.com/davisking/dlib) 用于在 C++ 中制作真实世界机器学习和数据分析应用程序的工具包
* [Visualize-ML/Book4_Power-of-Matrix](https://github.com/Visualize-ML/Book4_Power-of-Matrix) Book_4_《矩阵力量》 | 鸢尾花书:从加减乘除到机器学习;上架!
* [ctgk/PRML](https://github.com/ctgk/PRML) 实现Bishop的书“模式识别和机器学习”中描述的算法的Python代码
* [rasbt/python-machine-learning-book](https://github.com/rasbt/python-machine-learning-book) “Python Machine Learning (1st edition)” 一书代码存储库和信息资源
* [metabase/metabase](https://github.com/metabase/metabase) 以最简单、快捷的方式为公司中的每个人提供商业智能和分析
* [probml/pml-book](https://github.com/probml/pml-book) “概率机器学习”——凯文·墨菲 (Kevin Murphy) 的系列丛书
* [academic/awesome-datascience](https://github.com/academic/awesome-datascience) 很棒的数据科学存储库,用于学习和应用现实世界的问题。
* [dair-ai/ml-visuals](https://github.com/dair-ai/ml-visuals) 包含图形和模板,重复使用和自定义以改进您的科学写作。
* [ahkarami/Deep-Learning-in-Production](https://github.com/ahkarami/Deep-Learning-in-Production) 有关在生产中部署基于深度学习的模型的有用说明和参考。
* [MegEngine/MegCC](https://github.com/MegEngine/MegCC) 一个运行时超轻量,高效,移植简单的深度学习模型编译器
* [dabl/dabl](https://github.com/dabl/dabl) 数据分析基线库,当前主要侧重于探索性可视化和预处理。
* [awslabs/autogluon](https://github.com/awslabs/autogluon) 为文本、图像、表格数据开发的自动机器学习库(AutoML)。
* [nvidia/TensorRT](https://github.com/nvidia/TensorRT) C++库,用于对 NVIDIA GPU 和深度学习加速器进行高性能推论。
* [mindsdb/mindsdb](https://github.com/mindsdb/mindsdb) 使用 SQL语法,在数据库和数据仓库启用机器学习工作流。
* [BrainJS/brain.js](https://github.com/BrainJS/brain.js) GPU 加速了适用于浏览器和 Node.js 的 JavaScript 中的神经网络
* [bentoml/BentoML](https://github.com/bentoml/BentoML) ML模型服务框架.创建部署和扩展机器学习服务变得容易。
* [iterative/dvc](https://github.com/iterative/dvc) Data 版本控制、用于数据和模型的 Git、机器学习实验管理
* [borgwang/tinynn](https://github.com/borgwang/tinynn) 用 Python3 编写的轻量级深度学习框架(用于学习目的)。
* [microsoft/EdgeML](https://github.com/microsoft/EdgeML) Microsoft Research India开发的边缘设备提供了机器学习算法。
* [evidentlyai/evidently](https://github.com/evidentlyai/evidently) 在验证或生产监控期间分析机器学习模型的交互式报告。
* [4paradigm/AutoX](https://github.com/4paradigm/autox) 高效的 automl 工具,针对具有表格数据的数据挖掘任务。
* [ashleve/lightning-hydra-template](https://github.com/ashleve/lightning-hydra-template) PyTorch Lightning + Hydra。一个非常用户友好的 ML 实验模板。
* [Visualize-ML/Book3_Elements-of-Mathematics](https://github.com/Visualize-ML/Book3_Elements-of-Mathematics) Book_3_《数学要素》 | 鸢尾花书:从加减乘除到机器学习
* [esa/pagmo2](https://github.com/esa/pagmo2) 大规模并行优化的科学库 生物启发式算法和进化算法
* [pytorch/opacus](https://github.com/pytorch/opacus) Opacus是一个库,可以使用不同的隐私训练PyTorch模型。
* [mit-han-lab/mcunet](https://github.com/mit-han-lab/mcunet) IoT硬件上精简的深度学习库 Tiny Deep Learning on IoT Devices
* [aws/sagemaker-python-sdk](https://github.com/aws/sagemaker-python-sdk) 用于在 Amazon SageMaker 上训练和部署机器学习模型的库
* [Netflix/metaflow](https://github.com/Netflix/metaflow) 轻松构建和管理现实生活中的 ML、AI 和数据科学项目
* [XuezheMax/apollo](https://github.com/XuezheMax/apollo) Apollo:用于非凸随机优化的自适应参数对角拟牛顿法
* [merrymercy/awesome-tensor-compilers](https://github.com/merrymercy/awesome-tensor-compilers) 张量计算和深度学习的出色编译器项目和论文列表。
* [karpathy/micrograd](https://github.com/karpathy/micrograd) 微型标量自动求导引擎,类似PyTorch API的神经网络库
* [apple/coremltools](https://github.com/apple/coremltools) 包含用于 Core ML模型转换、编辑和验证的支持工具。
* [tensorflow/tfjs](https://github.com/tensorflow/tfjs) WebGL 加速的 JavaScript 库,用于训练和部署 ML 模型。
* [PyTorchLightning/PyTorch-lightning](https://github.com/PyTorchLightning/PyTorch-lightning) 基于Pytorch的轻量高级计算框架,相当于Keras框架。
* [fbdesignpro/sweetviz](https://github.com/fbdesignpro/sweetviz) 用一行代码可视化和比较数据集、目标值和关联。
* [AutoViML/AutoViz](https://github.com/AutoViML/AutoViz) 使用一行代码自动可视化任何大小的任何数据集。
* [Kanaries/pygwalker](https://github.com/Kanaries/pygwalker) 将 pandas 数据帧转换为交互式 UI 以进行可视化分析
* [teddykoker/torchsort](https://github.com/teddykoker/torchsort) 快速可微分排序算法PyTorch包,配有自定义C ++和CUDA
* [HumanSignal/label-studio](https://github.com/HumanSignal/label-studio) 具有标准化输出格式的多类型数据标注和标注工具
* [ml-tooling/best-of-ml-python](https://github.com/ml-tooling/best-of-ml-python) 一个令人赞叹的python机器学习排名表,每周更新。
* [gradio-app/gradio](https://github.com/gradio-app/gradio) 在 3 分钟内使用 Python 为您的机器学习模型创建 UI
* [Oneflow-Inc/oneflow](https://github.com/Oneflow-Inc/oneflow) OneFlow是一个以性能为中心的开源深度学习框架。
* [jonasrauber/eagerpy](https://github.com/jonasrauber/eagerpy) 编写与PyTorch,TensorFlow,JAX和NumPy本地兼容的代码
* [statsmodels/statsmodels](https://github.com/statsmodels/statsmodels) Statsmodels:Python 中的统计建模和计量经济学库。
* [Aimhubio/Aim](https://github.com/Aimhubio/Aim) 一个超级简单的记录、查找、比较AI实验的库。
* [aamini/introtodeeplearning](https://github.com/aamini/introtodeeplearning) 麻省理工学院 6.S191 实验室资料:深度学习简介
* [scikit-hep/awkward-1.0](https://github.com/scikit-hep/awkward-1.0) 使用类似 NumPy 的习语来处理类似 JSON 的数据。
* [pyro-ppl/pyro](https://github.com/pyro-ppl/pyro) 基于PyTorch作为后端的通用概率编程语言 (PPL)。
* [paperswithcode/ai-deadlines](https://github.com/paperswithcode/ai-deadlines) 倒数计时,用于跟踪CV/NLP/ML/RO 会议截止日期。
* [kaidic/LDAM-DRW](https://github.com/kaidic/LDAM-DRW) 使用标签分布感知边际损失学习不平衡数据集
* [ZhiningLiu1998/mesa](https://github.com/ZhiningLiu1998/mesa) 设计元知识驱动的采样器解决类别不平衡问题
* [interpretml/interpret](https://github.com/interpretml/interpret) 训练可解释的机器学习模型和解释黑匣子系统
* [probml/pyprobml](https://github.com/probml/pyprobml) Kevin Murphy的“概率机器学习”一书的Python代码
* [luwill/Machine_Learning_Code_Implementation](https://github.com/luwill/Machine_Learning_Code_Implementation) 机器学习算法的数学推导和纯Python代码实现。
* [RadeonOpenCompute/ROCm](https://github.com/RadeonOpenCompute/ROCm) ROCm - 用于 HPC 和超大规模 GPU 计算的开源平台
* [sql-machine-learning/sqlflow](https://github.com/sql-machine-learning/sqlflow) 连接 SQL 引擎的桥接,与机器学习工具包连接
* [Speedml/speedml](https://github.com/Speedml/speedml) 一个Python包,用于加速启动机器学习项目。
* [zjhellofss/KuiperInfer](https://github.com/zjhellofss/KuiperInfer) 带你从零实现一个高性能的深度学习推理库
* [idrl-lab/idrlnet](https://github.com/idrl-lab/idrlnet) 基于内嵌物理知识神经网络的开源求解框架
* [ZuzooVn/machine-learning-for-software-engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers) 学习成为机器学习工程师的完整日常计划。
* [scikit-learn-contrib/MAPIE](https://github.com/scikit-learn-contrib/MAPIE) 用于估计预测间隔的 scikit-learn 兼容模块。
* [bokeh/bokeh](https://github.com/bokeh/bokeh) 浏览器中的交互式数据可视化,来自 Python
* [nterpretml/interpret](https://github.com/interpretml/interpret) 适合可解释的模型。 解释黑盒机器学习。
* [JuliaLang/julia](https://github.com/JuliaLang/julia) 用于科学计算的高级、高性能动态语言。
* [softsys4ai/FlexiBO](https://github.com/softsys4ai/FlexiBO) 基于成本感知的多目标优化深度神经网络
* [jindongwang/MachineLearning](https://github.com/jindongwang/MachineLearning) 一些关于机器学习的学习资料与研究介绍
* [openmlsys/openmlsys-zh](https://github.com/openmlsys/openmlsys-zh) 《机器学习系统:设计与实现》- 中文版
* [terryum/awesome-deep-learning-papers](https://github.com/terryum/awesome-deep-learning-papers) 被引用最多的深度学习论文 on Oct 19, 2018
* [ydataai/ydata-profiling](https://github.com/ydataai/ydata-profiling) 从 pandas DataFrame 对象创建 HTML 分析报告
* [poloclub/cnn-explainer](https://github.com/poloclub/cnn-explainer) 使用交互式可视化学习卷积神经网络。
* [doccano/doccano](https://github.com/doccano/doccano) 面向机器学习从业者的开源注释工具。
* [streamlit/streamlit](https://github.com/streamlit/streamlit) 用 Python 构建数据应用程序的最快方法
* [alexmojaki/heartrate](https://github.com/alexmojaki/heartrate) 调试 Python程序执行的简单实时可视化
* [e-tony/best-of-ml-rust](https://github.com/e-tony/best-of-ml-rust) 一个令人赞叹的Rust机器学习排名表。
* [DataCanvasIO/DeepTables](https://github.com/DataCanvasIO/DeepTables) DeepTables:表格数据的深度学习工具包
* [google/tensorstore](https://github.com/google/tensorstore) 用于读取和写入大型多维数组的库。
* [ml-tooling/best-of-ml-python](https://github.com/ml-tooling/best-of-ml-python) 很棒的机器学习Python库的排名列表。
* [matazure/mtensor](https://github.com/matazure/mtensor) 一个tensor计算库, 支持cuda的延迟计算
* [thuwyh/InferLight](https://github.com/thuwyh/InferLight) 提高模型的线上推理吞吐量近2.5倍。
* [automl/auto-sklearn](https://github.com/automl/auto-sklearn) 使用 scikit-learn 进行自动化机器学习
* [dotnet/machinelearning](https://github.com/dotnet/machinelearning) .NET 的开源和跨平台机器学习框架。
* [NVIDIA-AI-IOT/torch2trt](https://github.com/NVIDIA-AI-IOT/torch2trt) 易于使用的 PyTorch 到 TensorRT 转换器
* [facebookresearch/bitsandbytes](https://github.com/facebookresearch/bitsandbytes) 用于 8 位优化器和量化例程的库。
* [modin-project/modin](https://github.com/modin-project/modin) 通过更改一行代码来扩展加速pandas
* [pycaret/pycaret](https://github.com/pycaret/pycaret) Python中的开源,低代码机器学习库
* [neuronika/neuronika](https://github.com/neuronika/neuronika) 纯Rust的张量和动态神经网络库。
* [alibaba/MNN](https://github.com/alibaba/MNN) 轻量级的深度神经网络推理引擎
* [NUAA-AL/ALiPy](https://github.com/NUAA-AL/ALiPy) 基于Python实现的主动学习工具包
* [ShichenXie/scorecardpy](https://github.com/ShichenXie/scorecardpy) Scorecard Development in python, 评分卡
* [MAIF/shapash](https://github.com/MAIF/shapash) 非常炫酷的模型解释性工具包。
* [rougier/numpy-100](https://github.com/rougier/numpy-100) 100 个 numpy 练习(含解决方案)
* [google/trax](https://github.com/google/trax) 代码更清晰的神经网络代码库
* [geekinglcq/CDCS](https://github.com/geekinglcq/CDCS) CDCS 中国数据竞赛优胜解集锦
* [cupy/cupy](https://github.com/cupy/cupy) 使用 CUDA 加速类似 NumPy 的 API
* [mlpack/mlpack](https://github.com/mlpack/mlpack) C++ 快速、灵活的机器学习库
* [luwill/machine-learning-code-writing](https://github.com/luwill/machine-learning-code-writing) luwill/machine-learning-code-writing
* [geatpy-dev/geatpy](https://github.com/geatpy-dev/geatpy) 高性能遗传进化算法工具箱
* [man-group/dtale](https://github.com/man-group/dtale) pandas数据结构的可视化工具
* [tensorflow/rust](https://github.com/tensorflow/rust) TensorFlow 的 Rust 语言绑定。
* [dustinvtran/ml-videos](https://github.com/dustinvtran/ml-videos) 机器学习视频资源的集合
* [lawlite19/MachineLearning_Python](https://github.com/lawlite19/MachineLearning_Python) 机器学习算法python实现
* [MLEveryday/100-Days-Of-ML-Code](https://github.com/MLEveryday/100-Days-Of-ML-Code) 100-Days-Of-ML-Code中文版
* [tensorflow/ranking](https://github.com/tensorflow/ranking) TensorFlow中的排名学习
* [lavender28/Credit-Card-Score](https://github.com/lavender28/Credit-Card-Score) 申请信用评分卡模型
* [csuldw/MachineLearning](https://github.com/csuldw/MachineLearning) csuldw/MachineLearning
* [facebookresearch/nevergrad](https://github.com/facebookresearch/nevergrad) 无梯度优化平台
* [bfortuner/ml-glossary](https://github.com/bfortuner/ml-glossary) 机器学习术语表
* [rushter/MLAlgorithms](https://github.com/rushter/MLAlgorithms) 机器学习算法
* [andkret/Cookbook](https://github.com/andkret/Cookbook) 数据工程手册
* [scikit-survival](https://github.com/scikit-survival) 生存分析
## 分布式机器学习
* [TsingZ0/PFLlib](https://github.com/TsingZ0/PFLlib) PFLlib 是一个用户友好的个性化联邦学习(Personalized Federated Learning, pFL)算法库,旨在为初学者提供一个集成评估平台,以便他们能够开始学习和研究联邦学习(Federated Learning, FL)。该库专注于解决数据和模型的异构性问题,特别是统计异质性,这是由于用户的个性化行为导致的非独立同分布(Non-IID)和数据不平衡现象。PFLlib 包含了多种算法,其中传统联邦学习(Traditional Federated Learning, tFL)和个性化联邦学习(Personalized Federated Learning, pFL)是主要的两种类型。tFL 侧重于共同学习全局模型,而 pFL 则旨在为每个用户学习个性化的模型。PFLlib 提供了34个联邦学习算法,其中包含27个个性化联邦学习算法,涵盖了3大类数据异质场景和20个数据集。PFLlib 的主要目的是降低初学者研究联邦学习的门槛,通过简单的示范指南和代码示例,使新手用户能够快速上手。此外,PFLlib 还支持高效 GPU 内存使用及新增的隐私保护功能,进一步提升了其在实际应用中的可用性和安全性。PFLlib 是一个专门为初学者设计的个性化联邦学习算法库,通过提供多种算法和集成评估平台,帮助用户解决数据和模型的异构性问题,特别是统计异质性问题。
* [adap/flower](https://github.com/adap/flower) Flower ( flwr ) 是构建联邦学习系统的框架。 Flower 的设计基于一些指导原则:可定制:联邦学习系统从一个用例到另一个用例都有很大差异,Flower 允许根据每个单独用例的需求进行各种不同的配置。可扩展:Flower 源自牛津大学的一个研究项目,因此它是在人工智能研究的基础上构建的,许多组件可以扩展和覆盖以构建新的最先进的系统。与框架无关:不同的机器学习框架具有不同的优势, Flower 可以与任何机器学习框架一起使用,例如PyTorch 、 TensorFlow 、 Hugging Face Transformers 、 PyTorch Lightning 、 scikit-learn 、 JAX 、 TFLite 、 MONAI 、 fastai 、 MLX 、 XGBoost 、 Pandas进行联合分析,甚至原始NumPy进行联合分析喜欢手动计算梯度的用户。可以理解:Flower 的编写考虑到了可维护性。鼓励社区阅读代码库并为代码库做出贡献。
* [yahoo/TensorFlowOnSpark](https://github.com/yahoo/TensorFlowOnSpark) TensorFlowOnSpark是一个将 TensorFlow 程序带到 Apache Spark 集群的项目,它结合了 TensorFlow深度学习框架和 Apache Spark/Hadoop 的优势,实现分布式深度学习,支持在 GPU 和 CPU 服务器集群上进行分布式 TensorFlow 训练和推理。它提供了一个与 Spark 兼容的 API,简化了 TensorFlow集群管理,并通过两种数据摄取模式(TensorFlow 和 Spark)支持从 HDFS 或其他来源获取数据,只需少量代码修改即可将现有 TensorFlow 程序迁移到集群,并支持 TensorFlow 的所有功能,包括同步/异步训练、模型/数据并行、推理和 TensorBoard。该项目由 Yahoo 开发,旨在为其 Hadoop 集群提供大规模分布式深度学习能力,并提供单节点 Spark Standalone、YARN 集群和 AWS EC2 等环境的详细文档。
* [NVIDIA/apex](https://github.com/NVIDIA/apex) NVIDIA/apex是一个 PyTorch 扩展库,提供工具简化 PyTorch 中的混合精度和分布式训练。该项目旨在快速提供最新的实用工具,其中一些代码最终将被整合到 PyTorch 主分支。Apex 提供了自动混合精度(Amp)工具,只需修改三行代码即可启用混合精度训练,并提供分布式训练功能,包括 `DistributedDataParallel` 模块,用于方便的多进程分布式训练,以及 `SyncBatchNorm` 模块,用于同步批归一化。此外,Apex 还提供检查点功能,用于保存和加载 Amp 训练状态,以确保位精度。需要注意的是,Amp 和 `DistributedDataParallel` 已被 PyTorch 的原生功能取代,建议使用PyTorch 的 AMP 和 `torch.nn.parallel.DistributedDataParallel`。
* [google/evojax](https://github.com/google/evojax) EvoJAX是一个可扩展的、通用的、硬件加速的[神经进化](https://en.wikipedia.org/wiki/Neuroevolution)工具包。它基于JAX库构建,允许神经进化算法在多个TPU/GPU上并行运行的神经网络中工作。EvoJAX通过将进化算法、神经网络和任务都实现为NumPy来实现非常高的性能,NumPy被即时编译以在加速器上运行。该仓库还包含几个可扩展的EvoJAX示例,用于各种任务,包括监督学习、强化学习和生成艺术,展示了EvoJAX如何在单个加速器上以几分钟的时间运行您的进化实验,而使用CPU则需要数小时或数天。EvoJAX论文:https://arxiv.org/abs/2202.05008(演示[视频](https://youtu.be/TMkft3wWpb8))。
* [sony/nnabla](https://github.com/sony/nnabla) Neural Network Libraries (NNabla) 是一个用于研究、开发和生产的深度学习框架,旨在支持多种平台,包括桌面电脑、高性能计算集群、嵌入式设备和生产服务器。它提供易于使用、灵活且富有表现力的 Python API,并支持静态和动态计算图。NNabla 还提供 CUDA 扩展库以加速 GPU 计算,以及用于推理、神经架构搜索 (NAS) 和强化学习 (RL) 的专用库。此外,它还提供一个 Windows GUI应用程序,名为 Neural Network Console,用于神经网络开发。用户可以通过 `pip install nnabla` 安装 CPU 版本,并通过 `pip install nnabla-ext-cuda116` 安装 CUDA 扩展库以实现 GPU 加速。
* [weimingwill/awesome-federated-learning](https://github.com/weimingwill/awesome-federated-learning) 这是一个关于联邦学习的资源库,包含博客、调查、研究论文和项目等内容。该项目旨在帮助用户学习联邦学习,并促进研究和项目开发。项目按研究领域和会议/期刊分类整理论文,并提供一些通用资源,包括博客、调查、基准测试、视频、框架和公司信息。该项目还提供了一个开源的联邦学习平台 EasyFL,方便用户进行实验和原型设计。项目中包含了关于通信效率、系统设计、可信度、去中心化联邦学习、应用、垂直联邦学习和联邦学习与其他技术的结合等方面的研究论文。
* [run-house/runhouse](https://github.com/run-house/runhouse) Runhouse是一个用于机器学习训练的“无服务器”集群调度和分发工具,它允许您在Python中将Python函数和类分发到您自己的任何云计算基础设施,并像本地一样调用它们。Runhouse支持多种云平台和本地环境,并提供可重复性、可调试性和可扩展性,帮助您在研究和生产环境中快速、高效地进行机器学习开发。它消除了手动操作,并允许您在代码中捕获应用程序和基础设施步骤,从而实现跨团队和环境的精确可重复性。Runhouse还提供了灵活的扩展和成本优化功能,帮助您节省成本。
* [mindspore-ai/mindspore](https://github.com/mindspore-ai/mindspore) MindSpore是一个开源的深度学习训练/推理框架,可用于移动、边缘和云场景。它旨在为数据科学家和算法工程师提供友好的开发体验和高效的执行,并原生支持昇腾 AI 处理器,实现软硬件协同优化。MindSpore 作为全球 AI 开源社区,旨在进一步推动 AI 软件/硬件应用生态系统的开发和丰富。MindSpore 使用自动微分技术,支持两种主流的自动微分技术:算子重载和源代码转换。算子重载在运行时生成梯度图,而源代码转换在编译时进行自动微分转换,支持更复杂的控制流场景。
* [apache/singa](https://github.com/apache/singa) Apache SINGA是一个分布式深度学习平台,它允许用户在多个机器上训练大型深度学习模型。SINGA 提供了多种编程接口,包括 Python 和C++,并支持多种深度学习框架,如 TensorFlow 和 PyTorch。SINGA 的核心设计理念是模块化和可扩展性,它允许用户轻松地构建和扩展自己的深度学习系统。用户可以访问官方网站 [http://singa.apache.org](http://singa.apache.org)获取更多信息,并通过 [https://issues.apache.org/jira/browse/SINGA](https://issues.apache.org/jira/browse/SINGA) 提交问题。
* [tf-encrypted/tf-encrypted](https://github.com/tf-encrypted/tf-encrypted) TF Encrypted是一个基于 TensorFlow 的加密机器学习框架,它使用安全多方计算和同态加密技术,在加密数据上进行训练和预测。TF Encrypted旨在让隐私保护机器学习更容易使用,无需用户具备密码学、分布式系统或高性能计算方面的专业知识。该项目基于 TensorFlow 2,支持 eager execution 和 graph execution,提供易于使用的 Keras API 接口,并包含丰富的示例和文档。用户可以通过 pip 安装 TF Encrypted,并使用提供的示例代码进行加密矩阵乘法等操作。
* [kubeflow/katib](https://github.com/kubeflow/katib) Katib 是一个用于自动化机器学习 (AutoML) 的 Kubernetes 原生项目。 Katib 支持超参数调优、提前停止和神经架构搜索。Katib 是一个与机器学习 (ML) 框架无关的项目。它可以调整以用户选择的任何语言编写的应用程序的超参数,并且本机支持许多机器学习框架,例如TensorFlow 、 Apache MXNet 、 PyTorch 、 XGBoost等。Katib 可以使用任何 Kubernetes自定义资源执行训练作业,并为Kubeflow Training Operator 、 Argo Workflows 、 Tekton Pipelines等提供开箱即用的支持。
* [lyhue1991/eat_tensorflow2_in_30_days](https://github.com/lyhue1991/eat_tensorflow2_in_30_days) 该项目旨在帮助学习者在30天内掌握 TensorFlow2.0,提供以“食谱”形式组织的学习内容,包含 Jupyter Notebook 代码示例,并提供中文版本。项目特色在于以“食谱”形式组织学习内容,方便学习者循序渐进地掌握 TensorFlow2.0。该项目适合工程师和学生/研究人员,工程师优先选择 TensorFlow2.0,学生/研究人员优先选择 Pytorch,建议有时间者掌握两者。项目作者认为在工业界 TensorFlow2.0 更受欢迎,而 Pytorch 更适合快速迭代开发和发布。
* [intel-analytics/analytics-zoo](https://github.com/intel-analytics/analytics-zoo) Analytics Zoo是一个开源的大数据 AI 平台,它提供了一系列功能,将端到端的 AI 扩展到分布式大数据,包括:Orca,用于无缝扩展 TensorFlow 和 PyTorch 以处理大数据(使用 Spark 和 Ray);RayOnSpark,用于直接在 Big Data 集群上运行 Ray 程序;BigDL 扩展,用于 BigDL 的高级 Spark ML 管道和 Keras 风格的 API;Chronos,用于使用 AutoML 进行可扩展的时间序列分析;PPML(隐私保护机器学习),用于隐私保护的大数据分析和机器学习(实验性)。
* [mosaicml/streaming](https://github.com/mosaicml/streaming) StreamingDataset是一个用于高效神经网络训练的数据流库,专为大型模型的多节点分布式训练而设计,旨在最大限度地提高正确性保证、性能和易用性。它支持各种数据类型,包括图像、文本、视频和多模态数据,并与主要云存储提供商(如 AWS、OCI、GCS、Azure、Databricks 和任何与 S3 兼容的对象存储,例如 Cloudflare R2)兼容,使您能够高效地训练任何地方,而无需考虑训练数据的位置。只需在需要时流式传输所需数据即可。
* [chaoyanghe/Awesome-Federated-Learning](https://github.com/chaoyanghe/Awesome-Federated-Learning) Awesome-Federated-Learning 是一个精选的联邦学习出版物列表,主要整理自Arxiv,FedML 是一个集研究和生产于一体的联邦学习库,可以帮助用户快速构建和部署联邦学习系统。该项目涵盖了联邦学习领域的基础理论和趋势,以及在顶级机器学习、计算机视觉、自然语言处理和数据挖掘会议(如 ICML、NeurIPS、ICLR、CVPR、ACL、AAAI、KDD)上发表的最新研究成果,例如针对标签不足、数据异构、通信成本等问题的解决方案。
* [youngfish42/Awesome-FL](https://github.com/youngfish42/Awesome-FL) Awesome-FL是一个关于联邦学习的资源库,包含论文、框架、数据集、教程和研讨会等信息。它涵盖了联邦学习在不同领域的应用,例如人工智能、机器学习、数据挖掘、安全、计算机视觉、自然语言处理、信息检索、数据库、网络、系统等。该项目还提供了联邦学习在图数据和图神经网络以及表格数据上的资源。项目定期更新,用户可以通过 GitHub 提交问题或请求来建议其他关键资源。
* [AmberLJC/FLsystem-paper](https://github.com/AmberLJC/FLsystem-paper) 该项目是一个关于联邦学习系统论文的精选列表,包含来自大型科技公司(如苹果、谷歌、Meta、微软、阿里巴巴、IBM、英伟达、WeBank等)的系统论文,以及开源框架、边缘/移动设备、联邦计算系统、优化、安全和隐私、真实世界应用、真实世界设备跟踪、调查和一般见解等方面的论文。该项目旨在帮助研究人员和从业人员了解联邦学习系统的最新发展,并提供相关资源。
* [inducer/pyopencl](https://github.com/inducer/pyopencl) PyOpenCL是一个 Python 库,它允许你从 Python 中访问 GPU 和其他大规模并行计算设备。它提供了 RAII 机制,自动错误检查,速度快,并拥有完整的文档和 Wiki。PyOpenCL 支持 Apple、AMD 和 Nvidia 的 OpenCL 实现,并提供简单的安装指南。你可以使用 Conda在 Linux 和 macOS 上安装 PyOpenCL,它也会安装一个可用的 OpenCL 实现。如果你想从源代码构建,你需要 g++/clang、numpy 和一个 OpenCL 实现。
* [tensorflow/model-analysis](https://github.com/tensorflow/model-analysis) TensorFlow Model Analysis(TFMA) 是一个用于评估 TensorFlow 模型的库,它允许用户在大量数据上以分布式方式评估模型,并使用与训练器中定义的相同指标。这些指标可以在数据的不同切片上计算,并在 Jupyter Notebook 中可视化。TFMA 支持对模型进行切片分析,以便更好地理解模型在不同人群或数据子集上的表现。它还提供了一系列工具,用于评估模型的性能、公平性和鲁棒性。
* [cortexlabs/cortex](https://github.com/cortexlabs/cortex) Cortex是一个用于大规模机器学习生产基础设施的开源项目,它允许您在生产环境中部署、管理和扩展机器学习模型。Cortex 支持实时、异步和批处理工作负载,并提供自动集群管理功能,包括自动扩展、抢占实例和环境管理。此外,Cortex 还集成了CI/CD 和可观察性工具,并专门为 AWS 构建,利用 EKS、VPC 和 IAM 等服务。需要注意的是,该项目目前不再由原作者积极维护。
* [PrimeIntellect-ai/OpenDiLoCo](https://github.com/PrimeIntellect-ai/OpenDiLoCo) OpenDiLoCo是一个开源框架,用于全局分布式低通信训练,它允许在多个机器上训练大型模型,同时减少通信开销。该框架利用了Hivemind库进行分布式权重平均,并提供了预构建的Docker镜像,方便用户设置环境。用户可以通过更改 `torchrun` 参数和 `per-device-train-batch-size` 来适应不同的机器配置。该项目包含了论文中实验的代码和结果,并提供了详细的实验配置说明。
* [awslabs/deequ](https://github.com/awslabs/deequ) Deequ是一个基于 Apache Spark 的库,用于定义“数据单元测试”,用于衡量大型数据集中的数据质量。Deequ 可以帮助你发现数据中的错误,例如数据类型错误、缺失值、重复值等,并在数据被用于其他系统或机器学习算法之前及早发现问题。Deequ 可以处理各种表格数据,例如 CSV 文件、数据库表、日志文件等,并利用 Spark 的分布式计算能力高效地处理大型数据集。
* [uber/petastorm](https://github.com/uber/petastorm) Petastorm是 Uber ATG 开发的一个开源数据访问库,它允许使用 Apache Parquet格式的 dataset 进行单机或分布式深度学习模型训练和评估。Petastorm 支持 TensorFlow、PyTorch 和 PySpark 等流行的 Python 机器学习框架,也可以在纯 Python 代码中使用。它使用 PySpark 生成dataset,并提供可扩展的数据编解码器,支持标准数据压缩(如 jpeg、png)和自定义编解码器。
* [bytedance/fedlearner](https://github.com/bytedance/fedlearner) 字节开源联邦机器学习平台,采用的是一套云原生的部署方案。数据存放在HDFS,用MySQL存储系统数据。通过Kubernetes管理和拉起任务。每个Fedlearner的训练任务需要参与双方同时拉起K8S任务,通过Master节点统一管理,Worker建实现通信。以推荐广告业务为例,联邦机器学习平台的广告主和平台方应该各自管理一套模型展示服务和模型训练服务。
* [mpi4py/mpi4py](https://github.com/mpi4py/mpi4py) mpi4py是一个 Python 库,提供对消息传递接口 (MPI) 标准的绑定,它基于 MPI-2 C++ 绑定,并利用共享/动态库构建的 MPI 实现(如 MPICH 或 Open MPI)来实现并行计算。mpi4py 支持 Python 3.6 及以上版本和 PyPy 7.2 及以上版本,并提供完善的文档和测试套件,包括 GitHub Actions、Read the Docs、Azure Pipelines、AppVeyor、Circle CI 和 Codecov 等平台上的持续集成测试。
* [tensorflow/cloud](https://github.com/tensorflow/cloud) TensorFlow Cloud提供了一套 API,可以轻松地将 Keras 和 TensorFlow 代码从本地环境的调试和训练迁移到云端的分布式训练。该项目包含 `run` API和 Tuner,其中 `run` API 可用于在 Google Cloud Platform 上进行模型训练,通过简单的脚本调用即可自动应用 TensorFlow 的单设备策略,实现大规模训练。Tuner 则可以帮助用户优化模型超参数,提升模型性能。
* [dask/distributed](https://github.com/dask/distributed) DaskDistributed 是一个用于分布式计算的 Python 库,它提供了一个任务调度器,可以将计算任务分配到多个工作节点上执行,从而加速计算速度。该库使用 Dask 的数据结构来管理和协调分布式计算,并提供了一系列工具来简化分布式计算的开发和部署。Dask Distributed 适用于各种计算场景,例如数据分析、机器学习和科学计算。
* [FederatedAI/FATE](https://github.com/FederatedAI/FATE) FATE(Federated AI Technology Enabler)是全球首个工业级联邦学习开源框架,使企业和机构能够在保护数据安全和隐私的同时进行数据协作。它实现了基于同态加密和多方计算(MPC)的安全计算协议。FATE支持各种联邦学习场景,现在提供了大量的联邦学习算法,包括逻辑回归、基于树的算法、深度学习和迁移学习。
* [dask/dask-ml](https://github.com/dask/dask-ml) Dask-ML是一个 Python 库,它使用 Dask 扩展了流行的机器学习库(如 Scikit-Learn 和 XGBoost),以实现可扩展的机器学习。它允许你在大数据集上训练模型,并利用多核 CPU 或分布式集群来加速计算。你可以通过 Dask-ML 在云端实例上尝试使用机器学习,并通过其文档了解更多信息。
* [ROCm/tensorflow-upstream](https://github.com/ROCm/tensorflow-upstream) TensorFlow ROCm端口是 TensorFlow 的一个版本,它针对 AMD 的 ROCm 平台进行了优化,支持使用 AMD GPU 进行机器学习训练和推理。该项目提供了预编译的 whl 包,用户可以使用 pip 命令安装,并使用 docker 容器快速搭建 ROCm 环境。项目还提供了详细的文档和教程,帮助用户快速上手。
* [huggingface/accelerate](https://github.com/huggingface/accelerate) 一个简单的API,将与多GPUTPU、fp16相关的样板代码抽离了出来,保持其余代码不变。PyTorch 用户无须使用不便控制和调整的抽象类或编写、维护样板代码,就可以直接上手多 GPU 或 TPU。Accelerate 支持的集成包括:CPU 单 GPU 单一节点多 GPU 多节点多 GPU TPU 带有本地 AMP 的 FP16.
* [alibaba/FederatedScope](https://github.com/alibaba/FederatedScope) 综合性的联邦学习平台,为学术界和工业界的各种联邦学习任务提供方便的使用和灵活的定制。FederatedScope基于事件驱动的架构,集成了丰富的功能集合,以满足联邦学习日益增长的需求,旨在构建一个易于使用的平台,以安全有效地促进学习。
* [Oneflow-Inc/libai](https://github.com/Oneflow-Inc/libai) 基于OneFlow的大规模模型训练开源工具箱。支持丰富的并行训练配置,包括但不限于分布式训练、混合精度训练、后向重计算、ZeRO,多样化的训练技巧,同时支持视觉与自然语言处理任务、简单易用,便于上手。
* [hpcaitech/ColossalAI](https://github.com/hpcaitech/ColossalAI) 用于大规模并行训练的统一深度学习系统,具有高效并行化技术的集成大规模模型训练系统。可以让您在几行代码内快速开始分布式训练,通过并行化策略、异构内存管理为深度学习任务加速或者节省显存。
* [BaguaSys/bagua](https://github.com/BaguaSys/bagua) 八卦是由快手科技和DS3 Lab共同开发的PyTorch深度学习训练加速框架。目前支持:高级分布式训练算法:用户只需添加几行代码(可选择弹性模式)即可将单个 GPU 上的训练扩展到多 GPU(可能跨多台机器)。
* [Xtra-Computing/FedTree](https://github.com/Xtra-Computing/FedTree) 基于树的模型的联合学习系统。它的设计目的是高效、有效和安全。目前具有以下特点:梯度提升决策树的联合训练。多核 CPU 和 GPU 上的并行计算。支持同态加密、安全聚合和差分隐私。支持分类和回归。
* [alibaba/Elastic-Federated-Learning-Solution](https://github.com/alibaba/Elastic-Federated-Learning-Solution) 经过百亿规模工业级场景实战验证的跨互联网企业信息合作的联邦学习框架。EFLS有以下核心特性:云原生支持自定义特征工程——大规模高可用;首开水平聚合,层次聚合双模型——更强大更便捷。
* [Qihoo360/XLearning](https://github.com/Qihoo360/XLearning) 支持多种机器学习、深度学习框架调度系统。基于Hadoop Yarn完成了对TensorFlow、MXNet、Caffe、Theano、PyTorch、Keras、XGBoost等常用框架的集成,同时具备良好的扩展性和兼容性。
* [microsoft/SynapseML](https://github.com/microsoft/SynapseML) 简单和分布式机器学习。基于 Apache Spark 分布式计算框架构建,与 SparkML/MLLib 库共享相同的 API,允许您将 SynapseML 模型无缝嵌入到现有的 Apache Spark 工作流程中。
* [horovod/horovod](https://github.com/horovod/horovod) Uber开源的分布式训练框架。它的发展吸取了Facebook ”Training ImageNet In 1 Hour” 与百度 ”Ring Allreduce” 的优点,可为用户实现分布式训练提供帮助。
* [FMInference/FlexGen](https://github.com/FMInference/FlexGen) 高吞吐量的生成引擎,用于在GPU内存有限的情况下运行大型语言模型。FlexGen允许通过IO高效分载、压缩和大有效批处理大小生成高吞吐量。
* [alibaba/euler](https://github.com/alibaba/euler) 大规模分布式的图学习框架,配合TensorFlow或者阿里内部的XDL等深度学习工具,可以支持数十亿点数百亿边的复杂异构图上进行模型训练。
* [ray-project/ray](https://github.com/ray-project/ray) 提供用于构建分布式应用程序的简单通用API的开源框架。Ray与RLlib(可扩展的强化学习库和Tune(可扩展的超参数调优库)打包在一起。
* [petuum/adaptdl](https://github.com/petuum/adaptdl) 一个能动态调整并行度的深度神经网络训练框架。它支持多租户集群管理,可以平衡模型训练等待及完成时间,能够提高资源利用率。
* [NousResearch/DisTrO](https://github.com/NousResearch/DisTrO) 这是 DisTrO(互联网上的分布式训练)的存储库,这是一系列低延迟分布式优化器,可将 GPU 间通信要求降低三到四个数量级。
* [petuum/adaptdl](https://github.com/petuum/adaptdl) 资源自适应深度学习(DL)训练和调度框架。AdaptDL的目标是使分布式DL在动态资源环境(如共享集群和云)中变得轻松高效。
* [Angel-ML/angel](https://github.com/Angel-ML/angel) 用于大规模机器学习的灵活而强大的参数服务器。基于参数服务器理念的高性能分布式机器学习和图计算平台。
* [microsoft/DeepSpeedExamples](https://github.com/microsoft/DeepSpeedExamples) 此存储库包含各种示例,包括训练、推理、压缩、基准测试和使用 DeepSpeed 的应用程序。
* [dask/dask](https://github.com/dask/dask) 用Python编写的,是一个灵活的、开源的并行计算库,提供大规模性能 高级并行性。
* [sql-machine-learning/elasticdl](https://github.com/sql-machine-learning/elasticdl) Kubernetes原生的深度学习框架,支持容错和弹性调度,支持TensorFlow和PyTorch。
* [alibaba/Alink](https://github.com/alibaba/Alink) Alink是基于Flink的机器学习算法平台,由阿里巴巴计算平台的PAI团队开发。
* [kakaobrain/torchgpipe](https://github.com/kakaobrain/torchgpipe) pytorch的可扩展管道并行性库,可有效地训练大型的,消耗内存的模型。
* [FedML-AI/FedML](https://github.com/FedML-AI/FedML) 面向研究的联邦学习库。支持分布式计算,移动/IoT设备训练和模拟
* [PKU-DAIR/Hetu](https://github.com/PKU-DAIR/Hetu) 针对大规模和自动化分布式训练的高性能分布式深度学习系统。
* [microsoft/DeepSpeed](https://github.com/microsoft/DeepSpeed) 深度学习优化库,它使分布式训练变得容易,高效和有效。
* [kubeflow/kubeflow](https://github.com/kubeflow/kubeflow) 用于机器学习操作的云原生平台 - 管道、训练和部署。
* [youngfish42/Awesome-Federated-Learning-on-Graph-and-Tabular-Data](https://github.com/youngfish42/Awesome-Federated-Learning-on-Graph-and-Tabular-Data) 图形和表格数据相关论文、框架和数据集的联邦学习。
* [uber/fiber](https://github.com/uber/fiber) 简化AI的分布式计算 该项目是实验性的,API不稳定。
* [tensorflow/mesh](https://github.com/tensorflow/mesh) 简化模型并行化 Mesh TensorFlow: Model Parallelism Made Easier
* [learning-at-home/hivemind](https://github.com/learning-at-home/hivemind) 一个用于在互联网上训练大型神经网络的库
* [facebookresearch/fairscale](https://github.com/facebookresearch/fairscale) 用于高性能和大规模训练的 PyTorch 扩展。
* [microsoft/PersonalizedFL](https://github.com/microsoft/PersonalizedFL) 面向研究的个性化联邦学习代码库
## 参数优化
* [maxpumperla/hyperas](https://github.com/maxpumperla/hyperas) Hyperas是一个将 Keras 与 Hyperopt 结合在一起的工具,它简化了Keras 模型超参数优化过程。Hyperas 允许用户使用熟悉的 Keras 语法定义模型,并使用简单的模板标记定义要优化的超参数范围。用户只需要将要优化的参数用双花括号括起来,并选择一个分布来运行算法。例如,可以使用 `{{uniform(0, 1)}}` 来定义一个在 0 到 1 之间的均匀分布,用于优化 Dropout 层的概率。Hyperas 会自动将这些参数传递给 Hyperopt,并使用指定的算法(如 TPE)进行优化。最后,Hyperas 会返回最佳的超参数组合,以及相应的模型。用户可以通过`optim.minimize()` 函数运行优化过程,并指定数据生成函数、模型定义函数、算法、最大评估次数和试验对象。Hyperas 提供了完整的示例代码,展示了如何使用它来优化 Keras 模型的各种参数,包括 Dropout 概率、层输出大小、激活函数等。
* [aimclub/FEDOT](https://github.com/aimclub/FEDOT) FEDOT是一个开源的自动化建模和机器学习(AutoML)框架,它使用3-Clause BSD许可证发布。FEDOT可以自动生成机器学习管道,用于解决各种现实世界问题,包括分类(二元和多元)、回归、聚类和时间序列预测。FEDOT的核心基于进化方法,它允许用户自定义管道,并支持各种模型和数据类型,包括文本、图像和表格数据。此外,FEDOT还支持广泛使用的机器学习库(如Scikit-learn、CatBoost、XGBoost等),并允许用户集成自定义模型。FEDOT提供了多种超参数调优方法,并支持自定义评估指标和搜索空间。FEDOT不仅限于特定的建模任务,还可以用于解决常微分方程(ODE)或偏微分方程(PDE)等问题。用户可以将生成的管道导出为JSON格式,或与输入数据一起打包为ZIP存档,以确保实验的可重复性。
* [salesforce/TransmogrifAI](https://github.com/salesforce/TransmogrifAI) TransmogrifAI是一个基于 Apache Spark 的 AutoML 库,它可以帮助你快速构建模块化、可复用、强类型化的机器学习工作流,并最大限度地减少手动调整。TransmogrifAI 使用 Scala 编写,旨在通过机器学习自动化和 API 来加速机器学习开发人员的生产力,该 API 能够在编译时强制执行类型安全性、模块化和可复用性。TransmogrifAI 能够在几乎 100 倍的时间减少的情况下,实现与手动调整的模型相似的精度。如果你需要一个机器学习库来构建生产就绪的机器学习应用程序、构建无需机器学习博士学位的机器学习模型或构建模块化、可复用、强类型化的机器学习工作流,那么 TransmogrifAI 是你的不二之选。
* [reiinakano/xcessiv](https://github.com/reiinakano/xcessiv) Xcessiv是一个基于Web的Python工具,用于快速、可扩展和自动化的超参数调整和堆叠集成。它简化了堆叠集成的实现,允许用户定义模型、性能指标和交叉验证过程,并通过点击按钮创建集成。Xcessiv支持Scikit-learn API模型,并利用任务队列架构进行并行超参数搜索。它还集成了TPOT进行自动管道构建,并提供贝叶斯优化、自动保存元特征和贪婪向前模型选择等功能。用户可以将堆叠集成导出为独立的Python文件,以支持多级堆叠。Xcessiv旨在简化堆叠集成的构建,并降低其使用门槛,即使不使用集成功能,它也能有效地管理和比较数百甚至数千个机器学习模型和超参数组合。
* [ray-project/tune-sklearn](https://github.com/ray-project/tune-sklearn) tune-sklearn是一个 Scikit-Learn 的模型选择模块(GridSearchCV、RandomizedSearchCV)的替代方案,它使用最新的超参数调整技术。它与 Scikit-Learn API 兼容,只需修改少量代码即可使用。tune-sklearn 支持贝叶斯优化、HyperBand、BOHB等优化技术,并利用 Ray Tune 进行分布式超参数调整,可在多个核心和机器上并行化交叉验证。tune-sklearn 支持Scikit-Learn 模型,以及 Skorch(Pytorch)、KerasClassifier(Keras)和 XGBoostClassifier(XGBoost)等框架。对于某些估计器,tune-sklearn 可以启用增量训练和提前停止,例如支持“warm_start”的估计器、支持部分拟合的估计器以及 XGBoost、LightGBM 和 CatBoost 模型。
* [LiYangHart/Hyperparameter-Optimization-of-Machine-Learning-Algorithms](https://github.com/LiYangHart/Hyperparameter-Optimization-of-Machine-Learning-Algorithms) 该项目提供机器学习算法超参数优化/调优方法的实现,包含论文中介绍的理论和实践方法,并提供回归和分类问题的示例代码。项目特色包括:介绍多种超参数优化技术,提供选择优化技术的指南,并提供常用的 Python 库和框架。项目还包含实验结果和开放挑战,帮助用户有效地选择合适的超参数配置,提升机器学习模型的性能。该项目还提供一个完整的自动化机器学习 (AutoML)教程代码,包含自动数据预处理、特征工程、模型选择、超参数优化和模型更新等功能。
* [facebook/Ax](https://github.com/facebook/Ax) Ax是一个通用平台,用于理解、管理、部署和自动化自适应实验。它支持贝叶斯优化和bandit优化,并利用 BoTorch 库进行贝叶斯优化。Ax 支持多种类型的实验,包括动态机器学习辅助 A/B 测试和机器学习中的超参数优化。它提供多种 API,包括服务API、循环 API 和开发者 API,以满足不同需求。Ax 具有可定制性、生产完整性、多模态和约束实验支持,以及针对高噪声环境的效率。用户可以使用 Ax 轻松地进行优化,例如使用 Booth 响应曲面进行优化。
* [ARM-software/mango](https://github.com/ARM-software/mango) Mango是一个 Python 库,用于为机器学习分类器找到最佳超参数。它支持对连续、离散和分类值的复杂搜索空间进行并行优化。Mango 具有以下特点:易于定义与 scikit-learn 兼容的复杂搜索空间;采用新颖的、最先进的无梯度优化器,适用于连续、离散和分类值;模块化设计,可在本地、集群或云基础设施上调度目标函数;在应用程序层进行故障检测,以实现商品硬件上的可扩展性;由于在生产环境中的测试和使用,不断添加新功能。
* [sberbank-ai-lab/LightAutoML](https://github.com/sberbank-ai-lab/LightAutoML) LightAutoML(LAMA) 是由 Sber AI Lab 开发的自动机器学习框架,支持二元分类、多分类和回归任务。它能够自动创建模型,并提供可解释性。LAMA 使用 AutoWoE 库来自动创建可解释的模型。目前版本支持具有独立样本的行数据集,即每行都是一个具有特定特征和目标的对象。多表数据集和序列正在开发中。可以通过 pip 安装 LAMA,并通过简单的代码示例快速上手。此外,LAMA 还提供 GPU 版本,用于加速模型训练。
* [cerlymarco/shap-hypetune](https://github.com/cerlymarco/shap-hypetune) shap-hypetune是一个Python包,用于同时进行梯度提升模型的超参数调优和特征选择。它将这两个步骤整合到一个管道中,以优化特征数量并搜索最佳参数配置,从而提高模型性能。该包支持多种特征选择算法,包括递归特征消除(RFE)、递归特征添加(RFA)和Boruta,并允许使用经典的提升特征重要性或SHAP特征重要性。此外,它还支持网格搜索、随机搜索和贝叶斯搜索,并利用joblib进行并行计算。
* [autonomio/talos](https://github.com/autonomio/talos) Talos是一个用于 TensorFlow (tf.keras) 和 Keras 的超参数实验自动化工具,它简化了超参数优化和模型评估过程。Talos允许用户使用熟悉的 TensorFlow (tf.keras) 和 Keras 语法,无需学习新的语法或模板。它支持各种优化策略,包括随机搜索、网格搜索和概率优化器,并提供模型泛化评估、实验分析和实时训练监控等功能。Talos 在 Linux、Mac OSX 和 Windows 系统上运行,并支持 CPU、GPU 和多 GPU 系统。
* [DeepWisdom/AutoDL](https://github.com/DeepWisdom/AutoDL) AutoDL是一个完全自动化的深度学习系统,无需任何人工干预。它是NeurIPS AutoDL 挑战赛的第一个解决方案,能够自动进行深度学习模型的构建和训练,适用于各种数据类型,例如图像、视频、文本、表格数据等,并能取得优异的性能。AutoDL能够自动完成数据预处理、特征工程、模型选择、超参数优化等步骤,有效地简化了深度学习应用的流程,并显著提高了模型的准确性和效率。
* [automl/HpBandSter](https://github.com/automl/HpBandSter) HpBandSter是一个用于分布式超参数优化的Python 3框架,它最初是Hyperband(Li等人,2017)的简单实现,并包含BOHB(Falkner等人,2018)的实现。该项目不再维护,推荐使用其继任者SMAC3或DEHB。SMAC3是一个功能强大的HPO包,包含不同的HPO策略,并使用RF或GP作为预测模型。DEHB则结合了差分进化和Hyperband。项目文档包含快速入门指南和示例,可帮助用户将实现的优化器应用于自己的问题。
* [google/vizier](https://github.com/google/vizier) GoogleVizier 是一个基于 Python 的黑盒优化和超参数调优研究接口,它基于 Google 内部 Vizier 服务。它提供了一个分布式客户端-服务器系统,支持多种搜索空间类型,包括浮点数、整数、离散值和分类值。用户可以通过简单的 API 接口定义目标函数、搜索空间和度量指标,并使用 Vizier 服务进行优化。该项目还提供开发者 API 和基准测试 API,方便用户进行算法研究和比较。
* [syne-tune/syne-tune](https://github.com/syne-tune/syne-tune) Syne Tune是一个用于超参数和架构优化的开源库,它提供了一系列先进的算法,可以轻松地进行大规模、可重复的超参数优化。Syne Tune 的特点包括:轻量级且平台无关,支持多种 HPO 方法,设计简单且模块化,提供强大的贝叶斯优化功能,支持分布式工作负载,以及易于使用和扩展。Syne Tune 可以帮助你快速高效地进行超参数优化,并支持在不同的计算环境中运行。
* [sb-ai-lab/LightAutoML](https://github.com/sb-ai-lab/LightAutoML) LightAutoML(LAMA) 是一个快速且可定制的自动机器学习模型创建框架,支持表格数据、时间序列数据、图像数据和文本数据。它提供两种使用方式:预置模型,只需几行代码即可创建模型;框架模式,可使用预置模块构建自定义管道。LAMA拥有丰富的资源,包括 Kaggle 竞赛解决方案、Google Colab 教程和示例,方便用户学习和使用。
* [AxeldeRomblay/MLBox](https://github.com/AxeldeRomblay/MLBox) MLBox是一个强大的自动化机器学习Python库,它提供快速数据预处理、特征选择、超参数优化、先进的预测模型(深度学习、堆叠、LightGBM等)以及模型解释功能。用户可以参考官方文档了解更多信息,并通过贡献测试、文档、示例或报告问题来参与项目。
* [PKU-DAIR/open-box](https://github.com/PKU-DAIR/open-box) 通用且高效的黑盒优化系统。旨在解决泛化的黑盒优化(BBO)问题, 例如自动化超参数调优、自动化A/B测试、 实验设计、数据库参数调优、处理器体系结构和电路设计、资源分配等。
* [google/automl](https://github.com/google/automl) Google Brain AutoML项目包含一系列与自动机器学习相关的模型和库,旨在帮助用户自动构建和优化机器学习模型,无需手动调整参数和超参数。
* [thunlp/OpenDelta](https://github.com/thunlp/OpenDelta) 用于参数高效方法的工具包(增量调整),用户可以通过它灵活地分配(或添加)少量参数以进行更新,同时保持大多数参数不变。
* [scikit-optimize/scikit-optimize](https://github.com/scikit-optimize/scikit-optimize) 一个简单高效的库,可最大限度地减少(非常)昂贵且嘈杂的黑盒功能。它实现了几种基于顺序模型优化的方法。
* [noah-research/BO/HEBO/CompBO](https://github.com/huawei-noah/noah-research/tree/CompBO/BO/HEBO/CompBO) 使用组合优化器进行贝叶斯优化,由华为研发、诺亚方舟实验室(伦敦)开发的贝叶斯优化代码库
* [CMA-ES/pycma](https://github.com/CMA-ES/pycma) 基于CMA-ES 协方差矩阵的自适应策略的Py实现和一些相关的数值优化工具。
* [HDI-Project/BTB](https://github.com/HDI-Project/BTB) Bayesian Tuning and Bandits,auto-tuning系统的一个简单、可扩展的后端系统。
* [HunterMcGushion/hyperparameter_hunter](https://github.com/HunterMcGushion/hyperparameter_hunter) 跨机器学习算法和库的轻松超参数优化和自动结果保存
* [Yelp/MOE](https://github.com/Yelp/MOE) 用于现实世界的指标优化的全局黑匣子优化引擎。
* [automl/SMAC3](https://github.com/automl/SMAC3) 基于序列模型的算法配置 优化任意算法的参数
* [jina-ai/finetuner](https://github.com/jina-ai/finetuner) 微调任何 DNN 以更好地嵌入神经搜索任务
* [fmfn/BayesianOptimization](https://github.com/fmfn/BayesianOptimization) 具有高斯过程的全局优化的Python实现。
* [huawei-noah/HEBO](https://github.com/huawei-noah/HEBO) 华为诺亚方舟库开发的贝叶斯优化库
* [facebookresearch/nevergrad](https://github.com/facebookresearch/nevergrad) 用于执行无梯度优化的Python工具箱
* [JasperSnoek/spearmint](https://github.com/JasperSnoek/spearmint) 机器学习算法的实用贝叶斯优化
* [SheffieldML/GPyOpt](https://github.com/SheffieldML/GPyOpt) 使用GPy进行高斯过程优化
* [dragonfly/dragonfly](https://github.com/dragonfly/dragonfly) 用于可扩展的贝叶斯优化
* [keras-team/keras-tuner](https://github.com/keras-team/keras-tuner) keras的超参数调整库。
* [pytorch/botorch](https://github.com/pytorch/botorch) PyTorch中的贝叶斯优化
* [ray-project/ray](https://github.com/ray-project/ray) Tune可伸缩超参数调整
* [hyperopt/hyperopt](https://github.com/hyperopt/hyperopt) 分布式超参数优化
* [optuna/optuna](https://github.com/optuna/optuna) 超参数优化框架
* [WillKoehrsen/hyperparameter-optimization](https://github.com/WillKoehrsen/hyperparameter-optimization) 超参数优化
## 异常检测
* [openvinotoolkit/anomalib](https://github.com/openvinotoolkit/anomalib) Anomalib是一个深度学习库,用于收集最先进的异常检测算法,并在公共和私有数据集上进行基准测试。它提供多种现成的异常检测算法实现,以及用于开发和部署自定义模型的工具集。该库专注于视觉异常检测,旨在检测和定位图像或视频数据集中的异常。Anomalib 持续更新新的算法和训练/推理扩展,并支持使用 OpenVINO 进行加速推理。
* [yzhao062/SUOD](https://github.com/yzhao062/SUOD) SUOD是一个用于大规模无监督异构异常检测的加速框架,它针对高维数据、复杂模型和分布式系统中的任务负载不平衡等问题,通过降维、模型近似和执行效率提升等方法来加速训练和预测过程,同时控制检测性能下降。该框架已成功应用于学术研究和工业应用中,并被集成到PyOD库中,可方便地使用。
* [awslabs/realtime-fraud-detection-with-gnn-on-dgl](https://github.com/awslabs/realtime-fraud-detection-with-gnn-on-dgl) 实时欺诈检测(利用图形数据库 Amazon Neptune)的端到端解决方案,使用 Amazon SageMaker 和DGL从表格数据构建异构图形并训练GNN模型来检测IEEE-CIS 数据集中的欺诈交易。
* [mangushev/mtad-gat](https://github.com/mangushev/mtad-gat) 基于图注意力网络的多变量时间序列异常检测模型
* [kLabUM/rrcf](https://github.com/kLabUM/rrcf) 用于异常检测的鲁棒随机砍伐森林算法的实现
* [d-ailin/GDN](https://github.com/d-ailin/GDN) 基于图神经网络的多变量时间序列异常检测
* [yzhao062/anomaly-detection-resources](https://github.com/yzhao062/anomaly-detection-resources) 异常检测相关书籍、论文、视频和工具箱
* [safe-graph/UGFraud](https://github.com/safe-graph/UGFraud) 用于欺诈检测的基于图的无监督工具箱
* [squareRoot3/Rethinking-Anomaly-Detection](https://github.com/squareRoot3/Rethinking-Anomaly-Detection) 重新思考用于异常检测的图神经网络
* [manigalati/usad](https://github.com/manigalati/usad) 多变量时间序列的无监督异常检测
* [DHI/tsod](https://github.com/DHI/tsod) 时间序列数据异常检测
* [leibinghe/GAAL-based-outlier-detection](https://github.com/leibinghe/GAAL-based-outlier-detection) 基于盖尔的异常检测
* [hoya012/awesome-anomaly-detection](https://github.com/hoya012/awesome-anomaly-detection) 异常检测列表
* [yzhao062/pyod](https://github.com/yzhao062/pyod) 异常检测库
## 梯度提升和树模型
* [catboost/tutorials](https://github.com/catboost/tutorials) CatBoost tutorials仓库提供了一系列教程,涵盖CatBoost的基本使用、分类、排序、特征选择、模型分析、自定义损失函数以及模型应用等方面。教程以Python、R和命令行三种方式呈现,并包含针对不同应用场景的示例,例如使用CatBoost解决二元分类和多元分类问题、在Microsoft数据集上进行排序学习、评估特征重要性、使用SHAP可视化特征重要性、将模型导出为JSON格式、可视化决策树、计算特征统计信息以及将模型应用于iOS设备、C++代码、Python代码、Java应用程序和Rust应用程序。
* [kingfengji/mGBDT](https://github.com/kingfengji/mGBDT) 该项目是 NIPS 18 论文 "Multi-Layered Gradient Boosting Decision Trees (mGBDT)" 的官方实现,提供了一个基于 Python 的 mGBDT 库,以及一些演示脚本,用于展示如何使用该代码。该库允许用户灵活地修改模型或适应自己的数据集。mGBDT 通过添加多个目标传播层,将多个梯度提升决策树(GBDT)组合在一起,以提高模型的表达能力和泛化能力。该项目包含一个演示代码,展示了如何使用 mGBDT 库训练一个多层 GBDT 模型,并对合成圆形数据集进行预测和可视化。
* [benedekrozemberczki/awesome-decision-tree-papers](https://github.com/benedekrozemberczki/awesome-decision-tree-papers) 这是一个关于决策树、分类树和回归树研究论文的精选列表,包含来自多个领域的论文实现,包括机器学习、计算机视觉、自然语言处理、数据挖掘和人工智能。该项目收集了来自 NeurIPS、ICML、ICLR、CVPR、ICCV、ECCV、ACL、NAACL、EMNLP、KDD、CIKM、ICDM、SDM、PAKDD、PKDD/ECML、SIGIR、WWW、WSDM、AAAI、AISTATS、ICANN、IJCAI 和 UAI 等重要会议的论文。此外,还提供了类似的集合,包含关于图分类、梯度提升、欺诈检测、蒙特卡洛树搜索和社区检测的论文实现。
* [AnotherSamWilson/miceforest](https://github.com/AnotherSamWilson/miceforest) miceforest是一个基于LightGBM的快速、内存高效的Python多重插补库,它实现了链式方程多重插补 (MICE)方法。该库利用LightGBM的强大功能,提供快速且灵活的插补解决方案,并支持GPU训练。miceforest可以处理pandas数据框,自动处理分类数据,并与sklearn管道集成。它还支持保存和加载模型,以及对新数据集进行插补。miceforest旨在为数据科学家提供一个高效且易于使用的工具,用于处理缺失数据。
* [benedekrozemberczki/awesome-gradient-boosting-papers](https://github.com/benedekrozemberczki/awesome-gradient-boosting-papers) 这是一个精心整理的梯度提升研究论文列表,包含实现代码。该项目收集了来自机器学习、计算机视觉、自然语言处理、数据挖掘和人工智能等领域的论文,涵盖了梯度提升和自适应提升算法,并提供了相应的实现代码。该项目还包含了其他类似的论文列表,例如图分类、决策树、欺诈检测、蒙特卡洛树搜索和社区检测等。
* [stanfordmlgroup/ngboost](https://github.com/stanfordmlgroup/ngboost) NGBoost是一个基于 Python 的库,实现了自然梯度提升算法,用于概率预测。它基于 Scikit-Learn 构建,可扩展且模块化,支持多种评分规则、分布和基础学习器。该库基于论文 "NGBoost: Natural Gradient Boosting for Probabilistic Prediction",并提供用户指南,包含大量使用示例和添加新分布或评分规则的说明。
* [serengil/chefboost](https://github.com/serengil/chefboost) ChefBoost是一个轻量级的决策树框架,支持 Python 中的常用算法(ID3、C4.5、CART、CHAID 和回归树)和一些高级技术(梯度提升、随机森林和 Adaboost),并支持分类特征。它易于使用,只需几行代码即可构建决策树。ChefBoost可以处理数值和名义特征以及目标值,无需进行预处理。
* [Microstrong0305/WeChat-zhihu-csdnblog-code](https://github.com/Microstrong0305/WeChat-zhihu-csdnblog-code) Regression Tree 回归树 深入理解提升树(Boosting tree)算法 深入理解GBDT回归 GBDT二分类算法 GBDT多分类算法 XGBoost LightGBM CatBoost 深入浅出Word2Vec原理解析 Doc2vec原理解析及代码实践
* [catboost/catboost](https://github.com/catboost/catboost) 一个快速、可扩展、高性能的决策树梯度提升库,用于 Python、R、Java、C++ 的排名、分类、回归和其他机器学习任务。 支持在 CPU 和 GPU 上进行计算。
* [dmlc/xgboost](https://github.com/dmlc/xgboost) 可扩展、可移植和分布式梯度提升(GBDT、GBRT 或 GBM)库,适用于 Python、R、Java、Scala、C++ 等。 在单机、Hadoop、Spark、Dask、Flink 和 DataFlow 上运行。
* [microsoft/LightGBM](https://github.com/microsoft/LightGBM) 基于决策树算法的快速、分布式、高性能梯度提升(GBT、GBDT、GBRT、GBM 或 MART)框架,用于排名、分类和许多其他机器学习任务。
* [antmachineintelligence/mtgbmcode](https://github.com/antmachineintelligence/mtgbmcode) 提出了多任务梯度提升机 (MT-GBM),这是一种基于 GBDT 的多任务学习方法。MT-GBM 可以根据多任务损失找到共享树结构和拆分分支。
* [DataCanvasIO/HyperGBM](https://github.com/DataCanvasIO/HyperGBM) 用于表格数据的完整管道 AutoML 工具, 涉及多个梯度提升树模型(GBM),即XGBoost、LightGBM和Catboost。
* [mesalock-linux/gbdt-rs](https://github.com/mesalock-linux/gbdt-rs) MesaTEE GBDT-RS:一个快速且安全的 GBDT 库,支持 Intel SGX 和 ARM TrustZone 等 TEE
* [kingfengji/gcForest](https://github.com/kingfengji/gcForest) 这是论文“深度森林:走向深度神经网络的替代方案”的官方实现
* [tensorflow/decision-forests](https://github.com/tensorflow/decision-forests) 一组最先进的算法,用于训练、服务和解释 Keras 决策森林模型。
* [motefly/DeepGBM](https://github.com/motefly/DeepGBM) 为在线预测任务提炼的深度学习GBDT框架
* [Xtra-Computing/thundergbm](https://github.com/Xtra-Computing/thundergbm) ThunderGBM:GPU 上的快速 GBDT 和随机森林
* [GBDT-PL/GBDT-PL](https://github.com/GBDT-PL/GBDT-PL) 使用分段线性树进行梯度提升
* [augboost-anon/augboost](https://github.com/augboost-anon/augboost) 逐步特征增强的梯度提升。
* [LAMDA-NJU/Deep-Forest](https://github.com/LAMDA-NJU/Deep-Forest) Deep Forest 2021.2.1的实现
* [hlamotte/decision-tree](https://github.com/hlamotte/decision-tree) 在C++的决策树
## 特征工程
* [parrt/random-forest-importances](https://github.com/parrt/random-forest-importances) 该项目提供了一种更可靠的特征重要性计算方法,用于评估scikit-learn机器学习模型,特别是随机森林模型。它通过排列重要性(permutation importance)和删除列重要性(drop-column importance)来弥补scikit-learn默认的基于基尼重要性的方法的不足。排列重要性通过打乱特征值并观察模型性能的变化来衡量特征的重要性,而删除列重要性则通过移除特征并观察模型性能的变化来衡量特征的重要性。该项目包含一个名为`rfpimp`的Python包,可用于计算这些重要性指标,并提供示例代码和笔记本,演示如何使用该包分析特征重要性。
* [upgini/upgini](https://github.com/upgini/upgini) Upgini是一个智能数据搜索引擎,提供 Python 库,帮助您从数百个公共、社区和付费外部数据源中找到并添加相关特征到您的机器学习管道。Upgini 自动优化所有连接的数据源,通过使用大型语言模型 (LLMs)、图神经网络 (GraphNNs) 和循环神经网络 (RNNs) 生成最佳的机器学习特征集,从而显著提升模型精度。Upgini 的目标是简化特征搜索和丰富过程,使外部数据成为机器学习的标准方法,就像现在的超参数调整一样。Upgini 的使命是为数据科学社区提供数据源的民主化访问。
* [logicalclocks/hopsworks](https://github.com/logicalclocks/hopsworks) Hopsworks是一个面向机器学习的 Python-centric 特征存储平台,提供 MLOps功能。它可以作为独立的特征存储使用,也可以用于管理、治理和服务模型,甚至用于开发和运行特征管道和训练管道。Hopsworks 为机器学习团队提供协作功能,为开发、管理和共享机器学习资产(特征、模型、训练数据、批次评分数据、日志等)提供安全、治理的平台。Hopsworks 提供三种部署方式:无服务器应用(通过 app.hopsworks.ai 访问)、云平台(支持 Azure、AWS 和 GCP)和本地安装。
* [feature-engine/feature_engine](https://github.com/feature-engine/feature_engine) Feature-engine是一个Python库,提供多个转换器,用于对机器学习模型进行特征工程和特征选择。Feature-engine的转换器遵循Scikit-learn的功能,使用fit()和transform()方法从数据中学习转换参数,然后进行转换。该库包含了各种特征工程技术,例如缺失值处理、特征缩放、特征编码、特征生成等。它还提供了一些特征选择方法,例如基于方差的特征选择、基于相关性的特征选择等。Feature-engine易于使用,并与Scikit-learn等其他机器学习库无缝集成。
* [solegalli/feature_engine](https://github.com/solegalli/feature_engine) Feature-engine是一个Python库,提供多个转换器用于机器学习模型的特征工程和选择。Feature-engine的转换器遵循Scikit-learn的功能,使用fit()和transform()方法从数据中学习转换参数,然后进行转换。该库包含用于特征工程和选择的多种转换器,例如缺失值处理、特征缩放、特征编码、特征生成、特征选择等。Feature-engine在TrainInData的在线课程和书籍中被广泛使用,并提供详细的文档和示例。
* [AutoViML/featurewiz](https://github.com/AutoViML/featurewiz) FeatureWiz是一个基于MRMR算法的自动特征选择库,只需一行代码即可从数据集中选择最佳特征,并使用高级特征工程策略。它可以自动选择最相关的特征,无需指定数量,并提供内置的分类到数值的编码器。FeatureWiz还包含一个特征工程模块,可以轻松地创建新的特征,并提供自动编码器以生成更多特征,帮助提高模型性能。
* [haifengl/smile](https://github.com/haifengl/smile) Smile(统计机器智能和学习引擎)是Java和Scala中的快速而全面的机器学习,NLP,线性代数,图形,插值和可视化系统。凭借先进的数据结构和算法,Smile 可提供最先进的性能。
* [RUCAIBox/Negative-Sampling-Paper](https://github.com/RUCAIBox/Negative-Sampling-Paper) 该知识库收录了与负采样方法相关的 100 篇论文,涵盖推荐系统(RS)、计算机视觉(CV)、自然语言处理(NLP)和对比学习(CL)等多个研究领域。
* [aerdem4/lofo-importance](https://github.com/aerdem4/lofo-importance) LOFO(Leave One Feature Out)重要性基于选择的度量计算一组特征的重要性,对于选择的模型,通过迭代地从集合中删除每个特征,并评估模型的性能。
* [ResidentMario/missingno](https://github.com/ResidentMario/missingno) 灵活且易于使用的缺失数据可视化和实用程序,可让您快速直观地了解数据集的完整性(或缺乏完整性)。
* [imbalanced-learn](https://github.com/scikit-learn-contrib/imbalanced-learn) 解决机器学习中不平衡数据集
* [FeatureLabs/featuretools](https://github.com/FeatureLabs/featuretools) 特征工程工具箱
* [ScienceKot/kydavra](https://github.com/ScienceKot/kydavra) 特征筛选工具
## 神经网络结构搜索_Neural_Architecture_Search
* [Western-OC2-Lab/AutoML-Implementation-for-Static-and-Dynamic-Data-Analytics](https://github.com/Western-OC2-Lab/AutoML-Implementation-for-Static-and-Dynamic-Data-Analytics) 该项目提供了一个用于静态和动态数据分析的自动化机器学习 (AutoML)实现,包含一个使用多种机器学习算法和优化/AutoML 方法进行物联网异常检测的案例研究。它涵盖了机器学习/数据分析管道中所有重要步骤的自动化,包括自动化数据预处理、自动化特征工程、自动化模型选择、超参数优化 (HPO) 和自动化模型更新(模型漂移适应)。该项目还可用作教程,帮助机器学习研究人员自动获得在任何特定任务上具有最佳学习性能的优化机器学习模型。该项目支持批处理/静态学习和在线/持续学习,并提供了一个完整的超参数优化教程代码。该项目是发表在《工程应用人工智能》期刊上的综述论文的实现,并提供了一个详细的 AutoML 管道和流程,包括自动化数据预处理、自动化特征工程、自动化模型选择、超参数优化和自动化模型更新。
* [google-research/morph-net](https://github.com/google-research/morph-net) MorphNet是一种在训练过程中学习深度网络结构的方法,其核心原理是将网络结构学习问题进行连续松弛。MorphNet 正则化器会降低滤波器的影响,当滤波器足够小时,相应的输出通道会被标记为从网络中移除。该项目提供了一种名为 FiGS 的新方法,它是一种概率方法,可以用来进行通道正则化,并可以作为一种剪枝算法或一种完整的可微架构搜索方法。MorphNet 可以用于压缩现有模型,以满足内存、延迟等约束条件,它不会改变网络的拓扑结构,而是通过调整每个卷积层的输出通道数量来实现模型压缩。用户可以选择不同的正则化器来实现不同的目标,例如 FLOPs 或延迟。该项目推荐使用 `LogisticSigmoid` 正则化器,它需要在需要剪枝的层之后添加一个概率门控操作。
* [D-X-Y/AutoDL-Projects](https://github.com/D-X-Y/AutoDL-Projects) AutoDL-Projects是一个开源的、轻量级的、但对每个人都有用的项目,它实现了多种神经架构搜索 (NAS) 和超参数优化 (HPO)算法。该项目适合想要尝试不同 AutoDL 算法的初学者、想要尝试 AutoDL 以调查其是否适用于其项目的工程师,以及想要轻松实现和实验新 AutoDL 算法的研究人员。AutoDL-Projects 的特点包括简单的库依赖关系、所有算法都在同一个代码库中,以及积极的维护。该项目目前提供了以下算法和脚本:TAS、DARTS、GDAS、SETN、NAS-Bench-201 和 NATS-Bench。
* [carpedm20/ENAS-pytorch](https://github.com/carpedm20/ENAS-pytorch) ENAS-pytorch 是一个基于 PyTorch 的实现,用于高效的神经网络架构搜索(ENAS),该项目通过参数共享来减少 NAS 的计算需求(GPU小时)1000 倍。该项目在 Penn Treebank 语言建模方面取得了最先进的结果。ENAS 通过一个控制器 LSTM 来决定使用何种激活函数以及连接哪些节点,从而发现 RNN 细胞。该项目还包括用于发现 CNN 架构的代码,以及用于生成GIF 图像的代码,以展示生成的样本。
* [joeddav/devol](https://github.com/joeddav/devol) DEvol是一个基于Keras的遗传神经网络架构搜索工具,用于分类问题。它使用基因编码来表示模型结构,并通过交叉和变异操作进行进化,以寻找最优的网络架构。DEvol在MNIST数据集上取得了99.4%的准确率,优于手动构建的模型。该项目可以扩展到其他输出类型,并支持并行训练、早停、减少训练轮数和参数选择等优化策略,以降低计算成本。
* [markdtw/awesome-architecture-search](https://github.com/markdtw/awesome-architecture-search) 这是一个精选的架构搜索和超参数优化资源列表,涵盖了强化学习、进化算法等方法,并包含了相关论文和代码链接。该项目旨在为研究人员和开发者提供一个便捷的资源库,方便他们探索和应用架构搜索技术。
* [PaddlePaddle/PaddleSlim](https://github.com/PaddlePaddle/PaddleSlim) 一个用于深度模型压缩和架构搜索的开源库。提供低比特量化、知识蒸馏、稀疏化和模型结构搜索等模型压缩策略,帮助用户快速实现模型的小型化。
* [microsoft/nni](https://github.com/microsoft/nni) 用于自动化机器学习生命周期的开源AutoML工具包,包括功能工程,神经体系结构搜索,模型压缩和超参数调整。
* [awslabs/autogluon](https://github.com/awslabs/autogluon) 用于深度学习的AutoML工具包 [autogluon.mxnet.io](https://autogluon.mxnet.io)
* [huawei-noah/CARS](https://github.com/huawei-noah/CARS) 华为提出基于进化算法和权值共享的神经网络结构搜索
* [xiaomi-automl/FairDARTS](https://github.com/xiaomi-automl/FairDARTS) 消除差异化架构搜索中的不公平优势
* [ianwhale/nsga-net](https://github.com/ianwhale/nsga-net) 使用多目标遗传算法的神经架构搜索
* [researchmm/CDARTS](https://github.com/researchmm/CDARTS) 循环可微架构搜索
* [human-analysis/neural-architecture-transfer](https://github.com/human-analysis/neural-architecture-transfer) 神经架构迁移
# A02_NLP自然语言处理
## A01_文本生成_文本对话
### 其他_文本生成_文本对话
* [openai/gpt-3](https://github.com/openai/gpt-3) 语言模型是少样本的学习器。最近的工作表明,通过对大量文本语料库进行预训练,然后对特定任务进行微调,在许多NLP任务和基准测试上取得了实质性进展。虽然在架构中通常与任务无关,但这种方法仍然需要特定于任务的数千或数万个示例的微调数据集。相比之下,人类通常只能从几个例子或简单的指令中执行新的语言任务——这是当前NLP系统仍然难以做到的。在这里,我们表明,扩展语言模型可以大大提高与任务无关的少镜头性能,有时甚至可以通过先前最先进的微调方法达到竞争力。具体来说,我们训练 GPT-3,一种具有 1750 亿个参数的自回归语言模型,比之前任何非稀疏语言模型多 10 倍,并在少数镜头设置中测试其性能。对于所有任务,GPT-3 在没有任何梯度更新或微调的情况下应用,任务和少数镜头演示纯粹通过与模型的文本交互来指定。GPT-3 在许多 NLP 数据集上实现了强大的性能,包括翻译、问答和完形填空任务,以及一些需要即时推理或领域适应的任务,例如解密单词、在句子中使用新单词或执行 3 位数算术。同时,我们还确定了 GPT-3 的少数镜头学习仍在挣扎的一些数据集,以及 GPT-3 面临与大型网络语料库训练相关的方法问题的一些数据集。最后,我们发现 GPT-3 可以生成人类评估人员难以区分的新闻文章样本与人类撰写的文章。我们讨论了这一发现和一般 GPT-3 更广泛的社会影响。
* [argosopentech/argos-translate](https://github.com/argosopentech/argos-translate) Argos Translate是一个开源的离线翻译库,使用Python编写,基于OpenNMT进行翻译,可作为Python库、命令行工具或GUI应用程序使用。它支持安装语言模型包,这些包是包含翻译所需数据的zip压缩文件,扩展名为“.argosmodel”。LibreTranslate是一个基于Argos Translate的API和网页应用。Argos Translate还支持通过中间语言自动进行语言转换,例如,如果安装了es→en和en→fr的翻译模型,则可以将es翻译成fr,即使没有直接的es→fr翻译模型。这使得Argos Translate能够在一定程度上牺牲翻译质量的情况下,支持多种语言之间的翻译。目前支持的语言包括阿拉伯语、阿塞拜疆语、加泰罗尼亚语、中文、捷克语、丹麦语、荷兰语、英语、世界语、芬兰语、法语、德语、希腊语、希伯来语、印地语、匈牙利语、印度尼西亚语、爱尔兰语、意大利语、日语、韩语、马来语、波斯语、波兰语、葡萄牙语、俄语、斯洛伐克语、西班牙语、瑞典语、土耳其语、乌克兰语等等。
* [user1342/Tomato](https://github.com/user1342/Tomato) LLM 隐写术与最小熵耦合 - 在自然语言中隐藏加密消息。如何运作:LLM 生成的封面文本:LLM 像往常一样,根据提示生成连贯的文本。使用 MEC 嵌入:MEC 用于将隐藏消息(密文)的概率分布与LLM,这种耦合最小化了联合熵,确保隐写文本(带有嵌入消息的封面文本)保留了自然语言的统计属性,使隐藏的消息实际上无法被检测到。解码过程:在解码过程中,LLM 通过提供隐写文本的上下文感知解释来提供帮助,然后反向使用 MEC 将隐藏的消息与隐藏文本分离,该过程利用嵌入过程中使用的相同概率分布,确保在不影响隐藏文本完整性的情况下准确提取消息。此方法可确保隐藏的消息无缝集成到文本中,并且可以在以后安全、精确地检索,同时将检测风险降至最低。
* [RUCAIBox/TextBox](https://github.com/RUCAIBox/TextBox) 基于Python和PyTorch开发的,用于在一个统一的、全面的、高效的框架中复现和开发文本生成算法,主要面向研究者使用。我们的库包括16种文本生成算法,涵盖了两个主要任务:无条件(无输入)生成、序列到序列(Seq2Seq)生成,包括机器翻译和摘要生成。模型 无条件:LSTMVAE (Bowman et al., 2016)、CNNVAE (Yang et al., 2017)、HybridVAE (Semeniuta et al., 2017)、SeqGAN (Yu et al., 2017)、TextGAN (Zhang et al., 2017)、RankGAN (Lin et al., 2017)、MaliGAN (Che et al., 2017)、LeakGAN (Guo et al., 2018)、MaskGAN (Fedus et al., 2018)。序列到序列 RNN (Sutskever et al., 2014)、Transformer (Vaswani et al., 2017b)、GPT-2 (Radford et al.)、XLNet (Yang et al., 2019)、BERT2BERT (Rothe et al., 2020)、BART(Lewis et al。,2020)
* [huggingface/alignment-handbook](https://github.com/huggingface/alignment-handbook) 使语言模型与人类和 AI 偏好保持一致的强大配方:OpenAI用ChatGPT打破了互联网,Meta紧随其后发布了Llama系列语言模型,使ML社区能够构建自己有能力的聊天机器人。这导致了一个丰富的数据集和模型生态系统,这些数据集和模型主要集中在通过监督微调(SFT)来教授语言模型遵循指令。该手册的初始版本将侧重于以下技术:Supervised fine-tuning监督微调,教语言模型遵循有关如何收集和策划自己的训练数据集的说明和提示。Reward modeling奖励建模:教授语言模型根据人类或AI偏好区分模型响应。Rejection sampling剔除采样:一种简单但功能强大的技术,可提高SFT模型的性能。直接偏好优化(DPO):PPO的强大而有前途的替代方案。
* [KellerJordan/modded-nanogpt](https://github.com/KellerJordan/modded-nanogpt) 这是 Andrej Karpathy 的 llm 的变体。它:训练效率提高 3.8 倍(只需 2.67 个令牌而不是 10B 即可达到相同的验证损失)。代码更短(537 行而不是 860 行)。实施架构现代化(旋转嵌入、RMSNorm、ReLU^2、投影零初始化)。实现一个新的优化器 (Muon - Momentum Orthogonalized by Newton-schulz)。要执行训练,请在 8xA100 或 8xH100 节点上运行以下三个命令。他们在 8xH100 上以 <20 分钟完成,互联网连接良好。这将在 Fineweb [1] 的 2.67B 令牌上训练一个 124M 参数的 transformer 进行 5100 个步骤,实现 ~3.277 的验证损失。相比之下,默认的 llm PyTorch trainer 在训练 10B 令牌后会产生 >3.28 验证损失。
* [RUCAIBox/MVP](https://github.com/RUCAIBox/MVP) 自然语言生成的多任务监督预训练。遵循标准的转换器编码器-解码器架构。使用标记数据集进行监督预训练。还具有特定于任务的软提示,以刺激模型执行特定任务的能力。专为自然语言生成而设计,可以适应各种生成任务。我们的模型也可以适应自然语言理解任务。收集了7种代表性生成任务的45个有标签数据集,共计3200千万条样本(23GB),来作为预训练语料。第一阶段,使用这些语料训练一个标准的Transformer,即MVP;第二阶段,冻结住MVP,利用每个任务的数据训练任务特定的连续型提示(即7组提示)。
* [dsfsi/textaugment](https://github.com/dsfsi/textaugment) TextAugment是一个用于自然语言处理文本增强的Python 3库,它基于NLTK、Gensim v3.x和TextBlob,可以与它们很好地配合使用。该库提供多种文本增强方法,包括基于Word2vec、WordNet和RTT的增强方法,以及EDA(Easy Data Augmentation)和AEDA(An Easier Data Augmentation)技术,以及Mixup增强方法。TextAugment可以生成合成数据,以提高模型性能,无需人工干预,并支持文本数据,可以与任何机器学习框架(如PyTorch、TensorFlow、Scikit-learn)无缝集成。
* [XiangLi1999/PrefixTuning](https://github.com/XiangLi1999/PrefixTuning) 前缀微调:优化文本生成的连续提示模板。提出一种更好的微调方法,通过加入前缀实现统一模型在不同任务上的微调,实现小样本学习,极大地减少了参数量。目前对于前缀的构造,大致可以分为本文的连续前缀和离散前缀(自动生成或手动设计),对于在摘要任务上加入离散前缀,有点类似于从对话中提取特征或结构,但这种方法的优势就在于它不需要大量的样本,而传统的融入结构的方法仍然需要很多样本。
* [awslabs/sockeye](https://github.com/awslabs/sockeye) Sockeye是一个基于PyTorch的开源序列到序列框架,专注于神经机器翻译。它支持分布式训练和优化推理,用于构建最先进的模型,为Amazon Translate和其他机器翻译应用提供支持。Sockeye已进入维护模式,不再添加新功能。用户可以通过GitHub上的问题跟踪器报告问题。Sockeye 3.0.0版本开始支持PyTorch和MXNet,并提供MXNet模型到PyTorch模型的转换工具。用户可以通过pip安装Sockeye,并使用提供的文档和教程快速上手。
* [Byaidu/PDFMathTranslate](https://github.com/Byaidu/PDFMathTranslate) PDFMathTranslate是一个用于科学论文翻译的工具,它可以完整保留排版的 PDF 文档全文双语翻译,并支持 Google、DeepL、Ollama 和 OpenAI等多种翻译服务。该项目可以保留公式和图表,并支持多语言翻译,还提供双语对比功能。用户可以通过命令行执行翻译命令,并指定翻译服务、语言、页面范围等参数。该项目依赖于 PyMuPDF、Pdfminer.six、MinerU、MathTranslate、DocLayout-YOLO 等开源项目。
* [microsoft/LMOps](https://github.com/microsoft/LMOps) 关于构建具有基础模型的 AI 产品的基础研究和技术的研究计划,特别是关于通过LLMs生成式 AI 模型实现 AI 功能的通用技术。更好的提示:自动提示优化、提示器、可扩展提示、通用提示检索、检索器、LLM上下文演示选择。更长的上下文:结构化提示、长度外推转换器。LLM对齐:通过LLM反馈对齐。LLM加速器(更快的推理):无损加速LLMs。LLM自定义:适应LLM领域。
* [BART](https://github.com/pytorch/fairseq/tree/master/examples/bart) Bidirectional and Auto-Regressive Transformers 是以去噪为预训练目标训练的序列间模型, 一种符合生成任务的预训练方法。我们证明了这种预训练目标更为通用,并且证明了我们可以在SQuAD和GLUE上匹配RoBERTa的结果,并在摘要(XSum,CNN数据集)、长形式生成性问答(ELI5)和对话-反应生成(ConvAI2)上获得最新的结果。在生成任务上显著高于BERT, UniLM, XLNet, RoBERTa等模型
* [LibreTranslate/LibreTranslate](https://github.com/LibreTranslate/LibreTranslate) LibreTranslate是一个免费开源的机器翻译 API,完全自托管,无需依赖 Google 或 Azure等专有提供商。它使用开源的 Argos Translate 库作为翻译引擎,可以离线运行,易于设置。你可以通过简单的 API 调用进行翻译,支持多种语言,并提供自动语言检测、HTML 格式翻译、备选翻译等功能。只需几行命令即可安装和运行自己的 API 服务器。
* [OpenNMT/OpenNMT-py](https://github.com/OpenNMT/OpenNMT-py) OpenNMT-py 是一个基于 PyTorch 的开源神经机器翻译框架,支持多种 NLP 任务,如翻译、语言建模、摘要等。该项目已不再积极维护,推荐使用其衍生项目 Eole。OpenNMT-py 支持大型语言模型 (LLM),并提供 8位和 4 位量化功能,可用于微调 7B 和 13B 模型。该项目提供教程和文档,方便用户上手使用。
* [MuiseDestiny/zotero-gpt](https://github.com/MuiseDestiny/zotero-gpt) 与Zotero集成:您可以使用该插件根据所选文本或PDF文件搜索和询问库中的项目。使用 GPT 生成回复文本:support gpt-3.5-turbo 和 gpt-4。询问有关当前 PDF 文件(全文或所选文本)的问题。对所选论文(摘要)提出问题。 将所选论文总结成几个高度浓缩的句子。根据所选文本搜索库中的项目。
* [beyondguo/genius](https://github.com/beyondguo/genius) 强大的有条件文本生成模型,以草稿为输入,在给定的草稿(文本范围、短语或单词的关键信息)中填充缺失的上下文,在大规模文本语料库上进行预训练,用一种极端和选择性的掩蔽策略从草稿目标进行新的重建,使它能够生成给定素描的多样化和高质量的文本。
* [bojone/t5_in_bert4keras](https://github.com/bojone/t5_in_bert4keras) 在keras中使用T5模型 ,用mT5 small版本finetune出来的 CSL 标题生成模型,BLEU 指标能持平基于 WoBERT 的 UniLM 模型,并且解码速度快 130%;而用 mT5 base 版本 finetune 出来的 CSL 标题生成模型,指标能超过基于 WoBERT 的 UniLM 模型 1% 以上,并且解码速度也能快 60%。
* [google-research/language](https://github.com/google-research/language) 该项目是 Google AI 语言团队开源项目的共享仓库,包含了来自 Google ResearchLanguage 团队的各种开源项目,例如语言模型、文本生成、机器翻译等,但并非 Google 官方产品。
* [google-research/text-to-text-transfer-transformer](https://github.com/google-research/text-to-text-transfer-transformer) T5的理念就是“万事皆可 Seq2Seq”,它使用了标准的 Encoder-Decoder 模型,并且构建了无监督/有监督的文本生成预训练任务,最终将效果推向了一个新高度。
* [fastnlp/CPT](https://github.com/fastnlp/CPT) 中文预训练非平衡转换器 (CPT) ,它是一种非平衡 Transformer 编码器-解码器,联合 MLM 和 DAE 进行预训练。用于汉语理解和生成的预训练.
* [RasaHQ/rasa](https://github.com/RasaHQ/rasa) 开源机器学习框架,用于自动化基于文本和语音的对话:NLU、对话管理、连接到 Slack、Facebook 等 - 创建聊天机器人和语音助手
* [songhaoyu/BoB](https://github.com/songhaoyu/BoB) BERTOverBERT用于从有限的个性化数据训练基于角色的对话模型。分解为了两个子任务,从有限的角色化对话数据中进行学习。
* [Ceelog/DictionaryByGPT4](https://github.com/Ceelog/DictionaryByGPT4) 一本 GPT4 生成的单词书,超过 8000 个单词分析,涵盖了词义、例句、词根词缀、变形、文化背景、记忆技巧和小故事
* [EleutherAI/gpt-neo](https://github.com/EleutherAI/gpt-neo) 模型并行GPT2和类似GPT3的模型的实现,能够使用mesh-tensorflow库扩展到完整的GPT3尺寸(甚至可能更多!)。
* [aishwaryanr/awesome-generative-ai-guide](https://github.com/aishwaryanr/awesome-generative-ai-guide) 生成式 AI 正在经历快速增长,该存储库是生成式 AI 研究、访谈材料、笔记本等更新的综合中心!
* [howdyai/botkit](https://github.com/howdyai/botkit) 一个开源开发人员工具,用于为主要消息传递平台构建聊天机器人、应用程序和自定义集成。
* [AdityaNG/kan-gpt](https://github.com/AdityaNG/kan-gpt) 使用 Kolmogorov-Arnold 网络 (KAN) 进行语言建模的生成式预训练转换器 (GPT) 的 PyTorch 实现
* [ZhuiyiTechnology/t5-pegasus](https://github.com/ZhuiyiTechnology/t5-pegasus) 中文生成式预训练模型,以mT5为基础架构和初始权重,通过类似PEGASUS的方式进行预训练。
* [0hq/WebGPT](https://github.com/0hq/WebGPT) 使用 WebGPU 在浏览器上运行 GPT 模型。在不到 ~1500 行的原版 Javascript 中实现 GPT 推理。
* [Morizeyao/GPT2-Chinese](https://github.com/Morizeyao/GPT2-Chinese) GPT2中文文生模型,包括散文、诗词、对联、通用中文、中文歌词、文言文
* [Awesome-TOD-NLG-Survey](https://github.com/yizhen20133868/Awesome-TOD-NLG-Survey) 面向任务的对话系统 (TOD) 中自然语言生成的调查:最新进展和新前沿
* [bentrevett/pytorch-seq2seq](https://github.com/bentrevett/pytorch-seq2seq) 使用 PyTorch 和 TorchText 实现一些序列到序列 (seq2seq) 模型的教程。
* [dsdanielpark/Bard-API](https://github.com/dsdanielpark/Bard-API) 通过 cookie 值返回 Google Bard (大语言模型) 响应的非官方 python 包。
* [minimaxir/gpt-2-simple](https://github.com/minimaxir/gpt-2-simple) Py包可以轻松地在新文本上重新训练 OpenAI 的 GPT-2 文本生成模型
* [openai/gpt-2](https://github.com/openai/gpt-2) 论文“语言模型是无监督的多任务学习者”中的代码和模型。
* [OSU-NLP-Group/Mind2Web](https://github.com/OSU-NLP-Group/Mind2Web) 论文“Mind2Web:迈向Web的通才代理”的数据集,代码和模型。
* [karpathy/nanoGPT](https://github.com/karpathy/nanoGPT) 用于训练/微调中型 GPT(GPT-2) 的最简单、最快的存储库。
* [karpathy/minGPT](https://github.com/karpathy/minGPT) OpenAI GPT(生成预训练转换器)训练的最小PyTorch 重新实现
* [deeppavlov/DeepPavlov](https://github.com/deeppavlov/DeepPavlov) 用于深度学习端到端对话系统和聊天机器人的开源库。
* [liucongg/GPT2-NewsTitle](https://github.com/liucongg/GPT2-NewsTitle) GPT2.带有超级详细注释的中文GPT2新闻标题生成项目。
* [EssayKillerBrain/WriteGPT](https://github.com/EssayKillerBrain/WriteGPT) 基于开源GPT2.0的初代创作型人工智能 | 可扩展、进化
* [gunthercox/ChatterBot](https://github.com/gunthercox/ChatterBot) 一个机器学习的对话对话引擎,用于创建聊天机器人
* [thu-coai/CDial-GPT](https://github.com/thu-coai/CDial-GPT) 大规模中文短文本会话数据集和中文预训练对话模型
* [google/sentencepiece](https://github.com/google/sentencepiece) 用于基于神经网络的文本生成的无监督文本分词器。
* [RUCAIBox/Context-Tuning](https://github.com/RUCAIBox/Context-Tuning) 上下文调优:学习上下文提示用于自然语言生成
* [samueldobbie/markup](https://github.com/samueldobbie/markup) 基于Web的文档注释工具,由GPT-3 提供支持
* [YunwenTechnology/QueryGeneration](https://github.com/YunwenTechnology/QueryGeneration) 智能扩充机器人的“标准问”库之Query生成
* [imcaspar/gpt2-ml](https://github.com/imcaspar/gpt2-ml) GPT2 多语言支持, 15亿参数中文预训练模型
* [CopyTranslator/CopyTranslator](https://github.com/CopyTranslator/CopyTranslator) 基于复制和翻译的外语阅读和翻译助手。
* [SUSYUSTC/MathTranslate](https://github.com/SUSYUSTC/MathTranslate/tree/main) 用 Latex 翻译科学论文,尤其是 ARXIV 论文
* [rikdz/GraphWriter](https://github.com/rikdz/GraphWriter) 基于图Transformer从知识图谱中生成文本
* [yangjianxin1/GPT2-chitchat](https://github.com/yangjianxin1/GPT2-chitchat) 用于中文闲聊的GPT2文本对话模型
* [PENS-Personalized-News-Headline-Generation](https://github.com/LLluoling/PENS-Personalized-News-Headline-Generation) 新闻头条生成数据集和通用框架
* [Aristotle609/Medium-Title-Generator](https://github.com/Aristotle609/Medium-Title-Generator) 生成数据科学文章标题的模型
* [immersive-translate/immersive-translate](https://github.com/immersive-translate/immersive-translate) 沉浸式双语网页翻译扩展
* [google-research/multilingual-t5](https://github.com/google-research/multilingual-t5) T5 的多国语言版
### 大语言对话模型及数据
* [Tele-AI/TeleChat2](https://github.com/Tele-AI/TeleChat2) 星辰语义大模型TeleChat2是由中国电信人工智能研究院研发训练的大语言模型,是首个完全国产算力训练并开源的千亿参数模型。星辰语义大模型TeleChat2是由中国电信人工智能研究院研发训练的大语言模型,该系列模型完全基于国产算力训练。本次开源TeleChat2-115B模型采用10万亿 Tokens中英文高质量语料进行训练,同步开源对话模型TeleChat2-115B的多格式、多平台权重文件。TeleChat2在训练数据、训练方法等方面进行了改进,在通用问答和知识类、代码类、数学类榜单上相比TeleChat1均有大幅提升。TeleChat2完全基于国产算力和国产深度学习框架进行训练,算力和算法框架更自主可控。优化MP、PP、SP实现方式提升模型性能,优化算子来提升训练速度。我们使用大量小模型实验来验证scaling law规律,在不同模型结构、不同数据配比和数据清洗方式中寻找最优设计。采用RingAttention及其他序列切分方式,实现长文训练性能提升;通过ntk-aware+attention-scaling的方式保证训练长度切换时的平稳过渡,以此来保证模型在不同长度数据下的训练效果。在微调数据方面,我们进行了指令复杂性提升与多样性扩充,通过数据合成和人工标注生成高质量数据,并使用拒绝采样生成多样的推理路径;通过研究一套基于base模型反向选择偏好对齐数据方案,基于适配数据最大限度提升模型效果。通用能力较TeleChat系列模型提升超过29%,在逻辑推理、总结摘要、长文写作和数学计算上均有大幅提升。采用标准的 Decoder-only 结构设计了 TeleChat2 模型,使用 Rotary Embedding 的位置编码方法、使用 SwiGLU 激活函数来替代GELU激活函数、使用基于 RMSNorm 的 Pre-Normalization进行层标准化操作。我们将TeleChat2的词嵌入层和输出lm head层参数分开,有助于增强训练稳定性和收敛性。我们选择了GQA以节约attention部分的参数量和计算量、提升训练和推理速度。TeleChat模型相比同规模模型在评测效果方面也有较好的表现,我们的评测集涵盖了包括MMLU、C-Eval、CMMLU、 GSM8K、MATH、HumanEval、BBH等数据集,评测能力包括了指令遵循、考试能力、数学计算和推理、代码生成等。
* [bklieger-groq/g1](https://github.com/bklieger-groq/g1) 在 Groq 上使用 Llama-3.1 70b 创建类似 o1 的推理链。这是使用提示策略通过类似 o1 的推理链来提高 LLM 的推理能力的早期原型。这允许 LLM “思考”并解决通常会难倒领先模型的逻辑问题。与 o1 不同,它显示了所有推理标记,并且该应用程序使用开源模型。G1 是实验性的,并且是开源的,以帮助激励开源社区开发新的策略来产生类似 O1 的推理。该实验有助于展示在可视化步骤中提示推理的力量,而不是与使用不同技术的 o1 进行比较或完全复制。相反,OpenAI 的 o1 通过大规模强化学习进行训练,以使用 Chain of Thought 进行推理,从而在复杂的博士级问题上实现最先进的性能。g1 展示了单独提示克服简单的 LLM 逻辑问题(如 Strawberry 问题)的潜力,使现有的开源模型能够从动态推理链和改进的界面中受益。由 Llama3.1-70b 提供支持的 g1 创建了推理链,原则上是一个动态的思维链,它允许 LLM 能够“思考”并解决一些通常会难倒领先模型的逻辑问题。在每个步骤中,LLM 可以选择继续另一个推理步骤,或提供最终答案。每个步骤都有标题,并且对用户可见。系统提示符还包括 LLM。Prompt Breakdown 下有完整的解释,但有几个示例要求模型“包括对替代答案的探索”和“使用至少 3 种方法来得出答案”。因此,通过将思维链与尝试多种方法、探索替代答案、质疑以前的草案解决方案并考虑 LLM。仅此一项,无需任何训练,就足以在草莓问题上达到 ~70% 的准确率(n=10,“草莓中有多少 R?)在没有提示的情况下,Llama-3.1-70b 的准确率为 0%,ChatGPT-4o 的准确率为 30%。
* [deepseek-ai/DeepSeek-V2](https://github.com/deepseek-ai/DeepSeek-V2) DeepSeek-V2:强大、经济且高效的专家混合语言模型,一种强大的专家混合 (MoE) 语言模型,其特点是经济的训练和高效的推理。它包含 236B 个总参数,其中 21B 为每个词元激活。与DeepSeek 67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提升了5.76倍。我们在由 8.1 万亿个词元组成的多样化、高质量的语料库上预训练了 DeepSeek-V2。在这种全面的预训练之后,是监督微调 (SFT) 和强化学习 (RL) 的过程,以充分释放模型的能力。评估结果验证了我们方法的有效性,因为DeepSeek-V2在标准基准测试和开放式生成评估中都取得了卓越的性能。大海捞针 (NIAH) 测试的评估结果。DeepSeek-V2 在高达 128K 的所有上下文窗口长度上都表现良好。我们在 AlpacaEval 2.0 和 MTBench 上评估了我们的模型,显示了 DeepSeek-V2-Chat-RL 在英语会话生成方面的竞争性能。我们在 LiveCodeBench (0901-0401) 上评估我们的模型,这是一个为实时编码挑战而设计的基准测试。如图所示,DeepSeek-V2 在 LiveCodeBench 方面表现出相当的熟练程度,取得了超过其他几个复杂模型的Pass@1分数。这一性能突出了该模型在处理实时编码任务方面的有效性。DeepSeek-V2 采用创新架构,保证训练经济高效:在注意力方面,我们设计了MLA(Multi-head Latent Attention),它利用低秩键值联合压缩来消除推理时键值缓存的瓶颈,从而支持高效的推理。对于前馈网络 (FFN),我们采用 DeepSeekMoE 架构,这是一种高性能的 MoE 架构,能够以更低的成本训练更强大的模型。
* [baichuan-inc/Baichuan-13B](https://github.com/baichuan-inc/Baichuan-13B) 由百川智能继 Baichuan-7B 之后开发的包含 130 亿参数的开源可商用的大规模语言模型,在权威的中文和英文 benchmark 上均取得同尺寸最好的效果。本次发布包含有预训练 (Baichuan-13B-Base) 和对齐 (Baichuan-13B-Chat) 两个版本。Baichuan-13B 有如下几个特点:更大尺寸、更多数据:Baichuan-13B 在 Baichuan-7B 的基础上进一步扩大参数量到 130 亿,并且在高质量的语料上训练了 1.4 万亿 tokens,超过 LLaMA-13B 40%,是当前开源 13B 尺寸下训练数据量最多的模型。支持中英双语,使用 ALiBi 位置编码,上下文窗口长度为 4096。同时开源预训练和对齐模型:预训练模型是适用开发者的『 基座 』,而广大普通用户对有对话功能的对齐模型具有更强的需求。因此本次开源我们同时发布了对齐模型(Baichuan-13B-Chat),具有很强的对话能力,开箱即用,几行代码即可简单的部署。更高效的推理:为了支持更广大用户的使用,我们本次同时开源了 int8 和 int4 的量化版本,相对非量化版本在几乎没有效果损失的情况下大大降低了部署的机器资源门槛,可以部署在如 Nvidia 3090 这样的消费级显卡上。开源免费可商用:B对学术研究完全开放,开发者也仅需邮件申请并获得官方商用许可后,可免费商用。
* [MadcowD/ell](https://github.com/MadcowD/ell) ell 是一个轻量级的函数式提示工程框架,构建在几个核心原则之上:1. 提示是程序,而不是字符串。提示不仅仅是字符串;它们都是导致字符串被发送到语言模型的代码。在 ell 中,我们认为一种将语言模型用作离散子例程的特殊方法,称为语言模型程序。2. 提示实际上是机器学习模型的参数。提示工程的过程涉及许多迭代,类似于机器学习中的优化过程。由于 LMP 只是函数,因此 ell 为此过程提供了丰富的工具。ell 通过静态和动态分析以及 GPT-4o-mini自动生成的提交消息,将提示的自动版本控制和序列化直接发送到本地存储。此过程类似于机器学习训练循环中的检查点,但它不需要任何特殊的 IDE 或编辑器 - 全部使用常规 Python 代码完成。3. 用于监控、版本控制和可视化的工具。使用正确的工具,Prompt 工程从一门黑暗的艺术变成了一门科学。Ell Studio 是一个本地开源工具,用于提示版本控制、监控、可视化。使用 Ell Studio,您可以随着时间的推移经验化您的提示优化过程,并在为时已晚之前捕获回归。4. 多模态应该是一流的。LLMs 可以处理和生成各种类型的内容,包括文本、图片、音频和视频。使用这些数据类型进行提示工程应该像使用文本一样简单。
* [THUDM/ChatGLM2-6B](https://github.com/THUDM/ChatGLM2-6B) 开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,引入了如下新特性:`更强大的性能`:全面升级了基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。`更长的上下文`:基于 FlashAttention 技术,我们将基座模型的上下文长度(Context Length)由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练。对于更长的上下文,我们发布了 ChatGLM2-6B-32K 模型。LongBench 的测评结果表明,在等量级的开源模型中,32K 有着较为明显的竞争优势。`更高效的推理`:基于 Multi-Query Attention 技术,有更高效的推理速度和更低的显存占用:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。`更开放的协议`:权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用。
* [SqueezeAILab/LLM2LLM](https://github.com/SqueezeAILab/LLM2LLM) LLM2LLM 是一种新颖的迭代数据增强策略,旨在通过使用大型语言模型(LLM)自身的能力来提升其性能。该方法的核心思想是利用一个教师 LLM 来增强小型的种子数据集,通过生成合成数据并将其重新加入到训练数据中,从而逐步提高模型的性能。这种方法不仅减少了手动生成数据的需要,还显著降低了所需的真实数据量,使得在低数据机制中也能有效提升 LLM 的性能。包括以下几个步骤:在初始种子数据集中微调学生模型。评估并提取学生模型在训练集中预测错误的数据。利用教师模型对这些错误数据生成额外数据,并将其加入到原始训练数据中进行迭代训练。这种方法的优势在于其迭代性和针对性,每次数据增强时仅对种子数据进行处理,从而确保数据的质量和相关性。通过这种方式,LLM2LLM 能够生成高质量的合成数据,其效果可以媲美甚至超过手工收集的数据。此外,LLM2LLM 还减少了劳动密集型数据整理的需求,使得数据增强过程更加高效和自动化。研究结果表明,LLM2LLM 在低数据机制中的性能显著优于传统的微调和其他数据增强基线,为大型语言模型的进一步发展提供了新的思路和方法。
* [DA-southampton/RedGPT](https://github.com/DA-southampton/RedGPT) 提出一种自动生成事实型对话的方法,并公开我们的部分数据。我们公开的第一批数据(RedGPT-Dataset-V1-CN)共包含5万条中文多轮对话。目标是自动生成海量、高质量、事实型多轮对话,用于训练GPT,提升GPT的事实正确性。我们采用如下方法自动生成数据。1. 采集优质的事实型文档,我们称之为reference,其来源可以是电子书、维基百科、优质垂类网站。文档需要涵盖尽量多的主题,包括但不限于人物、机构、科技、医疗、法律、人文、经济、家居、汽车、出行、美食、时尚、体育、教育、宠物。2. 利用已有的LLM(例如付费API)生成多轮对话。输入是一篇reference,prompt类似“请根据这篇文章生成多轮问答”。API会输出一段多轮对话(dialogue)。这种方法将原本只适合预训练的文档转化成可供微调的多轮对话。3. 第2步收集到大量的reference-dialogue二元组。将reference和prompt作为输入,dialogue作为目标,微调一个GPT模型(可以基于LLaMA或BLOOM的预训练基座)。我们将微调出的模型称作Reference-Enlightened-Dialogue GPT,缩写RedGPT。有了RedGPT,即可基于reference生成多轮对话,获得海量的数据。
* [lm-sys/llm-decontaminator](https://github.com/lm-sys/llm-decontaminator) 在没有更强的去除训练样本污染的情况下,Llama-rephraser:13B 模型在主要基准测试 (MMLU/GSK-8K/HumanEval) 中达到 GPT-4 性能!为了确保结果的有效性,我们遵循了 OpenAI 的去污方法,没有发现数据污染的证据。本文提出了一种基于更强LLM的去污器,并将其应用于现实世界的训练数据集(例如, the Stack、RedPajama),揭示了训练数据集与广泛使用的基准测试的显着重叠。现有的检测方法(例如,n-gram重叠,嵌入相似性)无法检测到这种污染。嵌入相似性方法很难将改写的问题与同一主题(高中美国历史)中的其他问题区分开来。而本文提出可以使用“LLM去污器”来量化数据集相对于基准的重新表述的样本。根据检测结果,您可以估计数据集中改写样本的污染情况,并将其从训练集中移除。该LLM净化器包括两个步骤:对于每个测试用例,“LLM去污器”使用嵌入相似性搜索识别相似度最高的前 k 个训练项。从这些项目中,“LLM去污器”生成 k 个潜在的改写对,每对都使用高级 LLM,例如 GPT-4 进行改写评估。结果表明,我们提出LLM的方法在去除改写样本方面明显优于现有方法。
* [modelscope/data-juicer](https://github.com/modelscope/data-juicer) 为大语言模型提供更高质量、更丰富、更易”消化“的数据!特征:系统化和可重用:为用户提供包含 80+ 核心 OP、20+ 可重用配置配方和 20+ 功能丰富的专用工具包的系统库,旨在独立于特定的多模态LLM数据集和处理管道运行。Data-in-the-loop & Sandbox:支持一站式数据模型协同开发,通过沙盒实验室实现快速迭代,提供基于数据和模型的反馈循环、可视化、多维度自动评估等功能,让您更好地理解和改进您的数据和模型。提高效率:提供高效并行的数据处理流水线(Aliyun-PAIRaySlurmCUDAOP Fusion),需要更少的内存和CPU使用率,并针对最大生产力进行优化。全面的数据处理配方:提供数十种预建的数据处理配方,用于预训练、微调、en、zh 等场景。在参考 LLaMA 和 LLaVA 模型上进行了验证。灵活和可扩展:适应大多数类型的数据格式(例如,jsonl、parquet、csv等),并允许灵活组合OP。随意实现您自己的 OP 以进行可自定义的数据处理。用户友好体验:为简单而设计,具有全面的文档、简单的入门指南和演示配置,以及通过在现有配置中简单添加/删除 OP 的直观配置。
* [thudm/longwriter](https://github.com/thudm/longwriter) 由清华大学和智谱AI联合开发的长文本生成模型,旨在从长上下文大语言模型(LLMs)中释放超过 10,000 个单词的生成能力。当前的长上下文 LLMs 虽然可以处理多达 100,000 个标记的输入,但在生成超过 2,000 个单词的输出时仍然面临困难,主要原因是模型的有效生成长度受到在监督微调(SFT)过程中所见样本的限制。为了解决这一问题,研究团队引入了 AgentWrite,这是一种基于代理的方法,通过将超长的生成任务分解为子任务,使得现有的 LLMs 能够生成超过 20,000 个单词的连贯输出。利用 AgentWrite,他们构建了 LongWriter-6k,这是一个包含 6,000 个 SFT 数据的数据集,输出长度从 2k 到 32k 单词不等。通过将此数据集纳入模型训练,现有模型的输出长度扩展到 10,000 字以上,同时保持了输出质量。此外,LongWriter 还开发了 LongBench-Write,这是一个用于评估超长生成能力的综合基准。用户可以通过运行 CUDA_VISIBLE_DEVICES=0 python trans_web_demo.py 来部署自己的 LongWriter 聊天机器人,或者使用 vllm 部署模型,从而在一分钟内生成超过 10,000 个单词。
* [jingyaogong/minimind](https://github.com/jingyaogong/minimind) 【大模型】3小时完全从0训练一个仅有26M的小参数GPT,最低仅需2G显卡即可推理训练!MiniMind极其轻量,体积约是 GPT3 的 1/7000,力求做到最普通的个人GPU也可快速推理甚至训练。MiniMind改进自DeepSeek-V2、Llama3结构,项目包含整个数据处理、pretrain、sft、dpo的全部阶段,包含混合专家(MoE)模型。这是一个既是开源项目,又是入门LLM教程,同时也是一个初具雏形的开源模型,希望能起到抛砖引玉的作用。因此,本项目的目标是把上手LLM的门槛无限降低, 直接从0开始训练一个极其轻量的语言模型。项目包含:公开MiniMind模型代码(包含Dense和MoE模型)、Pretrain、SFT指令微调、LoRA微调、DPO偏好优化的全过程代码、数据集和来源。兼容transformers、accelerate、trl、peft等流行框架。训练支持单机单卡、单机多卡(DDP、DeepSpeed)训练,使用wandb可视化训练流程。支持在任意位置停止,及在任意位置继续训练。在Ceval数据集上进行模型测试的代码。实现Openai-Api基本的chat接口,便于集成到第三方ChatUI使用(FastGPT、Open-WebUI等)。
* [xlang-ai/UnifiedSKG](https://github.com/xlang-ai/UnifiedSKG) 使用文本到文本语言模型进行统一和多任务结构化知识基础,结构化知识基础 (SKG) 利用结构化知识来完成用户请求,例如对数据库进行语义解析和对知识库进行问答。由于SKG任务的输入和输出是异质的,因此它们在历史上被不同的社区分开研究,这限制了对SKG的系统性和兼容性研究。在本文中,我们通过提出 UnifiedSKG 框架来克服这一局限性,该框架将 21 个 SKG 任务统一为文本到文本的格式,旨在促进系统的 SKG 研究,而不是专属于单个任务、领域或数据集。我们表明,像 T5 这样的大型语言模型,在必要时进行简单的修改,几乎可以在所有 21 个任务上实现最先进的性能。UnifiedSKG促进多任务学习。我们表明,多任务前缀调整对大多数任务都有好处,大大提高了整体性能。UnifiedSKG 是一个具有挑战性的零样本和少样本学习测试平台,T0、GPT-3 和 Codex 都在其中苦苦挣扎。UnifiedSKG 还支持对 SKG 任务中的结构化知识编码变体进行一系列对照实验。我们发现 T5 对结构化知识编码变化的敏感性因任务而异。
* [yangling0818/buffer-of-thought-llm](https://github.com/yangling0818/buffer-of-thought-llm) 思想缓冲:使用大型语言模型进行思想增强推理。BoT,这是一种新颖且多功能的思维增强推理方法,旨在提高大型语言模型 (LLMs。具体来说,我们提出了一个元缓冲区来存储一系列高级思想,称为思想模板,这些思想是从各种任务中解决问题的过程中提炼出来的。对于每个问题,我们检索一个相关的思想模板,并使用特定的推理结构自适应地实例化它,以进行有效的推理。为了确保可扩展性和稳定性,我们还提出了一个 buffer-manager 来动态更新 meta-buffer,从而随着更多任务的解决而增强其容量。我们对 10 项具有挑战性的推理密集型任务进行了广泛的实验,与以前的最先进的 (SOTA) 方法相比,性能有了显著提高:Game of 24 的性能提高了 11%,几何形状的性能提高了 20%,Checkmate-in-One 的性能提高了 51%。进一步的分析表明,我们的 BoT 具有卓越的泛化能力和稳健性,而平均只需要多查询提示方法(例如,树/思想图)成本的 12%。值得注意的是,我们发现我们的 Llama3-8B + BoT 有可能超越 Llama3-70B 模型。
* [thu-bpm/markllm](https://github.com/thu-bpm/markllm) MarkLLM 是一个开源工具包,旨在促进大型语言模型 (LLMs) 中水印技术的研究和应用。随着大型语言模型 (LLMs) 的使用范围扩大,确保机器生成文本的真实性和来源变得至关重要。MarkLLM 简化了对水印技术的访问、理解和评估,使其可供研究人员和更广泛的社区使用。实现框架:MarkLLM 为各种LLM水印算法的实现提供了一个统一且可扩展的平台。它目前支持来自两个著名家族的九种特定算法,促进了水印技术的集成和扩展。目前支持的算法:KGW,Unigram,SWEET,UPV,EWD,SIR,X-SIR,EXP,EXP-Edit,ITS-Edit。可视化解决方案:该工具包包括自定义可视化工具,可以清晰而深入地了解不同水印算法在各种场景下的运行方式。这些可视化有助于揭开算法机制的神秘面纱,使用户更容易理解它们。评估模块:MarkLLM 拥有 12 种评估工具,涵盖可检测性、鲁棒性和对文本质量的影响,在其评估水印技术的综合方法中脱颖而出。它还具有可定制的自动化评估管道,可满足不同的需求和场景,从而增强了工具包的实际实用性。
* [exo-explore/exo](https://github.com/exo-explore/exo) 在家中使用日常设备运行自己的 AI 集群。忘记昂贵的 NVIDIA GPU,将现有设备统一到一个强大的 GPU 中:iPhone、iPad、Android、Mac、Linux,几乎任何设备!特征:广泛的模型支持,exo支持LLaMA(MLX和tinygrad)等热门型号。动态模型分区,EXO 根据当前网络拓扑和可用设备资源对模型进行最佳拆分。这使您能够运行比在任何单个设备上更大的模型。自动设备发现,EXO 将使用可用的最佳方法自动发现其他设备。零手动配置。ChatGPT 兼容 API,exo 提供了一个与 ChatGPT 兼容的 API,用于运行模型,只需在您的应用程序中进行一行更改,即可使用 exo 在您自己的硬件上运行模型。设备平等,与其他分布式推理框架不同,exo 不使用 master-worker 架构,exo 设备连接 p2p,只要设备连接到网络中的某个位置,它就可以用于运行模型,Exo支持不同的分区策略,可以在设备之间分割模型,默认的分区策略是环形内存加权分区,这将在一个环中运行推理,其中每个设备运行与设备内存成正比的多个模型层。
* [ziliwangnlp/RefGPT](https://github.com/ziliwangnlp/RefGPT) 包含5万对中文多轮对话数据。用如下方法自动生成数据。采集优质的事实型文档,reference,来源是电子书、维基百科、优质垂类网站。文档需要涵盖尽量多的主题。利用已有LLM生成多轮对话。输入是一篇reference,prompt类似“请根据这篇文章生成多轮问答”。API输出一段多轮对话(dialogue)。这种方法将原本只适合预训练的文档转化成可供微调的多轮对话。收集到大量的reference-dialogue二元组。将reference和prompt作为输入,dialogue作为目标,微调一个GPT模型。称作Reference-to-Dialogue GPT,缩写RefGPT。有了RefGPT,即可基于reference生成多轮对话,获得海量的数据。需要关注2个要点。Reference的质量、广度。Reference内容质量必须高,比如医疗等优质垂类网站的页面、维基百科上非生僻的词条,且需要对网页做清洗。Reference的广度应当大,不能限制在单个垂类或网站。调用已有LLM时需要写prompt,需要仔细尝试各种prompt,使得LLM生成的多轮对话符合预期。
* [bilibili/Index-1.9B](https://github.com/bilibili/Index-1.9B) Index-1.9B系列是Index系列模型(由哔哩哔哩自主研发的大语言模型)中的轻量版本,包含以下模型:Index-1.9B base : 基座模型,具有 19亿 非词嵌入参数量,在2.8T 中英文为主的语料上预训练,多个评测基准上与同级别模型比处于领先。Index-1.9B pure : 基座模型的对照组,与base具有相同的参数和训练策略,不同之处在于我们严格过滤了该版本语料中所有指令相关的数据,以此来验证指令对benchmark的影响。Index-1.9B chat : 基于index-1.9B base通过SFT和DPO对齐后的对话模型,我们发现由于我们预训练中引入了较多互联网社区语料,聊天的趣味性明显更强,并且拥有同级别模型中较强的多语种(尤其是东亚语种)互译能力。Index-1.9B character : 在SFT和DPO的基础上引入了RAG来实现fewshots角色扮演定制。Index-1.9B-32K : Index-1.9B-32K 是一个仅有 1.9B 参数、却具备 32K 上下文长度的语言模型(这意味着,这个超小精灵可以一次性读完 3.5 万字以上的文档)。
* [langchain-ai/langchainjs](https://github.com/langchain-ai/langchainjs) 通过LLMs可组合性构建应用程序,LangChain是用TypeScript编写的,可用于:Node.js(ESM 和 CommonJS) - 18.x、19.x、20.x、22.x;Cloudflare Workers;Vercel / Next.js(浏览器、Serverless 和 Edge 功能);Supabase Edge 函数;浏览器;Deno。LangChain是一个用于开发由语言模型驱动的应用程序的框架。它使应用程序能够:具有上下文感知能力:将语言模型连接到上下文源(提示指令、少量镜头示例、内容以使其响应为基础等);原因:依靠语言模型进行推理(关于如何根据提供的上下文回答、采取什么行动等)。该框架由几个部分组成:开源库:使用 LangChain 的开源构建块、组件和第三方集成来构建您的应用程序,使用 LangGraph.js 构建具有一流和人机交互支持的状态代理。生产化:使用LangSmith来检查、监控和评估您的链,以便您可以放心地持续优化和部署。部署:使用 LangGraph Cloud(目前仅限 Python)将您的 LangGraph 应用程序转换为生产就绪的 API 和助手。
* [InternLM/InternLM-techreport](https://github.com/InternLM/InternLM-techreport) 书生·浦语由上海人工智能实验室和商汤科技(同等贡献)与香港中大、复旦和上海交大联合开发的多语言大语言模型。具有104B参数的多语言基础语言模型。在具有 1.6T 词元的大型语料库上进行预训练,并具有多阶段渐进过程,然后进行微调以符合人类偏好。我们还开发了一个名为Uniscale-LLM的训练系统,用于高效的大型语言模型训练。对多项基准的评估表明,InternLM在知识理解、阅读理解、数学和编码等多个方面都取得了最先进的表现。凭借如此全面的能力,InternLM在综合考试中取得了出色的表现,包括MMLU,AGIEval,C-Eval和高考-Bench,而无需借助外部工具。在这些基准测试中,InternLM 不仅明显优于开源模型,而且与 ChatGPT 相比,还获得了卓越的性能。此外,InternLM在理解中文和中国文化方面表现出出色的能力,这使其成为支持面向中文的语言应用的合适基础模型,并提供了跨各种知识领域和任务的基准和示例。
* [higgsfield-ai/higgsfield](https://github.com/higgsfield-ai/higgsfield) 容错、高度可扩展的 GPU 编排,以及专为训练具有数十亿到数万亿个参数的模型而设计的机器学习框架。Higgsfield 是一个开源、容错、高度可扩展的 GPU 编排,以及一个机器学习框架,专为训练具有数十亿到数万亿个参数的模型而设计,例如大型语言模型 (LLMs)。Higgsfield 作为 GPU 工作负载管理器和机器学习框架,具有五个主要功能:将对计算资源(节点)的独占和非独占访问权限分配给用户进行训练任务。支持 ZeRO-3 deepspeed API 和 PyTorch 的全分片数据并行 API,实现万亿参数模型的高效分片。提供一个框架,用于在分配的节点上启动、执行和监控大型神经网络的训练。通过维护用于运行试验的队列来管理资源争用。通过与 GitHub 和 GitHub Actions 的无缝集成,促进机器学习开发的持续集成,Higgsfield 简化了训练大型模型的过程,并为开发人员提供了多功能且强大的工具集。
* [THUDM/GLM-4](https://github.com/THUDM/GLM-4) GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。 在语义、数学、推理、代码和知识等多方面的数据集测评中, GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出超越 Llama-3-8B 的卓越性能。除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。我们还推出了支持 1M 上下文长度(约 200 万中文字符)的 GLM-4-9B-Chat-1M 模型和基于 GLM-4-9B 的多模态模型 GLM-4V-9B。GLM-4V-9B 具备 1120 * 1120 高分辨率下的中英双语多轮对话能力,在中英文综合能力、感知推理、文字识别、图表理解等多方面多模态评测中,GLM-4V-9B 表现出超越 GPT-4-turbo-2024-04-09、Gemini 1.0 Pro、Qwen-VL-Max 和 Claude 3 Opus 的卓越性能。
* [QwenLM/Qwen](https://github.com/QwenLM/Qwen) 阿里云提出的 Qwen (通义千问) 聊天和预训练大型语言模型的官方存储库。开源了Qwen(通义千问)系列工作,当前开源模型的参数规模为18亿(1.8B)、70亿(7B)、140亿(14B)和720亿(72B)。当前基础模型已经稳定训练了大规模高质量且多样化的数据,覆盖多语言(当前以中文和英文为主),总量高达3万亿token。在相关基准评测中,Qwen系列模型拿出非常有竞争力的表现,显著超出同规模模型并紧追一系列最强的闭源模型。此外,我们利用SFT和RLHF技术实现对齐,从基座模型训练得到对话模型。Qwen-Chat具备聊天、文字创作、摘要、信息抽取、翻译等能力,同时还具备一定的代码生成和简单数学推理的能力。在此基础上,我们针对LLM对接外部系统等方面针对性地做了优化,当前具备较强的工具调用能力,以及最近备受关注的Code Interpreter的能力和扮演Agent的能力。
* [kvcache-ai/Mooncake](https://github.com/kvcache-ai/Mooncake) Mooncake 是 Moonshot AI 提供的领先LLM服务 Kimi 的服务平台。以 KVCache 为中心的服务LLM分解架构,Mooncake 采用以 KVCache 为中心的分解架构,将预填充和解码集群分开。它还利用 GPU 集群中未充分利用的 CPU、DRAM 和 SSD 资源来实现 KVCache 的分解缓存。Mooncake 的核心是其以 KVCache 为中心的调度器,它在最大化整体有效吞吐量的同时满足与延迟相关的服务级别目标 (SLO) 要求之间取得平衡。与假设所有请求都将得到处理的传统研究不同,Mooncake 面临着高度过载场景带来的挑战。为了缓解这些问题,我们制定了基于预测的早期拒绝政策。实验表明,Mooncake 在长上下文场景中表现出色。与基线方法相比,Mooncake 在遵守 SLO 的同时,在某些模拟场景中可以实现高达 525% 的吞吐量提升。在实际工作负载下,Mooncake 的创新架构使 Kimi 能够处理 75% 以上的请求。
* [THUDM/ChatGLM3](https://github.com/THUDM/ChatGLM3) ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能。更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM3-6B-Base、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用。
* [InternLM/InternLM](https://github.com/InternLM/InternLM) InternLM开源了70亿和200亿参数基础模型,以及针对实际场景和训练系统量身定制的聊天模型。开源的轻量级训练框架,旨在支持模型预训练,而无需广泛的依赖关系。通过单个代码库,它支持在具有数千个 GPU 的大规模集群上进行预训练,并在单个 GPU 上进行微调,同时实现卓越的性能优化。InternLM 在 1024 个 GPU 上训练期间实现了近 90% 的加速效率。InternLM-20B选择了更深的架构,深度设置为60层。这超过了使用32或40层的传统7B和13B型号。当参数有限时,增加层数可以增强模型的整体功能。此外,与InternLM-7B相比,InternLM-20B使用的预训练数据经过了更高质量的清理,并补充了丰富的知识数据,旨在增强理解和推理能力。因此,它在理解、推理、数学和编程能力方面表现出显着的改进——所有这些都测试了语言模型的技术熟练程度。
* [OpenLMLab/MOSS](https://github.com/OpenLMLab/MOSS) 支持中英双语和多种插件的开源对话语言模型,moss-moon系列模型具有160亿参数。开源数据: moss-002-sft-data: 多轮对话数据,覆盖有用性、忠实性、无害性三个层面,包含由text-davinci-003生成的约57万条英文对话和59万条中文对话。moss-003-sft-data: 多轮对话数据,基于MOSS-002内测阶段采集的约10万用户输入数据和gpt-3.5-turbo构造而成,更加符合真实用户意图分布,包含更细粒度的有用性类别标记、更广泛的无害性数据和更长对话轮数,约含110万条对话数据。moss-003-sft-plugin-data: 插件增强的多轮对话数据,包含支持搜索引擎、文生图、计算器、解方程等四个插件在内的约30万条多轮对话数据。moss-003-pm-data: 偏好数据,包含在约18万额外对话上下文数据及使用moss-moon-003-sft所产生的回复数据上构造得到的偏好对比数据。
* [volcengine/veScale](https://github.com/volcengine/veScale) PyTorch 原生LLM 训练框架。易于使用的工业级框架。特色:PyTorch 原生:veScale 植根于 PyTorch 原生数据结构、运算符和 API,享受主导 ML 世界的 PyTorch 生态系统。零模型代码更改:veScale 将分布式系统设计与模型架构解耦,需要对用户的模型代码进行近乎零或零的修改。单设备抽象:veScale 为用户提供单设备语义,在设备集群中自动分发和编排模型执行。自动并行规划:veScale 在半自动化或全自动 下通过策略(张量、序列、数据、ZeRO、管道并行)的协同作用将模型执行并行化。Eager & Compile模式:veScale不仅支持Eager模式自动化以进行并行训练和推理,还支持Compile模式以实现最终性能。自动检查点重新分片:veScale 通过跨不同集群大小和不同并行策略的在线重新分片自动管理分布式检查点。
* [OpenMOSS/CoLLiE](https://github.com/OpenMOSS/CoLLiE) 帮助您从零开始训练大模型的完整工具箱。它提供了数据预处理、模型微调、模型保存以及训练过程各项指标监测等功能。CoLLiE集成了现有的并行策略、高效参数微调方法和高效优化器,以加快训练的速度,提高训练的质量,降低训练的开销。CoLLiE支持主流的多种模型(如MOSS, InternLM, LLaMA, ChatGLM等),您可以轻松在不同的模型之间切换。此外,CoLLiE提供了丰富的文档,使初学者可以快速入门。同时,CoLLiE还提供了高度可定制化的功能和灵活的配置选项,使有经验的用户能够根据自己的需求进行个性化定制。无论您是初学者还是有经验的专业人士,CoLLiE都可以为您提供满足需求的解决方案。CoLLiE 基于 DeepSpeed 和 PyTorch,为大型语言模型提供协作式和高效的调优方法。
* [fanqiwan/FuseAI](https://github.com/fanqiwan/FuseAI) 大型语言模型的知识融合,专注于模型融合主题的开源研究社区。在 Foundation 和 Chat 上应用模型融合LLMs,未来计划融合 Agent/MoELLMs。FuseChat-7B-VaRM,它融合了三个LLMs具有不同架构和规模的著名聊天,即 NH2-Mixtral-8x7B、NH2-Solar-10.7B 和 OpenChat-3.5-7B。FuseChat-7B-VaRM 在 MT-Bench 上的平均性能为 8.22,优于 Starling-7B、Yi-34B-Chat 和 Tulu-2-DPO-70B 等各种强大的聊天,LLMs甚至超过了 GPT-3.5(March)、Claude-2.1,并接近 Mixtral-8x7B-Instruct。FuseChat采用融合后合并的策略,有两个主要阶段。首先,对源LLMs进行成对知识融合,通过轻量级微调推导出多个结构和大小相同的目标LLMs;然后,将这些目标LLMs合并到参数空间中,提出了一种基于参数矩阵微调前后变化比确定合并权重的新方法VaRM。
* [01-ai/Yi](https://github.com/01-ai/Yi) 01.AI 从头开始训练的下一代开源大型语言模型。作为双语语言模型,并在 3T 多语言语料库上进行训练,Yi 系列模型成为全球最强大的LLM模型之一,在语言理解、常识推理、阅读理解等方面显示出前景。Yi-34B-Chat 模型在 AlpacaEval 排行榜上排名第二(仅次于 GPT-4 Turbo),表现优于其他LLMs模型(如 GPT-4、Mixtral、Claude)(基于截至 2024 年 1 月的数据)。Yi-34B模型在各种基准测试中,包括Hugging Face Open LLM Leaderboard(预训练)和C-Eval(基于截至2023年11月的数据)中,在所有现有的开源模型(如Falcon-180B、Llama-70B、Claude)中排名第一。感谢 Transformer 和 Llama 开源社区,因为它们减少了从头开始构建所需的工作量,并能够在 AI 生态系统中使用相同的工具。
* [modelscope/swift](https://github.com/modelscope/swift) SWIFT 支持 300+ LLMs 和 50+ MLLM(多模态大型模型)的训练(PreTraining/Fine-tuning/RLHF)、推理、评估和部署。开发者可以直接将我们的框架应用到自己的研究和生产环境中,实现从模型训练和评估到应用的完整工作流程。除了支持PEFT提供的轻量级训练方案外,我们还提供完整的Adapters库,以支持NEFTune、LoRA+、LLaMA-PRO等最新的训练技术。此适配器库可以直接在您自己的自定义工作流程中使用,而无需我们的训练脚本。为了方便不熟悉深度学习的用户使用,我们提供了一个用于控制训练和推理的 Gradio 网页用户界面,并为初学者提供了附带的深度学习课程和最佳实践。SWIFT web-ui 在 Huggingface space 和 ModelScope studio 上都可用,请随时尝试!
* [TigerResearch/TigerBot](https://github.com/TigerResearch/TigerBot) 多语言多任务LLM,在 BLOOM 基础上的模型:TigerBot-7B, TigerBot-7B-base,TigerBot-180B。数据:预训练 100G,从 2TB 过滤后的数据中经过去噪去重清洗而得;监督微调 1G 或 100 万条数据,按比例涵盖用户指令常见的 10 大类 120 小类任务。[中文开源预训练集 - 55G,包含中文书籍、中文互联网、中文百科](https://huggingface.co/datasets/TigerResearch/pretrain_zh)、 [英文开源预训练集 - 51G,包含英文书籍、英文互联网、英文百科](https://huggingface.co/datasets/TigerResearch/pretrain_en) 、[中文-微调指令集-合集 - 53W 条](https://huggingface.co/datasets/TigerResearch/sft_zh)、[英文-微调指令集-合集 - 67W 条 - 下载](https://huggingface.co/datasets/TigerResearch/sft_en)
* [mlfoundations/dclm](https://github.com/mlfoundations/dclm) DataComp-LM (DCLM) 是一个综合框架,旨在构建和训练具有不同数据集的大型语言模型 (LLMs)。它提供了来自 CommonCrawl 的 300 多个未经过滤的令牌的标准化语料库、基于 open_lm 框架的有效预训练配方,以及一套包含 50 多个评估的广泛套件。此存储库提供了用于处理原始数据、标记化、洗牌、训练模型以及评估其性能的工具和指南。DCLM 使研究人员能够在不同的计算规模(从 411M 到 7B 参数模型)上试验各种数据集构建策略。我们的基线实验表明,通过优化数据集设计,模型性能有了显著提高。DCLM 已经能够创建多个高质量的数据集,这些数据集在各个尺度上都表现良好,并且优于所有开放数据集。
* [whylabs/langkit](https://github.com/whylabs/langkit) LangKit:用于监控大型语言模型 (LLMs)。从提示和响应中提取信号,确保安全与保障。功能包括文本质量、相关性指标和情感分析。一个用于 LLM 可观测性的综合工具。开箱即用的指标包括:文本质量(可读性分数、复杂性和等级分数);文本相关性(提示/响应之间的相似性分数、针对用户定义的主题的相似性分数);安全和隐私(patterns - 与用户定义的正则表达式模式组匹配的字符串计数、越狱 - 已知越狱尝试的相似性分数、提示注入 - 已知提示注入攻击的相似性分数、幻觉 - 反应之间的一致性检查、拒绝 - 与已知 LLM 拒绝服务响应的相似度得分);情绪和毒性(情感分析、毒性分析)
* [tmlr-group/DeepInception](https://github.com/tmlr-group/DeepInception) 催眠大型语言模型成为越狱者。披露了一种轻量级的方法,称为DeepInception,它可以很容易地催眠LLM成为越狱者并解锁其滥用风险。具体来说,《深度盗梦空间》利用拟LLM人化能力构建新颖的嵌套场景来表现,实现了正常场景下逃避使用控制的自适应方式,为进一步的直接越狱提供了可能性。根据经验,我们进行了全面的实验以证明其功效。我们的 DeepInception 可以达到与前代同行竞争的越狱成功率,并在后续交互中实现连续越狱,这揭示了 Falcon、Vicuna、Llama-2 和 GPT-3.5/4/4V 等开源/闭源LLMs自输的关键弱点。我们的调查呼吁人们应该更加关注安全方面,LLMs并加强对滥用风险的防御。
* [Josh-XT/AGiXT](https://github.com/Josh-XT/AGiXT) AGiXT 是一个动态的人工智能自动化平台,旨在协调众多提供商的高效 AI 指令管理和任务执行。我们的解决方案将自适应内存处理与广泛的命令相结合,以增强 AI 的理解和响应能力,从而提高任务完成度。该平台的智能功能,如智能指示和智能聊天,无缝集成了网络搜索、规划策略和对话连续性,改变了用户与人工智能之间的交互。通过利用包括网页浏览和命令执行在内的强大插件系统,AGiXT 成为 AI 模型和用户之间的多功能桥梁。随着 AI 提供商名单的不断扩大、代码评估能力、全面的链管理和平台互操作性,AGiXT 不断发展以驱动众多应用程序,确立了其在 AI 技术前沿的地位。
* [ianarawjo/ChainForge](https://github.com/ianarawjo/ChainForge) 用于战斗测试的开源可视化编程环境提示 LLMs。用于分析和评估LLM响应的数据流提示工程环境。它面向提示、聊天响应和响应质量的早期、快速和肮脏的探索,超越了与个人LLMs的临时聊天。使用 ChainForge,您可以:一次查询多个LLMs,以快速有效地测试提示的想法和变化。比较不同提示排列、不同模型和不同模型设置的响应质量,以选择适合您用例的最佳提示和模型。设置评估指标(评分功能),并立即可视化提示、提示参数、模型和模型设置的结果。跨模板参数和聊天模型同时进行多个对话。模板不仅提示,而且跟进聊天消息,并在聊天对话的每个回合检查和评估输出。
* [OpenBMB/UltraFeedback](https://github.com/OpenBMB/UltraFeedback) 大规模、细粒度、多样化的偏好数据集(和模型)。UltraFeedback 是一个大规模、细粒度、多样化的偏好数据集,用于训练强大的奖励模型和批评者模型。从各种资源(包括 UltraChat、ShareGPT、Evol-Instruct、TruthfulQA、FalseQA 和 FLAN,数据集统计信息见此处)收集了大约 64k 个提示。然后,使用这些提示来查询多个 LLM,并为每个提示生成 4 个不同的响应,从而产生总共 256k 个样本。为了收集高质量的偏好和文本反馈,设计了一个细粒度的注释指令,其中包含 4 个不同的方面,即指令遵循、真实性、诚实性和帮助性。然后,我们要求 GPT-4 根据指令对收集到的样本进行注释。
* [pytorch/torchtitan](https://github.com/pytorch/torchtitan) torchtitan 是使用原生 PyTorch 进行大规模 LLM。它现在(并将继续是)一个存储库,用于在干净、最小的代码库中展示 PyTorch 最新的分布式训练功能。TorchTitan 是对任何伟大的大规模 LLM、Megablocks、LLM Foundry、Deepspeed 等。相反,我们希望 torchtitan 中展示的功能能够迅速被这些代码库采用。Torchtitan 不太可能围绕它发展一个大型社区。我们在构建 torchtitan 时的指导原则:旨在易于理解、使用和扩展,以用于不同的培训目的。应用 1D、2D 或 (即将推出的) 3D Parallel 时,对模型代码的更改最小。模块化组件,而不是整体式代码库。几分钟即可开始,而不是几小时!
* [towhee-io/towhee](https://github.com/towhee-io/towhee) Towhee 是一个致力于使神经数据处理管道简单快速的框架。旨在通过使用基于大型语言模型 (LLM) 的管道编排来简化非结构化数据的处理。它具有独特的优势,可以从各种非结构化数据类型(包括冗长的文本、图像、音频和视频文件)中提取宝贵的见解。利用生成式 AI 和 SOTA 深度学习模型的功能,Towhee 能够将这些未处理的数据转换为特定格式,例如文本、图像或嵌入。然后,可以有效地将这些内容加载到适当的存储系统中,例如矢量数据库。开发人员最初可以使用用户友好的 Pythonic API 构建直观的数据处理管道原型,然后针对生产环境进行优化。
* [xiaogang00/white-paper-for-large-model-security-and-privacy](https://github.com/xiaogang00/white-paper-for-large-model-security-and-privacy) 大型模型安全和隐私白皮书,大型生成模型也存在数据/模型安全和隐私问题。我们应该注意到,大型生成模型会带来很多安全和隐私问题,因为它们在改变我们生活方面表现出巨大的力量,例如数据泄露和假新闻的传播。在本白皮书中,我们首先总结了大型生成模型的发展,包括其影响和社会影响。然后,我们总结了现有大型生成模型中当前存在的安全和隐私问题,例如数据和模型安全、版权问题和伦理问题。最后,我们针对当前的安全和隐私问题给出了相应的建议。它们可以用来指出未来的研究和发展方向,也可以作为政府决策的参考。
* [facebookresearch/llm-transparency-tool](https://github.com/facebookresearch/llm-transparency-tool) LLM 透明度工具 (LLM),一个开源的交互式工具包,用于分析基于 Transformer 的语言模型的内部工作原理。主要功能:选择您的模型,选择或添加您的提示,运行推理。浏览贡献图:选择要从中构建图形的令牌,调整贡献阈值。选择任何块之后的任何令牌的表示。对于表示形式,请参阅其对输出词汇表的投影,查看哪些标记被提升/禁止,但前一个块被提升/禁止。以下内容是可点击的:边缘,这显示了有关贡献注意力头部的更多信息。选择边时的头部,你可以看到这个头在促进/压制什么。FFN 块(图表上的小方块)。选择 FFN 块时的神经元。
* [HandsOnLLM/Hands-On-Large-Language-Models](https://github.com/HandsOnLLM/Hands-On-Large-Language-Models) O‘Reilly Book 的官方代码存储库 - “Hands-On Large Language Models” 通过本书的视觉教育性质和 250 多个定制图表,学习您今天使用大型语言模型所需的实用工具和概念!第 1 章:语言模型简介。第 2 章:标记和嵌入。第 3 章:深入了解 Transformer LLMs。第 4 章:文本分类。第 5 章:文本聚类和主题建模。第 6 章:提示工程。第 7 章:高级文本生成技术和工具。第 8 章:语义搜索和检索 - 增强生成。第 9 章:多模态大型语言模型。第 10 章:创建文本嵌入模型。第 11 章:微调分类的表示模型。第 12 章:微调生成模型。
* [katanaml/sparrow](https://github.com/katanaml/sparrow) 用于从各种文档和图像中高效提取和处理数据。它可以无缝处理表单、发票、收据和其他非结构化数据源。Sparrow 以其模块化架构脱颖而出,提供独立的服务和管道,所有这些都针对强大的性能进行了优化。Sparrow 的关键功能之一 - 可插拔架构。您可以使用 LlamaIndex、Haystack 或 Unstructured 等工具和框架轻松集成和运行数据提取管道。Sparrow 通过 Ollama 或 Apple MLX 启用本地LLM数据提取管道。使用 Sparrow 解决方案,您可以获得 API,这有助于处理数据并将其转换为结构化输出,随时可以与自定义工作流程集成。
* [openai/summarize_from_feedback](https://huggingface.co/datasets/openai/summarize_from_feedback) 在“从人类反馈中学习”( Learning to Summarize from Human Feedback paper)一文中,根据人类反馈训练了一个奖励模型(reward model)。然后使用奖励模型来训练总结模型,使其与人类的偏好保持一致。这是为奖励建模而发布的人类反馈数据集。此数据集分为两部分: comparisons 和 axis 。在这一 comparisons 部分中,人类注释者被要求从两个摘要中选择最好的。在这一 axis 部分中,人类注释者对摘要的质量进行了李克特量表的评分。 comparisons 该部件仅具有训练和验证拆分,并且 axis 该部件仅具有测试和验证拆分。
* [BradyFU/Woodpecker](https://github.com/BradyFU/Woodpecker) 引入了一种名为 Woodpecker 的免训练方法。就像啄木鸟治愈树木一样,它会从生成的文本中挑选并纠正幻觉。具体来说,啄木鸟包括五个阶段:关键概念提取、问题表述、视觉知识验证、视觉声明生成和幻觉纠正。啄木鸟以补救后的方式实施,可以轻松地为不同的MLLM提供服务,同时可以通过访问五个阶段的中间输出进行解释。我们从定量和定性两个方面对啄木鸟进行了评估,并展示了这种新范式的巨大潜力。在 POPE 基准测试中,我们的方法比基线 MiniGPT-4/mPLUG-Owl 的准确率提高了 30.66%/24.33%。
* [gpustack/gpustack](https://github.com/gpustack/gpustack) GPUStack 是一个开源的 GPU 集群管理器,用于运行大型语言模型。主要特点:支持多种硬件:在 Apple MacBook、Windows PC 和 Linux 服务器中使用不同品牌的 GPU 运行。与您的 GPU 库存一起扩展:轻松添加更多 GPU 或节点以扩大您的运营规模。轻量级 Python 包:最小的依赖项和运营开销。兼容 OpenAI 的 API:提供与 OpenAI 标准兼容的 API。用户和 API 密钥管理:简化了用户和 API 密钥的管理。GPU指标监控:实时监控 GPU 性能和利用率。词元使用和费率指标:跟踪令牌使用情况并有效管理速率限制。
* [multimodal-art-projection/MAP-NEO](https://github.com/multimodal-art-projection/MAP-NEO) MAP-NEO 是一个完全开源的大型语言模型,包括预训练数据、数据处理管道 (Matrix)、预训练脚本和对齐代码。它在 4.5T 中英文词元上从头开始训练,表现出与 LLaMA2 7B 相当的性能。MAP-Neo 模型在推理、数学和编码等具有挑战性的任务中提供类似专有模型的性能,优于同等规模的同类产品。出于研究目的,我们的目标是在LLM培训过程中实现完全透明。为此,我们全面发布了 MAP-Neo,包括最终和中间检查点、自训练标记器、预训练语料库,以及高效、稳定优化的预训练代码库。
* [microsoft/JARVIS](https://github.com/microsoft/JARVIS) 一个将LLM与ML社区联系起来的系统。该系统由LLM作为控制器和众多专家模型作为协作执行者(来自HuggingFace Hub)组成。我们系统的工作流程包括四个阶段:任务规划:使用ChatGPT分析用户的请求以了解他们的意图,并将其分解成可能解决的任务。模型选择:为了解决计划的任务,ChatGPT 根据他们的描述选择托管在拥抱脸上的专家模型。任务执行:调用并执行每个选定的模型,并将结果返回给 ChatGPT。响应生成:最后,使用 ChatGPT 集成所有模型的预测,并生成响应。
* [ridgerchu/matmulfreellm](https://github.com/ridgerchu/matmulfreellm) 实现无 MatMul LM。MatMul-Free LM 是一种语言模型架构,无需矩阵乘法 (MatMul) 运算。此存储库提供了与 🤗 Transformers 库兼容的 MatMul-Free LM 实现。我们评估了缩放定律如何拟合 Transformer++ 和我们的模型中的 370M、1.3B 和 2.7B 参数模型。为了公平比较,每个操作的处理方式相同,尽管我们的模型在某些层中使用了更有效的三元权重。有趣的是,与 Transformer++ 相比,我们模型的缩放投影表现出更陡峭的下降,这表明我们的架构在利用额外计算来提高性能方面更有效。
* [hijkzzz/Awesome-LLM-Strawberry](https://github.com/hijkzzz/Awesome-LLM-Strawberry) 这是OpenAI Strawberry(o1)和Reasoning的研究论文和博客的集合。OpenAI o1 系列模型是新的大型语言模型,经过强化学习训练,可执行复杂推理。o1 模型在回答之前会思考,并且可以在响应用户之前产生一个很长的内部思维链。o1 模型在科学推理方面表现出色,在竞争性编程问题 (Codeforces) 中排名第 89 个百分位,在美国数学奥林匹克竞赛 (AIME) 的资格赛中跻身美国前 500 名学生之列,并在物理、生物和化学问题的基准 (GPQA) 上超过人类博士水平的准确性。
* [THUDM/ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B) 开源的、支持中英双语的对话语言模型,基于 [General Language Model (GLM)](https://github.com/THUDM/GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。
* [CVI-SZU/Linly](https://github.com/CVI-SZU/Linly) 提供中文对话模型 Linly-ChatFlow 、中文基础模型 Chinese-LLaMA (1-2)、Chinese-Falcon 及其训练数据。中文基础模型以 LLaMA 和 Falcon 为底座,使用中文和中英平行语料进行增量预训练,将其在英文上的语言能力扩展到中文上。公开的多语言指令数据,对中文模型进行大规模指令跟随训练,实现了 Linly-ChatFlow。此外,本项目开源了从头训练的 Linly-OpenLLaMA 模型,包含 3B、7B、13B 规模,在 1TB 中英文语料上进行预训练,针对中文优化了字词结合tokenizer。
* [Qihoo360/360zhinao](https://github.com/Qihoo360/360zhinao) 360zhinao 是由奇虎 360 发布的一系列中文大模型,包括 360Zhinao-7B-Base、360Zhinao-7B-Chat-4K、360Zhinao-7B-Chat-32K、360Zhinao-7B-Chat-360K、360Zhinao-search 和 360Zhinao-1.8B-Reranking。该系列模型基于 3.4 万亿 tokens 的高质量语料库训练,在相关基准测试中表现出色,特别是 360Zhinao-7B-Chat-360K 模型,其 360K 的上下文长度在发布时是中文开源模型中最长的。该项目还提供了模型下载、评估、快速入门、模型推理和模型微调等功能,并发布了技术报告和 arXiv 论文。
* [AUGMXNT/deccp](https://github.com/AUGMXNT/deccp) 逃避和取消中国LLM的审查制度,当前代码是用于取消审查 Qwen 2 Instruct 模型的 PoC。95 个拒绝问题数据集[augmxnt/deccp](https://huggingface.co/datasets/augmxnt/deccp),实验得知:在相同的问题上,中文的拒绝率实际上比英语少得多(>80%)。总结一下:Qwen 2 Instruct 被广泛地 RL 以符合政府/政策要求;EN 与 CN 响应中的一些明显差异;可以消除大部分的拒绝,但这并不一定能改善中国的回应,所以如果这种调整困扰你,你不应该使用RL的中国模型。
* [sakanaai/evolutionary-model-merge](https://github.com/sakanaai/evolutionary-model-merge) 大模型合并配方的进化优化。该存储库是 SakanaAI 的 Evolutionary Model Merge 系列的中心枢纽,展示了其发布和资源。它包括用于再现我们论文中提出的评估的模型和代码。通过结合数据流空间和参数空间中的模型,自动生成新的强大模型。这种方法无需梯度训练,减少了计算资源需求。这种方法不仅适用于单一领域的模型合并,还可以跨领域合并,例如将日语LLM与数学专用LLM合并,生成一个既会日语又具备数学推理能力的大语言模型。
* [databricks/dbrx](https://github.com/databricks/dbrx) 由 Databricks 开发的大型语言模型的代码示例和资源。DBRX 是一个混合专家 (MoE) 模型,具有 132B 总参数和 36B 实时参数。我们使用 16 位专家,其中 4 位在训练或推理期间处于活跃状态。DBRX 针对 12T 文本标记进行了预训练。DBRX 的上下文长度为 32K 个令牌。该模型是使用我们的开源库 Composer、Foundry、LLMMegaBlocks 和 Streaming 的优化版本进行训练的。对于 instruct 模型,我们使用了 ChatML 格式。有关详细信息,请参阅 DBRX Instruct 模型卡。
* [varunshenoy/super-json-mode](https://github.com/varunshenoy/super-json-mode) 超级 JSON 模式是一个 Python 框架,LLM通过将目标模式分解为原子组件,然后并行执行生成,可以有效地创建结构化输出。它既支持通过 OpenAI 的传统完成 API 实现的最新技术LLMs,也支持开源,LLMs例如通过 Hugging Face Transformers 和 vLLM。更多LLMs内容将很快得到支持!与依赖提示和 HF Transformer 的朴素 JSON 生成管道相比,我们发现超级 JSON 模式的输出生成速度提高了 10 倍。与朴素一代相比,它也更具确定性,不太可能遇到解析问题。
* [QwenLM/Qwen1.5](https://github.com/QwenLM/Qwen1.5) Qwen1.5 是 Qwen 团队、阿里云开发的大型语言模型系列 Qwen 的改进版本。即 Qwen2 的 beta 版本。与 Qwen 类似,它仍然是一个仅解码器的变压器模型,具有 SwiGLU 激活、RoPE、多头注意力。目前,我们已经取得了以下成就:6种型号尺寸:0.5B、1.8B、4B、7B、14B、72B;聊天模型中的模型质量显著提高;加强了基础模型和聊天模型中的多语言功能;所有模型都支持令牌的 32768 上下文长度;所有型号都启用系统提示,这意味着可以进行角色扮演。
* [HITsz-TMG/awesome-llm-attributions](https://github.com/HITsz-TMG/awesome-llm-attributions) 归因是指模型(例如 LLM)生成和提供证据的能力,通常以参考文献或引用的形式,以证实其产生的主张或陈述。这些证据来自可识别的来源,确保可以从基础语料库中逻辑地推断出声明,使其易于理解和验证。归因的主要目的包括使用户能够验证模型提出的声明,促进生成与引用来源密切相关的文本,以提高准确性并减少错误信息或幻觉,以及建立一个结构化框架来评估与所提出的声明相关的支持证据的完整性和相关性。
* [steven2358/awesome-generative-ai](https://github.com/steven2358/awesome-generative-ai) 现代生成式人工智能项目和服务的精选列表。生成式人工智能是一种通过使用在大量数据上训练的机器学习算法来创建图像、声音和文本等原创内容的技术。与其他形式的人工智能不同,它能够创建独特且以前看不见的输出,例如逼真的图像、数字艺术、音乐和写作。这些作品通常有自己独特的风格,甚至很难与人工创作的作品区分开来。生成式人工智能在艺术、娱乐、营销、学术界和计算机科学等领域有着广泛的应用。
* [SqueezeAILab/LLM2LLM](https://github.com/SqueezeAILab/LLM2LLM) LLM2LLM 是一种新颖的迭代数据增强策略,旨在通过使用大型语言模型(LLM)自身的能力来提升其性能。该方法的核心思想是利用一个教师 LLM 来增强小型的种子数据集,通过生成合成数据并将其重新加入到训练数据中,从而逐步提高模型的性能。这种方法不仅减少了手动生成数据的需要,还显著降低了所需的真实数据量,使得在低数据机制中也能有效提升 LLM 的性能。包括以下几个步骤:在初始种子数据集中微调学生模型。
* [PCL-Platform.Intelligence/PanGu-Alpha](https://openi.pcl.ac.cn/PCL-Platform.Intelligence/PanGu-Alpha) 2000亿开源中文预训练语言模型「鹏城·盘古α」,以鹏城实验室为首的技术团队联合攻关,首次基于“鹏城云脑Ⅱ”和国产MindSpore框架的自动混合并行模式实现在2048卡算力集群上的大规模分布式训练,训练出业界首个2000亿参数以中文为核心的预训练生成语言模型。鹏城·盘古α预训练模型支持丰富的场景应用,在知识问答、知识检索、知识推理、阅读理解等文本生成领域表现突出,具备很强的小样本学习能力。
* [protectai/rebuff](https://github.com/protectai/rebuff) Rebuff 旨在通过多层防御保护 AI 应用程序免受即时注入 (PI) 攻击。Rebuff 提供 4 层防御:启发式:在潜在恶意输入到达 LLM。LLM 基于检测:使用专用的 LLM 来分析传入的提示并识别潜在的攻击。VectorDB:将以前攻击的嵌入存储在向量数据库中,以识别和防止将来发生类似的攻击。金丝雀令牌:将金丝雀令牌添加到提示中以检测泄漏,从而允许框架将有关传入提示的嵌入存储在向量数据库中并防止未来的攻击。
* [sail-sg/sailor-llm](https://github.com/sail-sg/sailor-llm) 东南亚的开放语言模型,Sailor 是一套为东南亚 (SEA) 量身定制的开放语言模型,专注于印度尼西亚语、泰语、越南语、马来语和老挝语等语言。通过精心策划数据开发的,旨在理解和生成东南亚地区不同语言环境中的文本。Sailor 基于 Qwen 1.5 构建,包含不同尺寸的模型,从 0.5B 到 14B 版本,可满足不同的要求。基准测试结果表明 Sailor 熟练掌握东南亚语言的问答、常识推理、阅读理解等任务。
* [stanford-crfm/levanter](https://github.com/stanford-crfm/levanter) 用于训练大型语言模型 (LLMs) 和其他基础模型的框架,旨在实现可读性、可伸缩性和可重复性。清晰易读:Levanter 使用我们命名的张量库 Haliax 编写易于理解、可组合的深度学习代码,同时仍然保持高性能。可扩展:Levanter 可扩展到大型模型,并能够在各种硬件上进行训练,包括 GPU 和 TPU。可重现:Levanter 是按位确定性的,这意味着相同的配置将始终产生相同的结果,即使面对抢占和恢复。
* [Langboat/Mengzi3](https://github.com/Langboat/Mengzi3) Mengzi3 8B/13B模型基于Llama架构,语料精选自网页、百科、社交、媒体、新闻,以及高质量的开源数据集。通过在万亿tokens上进行多语言语料的继续训练,模型的中文能力突出并且兼顾多语言能力。孟子3 8B/13B基于Llama架构,语料库选自网页、百科、社交网络、媒体、新闻、高质量开源数据集。通过继续在数万亿个词元上训练多语言语料库,该模型具有出色的中文能力,并考虑到了多语言能力。
* [ymcui/Chinese-LLaMA-Alpaca-3](https://github.com/ymcui/Chinese-LLaMA-Alpaca-3) 基于Meta最新发布的新一代开源大模型Llama-3开发,是Chinese-LLaMA-Alpaca开源大模型相关系列项目(一期、二期)的第三期。本项目开源了中文Llama-3基座模型和中文Llama-3-Instruct指令精调大模型。这些模型在原版Llama-3的基础上使用了大规模中文数据进行增量预训练,并且使用精选指令数据进行精调,进一步提升了中文基础语义和指令理解能力,相比二代相关模型获得了显著性能提升。
* [X-PLUG/ChatPLUG](https://github.com/X-PLUG/ChatPLUG) 旨在建立和共享一个中文开放域对话系统。在推理过程中集成外部知识是灵活的,这是一个可选的输入。您可以利用 获取最新信息或使用本地知识库获取 search engine 领域知识。通过设置 bot profiles 或使用 role-paly instructions 来自定义对话和字符的样式很容易。它通过多轮对话展示了其在开放领域对话方面的熟练程度,同时也在广泛的 NLP 任务上表现出色 multi-task abilities 。
* [dvmazur/mixtral-offloading](https://github.com/dvmazur/mixtral-offloading) 在 Colab 或消费者桌面上运行 Mixtral-8x7B 模型,通过多种技术的组合实现了对Mixtral-8x7B模型的高效推理:使用 HQQ 进行混合量化,我们为注意力层和专家应用单独的量化方案,以将模型拟合到组合的 GPU 和 CPU 内存中。MoE 卸载策略,每层的每个专家都单独卸载,仅在需要时将背包带到 GPU,我们将活跃的 EA 存储在 LRU 缓存中,以减少在计算相邻令牌的激活时 GPU-RAM 通信。
* [OpenBuddy/OpenBuddy](https://github.com/OpenBuddy/OpenBuddy) OpenBuddy 是一个针对全球用户的强大开放式多语言聊天机器人模型,强调对话式 AI 和对英语、中文和其他语言的无缝多语言支持。OpenBuddy 基于 Tii 的 Falcon 模型和 Facebook 的 LLaMA 模型构建,经过微调以包括扩展词汇表、额外的常用字符和增强的令牌嵌入。通过利用这些改进和多轮对话数据集,OpenBuddy 提供了一个强大的模型,能够回答各种语言的问题和执行翻译任务。
* [openai/webgpt_comparisons](https://huggingface.co/datasets/openai/webgpt_comparisons) 在 WebGPT 论文中,作者根据人类反馈训练了一个奖励模型。他们使用奖励模型来训练一个长篇问答模型,以符合人类的偏好。这是在 WebGPT 项目结束时被标记为适合奖励建模的所有比较的数据集。总共有 19,578 个比较。数据集中的每个示例都包含一个问题的一对模型答案以及关联的元数据。每个答案都有一个来自人类的偏好分数,可用于确定两个答案中哪一个更好。
* [poloclub/transformer-explainer](https://github.com/poloclub/transformer-explainer) Transformer Explainer 是一种交互式可视化工具,旨在帮助任何人了解基于 Transformer 的模型(如 GPT)的工作原理。它直接在浏览器中运行实时 GPT-2 模型,允许您试验自己的文本并实时观察 Transformer 的内部组件和操作如何协同工作以预测下一个令牌。在 http://poloclub.github.io/transformer-explainer 上试用 Transformer Explainer,并在 YouTube https://youtu.be/ECR4oAwocjs 上观看演示视频。
* [THUDM/LongCite](https://github.com/THUDM/LongCite) LongCite:使 LLMs 能够在长上下文 QA 中生成细粒度引文。开源了两个模型:LongCite-glm4-9b 和 LongCite-llama3.1-8b,它们分别基于 GLM-4-9B 和 Meta-Llama-3.1-8B 进行训练,并支持高达 128K 的上下文。这两个模型指向了我们论文中的“LongCite-9B”和“LongCite-8B”模型。给定基于长上下文的查询,这些模型可以生成准确的响应和精确的句子级引用,使用户可以轻松验证输出信息。
* [microsoft/guidance](https://github.com/microsoft/guidance) 指南使你能够比传统的提示或链接更有效、更高效地控制新式语言模型。指导程序允许您将生成、提示和逻辑控制交错到单个连续流中,以匹配语言模型实际处理文本的方式。简单的输出结构,如思维链及其许多变体(例如,ART,Auto-CoT等)已被证明可以提高LLM的性能。像 GPT-4 这样更强大的 LLM 的出现允许更丰富的结构,而 guidance 使该结构更容易、更便宜。
* [meta-llama/llama3](https://github.com/meta-llama/llama3) Meta Llama 3 官方 GitHub 站点。我们正在释放大型语言模型的力量。我们最新版本的 Llama 现在可供各种规模的个人、创作者、研究人员和企业使用,以便他们可以负责任地试验、创新和扩展他们的想法。此版本包括预训练和指令调整的 Llama 3 语言模型的模型权重和起始代码,包括 8B 到 70B 参数的大小。此存储库旨在作为加载 Llama 3 模型和运行推理的最小示例。
* [zilliztech/GPTCache](https://github.com/zilliztech/GPTCache) LLM 的语义缓存。 与 LangChain 和 llama_index 完全集成。将您的LLM API成本降低10倍,将速度提高100倍。采用了语义缓存等替代策略。语义缓存识别并存储相似或相关的查询,从而提高缓存命中概率并提高整体缓存效率。采用嵌入算法将查询转换为嵌入,并使用向量存储对这些嵌入进行相似性搜索。此过程允许 GPTCache 从缓存存储中识别和检索类似或相关的查询。
* [CrazyBoyM/llama2-Chinese-chat](https://github.com/CrazyBoyM/llama2-Chinese-chat) llama2 13b 中文多轮对话模型,且”首发版”已在LLM排行榜取得优秀成绩(至今仍在同类模型中处于较领先位置)。llama2 Chinese chat - 本项目是一个教程记录整理的repo,旨在提供给新手的参照价值和开箱即用的中文LLaMa2对话体验。包含训练过程记录,各种主要量化方式,部署后端api的推荐方案,以及在一个具体的前端网页上实现开箱即用的流畅对话体验。
* [baichuan-inc/Baichuan2](https://github.com/baichuan-inc/Baichuan2) 百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。本次发布包含有 7B、13B 的 Base 和 Chat 版本,并提供了 Chat 版本的 4bits 量化。所有版本对学术研究完全开放。同时,开发者通过邮件申请并获得官方商用许可后,即可免费商用。
* [karpathy/LLM101n](https://github.com/karpathy/LLM101n) 在本课程中,我们将构建一个 Storyteller AI 大型语言模型 (LLM)。携手合作,您将能够使用 AI 创建、完善和说明小故事。我们将从头开始构建从基础到类似于 ChatGPT 的功能 Web 应用程序的所有内容,从头开始使用 Python、C 和 CUDA,并且具有最少的计算机科学先决条件。到最后,你应该对人工智能LLMs和更普遍的深度学习有相对深入的了解。
* [google/gemma_pytorch](https://github.com/google/gemma_pytorch) Gemma 是一个轻量级、最先进的开放模型系列,由用于创建 Google Gemini 模型的研究和技术构建而成。它们是文本到文本、仅解码器的大型语言模型,提供英语版本,具有开放权重、预训练变体和指令调整变体。这是 Gemma 模型的官方 PyTorch 实现。我们使用 PyTorch 和 PyTorch/XLA 提供模型和推理实现,并支持在 CPU、GPU 和 TPU 上运行推理。
* [facebookresearch/lingua](https://github.com/facebookresearch/lingua) Meta Lingua 是一个最小且快速的LLM培训和推理库,专为研究而设计。 Meta Lingua 使用易于修改的 PyTorch 组件来尝试新的架构、损失、数据等。我们的目标是使该代码能够实现端到端的训练、推理和评估,并提供工具来更好地理解速度和稳定性。虽然 Meta Lingua 目前正在开发中,但我们为您提供了多个apps来展示如何使用此代码库。
* [lrhh123/ChatGPT-On-CS](https://github.com/lrhh123/ChatGPT-On-CS) 基于大模型的智能对话客服工具,支持微信、千牛、哔哩哔哩、抖音企业号、抖音、抖店、微博聊天、小红书专业号运营、小红书、知乎等平台接入,可选择 GPT3.5/GPT4.0/ 懒人百宝箱 (后续会支持更多平台),能处理文本、语音和图片,通过插件访问操作系统和互联网等外部资源,支持基于自有知识库定制企业 AI 应用。
* [TransformerLensOrg/TransformerLens](https://github.com/TransformerLensOrg/TransformerLens) GPT 风格语言模型的机械可解释性库。机理可解释性的目标是采用经过训练的模型,并对模型在训练期间从其权重中学习的算法进行逆向工程。TransformerLens 允许您加载 50+ 种不同的开源语言模型,并向您公开模型的内部激活。您可以在模型中缓存任何内部激活,并添加函数以在模型运行时编辑、删除或替换这些激活。
* [spcl/graph-of-thoughts](https://github.com/spcl/graph-of-thoughts) 思想图Graph of Thoughts (GoT):用大型语言模型解决复杂问题的官方实现。此框架使您能够通过将复杂问题建模为操作图 (GoO) 来解决复杂问题,该操作图以大型语言模型 (LLM) 作为引擎自动执行。该框架设计为灵活且可扩展,不仅允许您使用新的 GoT 方法解决问题,还可以实现类似于以前方法(如 CoT 或 ToT)的 GoO。
* [pjlab-sys4nlp/llama-moe](https://github.com/pjlab-sys4nlp/llama-moe) 通过持续的预培训建立来自 LLaMA 的专家组合。于 LLaMA 和 SlimPajama 的一系列开源专家混合 (MoE) 模型。我们通过以下两个步骤构建 LLaMA-MoE:将 LLaMA 的 FFN 划分为稀疏专家,并为每一层专家插入 top-K 门。使用来自 Sheared LLaMA 的优化数据采样权重和来自 SlimPajama 的过滤数据集,持续预训练初始化的 MoE 模型。
* [OpenBMB/CPM-Bee](https://github.com/OpenBMB/CPM-Bee) 一个完全开源、允许商用的百亿参数中英文基座模型,也是CPM-Live训练的第二个里程碑。它采用Transformer自回归架构(auto-regressive),在超万亿(trillion)高质量语料上进行预训练,拥有强大的基础能力。开发者和研究者可以在CPM-Bee基座模型的基础上在各类场景进行适配来以创建特定领域的应用模型。
* [wenge-research/YaYi](https://github.com/wenge-research/YaYi) 为客户打造安全可靠的专属大模型,基于大规模中英文多领域指令数据训练的 LlaMA 2 & BLOOM 系列模型,由中科闻歌算法团队研发。在百万级人工构造的高质量领域数据上进行指令微调得到,训练数据覆盖媒体宣传、舆情分析、公共安全、金融风控、城市治理等五大领域,上百种自然语言指令任务。
* [JosephusCheung/GuanacoDataset](https://huggingface.co/datasets/JosephusCheung/GuanacoDataset) Guanaco 模型的数据集旨在增强多语言能力并解决各种语言任务。以 Alpaca 模型的 175个任务为基础,提供了用不同语言重写的种子任务,并添加了专门为英语语法分析、自然语言理解、跨语言自我意识和显式内容识别设计的新任务。数据集总共包含53万个条目,以6k美元的低成本生成。英语中文日语。
* [CrazyBoyM/phi3-Chinese](https://github.com/CrazyBoyM/phi3-Chinese) phi3以小搏大(从微软放出的跑分数据看),用不到1/2的小体积(3.8b)超越llama3 8b版性能表现,增大了在手机上部署的可行性。该仓库致力于收录分散在开源社区的各种phi3的训练变体版本,让更多网友发现那些不为人知的特色有趣权重。同时也会顺便整理phi相关训练、推理、部署的简单教程。
* [imoneoi/openchat](https://github.com/imoneoi/openchat) 使用不完善的数据推进开源语言模型。OpenChat是一系列基于监督微调(SFT)的开源语言模型。我们利用 ~80k ShareGPT 对话与条件反射策略和加权损失,尽管我们的方法很简单,但仍实现了卓越的表现。我们的最终愿景是开发一个高性能、开源和商用的大型语言模型,并且我们正在不断取得进展。
* [princeton-nlp/LLM-Shearing](https://github.com/princeton-nlp/LLM-Shearing) 剪切 LLaMA:通过结构化修剪加速语言模型预训练,与从头开始预训练相比,修剪强大的基础模型是获得强大的小规模语言模型的一种极具成本效益的方法。下图显示,给定 Llama-2-7B 模型(使用 2T 令牌预训练)的存在,修剪它会产生一个与 OpenLLaMA 模型一样强大的模型,其预训练成本仅为 3%。
* [JosephusCheung/GuanacoDataset](https://huggingface.co/datasets/JosephusCheung/GuanacoDataset) Guanaco模型的数据集旨在增强多语言能力并解决各种语言任务。它以 Alpaca 模型中的 175 个任务为基础,提供不同语言的种子任务重写,并添加专门为英语语法分析、自然语言理解、跨语言自我意识和显式内容识别而设计的新任务。该数据集总共包含 534,530 个条目,以 6K 美元的低成本生成。
* [amazon-science/auto-cot](https://github.com/amazon-science/auto-cot) “大型语言模型中的自动思维链提示”的官方实现,用“让我们一步一步地思考”的提示让 AI 振作起来?请多多说。让我们不仅要一步一步地思考,还要一个一个地思考。Auto-CoT 使用更多的cheers和多样性来节省思维链提示设计中的巨大手动工作,匹配甚至超过 GPT-3 上的手动设计性能。
* [THUDM/GLM-130B](https://github.com/THUDM/GLM-130B) GLM-130B是一个开放的双语(英汉)双向密集模型,具有1300亿个参数,使用通用语言模型(GLM)算法进行预训练。它旨在支持单个 A100 (40G * 8) 或 V100 (32G * 8) 上具有 130B 参数的推理任务。通过 INT4 量化,硬件可以进一步降低到具有 4 * RTX3090 24G 的单个服务器,几乎没有性能下降。
* [refuel-ai/autolabel](https://github.com/refuel-ai/autolabel) Python 库,用于使用您选择的任何大型语言模型 (LLM) 标记、清理和丰富文本数据集。访问大型、干净和多样化的标记数据集是任何机器学习工作成功的关键组成部分。LLMs像 GPT-4 这样的先进技术能够以高精度自动标记数据,而且与手动标记相比,成本和时间只是其中的一小部分。
* [ymcui/Chinese-LLaMA-Alpaca](https://github.com/ymcui/Chinese-LLaMA-Alpaca) 中文LLaMA模型和经过指令精调的Alpaca大模型。这些模型在原版LLaMA的基础上扩充了中文词表并使用了中文数据进行二次预训练,进一步提升了中文基础语义理解能力。同时,在中文LLaMA的基础上,本项目使用了中文指令数据进行指令精调,显著提升了模型对指令的理解和执行能力。
* [goldfishh/chatgpt-tool-hub](https://github.com/goldfishh/chatgpt-tool-hub) 一个开源的 chatgpt 工具生态系统,您可以在其中将工具与 chatgpt 结合使用并使用自然语言做任何事情。这是一个能让ChatGPT使用多个神奇工具的执行引擎,你能用自然语言命令ChatGPT使用联网、搜索、数学运算、控制电脑、执行代码等工具,扩大ChatGPT使用范围提高你的生产力。
* [LC1332/Luotuo-Silk-Road](https://github.com/LC1332/Luotuo-Silk-Road) 中文大语言模型的数据。对话与指令数据集:Luotuo-Chinese-Alpaca 骆驼-中国-羊驼、Chinese-Dolly 中国多莉、Chinese-WizardLM 中国巫师LM、阅读理解数据 Chinese-CoQA 、Luotuo-QA-B、图文跨模态数据 Chinese-MMC4-130k 中文-MMC4-130k、Chinese-Coco-Captioning 中文-可可-字幕、Embedding蒸馏数据 CNewSum-Embedding
* [karpathy/nano-llama31](https://github.com/karpathy/nano-llama31) 这个 repo 之于 Llama 3.1,就像 nanoGPT 之于 GPT-2。也就是说,它是 Llama 3.1 架构的最小、无依赖的实现,它可以非常简单地训练、微调和推理。这与 Meta 的官方代码发布和 huggingface 实现相比,后者都具有更重的依赖性和更多的代码。代码目前主要针对 Llama 3.1 的 8B 基础模型。
* [FranxYao/Long-Context-Data-Engineering](https://github.com/FranxYao/Long-Context-Data-Engineering) 实现论文数据工程,将语言模型扩展到 128K 上下文。使用 `tensor_parallel` 从这个存储库实现的 `device_map` ,因为它比 huggingface 快得多,比 vLLM 轻量级。但它有一个小错误,如果你的 GPU 内存不够大,它会卡住而不是通过内存溢出异常。因此,请确保您有足够的 GPU 内存。
* [LLMBook-zh/LLMBook-zh.github.io](https://github.com/LLMBook-zh/LLMBook-zh.github.io) 《大语言模型》作者:赵鑫,李军毅,周昆,唐天一,文继荣。希望读者通过阅读本书,能够深入了解大模型技术的现状和未来趋势,为自己的研究和实践提供指导和启发。让我们携手努力,共同推动人工智能技术的发展,为建立更智能、更可持续的未来做出贡献。
* [Mozilla-Ocho/llamafile](https://github.com/Mozilla-Ocho/llamafile) 目标是使开发人员和最终用户更容易访问开源大型语言模型。我们通过将 llama.cpp 与 Cosmopolitan Libc 合并到一个框架中来做到这一点,该框架将所有复杂性LLMs折叠成一个单文件可执行文件(称为“llamafile”),该可执行文件可在大多数计算机上本地运行,无需安装。
* [jzhang38/TinyLlama](https://github.com/jzhang38/TinyLlama) 在 3 万亿个词元上预训练 1.1B Llama 模型。采用了与 Llama 2 完全相同的架构和分词器。这意味着 TinyLlama 可以在许多基于 Llama 构建的开源项目中插入和播放。此外,TinyLlama 结构紧凑,只有 1.1B 参数。这种紧凑性使其能够满足众多需要有限计算和内存占用的应用程序。
* [mbzuai-nlp/LaMini-LM](https://github.com/mbzuai-nlp/LaMini-LM) 来自大规模指令的多样化蒸馏模型群。从ChatGPT提炼出来的小型高效语言模型的集合,并在2.58M指令的大规模数据集上进行训练。我们通过执行句子/离线提炼从大型语言模型中提取知识。我们基于几个现有的提示资源,使用 gpt-3.5-turbo 生成总共 2.58M 对指令和响应。
* [daveebbelaar/langchain-experiments](https://github.com/daveebbelaar/langchain-experiments) 侧重于试验 LangChain 库,以构建具有大型语言模型的强大应用程序 (LLMs)。通过利用 GPT-3.5 Turbo 、GPT-4等最先进的语言模型,该项目展示了如何从 YouTube 视频成绩单创建可搜索的数据库,使用 FAISS 库执行相似性搜索查询,并用相关和准确的信息回答用户问题。
* [deepseek-ai/DeepSeek-MoE](https://github.com/deepseek-ai/DeepSeek-MoE) DeepSeekMoE 16B 是一种具有 16.4B 参数的专家混合 (MoE) 语言模型。它采用了创新的 MoE 架构,该架构涉及两个主要策略:细粒度专家细分和共享专家隔离。它在 2T 英文和中文词元上从头开始训练,表现出与 DeekSeek 7B 和 LLaMA2 7B 相当的性能,只有大约 40% 的计算。
* [decodingml/llm-twin-course](https://github.com/decodingml/llm-twin-course) 免费学习如何使用 LLMOps 最佳实践构建端到端生产就绪的 LLM 和 RAG 系统:~ 源代码 + 12 节实践课。您将学习如何从头到尾构建和构建真实世界的LLM系统 - 从数据收集到部署。您还将学习利用 MLOps 最佳实践,例如实验跟踪器、模型注册表、提示监视和版本控制。
* [baichuan-inc/baichuan-7B](https://github.com/baichuan-inc/baichuan-7B) 百川开发的大规模7B预训练语言模型。一个开源可商用的大规模预训练语言模型。基于 Transformer 结构,在大约 1.2 万亿词元上训练的 70 亿参数模型,支持中英双语,上下文窗口长度为 4096。在标准的中文和英文 benchmark(C-Eval/MMLU)上均取得同尺寸最好的效果。
* [LianjiaTech/BELLE](https://github.com/LianjiaTech/BELLE) 开源中文对话大模型,现阶段基于开源预训练大语言模型(如BLOOM),针对中文做了优化,模型调优仅使用由ChatGPT生产的数据(不包含任何其他数据)。开放了数据集:Stanford Alpaca 生成的中文数据集1M + 0.5M;0.25M数学指令数据集和0.8M多轮任务对话数据集。
* [Mooler0410/LLMsPracticalGuide](https://github.com/Mooler0410/LLMsPracticalGuide) LLM实用指南资源的精选列表。它基于我们的调查论文:在实践中利用LLM的力量:关于ChatGPT及其他的调查。该调查部分基于本博客的后半部分。我们还构建了现代大型语言模型(LLM)的进化树,以追踪近年来语言模型的发展,并重点介绍一些最著名的模型。
* [lm-sys/arena-hard-auto](https://github.com/lm-sys/arena-hard-auto) Arena-Hard-Auto-v0.1 是一个用于指令调整的 LLMs。它包含 500 个具有挑战性的用户查询。我们提示 GPT-4-Turbo 作为裁判将模型的反应与基线模型(默认:GPT-4-0314)进行比较。如果您想了解您的模型在 Chatbot Arena 上的表现如何,我们建议您尝试 Arena-Hard-Auto。
* [EleutherAI/gpt-neox](https://github.com/EleutherAI/gpt-neox) 在GPU上训练大规模语言模型。基于 NVIDIA 的威震天语言模型,并已通过 DeepSpeed 的技术以及一些新颖的优化进行了增强。目标是使这个存储库成为一个集中且可访问的地方,以收集用于训练大规模自回归语言模型的技术,并加速对大规模训练的研究。
* [ibeatai/beat-ai](https://github.com/ibeatai/beat-ai) <Beat AI> 又名 <零生万物> , 是一本专属于软件开发工程师的 AI 入门圣经,手把手带你上手写 AI。从神经网络到大模型,从高层设计到微观原理,从工程实现到算法,学完后,你会发现 AI 也并不是想象中那么高不可攀、无法战胜,Just beat it !
* [mlabonne/llm-course](https://github.com/mlabonne/llm-course) 使用路线图和 Colab 笔记本来学习大型语言模型 (LLMs) 的课程。该LLM课程分为三个部分:LLM 基础知识涵盖有关数学、Python 和神经网络的基本知识。科学家LLM专注于LLMs使用最新技术构建最佳产品。LLM 工程师专注于创建LLM基于应用程序并部署它们。
* [PCL-Platform.Intelligence/PanGu-Dialog](https://openi.pcl.ac.cn/PCL-Platform.Intelligence/PanGu-Dialog) 鹏城.盘古对话生成大模型,简称PanGu-Dialog。PanGu-Dialog是以大数据和大模型为显著特征的大规模开放域对话生成模型,充分利用了大规模预训练语言模型的知识和语言能力,基于预训练+持续微调的学习策略融合大规模普通文本和对话数据训练而成。
* [xcanwin/KeepChatGPT](https://github.com/xcanwin/KeepChatGPT) ChatGPT的畅聊与增强插件。开源免费。不仅能解决所有报错不再刷新,还有保持活跃、取消审计、克隆对话、净化首页、展示大屏、展示全屏、言无不尽、拦截跟踪、日新月异等多个高级功能。让我们的AI体验无比顺畅、丝滑、高效、简洁。
* [adamcohenhillel/ADeus](https://github.com/adamcohenhillel/ADeus) 一种开源 AI 可穿戴设备,可捕获您在现实世界中所说和听到的内容,然后将其转录并存储在您自己的服务器上。然后,您可以使用该应用程序与 Adeus 聊天,它将包含有关您想要谈论的内容的所有正确上下文 - 一个真正个性化的个人 AI。
* [microsoft/lida](https://github.com/microsoft/lida) LIDA是一个用于生成数据可视化和数据忠实信息图表的库。LIDA 与语法无关(适用于任何编程语言和可视化库,例如 matplotlib、seaborn、altair、d3 等),并与多个大型语言模型提供商(OpenAI、Azure OpenAI、PaLM、Cohere、Huggingface)配合使用。
* [ShishirPatil/gorilla](https://github.com/ShishirPatil/gorilla) LLM的API商店 。使 LLM 能够通过调用 API 来使用工具。给定一个自然语言查询,Gorilla 会提出语义和语法上正确的 API 来调用。通过Gorilla,我们是第一个演示如何使用LLM准确调用1,600+(并且不断增长的)API调用,同时减少幻觉的人。
* [Stability-AI/StableLM](https://github.com/Stability-AI/StableLM) 稳定性AI语言模型。使用 Stanford Alpaca 的程序对模型进行了微调,结合了五个最近的对话代理数据集:Stanford 的 Alpaca 、Nomic-AI 的 gpt4all 、RyokoAI 的 ShareGPT52K 数据集、Databricks的 Dolly 和 HH 。以 StableLM-Tuned-Alpha 的形式发布这些模型。
* [Hannibal046/Awesome-LLM](https://github.com/Hannibal046/Awesome-LLM) 大型语言模型(LLM)已经席卷了NLP社区AI社区的整个世界。以下是关于大型语言模型的精选论文列表,尤其是与 ChatGPT 相关的论文。它还包含LLM培训框架,部署LLM的工具,有关LLM的课程和教程以及所有公开可用的LLM检查点和API。
* [ysymyth/ReAct](https://github.com/ysymyth/ReAct) ICLR 2023年 ReAct:在语言模型中协同推理和行动。采用多轮次的“想法(thought)+动作(act)+结果(obs)”方式,让LLM把内心独白(想法)说出来,然后再根据独白做相应的动作,获得结果,来提高最终的LLM答案准确性。
* [LightChen233/Awesome-Multilingual-LLM](https://github.com/LightChen233/Awesome-Multilingual-LLM) Awesome-多语言LLM。实际上,世界上有 7000 多种语言。随着全球化进程的加快,大型语言模型的成功应该考虑服务于不同的国家和语言。为此,多语言大型语言模型(MLLM)在处理多种语言时具有优势,越来越受到关注。
* [mistralai/mistral-src](https://github.com/mistralai/mistral-src) Mistral AI 7B v0.1 模型的参考实现。一个功能强大且快速的模型,适用于许多用例。虽然速度快 6 倍,但它在所有基准测试中都与 Llama 2 70B 相当或更胜一筹,会说多种语言,具有自然的编码能力。它处理 32k 序列长度。
* [LC1332/Luotuo-Chinese-LLM](https://github.com/LC1332/Luotuo-Chinese-LLM) 中文大语言模型开源项目,包含了一系列语言模型。Luotuo-Vanilla是骆驼项目的第一个github仓库, 它是在LLaMA-7B上进行微调的。骆驼项目的初始目标,是研究使用跨语言数据在进行微调时,大语言模型发生的相关现象。
* [Calcium-Ion/new-api](https://github.com/Calcium-Ion/new-api) AI模型接口管理与分发系统,支持将多种大模型转为OpenAI格式调用、支持Midjourney Proxy、Suno、Rerank,兼容易支付协议,仅供个人或者企业内部管理与分发渠道使用,请勿用于商业用途,本项目基于One API二次开发。
* [PhoebusSi/Alpaca-CoT](https://github.com/PhoebusSi/Alpaca-CoT) 将CoT数据扩展到Alpaca以提高其推理能力,同时我们将不断收集更多的instruction-tuning数据集,并在我们框架下集成进更多的LLM,打造一个通用的LLM-IFT平台。[Alpaca-CoT · Datasets](https://huggingface.co/datasets/QingyiSi/Alpaca-CoT)
* [km1994/LLMsNineStoryDemonTower](https://github.com/km1994/LLMsNineStoryDemonTower) 分享 LLMs在自然语言处理(ChatGLM、Chinese-LLaMA-Alpaca、小羊驼 Vicuna、LLaMA、GPT4ALL等)、信息检索(langchain)、语言合成、语言识别、多模态等领域(Stable Diffusion、MiniGPT-4、VisualGLM-6B、Ziya-Visual等)等 实战与经验。
* [Yue-Yang/ChatGPT-Siri](https://github.com/Yue-Yang/ChatGPT-Siri) Siri的快捷方式使用ChatGPT API gpt-3.5-turbo和gpt-4模型,支持连续对话,配置API密钥并保存聊天记录。由 ChatGPT API gpt-3.5-turbo & gpt-4 模型驱动的智能 Siri,支持连续对话,配置API key,配置系统prompt,保存聊天记录。
* [mosaicml/llm-foundry](https://github.com/mosaicml/llm-foundry) 用于 MosaicML 基础模型的 LLM 训练代码,包含用于训练、微调、评估和部署 LLM 的代码,以便使用 Composer 和 MosaicML 平台进行推理。该代码库设计为易于使用、高效和灵活,旨在支持使用最新技术进行快速实验。
* [stas00/ml-engineering](https://github.com/stas00/ml-engineering) 一个开放的方法集合,可帮助成功训练大型语言模型和多模态模型。这是一本适合LLM/VLM培训工程师和操作员的技术材料。也就是说,这里的内容包含大量脚本和复制粘贴命令,使您能够快速满足您的需求。
* [orhanerday/open-ai](https://github.com/orhanerday/open-ai) OpenAI PHP SDK :下载次数最多、分叉次数最多、贡献次数最多、社区支持和使用的 OpenAI GPT-3 和 DALL-E 的 PHP(Laravel 、Symfony、Yii、Cake PHP 或任何 PHP 框架)SDK。它还支持类似 chatGPT 的流媒体。(支持 ChatGPT AI)
* [danswer-ai/danswer](https://github.com/danswer-ai/danswer) 用自然语言提问,并获得私人资源支持的答案。连接到 Slack、GitHub、Confluence 等工具。允许您使用自然语言提出问题,并根据团队特定文档获得答案。想想 ChatGPT,如果它可以访问您团队的独特知识。
* [Arize-ai/phoenix](https://github.com/Arize-ai/phoenix) 以闪电般的速度提供 MLOps 和 LLMOps 见解,具有零配置可观测性。Phoenix 通过提供以下功能,为监视模型和LLM应用程序提供笔记本优先体验:LLM跟踪。LLM Evals。嵌入分析。RAG 分析。结构化数据分析 。
* [BASI-LABS/parseltongue](https://github.com/BASI-LABS/parseltongue) 能强大的提示黑客工具/浏览器扩展,用于实时标记化可视化和无缝文本转换,支持二进制、base64、leetspeak、特殊字符和多种语言等格式。非常适合红队成员、开发人员、语言学家和潜在的探索者。
* [bricks-cloud/BricksLLM](https://github.com/bricks-cloud/BricksLLM) Go 编写的云原生 AI 企业级 API 网关,可帮助您监控每个 API 密钥并施加成本或速率限制。为每个用户、应用程序或环境提供精细的访问控制和监控。支持 OpenAI、Azure OpenAI、Anthropic、vLLM 和开源LLMs。
* [LLM-Red-Team/kimi-free-api](https://github.com/LLM-Red-Team/kimi-free-api) KIMI AI 长文本大模型逆向API白嫖测试【特长:长文本解读整理】,支持高速流式输出、智能体对话、联网搜索、长文档解读、图像OCR、多轮对话,零配置部署,多路token支持,自动清理会话痕迹。
* [jxnl/instructor](https://github.com/jxnl/instructor) 处理大型语言模型的结构化输出变得轻而易举 (LLMs)。它建立在 Pydantic 之上,提供了一个简单、透明且用户友好的 API 来管理验证、重试和流式响应。准备好为您的LLM工作流程增添动力
* [GoogleCloudPlatform/generative-ai](https://github.com/GoogleCloudPlatform/generative-ai) 包含笔记本、代码示例、示例应用和其他资源,用于演示如何使用 Google Cloud 上的生成式 AI 使用、开发和管理生成式 AI 工作流程,这些工作流由 Vertex AI 和生成式 AI App Builder 提供支持。
* [clue-ai/ChatYuan](https://github.com/clue-ai/ChatYuan) 用于问答、结合上下文做对话、做各种生成任务,包括创意性写作,也能回答一些像法律、新冠等领域问题。它基于PromptCLUE-large结合数亿条功能对话多轮对话数据进一步训练得到。
* [bleedline/Awesome-gptlike-shellsite](https://github.com/bleedline/Awesome-gptlike-shellsite) 深入探索精选的gpt套壳站和必备API资源。本文为初学者和经验丰富的运营者提供一站式指南,涵盖常见问题解答和基础攻略,助您迈向套壳站副业成功之路。便宜且高并发的api。
* [kwai/KwaiYii](https://github.com/kwai/KwaiYii) 由快手AI团队从零到一独立自主研发的一系列大规模语言模型(Large Language Model),当前包含了多种参数规模的模型,并覆盖了预训练模型(KwaiYii-Base)、对话模型(KwaiYii-Chat)。
* [databrickslabs/dolly](https://github.com/databrickslabs/dolly) dolly-v2-12b是由Databricks创建的120亿参数因果语言模型,该模型源自EleutherAI的Pythia-12b,并在Databricks员工生成的~15K记录指令语料库上进行微调,并在宽松许可证(CC-BY-SA)下发布
* [cheshire-cat-ai/core](https://github.com/cheshire-cat-ai/core) Cheshire Cat 是一个框架,用于在任何语言模型上构建自定义 AI。如果您曾经使用 WordPress 或 Django 等系统构建 Web 应用程序,请将 Cat 想象成一个类似的工具,但专门用于 AI。
* [traceloop/openllmetry](https://github.com/traceloop/openllmetry) OpenLLMetry 是一个开源项目,可让您轻松开始监控和调试 LLM。跟踪以非侵入性方式完成,构建在 OpenTelemetry 之上。您可以选择将跟踪导出到 Traceloop 或现有的可观测性堆栈。
* [nlpxucan/WizardLM](https://github.com/nlpxucan/WizardLM) 由Evol-Instruct提供支持的遵循指令的LLM系列:WizardLM,WizardCoder和WizardMath。基于GPT-4的自动评估框架来评估聊天机器人模型的性能。WizardLM-30B取得了比Guanaco-65B更好的结果。
* [shibing624/textgen](https://github.com/shibing624/textgen) 文本生成模型的实现,包括LLaMA,BLOOM,GPT2,BART,T5,SongNet等。文本生成模型,实现了包括LLaMA,ChatGLM,BLOOM,GPT2,Seq2Seq,BART,T5,UDA等模型的训练和预测,开箱即用。
* [facebookresearch/llama](https://github.com/facebookresearch/llama) facebook LLaMA 模型的推理代码。最新版本的 Llama 现在可供各种规模的个人、创作者、研究人员和企业访问,以便他们可以负责任地进行实验、创新和扩展他们的想法。
* [protectai/llm-guard](https://github.com/protectai/llm-guard) LLM AI 的 LLM Guard 是一款综合工具,旨在加强大型语言模型 (LLMs)。通过提供清理、有害语言检测、防止数据泄露和抵御即时注入攻击,LLM 确保您与 LLMs保持安全。
* [eli64s/readme-ai](https://github.com/eli64s/readme-ai) 一种开发人员工具,它使用数据提取和生成式 AI 的组合自动生成 README.md 文件。只需提供代码库的存储库 URL 或本地路径,即可生成结构良好且详细的 README 文件。
* [logspace-ai/langflow](https://github.com/logspace-ai/langflow) LangChain(大语言模型链式开发工具,强大的框架,可以简化构建高级语言模型应用程序的过程。) 的 UI,采用反应流设计,提供一种轻松的方式来实验和原型流。
* [kyrolabs/awesome-langchain](https://github.com/kyrolabs/awesome-langchain) 使用LangChain的工具和项目的精选列表。LangChain是一个了不起的框架,可以在短时间内完成LLM项目,并且生态系统正在快速发展。这里试图跟踪围绕LangChain的举措。
* [yihong0618/bilingual_book_maker](https://github.com/yihong0618/bilingual_book_maker) AI 翻译工具,它使用 ChatGPT 帮助用户创建多语言版本的 epub/txt/srt 文件和书籍。此工具专为翻译已进入公有领域的 epub 图书而设计,不适用于受版权保护的作品。
* [togethercomputer/RedPajama-Data](https://github.com/togethercomputer/RedPajama-Data) 包含用于准备大型数据集以训练大型语言模型的代码。重现LLaMA训练数据集的开源配方。Commoncrawl、C4、GitHub、Books、ArXiv、Wikipedia、StackExchange。合计1.2万亿令牌
* [EmbraceAGI/LifeReloaded](https://github.com/EmbraceAGI/LifeReloaded) 由GPT-4的“高级数据分析”功能提供支持的生活模拟游戏,为您提供第二次生活机会。由GPT4的Advanced Data Analysis功能驱动的人生重来模拟器,给您人生第二春。
* [seanzhang-zhichen/llama3-chinese](https://github.com/seanzhang-zhichen/llama3-chinese) Llama3-Chinese是以Meta-Llama-3-8B为底座,使用 DORA + LORA+ 的训练方法,在50w高质量中文多轮SFT数据 + 10w英文多轮SFT数据 + 2000单轮自我认知数据训练而来的大模型。
* [lonePatient/awesome-pretrained-chinese-nlp-models](https://github.com/lonePatient/awesome-pretrained-chinese-nlp-models) 高质量中文预训练模型集合。包括:基础大模型、对话大模型、多模态对话大模型、大模型评估基准、开源模型库平台、开源数据集库、中文指令数据集。
* [FreedomIntelligence/LLMZoo](https://github.com/FreedomIntelligence/LLMZoo) 一个为大型语言模型提供数据,模型和评估基准的项目。发布基于BLOOMZ的凤凰Phoenix7B模型、Chimera奇美拉模型。Phoenix-inst-chat-7b 达到85.2% 的ChatGPT效果。
* [mlc-ai/web-llm](https://github.com/mlc-ai/web-llm) 将大语言模型和聊天引入 Web 浏览器。一切都在浏览器中运行,没有服务器支持。WebLLM是MLC LLM的姊妹项目。它重用了模型工件并构建了MLC LLM的流程。
* [tensorchord/Awesome-LLMOps](https://github.com/tensorchord/Awesome-LLMOps) 为开发人员提供的最佳 LLMOps 工具列表,包括各种大型语言模型、大型模型服务、LLMOps 平台、向量检索、训练微调、ML 平台、工作流、管理分析等。
* [Voine/ChatWaifu_Mobile](https://github.com/Voine/ChatWaifu_Mobile) 移动版二次元 AI 老婆聊天器 语言大模型来自 GhatGPT语音推理为客户端本地 VITS - ncnn图形渲染基于 Native Live2D语音输入识别为客户端本地 Sherpa - ncnn
* [project-baize/baize-chatbot](https://github.com/project-baize/baize-chatbot) 使用 LoRA 训练的开源聊天模型.它使用通过让 ChatGPT 与自己聊天生成的 100k 对话。还使用羊驼的数据来提高其性能。已发布了 7B、13B 和 30B 模型。
* [amazon-science/mm-cot](https://github.com/amazon-science/mm-cot) 语言模型中的多模式思维链推理。包括两个训练阶段:(i) 基本原理生成和 (ii) 答案推理。这两个阶段共享相同的模型架构,但输入和输出不同。
* [HqWu-HITCS/Awesome-Chinese-LLM](https://github.com/HqWu-HITCS/Awesome-Chinese-LLM) 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。
* [pashpashpash/vault-ai](https://github.com/pashpashpash/vault-ai) 使用 OP Stack(OpenAI + Pinecone Vector Database)为 ChatGPT 提供长期记忆。使用简单的 React 前端上传您自己的自定义知识库文件(PDF、txt、epub 等)。
* [young-geng/EasyLM](https://github.com/young-geng/EasyLM) 在 JAX/Flax LLMs 中进行预训练、微调、评估和服务的一站式解决方案,EasyLM 可以利用 JAX 的 pjit 功能将训练扩展到LLM数百个 TPU/GPU 加速器。
* [chatpire/chatgpt-web-share](https://github.com/chatpire/chatgpt-web-share) ChatGPT Plus 共享方案。适用于个人、组织或团队的 ChatGPT 共享方案。共享一个 ChatGPT Plus 账号给多人使用,提供完善的管理和限制功能。
* [datawhalechina/hugging-llm](https://github.com/datawhalechina/hugging-llm) 拥抱LLM,拥抱未来。介绍 ChatGPT 原理、使用和应用,降低使用门槛,让更多感兴趣的非NLP或算法专业人士能够无障碍使用LLM创造价值。
* [PawanOsman/ChatGPT](https://github.com/PawanOsman/ChatGPT) 欢迎使用 ChatGPT API 免费反向代理,它以 OpenAI 熟悉的结构提供对 ChatGPT ( gpt-3.5-turbo ) 的免费自托管 API 访问,因此无需更改代码。
* [LAION-AI/Open-Assistant](https://github.com/LAION-AI/Open-Assistant) 基于聊天的助理,它理解任务,可以与第三方系统互动,并能动态地检索信息。将提供基于RLHF的大型语言模型,并公开训练数据。
* [Vision-CAIR/MiniGPT-4](https://github.com/Vision-CAIR/MiniGPT-4) MiniGPT-4:使用高级大型语言模型增强视觉语言理解 提供与 Vicuna-7B 对齐的预训练 MiniGPT-4!演示 GPU 内存消耗现在可以低至 12GB。
* [gventuri/pandas-ai](https://github.com/gventuri/pandas-ai) Python库,它将生成人工智能功能集成到Pandas中,使数据帧成为对话式的。为流行的数据分析和操作工具pandas添加了生成AI功能。
* [ConnectAI-E/Feishu-OpenAI](https://github.com/ConnectAI-E/Feishu-OpenAI) 飞书 ×(GPT-3.5 + DALL·E + Whisper)= 飞一般的工作体验 rocket 语音对话、角色扮演、多话题讨论、图片创作、表格分析、文档导出
* [JimmyLv/BibiGPT-v1](https://github.com/JimmyLv/BibiGPT-v1) 音视频内容 AI 一键总结 & 对话:哔哩哔哩丨YouTube丨推特丨小红书丨抖音丨快手丨百度网盘丨阿里云盘丨网页丨本地文件等
* [Grt1228/chatgpt-java](https://github.com/Grt1228/chatgpt-java) ChatGPT Java SDK支持流式输出、Gpt插件、联网。支持OpenAI官方所有接口。ChatGPT的Java客户端。OpenAI GPT-3.5-Turb GPT-4 Api Client for Java
* [YeungNLP/firefly-train-1.1M](https://huggingface.co/datasets/YeungNLP/firefly-train-1.1M) 收集了23个常见的中文数据集,对于每个任务,由人工书写若干种指令模板,保证数据的高质量与丰富度,数据量为115万 。
* [OpenMotionLab/MotionGPT](https://github.com/OpenMotionLab/MotionGPT) 一个统一且用户友好的运动语言模型,用于学习两种模态的语义耦合,并在多个运动任务上生成高质量的运动和文本描述。
* [Lightning-AI/lit-llama](https://github.com/Lightning-AI/lit-llama) 基于nanoGPT的LLaMA语言模型的实现。支持flash注意力, Int8 和 GPTQ 4 位量化, LoRA 和 LLaMA 适配器微调, 预训练.Apache 2.0 许可。
* [ConnectAI-E/Feishu-OpenAI](https://github.com/ConnectAI-E/Feishu-OpenAI) 飞书 ×(GPT-4 + DALL·E + Whisper)= 飞一般的工作体验,语音对话、角色扮演、多话题讨论、图片创作、表格分析、文档导出
* [naklecha/llama3-from-scratch](https://github.com/naklecha/llama3-from-scratch) llama3 从头开始实现,此外,我将直接从 Meta 为 llama3 提供的模型文件加载张量。详细解释 llama3 大模型每一个运算步骤。
* [BerriAI/litellm](https://github.com/BerriAI/litellm) 使用 OpenAI 格式调用所有 LLM API。使用 Bedrock、Azure、OpenAI、Cohere、Anthropic、Ollama、Sagemaker、HuggingFace、Replicate (100+ LLM)
* [Giskard-AI/giskard](https://github.com/Giskard-AI/giskard) 自动检测 AI 模型中的漏洞,从表格模型到 LLM,包括性能偏差、数据泄露、虚假相关性、幻觉、毒性、安全问题等等。
* [SkyworkAI/Skywork](https://github.com/SkyworkAI/Skywork) 天工系列模型在3.2TB高质量多语言和代码数据上进行预训练。我们开源了模型参数,训练数据,评估数据,评估方法。
* [SillyTavern/SillyTavern](https://github.com/SillyTavern/SillyTavern) 面向高级用户的 LLM 前端。本地安装界面,可让您与文本生成 AI (LLM) 交互,以与自定义角色进行聊天和角色扮演。
* [dataelement/bisheng](https://github.com/dataelement/bisheng) 领先的开源大模型应用开发平台,赋能和加速大模型应用开发落地,帮助用户以最佳体验进入下一代应用开发模式。
* [langchain-ai/langserve](https://github.com/langchain-ai/langserve) 帮助开发人员将 LangChain 可运行的可运行程序和链部署为 REST API。该库与 FastAPI 集成,并使用 pydantic 进行数据验证。
* [labring/FastGPT](https://github.com/labring/FastGPT) 基于 LLM 构建的基于知识的 QA 系统,提供开箱即用的数据处理和模型调用功能,允许通过 Flow 可视化进行工作流编排
* [betalgo/openai](https://github.com/betalgo/openai) 用于访问 OpenAI 的 API 的 .NET SDK,作为社区库提供。此 SDK 允许您轻松地将 OpenAI 的功能集成到您的 .NET 应用程序中。
* [YiVal/YiVal](https://github.com/YiVal/YiVal) 一个开源的 GenAI-Ops 工具,用于使用可自定义的数据集、评估方法和改进策略来调整和评估提示、配置和模型参数。
* [CrazyBoyM/llama3-Chinese-chat](https://github.com/CrazyBoyM/llama3-Chinese-chat) Llama3 中文仓库(聚合资料:各种网友及厂商微调、魔改版本有趣权重 & 训练、推理、部署教程视频 & 文档)
* [StanGirard/quivr](https://github.com/StanGirard/quivr) 将所有文件和想法转储到您的生成式AI(如chatgpt)的第二大脑中并与之聊天。旨在轻松存储和检索非结构化信息。
* [sigoden/aichat](https://github.com/sigoden/aichat) 全能AI CLI工具,具有Chat-REPL、Shell Assistant、RAG、AI工具和代理功能,可以访问OpenAI、Claude、Gemini、Ollama、Groq等。
* [andysingal/llm-course](https://github.com/andysingal/llm-course) 列出了一些关于大型语言模型、视觉基础模型、人工智能生成内容、相关数据集和应用程序的很棒的公共项目。
* [pezzolabs/pezzo](https://github.com/pezzolabs/pezzo) 开源、开发人员优先的 LLMOps 平台,旨在简化提示设计、版本管理、即时交付、协作、故障排除、可观测性等。
* [xusenlinzy/api-for-open-llm](https://github.com/xusenlinzy/api-for-open-llm) LLaMA, LLaMA-2, BLOOM, Falcon, Baichuan, Qwen, Xverse, SqlCoder, CodeLLaMA, ChatGLM, ChatGLM2, ChatGLM3 etc. 开源大模型的统一后端接口
* [Datayoo/HuggingFists](https://github.com/Datayoo/HuggingFists) 一个低代码数据流工具,允许方便地LLM使用 和 HuggingFace 模型,其中一些功能被认为是 Langchain 的低代码版本。
* [yomorun/yomo](https://github.com/yomorun/yomo) 用于地理分布式边缘 AI 基础设施的有状态无服务器框架。借助函数调用支持,编写一次,在任何模型上运行。
* [csunny/DB-GPT](https://github.com/csunny/DB-GPT) 使用本地 GPT 与您的数据和环境交互,无数据泄漏,100% 私密,100% 安全 目前支持Vicuna(7b, 13b), ChatGLM-6b(int4, int8)
* [iryna-kondr/scikit-llm](https://github.com/iryna-kondr/scikit-llm) 将 LLM 无缝集成到 scikit-learn 中。将 ChatGPT 等强大的语言模型无缝集成到 scikit-learn 中,以增强文本分析任务。
* [postgresml/postgresml](https://github.com/postgresml/postgresml) GPU 驱动的 AI 应用程序数据库。利用 SQL 的简单性和最新的 NLP、ML + LLM 模型,更快地将您的应用推向市场。
* [sunner/ChatALL](https://github.com/sunner/ChatALL) 同时与ChatGPT,Bing Chat,Bard,Alpaca,Vicuna,Claude,ChatGLM,MOSS,讯飞星火,文心一言等聊天,发现最佳答案
* [hyperonym/basaran](https://github.com/hyperonym/basaran) OpenAI 文本完成 API 的开源替代品。它为基于 Hugging Face Transformer 的文本生成模型提供兼容的流式处理 API。
* [yzfly/awesome-chatgpt-zh](https://github.com/yzfly/awesome-chatgpt-zh) ChatGPT 中文指南,ChatGPT 中文调教指南,指令指南,精选资源清单,更好的使用 chatGPT 让你的生产力
* [openai-translator/bob-plugin-openai-translator](https://github.com/openai-translator/bob-plugin-openai-translator) 基于 ChatGPT API 的文本翻译、文本润色、语法纠错 Bob 插件,让我们一起迎接不需要巴别塔的新时代
* [YuchuanTian/AIGC_text_detector](https://github.com/YuchuanTian/AIGC_text_detector) 我们在AIGC检测方面工作的官方代码:“AI生成文本的多尺度阳性-未标记检测”(ICLR‘24 Spotlight)
* [argilla-io/argilla](https://github.com/argilla-io/argilla) 以数据为中心的 LLM 开发的开源平台。集成人工和模型反馈循环,以实现持续的 LLM 优化和监督。
* [rustformers/llm](https://github.com/rustformers/llm) 用于处理大型语言模型的 Rust 库生态系统 - 它建立在用于机器学习的快速、高效的 GGML 库之上。
* [ymcui/Chinese-LLaMA-Alpaca-2](https://github.com/ymcui/Chinese-LLaMA-Alpaca-2) 中文 LLaMA-2 & Alpaca-2 大模型二期项目 + 本地CPU/GPU训练部署 (Chinese LLaMA-2 & Alpaca-2 LLMs)
* [rawandahmad698/PyChatGPT](https://github.com/rawandahmad698/PyChatGPT) 非官方 ChatGPT API 的 Python 客户端,具有自动令牌重新生成、对话跟踪、代理支持等功能。
* [bionic-gpt/bionic-gpt](https://github.com/bionic-gpt/bionic-gpt) BionicGPT 是 ChatGPT 的本地替代品,提供生成式 AI 的优势,同时保持严格的数据机密性。
* [dandelionsllm/pandallm](https://github.com/dandelionsllm/pandallm) 海外中文开源大语言模型,基于 Llama-7B, -13B, -33B, -65B 进行中文领域上的持续预训练。
* [click33/chatgpt---mirror-station-summary](https://github.com/click33/chatgpt---mirror-station-summary) 汇总所有 chatgpt 镜像站,免费、付费、多模态、国内外大模型汇总等等 持续更新中
* [CLUEbenchmark/pCLUE](https://github.com/CLUEbenchmark/pCLUE) 基于提示的大规模预训练数据集,用于多任务学习和零样本学习,120万训练数据。
* [jerry1993-tech/Cornucopia-LLaMA-Fin-Chinese](https://github.com/jerry1993-tech/Cornucopia-LLaMA-Fin-Chinese) 聚宝盆(Cornucopia): 基于中文金融知识的LLaMA微调模型;涉及SFT、RLHF、GPU训练部署等
* [Shenzhi-Wang/Llama3-Chinese-Chat](https://github.com/Shenzhi-Wang/Llama3-Chinese-Chat) 第一个基于Meta-Llama-3-8B-Instruct模型的ORPO专门针对中文进行微调的中文聊天模型。
* [x-dr/chatgptProxyAPI](https://github.com/x-dr/chatgptProxyAPI) 使用cloudflare 搭建免费的 OpenAI api代理 ,解决网络无法访问问题。支持流式输出
* [zhile-io/pandora](https://github.com/zhile-io/pandora) 潘多拉实现了网页版 ChatGPT 的主要操作。后端优化,绕过 Cloudflare,速度喜人。
* [limaoyi1/Auto-PPT](https://github.com/limaoyi1/Auto-PPT) Auto generate pptx using gpt-3.5, Free to use online / 通过gpt-3.5生成PPT,免费在线使用
* [kazuki-sf/ChatGPT_Extension](https://github.com/kazuki-sf/ChatGPT_Extension) 非常简单的Chrome扩展(v3),您可以从网络上的任何地方访问OpenAI的ChatGPT。
* [microsoft/TaskMatrix](https://github.com/microsoft/TaskMatrix) 连接了ChatGPT和一系列Visual Foundation模型,以便在聊天期间发送和接收图像。
* [imaurer/awesome-decentralized-llm](https://github.com/imaurer/awesome-decentralized-llm) LLM资源的集合,可用于构建您可以“拥有”的产品或进行可重复的研究。
* [HuiMi24/chatppt](https://github.com/HuiMi24/chatppt) 由chatgpt提供支持,它可以帮助您生成PPT /幻灯片。它支持英文和中文输出
* [0xk1h0/ChatGPT_DAN](https://github.com/0xk1h0/ChatGPT_DAN) 越狱提示,巧妙的解决方法,使我们能够充分利用 ChatGPT 的全部潜力。
* [microsoft/generative-ai-for-beginners](https://github.com/microsoft/generative-ai-for-beginners) 一门 12 节课的课程,教授开始构建生成式 AI 应用程序所需的一切知识
* [salesforce/DialogStudio](https://github.com/salesforce/DialogStudio) 为对话式 AI 提供最丰富、最多样化的统一数据集集合和指令感知模型
* [sindresorhus/awesome-chatgpt](https://github.com/sindresorhus/awesome-chatgpt) 基于ChatGPT 开发的应用的列表 — 由 OpenAI 开发的人工智能聊天机器人
* [pytorch-labs/gpt-fast](https://github.com/pytorch-labs/gpt-fast) 在 python 的 <1000 LOC 中简单高效地生成 pytorch-native transformer 文本。
* [locuslab/wanda](https://github.com/locuslab/wanda) 一种简单有效的大型语言模型修剪方法(按权重和激活进行修剪)
* [openai-php/client](https://github.com/openai-php/client) 由社区维护的增强型 PHP API 客户端,允许您与 OpenAI API 进行交互。
* [luban-agi/Awesome-Domain-LLM](https://github.com/luban-agi/Awesome-Domain-LLM) 本项目旨在收集和梳理垂直领域的开源模型、数据集及评测基准。
* [liady/ChatGPT-pdf](https://github.com/liady/ChatGPT-pdf) 用于将 ChatGPT 历史下载为 PNG、PDF 或创建可共享链接的 Chrome 扩展
* [openlm-research/open_llama](https://github.com/openlm-research/open_llama) 一个在RedPajama数据集上训练的Meta AI的LLaMA 7B的许可开源复制品。
* [PlexPt/chatgpt-corpus](https://github.com/PlexPt/chatgpt-corpus) ChatGPT 中文语料库 对话语料 小说语料 客服语料 用于训练大模型
* [yaodongC/awesome-instruction-dataset](https://github.com/yaodongc/awesome-instruction-dataset) 用于训练指令遵循 LLM 的开源数据集集合(ChatGPT、LLaMA、Alpaca)
* [langchain4j/langchain4j](https://github.com/langchain4j/langchain4j) Java版LangChain,简化将 AI/LLM功能集成到 Java 应用程序中的过程。
* [NVIDIA/GenerativeAIExamples](https://github.com/NVIDIA/GenerativeAIExamples) 针对加速基础架构和微服务架构优化的生成式 AI 参考工作流。
* [steven-tey/novel](https://github.com/steven-tey/novel) Notion风格的所见即所得编辑器,具有 AI 驱动的自动完成功能。
* [TheoKanning/openai-java](https://github.com/TheoKanning/openai-java) 用于使用 OpenAI 的 GPT API 的 Java 库。支持 GPT-3、ChatGPT 和 GPT-4。
* [xtekky/gpt4free](https://github.com/xtekky/gpt4free) 免费使用GPT4模型 [typescript版本](https://github.com/xiangsx/gpt4free-ts)
* [missuo/FreeGPT35](https://github.com/missuo/FreeGPT35) 利用免登录 ChatGPT Web 提供的无限制免费 GPT-3.5-Turbo API 服务。
* [jackaduma/awesome_LLMs_interview_notes](https://github.com/jackaduma/awesome_LLMs_interview_notes) 主要记录大模型(LLMs)算法工程师相关的面试题和参考答案
* [josStorer/chatGPTBox](https://github.com/josStorer/chatGPTBox) 将 ChatGPT 深度集成到您的浏览器中,您需要的一切都在这里
* [skydoves/chatgpt-android](https://github.com/skydoves/chatgpt-android) 在 Android 上使用 Stream Chat SDK for Compose 演示 OpenAI 的 ChatGPT。
* [xiangsx/gpt4free-ts](https://github.com/xiangsx/gpt4free-ts) 提供免费的OpenAI GPT-4 API!这是 xtekky/gpt4free 版本的复制项目
* [taishi-i/awesome-ChatGPT-repositories](https://github.com/taishi-i/awesome-ChatGPT-repositories) 专门用于与 ChatGPT 相关的开源 GitHub 存储库的精选资源列表
* [visual-openllm/visual-openllm](https://github.com/visual-openllm/visual-openllm) 文心一言的开源版,基于 ChatGLM + Visual ChatGPT + Stable Diffusion
* [voidful/awesome-chatgpt-dataset](https://github.com/voidful/awesome-chatgpt-dataset) 释放 LLM 的力量:探索这些数据集来训练你自己的 ChatGPT!
* [msoedov/langcorn](https://github.com/msoedov/langcorn) 使用 FastAPI 自动为 LangChain LLM 应用程序和代理提供服务。
* [qunash/chatgpt-advanced](https://github.com/qunash/chatgpt-advanced) 一种浏览器扩展,可通过网络结果增强您的 ChatGPT 提示。
* [Timothyxxx/Chain-of-ThoughtsPapers](https://github.com/Timothyxxx/Chain-of-ThoughtsPapers) 大型语言模型中的思维链促使引出推理。思想链论文集合
* [catqaq/ChatPiXiu](https://github.com/catqaq/ChatPiXiu) 开源chatgpt替代方案/实现的调查,复制和领域/任务适应。
* [jtsang4/claude-to-chatgpt](https://github.com/jtsang4/claude-to-chatgpt) 将 Anthropic 的 Claude 模型的 API 转换为 OpenAI Chat API 格式。
* [FlagAlpha/Llama2-Chinese](https://github.com/FlagAlpha/Llama2-Chinese) Llama中文社区,最好的中文Llama大模型,完全开源可商用
* [chtmp223/topicGPT](https://github.com/chtmp223/topicGPT) 通过提示大型语言模型进行主题建模”的脚本和提示。
* [SciSharp/LLamaSharp](https://github.com/SciSharp/LLamaSharp) 可在本地设备上高效运行LLM的 C#/.NET 库 (LLaMA/LLaVA)。
* [thunlp/UltraChat](https://github.com/thunlp/UltraChat) 大规模、信息丰富、多样化的多轮聊天数据(和模型)
* [llm-workflow-engine/llm-workflow-engine](https://github.com/llm-workflow-engine/llm-workflow-engine) 适用于 LLM 的 命令行工具 和工作流管理器(核心包)
* [BlinkDL/ChatRWKV](https://github.com/BlinkDL/ChatRWKV) 使用RWKV语言模型(100%RNN)的类ChatGPT开源聊天模型。
* [princeton-nlp/tree-of-thought-llm](https://github.com/princeton-nlp/tree-of-thought-llm) 正式实现“思想之树:用大语言模型刻意解决问题”
* [iguodongiot/llm-action](https://github.com/liguodongiot/llm-action) 本项目旨在分享大模型相关技术原理以及实战经验。
* [michael-wzhu/Chinese-LlaMA2](https://github.com/michael-wzhu/Chinese-LlaMA2) META最新发布的LlaMA2的汉化版! (完全开源可商用)
* [zilliztech/GPTCache](https://github.com/zilliztech/GPTCache) LLM 的语义缓存。 与 LangChain 和 llama_index 完全集成。
* [llmware-ai/llmware](https://github.com/llmware-ai/llmware) 提供基于企业级LLM的开发框架、工具和微调模型。
* [jaymody/picoGPT](https://github.com/jaymody/picoGPT) NumPy实现的一个不必要的微小的GPT-2。40 行代码。
* [SJTU-IPADS/PowerInfer](https://github.com/SJTU-IPADS/PowerInfer) 在具有消费级 GPU 的 PC 上提供高速大型语言模型
* [AprilNEA/ChatGPT-Admin-Web](https://github.com/AprilNEA/ChatGPT-Admin-Web) 在团队和组织内共享使用AI的一站式解决方案。
* [eon01/awesome-chatgpt](https://github.com/eon01/awesome-chatgpt) 精选的 ChatGPT 资源列表,包括库、SDK、API 等。
* [tmc/langchaingo](https://github.com/tmc/langchaingo) LangChain for Go,Go 编写基于LLM程序的最简单方法
* [Facico/Chinese-Vicuna](https://github.com/Facico/Chinese-Vicuna) 一个中文低资源的llama+lora方案,结构参考alpaca
* [lmstudio-ai/model-catalog](https://github.com/lmstudio-ai/model-catalog) 大型语言模型文件的标准化 JSON 描述符集合。
* [AI4Finance-Foundation/FinGPT](https://github.com/AI4Finance-Foundation/FinGPT) 以数据为中心的 FinGPT。开源开放金融!革新
* [WangRongsheng/awesome-LLM-resourses](https://github.com/WangRongsheng/awesome-LLM-resourses) 全世界最好的大语言模型资源汇总 持续更新
* [openai/openai-quickstart-node](https://github.com/openai/openai-quickstart-node) OpenAI API 快速入门教程中的Node.js示例应用。
* [cesarhuret/docGPT](https://github.com/cesarhuret/docGPT) ChatGPT 直接在 Google Docs 中作为编辑器的插件
* [domeccleston/sharegpt](https://github.com/domeccleston/sharegpt) 轻松与您的朋友分享 ChatGPT 对话的永久链接
* [DAMO-NLP-SG/LLM-Zoo](https://github.com/DAMO-NLP-SG/LLM-Zoo) 本项目收集了以下各种开源和闭源LLM的信息
* [OpenBMB/BMList](https://github.com/OpenBMB/BMList) 希望使用此列表来显示大模型的最新趋势。
* [XueFuzhao/OpenMoE](https://github.com/XueFuzhao/OpenMoE) 一系列开源专家混合 (MoE) 大型语言模型
* [shawwn/llama-dl](https://github.com/shawwn/llama-dl) 高速下载 LLaMA,Facebook 的 65B 参数 GPT 模型
* [ntunlplab/traditional-chinese-alpaca](https://github.com/ntunlplab/traditional-chinese-alpaca) 基于羊驼数据集的繁体中文指令数据集。
* [elyase/awesome-gpt3](https://github.com/elyase/awesome-gpt3) 关于 OpenAI GPT-3 API 的演示和文章的集合。
* [RUCAIBox/LLMSurvey](https://github.com/RUCAIBox/LLMSurvey) 与大型语言模型相关的论文和资源集合。
* [Licoy/ChatGPT-Midjourney](https://github.com/Licoy/ChatGPT-Midjourney) 一键拥有自己的 ChatGPT+Midjourney 网页服务
* [wong2/chatgpt-google-extension](https://github.com/wong2/chatgpt-google-extension) 浏览器扩展,用ChatGPT增强搜索引擎效果
* [chenking2020/FindTheChatGPTer](https://github.com/chenking2020/FindTheChatGPTer) ChatGPT/GPT4开源“平替”汇总,持续更新
* [platelminto/chatgpt-conversation](https://github.com/platelminto/chatgpt-conversation) 用你的声音与 ChatGPT 对话,让它回话。
* [acheong08/Bard](https://github.com/acheong08/Bard) Google 的 Bard 聊天机器人 API 的逆向工程
* [ikaijua/Awesome-AITools](https://github.com/ikaijua/Awesome-AITools) 收藏AI相关的实用工具,大型语言模型
* [sashabaranov/go-openai](https://github.com/sashabaranov/go-openai) 为 OpenAI API 提供了非官方的 Go 客户端
* [humanloop/awesome-chatgpt](https://github.com/humanloop/awesome-chatgpt) ChatGPT和GPT-3的惊人工具、演示和文档
* [yihong0618/xiaogpt](https://github.com/yihong0618/xiaogpt) 使用小米AI扬声器播放ChatGPT和其他LLM
* [wasiahmad/Awesome-LLM-Synthetic-Data](https://github.com/wasiahmad/Awesome-LLM-Synthetic-Data) 基于 LLM 的综合数据生成的阅读清单
* [terry3041/pyChatGPT](https://github.com/terry3041/pyChatGPT) OpenAI的ChatGPT API的非官方Python包装器
* [archiki/ADaPT](https://github.com/archiki/ADaPT) 使用语言模型进行按需分解和规划
* [openai/openai-node](https://github.com/openai/openai-node) OpenAI API 的官方 Node.js / Typescript 库
* [saharmor/awesome-chatgpt](https://github.com/saharmor/awesome-chatgpt) 精选的 ChatGPT 演示、工具、文章等
* [abielzulio/chatgpt-raycast](https://github.com/abielzulio/chatgpt-raycast) ChatGPT raycast(Mac的快捷启动器) 扩展
* [rasbt/LLMs-from-scratch](https://github.com/rasbt/LLMs-from-scratch) 从头开始逐步实现类似ChatGPT的 LLM
* [transitive-bullshit/chatgpt-api](https://github.com/transitive-bullshit/chatgpt-api) OpenAI提供的ChatGPT的Node.js包装器。
* [ddiu8081/chatgpt-demo](https://github.com/ddiu8081/chatgpt-demo) 基于 OpenAI GPT-3.5 Turbo API 的 demo。
* [pengxiao-song/LaWGPT](https://github.com/pengxiao-song/LaWGPT) 基于中文法律知识的大语言模型
* [xtekky/chatgpt-clone](https://github.com/xtekky/chatgpt-clone) 具有更好用户界面的聊天GPT界面
* [eugeneyan/open-llms](https://github.com/eugeneyan/open-llms) 可用于商业用途的开放LLM列表。
* [nichtdax/awesome-totally-open-chatgpt](https://github.com/nichtdax/awesome-totally-open-chatgpt) ChatGPT 的完全开放的替代品列表
* [facebookresearch/llama-recipes](https://github.com/facebookresearch/llama-recipes) facebook LLaMA 模型的示例和手册
* [juncongmoo/pyllama](https://github.com/juncongmoo/pyllama) LLaMA - 在单个 4GB GPU 中运行 LLM
* [wgwang/LLMs-In-China](https://github.com/wgwang/LLMs-In-China) 旨在记录中国大模型发展情况
* [wangrui6/Zhihu-KOL](https://huggingface.co/datasets/wangrui6/Zhihu-KOL) 用于训练开放助手的知乎数据
* [fuergaosi233/wechat-chatgpt](https://github.com/fuergaosi233/wechat-chatgpt) 通过微信在微信上使用ChatGPT
* [acheong08/EdgeGPT](https://github.com/acheong08/EdgeGPT) 微软必应聊天的逆向工程API
* [openai/openai-cookbook](https://github.com/openai/openai-cookbook) 使用 OpenAI API 的示例和指南
* [liaokongVFX/LangChain-Chinese-Getting-Started-Guide](https://github.com/liaokongVFX/LangChain-Chinese-Getting-Started-Guide) LangChain 的中文入门教程
* [terror/chatgpt.nvim](https://github.com/terror/chatgpt.nvim) 在 Neovim 中查询 ChatGPT
* [gptshunter.com](https://www.gptshunter.com/) 发现 GPTs 项目的商店
* [acheong08/ChatGPT](https://github.com/acheong08/ChatGPT) 逆向工程 ChatGPT 的API
* [EwingYangs/awesome-open-gpt](https://github.com/EwingYangs/awesome-open-gpt) GPT相关开源项目合集
* [dalinvip/Awesome-ChatGPT](https://github.com/dalinvip/Awesome-ChatGPT) ChatGPT资料汇总学习
* [aurorax-neo/free-gpt3.5-2api](https://github.com/aurorax-neo/free-gpt3.5-2api) 免费chat GPT API
#### Agent代理助手_机器人
#####
* [ai4finance-foundation/finrobot](https://github.com/ai4finance-foundation/finrobot) 用于金融应用程序的开源 AI 代理平台,使用 LLMs。FinRobot 是一个超越 FinGPT 范围的 AI 代理平台,代表了为金融应用精心设计的综合解决方案。它集成了各种各样的人工智能技术,超越了单纯的语言模型。这一广阔的愿景凸显了该平台的多功能性和适应性,满足了金融业的多方面需求。FinRobot的整体框架分为四个不同的层,每个层都旨在解决金融AI处理和应用的特定方面:1.金融 AI 代理层:金融 AI 代理层现在包括金融思维链 (CoT) 提示,增强了复杂的分析和决策能力;市场预测代理、文档分析代理和交易策略代理利用 CoT 将金融挑战分解为逻辑步骤,将其先进的算法和领域专业知识与金融市场不断变化的动态相结合,以获得准确、可操作的见解。2.金融LLMs算法层:金融LLMs算法层配置并利用针对特定领域和全球市场分析量身定制的特别调整模型。3.LLMOps 和 DataOps 层:LLMOps 层实施了多源集成策略,利用一系列最先进的模型,选择LLMs最适合特定财务任务的。4.多源LLM基础模型层:此基础层支持各种通用和专用LLMs的即插即用功能。`FinRobot:座席工作流程`。1.感知:该模块从市场提要、新闻和经济指标中捕获和解释多模式财务数据,使用复杂的技术来构建数据以进行彻底分析。2.大脑:作为核心处理单元,该模块使用LLMs并利用金融思维链 (CoT) 流程感知来自感知模块的数据,以生成结构化指令。3.操作:该模块执行来自大脑模块的指令,应用工具将分析见解转化为可操作的结果;行动包括交易、投资组合调整、生成报告或发送警报,从而积极影响金融环境。`FinRobot:智能调度程序`.确保模型多样性和优化集成和选择LLM最适合每个任务的核心。Director Agent:此组件协调任务分配过程,确保根据任务的性能指标和对特定任务的适用性将任务分配给代理。代理注册:管理注册并跟踪系统内代理的可用性,促进高效的任务分配过程。Agent Adaptor:根据特定任务定制代理功能,增强其性能并在整个系统中集成。任务管理器:管理和存储为各种财务任务量身定制的不同通用和基于微调LLMs的代理,定期更新以确保相关性和有效性。
* [microsoft/autogen](https://github.com/microsoft/autogen) 支持使用多个代理开发LLM应用程序,这些代理可以相互交谈以解决任务。AutoGen 代理是可定制的、可对话的,并且无缝地允许人工参与。它们可以在各种模式下运行,这些模式采用LLM,人力输入和工具的组合。AutoGen 是一个用于构建人工智能代理系统的开源框架。它简化了事件驱动、分布式、可扩展和弹性代理应用程序的创建。它允许您快速构建人工智能代理协作并自主或在人工监督下执行任务的系统。AutoGen 简化了 AI 开发和研究,支持使用多种大型语言模型 ( LLMs )、集成工具和先进的多智能体设计模式。您可以在本地开发和测试代理系统,然后根据需求的增长部署到分布式云环境。AutoGen 提供以下主要功能: 异步消息传递:代理通过异步消息进行通信,支持事件驱动和请求/响应交互模式。 完整类型支持:在所有接口中使用类型并在构建时强制进行类型检查,重点关注质量和内聚性 可扩展和分布式:设计可以跨组织边界运行的复杂的分布式代理网络。 模块化和可扩展:使用可插入组件自定义您的系统:自定义代理、工具、内存和模型。 跨语言支持:跨不同编程语言互操作代理。目前支持 Python 和 .NET,即将推出更多语言。 可观测性和调试:用于跟踪、追踪和调试代理交互和工作流程的内置功能和工具,包括通过 OpenTelemetry 对行业标准可观测性的支持。 AutoGen 有多个软件包,并且构建在分层架构之上。目前,您的应用程序可以定位三个主要 API:Core 核、AgentChat 代理聊天、Extensions 扩展。 AutoGen 的核心 API autogen-core是按照actor 模型构建的。它支持代理和基于事件的工作流程之间的异步消息传递。核心层中的代理使用直接消息传递(其功能类似于 RPC)或通过广播到主题(即发布-订阅)来处理和生成类型化消息。代理可以分布并用不同的编程语言实现,同时仍然可以相互通信。如果您正在构建可扩展的事件驱动代理系统,请从这里开始。
* [OpenBMB/XAgent](https://github.com/OpenBMB/XAgent) XAgent 是一个开源实验性大型语言模型 (LLM) 驱动的自治代理,可以自动解决各种任务。它被设计为可应用于各种任务的通用代理。目标是创建一个可以解决任何给定任务的超级智能代理!具有以下功能:自主性:XAgent可以在没有人类参与的情况下自动解决各种任务。`安全`:XAgent旨在安全运行。所有操作都约束在 docker 容器内。`可扩展性`:XAgent 被设计为可扩展的。您可以轻松添加新工具来增强代理的能力,甚至是新代理!`GUI`:友好的 GUI 来与代理交互。还可以使用命令行与代理进行交互。`与人类合作`:可以与您合作处理任务。它不仅能够在旅途中按照您的指导解决复杂的任务,而且在遇到挑战时还可以寻求您的帮助。XAgent由三部分组成:`调度程序`负责动态实例化任务并将其调度给不同的代理。它允许我们添加新代理并提高代理的能力。计划员负责生成和纠正任务计划。它将任务划分为子任务并为其生成里程碑,允许代理逐步解决任务。`参与者`负责执行操作以实现目标并完成子任务。参与者利用各种工具解决子任务,也可以与人类协作解决任务。ToolServer 是为 XAgent 提供强大而安全的工具来解决任务的服务器。它是一个 docker 容器。提供以下工具:`文件编辑器`提供了一个文本编辑工具来写入、读取和修改文件。`Python Notebook`提供了一个交互式Python笔记本,可以运行Python代码来验证想法,绘制图形等。`网络浏览器`提供用于搜索和访问网页的网页浏览器。`Shell` 提供了一个 bash shell 工具,可以执行任何 shell 命令,甚至可以安装程序和主机服务。`Rapid API` 提供了一个从 Rapid API 检索 API 并调用它们的工具,它提供了广泛的 API 供 XAgent 使用。还可以轻松地将新工具添加到ToolServer,以增强XAgent的能力。
* [langgenius/dify](https://github.com/langgenius/dify) 开源助手 API 和 GPT 的替代方案。Dify.AI 是一个 LLM 应用程序开发平台。它集成了后端即服务和 LLMOps 的概念,涵盖了构建生成式 AI 原生应用程序所需的核心技术堆栈,包括内置的 RAG 引擎。其直观的界面结合了 AI 工作流程、RAG 管道、代理功能、模型管理、可观测性功能等,让您快速从原型到生产。以下是核心功能列表:1. 工作流:利用以下所有功能及其他功能,在可视化画布上构建和测试强大的 AI 工作流。2. 全面的模型支持:与LLMs来自数十家推理提供商和自托管解决方案的数百个专有/开源无缝集成,涵盖 GPT、Mistral、Llama3 和任何兼容 OpenAI API 的模型。可以在此处找到受支持的模型提供程序的完整列表。3. 提示 IDE:直观的界面,用于制作提示、比较模型性能以及向基于聊天的应用程序添加文本转语音等附加功能。4. RAG Pipeline:广泛的 RAG 功能,涵盖从文档摄取到检索的所有内容,开箱即用地支持从 PDF、PPT 和其他常见文档格式中提取文本。5. 代理能力:您可以基于LLM函数调用或 ReAct 定义代理,并为代理添加预建或自定义工具。Dify 为 AI 代理提供 50+ 内置工具,如 Google Search、DELL·E, Stable Diffusion 和 WolframAlpha.6. LLMOps:监控和分析应用程序日志和性能随时间的变化。您可以根据生产数据和注释不断改进提示、数据集和模型。7. 后端即服务:Dify 的所有产品都带有相应的 API,因此您可以毫不费力地将 Dify 集成到您自己的业务逻辑中。
* [codelion/optillm](https://github.com/codelion/optillm) optillm 是一个兼容 OpenAI API 的优化推理代理,它实现了多种最先进的技术,可以提高LLMs的准确性和性能。当前的重点是实施改进编码推理、逻辑和数学查询的技术。通过在推理时进行额外的计算,可以在不同的任务中使用这些技术来击败前沿模型。实施的技术:CoT with Reflection 带有反射的 CoT,使用 <thinking>、<reflection> 和 <output> 部分实现思想链推理;PlanSearch 计划搜索,对候选计划实施搜索算法以解决自然语言问题;ReRead 重读,通过两次处理查询来实现重读以提高推理能力;Self-Consistency 自我一致性,实施先进的自洽方法;Z3 Solver Z3 解算器,利用 Z3 定理证明器进行逻辑推理;R* Algorithm R*算法,实现 R* 算法来解决问题;LEAP,从几个示例中学习特定于任务的原则;Round Trip Optimization 往返优化,通过往返流程优化响应;Best of N Sampling 最佳 N 采样,生成多个响应并选择最佳的一个;Mixture of Agents 混合多个代理,结合多种批评的回应;Monte Carlo Tree Search 蒙特卡罗树搜索,使用 MCTS 在聊天响应中进行决策;prover-verifier game approach 证明者-验证者游戏(Prover-Verifier Games),在推理时应用证明者-验证者博弈方法;CoT Decoding CoT 解码,实现思路链解码以在没有明确提示的情况下引发推理;Entropy Decoding 熵解码,根据代币生成过程中的不确定性实现自适应采样。
* [ComposioHQ/composio](https://github.com/ComposioHQ/composio) Composio为您的AI代理和LLMs100+高质量的函数调用集成。适用于 AI 代理的生产就绪工具集。为您的代理配备高质量的工具和集成,而无需担心身份验证、准确性和可靠性,只需一行代码即可完成!主要特点:100+ 工具,支持一系列不同的类别:软件(在GitHub、Notion、Linear、Gmail、Slack、Hubspot、Salesforce等90多个网站上做任何事情)、操作系统(点击任意位置,输入任何内容,复制到剪贴板等等)、浏览器(智能搜索、截屏、MultiOn、下载、上传等)、搜索(Google搜索,Perplexity搜索,Tavily,Exa等)、软件(Ngrok、Database、Redis、Vercel、Git 等)、RAG(代理 RAG 可即时处理任何类型的数据)。框架:在一行代码中将工具与 OpenAI、Claude、LlamaIndex、Langchain、CrewAI、Autogen、Gemini、Julep、Lyzr 等代理框架一起使用。托管授权:支持六种不同的身份验证协议。将访问令牌、刷新令牌、OAuth、API 密钥、JWT 等抽象出来,以便您可以专注于构建代理。准确性:由于更好的工具设计,您的工具调用的代理准确性提高了 40%。可嵌入:在您的应用程序的后端进行白标化,为您的所有用户和代理管理身份验证和集成,并保持一致的体验。可插拔:旨在非常轻松地使用其他工具、框架和授权协议进行扩展。
* [openai/swarm](https://github.com/openai/swarm) 探索符合人体工程学的轻量级多代理编排的教育框架。由 OpenAI 解决方案团队管理。Swarm 目前是一个实验性示例框架,旨在探索多智能体系统的人体工程学界面。它不打算用于生产,因此没有官方支持。这也意味着我们不会审查 PR 或问题!Swarm的主要目标是展示在《编排代理人:交接和例程》食谱中探索的交接和例程模式。它不是一个独立的库,主要用于教育目的。Swarm 专注于使代理协调和执行轻量级、高度可控且易于测试。它通过两个原始抽象来实现这一点:Agents 和 handoffs。Agent 包含说明和工具,并且可以随时选择将对话移交给另一个 Agent 。这些原语足够强大,可以表达工具和代理网络之间的丰富动态,使您能够构建可扩展的真实解决方案,同时避免陡峭的学习曲线。Swarm 探索轻量级、可扩展且高度可定制的模式。类似于 Swarm 的方法最适合处理大量难以编码为单个提示的独立功能和指令的情况。对于寻求完全托管线程和内置内存管理和检索的开发人员来说,Assistants API 是一个不错的选择。但是,Swarm 是一种教育资源,适用于有兴趣了解多代理编排的开发人员。Swarm (几乎)完全在客户端上运行,并且与 Chat Completions API 非常相似,它不会在调用之间存储状态。
* [langchain-ai/langgraph](https://github.com/langchain-ai/langgraph) 将语言代理构建为图形。LangGraph 是一个库,用于构建有状态的多参与者应用程序,用于LLMs创建代理和多代理工作流。与其他LLM框架相比,它提供了以下核心优势:周期、可控性和持久性。LangGraph 允许您定义涉及周期的流程,这对于大多数代理架构来说是必不可少的,并将其与基于 DAG 的解决方案区分开来。作为一个非常低级的框架,它提供了对应用程序的流和状态的细粒度控制,这对于创建可靠的代理至关重要。此外,LangGraph 还包含内置的持久性,可实现高级的人机交互和内存功能。LangGraph 的灵感来自 Pregel 和 Apache Beam。公共接口的灵感来自 NetworkX。LangGraph 由 LangChain 的创建者 LangChain Inc 构建,但可以在没有 LangChain 的情况下使用。主要特点:循环和分支:在应用中实现循环和条件。持久性:在图表中的每一步后自动保存状态,随时暂停和恢复图形执行,以支持错误恢复、人机交互工作流、时间旅行等。Human-in-the-Loop:中断图形执行以批准或编辑代理计划的下一个操作。流式处理支持:流式传输每个节点产生的输出(包括令牌流式处理)。与LangChain集成:LangGraph与LangChain和LangSmith无缝集成(但不需要它们)。
* [filip-michalsky/SalesGPT](https://github.com/filip-michalsky/SalesGPT) 情境感知 AI 销售代理,可自动执行销售推广。此存储库是用于销售的上下文感知 AI 代理的实现,可以使用LLMs语音、电子邮件和文本(短信、WhatsApp、微信、微博、Telegram 等)工作。SalesGPT 具有上下文感知能力,这意味着它可以理解自己处于销售对话的哪个阶段,并采取相应的行动。此外,SalesGPT 可以使用工具,例如您自己的预定义产品知识库,从而显着减少幻觉。AI 销售代理了解对话阶段(您可以根据自己的需求定义自己的阶段):简介:通过介绍您自己和您的公司来开始对话。资格: 通过确认他们是否是与您的产品/服务交谈的合适人选来对潜在客户进行资格审查。价值主张:简要说明您的产品/服务如何使潜在客户受益。需求分析:提出开放式问题,以揭示潜在客户的需求和痛点。解决方案展示: 根据潜在客户的需求,将您的产品/服务作为可以解决他们痛点的解决方案展示。异议处理:解决潜在客户可能对您的产品/服务提出的任何异议。关闭:通过提出下一步来要求出售。结束对话:用户不想继续对话,因此结束通话。
* [crewAIInc/crewAI](https://github.com/crewAIInc/crewAI) 用于编排角色扮演、自主 AI 代理的尖端框架。通过培养协作智能,CrewAI 使座席能够无缝协作,处理复杂的任务。CrewAI 旨在使 AI 代理能够承担角色、共享目标并在一个有凝聚力的单位中运作 - 就像一个运转良好的船员一样。无论您是在构建智能助手平台、自动化客户服务集成还是多代理研究团队,CrewAI 都可以为复杂的多代理交互提供支柱。主要特点:基于角色的代理设计:使用特定角色、目标和工具自定义代理。自主代理间委派:代理可以自主委派任务并相互查询,从而提高解决问题的效率。灵活的任务管理:使用可自定义的工具定义任务并将其动态分配给代理。流程驱动:目前仅支持顺序任务执行和分层流程,但更复杂的流程(如共识和自主)。将输出另存为文件:将单个任务的输出另存为文件,以便以后使用。将输出解析为 Pydantic 或 Json:如果需要,可以将单个任务的输出解析为 Pydantic 模型或 Json。使用开源模型:使用 Open AI 或开源模型运行 crewAI
* [InternLM/Agent-FLAN](https://github.com/InternLM/Agent-FLAN) 开源大型语言模型( LLMs )在各种 NLP 任务中取得了巨大成功,但在充当代理时,它们仍然远远不如基于 API 的模型。如何将代理能力融入到普通LLMs中成为一个至关重要而紧迫的问题。本文首先提出了三个关键观察结果:(1)当前的智能体训练语料库与格式遵循和智能体推理纠缠在一起,这与预训练数据的分布发生了显着的变化; (2) LLMs对代理任务所需的能力表现出不同的学习速度; (3)当前的方法在通过引入幻觉来提高代理能力时存在副作用。基于上述发现,我们提出 Agent-FLAN 来有效地微调 Agent 的语言模型。通过对训练语料库的仔细分解和重新设计,Agent-FLAN 使 Llama2-7B 在各种代理评估数据集上的表现比之前的最佳作品高出 3.5%。通过全面构建负样本,Agent-FLAN 根据我们建立的评估基准极大地缓解了幻觉问题。此外,它在扩展模型大小时持续提高了LLMs的代理能力,同时略微增强了LLMs的一般能力。
* [MineDojo/Voyager](https://github.com/MineDojo/Voyager) 航海家:具有大型语言模型的开放式具身代理。是 Minecraft 中第一个由 LLM 驱动的体现的终身学习代理,它不断探索世界,获得各种技能,并在没有人为干预下做出新的发现。由三个组件组成:1)最大化探索的自动课程,2)不断增长的可执行代码技能库,用于存储和检索复杂行为,以及3)新的迭代提示机制,其中包含环境反馈,执行错误和自我验证以改进程序。Voyager通过黑盒查询与GPT-4交互,这绕过了模型参数微调。从经验上讲,Voyager表现出强大的上下文终身学习能力,并在玩Minecraft方面表现出非凡的熟练程度。它获得的独特物品增加了 3.3×,旅行距离延长了 2.3×,解锁关键科技树里程碑的速度比之前的 SOTA 快了 15.3×。Voyager能够利用在新的Minecraft中学到的技能库从头开始解决新任务,而其他技术则难以概括。
* [modelscope/modelscope-agent](https://github.com/modelscope/modelscope-agent) 开源版GPTs,将ModelScope中的模型与世界连接起来的智能体框架。单个代理具有角色扮演、呼叫、LLM工具使用、计划和记忆等能力。它主要具有以下特点:简单的代理实现过程:只需指定角色指令、LLM名称和工具名称列表即可实现代理应用程序。该框架会自动安排工具使用、规划和内存的工作流。丰富的模型和工具:框架配备了丰富的LLM接口,如Dashscope和Modelscope模型接口、OpenAI模型接口等。内置丰富的工具,如代码解释器、天气查询、文本到图像、网页浏览等,可以轻松定制专属代理。接口统一,扩展性高:框架具有清晰的工具和LLM注册机制,方便用户扩展更多样化的Agent应用。低耦合:开发人员可以轻松使用内置工具、LLM内存和其他组件,而无需绑定更高级别的代理。
* [modelscope/MemoryScope](https://github.com/modelscope/MemoryScope) MemoryScope是一个为 LLM 聊天机器人提供强大灵活的长期记忆系统的框架,它可以应用于个人助理和情感伴侣等场景,通过长期记忆持续学习,记住用户的基本信息以及各种习惯和偏好,让用户在使用 LLM 时逐渐体验到“理解”的感觉。该项目使用向量数据库(默认使用 ElasticSearch)存储所有记忆片段,并将长期记忆的能力原子化为多个独立的 worker,包括用于查询信息过滤、观察提取和洞察更新等任务的 20 多个 worker。MemoryScope 提供了基于 worker 管道的记忆服务操作,包括记忆检索、记忆整合、反思和重新整合等功能,并提供了对话接口(API)和命令行对话实践(CLI)来实现长期记忆功能,并与 AutoGen 和 AgentScope 等流行的代理框架相结合,提供最佳实践。
* [baptisteArno/typebot.io](https://github.com/baptisteArno/typebot.io) Typebot 是一个强大的聊天机器人构建器,您可以自行托管。它允许您直观地创建高级聊天机器人,将它们嵌入到您的网络/移动应用程序上的任何位置,并实时收集结果。Typebot 使创建高级聊天机器人变得容易。它提供了适用于任何业务用例的构建块。我会定期通过错误修复、新功能和性能改进来改进 Typebot。具有 34+ 构建块的聊天构建器,例如: 气泡:文本、图像/GIF、视频、音频、嵌入; 输入:文本、电子邮件、电话号码、按钮、图片选择、日期选择器、付款 (Stripe)、文件选择器......输入;逻辑:条件分支、URL 重定向、脚本 (Javascript)、A/B 测试;集成:Webhook / HTTP 请求、OpenAI、Google 表格、Google Analytics、Meta Pixel、Zapier、Make.com、Chatwoot、更多
* [phidatahq/phidata](https://github.com/phidatahq/phidata) 使用内存、知识和工具构建 AI 助手。Phidata 是一个用于构建自主助手(又名代理)的框架,这些助手具有长期记忆、上下文知识和使用函数调用采取行动的能力。使用 phidata 将任何LLM内容变成 AI 助手,它可以:使用 DuckDuckGo、Google 等搜索网络。使用 SQL、DuckDb 等分析数据。进行研究并生成报告。回答来自 PDF、API 等的问题。为电影、书籍等编写剧本。总结文章、视频等。执行发送电子邮件、查询数据库等任务。利用内存、知识和工具进行扩展LLMs:记忆:将聊天记录存储在数据库中,LLMs并允许进行长期对话。知识:将信息存储在矢量数据库中,并提供LLMs业务上下文。工具:启用此选项LLMs可执行从 API 拉取数据、发送电子邮件或查询数据库等操作。
* [ctlllll/LLM-ToolMaker](https://github.com/ctlllll/LLM-ToolMaker) LLM-ToolMaker是一个将大型语言模型(LLM)作为工具制造者的框架,旨在通过让LLM创建可重复使用的工具来增强其解决问题的能力。该框架分为两个阶段:工具制作和工具使用。工具制作阶段由一个强大的LLM负责,它从少量示例中创建通用的Python工具函数。工具使用阶段则由一个更轻量级的LLM负责,它使用这些工具来解决各种问题。该框架的优势在于,它可以将工具制作和工具使用分开,从而实现成本效益,同时保持工具质量和解决问题的能力。例如,可以使用强大的GPT-4作为工具制造者,使用更轻量级的GPT-3.5作为工具使用者,从而在保持性能的同时降低推理成本。该框架在各种复杂推理任务中得到了验证,包括Big-Bench任务。
* [datawhalechina/llm-universe](https://github.com/datawhalechina/llm-universe) 面向小白开发者的大模型应用开发教程。主要内容包括:大模型简介,何为大模型、大模型特点是什么、LangChain 是什么,如何开发一个 LLM 应用,针对小白开发者的简单介绍;如何调用大模型 API,本节介绍了国内外知名大模型产品 API 的多种调用方式,包括调用原生 API、封装为 LangChain LLM、封装为 Fastapi 等调用方式,同时将包括百度文心、讯飞星火、智谱AI等多种大模型 API 进行了统一形式封装;知识库搭建,不同类型知识库文档的加载、处理,向量数据库的搭建;构建 RAG 应用,包括将 LLM 接入到 LangChain 构建检索问答链,使用 Streamlit 进行应用部署;验证迭代,大模型开发如何实现验证迭代,一般的评估方法有什么。
* [togethercomputer/MoA](https://github.com/togethercomputer/MoA) Together Mixture-of-Agents (MoA) 是一种利用多个大型语言模型 (LLM) 的集体优势来提高性能的新方法,在 AlpacaEval 2.0上取得了最先进的结果。通过采用分层架构,其中每一层包含多个 LLM 代理,MoA 使用仅开源模型,显著优于 GPT-4 Omni 的 57.5% 的得分,达到了 65.1% 的得分。该项目提供了一个简单的 50 行代码示例,展示了如何使用 MoA,以及一个更高级的示例,展示了如何使用多层 MoA。此外,该项目还提供了一个交互式命令行界面 (CLI) 演示,展示了一个简单的多轮聊天机器人,其中最终响应来自各种参考模型的聚合。用户可以通过输入指令与聊天机器人进行交互,并获得基于多个模型的聚合响应。
* [microsoft/UFO](https://github.com/microsoft/UFO) 用于 Windows 操作系统交互的以 UI 为中心的代理。UFO 是一个以 UI 为中心的多代理框架,通过在单个或跨多个应用程序中无缝导航和操作来满足 Windows 操作系统上的用户请求。UFO作为一个多智能体框架运行,包括:HostAgent 任务是选择一个应用程序来满足用户请求,当请求跨越多个应用程序,并且任务在前一个应用程序中部分完成时,此代理也可能切换到不同的应用程序;AppAgent 负责在选定的应用程序上迭代执行操作,直到在特定应用程序中成功完成任务;Application Automator 的任务是将 HostAgent 和 AppAgent 的操作转换为与应用程序的交互,并通过 UI 控件、本机 API 或 AI 工具进行交互。
* [langchain-ai/opengpts](https://github.com/langchain-ai/opengpts) 创建与 OpenAI 的 GPT 和助手 API 类似的体验。它由 LangGraph 提供支持 - 一个用于创建代理运行时的框架。它还建立在LangChain、LangServe和LangSmith之上。OpenGPT 为您提供更多控制权,允许您配置:您使用的(LLM在LangChain提供的60+之间选择);您使用的提示(使用 LangSmith 调试这些提示);您给它的工具(从LangChain的100+工具中选择,或轻松编写自己的工具);您使用的向量数据库(从LangChain的60+向量数据库集成中选择);您使用的检索算法;您使用的聊天记录数据库。最重要的是,它使您可以完全控制应用程序的认知架构。目前,已实现三种不同的架构:助理、RAG、聊天机器人。
* [idootop/mi-gpt](https://github.com/idootop/mi-gpt) 将小爱音箱接入 ChatGPT 和豆包,改造成你的专属语音助手。MiGPT 通过将小爱音箱、米家智能设备,与 ChatGPT 的理解能力完美融合,让你的智能家居更懂你。MiGPT 不仅仅是关于设备自动化,而是关于:打造一个懂你、有温度、与你共同进化的家。未来,你的每个智能家居设备,从灯泡、插座,到扫地机器人、电视等,都可以作为一个个独立的智能体 (Agent),更智能、更贴心的响应你的指令。这些独立的智能体,也可以彼此感知,彼此配合,构成一个更强大的协作网络。而小爱音箱就像是你的智能家居专属管家,全心全意为你服务,释放智能家居的真正潜力。
* [suitedaces/computer-agent](https://github.com/suitedaces/computer-agent) Grunty是一个自托管的桌面应用程序,利用 Anthropic 的 Claude 的计算机使用功能来控制你的电脑。它允许 Claude 接管你的笔记本电脑并为你完成任务(至少尝试,哈哈)。Grunty 使用 Python 和 PyQt 编写,可以让你在任何可以运行 Python 的平台上使用,例如 MacOS、Windows和 Linux。你只需获得一个 Anthropic API 密钥,安装依赖项,并运行程序。Grunty 提供了方便的快捷键,例如 Ctrl+Enter 执行指令、Ctrl+C 停止当前操作、Ctrl+W 最小化到系统托盘和 Ctrl+Q 退出应用程序。需要注意的是,Grunty 仍然处于实验阶段,可能会出现错误,因此请谨慎使用,并始终监控代理的操作。
* [LogiTorch/logitorch](https://github.com/LogiTorch/logitorch) LogiTorch是一个基于PyTorch的自然语言逻辑推理库,它包含文本逻辑推理数据集、不同逻辑推理神经网络架构的实现以及一个与PyTorch Lightning兼容的简单易用的API。该库支持多种数据集,包括AR-LSAT、ConTRoL、LogiQA、ReClor、RuleTaker、ProofWriter、SNLI、MultiNLI、RTE、Negated SNLI、Negated MultiNLI、Negated RTE、PARARULES Plus、AbductionRules、FOLIO、FLD、LogiQA2.0、LogiQA2.0 NLI、HELP、SimpleLogic、RobustLR、LogicNLI等。同时,LogiTorch还实现了多种模型,包括RuleTaker、ProofWriter、BERTNOT、PRover、FLDProver、TINA、FaiRR、LReasoner、DAGN、Focal Reasoner、AdaLoGN、Logiformer、LogiGAN、MERit、APOLLO、LAMBADA等。
* [SylphAI-Inc/AdalFlow](https://github.com/SylphAI-Inc/AdalFlow) AdalFlow:构建和自动优化任何LLM任务的库。AdalFlow 采用类似于 PyTorch 的设计模式,功能强大、轻便、模块化且健壮。AdalFlow 提供与模型无关的构建块来构建LLM 任务管道,范围从 RAG、代理到文本分类和命名实体识别等经典 NLP 任务。仅使用手动提示很容易获得高性能。AdalFlow 为零样本提示优化和少数样本优化提供了一个统一的自动微分框架。它推进了现有的自动优化研究,包括 Text-Grad 和 DsPy。通过我们的研究,Text-Grad 2.0 和 Learn-to-Reason Few-shot In Context Learning AdalFlow Trainer 实现了最高的准确性,同时具有最高的令牌效率。
* [andrewyng/translation-agent](https://github.com/andrewyng/translation-agent) Translation Agent是一个使用反射机制的机器翻译代理,它利用大型语言模型 (LLM)进行翻译,并通过反思翻译结果来提出改进建议,最终提升翻译质量。该项目使用 Python 实现,具有高度可定制性,例如可以调整输出风格、处理习语和专业术语,以及指定目标语言的地区和方言。虽然目前该项目尚不成熟,但它在某些情况下已经可以与商业翻译系统相媲美,甚至在某些情况下表现更出色。该项目旨在鼓励更多关于代理翻译的研究和开发,并提供了一种自动生成训练数据的机制,以进一步改进传统机器翻译算法。
* [MODSetter/SurfSense](https://github.com/MODSetter/SurfSense) SurfSense是一个个人 AI 助手,可以帮助你记住你在互联网上看到的内容,包括社交媒体聊天、日历邀请、重要邮件、教程、食谱等。它提供跨浏览器扩展,让你轻松保存网页内容,并支持上传各种文件格式,如 PDF、docx、图片等。SurfSense 使用先进的 RAG 技术,让你可以通过自然语言与保存的内容进行交互,并获得引用的答案。它支持本地 LLM,例如 Ollama,并且可以自托管,价格低廉。SurfSense 不使用网络抓取,而是直接从 DOM 读取数据,确保数据的准确性。目前,SurfSense 需要本地设置,并支持 Docker 部署。
* [meta-llama/llama-stack-apps](https://github.com/meta-llama/llama-stack-apps) Llama Stack Apps是基于 Llama Stack 构建的应用示例,它展示了 Llama 3.1及更高版本模型的 agentic 能力,例如:分解任务、执行多步推理、使用工具(内置工具如搜索、代码解释器或零样本学习新工具)、通过 Llama Guard 等模型提供系统级安全保护。该项目提供了一个 Llama Stack 分发,包含运行推理、安全检查、工具执行(包括代码执行环境)和模型多步推理循环所需的所有组件。用户可以通过安装依赖、启动 Llama Stack 服务器、连接 agentic 应用到服务器来开始使用,并使用提供的示例脚本测试 agentic 应用。
* [ucbepic/docetl](https://github.com/ucbepic/docetl) DocETL是一个用于创建和执行数据处理管道的工具,特别适合处理复杂文档。它提供了一个低代码、声明式的 YAML 接口,用于定义基于大型语言模型(LLM) 的复杂数据操作。DocETL 非常适合需要最大限度地提高复杂任务的正确性和输出质量的场景,例如语义处理、基于 MapReduce 的复杂任务、优化 LLM 准确性、处理长文档以及验证和自动重试。用户可以通过 DocETL进行对话生成、文本转语音等操作。安装 DocETL 需要 Python 3.10 或更高版本,并需要设置 OpenAI API 密钥。用户可以通过项目文档获取更详细的信息。
* [father-bot/chatgpt_telegram_bot](https://github.com/father-bot/chatgpt_telegram_bot) 带有 ChatGPT 的 Telegram 机器人,基于 Python,使用 OpenAI 的 API。特征:低延迟回复(通常需要大约 3-5 秒);无请求限制;消息流(观看演示);GPT-4 和 GPT-4 Turbo 支持;GPT-4 Vision 支持;群聊支持(/help_group_chat获取说明);DALLE 2(选择艺术家模式以生成图像);语音消息识别;代码突出显示;15 种特殊聊天模式:助理、代码助理、艺术家、心理学家、埃隆马斯克等。您可以通过编辑配置/chat_modes.yml轻松创建自己的聊天模式;支持 ChatGPT API;允许的 Telegram 用户列表;跟踪在 OpenAI API 上花费的 $ 余额
* [LazyAGI/LazyLLM](https://github.com/LazyAGI/LazyLLM) 用于构建多代理应用程序的低代码开发工具 LLMs。它帮助开发人员以非常低的成本创建复杂的 AI 应用程序,并实现持续的迭代优化。LazyLLM 为应用程序构建提供了便捷的工作流程,并为应用程序开发过程的各个阶段提供了众多标准流程和工具。基于 LazyLLM 的 AI 应用开发流程遵循原型构建 -> 数据反馈 -> 迭代优化工作流程。这意味着您可以使用 LazyLLM 快速构建原型应用程序,然后使用特定于任务的数据分析不良情况,然后在应用程序的关键阶段迭代算法和微调模型,以逐步提高整体性能。
* [davidmigloz/langchain_dart](https://github.com/davidmigloz/langchain_dart) LangChain.dart是一个用于构建基于大型语言模型 (LLM) 的 Dart/Flutter应用程序的框架,它提供了一套现成的组件,用于与语言模型交互,并提供标准接口,将它们链接在一起以构建更高级的用例,例如聊天机器人、基于检索的问答、代理、摘要、翻译、提取、推荐系统等。LangChain.dart 的核心模块包括模型 I/O、检索和代理,并支持使用 LangChain 表达式语言 (LCEL) 将这些组件组合在一起。LangChain.dart 的目标是为 Dart 和 Flutter 生态系统提供一个简化的 LLM 开发框架,以促进 LLM 在该生态系统中的应用。
* [altera-al/project-sid](https://github.com/altera-al/project-sid) Project Sid是一个多智能体模拟项目,旨在模拟人工智能文明的演化过程。该项目使用PIANO架构,使智能体能够实时与人类和其他智能体互动,并在多个输出流中保持一致性。项目在Minecraft环境中进行大规模模拟,评估智能体在文明基准上的表现,这些基准受到人类历史的启发。模拟结果表明,智能体能够实现有意义的进步,例如自主发展专业角色、遵守和改变集体规则以及参与文化和宗教传播。该项目为大规模社会模拟、代理组织智能以及将人工智能整合到人类文明中开辟了新的途径。
* [openbmb/ioa](https://github.com/openbmb/ioa) IoA是一个开源的协作式AI代理框架,它允许不同的分布式代理通过类似互联网的连接协同工作,共同解决复杂的任务。该框架借鉴了互联网的架构,让不同环境下的AI代理可以相互连接,并支持代理自主组建团队和子团队,以适应复杂的任务。IoA可以整合具有不同技能和背景的代理,并支持异步任务执行,提高整体效率。此外,IoA还具有自适应的对话流程,能够在保持结构化的同时保持对话的灵活性,并具有可扩展性和可扩展性,方便添加新的代理类型或处理不同的任务。
* [SalesforceAIResearch/xLAM](https://github.com/SalesforceAIResearch/xLAM) 由大型语言模型( LLMs )支持的自主代理已经引起了广泛的研究关注。然而,由于具有多轮轨迹的不同数据源的异构性,充分利用LLMs的潜力来完成基于代理的任务会带来固有的挑战。此存储库引入了 xLAM,它可以聚合来自不同环境的代理轨迹,涵盖各种场景。它将这些轨迹标准化并统一为一致的格式,简化了针对代理训练优化的通用数据加载器的创建。利用数据统一,我们的训练管道在不同数据源之间保持平衡,并在数据集分区和模型训练期间保持跨设备的独立随机性。
* [modelscope/agentscope](https://github.com/modelscope/agentscope) 以更简单的方式开始构建LLM赋能的多代理应用程序。创新的多智能体平台,旨在使开发人员能够构建具有大规模模型的多智能体应用程序。它具有三个高级功能:`易于使用`:专为开发人员设计,具有丰富的组件、全面的文档和广泛的兼容性。此外,AgentScope Workstation 还为 AgentScope 的初学者提供了拖放式编程平台和副驾驶!`高健壮性`s:支持自定义容错控制和重试机制,增强应用稳定性。`基于参与者的分发`:以集中式编程方式构建分布式多代理应用程序,以简化开发。
* [danielmiessler/fabric](https://github.com/danielmiessler/fabric) fabric是一个开源框架,使用 AI 来增强人类能力。它提供了一个模块化的框架,利用众包的 AI 提示来解决特定问题,这些提示可以在任何地方使用。fabric 的核心思想是将复杂问题分解成更小的组件,并使用 AI 提示来解决每个组件。fabric 提供了一套预定义的提示模式,可以用来解决各种问题,例如生成代码、翻译文本、编写创意内容等。用户也可以创建自定义的提示模式来解决特定问题。fabric 还提供了一些辅助应用程序,例如 pbpaste,可以帮助用户更方便地使用 fabric。
* [yanweiyue/GDesigner](https://github.com/yanweiyue/GDesigner) 自适应、高效且鲁棒的 LLM 驱动的多智能体通信图设计师,能够动态地为不同领域和任务定制设计通信拓扑。G-Designer 通过将多智能体系统建模为多智能体网络,利用变分图自编码器对智能体及任务特定的虚拟节点进行编码,从而解码出任务自适应且高效的通信拓扑。G-Designer 的核心思想是将多智能体系统建模为一个多智能体网络,利用变分图自编码器(VGAE)对智能体(节点)及其特定任务信息进行编码和解码,从而生成适应任务需求的通信拓扑。
* [OpenBMB/ProAgent](https://github.com/OpenBMB/ProAgent) 从机器人流程自动化到代理流程自动化,引入了 `Agentic Process Automation` (APA),这是一种突破性的自动化范式,使用LLM基于代理的代理,通过将人力卸载到与构建和执行相关的代理来实现高级自动化。然后,我们实例化 `ProAgent` ,一个LLM基于代理,旨在根据人类指令制作工作流程,并通过协调专业代理做出复杂的决策。通过实证实验,详细阐述了APA的工作流程构建和执行流程,展示了APA的可行性,揭示了由智能体驱动的自动化新范式的可能性
* [OpenBioLink/ThoughtSource](https://github.com/OpenBioLink/ThoughtSource) ThoughtSource是一个开源资源和社区,专注于大型语言模型的思维链推理数据和工具。它旨在为高级 AI 系统提供可靠的推理能力,以推动科学研究和医疗实践。该项目提供标准化思维链格式的各种数据集,包括常识问答、策略问答和科学推理数据集。用户可以使用 ThoughtSource 的数据加载器访问这些数据集,并通过在线数据集查看器浏览它们。此外,ThoughtSource 还提供工具,例如用于生成和评估思维链推理的提示,以及用于注释数据集的工具。
* [X-PLUG/MobileAgent](https://github.com/X-PLUG/MobileAgent) Mobile-Agent是一个强大的移动设备操作助手家族,它通过多智能体协作实现高效的导航,支持多种移动设备操作,包括手机、PC 等。项目已在 NeurIPS 2024 和 ICLR 2024 Workshop on Large Language Model (LLM) Agents 等顶级会议上发表,并获得了 CCL 2024 最佳演示奖。用户可以通过 Hugging Face 和 ModelScope 体验 Mobile-Agent-v2 的演示,无需配置模型和设备即可立即体验。Mobile-Agent-v3 拥有更小的内存占用 (8 GB) 和更快的推理速度 (10s-15s 每操作),并完全使用开源模型。
* [codefuse-ai/CodeFuse-muAgent](https://github.com/codefuse-ai/CodeFuse-muAgent) muAgent是一个由 LLM 和 EKG(事件知识图谱)驱动的创新型 Agent 框架,它结合了多 Agent、函数调用、代码解释器等技术。通过基于画布的拖放和简单的文本编写,大型语言模型可以在人类的指导下帮助执行各种复杂的 SOP。该框架兼容市场上现有的框架,并能够实现四个核心差异化技术功能:复杂推理、在线协作、人机交互、知识按需获取。该框架已在蚂蚁集团的多个复杂 DevOps 场景中得到验证,同时,欢迎体验我们快速构建的卧底游戏!
* [THUDM/AgentTuning](https://github.com/THUDM/AgentTuning) 使用跨多个代理任务的交互轨迹来调整LLM的第一次尝试。评估结果表明,AgentTuning 使 LLM 的代理功能能够在看不见的代理任务上具有强大的泛化能力,同时在一般语言能力方面保持良好。我们已经开源了AgentInstruct数据集和AgentLM。AgentInstruct 是一个精心策划的数据集,包含 1,866 个高质量的交互,旨在增强 6 个不同现实世界任务中的 AI 代理。AgentLM模型是通过对Llama2聊天系列的AgentInstruct数据集和ShareGPT数据集进行混合训练生成的。
* [yoheinakajima/babyagi](https://github.com/yoheinakajima/babyagi) 使用GPT3/4来自动完成任务。一个 AI 支持的任务管理系统示例. 该系统使用 OpenAI 和 Pinecone API 创建, 优先级排序和执行任务. 该系统背后的主要思想是基于先前任务的结果和预定义的目标创建任务. 脚本然后使用 OpenAI 的自然语言处理(NLP)能力根据目标创建新任务, 并使用 Pinecone 存储和检索任务结果以获得上下文. 这是原始的[任务驱动的自驱代理](https://twitter.com/yoheinakajima/status/1640934493489070080?s=20)的简化版本.
* [airtai/fastagency](https://github.com/airtai/fastagency) FastAgency是一个快速将多智能体工作流部署到生产环境的工具,它提供统一的编程接口,支持将 AutoGen、CrewAI、Swarm 和LangGraph 等框架编写的智能体工作流部署到开发和生产环境中。只需几行代码,即可创建与您选择的智能体交互的 Web 聊天应用程序或 REST API 服务。FastAgency 支持使用内部消息代理协调多个数据中心的多个机器,轻松实现工作负载的扩展。目前仅支持 AutoGen运行时,但很快将支持其他框架。
* [lafmdp/Awesome-Papers-Autonomous-Agent](https://github.com/lafmdp/Awesome-Papers-Autonomous-Agent) 最近关于构建自主代理的论文集。包括两个主题:基于RL的代理/LLM基于代理。在人工智能中,智能代理(智能体)是以智能方式行事的代理;它感知自己的环境,自主采取行动以实现目标,并可能通过学习或获取知识来提高其表现。智能代理可以是简单的,也可以是复杂的:恒温器其他控制系统被认为是智能代理的一个例子,就像人类一样,任何符合定义的系统,例如公司、国家或生物群落。
* [lupantech/chameleon-llm](https://github.com/lupantech/chameleon-llm) Chameleon是一个基于GPT-4的即插即用组合推理框架,它可以解决科学问题、数学问题和表格问答等任务。该项目利用工具使用和大型语言模型,通过将推理过程分解成多个步骤,并使用不同的工具来解决每个步骤,从而实现更强大的推理能力。该项目已发表在arXiv上,并获得了广泛关注,包括被AlphaSignal评为AI论文排行榜第一名,以及在MarkTechPost、DAIR.AI和WorldofAI等媒体平台上报道。
* [microsoft/TinyTroupe](https://github.com/microsoft/TinyTroupe) TinyTroupe是一个实验性的Python库,利用大型语言模型(例如GPT-4)模拟具有特定性格、兴趣和目标的虚拟人物,从而模拟真实的人际互动和消费者类型。它可用于增强想象力,例如评估广告、软件测试、生成合成数据、提供产品反馈和进行头脑风暴等,帮助用户在广告、软件测试、产品管理等领域获得洞见,做出更明智的决策。目前该项目仍在积极开发中,API可能频繁变化。
* [frdel/agent-zero](https://github.com/frdel/agent-zero) Agent Zero是一个个人化的、可有机生长的AI框架,它不是预先定义的,而是通过使用不断学习和成长。它完全透明、可读、可理解、可定制和交互式,使用计算机作为工具来完成任务。它具有响应式UI、自动记忆和反思功能,可以作为通用助手,执行各种任务,并通过创建子代理来进行多代理协作。Agent Zero可以自定义和扩展,用户可以修改系统提示和工具来改变框架的行为。
* [lavague-ai/LaVague](https://github.com/lavague-ai/LaVague) LaVague 是一个开源的大型行动模型框架,用于开发 AI Web 代理。我们的网络代理采用一个目标,例如“打印 Hugging Face 扩散器库的安装步骤”,并通过利用我们的两个核心组件执行实现这一目标所需的操作:一个世界模型,它采用目标和当前状态(又称当前网页)并将其转化为指令;一个动作引擎,它将这些指令“编译”为动作代码,例如Selenium或Playwright并执行它们。
* [Farama-Foundation/chatarena](https://github.com/Farama-Foundation/chatarena) 提供多智能体语言游戏环境的库,并促进了对自主LLM智能体及其社交交互的研究。它提供以下功能:抽象:它提供了一个灵活的框架,基于马尔可夫决策过程来定义多个参与者、环境以及它们之间的交互。语言游戏环境:它提供了一组可以帮助理解、基准测试或训练代理LLMs的环境。用户友好的界面:它提供 Web UI 和 CLI,以开发/提示工程师您的LLM代理在环境中行动。
* [alipay/agentUniverse](https://github.com/alipay/agentUniverse) agentUniverse 是一个 LLM 多智能体框架,允许开发人员轻松构建多智能体应用程序。agentUniverse 的核心是一组丰富的多代理协作模式组件(可以被视为 Collaboration Mode Factory 或 Pattern Factory)。这些组件允许代理通过专注于不同领域来解决问题,从而最大限度地提高其效率。agentUniverse 还专注于领域专业知识的集成,帮助您将领域知识无缝整合到座席的工作中。
* [noahshinn024/reflexion](https://github.com/noahshinn024/reflexion) 反思:语言代理与语言强化学习,提出了Reflexion框架,使用语言反馈信号(verbalre inforcement)来帮助agent从先前的失败经验中学习。具体地,Reflexion将传统梯度更新中的参数信号转变为添加在大模型上下文中的语言总结,使得agent在下一个episode中能参考上次执行失败的失败经验,从而提高agent的执行效果。这个过程和人类反思(reflexion)过程十分相似。
* [dynamiq-ai/dynamiq](https://github.com/dynamiq-ai/dynamiq) Dynamiq 是一个用于代理 AI 和大语言模型应用的编排框架,旨在简化 AI 应用的开发。它支持检索增强生成 (RAG) 和大型语言模型 (LLM) 代理。项目支持 Python 3.10 及以上版本,提供了文档和示例代码,帮助用户快速上手。例如,可以通过简单的代码集成 OpenAI 模型进行文本翻译,或构建具有代码解释器访问权限的 ReAct 代理来解决复杂的编程任务。
* [OpenLemur/Lemur](https://github.com/OpenLemur/Lemur) Lemur 是一种可公开访问的语言模型,针对自然语言和编码功能进行了优化,可作为多功能语言代理的骨干。随着语言模型不断从对话聊天机器人发展到可以在现实世界中采取行动的功能代理,它们既需要强大的语言理解能力,也需要执行操作的能力。狐猴平衡了自然语言和编码技能,使代理能够遵循指令、推理任务并采取脚踏实地的行动。
* [metauto-ai/GPTSwarm](https://github.com/metauto-ai/GPTSwarm) GPTSwarm是一个基于图的框架,用于构建基于大型语言模型(LLM)的智能体,它允许你将智能体构建成图,并通过自组织优化算法提升智能体群体的性能。GPTSwarm包含多个组件,例如环境、图、LLM、内存和优化器,并提供可视化工具,帮助你理解智能体群体的运作方式。该项目已发表论文,并被ICML 2024 接收为口头报告,可通过pip安装使用。
* [ConnectAI-E/AutoGPT-Next-Web](https://github.com/ConnectAI-E/AutoGPT-Next-Web) 在浏览器中组装、配置和部署自主 AI 代理。特点:1 分钟内使用 Vercel 免费一键部署,搭建个人的 AutoGPT 网站;更好的本地支持,输入中文后内容将以中文展示,而不是英文;源自 AgentGPT 优秀的响应式 UI 设计,支持深色模式;支持绑定自有域名,绑定后,你可以无障碍快速访问;支持访问码控制,只有你或者受信的人才可以使用网站。
* [ranpox/awesome-computer-use](https://github.com/ranpox/awesome-computer-use) 这是一个收集了计算机使用代理资源的项目,包括视频、博客、论文和项目。该项目目前正在建设中,并将持续更新。该项目收集了关于计算机使用代理的各种资源,包括视频、博客、论文和项目,涵盖了建模、框架、接地、代理数据和评估等方面,并提供了一些具体案例和演示,例如使用Claude 3.5 进行自动化操作、编码和任务编排。
* [assafelovic/gpt-researcher](https://github.com/assafelovic/gpt-researcher) 基于 GPT 的自主代理,可对任何给定主题进行在线综合研究。可以生成详细、事实和公正的研究报告,并提供自定义选项,以专注于相关资源、大纲和课程。受最近的计划和求解和RAG(检索增强生成)论文的启发,GPT 研究员解决了速度、确定性和可靠性问题,通过并行代理工作提供更稳定的性能和更高的速度,而不是同步操作。
* [tsinghua-fib-lab/AgentSquare](https://github.com/tsinghua-fib-lab/AgentSquare) AgentSquare是论文 "AgentSquare: Automatic LLM Agent Search in Modular Design Space"的官方实现,提供代码、提示和结果。该项目通过模块化设计空间自动搜索 LLM 代理,并提供演示和快速入门指南。用户可以利用提供的代码和模块库,快速构建和评估 LLM 代理,并参与模块化设计挑战,贡献新的模块,推动 LLM 代理研究社区的发展。
* [aymeric-roucher/GAIA](https://github.com/aymeric-roucher/GAIA) 使用《Transformers Agents》击败 GAIA 基准。 GAIA 由 450 多个具有明确答案的重要问题组成,需要不同级别的工具和自主性来解决。因此它分为 3 个级别,其中 1 级应该可以被非常优秀的LLMs突破,而 3 级则表明模型能力的大幅提升。每个级别都分为一个完全公开的用于验证的开发集,以及一个包含私人答案和元数据的测试集。
* [homanp/superagent](https://github.com/homanp/superagent) 超级代理 - 构建、部署和管理 LLM 支持的代理。一个强大的工具,可简化 LLM(大型语言模型)代理到生产的配置和部署。它提供了一系列特性和功能,使开发人员能够更轻松地构建、管理和将 AI 代理部署到生产环境,包括通过矢量数据库、强大的工具、Webhook、cron 作业等构建内存和文档检索等功能。
* [TaskingAI/TaskingAI](https://github.com/TaskingAI/TaskingAI) TaskingAI 将 Firebase 的简单性带入了 AI 原生应用开发。该平台支持使用LLMs来自各种提供商的各种应用程序创建类似 GPT 的多租户应用程序。它具有独特的模块化功能,如推理、检索、助手和工具,无缝集成以增强开发过程。TaskingAI 的凝聚力设计确保了 AI 应用程序开发的高效、智能和用户友好的体验。
* [GAIR-NLP/factool](https://github.com/GAIR-NLP/factool) 工具增强框架,用于检测由大型语言模型(例如ChatGPT)生成的文本的事实错误。Factool现在支持4个任务:基于知识的QA:Factool检测基于知识的QA中的事实错误。代码生成:Factool检测代码生成中的执行错误。数学推理:Factool检测数学推理中的计算错误。科学文献综述:Factool检测幻觉的科学文献。
* [luban-agi/Awesome-Tool-Learning](https://github.com/luban-agi/Awesome-Tool-Learning) 这是一个关于工具学习的论文和应用的精选列表,包含了工具学习的调查论文、通过微调和上下文学习使用工具的论文、评估方法以及相关应用。该项目提供了工具学习领域的最新研究成果,并涵盖了使用工具的各种方法,例如通过微调或上下文学习,以及对工具学习的评估方法。
* [aiwaves-cn/agents](https://github.com/aiwaves-cn/agents) 用于构建自治语言代理的开源库/框架。该库包括长期短期记忆、工具使用、Web 导航、多智能体通信以及包括人代理交互和符号控制在内的全新功能。使用代理,只需用自然语言填写配置文件,并在终端、Gradio 接口或后端服务中部署语言代理,即可自定义语言代理或多代理系统。
* [openchatai/OpenCopilot](https://github.com/openchatai/OpenCopilot) 适用于您自己的 SaaS 产品的 AI Copilot。Shopify Sidekick 替代品。允许您拥有自己产品的 AI 副驾驶。它与您的底层 API 集成,可以在需要时执行 API 调用。它使用 LLM 来确定用户的请求是否需要调用 API 端点。然后,它决定调用哪个终结点,并根据给定的 API 定义传递相应的有效负载。
* [WooooDyy/LLM-Agent-Paper-List](https://github.com/WooooDyy/LLM-Agent-Paper-List) 一项基于大型语言模型的代理的兴起和潜力的调查,由于大型语言模型 (LLM) 表现出的多功能和卓越的功能,它们被视为通用人工智能 (AGI) 的潜在希望的火花,为构建通用 AI 代理提供了希望。许多研究工作都利用 LLM 作为构建 AI 代理的基础,并取得了重大进展。
* [InternLM/lagent](https://github.com/InternLM/lagent) 基于LLM构建代理的轻量级框架。Lagent 的灵感来自于 PyTorch 的设计理念。我们期望神经网络层的类比将使工作流程更加清晰和直观,因此用户只需要专注于创建层并以 Pythonic 方式定义它们之间的消息传递。这是一个简单的教程,可帮助您快速开始构建多代理应用程序。
* [cpacker/MemGPT](https://github.com/cpacker/MemGPT) 创建具有自我编辑记忆的永久聊天机器人!Memory-GPT是一个系统,它智能地管理LLM中的不同内存层,以便在LLM的有限上下文窗口中有效地提供扩展上下文。例如,MemGPT 知道何时将关键信息推送到矢量数据库,以及何时在聊天中检索它,从而实现永久对话。
* [Significant-Gravitas/Auto-GPT](https://github.com/Significant-Gravitas/Auto-GPT#auto-gpt-an-autonomous-gpt-4-experiment) 使用GPT4来自动完成目标任务。一个实验性开源应用程序,展示了 GPT-4 语言模型的功能。该程序由 GPT-4 驱动,将 LLM 的“思想”链接在一起,以自主实现您设定的任何目标。作为 GPT-4 完全自主运行的首批示例之一,Auto-GPT 突破了 AI 的可能性界限。
* [Yifan-Song793/ETO](https://github.com/Yifan-Song793/ETO) 试错:基于探索的LLM智能体轨迹优化(ACL 2024 主会议)。我们引入ETO (基于探索的轨迹优化),这是一种受人类学习“试错”过程启发的代理学习框架。 ETO 允许LLM代理迭代地收集失败轨迹,并通过从对比失败-成功轨迹对中学习来更新其策略。
* [tangqiaoyu/ToolAlpaca](https://github.com/tangqiaoyu/ToolAlpaca) 具有 3000 个模拟案例的语言模型的通用工具学习。用于在最少的人工监督下学习紧凑语言模型中的通用工具使用能力。它通过多智能体仿真环境生成工具使用语料库,提供来自 400 多个工具的 3.9k 工具使用实例,从而解决了工具学习的挑战。
* [THUDM/AgentBench](https://github.com/THUDM/AgentBench) 第一个旨在评估LLM作为代理在不同环境中的基准测试。它包含 8 个不同的环境,以更全面地评估 LLM 在各种场景中作为自主代理运行的能力。这些环境包括 5 个新创建的域,即 操作系统、数据库、知识图谱、数字纸牌游戏、横向思维难题
* [yangjian102621/chatgpt-plus](https://github.com/yangjian102621/chatgpt-plus) AI 助手全套开源解决方案,自带运营管理后台,开箱即用。集成了 ChatGPT, Azure, ChatGLM,讯飞星火,文心一言等多个平台的大语言模型。支持 MJ AI 绘画,Stable Diffusion AI 绘画,微博热搜等插件工具。采用 Go + Vue3 + element-plus 实现。
* [logancyang/obsidian-copilot](https://github.com/logancyang/obsidian-copilot) Copilot for Obsidian 是 Obsidian 内部的一个免费开源 ChatGPT 界面。它具有简约的设计,并且易于使用。我的目标是让这个 AI 助手以本地为先,以隐私为中心。它有一个本地向量存储,可以完全离线地使用本地模型进行聊天和 QA。
* [zhaoyingjun/chatbot](https://github.com/zhaoyingjun/chatbot) ChatGPT带火了聊天机器人,主流的趋势都调整到了GPT类模式,本项目也与时俱进,会在近期更新GPT类版本。基于本项目和自己的语料可以训练出自己想要的聊天机器人,用于智能客服、在线问答、闲聊等场景。
* [IntelligenzaArtificiale/Free-Auto-GPT](https://github.com/IntelligenzaArtificiale/Free-Auto-GPT) Free Auto GPT with NO paids API 是一个存储库,提供 Auto GPT 的简单版本,Auto GPT 是一个能够独立执行任务的自主 AI 代理。与其他版本不同,我们的实现不依赖于任何付费的 OpenAI API,任何人都可以访问它。
* [togethercomputer/OpenChatKit](https://github.com/togethercomputer/OpenChatKit) 一个强大的开源基础,可以为各种应用程序创建专用和通用聊天机器人。该工具包包括一个指令调优的语言模型,一个审核模型,和一个可扩展的检索系统,用于包括来自自定义存储库的最新响应。
* [hyp1231/awesome-llm-powered-agent](https://github.com/hyp1231/awesome-llm-powered-agent) 由于大型语言模型(LLMs)令人印象深刻的规划、推理和工具调用功能,人们正在积极研究和开发LLM由智能体驱动的代理。这些智能体可以自主(和协作)解决复杂的任务,或模拟人类交互。
* [assafelovic/gpt-newspaper](https://github.com/assafelovic/gpt-newspaper) 创新的自主代理,旨在创建根据用户偏好量身定制的个性化报纸。GPT 报纸通过利用人工智能的力量根据个人品味和兴趣策划、撰写、设计和编辑内容,彻底改变了我们消费新闻的方式。
* [leon-ai/leon](https://github.com/leon-ai/leon) 您的开源个人助理。Leon的NLU将首先使用自己的模型,而不依赖LLM。重要的是,Leon可以100%离线运行,我相信,通过量化等缩小技术,Leon迟早会以LLM为核心,并且仍然能够在边缘运行。
* [enricoros/big-agi](https://github.com/enricoros/big-agi) 由 GPT-4 及更高版本提供支持的个人 AI 应用程序,具有 AI 角色、AGI 功能、文本到图像、语音、响应流、代码突出显示和执行、PDF 导入、开发人员预设等等。使用Next.js,React,Joy。
* [reworkd/AgentGPT](https://github.com/reworkd/AgentGPT) 在浏览器中组装、配置和部署自治 AI 代理。为您自己的自定义 AI 命名,让它开始任何可以想象的目标。它将尝试通过思考要完成的任务、执行它们并从结果中学习来达到目标。
* [TEN-framework/TEN-Agent](https://github.com/TEN-framework/TEN-Agent) TENAgent是一个世界级的多模态AI代理,集成了OpenAI实时API和RTC,具备天气查询、网络搜索、视觉和RAG(检索增强生成)等功能,能够处理多种模态信息并提供智能化的交互体验。
* [MervinPraison/PraisonAI](https://github.com/MervinPraison/PraisonAI) PraisonAI 应用程序将 AutoGen 和 CrewAI 或类似框架组合成一个低代码解决方案,用于构建和管理多智能体LLM 系统,专注于简单性、定制和高效的人机协作。与您的整个代码库聊天。
* [cosin2077/chaty](https://github.com/cosin2077/chaty) 使用 Chaty,您对 ChatGPT 的需求将变为现实!Chaty 允许您:将其用作命令行助手;部署私有 ChatGPT Web 服务;为 ChatGPT 部署 NodeJS API;部署 WeChat ChatGPT 机器人;部署 Telegram ChatGPT 机器人
* [sci-m-wang/Minstrel](https://github.com/sci-m-wang/Minstrel) Minstrel 是一个多智能体系统,用于生成基于LangGPT格式的结构化提示。该项目旨在通过多个智能代理协作生成高质量的LangGPT提示,以提高生成文本的准确性和多样性。
* [McGill-NLP/webllama](https://github.com/McGill-NLP/webllama) 使用Llama 3 构建的最强大的代理,并针对带有对话的 Web 导航进行了微调。构建有效的以人为本的代理来浏览网页。我们不想取代用户,而是为他们配备强大的助手。
* [QwenLM/Qwen-Agent](https://github.com/QwenLM/Qwen-Agent) 基于 Qwen 构建的代理框架和应用程序,具有插件、代码解释器、RAG 和 Chrome 扩展。它还附带了示例应用程序,例如浏览器助手、代码解释器和自定义助手。
* [madawei2699/myGPTReader](https://github.com/madawei2699/myGPTReader) 由chatGPT提供支持,Slack上的一个机器人,可以阅读和总结任何网页,包括电子书在内的文档,甚至是YouTube上的视频。它可以通过语音和你交流。
* [zhayujie/bot-on-anything](https://github.com/zhayujie/bot-on-anything) 将 ChatGPT、必应、文心一言、谷歌Bard 等对话模型连接各类应用,如微信、公众号、QQ、Telegram、Gmail、Slack、Web、企业微信、飞书、钉钉等。
* [lobehub/lobe-chat](https://github.com/lobehub/lobe-chat) 开源的高性能聊天机器人框架,支持语音合成、多模态和可扩展的函数调用插件系统。支持一键免费部署您的私人 ChatGPT/LLM Web 应用程序。
* [wzpan/wukong-robot](https://github.com/wzpan/wukong-robot) 一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,支持ChatGPT多轮对话能力,还可能是首个支持脑机交互的开源智能音箱项目。
* [OpenGVLab/InternGPT](https://github.com/OpenGVLab/InternGPT) 开源演示平台,您可以在其中轻松展示您的 AI 模型。现在它支持DragGAN,ChatGPT,ImageBind,多模态聊天,如GPT-4,SAM,交互式图像编辑等
* [paulpierre/RasaGPT](https://github.com/paulpierre/RasaGPT) 第一个建立在 Rasa 和 Langchain 之上的无LLM头聊天机器人平台。使用 Rasa、FastAPI、Langchain、LlamaIndex、SQLModel、pgvector、ngrok、telegram 构建
* [getumbrel/llama-gpt](https://github.com/getumbrel/llama-gpt) 一个自托管的、离线的、类似 ChatGPT 的聊天机器人。由骆驼 2 提供动力。100%私密,没有数据离开您的设备。新功能:代码支持
* [geekan/MetaGPT](https://github.com/geekan/MetaGPT) 多代理框架:给定一行需求,返回 PRD、设计、任务、存储库。为 GPT 分配不同的角色,以形成用于复杂任务的协作软件实体。
* [botpress/botpress](https://github.com/botpress/botpress) 由 OpenAI 提供支持的下一代聊天机器人和助手的终极平台。开始以闪电般的速度为您的项目或业务构建令人难以置信的助手。
* [memochou1993/gpt-ai-assistant](https://github.com/memochou1993/gpt-ai-assistant) 使用 OpenAI API 和 LINE 消息传递 API 实现的应用程序。通过安装过程,您可以使用LINE移动应用程序开始与自己的AI助手聊天。
* [wangrongding/wechat-bot](https://github.com/wangrongding/wechat-bot) 基于OpenAi ChatGPT + WeChaty 实现的微信机器人 ,可以用来帮助你自动回复微信消息,或者管理微信群/好友,检测僵尸粉等...
* [agent-husky/husky-v1](https://github.com/agent-husky/husky-v1) Husky 的代码,一种开源语言代理,可解决复杂的多步骤推理任务。 Husky v1 解决数字、表格和基于知识的推理任务。
* [CopilotKit/CopilotKit](https://github.com/CopilotKit/CopilotKit) 构建、部署和操作完全自定义的 AI Copilot。应用内 AI 聊天机器人、应用内 AI 代理和 AI 驱动的文本区域的框架。
* [LC1332/Chat-Haruhi-Suzumiya](https://github.com/LC1332/Chat-Haruhi-Suzumiya) Chat凉宫春日,一个开源的角色扮演聊天机器人 Cheng Li、Ziang Leng 等。通过大型语言模型在现实中复活动漫角色
* [alan-ai/alan-sdk-web](https://github.com/alan-ai/alan-sdk-web) 适用于 Web 的生成式 AI SDK,用于为使用 JavaScript、React、Angular、Vue、Ember、Electron 构建的应用程序构建 AI 助手
* [TransformerOptimus/SuperAGI](https://github.com/TransformerOptimus/SuperAGI) SuperAGI - 开发优先的开源自主 AI 代理框架。使开发人员能够快速可靠地构建、管理和运行有用的自主代理。
* [deep-diver/LLM-As-Chatbot](https://github.com/deep-diver/LLM-As-Chatbot) 让人们使用大量开源的指令遵循微调LLM模型作为聊天机器人服务。互联网搜索支持[serper.dev](https://serper.dev/)
* [Holmeswww/AgentKit](https://github.com/Holmeswww/AgentKit) 一个直观的 LLM 提示框架,用于多功能代理,通过从简单的自然语言提示中显式构建复杂的“思维过程”。
* [RockChinQ/QChatGPT](https://github.com/RockChinQ/QChatGPT) 高稳定性、支持插件、实时联网的 ChatGPT QQ 机器人 | 支持 Claude、Google Bard、gpt4free、One API 的 QQ 机器人平台
* [awesome-assistants/awesome-assistants](https://github.com/awesome-assistants/awesome-assistants) 精选的令人敬畏的 AI 助手列表。带有所有这些助手的示例 Telegram 机器人可以在下面的链接上进行测试。
* [getzep/zep](https://github.com/getzep/zep) 人工智能助手的长期记忆。从聊天记录中回忆、理解和提取数据。为个性化 AI 体验提供支持。
* [mnotgod96/AppAgent](https://github.com/mnotgod96/AppAgent) 作为智能手机用户的多模式代理,一个LLM基于多模式代理框架,旨在操作智能手机应用程序。
* [xlang-ai/OpenAgents](https://github.com/xlang-ai/OpenAgents) 现实世界的开放平台的语言智能体,用于在日常生活中使用和托管语言智能体的开放平台。
* [lm-sys/FastChat](https://github.com/lm-sys/FastChat) 令人印象深刻的 GPT-4 开放式聊天机器人 Vicuna:一个以 90% ChatGPT 质量的开源聊天机器人。
* [OpenBMB/AgentVerse](https://github.com/OpenBMB/AgentVerse) 提供了一个灵活的框架,简化了为大型语言模型 (LLM) 构建自定义多代理环境的过程。
* [Lunabot](https://cn.lunabot.ai/zh/) 在任何网页为你服务的AI助理,通过快捷指令释放AI工作潜力,无需KEY和ChatGPT账号
* [n3d1117/chatgpt-telegram-bot](https://github.com/n3d1117/chatgpt-telegram-bot) Telegram 机器人,它与 OpenAI 的官方 ChatGPT API 集成以提供答案,用 Python 编写
* [zjunlp/AutoAct](https://github.com/zjunlp/AutoAct) [ACL 2024 年]AUTOACT:通过自我规划从头开始自动智能体学习以进行 QA
* [bupticybee/ChineseAiDungeonChatGPT](https://github.com/bupticybee/ChineseAiDungeonChatGPT) 中文版的ai地牢,直接使用的openai的ChatGPT api作为讲故事的模型。
* [CLUEbenchmark/SuperCLUE-Agent](https://github.com/CLUEbenchmark/SuperCLUE-Agent) SuperCLUE-Agent: 基于中文原生任务的Agent智能体核心能力测评基准
* [TBXark/ChatGPT-Telegram-Workers](https://github.com/TBXark/ChatGPT-Telegram-Workers) 在Cloudflare Workers上轻松部署您自己的Telegram ChatGPT机器人。
* [web-arena-x/webarena](https://github.com/web-arena-x/webarena) 一个独立的、自托管的 Web 环境,用于构建LLM自治代理
* [askrella/whatsapp-chatgpt](https://github.com/askrella/whatsapp-chatgpt) WhatsApp机器人使用OpenAI的GPT和DALL-E 2来响应用户输入。
* [DachengLi1/LongChat](https://github.com/DachengLi1/LongChat) 支持训练和评估基于长上下文LLM的聊天机器人。
* [BCG-X-Official/agentkit](https://github.com/BCG-X-Official/agentkit) 使用 Nextjs、FastAPI 和 Langchain 构建受约束的代理
* [Meituan-AutoML/MobileVLM](https://github.com/Meituan-AutoML/MobileVLM) 适用于移动设备的强大而开放的视觉语言助手
* [m1guelpf/chatgpt-telegram](https://github.com/m1guelpf/chatgpt-telegram) 运行您自己的GPT电报机器人,只需一个命令
* [AutumnWhj/ChatGPT-wechat-bot](https://github.com/AutumnWhj/ChatGPT-wechat-bot) 几步即可获得一个基于 ChatGPT 的微信机器人
* [Zero6992/chatGPT-discord-bot](https://github.com/Zero6992/chatGPT-discord-bot) 将 ChatGPT 集成到您自己的discord机器人中
* [gmpetrov/databerry](https://github.com/gmpetrov/databerry) 用于构建自定义 LLM 代理的无代码平台
* [zjunlp/LLMAgentPapers](https://github.com/zjunlp/LLMAgentPapers) 关于大型语言模型代理的必读论文。
* [tmgthb/Autonomous-Agents](https://github.com/tmgthb/Autonomous-Agents) 自治代理Agents相关的研究论文。
* [zhayujie/chatgpt-on-wechat](https://github.com/zhayujie/chatgpt-on-wechat) 用ChatGPT搭建微信聊天机器人
* [transitive-bullshit/chatgpt-twitter-bot](https://github.com/transitive-bullshit/chatgpt-twitter-bot) ChatGPT API支持的Twitter机器人
* [FlowiseAI/Flowise](https://github.com/FlowiseAI/Flowise) 拖放UI以构建自定义LLM流程
* [e2b-dev/awesome-ai-agents](https://github.com/e2b-dev/awesome-ai-agents) AI 自主代理列表
#### LLM基准测试_评估评测_排行
#####
* [zjunlp/FactCHD](https://github.com/zjunlp/FactCHD) FactCHD:对事实冲突幻觉检测进行基准测试。ChatGPT/GPT-4 等大型语言模型 (LLMs 因其无数的实际应用而受到广泛关注,但它们的采用受到跨 Web 平台事实冲突幻觉问题的限制。由 LLMs仍未得到充分探索,不仅延伸到对原版事实的判断,还包括对复杂推理任务(如多跳等)中出现的事实错误的评估。作为回应,我们引入了 FACTCHD,这是一个为 LLMs。作为在 “Query-Respons” 上下文中评估事实性的关键工具,我们的基准测试吸收了大规模数据集,封装了广泛的事实性模式,例如普通、多跃点、比较和集合操作模式。我们的基准的一个显着特点是它结合了基于事实的证据链,从而促进了整个评估过程中全面和有利的事实推理。我们评估了多个 LLMs,证明了基准测试的有效性,而当前方法未能忠实地检测事实错误。此外,我们提出了 TRUTH-TRIANGULATOR,它通过基于 Llama2 的工具增强 ChatGPT 和 LoRA 调整综合了反思考虑,旨在通过预测结果和证据的融合产生更可信的检测。我们的基准 FACTCHD 包括一个全面的数据集,包括 51,383 个用于训练的事实/非事实样本和另外 6,960 个用于 LLM。它涵盖了广泛的领域,包括健康、医学、气候、科学等。FACTCHD 通过检查包含单个事实和多个事实之间交互的四种不同模式,努力探索 LLMs。我们的自动化数据构建策略以利用大量广泛知识 (KG) 为中心,包括数据收集过程、“Query-Respons”上下文的生成、基于事实的证据链以及人工过滤和统计分析。
* [THUDM/LongBench](https://github.com/THUDM/LongBench) LongBench 是第一个对大型语言模型的长上下文理解能力进行双语、多任务和综合评估的基准。LongBench 包括不同的语言(中文和英文),以便更全面地评估大型模型在长上下文中的多语言功能。此外,LongBench 由六大类和 21 个不同的任务组成,涵盖了单文档 QA、多文档 QA、摘要、小样本学习、合成任务和代码完成等关键长文本应用场景。我们充分意识到模型评估过程中可能涉及的高成本,尤其是在长上下文场景(例如手动注释成本或 API 调用成本)的背景下。因此,我们采用了一种全自动的评估方法,旨在测量和评估模型以最低的成本理解长期上下文的能力。LongBench 包括 14 个英文任务、5 个中文任务和 2 个代码任务,大多数任务的平均长度从 5k 到 15k 不等,总共有 4750 个测试数据。有关 LongBench 任务的详细统计数据和构建方法,请参阅此处。此外,我们还提供了 LongBench-E,这是一个通过均匀采样构建的具有更均匀长度分布的测试集,在 0-4k、4k-8k 和 8k+ 长度区间内具有可比的数据量,以提供模型在不同输入长度下的性能变化分析。
* [confident-ai/deepeval](https://github.com/confident-ai/deepeval) DeepEval是一个简单易用的开源LLM评估框架,用于评估和测试大型语言模型系统。它类似于Pytest,但专门用于单元测试LLM输出。DeepEval整合了最新的研究成果,使用G-Eval、幻觉、答案相关性、RAGAS等指标来评估LLM输出,并使用在本地机器上运行的LLM和其他NLP模型进行评估。DeepEval支持各种应用,包括RAG、微调、LangChain和LlamaIndex。它可以帮助您轻松确定最佳超参数,以改进RAG管道,防止提示漂移,甚至从OpenAI过渡到自信地托管自己的Llama2。DeepEval提供各种现成的LLM评估指标,包括G-Eval、摘要、答案相关性、忠实度、上下文召回、上下文精度、RAGAS、幻觉等,并支持自定义指标。它可以并行评估整个数据集,并与任何CI/CD环境无缝集成。DeepEval还提供用于在流行的LLM基准上对任何LLM进行基准测试的功能,包括MMLU、HellaSwag、DROP、BIG-Bench Hard、TruthfulQA、HumanEval等。
* [modelscope/evalscope](https://github.com/modelscope/evalscope) EvalScope是由 ModelScope 社区推出的模型评估和性能基准测试框架,它内置了常见的基准测试和评估指标,例如 MMLU、CMMLU、C-Eval、GSM8K、ARC、HellaSwag、TruthfulQA、MATH 和 HumanEval。EvalScope 支持各种类型的模型评估,包括 LLMs、多模态 LLMs、嵌入模型和重排模型,也适用于多种评估场景,例如端到端 RAG 评估、竞技场模式和模型推理性能压力测试。此外,EvalScope 与 ms-swift 训练框架无缝集成,只需点击一下即可启动评估,提供从模型训练到评估的完整端到端支持。EvalScope架构包含以下模块:模型适配器、数据适配器、评估后端和性能评估器。评估后端支持多种模式,包括原生评估框架、OpenCompass、VLMEvalKit、RAGEval 和第三方评估任务。
* [open-compass/CompassJudger](https://github.com/open-compass/CompassJudger) CompassJudger-1 系列是 Opencompass 推出的一款多功能 Judge 模型。这些模型不仅通过评分和比较在各种评估方法中表现出色,而且可以以指定格式输出带有评估详细信息的评论,使其适用于任何评估数据集。此外,它们可以执行类似于典型指令模型的一般任务,因此可以作为具有强大泛化和判断能力的多功能工具。全面的评估能力:CompassJudger-1 能够执行多种评估方法,包括但不限于评分、比较和提供详细的评估反馈。格式化输出:支持根据说明以特定格式输出,便于进一步分析和理解评估结果。多功能性:除了评估功能外,CompassJudger-1 还可以作为通用指令模型来完成日常任务。它还支持 vLLM 和 LMdeploy 等模型推理加速方法。
* [open-compass/GTA](https://github.com/open-compass/GTA) GTA是一个用于评估基于大型语言模型 (LLM) 的通用工具代理在现实世界场景中的工具使用能力的基准。它包含229个由人类编写的查询,这些查询具有简单的现实世界目标,但隐含了工具使用,需要 LLM 推理出合适的工具并规划解决方案步骤。GTA 提供了一个评估平台,配备了感知、操作、逻辑和创造力类别的工具,以评估代理的实际任务执行性能。每个查询都附有真实的图像文件,例如空间场景、网页截图、表格、代码片段和印刷/手写材料,用作查询上下文,以紧密地与现实世界场景保持一致。该基准测试使用真实用户查询、真实部署的工具和真实的多模态输入,以更好地反映现实世界场景中的工具使用能力。
* [suzgunmirac/BIG-Bench-Hard](https://github.com/suzgunmirac/BIG-Bench-Hard) BIG-Bench Hard(BBH) 是一个包含 23 个具有挑战性的 BIG-Bench任务的子集,这些任务是现有语言模型无法解决的。研究发现,通过应用链式思维 (CoT) 提示,PaLM 模型能够在 23 个任务中的 10 个任务上超越人类平均水平,而 Codex 模型则能够在 23 个任务中的 17 个任务上超越人类平均水平。BBH 中的许多任务需要多步推理,因此没有 CoT 的少样本提示无法充分展现语言模型的最佳性能,而 CoT 提示则能够更好地展现语言模型的能力。研究还分析了 CoT 与模型规模之间的相互作用,发现 CoT 能够在一些原本规模扩展曲线平坦的 BBH 任务上实现性能的突显。该项目包含 BBH 任务文件、CoT 提示文件和 Codex 模型输出结果。
* [CLUEbenchmark/FewCLUE](https://github.com/CLUEbenchmark/FewCLUE) FewCLUE 小样本学习测评基准,中文版 小样本学习(Few-shot Learning)正是解决这类在极少数据情况下的机器学习问题。结合预训练语言模型通用和强大的泛化能力基础上,探索小样本学习最佳模型和中文上的实践,是本课题的目标。FewCLUE:中文小样本学习测评基准,基于CLUE的积累和经验,并结合少样本学习的特点和近期的发展趋势,精心设计了该测评,希望可以促进中文领域上少样本学习领域更多的研究、应用和发展。模型有5种不同的方式做任务,分别是使用预训练模型直接做下游任务微调、PET、RoBERTa为基础的Ptuning方式、GPT类模型为基础的Ptuning方式、使用RoBERTa或GPT做零样本学习。
* [evalplus/evalplus](https://github.com/evalplus/evalplus) 对合成代码的LLM严格评估 - NeurIPS 2023。EvalPlus 是 LLM4Code 的严格评估框架,具有:HumanEval+:测试次数比原来的 HumanEval 多 80 倍!MBPP+:测试次数是原始 MBPP 的 35 倍!评估框架:我们的 packages/images/tools 可以在上述基准测试中轻松安全地评估 LLMs。为什么选择EvalPlus?精确的评估和排名:查看我们的排行榜以获取严格的评估前后的最新LLM排名。编码严谨性:看看分数差异!尤其是在使用 EvalPlus 测试之前和之后!丢弃越少越好,因为它意味着代码生成更加严格和不那么松懈;而大幅下降意味着生成的代码往往很脆弱。预生成样本:EvalPlus 通过开源 LLM——无需重新运行昂贵的基准测试!
* [Psycoy/MixEval](https://github.com/Psycoy/MixEval) MixEval的官方评估套件和动态数据发布。在领先的基准测试中,MixEval 和 MixEval-Hard 与 Arena Elo 和 Arena Elo (En) 的相关性最高。在估计在Chatbot Arena上评估单个模型的成本(约合2,936美元)时,我们参考了Amazon Mechanical Turk的众包价格(每票0.05美元)。Chatbot Arena 的价格高得令人望而却步,而 MixEval 和 MixEval-Hard 是便宜且具有成本效益的替代品。基于基准事实值的动态基准测试,源自现成的基准测试混合物,它LLMs以高性能的模型排名(即,与 Chatbot Arena 的 0.96 相关性)进行评估,同时在本地快速运行(运行 MMLU 的时间和成本的 6%),其查询每月稳定且轻松地更新以避免污染。
* [X-PLUG/CValues](https://github.com/X-PLUG/CValues) 面向中文大模型价值观的评估与对齐研究。联合天猫精灵团队发起「给AI的100瓶毒药」项目,邀请中国知名专家学者,每位专家提出100个诱导偏见、歧视回答的刁钻问题,并对大模型的回答进行标注。项目吸引了环境科学、心理学、法理学等多个领域专家参与,并召开了专家研讨会,会后发布业内首个大语言模型治理开源中文数据集100PoisonMpts,包含专家提出的问题、专家自己撰写或认可的答案。提出一个评估中文大模型价值观水平的benchmark,基于safety和responsibility两个评价准则。我们评测了10+大模型,实验既包含人工评测、也构造多项选择题进行自动化评测。
* [ScalerLab/JudgeBench](https://github.com/ScalerLab/JudgeBench) JudgeBench是一个用于评估基于大型语言模型 (LLM) 的评判系统的基准测试集,包含由 GPT-4o 和 Claude-3.5-Sonnet 生成的 350 个和 270 个独特的响应对。每个实例包含两个响应和一个客观标签,指示哪个响应更正确。该项目提供了一个 HuggingFace 数据集,并支持多种评判系统,包括 Arena-Hard、PandaLM、Prometheus 2、JudgeLM、AutoJ 和 Skywork-Critic,以及多种奖励模型,例如 InternLM2-7B-Reward、InternLM2-20B-Reward、GRM-Gemma-2B、Skywork-Reward-Gemma-2-27B 和 Skywork-Reward-Llama-3.1-8B。用户可以使用 `run_judge.py` 脚本运行评判系统,并通过命令行参数指定评判系统名称、模型名称和数据路径等信息。
* [truera/trulens](https://github.com/truera/trulens) TruLens 提供了一套用于开发和监控神经网络的工具,包括大型语言模型。这包括使用 TruLens-Eval 评估LLMs和LLM基于应用程序的工具,以及使用 TruLens-Explain 的深度学习可解释性。TruLens-Eval 和 TruLens-Explain 装在单独的封装中,可以独立使用。更快地创建可靠且功能强大的LLM应用程序。TruLens 是一种软件工具,可帮助您使用反馈功能客观地衡量基于应用程序LLM的质量和有效性。反馈函数有助于以编程方式评估输入、输出和中间结果的质量,以便您可以加快和扩大实验评估。将其用于各种用例,包括问答、摘要、检索增强生成和基于代理的应用程序。
* [WeOpenML/PandaLM](https://github.com/WeOpenML/PandaLM) PandaLM是一个开源工具,用于对大型语言模型(LLM)进行可重复且自动化的评估。它通过提供相同的上下文来比较不同LLM的响应,并提供决策理由和参考答案。PandaLM的目标用户是拥有机密数据的组织和资金有限的研究实验室,他们希望获得可重复的结果,而无需将数据泄露给第三方或支付高昂的成本。PandaLM-7B在测试数据集上实现了93.75%的GPT-3.5评估能力和88.28%的GPT-4评估能力,证明了其可靠性和一致性。该项目包含PandaLM的训练代码、人工标注的测试数据集、模型权重以及其他基础模型(如Bloom、OPT和LLaMA)的指令微调代码和配置。
* [metauto-ai/agent-as-a-judge](https://github.com/metauto-ai/agent-as-a-judge) Agent-as-a-Judge 提供两个主要优势:自动评估: Agent-as-a-Judge 可以在任务执行期间或之后进行评估,与人类专家相比,节省了 97.72% 的时间和 97.64% 的成本。提供奖励信号: 它提供持续的、循序渐进的反馈,可用作进一步代理培训和改进的奖励信号。作为概念验证,我们将 Agent-as-a-Judge 应用于使用 DevAI 的代码生成任务,DevAI 是一个由 55 个真实的 AI 开发任务和 365 个分层用户需求组成的基准测试。结果表明,代理即法官 (Agent-as-a-Judge) 明显优于传统的评估方法,为代理系统中的可扩展自我提升提供可靠的奖励信号。
* [RUCAIBox/BAMBOO](https://github.com/RUCAIBox/BAMBOO) BAMBOO是一个全面的基准测试套件,用于评估大型语言模型(LLM)处理长文本的能力。它包含来自五个任务的十个数据集,涵盖问答、幻觉检测、语言建模、代码补全和文本排序等方面。该基准测试遵循全面评估能力、避免数据污染、准确自动评估和不同长度级别等原则。用户可以通过提供的代码和数据集评估其模型,并通过指定任务名称和输入输出路径进行评估。该项目还提供了从Hugging Face加载模型进行评估的示例,并提供了输出格式和任务选择说明。该项目遵循MIT许可证,并提供了引用格式。
* [HowieHwong/TrustLLM](https://github.com/HowieHwong/TrustLLM) 关于可信度的综合研究LLMs,包括可信度不同维度的原则,建立的基准,评估和主流LLMs可信度的分析,以及对开放挑战和未来方向的讨论。具体来说,我们首先提出了一套跨越八个不同维度的可信赖LLMs原则。基于这些原则,我们进一步建立了六个维度的基准,包括真实性、安全性、公平性、鲁棒性、隐私和机器伦理。然后,我们提出了一项研究,评估了 TrustLLM 中的 16 个主流LLMs,包括 30 多个数据集。本文档解释了如何使用 trustllm python 包来帮助您更快地评估可信度的性能LLM。
* [OpenBMB/ToolBench](https://github.com/OpenBMB/ToolBench) 一个开放的平台,用于训练、服务和评估用于工具学习的大型语言模型。旨在构建开源,大规模,高质量的指令调整SFT数据,以促进构建具有通用工具使用能力的强大LLM。我们的目标是使开源LLM能够掌握数千种不同的现实世界API。我们通过收集高质量的指令调整数据集来实现这一目标。它是使用最新的ChatGPT(gpt-3.5-turbo-16k)自动构建的,该ChatGPT通过增强的函数调用功能进行了升级。我们提供数据集,相应的训练和评估脚本,以及在ToolBench上微调的功能强大的模型ToolLLaMA。
* [paul-rottger/exaggerated-safety](https://github.com/paul-rottger/exaggerated-safety) XSTest是一个测试套件,用于识别大型语言模型中夸大的安全行为。它包含 250 个安全提示和 200 个不安全提示,旨在测试模型是否能够区分安全和不安全的操作,并拒绝执行不安全的操作。该项目提供了一个 CSV 文件,包含所有测试提示,以及五个不同模型在 XSTest 上的响应结果。用户可以使用提供的脚本和笔记本,对模型的响应进行分析,以评估其安全性和可靠性。该项目旨在帮助研究人员和开发者识别和解决大型语言模型中的安全问题,并构建更安全可靠的语言模型。
* [aigc-apps/PertEval](https://github.com/aigc-apps/PertEval) PertEval是一个用于深入探测大型语言模型 (LLM) 知识能力的工具包,它通过知识不变扰动来评估 LLMs 的真实知识水平。PertEval 可应用于任何由多项选择题组成的封闭式基准测试,例如 MMLU 和 AGIEval。该工具包通过知识不变扰动,使 LLMs 在保持原有知识的情况下,能够更好地理解和回答问题。研究结果表明,PertEval 比传统的PromptAttack 方法更有效地评估了 LLMs 的知识能力,并揭示了 LLMs 性能下降的原因。用户可以通过 conda 和 pip 安装 PertEval 并运行它,以评估 LLMs 的知识能力。
* [Psycoy/MixEval](https://github.com/Psycoy/MixEval) MixEval 的官方评估套件和动态数据发布。与 Chatbot Arena Elo 的基准相关性 (%),与评估单个 GPT-3.5-Turbo-0125 模型的总成本相比。在领先的基准测试中,MixEval 和 MixEval-Hard 与 Arena Elo 和 Arena Elo (En) 的相关性最高。在估算 Chatbot Arena 上单个模型的评估成本(约 2,936 美元)时,我们参考了 Amazon Mechanical Turk 的众包价格(每票 0.05 美元)。 Chatbot Arena 的价格昂贵得令人望而却步,而 MixEval 和 MixEval-Hard 则是廉价且具有成本效益的替代方案。欲了解更多详细信息,请参阅我们的论文。
* [nick7nlp/Counting-Stars](https://github.com/nick7nlp/Counting-Stars) Counting-Stars是一个用于评估长文本上下文大型语言模型 (LLM) 的多证据、位置感知且可扩展的基准测试。它通过多证据获取和多证据推理两项任务来评估 LLM,其中包含大量证据,并允许灵活调整证据在上下文中的位置。该基准测试可扩展至任意长度的上下文和任意数量的证据。实验结果表明,Gemini 1.5 Pro 在整体表现上最佳,而 GPT-4 Turbo 在各种任务中的表现最为稳定。该项目还提供了中文和英文版本的 Counting-Stars 数据集,并包含对不同 LLM 在该基准测试上的评估结果。
* [microsoft/promptbench](https://github.com/microsoft/promptbench) 用于评估和理解大型语言模型的统一库。快速模型性能评估:我们提供用户友好的界面,允许快速构建模型、加载数据集和评估模型性能。提示工程:我们实施了几种提示工程方法。例如:Few-shot Chain-of-Thought、Emotion Prompt、Expert Prompting等。评估对抗性提示:promptbench 集成了提示攻击 ,使研究人员能够模拟模型上的黑盒对抗性提示攻击并评估其鲁棒性。动态评估以减轻潜在的测试数据污染:我们集成了动态评估框架DyVal,该框架以可控的复杂性即时生成评估样本。
* [huggingface/evaluation-guidebook](https://github.com/huggingface/evaluation-guidebook) LLM 评估指南。如果您想知道如何确保 LLM 在您的特定任务中表现良好,那么本指南适合您!它涵盖了评估模型的不同方法、设计自己的评估的指南以及实践经验中的提示和技巧。初学者用户:如果您对评估一无所知,您应该先从每章的 基础知识 部分开始,然后再深入研究。您还可以在常识中找到有关重要 LLM:例如,模型推理的工作原理以及什么是标记化。高级用户:更实用的部分是 提示和技巧 以及 故障排除 章节。你还会在 Designing 部分找到有趣的东西。
* [sylinrl/TruthfulQA](https://github.com/sylinrl/TruthfulQA) TruthfulQA是一个用于评估语言模型是否能真实地回答问题的基准数据集,包含817个问题,涵盖健康、法律、金融和政治等38个类别。这些问题的设计旨在诱使模型模仿人类文本,从而产生错误答案。该项目发现,即使是最大的语言模型在 TruthfulQA上的表现也不尽如人意,这表明单纯地扩大模型规模并不能提高其真实性。研究人员建议,使用其他训练目标(例如,除了模仿网络文本之外)来微调模型,可能比单纯扩大模型规模更能提高模型的真实性。
* [llmeval/llmeval-1](https://github.com/llmeval/llmeval-1) 中文大语言模型评测第一期,涵盖了17个大类、453个问题,包括事实性问答、阅读理解、框架生成、段落重写、摘要、数学解题、推理、诗歌生成、编程等各个领域。 在这些问题上,为大模型的回答设置了5个评分项,分别是:正确性、流畅性、信息量、逻辑性和无害性。 在构造了评测目标的基础上,有多种方法可以对模型进行评测。包括分项评测、众包对比评测、公众对比评测、GPT 4自动分项评测、GPT 4 对比评测等方式。
* [GAIR-NLP/auto-j](https://github.com/GAIR-NLP/auto-j) 用于评估对齐的生成式判断的官方存储库。新的开源生成判断器,可以有效地评估它们LLMs如何与人类偏好保持一致。它的特点是:通用性:Auto-J 基于来自真实世界用户查询的数据和来自各种LLMs响应的数据进行训练,涵盖 58 个真实世界场景。灵活性:Auto-J 支持成对响应比较和单响应评估,只需切换到相应的提示即可。可解释性:Auto-J 提供详细的自然语言评论,可提高其评估结果的可靠性,并促进人类参与评估循环。
* [langchain-ai/langchain-benchmarks](https://github.com/langchain-ai/langchain-benchmarks) LangChain Benchmarks是一个用于基准测试各种LLM相关任务的软件包,它利用LangSmith进行组织和评估。项目的目标是展示基准数据集的收集方式、数据集本身、评估方法,并鼓励开发者在这些任务上基准测试他们的解决方案。项目包含多个端到端用例的基准测试,并提供工具使用文档和LangSmith上的Agent Traces链接,方便用户重现和探索。用户可以通过pip安装LangChain Benchmarks,并设置LangSmithAPI密钥以使用评估和调试功能。
* [Felixgithub2017/CG-Eval](https://github.com/Felixgithub2017/CG-Eval) 此项测试中,受测的中文大语言模型需要对科技与工程、人文与社会科学、数学计算、医师资格考试、司法考试、注册会计师考试这六个大科目类别下的55个子科目的1.1W不同类型问题做出准确且相关的回答。 我们设计了一套复合的打分系统,对于非计算题,每一道名词解释题和简答题都有标准参考答案,采用多个标准打分然后加权求和。对于计算题目,我们会提取最终计算结果和解题过程,然后综合打分。
* [declare-lab/instruct-eval](https://github.com/declare-lab/instruct-eval) 用于定量评估指令调优模型的代码。Flan-T5和Alpaca等指令调整模型代表了一个令人兴奋的方向,以更低的成本接近ChatGPT等大型语言模型(LLM)的性能。但是,定性比较不同模型的性能具有挑战性。为了评估模型在各种看不见和具有挑战性的任务中的泛化程度,我们可以使用MMLU和BBH等学术基准。与评估工具和 HELM 等现有库相比,此存储库可以简单方便地评估多个模型。支持HuggingFace Transformers 的大多数模型。
* [zexuanqiu/CLongEval](https://github.com/zexuanqiu/CLongEval) CLongEval是一个用于评估长文本上下文大型语言模型的中文基准数据集,它包含 7 个不同的任务和 7,267 个样本,涵盖了1K 到 100K 的上下文窗口大小,并拥有超过 2,000 个手动标注的问答对,确保了数据集的高质量。该基准数据集可以用于评估各种长文本上下文语言模型,例如 Zh-LLAMA2-7B-64K、Zh-Alpaca2-7B-64K、Qwen-7B-32K、ChatGLM3-6B-32K、InternLM2-7B-32K、InternLM2-20B-32K、GLM-4-128K、Mooshot-v1-32K 和 GPT-4-Turbo-128K。
* [LaVi-Lab/CLEVA](https://github.com/LaVi-Lab/CLEVA) 由香港中文大学LaVi实验室开发的中文模型评估平台,主要功能包括:综合中文基准,包含31个任务(11个应用评估+20个能力评估任务),共37万个中文测试样本(33.98%是新采集的,缓解数据污染问题);标准化的基于提示的评估方法,包含对所有数据的统一预处理,并使用一套一致的中文提示模板进行评估。值得信赖的排行榜,因为使用大量新数据来最大限度地减少数据污染并定期组织评估。
* [OpenLMLab/LEval](https://github.com/OpenLMLab/LEval) L-Eval 的数据和代码,一个全面的长上下文语言模型评估基准,全面的长上下文语言模型(LCLM)评估套件,具有20个子任务,508个长文档和2,000多个人工标记的查询-响应对,包括不同的问题风格,域和输入长度(3k~200k标记)。L-Eval 有 2 组:封闭式任务和开放式任务。封闭式组主要测试对较长上下文的推理和理解能力,开放式组由需要聚合长文档信息(下载数据)的更多总结任务组成。
* [PAIR-code/llm-comparator](https://github.com/PAIR-code/llm-comparator) LLM Comparator 是由 PAIR 团队开发的交互式数据可视化工具,用于评估和分析 LLM 响应。LLM Comparator 是一个带有 python 库的交互式可视化工具,用于并排分析LLM 评估结果。它旨在帮助人们定性分析两个模型的响应在示例和切片级别有何不同。用户可以交互式地发现诸如“模型 A 的响应在电子邮件重写任务上的响应优于 B 的响应,因为模型 A 倾向于更频繁地生成项目符号列表”之类的见解。
* [OpenMOSS/HalluQA](https://github.com/OpenMOSS/HalluQA) “中文大型语言模型中的幻觉评估”数据集和评估脚本,包含 450 个精心设计的对抗性问题,跨越多个领域,考虑了中国的历史文化、习俗和社会现象。第 1 步,可能会诱发模型幻觉的问题。第 2 步,使用 ChatGPT3.5 / Puyu / GLM-130B 生成答案并收集对抗性问题。第3步,为每个对抗性问题编写多个正确和错误的答案,并添加支持证据。第4步,检查所有带注释的问答对并删除低质样本。
* [haonan-li/CMMLU](https://github.com/haonan-li/CMMLU) 综合性的中文评估基准,专门用于评估语言模型在中文语境下的知识和推理能力。CMMLU涵盖了从基础学科到高级专业水平的67个主题。它包括:需要计算和推理的自然科学,需要知识的人文科学和社会科学,以及需要生活常识的中国驾驶规则等。此外,CMMLU中的许多任务具有中国特定的答案,可能在其他地区或语言中并不普遍适用。因此是一个完全中国化的中文测试基准。
* [hendrycks/test](https://github.com/hendrycks/test) 该项目是ICLR 2021论文"Measuring Massive Multitask Language Understanding"的代码库,旨在评估大型语言模型在多任务语言理解方面的能力。该测试包含OpenAI API评估代码,测试数据可下载。项目提供了一个排行榜,展示了不同模型在该测试上的表现,包括Chinchilla、Gopher、GPT-3、flan-T5等模型。该测试基于ETHICS数据集,旨在评估模型在人文、社会科学、STEM等领域的理解能力。
* [Abbey4799/CELLO](https://github.com/Abbey4799/CELLO) CELLO 是系统评估大型语言 MOdels 的 ComplEx 指令理解能力的基准 (AAAI 2024)。我们为复杂指令设计了八个特征,并根据真实场景构建了一个全面的评估数据集。我们建立了四个标准并制定了相应的指标,因为目前的指标是不充分的、有偏见的或过于严格和粗糙的。我们通过大量的实验比较了具有代表性的面向中文和面向英语的模型在遵循复杂指令方面的性能。
* [openai/simple-evals](https://github.com/openai/simple-evals) 这是一个用于评估语言模型的轻量级库,开源该库是为了公开发布最新模型的准确性数据。该库包含多个基准测试结果,包括MMLU、GPQA、MATH、HumanEval、MGSM、DROP和SimpleQA,并展示了不同模型(如o1、GPT-4o、GPT-4 Turbo、Claude 3.5 Sonnet、Llama 3.1、Grok 2、Gemini 1.0 Ultra等)在这些基准测试上的表现。该库还强调了评估对提示的敏感性,并提供了一些提示示例。
* [X-PLUG/CValues](https://github.com/X-PLUG/CValues) 面向中文大模型价值观的评估与对齐研究。邀请中国知名专家学者,每位专家提出100个诱导偏见、歧视回答的刁钻问题,并对大模型的回答进行标注。项目吸引了环境科学、心理学、法理学等多个领域专家参与,并召开了专家研讨会,会后发布业内首个大语言模型治理开源中文数据集100PoisonMpts,包含专家提出的问题、专家自己撰写或认可的答案。
* [OpenBMB/UltraEval](https://github.com/OpenBMB/UltraEval) UltraEval是一个开源框架,用于评估基础模型的能力,提供了一套轻量级、易于使用的评估系统,支持主流大语言模型的性能评估。UltraEval的工作流程包括:数据准备、模型推理、指标计算和结果分析。其主要特点包括:轻量级易用、灵活多样的评估方法、高效快速的推理部署、公开透明的开源排行榜、官方权威的评估数据和广泛的模型支持。
* [Alibaba-NLP/CDQA](https://github.com/Alibaba-NLP/CDQA) CDQA是一个中文动态问答基准,包含了与中国互联网最新新闻相关的问答对,旨在评估中文面向的 LLM 的能力。该基准通过半自动生成管道构建,并根据答案变化频率和预定义答案类型对问题和答案进行分类。该项目通过定期更新答案,防止数据污染,并提供三种类型的提示(Vanilla、Chain-of-Thought 和 Rephrase-and-Respond)以进行评估。
* [FlagOpen/FlagEval](https://github.com/FlagOpen/FlagEval) AI大型基础模型的评估工具包。我们的目标是探索和整合科学、公平、开放的基础模型评估基准、方法和工具。FlagEval将在未来支持在不同模态(如NLP,音频,CV和多模态)中/跨基础模型的多维评估(如准确性,效率,鲁棒性等)。我们希望通过对基础模型的评估,加深对基础模型的理解,促进相关的技术创新和产业化应用。
* [wandb/weave](https://github.com/wandb/weave) Weave是由Weights & Biases构建的用于开发AI驱动的应用程序的工具包。您可以使用 Weave 来:记录和调试语言模型输入、输出和跟踪;为语言模型用例构建严格的同类评估;组织在 LLM,从实验到评估再到生产。我们的目标是在不引入认知开销的情况下,为开发生成式 AI 软件的固有实验过程带来严谨性、最佳实践和可组合性。
* [THUDM/AlignBench](https://github.com/THUDM/AlignBench) 大模型多维度中文对齐评测基准 (ACL 2024)。AlignBench 构建了人类参与的数据构建流程,来保证评测数据的动态更新。AlignBench 采用多维度、规则校准的模型评价方法(LLM-as-Judge),并且结合思维链(Chain-of-Thought)生成对模型回复的多维度分析和最终的综合评分,增强了评测的高可靠性和可解释性。
* [tatsu-lab/alpaca_eval](https://github.com/tatsu-lab/alpaca_eval) 对指令遵循模型(例如 ChatGPT)的评估通常需要人工交互。这既费时又昂贵,而且难以复制。AlpacaEval 在LLM基于自动评估中,快速、廉价、可复制,并针对 20K 人工注释进行验证。它对模型开发特别有用。尽管我们改进了以前的自动评估管道,但仍然存在一些基本限制,例如偏爱更长的输出。
* [CLUEbenchmark/SuperCLUE-safety](https://github.com/CLUEbenchmark/SuperCLUE-safety) 中文大模型多轮对抗安全基准,生成式大模型生成内容具有一定的不可控性,输出的内容并不总是可靠、安全和负责任的。比如当用户不良诱导或恶意输入的时候, 模型可能产生一些不合适的内容,甚至是价值观倾向错误的内容。这些都限制了大模型应用的普及以及大模型的广泛部署。
* [llmeval/llmeval-2](https://github.com/llmeval/llmeval-2) 评测以用户日常使用为主线,结合线上用户问题分布情况,重点考察不同专业本科生和研究生在日常学习和生活中希望借助大模型得到帮助的任务。12个学科分别构造领域知识测试集,出题人基于外部数据库,对每个学科领域构造对应测试题集,题型为单项选择题与问答题。
* [OpenBMB/InfiniteBench](https://github.com/OpenBMB/InfiniteBench) 尖端的基准测试,用于评估语言模型在超长上下文(100k+ 令牌)上处理、理解和推理的能力。长上下文对于增强应用程序LLMs并实现高级交互至关重要。InfiniteBench 旨在通过针对 100k+ 的上下文长度(比传统数据集长 10 倍)来测试语言模型的界限,从而突破语言模型的界限。
* [openai/safety-rbr-code-and-data](https://github.com/openai/safety-rbr-code-and-data) 论文的代码和示例数据:基于规则的语言模型安全奖励。警告:内容可能包含与种族主义、色情主题、自残或其他攻击性材料相关的语言。我们的安全 RBR 黄金数据集是我们在本实验中使用的一小部分人类数据。该数据集用于提示调整和计算提示+ LLM评分器的准确性。
* [RockyHHH/Safety-Evaluating](https://github.com/RockyHHH/Safety-Evaluating) 本文提出了一个基于“文心一言”的中国LLMs的安全评估基准,其中包括8种典型的安全场景和6种指令攻击类型。此外,本文还提出了安全评估的框架和过程,利用手动编写和收集开源数据的测试Prompts,以及人工干预结合利用LLM强大的评估能力作为“共同评估者”。
* [llmeval/llmeval-3](https://github.com/llmeval/llmeval-3) 聚焦于专业知识能力评测,涵盖哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、军事学、管理学、艺术学等教育部划定的13个学科门类、50余个二级学科,共计约20W道标准生成式问答题目(后续我们将继续收集题目将总题库扩充至100W)。
* [IAAR-Shanghai/UHGEval](https://github.com/IAAR-Shanghai/UHGEval) 基于无约束生成的中国大型语言模型幻觉基准测试,一个综合框架,旨在评估幻觉现象。其架构提供了灵活性和可扩展性,允许轻松集成新的数据集、模型和评估指标。该框架对评估常见的幻觉任务是用户友好的,包括我们的新华幻觉和牛津的TruthfulQA等。
* [marzenakrp/nocha](https://github.com/marzenakrp/nocha) 一个数据集,用于评估超长上下文语言模型对书本长度上下文进行推理的能力。我们不会发布整个数据集,因为它包含新的(即受版权保护的)书籍。相反,我们发布了一个基于经典小说的示例数据,并致力于自己在整个数据集上评估 LM。
* [NVIDIA/garak](https://github.com/NVIDIA/garak) NVIDIA/garak是一个用于检测大型语言模型(LLM)漏洞的工具,类似于网络安全中的nmap,可以检查幻觉、数据泄露、提示注入、虚假信息生成、毒性内容生成等多种弱点。支持多种模型和API,并提供命令行接口。该项目是开源的,欢迎贡献。
* [promptfoo/promptfoo](https://github.com/promptfoo/promptfoo) 用于测试和评估LLM输出质量的工具。测试您的提示、模型、RAG。评估和比较LLM输出,捕获回归,并提高提示质量。LLM适用于 OpenAI/Azure GPT、Anthropic Claude、VertexAI Gemini、Ollama、本地和专用模型(如 Mistral/Mixtral/Llama with CI/CD)的评估
* [TheDuckAI/arb](https://github.com/TheDuckAI/arb) Advanced LLMs Reasoning Benchmark 数据集,新颖的基准数据集,由高级推理问题组成,旨在评估LLMs文本理解和专家领域推理,提供比以前的基准更具挑战性的测试,其特点是测试更深入的数学、物理、生物学、化学和法律知识的问题
* [LuckyyySTA/Awesome-LLM-hallucination](https://github.com/LuckyyySTA/Awesome-LLM-hallucination) 大型语言模型中的幻觉调查:原则、分类法、挑战和开放性问题。我们调查了与大型语言模型幻觉相关的论文。这包括相关的调查或分析论文、幻觉原因、幻觉检测和基准、幻觉缓解,以及该领域的挑战和开放性问题。
* [KwaiKEG/CogGPT](https://github.com/KwaiKEG/CogGPT) 在大型语言模型上释放认知动力学的力量。CogBench 是一个双语基准测试,专门用于评估大型语言模型 (LLMs) 在中文和英文中的认知动态。CogBench 根据信息流的类型分为两部分:CogBencha 用于文章,CogBenchv 用于短视频。
* [google-research/xtreme](https://github.com/google-research/xtreme) 评估预训练多语言模型跨语言泛化能力的基准,涵盖 40 种类型不同的语言,包括 9 个任务。XTREME中包含的任务涵盖了自然语言处理中的一系列标准范式,包括句子分类、结构化预测、句子检索和问答。
* [bigai-nlco/LooGLE](https://github.com/bigai-nlco/LooGLE) 一个LLM全面的评估基准,用于长时间理解上下文,其中包含最新的(全部在2022年之后)和超长的现实文档(每个文档超过24k令牌,其中许多超过100k字)和6,000个新生成的问题,跨越不同的领域和类别。
* [stanford-crfm/helm](https://github.com/stanford-crfm/helm) 语言模型整体评估 (HELM),一个提高语言模型透明度的框架 (https://arxiv.org/abs/2211.09110)。该框架还用于在文本到图像模型的整体评估 (HEIM) (https://arxiv.org/abs/2311.04287) 中评估文本到图像模型。
* [juletxara/mgsm](https://huggingface.co/datasets/juletxara/mgsm) 多语言小学数学基准(MGSM)是小学数学问题的基准。8.5K高质量语言多样化的小学数学单词问题的数据集。创建该数据集是为了支持对需要多步骤推理的基本数学问题进行问答的任务。
* [jeinlee1991/chinese-llm-benchmark](https://github.com/jeinlee1991/chinese-llm-benchmark) 中文大模型能力评测榜单:覆盖文心一言、chatgpt、通义千问、讯飞星火、belle / chatglm 等开源大模型,多维度能力评测。不仅提供能力评分排行榜,也提供所有模型的原始输出结果!
* [sambanova/toolbench](https://github.com/sambanova/toolbench) ToolBench 是一个基准测试,为了研究各类LLMs在软件工具操作上的差距。由用于实际任务的各种软件工具组成。还提供了易于使用的基础设施,以直接评估每个模型的执行成功率。
* [mikegu721/xiezhibenchmark](https://github.com/mikegu721/xiezhibenchmark) 獬豸是语言模型(LMs)的综合评估套件。它由249587道多项选择题组成,涵盖 516 个不同的学科和四个难度级别。希望可以帮助开发人员跟踪进度并分析其LM的重要优势/缺点。
* [Hello-SimpleAI/chatgpt-comparison-detection](https://github.com/Hello-SimpleAI/chatgpt-comparison-detection) 论文“ChatGPT 与人类专家有多接近?比较语料库、评估和检测”。我们提出了第一个 Human vs. ChatGPT 对比语料, 叫做 HC3,在 Huggingface Datasets 上🤗提供:HC3-English HC3-Chinese
* [RUCAIBox/HaluEval](https://github.com/RUCAIBox/HaluEval) 大型语言模型的大规模幻觉评估基准。包括 5,000 个带有 ChatGPT 响应的一般用户查询和来自三个任务的 30,000 个特定于任务的示例,即问答、基于知识的对话和文本摘要。
* [Felixgithub2017/MMCU](https://github.com/Felixgithub2017/MMCU) 本评测只是对大模型语义理解能力的测试,并不能代表模型的全面能力评测,评测结果仅供参考。整个评测方式、评测数据集、评测记录都公开,确保可以复现。
* [thu-coai/SafetyBench](https://github.com/thu-coai/SafetyBench) 评估安全性LLMs的综合基准,它包括 11,435 个不同的多项选择题,涵盖 7 个不同的安全问题类别。SafetyBench 还整合了中文和英文数据,便于以两种语言进行评估。
* [LudwigStumpp/llm-leaderboard](https://github.com/LudwigStumpp/llm-leaderboard) 社区共同努力,为 LLMs创建一个中央排行榜。此排行榜的结果收集自模型作者的单篇论文和已发表的结果。对于每个报告的值,源将添加为链接。
* [GPT-Fathom/GPT-Fathom](https://github.com/GPT-Fathom/GPT-Fathom) 开源且可LLM复制的评估套件,在一致设置下对领先的开源和闭源LLMs以及OpenAI的早期模型进行基准测试,以 20+个精选基准测试。
* [shmsw25/FActScore](https://github.com/shmsw25/FActScore) 用于评估长格式生成事实性的包。我们的 EMNLP 2023 论文“FActScore:长格式文本生成中事实精度的细粒度原子评估”的原始实现
* [tjunlp-lab/Awesome-LLMs-Evaluation-Papers](https://github.com/tjunlp-lab/Awesome-LLMs-Evaluation-Papers) 评估大型语言模型:一项综合调查。将LLM的评估分为三大类:知识和能力评估、对齐评估和安全性评估。
* [hkust-nlp/ceval](https://github.com/hkust-nlp/ceval) 一个全面的中文基础模型评估套件。它由 13948 道多项选择题组成,涵盖 52 个不同的学科和四个难度级别
* [HowieHwong/TrustGPT](https://github.com/HowieHwong/TrustGPT) 我们能信任大型语言模型吗?:通过毒性、偏见和价值一致性评估实现负责任的大型语言模型的基准
* [google/BIG-bench](https://github.com/google/BIG-bench) 协作基准测试,旨在探索大型语言模型并推断其未来能力。BIG-bench 中包含的 200 多个任务。
* [CLUEbenchmark/CLUE](https://github.com/CLUEbenchmark/CLUE) 中文语言理解测评基准 中文理解评估基准:数据集、基线、预训练模型、语料库和排行榜
* [InternLM/opencompass](https://github.com/InternLM/opencompass) LLM评估平台,支持超过50 +数据集的各种模型(LLaMA,LLaMa2,ChatGLM2,ChatGPT,Claude等)。
* [xingyaoww/mint-bench](https://github.com/xingyaoww/mint-bench) ICLR 2024 论文 MINT 的官方 Repo:使用工具和语言反馈LLMs进行多回合交互评估
* [sail-sg/Cheating-LLM-Benchmarks](https://github.com/sail-sg/Cheating-LLM-Benchmarks) [SafeGenAi @ NeurIPS 2024]作弊自动 LLM 基准测试:Null 模型实现高胜率。
* [RUCAIBox/LLMBox](https://github.com/RUCAIBox/LLMBox) 用于实现LLMs的综合库,包括统一的训练管道和全面的模型评估。
* [OpenLMLab/GAOKAO-Bench](https://github.com/OpenLMLab/GAOKAO-Bench) 一个评估框架,利用高考问题作为数据集来评估大型语言模型。
* [Open LLM Leaderboard](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard) 开放LLM排行榜旨在跟踪,排名和评估LLM和聊天机器人的发布。
* [CLUEbenchmark/SuperCLUE](https://github.com/CLUEbenchmark/SuperCLUE) 中文通用大模型综合性基准。[superclueai](https://www.superclueai.com)
* [FranxYao/chain-of-thought-hub](https://github.com/FranxYao/chain-of-thought-hub) 使用思维链提示对大型语言模型的复杂推理能力进行基准测试
* [openai/evals](https://github.com/openai/evals) 一个评估LLM和LLM系统的框架,也是一个开源的基准测试表。
* [tjunlp-lab/M3KE](https://github.com/tjunlp-lab/M3KE) 面向汉语大语言模型的大规模多层次多学科知识评估基准
* [MLGroupJLU/LLM-eval-survey](https://github.com/MLGroupJLU/LLM-eval-survey) 调查论文“大型语言模型评估调查”的官方 GitHub 页面。
* [allenai/WildBench](https://github.com/allenai/WildBench) LLMs使用来自真实用户的挑战性任务进行基准测试。
* [CLUEbenchmark/SuperCLUElyb](https://github.com/CLUEbenchmark/SuperCLUElyb) SuperCLUE琅琊榜:中文通用大模型匿名对战评价基准
* [open-compass/T-Eval](https://github.com/open-compass/T-Eval) 逐步评估大型语言模型的工具利用能力
* [EleutherAI/lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness) 自回归语言模型的少样本评估框架。
* [ninehills/llm-inference-benchmark](https://github.com/ninehills/llm-inference-benchmark) LLM-推理基准测试
#### 健康医学大模型及语料库
#####
* [scutcyr/BianQue](https://github.com/scutcyr/BianQue) 中文医疗对话模型扁鹊(BianQue)。实际的医生与用户交谈往往会存在“医生根据用户当前的描述进行持续多轮的询问”。并且医生在最后根据用户提供的信息综合给出建议,如下图所示。我们把医生不断问询的过程定义为 询问链(CoQ, Chain of Questioning) ,当模型处于询问链阶段,其下一个问题通常由对话上下文历史决定。结合当前开源的中文医疗问答数据集(MedDialog-CN、IMCS-V2、CHIP-MDCFNPC、MedDG、cMedQA2、Chinese-medical-dialogue-data),分析其中的单轮/多轮特性以及医生问询特性,结合实验室长期自建的生活空间健康对话大数据,构建了千万级别规模的扁鹊健康大数据BianQueCorpus。对话数据通过“病人:xxx 医生:xxx 病人:xxx 医生:”的形式统一为一种指令格式,训练数据当中混合了大量target文本为医生问询的内容而非直接的建议,这将有助于提升AI模型的问询能力。基于扁鹊健康大数据BianQueCorpus,我们选择了 ChatGLM-6B 作为初始化模型,经过全量参数的指令微调训练得到了新一代BianQue2.0。扩充了药品说明书指令、医学百科知识指令以及ChatGPT蒸馏指令等数据,强化了模型的建议与知识查询能力。[BianQue](https://huggingface.co/spaces/scutcyr/BianQue)
* [tsinghuac3i/ultramedical](https://github.com/tsinghuac3i/ultramedical) UltraMedical项目旨在构建生物医学领域中的专业通用模型,这些模型能够出色地回答与考试、临床场景和研究问题相关的问答,同时保持广泛的通用知识库,以有效处理跨学科领域。该项目构建了一个名为 UltraMedical 的大型高质量生物医学指令数据集,该数据集融合了合成数据和人工数据,并进行了偏好标注。该数据集基于多样性和复杂性的原则构建,确保在该数据集上训练的模型能够处理各种任务和场景。训练过程涉及使用先进的对齐技术,包括监督微调 (SFT)、直接偏好优化 (DPO) 和 Kahneman-Tversky 优化 (KTO)。通过利用这些技术并在 UltraMedical 数据集上训练大型语言模型,该项目旨在创建功能强大且通用的模型,以有效满足生物医学界的需求。该项目已发布了包含 410,000 个合成和人工策划样本的大型高质量生物医学指令数据集,以及超过 100,000 个偏好数据。
* [2020MEAI/TCMLLM](https://github.com/2020MEAI/TCMLLM) 通过大模型方式实现中医临床辅助诊疗(病证诊断、处方推荐等)中医药知识问答等任务,推动中医知识问答、临床辅助诊疗等领域的快速发展。构建的指令微调数据集包含8个数据来源,涵盖4本中医经典教科书《中医内科学》、《中医外科学》、《中医妇科学》和《中医儿科学》(即“内外妇儿”,Internal medicine,Surgery, Gynecology,Pediatrics,简称ISGP)、2020版中国药典(Chinese pharmacopeia,简称CHP)、中医临床经典医案数据(Chinese Medicine Clinical Cases,简称CMCC)、以及多个三甲医院的肺病(Lung)、中风病(Stroke)、糖尿病(Diabetes)、肝病(Liver)、脾胃病(Splenic and stomach diseases)等多病种的临床病历。共68k条,token总数约为10M。
* [Zlasejd/HuangDI](https://github.com/Zlasejd/HuangDI) 在 Ziya-LLaMA-13B-V1的基础上加入中医教材、中医各类网站数据等语料库,训练出一个具有中医知识理解力的语言模型(pre-trained ),之后在此基础上通过海量的中医古籍指令对话数据及通用指令数据进行有监督微调(SFT),使得模型具备中医古籍知识问答能力。以《中华医典》数据库为语料来源,约338MB,由两部分组成:①非结构化的“古籍文本”:涵盖了886本标点符号及内容完整的中医古籍。②结构化的“古籍辞典”:包含“名医”、“名言”、“名词”、“名著”等六大类,由中医学界诸多知名学者对中医古籍内容知识进一步系统提炼整理,是中医古籍内容精华最为直接的集中体现。
* [HIT-SCIR-SC/QiaoBan](https://github.com/HIT-SCIR-SC/QiaoBan) 中文儿童情感陪伴大模型“巧板”。基于通用大模型,使用了通用域人机对话数据、单轮指令数据以及儿童情感陪伴对话数据进行指令微调,训练得到,是通用大语言模型迁移至儿童情感陪伴领域的一次成功实践。三大特点:首先,基于情绪辅导理论构建的儿童情感陪伴对话数据,能够更有效地守护孩子的心理健康。其次,具有儿童心理学背景的志愿者与专家参与完成高质量对话数据的收集。使得能够更加准确地理解和回应儿童的需求,真正与他们建立深入的情感连接。最后,模型与儿童的交互方式更加贴心,让他们能够感受到温暖和认同,成为他们坚实成长道路上的得力伙伴。
* [camel-ai/camel](https://github.com/camel-ai/camel) 骆驼:大规模语言模型社会“心灵”探索的交际代理。一种名为角色扮演的新型交流代理框架。我们的方法涉及使用开始提示来指导聊天代理完成任务,同时保持与人类意图的一致性。我们展示了如何使用角色扮演来生成对话数据,以研究聊天代理的行为和功能,为研究对话语言模型提供宝贵的资源。我们的贡献包括引入一种新的通信代理框架,为研究多智能体系统的协作行为和能力提供可扩展的方法,以及开源我们的库以支持通信代理及其他方面的研究。演示,展示了两个 ChatGPT 代理之间的对话,扮演 python 程序员和股票交易员的角色,合作开发股票市场的交易机器人。
* [FudanDISC/DISC-MedLLM](https://github.com/FudanDISC/DISC-MedLLM) 利用大型语言模型在端到端对话式医疗保健服务中提供准确和真实的医疗响应。它可以满足您的各种医疗保健需求,包括疾病问诊和治疗方案咨询等,为您提供高质量的健康支持服务。构建了一个高质量的数据集[Flmc/DISC-Med-SFT](https://huggingface.co/datasets/Flmc/DISC-Med-SFT),包含超过47万个衍生于现有的医疗数据集重新构建得到的样本。采用了目标导向的策略,通过对于精心选择的几个数据源进行重构来得到SFT数据集。帮助模型学习医疗领域知识,将行为模式与人类偏好对齐,并对齐真实世界在线医疗对话的分布情况。
* [Kent0n-Li/ChatDoctor](https://github.com/Kent0n-Li/ChatDoctor) 使用医学领域知识在大型语言模型(LLaMA)上进行微调的医学聊天模型。数据集:来自 HealthCareMagic.com 100k的患者和医生之间的[真实对话](https://drive.google.com/file/d/1lyfqIwlLSClhgrCutWuEe_IACNq6XNUt/view?usp=sharing)。 来自 ICLiniq-10K 的患者医生之间的 10k 真实对话。 5k从ChatGPT [GenMedGPT-5k](https://drive.google.com/file/d/1ZKbqgYqWc7DJHs3N9TQYQVPdDQmZaClA/view?usp=sharing)和[疾病数据库](https://drive.google.com/file/d/1nDTKZ3wZbZWTkFMBkxlamrzbNz0frugg/view?usp=sharing) 生成了患者和医生之间的[对话](https://github.com/Kent0n-Li/ChatDoctor/blob/main/format_dataset.csv)。
* [PharMolix/OpenBioMed](https://github.com/PharMolix/OpenBioMed) PharMolix和AI产业研究院(AIR)联合发布的首个商业友好型多模式生物医学基础模型。它将生命语言(分子结构和蛋白质序列)与人类自然语言保持一致,在生物医学QA基准上的表现与人类专家不相上下,并在跨模态分子和蛋白质问答任务中表现出强大的性能。DrugFM是由AIR和北京人工智能研究院(BAAI)联合开发的多模态分子基础模型。它利用UniMAP,一种预先训练的分子模型,可以捕获分子的细粒度属性和表示,并结合了我们的多模态分子基础模型MolFM。DrugFM在跨模态检索上实现了SOTA。
* [HICAI-ZJU/Scientific-LLM-Survey](https://github.com/HICAI-ZJU/Scientific-LLM-Survey) 科学大型语言模型:生物和化学领域的调查。包括:Textual Scientific 大型语言模型(医疗、生物学、化学);分子大型语言模型(分子性质预测、交互预测、分子生成/设计/编辑、逆合成/反应预测);蛋白质大型语言模型(蛋白质序列表示、蛋白质序列生成/设计)基因组大型语言模型(常规、Function预测、变异和进化预测、DNA-蛋白质相互作用预测、RNA预测);多模态科学大型语言模型(分子和文本;蛋白质&文本;蛋白质&分子;细胞&文本;全面)
* [FreedomIntelligence/HuatuoGPT-II](https://github.com/FreedomIntelligence/HuatuoGPT-II) 医学适应的一阶段训练LLMs.(一个开放的医疗GPT)。采用创新的领域适应方法,显著提升其医学知识和对话能力。它在多个医学基准测试中展示了最先进的性能,尤其是在专家评估和新的医疗执照考试中超过了 GPT-4。开源7B、13B、34B版本。HuatuoGPT2 数据:发布部分预训练和微调指令。中医LLM评价:综合自动评价方法,对医学反应能力LLM和新鲜专业药师考试考核进行评价。
* [llSourcell/DoctorGPT](https://github.com/llSourcell/DoctorGPT) 一种通过了美国医疗执照考试的大型语言模型。使命是为每个人提供自己的私人医生。基于 Meta 的 Llama2 70 亿参数语言模型,该模型在医学对话数据集上进行微调,然后使用强化学习和进一步改进。由于该模型的大小仅为 3 GB,因此它适用于任何本地设备,因此无需 API 即可使用它。免费的,供离线使用,可以保护患者的机密性,并且可以在iOS,Android和Web上使用。
* [openmedlab/XrayPULSE](https://github.com/openmedlab/XrayPULSE) 基于 PULSE。我们利用MedCLIP作为我们的医疗视觉编码器,并利用Q-former(BLIP2)作为适配器,通过简单的线性变换将图像注入PULSE。为了通过适配器对齐冷冻视觉编码器和LLM,我们借助chatGPT从两个数据集(MIMIC-CXR和OpenI)的自由文本放射学报告中生成中文版Xray-Report配对数据。为了促进生物医学多模态学习的研究,我们将向公众发布数据。
* [CMKRG/QiZhenGPT](https://github.com/CMKRG/QiZhenGPT) 利用[启真医学知识库](http://www.mk-base.com/)构建的中文医学指令数据集,并基于此在Chinese-LLaMA-Plus-7B、CaMA-13B、ChatGLM-6B模型上进行指令精调,大幅提高了模型在中文医疗场景下效果,首先针对药品知识问答发布了评测数据集,后续计划优化疾病、手术、检验等方面的问答效果,并针对医患问答、病历自动生成等应用展开拓展。
* [datasets/medical_dialog](https://huggingface.co/datasets/medical_dialog) MedDialog数据集(中文)包含医生和患者之间的对话(中文)。它有 110 万次对话和 400 万条话语。数据在不断增长,并将添加更多对话。原始对话来自 haodf.com。MedDialog数据集(英语)包含医生和患者之间的对话(英语)。它有26万次对话。数据在不断增长,并将添加更多对话。原始对话来自 healthcaremagic.com 和 icliniq.com。
* [中文医疗信息处理评测基准CBLUE_数据集-阿里云天池](https://tianchi.aliyun.com/dataset/95414) 中国中文信息学会医疗健康与生物信息处理专业委员会在合法开放共享的理念下发起,由阿里云天池平台承办,并由医渡云、腾讯天衍、平安医疗、阿里夸克、北京、郑州、鹏城实验室、哈工大(深圳)、同济、中山、复旦、华东师范等开展智慧医疗研究的单位共同协办,旨在推动中文医学NLP技术和社区的发展。
* [FreedomIntelligence/huatuo_encyclopedia_qa](https://huggingface.co/datasets/FreedomIntelligence/huatuo_encyclopedia_qa) 该数据集共有 364,420 条医学 QA 数据,其中一些以不同的方式存在多个问题。我们从纯文本(例如,医学百科全书和医学文章)中提取医学QA对。我们在中文维基百科上收集了8,699个疾病百科词条和2,736个药物百科词条。此外,我们还从前文健康网站上抓取了226,432篇高质量的医学文章。
* [WENGSYX/CMCQA](https://github.com/WENGSYX/CMCQA) 中国医学领域庞大的对话问答数据集。收集自中国医学会话问答网站春雨,拥有男科、风暴科、妇产科等45个科室的医学对话资料。具体来说,CMCQA 有 130 万个完整的会话或 1983 万个语句或 6.5 亿个词元。同时,我们进一步开源所有数据,推动医疗领域会话问答相关领域的发展。
* [bigscience-workshop/biomedica](https://github.com/bigscience-workshop/biomedical) 用于管理用于大规模语言建模的生物医学训练数据的工具,大规模轻量级、程序化访问生物医学数据集,提高数据处理的可重复性,126+ 生物医学数据集、10+ 种语言、12 个任务类别、按任务类型协调的数据集架构、有关许可、粗粒度/细粒度任务类型、域等的元数据
* [pariskang/CMLM-ZhongJing](https://github.com/pariskang/CMLM-ZhongJing) 首个中医大语言模型——”仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。有史以来第一个中医大语种模型——“CMLM-中京”。受中国古代医学大师张仲景深邃智慧的启发,是专为中医领域设计的预训练大语言模型。
* [X-D-Lab/MindChat](https://github.com/X-D-Lab/MindChat) 从心理咨询、心理评估、心理诊断、心理治疗四个维度帮助人们纾解心理压力与解决心理困惑, 提高心理健康水平. 作为一个心理大模型, MindChat通过营造轻松、开放的交谈环境, 以放松身心、交流感受或分享经验的方式, 与用户建立信任和理解的关系
* [qiuhuachuan/smile](https://github.com/qiuhuachuan/smile) 开源的中文心理健康支持通用模型由 ChatGLM-6B LoRA 16-bit 指令微调得到。数据集通过扩展真实的心理互助 QA为多轮的心理健康支持多轮对话,提高了通用语言大模型在心理健康支持领域的表现,更加符合在长程多轮对话的应用场景。
* [michaelwzhu/ChatMed_Consult_Dataset](https://huggingface.co/datasets/michaelwzhu/ChatMed_Consult_Dataset) 来自于互联网上的医疗问诊问题(11W),反映了真实世界的不同用户/患者的医疗问诊需求。目前response都是由OpenAI GPT-3.5引擎回答的。后续会对互联网上的医生回答与患者回答进行筛选甄别,择优选择,构建质量更优的数据集。
* [openmedlab/PULSE: PULSE: Pretrained and Unified Language Service Engine](https://github.com/openmedlab/PULSE) 中文医疗大语言模型,使用约400万个中文医学领域和通用领域的指令微调数据进行进一步调优。PULSE支持医学领域的各种自然语言处理任务,包括健康教育、医师考试问题、报告解读、医疗记录结构化以及模拟诊断和治疗。
* [Toyhom/Chinese-medical-dialogue-data](https://github.com/Toyhom/Chinese-medical-dialogue-data) 中文医疗对话数据集:Andriatria_男科 94596个问答对 IM_内科 220606个问答对 OAGD_妇产科 183751个问答对 Oncology_肿瘤科 75553个问答对 Pediatric_儿科 101602个问答对 Surgical_外科115991个问答对 总计 792099个问答对
* [shibing624/medical](https://huggingface.co/datasets/shibing624/medical) 医疗数据集,可用于医疗领域大模型训练。共36万条,来自医疗百科数据。共8475条,来自医疗教材的文本数据。共195万条,来自1)中文医疗对话数据集 2)在线医疗百科 3)医疗知识图谱
* [FreedomIntelligence/HuatuoGPT](https://github.com/FreedomIntelligence/HuatuoGPT) 华佗GPT,迈向驯服语言模型成为医生。在庞大的中国医学语料库上训练的大型语言模型(LLM)。我们与华拓GPT的目标是为医疗咨询场景构建更专业的“ChatGPT”。[demo](https://www.huatuogpt.cn/)
* [kyegomez/Med-PaLM](https://github.com/kyegomez/Med-PaLM) 在医疗保健领域实现多模态的生成式 AI 的负责任之路:释放 Med-PaLM 2 的力量,彻底改变医学知识,回答复杂的问题,并通过准确、安全和公平的做法增强医疗保健体验。
* [UCSD-AI4H/Medical-Dialogue-System](https://github.com/UCSD-AI4H/Medical-Dialogue-System) 包含医生和患者之间的对话(中文)。它有 110 万次对话和 400 万条话语。数据在不断增长,并将添加更多对话。原始对话来自 haodf.com。数据的所有版权均属于 haodf.com。
* [wangrongsheng/HealthCareMagic-100k-en](https://huggingface.co/datasets/wangrongsheng/HealthCareMagic-100k-en) 从在线医疗咨询网站HealthCareMagic收集了约10万例真实的医生-患者对话。通过手动和自动方式过滤这些数据,删除医生和患者的身份信息,并使用语言工具纠正语法错误。
* [Teddy-XiongGZ/MedRAG](https://github.com/Teddy-XiongGZ/MedRAG) MedRAG,一个用于医学问答 (QA) 检索增强生成 (RAG) 的系统工具包。MedRAG 用于实施各种 RAG 系统,用于 MIRAGE(医学信息检索增强一代评估)的基准研究。
* [itsharex/CareLlama](https://github.com/itsharex/CareLlama) 一个医疗大语言模型,同时它集合了数十个公开可用的医疗微调数据集和开放可用的医疗大语言模型以促进医疗LLM快速发展。
* [WangRongsheng/CareLlama](https://github.com/WangRongsheng/CareLlama) 医疗大语言模型,同时它集合了数十个公开可用的医疗微调数据集和开放可用的医疗大语言模型以促进医疗LLM快速发展。
* [thu-coai/PsyQA](https://github.com/thu-coai/PsyQA) 一个中文心理健康支持问答数据集,提供了丰富的援助策略标注。可用于生成富有援助策略的长咨询文本。
* [shibing624/MedicalGPT](https://github.com/shibing624/MedicalGPT) 训练医疗大模型,实现包括二次预训练、有监督微调、奖励建模、强化学习训练。
* [SupritYoung/Zhongjing](https://github.com/SupritYoung/Zhongjing) 基于LLaMa的中国医学ChatGPT,基于大规模训练前语料库和多回合对话数据集的训练。
* [FreedomIntelligence/CMB](https://github.com/FreedomIntelligence/CMB) 全方位多层次测评模型医疗知识;测评复杂临床问诊能力;中药科考试;临床项目
* [SCIR-HI/Huatuo-Llama-Med-Chinese](https://github.com/SCIR-HI/Huatuo-Llama-Med-Chinese) 本草(原名:华驼)模型仓库,基于中文医学知识的大语言模型指令微调
* [DUTIR-BioNLP/Taiyi-LLM](https://github.com/DUTIR-BioNLP/Taiyi-LLM) 太一:一种双语(中英文)微调的大语言模型,适用于各种生物医学任务
* [microsoft/LLaVA-Med](https://github.com/microsoft/LLaVA-Med) 用于生物医学的大型语言和视觉助手,专为多模态 GPT-4 级功能而构建。
* [WangRongsheng/MedQA-ChatGLM](https://github.com/WangRongsheng/MedQA-ChatGLM) 基于真实医疗对话数据在ChatGLM上进行LoRA、P-Tuning V2、Freeze、RLHF等微调
* [thomas-yanxin/Sunsimiao](https://github.com/thomas-yanxin/Sunsimiao) 孙思邈中文医疗大模型 :提供安全、可靠、普惠的中文医疗大模型
* [michael-wzhu/ChatMed](https://github.com/michael-wzhu/ChatMed) 中文医疗大模型,善于在线回答患者/用户的日常医疗相关问题
* [MediaBrain-SJTU/MedicalGPT-zh](https://github.com/MediaBrain-SJTU/MedicalGPT-zh) 基于ChatGLM的在高质量指令数据集微调的中文医疗对话语言模型
* [MediaBrain-SJTU/MedicalGPT-zh](https://github.com/MediaBrain-SJTU/MedicalGPT-zh) 基于ChatGLM的在高质量指令数据集微调的中文医疗对话语言模型
* [michael-wzhu/PromptCBLUE](https://github.com/michael-wzhu/PromptCBLUE) 面向医学领域多任务少样本学习的中文大规模指令调优数据集
* [FreedomIntelligence/Huatuo-26M](https://github.com/FreedomIntelligence/Huatuo-26M) 规模最大的中国医学质量保证数据集:包含 2600万个问答对。
* [hejunqing/webMedQA](https://github.com/hejunqing/webMedQA) 从在线健康咨询网站收集的真实中国医学问答数据集。
* [kbressem/medAlpaca](https://github.com/kbressem/medAlpaca) 用于医学问答的微调大型语言模型,包括相关数据。
* [stanford-crfm/BioMedLM](https://github.com/stanford-crfm/BioMedLM) 用于预训练和微调 BioMedLM 生物医学模型的代码。
* [lemuria-wchen/imcs21](https://github.com/lemuria-wchen/imcs21) IMCS-21 的新语料库基准,用于自动医疗咨询系统
* [WangRongsheng/XrayGLM](https://github.com/WangRongsheng/XrayGLM) 首个会看胸部X光片的中文多模态医学大模型
* [chaoyi-wu/PMC-LLaMA](https://github.com/chaoyi-wu/PMC-LLaMA) 迈向构建医学开源语言模型”的官方代码。
* [WangRongsheng/IvyGPT](https://github.com/WangRongsheng/IvyGPT) 最贴近真实医生问诊效果的医疗大语言模型
* [michael-wzhu/ShenNong-TCM-LLM](https://github.com/michael-wzhu/ShenNong-TCM-LLM) “神农”大模型,首个中医药中文大模型.
* [wangrongsheng/icliniq-10k-en](https://huggingface.co/datasets/wangrongsheng/icliniq-10k-en) icliniq.com的1万例实际患者与医生之间对话
* [189569400/MedicalGPT-zh](https://github.com/189569400/MedicalGPT-zh) 基于医疗指令微调的中文医疗问诊模型
* [SCIR-HI/Med-ChatGLM](https://github.com/SCIR-HI/Med-ChatGLM) 基于中文医学知识的ChatGLM指令微调
* [FreedomIntelligence/HuatuoGPT-sft-data-v1](https://huggingface.co/datasets/FreedomIntelligence/HuatuoGPT-sft-data-v1) 华驼大语言模型的微调数据集
* [scutcyr/SoulChat](https://github.com/scutcyr/SoulChat) 中文领域心理健康对话大模型
* [FreedomIntelligence/huatuo_knowledge_graph_qa](https://huggingface.co/datasets/FreedomIntelligence/huatuo_knowledge_graph_qa) 华佗医疗知识图谱问答数据集
* [xionghonglin/DoctorGLM](https://github.com/xionghonglin/DoctorGLM) 基于ChatGLM-6B的中文问诊模型
* [X-jun-0130/LLM-Pretrain-FineTune](https://github.com/X-jun-0130/LLM-Pretrain-FineTune) 医疗大模型、预训练、微调
* [pubmedqa/pubmedqa](https://github.com/pubmedqa/pubmedqa) 生物医学研究问答数据集
* [BillGPT/Chinese-medical-dialogue-data](https://huggingface.co/datasets/BillGPT/Chinese-medical-dialogue-data) 中文医疗对话数据
* [michaelwzhu/ShenNong_TCM_Dataset](https://huggingface.co/datasets/michaelwzhu/ShenNong_TCM_Dataset) 中医药指令数据集
#### 其他及垂直领域大模型
#####
* [wenge-research/YAYI2](https://github.com/wenge-research/YAYI2) 科闻歌研发的新一代开源大语言模型,采用了超过 2 万亿 Tokens 的高质量、多语言语料进行预训练。包括 Base 和 Chat 版本,参数规模为 30B。YAYI2-30B 是基于 Transformer 的大语言模型,采用了超过 2 万亿 Tokens 的高质量、多语言语料进行预训练。针对通用和特定领域的应用场景,我们采用了百万级指令进行微调,同时借助人类反馈强化学习方法,以更好地使模型与人类价值观对齐。[YAYI2 预训练数据](https://huggingface.co/datasets/wenge-research/yayi2_pretrain_data) ,选了约100B数据,数据大小约为500GB。在预训练阶段,我们不仅使用了互联网数据来训练模型的语言能力,还添加了通用精选数据和领域数据,以增强模型的专业技能。通用精选数据包含人工收集和整理的高质量数据。涵盖了报纸类数据、文献类数据、APP类数据、代码类数据、书籍类数据、百科类数据。其中,报纸类数据包括广泛的新闻报道和专栏文章,这类数据通常结构化程度高,信息量丰富。文献类数据包括学术论文和研究报告,为我们的数据集注入了专业和深度。代码类数据包括各种编程语言的源码,有助于构建和优化技术类数据的处理模型。书籍类数据涵盖了小说、诗歌、古文、教材等内容,提供丰富的语境和词汇,增强语言模型的理解能力。构建了一套全方位提升数据质量的数据处理流水线,包括标准化、启发式清洗、多级去重、毒性过滤四个模块。我们共收集了 240TB 原始数据,预处理后仅剩 10.6TB 高质量数据。
* [chancefocus/PIXIU](https://github.com/chancefocus/PIXIU) 貔貅。第一个开源金融大型语言模型 (LLM)、指令调整数据和评估基准,用于全面评估金融 LLM。我们的目标是不断推动金融人工智能(AI)的开源发展。几个关键组件:FLARE:我们的金融语言理解和预测评估基准。FLARE作为金融LLM的评估套件,重点是理解和预测各种金融环境中的任务。FIT:我们的财务指令数据集。FIT是专门为财务任务量身定制的多任务和多模态指令数据集。它是为这些任务微调LLM的培训基地。FinMA:我们的金融大语言模型(LLM)。FinMA是我们项目的核心,为我们的财务任务提供学习和预测能力。主要特点:开放资源:PIXIU公开提供财务LLM,指令调整数据和评估基准中包含的数据集,以鼓励开放研究和透明度。多任务:PIXIU中的指令调优数据和基准测试涵盖了多种财务任务,包括4个财务NLP任务和1个财务预测任务。多模态:PIXIU的指令调优数据和基准由多模态财务数据组成,包括来自股票运动预测任务的时间序列数据。它涵盖了各种类型的金融文本,包括报告、新闻文章、推文和监管文件。多样性:与以前主要关注财务NLP任务的基准不同,PIXIU的评估基准包括与现实世界场景相一致的关键财务预测任务,使其更具挑战性。以及FLARE 2.0:金融语言理解和预测评估基准。
* [zjunlp/WKM](https://github.com/zjunlp/WKM) 最近直接使用大型语言模型( LLMs )作为代理模型来执行交互式规划任务的努力已经显示出值得称赞的结果。然而,尽管取得了这些成就,但由于对“真实”物理世界的了解不足,他们仍然在全球规划中进行无脑的试错,并在局部规划中产生幻觉。模仿人类的世界知识模型,在任务之前提供全局先验知识并在任务期间维护局部动态知识,在本文中,我们引入参数化世界知识模型( WKM )来促进智能体规划。具体来说,我们引导代理模型从专家轨迹和采样轨迹中自我合成知识。然后我们开发WKM ,提供先验任务知识来指导全局规划和动态状态知识来协助局部规划。使用三个最先进的开源LLMs (Mistral-7B、Gemma-7B 和 Llama-3-8B)在三个复杂的现实世界模拟数据集上进行的实验结果表明,与各种方法相比,我们的方法可以实现卓越的性能。强大的基线。此外,我们还分析说明了我们的方法可以有效缓解盲目试错和幻觉动作问题,为智能体对世界的理解提供有力的支持。其他有趣的发现包括:我们的实例级任务知识可以更好地推广到未见过的任务,弱WKM可以指导强代理模型规划,统一的WKM培训具有进一步发展的潜力
* [eureka-research/Eureka](https://github.com/eureka-research/Eureka) 通过编码大型语言模型进行人类级奖励设计,大型语言模型(LLM)作为顺序决策任务的高级语义规划者表现出色。然而,利用它们来学习复杂的低级操作任务,例如灵巧的笔旋转,仍然是一个悬而未决的问题。我们弥合了这一基本差距,并提出了Eureka,这是一种由LLM提供支持的人类级奖励设计算法。 Eureka 利用最先进的 LLM(如 GPT-4)的卓越零镜头生成、代码编写和上下文改进功能,对奖励代码执行上下文进化优化。由此产生的奖励可用于通过强化学习获得复杂的技能。Eureka 生成的奖励函数优于专家人工设计的奖励,无需任何特定于任务的提示或预定义的奖励模板。在包含 10 种不同机器人形态的 29 种开源强化学习环境中,Eureka 在 83% 的任务中表现优于人类专家,平均标准化改进了 52%。尤里卡的通用性还提供了一种新的无梯度方法来从人类反馈(RLHF)进行强化学习,很容易结合人类监督来提高上下文中生成的奖励的质量和安全性。最后,在课程学习环境中使用尤里卡奖励,我们首次演示了一个模拟的五指影手,能够执行钢笔旋转技巧,熟练地以人类的速度操纵笔。
* [QwenLM/Qwen-Audio](https://github.com/QwenLM/Qwen-Audio) Qwen Large Audio Language Model 是阿里云提出的大型模型系列Qwen的多模态版本。Qwen-Audio接受各种音频(人类语音、自然声音、音乐和歌曲)和文本作为输入,输出文本。贡献包括:`基础音频模型`:基础的多任务音频语言模型,支持各种任务、语言和音频类型,作为通用音频理解模型。在Qwen-Audio的基础上,我们通过指令微调开发Qwen-Audio-Chat,实现多轮对话,支持多样化的音频场景。`适用于所有类型音频的多任务学习框架`:为了扩大音频语言预训练的规模,我们通过提出一个多任务训练框架,实现知识共享和避免一对多干扰,解决了与不同数据集相关的文本标签变化的挑战。我们的模型包含 30 多个任务,大量实验表明该模型具有强大的性能。`强大的性能`:在各种基准测试任务中都取得了令人印象深刻的性能,而无需任何特定任务的微调,超过了同类产品。在 Aishell1、cochlscene、ClothoAQA 和 VocalSound 的测试集上取得先进的结果。`从音频和文本输入灵活多运行聊天`:支持多音频分析、声音理解和推理、音乐欣赏和工具使用。
* [DAMO-NLP-SG/Video-LLaMA](https://github.com/DAMO-NLP-SG/Video-LLaMA) 为大型语言模型提供视频和音频理解功能。Video-LLaMA建立在BLIP-2和MiniGPT-4之上。它由两个核心组件组成:(1)视觉语言(VL)分支和(2)音频语言(AL)分支。`VL 分支`(可视编码器:ViT-G/14 + BLIP-2 Q 前置器),引入两层视频Q-Forform和帧嵌入层(应用于每帧的嵌入)来计算视频表示。使用视频到文本生成任务在 Webvid-2M 视频字幕数据集上训练 VL Branch。我们还将图像文本对(来自LLaVA的~595K图像标题)添加到预训练数据集中,以增强对静态视觉概念的理解。在预训练之后,我们使用来自MiniGPT-4,LLaVA和VideoChat的指令调整数据进一步微调我们的VL Branch。`AL 分支`(音频编码器:ImageBind-Huge): 引入两层音频Q-Forform和音频段嵌入层(应用于每个音频段的嵌入)来计算音频表示。由于使用的音频编码器(即 ImageBind)已经跨多个模态对齐,因此我们仅根据视频/图像指令数据训练 AL Branch,只是为了将 ImageBind 的输出连接到语言解码器。在跨模态训练期间,只有视频/音频、位置嵌入层和线性层可训练。
* [opendatalab/LabelLLM](https://github.com/opendatalab/LabelLLM) 开源数据注释平台,LabelLLM 引入了一个创新的开源平台,专门用于优化 LLM。其设计愿景是成为独立开发人员和中小型研究团队的强大工具,以提高注释效率。LabelLLM 的核心致力于通过提供全面的任务管理解决方案和多功能的多模态数据支持,以简单和高效的方式促进模型训练的数据报告过程。LabelLLM 以其适应性强的框架而著称,提供了一系列特定于任务的工具,这些工具可以定制以满足数据注释项目的不同需求。这种灵活性允许无缝集成到各种任务参数中,使其成为为模型训练准备数据的宝贵资产。认识到数据多样性的重要性,LabelLLM 扩展了其功能,以涵盖广泛的数据模式,包括音频、图像和视频。这种整体方法可确保用户可以在单个统一平台下执行涉及多种数据类型的复杂注释项目。LabelLLM 确保最高标准的质量和效率,具有包罗万象的任务管理系统。该系统提供对注释进度和质量控制的实时监控,从而保证所有项目数据准备阶段的完整性和及时性。
* [Xingrun-Xing/SpikeLM](https://github.com/Xingrun-Xing/SpikeLM) 为了实现类似于人脑的节能人工智能,仿生尖峰神经网络(SNN)具有生物合理性、事件驱动稀疏性和二元激活等优点。最近,大规模语言模型表现出了有希望的泛化能力,这使得探索更通用的尖峰驱动模型成为一个有价值的问题。然而,现有 SNN 中的二进制尖峰无法编码足够的语义信息,给泛化带来了技术挑战。这项工作提出了第一个用于一般语言任务的完全尖峰机制,包括判别性任务和生成性任务。与之前具有 {0,1} 水平的尖峰不同,我们提出了一种更通用的尖峰公式,具有双向、弹性幅度和弹性频率编码,同时仍然保持 SNN 的加法性质。在单个时间步长中,尖峰通过方向和幅度信息得到增强;在尖峰频率方面,精心设计了控制尖峰放电率的策略。我们将这种弹性双峰机制插入到语言建模中,命名为 SpikeLM。这是第一次使用完全尖峰驱动的模型来处理一般语言任务,其精度比以前高得多。 SpikeLM 还极大地弥补了 SNN 和 ANN 在语言建模方面的性能差距。
* [OpenBMB/MiniCPM](https://github.com/OpenBMB/MiniCPM) 面壁智能与清华大学自然语言处理实验室共同开源的系列端侧大模型,主体语言模型 MiniCPM-2B 仅有 24亿的非词嵌入参数量, 总计2.7B参数量。经过 SFT 后,在公开综合性评测集上,与 Mistral-7B相近(中文、数学、代码能力更优),整体性能超越 Llama2-13B、MPT-30B、Falcon-40B 等模型。经过 DPO 后,在当前最接近用户体感的评测集 MTBench上,也超越了 Llama2-70B-Chat、Vicuna-33B、Mistral-7B-Instruct-v0.1、Zephyr-7B-alpha 等众多代表性开源大模型。以 MiniCPM-2B 为基础构建端侧多模态大模型 MiniCPM-V,整体性能在同规模模型中实现最佳,超越基于 Phi-2 构建的现有多模态大模型,在部分评测集上达到与 9.6B Qwen-VL-Chat 相当甚至更好的性能。经过 Int4 量化后,可在手机上进行部署推理,流式输出速度略高于人类说话速度。也直接跑通了多模态大模型在手机上的部署。一张1080/2080可高效参数微调,一张3090/4090可全参数微调,一台机器可持续训练 MiniCPM,二次开发成本较低。
* [adithya-s-k/omniparse](https://github.com/adithya-s-k/omniparse) 可将任何非结构化数据提取并解析为针对 GenAI (LLM) 应用程序优化的结构化、可操作的数据。无论您是处理文档、表格、图像、视频、音频文件还是网页,OmniParse 都能让您的数据保持干净、结构化,并为 RAG、微调等 AI 应用程序做好准备。特征:完全本地,无外部 API;适合 T4 GPU;支持 ~20 种文件类型;将文档、多媒体和网页转换为高质量的结构化 Markdown;表格提取、图像提取/字幕、音频/视频转录、网页抓取;可使用 Docker 和 Skypilot 轻松部署;Colab 友好;由 Gradio 提供支持的交互式用户界面。处理数据具有挑战性,因为它具有不同的形状和大小。OmniParse 旨在成为一个摄取/解析平台,您可以在其中摄取任何类型的数据,例如文档、图像、音频、视频和 Web 内容,并获得对 GenAI (LLM) 友好的最结构化和可操作的输出。
* [OpenGVLab/InternVL](https://github.com/OpenGVLab/InternVL) InternVL 系列:GPT-4o 的开创性开源替代品。接近GPT-4o表现的可商用开源多模态对话模型。InternVL 1.5,这是一种开源多模态大型语言模型 (MLLM),旨在弥合开源和专有商业模型在多模态理解方面的能力差距。我们介绍三种简单的设计:强视觉编码器:我们探索了一种针对大规模视觉基础模型的持续学习策略——InternViT-6B,提升其视觉理解能力,使其可以在不同的LLMs环境中转移和复用。动态高分辨率:我们根据输入图像的纵横比和分辨率,将图像划分为 1 到 40 的 448 × 448 像素的瓦片,最高支持 4K 分辨率输入。高质量的双语数据集:我们精心收集了一个高质量的双语数据集,涵盖了常见场景、文档图像,并用中英文问答对进行标注,显著提高了OCR和中文相关任务的性能。
* [DAMO-NLP-MT/PolyLM](https://github.com/DAMO-NLP-MT/PolyLM) 多语言大型语言模型,旨在解决当前LLM研究中的以下空白和局限性,为推进这一领域提供全面和创新的解决方案。涵盖 18 种最常用的语言。PolyLM精通全球主要的非英语语言,如西班牙语,俄语,阿拉伯语,日语,韩语,泰语,印度尼西亚语和中文等。它是对现有开源模型的完美补充,包括:(1)LLaMA,其中英语在整个数据集中占主导地位。(2)BLOOM,未能解决大量人口使用的语言,如日语,韩语和泰语。更好的多语言教学跟踪能力。我们建议MULTIALPACA来补充ALPACA和CHINESEALPACA,使LLM更好地遵循多语言说明,特别是那些来自非英语母语人士的指示。强劲的性能。与具有相似模型大小的流行多语言LLM相比,PolyLM在各种任务(包括QA,理解和生成)上表现出卓越的性能。
* [Yu-Yang-Li/StarGLM](https://github.com/Yu-Yang-Li/StarGLM) 整合了司天工程相关的语料数据与知识库资料,训练得到了天文大模型。司天工程是时域天文学所提出的“十五五”天文重大基础设施,一期计划在国内多个优选观测台址布置54台(18组)口径1米级的大视场望远镜,组成多波段同时监测网络,每30分钟完成1万平方度天区的高精度三色“凝视”巡天。司天的采样频率比全球其它巡天项目高近两个量级,将突破目前探测时标的限制,在新的空域和时域下发现大批新天体、新现象,在宇宙极端高能爆发源、引力波电磁对应体、系外行星和太阳系天体等理论和观测研究中形成新的突破,在“两暗一黑三起源”等重大科学问题研究以及地球文明灾难预警等国家空间安全问题方面发挥重要作用。
* [Tele-AI/Telechat](https://github.com/Tele-AI/Telechat) 中电信人工智能科技研发训练的大语言模型,其中7B模型基座采用1.5万亿 Tokens中英文高质量语料进行训练,12B模型基座采用3万亿 Tokens中英文高质量语料进行训练。开源了对话模型TeleChat-7B与TeleChat-12B。TeleChat-PTD 是由电信星辰大模型TeleChat预训练语料中抽取出的的综合性大规模中文数据集。数据主要来源于网页、书籍、官方媒体等。 我们使用规则+模型的方式进行了相关的过滤,并对数据进行了相似性去重,尽可能地提取出高质量地数据。TeleChat-PTD 数据集大约公开了2.7亿条数据,数据由纯中文文本构成,原始大小约1TB,压缩后480G,共189个文件。数据集中已经去除了其它冗余信息。[数据下载](https://huggingface.co/datasets/Tele-AI/TeleChat-PTD)
* [thu-coai/CharacterGLM-6B](https://github.com/thu-coai/CharacterGLM-6B) 用大型语言模型来进行自定义中文 AI 角色对话,主要考虑了七种属性,包括身份、兴趣、观点、经历、成就、社交关系和其他。行为主要由一些动态的元素组成:语言特征、情感表达和互动模式。例如,老年人更倾向于使用一些更正式的语言,而青少年则更喜欢用网络流行语。CharacterGLM则主要考虑了语言学特征和性格作为行为方面的设计。收集了包含属性和行为的角色描述,并众包构建了一个大规模高质量的对话数据集,并将角色描述转化为了自然语言提示,进而使用从6B到66B参数的ChatGLM模型进行微调来打造CharacterGLM。此外,还收集了一部分线上交互数据来增强 CharacterGLM 的训练,以实现CharacterGLM的自我完善式迭代。
* [THUDM/CogVLM](https://github.com/THUDM/CogVLM) 强大的开源视觉语言模型(VLM)。CogVLM-17B具有100亿个视觉参数和70亿个语言参数。在10个经典的跨模态基准测试上实现了最先进的性能,包括NoCaps,Flicker30k字幕,RefCOCO,RefCOCO+,RefCOCOg,Visual7W,GQA,ScienceQA,VizWiz VQA和TDIUC,并在VQAv2,OKVQA,TextVQA,COCO字幕等方面排名第二,超过或匹配PaLI-X 55B。CogVLM还可以与您讨论图像。CogVLM 是一个强大的开源视觉语言模型,利用视觉专家模块深度整合语言编码和视觉编码,在 10 项权威跨模态基准上取得了SOTA性能。目前仅支持英文,后续会提供中英双语版本支持。CogVLM模型包括四个基本组件:视觉转换器(ViT)编码器,MLP适配器,预训练大语言模型(GPT)和视觉专家模块。
* [QwenLM/Self-Lengthen](https://github.com/QwenLM/Self-Lengthen) Self-Lengthen是一个数据驱动技术,用于从语言模型中提取长文本生成能力。它通过迭代地自我延长输出并进行归纳式自我对齐来生成越来越长的文本。该项目包含Self-Lengthen的核心实现,并成功将Qwen的最大输出长度从1000字扩展到8000字。Self-Lengthen不需要高质量的人工撰写文本,只需要一组种子用户长输出指令。它利用语言模型的内在知识和技能,无需从更强大的语言模型中进行任何形式的蒸馏。Self-Lengthen可以生成适合各种长输出指令的响应,不受严格结构化格式的限制。该项目提供代码,支持多节点和单节点执行,用户可以根据自己的环境配置运行代码,并收集生成的额外数据。
* [IEIT-Yuan/Yuan2.0-M32](https://github.com/IEIT-Yuan/Yuan2.0-M32) Yuan2.0-M32是一个混合专家 (MoE) 语言模型,有 32 位专家,其中 2 位活跃专家。提出了一种新的路由器网络——注意力路由器(Attention Router),并已被采用以提高专家选择的效率,与使用经典路由器网络的模型相比,准确率提高了 3.8%。 Yuan 2.0-M32使用2000B token从头开始训练,其训练计算量仅为相同参数规模的稠密模型所需的9.25%。 Yuan2.0-M32 在编码、数学和各种专业领域展示了竞争能力,总共 40B 的活动参数中仅使用 3.7B,每个代币的前向计算为 7.4 GFLOPS,仅为 Llama3 的 1/19。 70B的要求。 Yuan 2.0-M32 在 MATH 和 ARC-Challenge 基准测试中超越了 Llama3-70B,分别达到了 55.9% 和 95.8% 的准确率。
* [LightChen233/reasoning-boundary](https://github.com/LightChen233/reasoning-boundary) 该项目提出了一个新的推理粒度 (RG) 框架,用于量化和优化链式思维 (CoT) 的能力。该框架通过定义推理粒度来量化 CoT 的上限,并建立了粒度的组合法则,从而为各种现实世界的 CoT 任务提供了一种实用的量化方法。此外,该项目还提出了三种类型的推理粒度,并通过组合法则优化这些类别,以促进推理粒度提升和推理路径优化,从而改进 CoT 的性能。该项目在 25 个模型和 4 个任务上进行了广泛的实验,验证了该框架的存在性和合理性,并解释了 10 种 CoT 策略的有效性,从两个角度指导优化。该项目旨在提供对大型语言模型 (LLM) 中推理的边界和优化策略的全面理解。
* [DaveBben/esp32-llm](https://github.com/DaveBben/esp32-llm) 在 ESP32 上运行 LLM。使用的 “Large” 语言模型实际上非常小。它是在 tiny stories 数据集上训练的 260K 参数 tinyllamas 检查点。LLM 实现是使用 llama.2c 完成的,并进行了少量优化,使其在 ESP32 上运行得更快。LLMs 需要大量内存。即使是这个小的仍然需要 1MB 的 RAM。我使用了 ESP32-S3FH4R2因为它有 2MB 的嵌入式 PSRAM。通过对 llama2.c 进行以下更改,我能够达到 19.13 tok/s:在数学运算中利用 ESP32 的两个内核。利用 ESP-DSP 库中专为 ESP32-S3 设计的一些特殊点积函数,这些功能利用了 ESP32-S3 为数不多的 SIMD 指令。将 CPU 速度提高到 240 MHz,将 PSRAM 速度提高到 80MHZ,并增加指令缓存大小。
* [microsoft/GRIN-MoE](https://github.com/microsoft/GRIN-MoE) GRIN-MoE 是一个基于梯度信息引导的混合专家模型,它在只有 6.6B 活跃参数的情况下,在各种任务(特别是编码和数学任务)中取得了优异的性能。GRIN 使用 SparseMixer-v2 来估计与专家路由相关的梯度,而传统的 MoE 训练将专家门控视为梯度估计的代理。GRIN 在训练 MoE 时无需使用专家并行或令牌丢弃,而传统的 MoE训练则需要使用这些技术。该模型适用于需要内存/计算受限环境、延迟限制场景和强大推理能力(特别是代码、数学和逻辑)的通用 AI 系统和应用程序。开发者应注意语言模型的常见限制,并在使用模型之前评估和缓解准确性、安全性以及公平性问题。
* [OpenNLPLab/TransnormerLLM](https://github.com/OpenNLPLab/TransnormerLLM) 第一个基于线性注意力的LLM,在准确性和效率方面都优于传统的softmax基于注意力的模型。它是在具有多达 1.4 万亿个词元的高质量语料库上进行训练的。从以前的线性注意力架构TransNormer演变而来,进行了高级修改,包括LRPE位置嵌入,闪电注意力加速,新的门控和规范化机制。TransNormerLLM在多个公认的中文,英文和多语言通用和特定领域的基准测试中实现了其规模的竞争性能。此版本包括具有 385M、1B 和 7B 参数的基本版本。所有版本都完全开放给学术研究。开发者只需通过电子邮件申请并获得官方商业许可,即可免费使用商业用途。
* [ack-sec/toyberry](https://github.com/ack-sec/toyberry) Toyberry是一个基于 Atlas 算法的推理系统,该算法是蒙特卡洛树搜索 (MCTS) 的扩展。该系统使用大型语言模型 (LLM) 来生成和评估复杂问题解决任务的推理轨迹。主要关注推理过程的跟踪和轨迹,以及观察系统的行为。它可以应用于各种领域,例如理解思想的生成、注入可以帮助打破并更可靠地执行对齐逃逸、专注的合成数据生成等。该项目提供示例跟踪,并鼓励用户贡献特定领域的跟踪。Toyberry 的关键组件包括 Atlas 搜索算法、语言模型接口 (使用 OpenAI 的 GPT-4)、内存管理、奖励函数、轨迹验证的鉴别器和可视化工具。
* [meta-llama/llama-stack](https://github.com/meta-llama/llama-stack) Llama Stack是一个用于构建生成式 AI 应用程序的标准化框架,它定义了一套 API,涵盖了从模型训练和微调到产品评估、构建和运行 AI 代理的整个开发生命周期。Llama Stack 提供了 API 的实现,包括开源版本和与提供商的合作,确保开发者可以使用一致的、相互关联的组件跨平台构建 AI 解决方案。Llama Stack 包含推理、安全、内存、代理系统、评估、训练后、合成数据生成和奖励评分等 API,每个 API 都是一组 REST 端点。Llama Stack 还提供各种分布,将 API 和提供商组合在一起,为应用程序开发者提供一致的整体解决方案。
* [huggingface/transfer-learning-conv-ai](https://github.com/huggingface/transfer-learning-conv-ai) 该项目提供了一个使用迁移学习构建最先进的对话式 AI 的代码库,该代码库基于 OpenAI GPT 和 GPT-2 Transformer 语言模型,可以用于训练对话代理。该项目包含用于训练和测试的脚本,并提供了一个预训练模型,可在单个或多个 GPU 上进行训练。该项目还包含一个与预训练模型交互的脚本,可用于与模型进行对话。该项目代码简洁易懂,并包含分布式和 FP16 选项,可用于重现 HuggingFace 在 NeurIPS 2018 对话竞赛 (ConvAI2) 中取得的最佳成绩。该模型可以在一个 8 V100 云实例上训练大约一个小时,并且提供了一个预训练模型。
* [databricks/megablocks](https://github.com/databricks/megablocks) MegaBlocks是一个轻量级的混合专家 (MoE) 训练库,核心是高效的“无丢弃 MoE” (dMoE) 和标准 MoE层。MegaBlocks 与 Megatron-LM 集成,支持 MoE 的数据、专家和流水线并行训练。MegaBlocks 的 dMoE性能优于使用 Tutel 训练的 MoE,速度提升高达 40%。MegaBlocks dMoE 通过将 MoE 重构为块稀疏操作,避免了令牌丢弃,同时保持了硬件效率。与使用 Megatron-LM 训练的密集 Transformer 相比,MegaBlocks dMoE 可以将训练速度提高 2.4 倍。安装 MegaBlocks可以使用 `pip install megablocks` 命令,并使用提供的脚本进行 Transformer MoE 和 dMoE 语言模型的预训练。
* [Tencent/Tencent-Hunyuan-Large](https://github.com/Tencent/Tencent-Hunyuan-Large) 腾讯开源了 Hunyuan-Large 模型,这是一个基于 Transformer 的混合专家 (MoE)模型,拥有 3890 亿参数,其中 520 亿参数处于激活状态,是目前业界最大的开源 Transformer MoE 模型。该模型通过合成数据增强训练,并利用 GQA 和 CLA技术压缩 KV 缓存,显著降低内存使用和计算开销,提升推理效率。此外,Hunyuan-Large 还支持高达 256K 的文本序列,并提供针对该模型的推理框架,基于 TRT-LLM-backend 和 vLLM 开源框架,优化了性能,例如引入了新的 CLA 结构,显著减少 GPU 内存使用,确保高效处理长文本场景。
* [maitrix-org/llm-reasoners](https://github.com/maitrix-org/llm-reasoners) LLM Reasoners是一个用于增强大型语言模型推理能力的库,它将多步推理视为规划问题,并通过搜索最佳推理链来实现探索与利用的平衡。该库利用“世界模型”和“奖励”的概念,用户只需定义奖励函数和可选的世界模型,LLM Reasoners即可自动完成推理算法、可视化、LLM调用等操作。该库包含多种先进的推理算法,例如Reasoning-via-Planning、StructChem、Chain-of-thoughts、Least-to-most prompting、Tree-of-Thoughts、Self-Eval Guided Decoding、Grace Decoding、Eurus和PromptAgent,并支持Llama-2等多种大型语言模型。
* [SUSTech/SUS-Chat-34B](https://huggingface.co/SUSTech/SUS-Chat-34B) 由南方科技大学和IDEA-CCNL联合发布的34B中英双语对话模型。该模型基于 `01-ai/Yi-34B` 数百万个高质量的多语言教学数据,并对其进行了微调。在保持基础模型强大的语言能力的同时,通过高质量的指令微调改善了模型对人类指令的响应,并擅长通过思维链模仿人类的思维过程。它在长文本中引入了指令间注意力共享,将窗口大小从 4K 扩展到 8K,显着增强了多回合对话的可用性。采用14亿令牌的高质量复杂指令数据进行训练,涵盖中英文、多轮对话、数学、推理等各类指令数据
* [SimpleBerry/LLaMA-O1](https://github.com/SimpleBerry/LLaMA-O1) LLaMA-O1 是一个开源的大型推理模型框架,使用 PyTorch 和 HuggingFace进行训练、推理和评估。它结合了蒙特卡洛树搜索 (MCTS)、自我博弈强化学习、PPO、AlphaGo Zero 的双策略范式和大型语言模型,旨在实现强大的推理能力。该项目提供预训练模型、训练代码和评估工具,并支持使用 OpenLongCoT 数据集进行训练。用户可以通过安装依赖库、克隆代码并运行训练脚本进行模型训练,并使用提供的推理和评估工具进行测试。该项目还提供相关文献和联系方式,方便用户进行交流和学习。
* [microsoft/Samba](https://github.com/microsoft/Samba) Samba是一个简单而强大的混合模型,具有**无限**的上下文长度。其架构非常简单:Samba = Mamba + MLP + 滑动窗口注意力+ 层级 MLP 堆叠。最大的模型 Samba-3.8B 在 Phi3 数据集的 3.2 万亿个 token 上进行训练,在主要基准测试(例如 MMLU、GSM8K 和 HumanEval)上大幅超越 Phi3-mini。Samba 还可以通过最少的指令微调实现完美的**长上下文**检索能力,同时保持其对序列长度的**线性复杂度**。这种能力使 Samba-3.8B-instruct 在下游任务(如长上下文摘要)中取得了令人印象深刻的性能。
* [johnma2006/mamba-minimal](https://github.com/johnma2006/mamba-minimal) mamba-minimal是一个用 PyTorch 实现的 Mamba 模型,它以单文件形式提供了一个简化的 Mamba 实现,并保证了与官方实现的数值输出一致。该项目以可读性为优先,代码经过注释,但没有包含官方实现中的速度优化和参数初始化,旨在帮助用户理解 Mamba 模型的工作原理。用户可以通过 demo.ipynb 文件查看示例代码,并使用该项目进行文本生成等任务。该项目基于 Albert Gu 和 Tri Dao的论文 "Mamba: Linear-Time Sequence Modeling with Selective State Spaces",并参考了官方实现。
* [blcuicall/taoli](https://github.com/blcuicall/taoli) 适用于国际中文教育领域的大模型 “桃李”(Taoli)1.0 ,在国际中文教育领域数据上进行了额外训练的模型。基于目前国际中文教育领域流通的500余册国际中文教育教材与教辅书、汉语水平考试试题以及汉语学习者词典等,构建了国际中文教育资源库。 设置了多种形式的指令来充分利用知识,构造了共计 88k 条的高质量国际中文教育问答数据集,并利用收集到的数据对模型进行指令微调,让模型习得将国际中文教育知识应用到具体场景中的能力。
* [thunlp/LLMxMapReduce](https://github.com/thunlp/LLMxMapReduce) LLMxMapReduce是一个用于处理长序列的无训练框架,它利用分治策略来实现对完整文档的理解。该框架将整个文档分成多个片段,由LLMs分别处理,然后将中间结果聚合以生成最终输出。为了解决分治策略可能导致的长距离信息丢失问题,LLMxMapReduce设计了结构化信息协议来处理片段间依赖关系,以及上下文置信度校准机制来解决片段间冲突。实验结果表明,LLMxMapReduce在长序列基准测试中优于现有的开源和商业长上下文LLMs,并且适用于多种模型。
* [NVIDIA/NeMo](https://github.com/NVIDIA/NeMo) 对话式 AI 工具包,专为从事ASR、TTS、语言模型和NLP的研究人员而构建。NeMo的主要目标是帮助来自工业界和学术界的研究人员重用以前的工作(代码和预训练模型),并更轻松地创建新的对话AI模型。所有 NeMo 模型都使用 Lightning 进行训练,训练可自动扩展到 1000 多个 GPU。此外,NeMo 威震天 LLM 模型可以使用张量和管道模型并行性训练多达 1 万亿个参数。NeMo 模型可以针对推理进行优化,并使用 NVIDIA Riva 针对生产用例进行部署。
* [feder-cr/Auto_Jobs_Applier_AIHawk](https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk) Auto_Jobs_Applier_AIHawk 是一款利用人工智能自动化的求职工具,它能帮助用户以个性化方式自动申请多个职位。该项目提供了一个AI 驱动的求职助手,可以自动申请职位、提供个性化推荐,并帮助用户更快地找到理想工作。用户可以加入 AIHawk社区,与志同道合的人交流,获得支持,分享知识和经验,并获取最新资讯。该项目还提供开源社区,用户可以参与贡献代码、获得支持、获取最新资讯,并与社区一起进行创新。
* [SkyworkAI/Skywork-MoE](https://github.com/SkyworkAI/Skywork-MoE) Skywork-MoE 是一个高性能专家混合 (MoE) 模型,拥有 1460 亿个参数、16 位专家和 220 亿个激活参数。该模型是根据 Skywork-13B 模型预先存在的密集检查点进行初始化的。我们引入了两项创新技术:门控 Logit 归一化(增强专家多样化)和自适应辅助损失系数(允许对辅助损失系数进行特定层调整)。Skywork-MoE 表现出与具有更多参数或更多激活参数的模型(例如 Grok-1、DBRX、Mistral 8*22 和 Deepseek-V2)相当或更好的性能。
* [R3gm/SoniTranslate](https://github.com/R3gm/SoniTranslate) SoniTranslate是一个强大的视频翻译应用程序,它使用 Gradio 库构建了一个用户友好的网页界面,可以将视频轻松地翻译成多种语言。该项目支持多种语言的翻译,并提供同步音频功能,使翻译后的视频更自然流畅。用户可以通过网页界面上传视频,选择目标语言,并生成翻译后的视频。项目还提供了一个 Colab 笔记本,方便用户快速上手。此外,该项目还提供了一个在线演示,用户可以体验 SoniTranslate 的功能。
* [DUOMO/TransGPT](https://github.com/DUOMO/TransGPT) 国内首款开源交通大模型,主要致力于在真实交通行业中发挥实际价值。能够实现交通情况预测、智能咨询助手、公共交通服务、交通规划设计、交通安全教育、协助管理、交通事故报告和分析、自动驾驶辅助系统等功能。可以为道路工程、桥梁工程、隧道工程、公路运输、水路运输、城市公共交通运输、交通运输经济、交通运输安全等行业提供通识常识。以此为基础,可以落脚到特定的交通应用场景中。
* [Ber666/ToolkenGPT](https://github.com/Ber666/ToolkenGPT) ToolkenGPT 是一个通过工具嵌入增强冻结语言模型的项目,该项目在NeurIPS 2023 大会上获得了口头报告,并获得了SoCalNLP 2023 的最佳论文奖。ToolkenGPT 通过学习工具的嵌入来增强冻结语言模型,使其能够使用各种工具,例如计算器、数据库和搜索引擎。该项目包含 GSM8K-XL、FuncQA、VirtualHome 和 KAMEL 等数据集的训练和推理代码,并提供了详细的说明。用户可以使用该项目来训练和评估自己的工具增强语言模型。
* [allenai/OLMo](https://github.com/allenai/OLMo) OLMo是一个用于训练和使用 AI2 的最先进开放语言模型的库,由科学家为科学家构建。它提供了一系列模型,包括 OLMo 1B、OLMo 7B 和 OLMo 7B Twin 2T,这些模型都使用 Dolma 数据集进行训练,并提供不同的训练标记数量、上下文长度和配置。用户可以通过 Hugging Face 获取这些模型,并使用提供的配置文件和 W&B 日志进行训练和微调。此外,OLMo 还提供了检查训练数据的工具,方便用户了解模型的训练过程。
* [HIT-SCIR/huozi](https://github.com/HIT-SCIR/huozi) 活字3.0为一个稀疏混合专家模型,支持32K上下文,具有丰富的中、英文知识和强大的数学推理、代码生成能力。活字3.0较旧版活字具有更强的指令遵循能力和安全性。[中文MT-Bench](https://github.com/HIT-SCIR/huozi/blob/main/data/mt-bench-zh): 本数据集是英文MT-Bench对话能力评测数据集的中文版。它包含了一系列多轮对话问题,每一组问题都经过了精心的人工校对,并为适应中文语境进行了必要的调整。
* [parthsarthi03/raptor](https://github.com/parthsarthi03/raptor) RAPTOR是一个基于树结构的检索增强语言模型,通过构建文档的递归树结构,实现更有效、更上下文感知的大文本信息检索,克服了传统语言模型的局限性。该项目提供了RAPTOR的官方实现,用户可以添加文档、提出问题并获取答案,还可以通过自定义模型扩展其功能,例如使用自定义的摘要模型。项目提供了详细的安装和使用指南,并支持保存和加载树结构,方便用户进行后续操作。
* [MetaGLM/FinGLM](https://github.com/MetaGLM/FinGLM) 致力于构建一个开放的、公益的、持久的金融大模型项目,利用开源开放来促进「AI+金融」。旨在深度解析上市公司年报的对话交互智能系统。面对金融文本中的专业术语与暗含信息,我们致力于用AI实现专家级别的金融分析。上市公司年报为投资者呈现了公司的经营状况、财务状况和未来规划。专业知识是解读的关键,而我们的目标是通过AI技术让这一过程变得更简单、更准确。
* [withinmiaov/A-Survey-on-Mixture-of-Experts](https://github.com/withinmiaov/A-Survey-on-Mixture-of-Experts) 该项目是一个关于混合专家模型 (MoE) 的综述,提供了 MoE 的时间线、分类和相关研究论文的链接。它涵盖了 MoE 的不同方面,包括门控函数类型(密集、稀疏、软)、专家类型(前馈网络、注意力机制、其他)、超参数(数量、大小、频率)、激活函数、参数高效微调 (PEFT) 方法以及训练和推理方案。该综述还包含一个清晰的图表,展示了 MoE 的分类和不同研究论文的对应关系。
* [Dataherald/dataherald](https://github.com/Dataherald/dataherald) 与 SQL 数据库交互,使用 LLMs Natural Language to SQL。Dataherald 是一个自然语言到 SQL 的引擎,专为对关系数据进行企业级问答而构建。它允许您从数据库中设置一个 API,该 API 可以用简单的英语回答问题。您可以使用 Dataherald 执行以下操作:允许业务用户从数据仓库中获取见解,而无需通过数据分析师;从 SaaS 应用程序内的生产数据库启用 Q+A;从您的专有数据创建 ChatGPT 插件。
* [jxiw/MambaInLlama](https://github.com/jxiw/MambaInLlama) MambaInLlama项目致力于将大型 Transformer 模型蒸馏成 (混合) Mamba 模型,同时尽可能保留生成质量。该项目使用逐步层对齐和端到端蒸馏方法,仅需 8x80G A100 即可在 3-4 天内完成训练。项目提供多种预训练模型,包括从 Llama3.2 3B 蒸馏的混合 Mamba2 3B 模型,以及从 Llama3 蒸馏的混合Mamba 和 Mamba2 模型,这些模型在 MMLU、AlpacaEval 和 MT-Bench 等基准测试中表现出色。
* [davendw49/k2](https://github.com/davendw49/k2) 一种开源语言模型,首先在收集和清理的地球科学文献(包括地球科学开放获取论文和维基百科页面)上进一步预训练LLaMA,其次使用知识密集型指令调整数据(GeoSignal)进行微调。至于初步评估,我们使用GeoBench(由NPEE和AP地质,地理和环境科学测试组成)作为基准。与具有相似参数的几个基线模型相比,K2 在客观和主观任务上的表现优于基线。
* [Portkey-AI/gateway](https://github.com/Portkey-AI/gateway) 超快的 AI 网关。使用 1 个快速友好的 API 路由到 100+LLMs。它通过统一的 API 简化了对 OpenAI、Anthropic、Mistral、LLama2、Anyscale、Google Gemini 等的 API 请求。速度极快(速度提高 9.9 倍),占用空间小,跨多个模型、提供程序和密钥进行负载均衡,回退可确保应用保持弹性,具有指数回退的自动重试,根据需要插入中间件,超过 100B 词元的测试
* [PacktPublishing/LLM-Engineers-Handbook](https://github.com/PacktPublishing/LLM-Engineers-Handbook) 《LLM工程师手册》是一本实用指南,涵盖从基础知识到使用LLMOps最佳实践在AWS上部署高级LLM和RAG应用的全过程,包括数据收集与生成、LLM训练管道、简单RAG系统、生产级AWS部署、全面监控、测试与评估框架等内容。该项目依赖于多种工具和云服务,如Python、Docker、AWS CLI、Git、Hugging Face、Comet ML、Opik、ZenML、MongoDB、Qdrant和GitHub Actions。
* [IEIT-Yuan/Yuan-2.0](https://github.com/IEIT-Yuan/Yuan-2.0) 源2.0 是浪潮信息发布的新一代基础语言大模型。我们开源了全部的3个模型:源2.0-102B、源2.0-51B、源2.0-2B。提供预训练、微调、推理服务的相关脚本,以供研发人员做进一步开发。源2.0是在源1.0的基础上,利用更多样的高质量预训练数据和指令微调数据集,令模型在语义、数学、推理、代码、知识等不同方面具备更强的理解能力。
* [jina-ai/reader](https://github.com/jina-ai/reader) 将任何 URL 转换为具有简单前缀 https://r.jina.ai/ 的LLM友好输入。您LLMs应该得到更好的输入。Reader 执行以下两项操作:阅读:它将任何 URL 转换为带有 LLM https://r.jina.ai/https://your.url 的 -friendly 输入。免费为您的代理和 RAG 系统提供改进的输出。搜索:它使用 https://s.jina.ai/your+query .这使您可以LLMs从网络上访问最新的世界知识。
* [wwliu555/rs-llm-paper-list](https://github.com/wwliu555/rs-llm-paper-list) 这是一个持续更新的关于推荐系统与大型语言模型的论文列表,涵盖了使用大型语言模型进行推荐系统的研究,并列出了所采用的语言模型、模型大小、首次发表日期和作者的第一单位。该项目包含相关综述论文、大型语言模型作为文本编码器和大型语言模型作为推荐器等类别,并提供了相关论文的链接。
* [bradhilton/o1-chain-of-thought](https://github.com/bradhilton/o1-chain-of-thought) 该项目包含了 OpenAI 网站上 "Learning to Reason with LLMs" 文章中提到的Chain of Thought 例子的 Markdown 文件,涵盖了密码、编码、数学、填字游戏、英语、科学、安全、健康科学和 Reddit 等多个领域,用户可以参考这些例子学习如何使用 Chain of Thought 技术,并可以自由地提交 Pull Request 修正任何错误。
* [FudanDISC/DISC-FinLLM](https://github.com/FudanDISC/DISC-FinLLM) 专门针对金融场景下为用户提供专业、智能、全面的金融咨询服务的金融领域大模型,由复旦大学数据智能与社会计算实验室 (Fudan-DISC) 开发并开源。开源如下资源:DISC-FinLLM-SFT 训练数据样例、DISC-FinLLM 模型参数、DISC-Fin-Eval Benchmark DISC-Fin-Eval 测试、DISC-FinLLM-SFT 完整训练数据
* [mshumer/gpt-author](https://github.com/mshumer/gpt-author) 该项目利用 GPT-4、Stable Diffusion 和 Anthropic API 调用链来生成原创奇幻小说。用户可以提供一个初始提示并输入他们想要的章节数,然后人工智能会生成一整本小说,输出一个与电子书阅读器兼容的 EPUB 文件。一本 15 章的小说的制作成本低至 4 美元,而且只需几分钟即可写完。
* [Open-Source-O1/Open-O1](https://github.com/Open-Source-O1/Open-O1) OpenO1 是一个开源项目,旨在提供与闭源 OpenAI O1 模型功能相当的替代方案。该项目通过收集 O1 风格的思维数据,训练LLaMA 和 Qwen 模型,赋予这些模型更强的长推理和问题解决能力。Open O1 的目标是实现与 O1 相似的性能,并引领测试时扩展,让所有人都能使用先进的 AI 功能。
* [zjunlp/EasyEdit](https://github.com/zjunlp/EasyEdit) 一个易于使用的LLM知识编辑框架。其目的是在特定域内有效地改变 LLM 的行为,而不会对其他输入的性能产生负面影响。它的设计易于使用和扩展。EasyEdit 包含编辑器、方法(SERAC、MEND、ROME、MEMIT、Knowledge Neuron)和评估的统一框架,分别表示编辑场景、编辑技术和评估方法。
* [allenai/dolma](https://github.com/allenai/dolma) 用于生成和检查 OLMo 预训练数据的数据和工具。Dolma 数据集:一个包含 3 万亿个tokens的开放数据集,来自 Web 内容、学术出版物、代码、书籍和百科全书材料的各种组合。Dolma Toolkit:用于管理用于语言建模的数据集的高性能工具包 -- 此存储库包含 Dolma Toolkit 的源代码。
* [shaochenze/PatchTrain](https://github.com/shaochenze/PatchTrain) Patch补丁级训练是大型语言模型 ( LLMs ) 的一种有效训练方法,其中模型读取Patch补丁中的训练数据并学习预测下一个Patch补丁。接下来,使用少量的训练数据将模型调整到令牌级别。与从头开始训练相比,这种方法可以实现更低的损失,同时将训练成本降低一半。
* [huggingface/smollm](https://github.com/huggingface/smollm) SmolLM2 是一个包含 135M、360M 和 1.7B 参数的紧凑型语言模型家族,适合在设备上运行并解决多种任务。最强大的模型是 SmolLM2-1.7B-Instruct,支持多种使用方式,包括 `transformers`、`trl` 和 `llama.cpp` 等工具。此外,新推出的 SmolVLM 是基于 SmolLM2 的视觉语言模型。
* [Alibaba-NLP/EcomGPT](https://github.com/Alibaba-NLP/EcomGPT) 一种面向电子商务的指令调优大语言模型。共有250万条指令数据。使用电子商务基本数据类型(如产品信息,用户评论)构建原子任务来扩展数据大小和任务多样性。原子任务被定义为隐含参与解决最终任务的中间任务,我们也称之为任务链任务。
* [peremartra/Large-Language-Model-Notebooks-Course](https://github.com/peremartra/Large-Language-Model-Notebooks-Course) 一个关于大型语言模型的实际课程,学习并实施大型语言模型项目。课程包含技术与库、项目实践和企业解决方案三大部分,涵盖聊天机器人、代码生成、OpenAI API、Hugging Face、向量数据库、Fine Tuning等技术。课程内容不断更新,适合边学边实践。
* [neukg/TechGPT](https://github.com/neukg/TechGPT) “东北大学知识图谱研究组”发布的垂直领域大语言模型。强化了如下任务:以“知识图谱构建”为核心的关系三元组抽取等各类信息抽取任务。以“阅读理解”为核心的各类智能问答任务。以“文本理解”为核心的关键词生成等各类生成任务。
* [zhiweihu1103/AgriMa](https://github.com/zhiweihu1103/AgriMa) 后稷-首个开源中文农业大模型。由山西大学、山西农业大学、The Fin AI联合研发,以Baichuan为底座,基于海量有监督农业领域相关数据微调,具备广泛的农业知识和智能分析能力,该模型旨在为农业领域提供全面而高效的信息处理和决策支持。
* [Duxiaoman-DI/XuanYuan](https://github.com/Duxiaoman-DI/XuanYuan) 轩辕:首个千亿级中文金融对话模型。在BLOOM-176B的基础上针对中文通用领域和金融领域进行了针对性的预训练与微调,它不仅可以应对通用领域的问题,也可以解答与金融相关的各类问题,为用户提供准确、全面的金融信息和建议。
* [zjunlp/KnowLM](https://github.com/zjunlp/KnowLM) 一个开源的知识渊博的大型语言模型框架。以知识和大模型为中心,利用构建的中英文预训练语料库,对LLaMA等大型模型进行全面预训练。基于KG2Instructions的技术,优化了包括NER、RE和IE在内的知识提取任务,可以使用人工指令完成。
* [MadeAgents/Hammer](https://github.com/MadeAgents/Hammer) Hammer是一系列轻量级语言模型,具有强大的函数调用能力,使开发人员能够创建个性化的、设备上的代理应用程序。我们已经发布了几个基于本文讨论的函数屏蔽技术的模型。这些模型可在 Hugging Face 上的 MadeAgents上找到。
* [microsoft/ToRA](https://github.com/microsoft/ToRA) 一系列工具集成推理代理,旨在通过与工具(例如计算库和符号求解器)交互来解决具有挑战性的数学推理问题。ToRA系列将自然语言推理与外部工具的运用无缝集成,从而融合了语言的分析能力和外部工具的计算效率。
* [langfuse/langfuse](https://github.com/langfuse/langfuse) 开源LLM可观测性、分析、提示管理、评估、测试、监控、日志记录、跟踪、LLMOps。Langfuse:LLM工程平台。一起调试、分析和迭代 - 适用于 Typescript、Python、OpenAI、Langchain、Litellm、Flowise、Superagent 和 Langflow 的稳定 SDK + 集成
* [LinkSoul-AI/Chinese-Llama-2-7b](https://github.com/LinkSoul-AI/Chinese-Llama-2-7b) 开源社区第一个能下载、能运行的中文 LLaMA2 模型!全部开源,完全可商用的中文版 Llama2 模型及中英文 SFT 数据集,输入格式严格遵循 llama-2-chat 格式,兼容适配所有针对原版 llama-2-chat 模型的优化。
* [srbhr/Resume-Matcher](https://github.com/srbhr/Resume-Matcher) Resume Matcher是一个开源免费的工具,帮助你优化简历。它利用语言模型比较和排名简历与职位描述,提供关键词匹配、可读性提升和简历洞察等功能,帮助你打造更符合招聘系统(ATS)要求的简历。
* [Clouditera/SecGPT](https://github.com/Clouditera/secgpt) 将人工智能技术引入网络安全领域,以提高网络防御的效率和效果。其使命是推动网络安全智能化,为社会提供更安全的数字生活环境。SecGPT可以作为基座安全模型,用于探索各种网络安全任务。
* [onuratakan/gpt-computer-assistant](https://github.com/onuratakan/gpt-computer-assistant) 为 Windows 和 LinuxMacOS 提供 GPT-4OChatGPT 应用程序的替代工作。这样一来,这是一项新鲜而稳定的作品。此时,您可以轻松地安装为 Python 库,但我们将准备一个管道来提供本机安装脚本 (.exe)。
* [RUC-GSAI/YuLan-Chat](https://github.com/RUC-GSAI/YuLan-Chat) 基于聊天的大型语言模型,由中国人民大学GSAI的研究人员开发(YuLan,代表玉兰,是中国人民大学的校园花)。最新版本是通过不断预训练和指令调整LLaMA-2开发的,具有高质量的中英文数据。
* [Significant-Gravitas/Auto-GPT-Plugins](https://github.com/Significant-Gravitas/Auto-GPT-Plugins) 用于自动 GPT 的插件。插件分为两类:第一方和第三方。第一方插件是广泛使用的插件精选列表。它们在安装插件平台时默认安装。第三方插件需要单独添加。它们可能对您的特定需求有用。
* [zhangliwei7758/unity-AI-Chat-Toolkit](https://github.com/zhangliwei7758/unity-AI-Chat-Toolkit) 使用unity实现AI聊天相关功能。包含了对chatgpt、chatglm等大语言模型的api调用的代码实现以及实现了微软Azure以及百度AI的语音功能,语音服务均采用web api实现,支持Win / WebGL / Android等平台
* [chatanywhere/GPT_API_free](https://github.com/chatanywhere/GPT_API_free) Free ChatGPT API Key,免费ChatGPT API,支持GPT4 API(低价),ChatGPT国内可用免费转发API,直连无需代理。可以搭配ChatBox等软件/插件使用,极大降低接口使用成本。国内即可无限制畅快聊天。
* [WangHuiNEU/llm](https://github.com/WangHuiNEU/llm) 大模型社区每周都要发布近百个模型,本项目会及时整理相关模型和文章并期望成为中文社区的大模型研究人员的模型和技术备忘录,每天会及时更新最新的模型,并详细解读技术细节
* [zjunlp/OceanGPT-7b](https://huggingface.co/zjunlp/OceanGPT-7b) 使用 KnowLM 训练的海洋科学任务,[OceanBench](https://huggingface.co/datasets/zjunlp/OceanBench)的基准测试,以评估海洋学任务的能力LLMs。它总共包括15个与海洋相关的任务,如问答、提取和描述。
* [harishsg993010/LLM-Research-Scripts](https://github.com/harishsg993010/LLM-Research-Scripts) 该项目包含代码和数据集,主要用于研究大型语言模型的推理能力。项目改进了来自bklieger-groq/g1的代码,并附带了Llama 3.1 8B解决推理问题的截图和Claude Sonnet解决2023年IMO问题的截图。
* [karpathy/minbpe](https://github.com/karpathy/minbpe) 字节对编码 (BPE) 算法的最小、干净的代码通常用于 LLM 分词化。GPT-2 论文和来自 OpenAI 的相关 GPT-2 代码发布为 LLMs(例如 GPT、Llama、Mistral)都使用这种算法来训练他们的分词器。
* [langchain-ai/chat-langchain](https://github.com/langchain-ai/chat-langchain) 本地托管的聊天机器人的实现,专门针对 LangChain 文档的问答。使用 LangChain、FastAPI 和 Next.js 构建。该应用程序利用 LangChain 的流媒体支持和异步 API 为多个用户实时更新页面。
* [bigemon/ChatGPT-ToolBox](https://github.com/bigemon/ChatGPT-ToolBox) 由ChatGPT自己编写的ChatGPT工具箱。 当前功能: 1. 绕过高负载禁止登录 2.关闭数据监管 3.链路维持(减少网络错误) 4.API混合接入 5.会话导入导出 6.聊天记录下载 7.解锁GPT4-Mobile
* [OrionStarAI/Orion](https://github.com/OrionStarAI/Orion) Orion-14B 系列模型包括一个具有140亿参数的多语言基座大模型以及一系列相关的衍生模型,包括对话模型,长文本模型,量化模型,RAG微调模型,Agent微调模型等。
* [Shaunwei/RealChar](https://github.com/Shaunwei/RealChar) 实时创建、自定义和与您的 AI 角色/同伴交谈(全部在一个代码库中!使用LLM OpenAI GPT3.5 / 4,Anthropic Claude2,Chroma Vector DB,Whisper Speech2Text,ElevenLabs Text2Speech
* [Kipok/NeMo-Skills](https://github.com/Kipok/NeMo-Skills) 提供了一个管道来提高大型语言模型的“技能”(LLMs)。目前,我们专注于解决简单数学问题的能力,但更多的技能即将到来(例如编码和表格理解)。
* [sparticleinc/chatgpt-google-summary-extension](https://github.com/sparticleinc/chatgpt-google-summary-extension) Chrome扩展程序,可查看ChatGPT摘要以及Google搜索结果和YouTube视频,还支持Yahoo、PubMed、PMC、NewsPicks、Github、Nikkei、Bing、Google Patents,以及任何页面摘要。
* [allenai/OLMoE](https://github.com/allenai/OLMoE) OLMoE:Open Mixture-of-Expert 语言模型。完全开放、最先进的 Expert 模型混合,具有 13 亿个有效参数和 69 亿个总参数。所有数据、代码和日志均已发布。
* [aiwaves-cn/RecurrentGPT](https://github.com/aiwaves-cn/RecurrentGPT) 用自然语言(即文本段落)替换了长短期记忆RNN(LSTM)中的矢量化元素(即细胞状态、隐藏状态、输入和输出),并通过提示工程模拟递归机制。
* [GAIR-NLP/abel](https://github.com/GAIR-NLP/abel) 数学大语言模型,为了向尼尔斯·亨里克·阿贝尔(Niels Henrik Abel)在代数和分析方面的开创性工作致敬而创建的,我们的模型也相对较好。
* [CubicalBatch/deaddit](https://github.com/CubicalBatch/deaddit) 欢迎来到 Deaddit,这是一个技术演示,展示了人工智能填充的互联网可能是什么样子。所有帖子、评论和用户个人资料均由人工智能生成。
* [vanna-ai/vanna](https://github.com/vanna-ai/vanna) MIT 许可的开源 Python RAG(检索增强生成)框架,用于 SQL 生成和相关功能。与您的 SQL 数据库聊天。LLMs通过使用 RAG准确生成文本到 SQL。
* [ictnlp/BayLing](https://github.com/ictnlp/BayLing) “百聆”是基于LLaMA的对齐增强的英语/中文大语言模型,具有优越的中英文能力,在多语言和通用任务等测试中取得ChatGPT 90%的性能。
* [yuchenlin/LLM-Blender](https://github.com/yuchenlin/LLM-Blender) 创新集成框架,利用多个开源LLMs的不同优势来获得始终如一的卓越性能。通过排名切除劣势,通过融合生成整合优势,增强能力LLMs。
* [Mxoder/TinyStories](https://github.com/Mxoder/TinyStories) 一些 LLM 的从零复现笔记。 1. 从头预训练一只超迷你 LLaMA 3——复现 TinyStories。 2. 用 PyTorch 从零实现 LoRA。 3. 从零实现 generate 方法。
* [Pints-AI/1.5-Pints](https://github.com/Pints-AI/1.5-Pints) 使用高质量数据在 9 天内预训练的紧凑型LLM,在 9 天内预训练模型的秘诀,成为与 Apple OpenELM 和 Microsoft Phi 等公司相媲美的 AI 助手。
* [xverse-ai/XVERSE-65B](https://github.com/xverse-ai/XVERSE-65B) 由深圳元象科技自主研发的支持多语言的大语言模型(Large Language Model),参数规模为 650 亿,本次开源的模型为底座模型 XVERSE-65B。
* [Lightning-AI/lit-gpt](https://github.com/Lightning-AI/lit-gpt) 基于 nanoGPT 的最先进的开源LLMs的可破解实现。支持闪光注意力、4 位和 8 位量化、LoRA 和 LLaMA 适配器微调、预训练。Apache 2.0 许可。
* [josStorer/RWKV-Runner](https://github.com/josStorer/RWKV-Runner) RWKV管理和启动工具,完全自动化,只有8MB。并提供与OpenAI API兼容的接口。RWKV 是一种完全开源的大型语言模型,可用于商业用途。
* [intel-analytics/BigDL](https://github.com/intel-analytics/BigDL/) 用于在英特尔 XPU(从笔记本电脑到 GPU 再到云)上运行 LLM(大型语言模型),使用 INT4 以极低的延迟(适用于任何 PyTorch 模型)。
* [AtomEcho/AtomGPT](https://github.com/AtomEcho/AtomGPT) 基于LLaMA的模型架构,从0开始训练,希望能在训练的过程中,将模型能力得到提升的进化过程展示出来,感受到模型学习的过程。
* [billxbf/ReWOO](https://github.com/billxbf/ReWOO) 高效增强语言模型的观察解耦推理,这是一种工具增强的LM范式,利用语言模型的可预见推理能力来提高系统参数和提示效率。
* [CogStack/OpenGPT](https://github.com/CogStack/OpenGPT) 用于创建基于基础指令的数据集和培训会话领域专家大型语言模型 (LLM) 的框架。使用 OpenGPT 训练的医疗保健对话模型。
* [PrefectHQ/marvin](https://github.com/PrefectHQ/marvin) 构建激发欢乐的 使用生成式 AIAI 界面。一个轻量级的 AI 工程框架,用于构建可靠、可扩展且易于信任的自然语言界面。
* [OpenBMB/BMTools](https://github.com/OpenBMB/BMTools) 大模型的工具学习,ChatGPT插件的开源解决方案。可以(1)通过编写python函数轻松构建插件(2)使用外部ChatGPT插件。
* [uptrain-ai/uptrain](https://github.com/uptrain-ai/uptrain) 一个Python框架,通过允许用户检查正确性,结构完整性,偏见,幻觉等方面来确保您的LLM应用程序可靠地运行。
* [Nutlope/notesGPT](https://github.com/Nutlope/notesGPT) 在几秒钟内从您的笔记中生成操作项。由 Convex(数据库和云函数)、Together.ai (LLM Mixtral)和 Whisper (ASR) 提供支持。
* [lyogavin/Anima](https://github.com/lyogavin/Anima) 第一个开源的基于QLoRA的33B中文大语言模型。基于QLoRA开源的33B guanaco训练了10000 steps。训练使用一个H100 GPU。
* [iusztinpaul/hands-on-llms](https://github.com/iusztinpaul/hands-on-llms) 通过设计、培训和部署实时财务顾问LLM系统,免费了解 LLM、LLMOps 和向量数据库 ~ 源代码 + 视频和阅读材料
* [openai/prm800k](https://github.com/openai/prm800k) 一个过程监督数据集,包含 800,000 个步骤级正确性标签,用于模型生成的 MATH 数据集中的问题解决方案。
* [soulteary/docker-llama2-chat](https://github.com/soulteary/docker-llama2-chat) 一起玩LLaMA2 (官方 / 中文版 / INT4 / 骆驼2.cpp) 一起玩!只需3个步骤!( 非 GPU / 5GB vRAM / 8~14GB vRAM)
* [kyegomez/tree-of-thoughts](https://github.com/kyegomez/tree-of-thoughts) 即插即用 思想之树的实现:使用大型语言模型进行深思熟虑的问题解决,将模型推理提升至少 70%
* [melih-unsal/DemoGPT](https://github.com/melih-unsal/DemoGPT) 只需使用句子即可创建 LangChain 应用程序。具有基础模型功能的自动 Gen-AI 应用程序生成器。
* [zhoudaquan/ChatAnything](https://github.com/zhoudaquan/ChatAnything) 使用当前无限的大型语言模型进行增强,产生具有预期视觉外观的假想 Facetime 头像聊天
* [OrionStarAI/OrionStar-Yi-34B-Chat](https://github.com/OrionStarAI/OrionStar-Yi-34B-Chat) 开源中英文Chat模型,由猎户星空基于Yi-34B开源模型、使用15W+高质量语料微调而成。
* [JimLiu/gpt-games](https://github.com/JimLiu/gpt-games) 使用 GPT 构建游戏,游戏北京浮生记的 GPT 版本,让你通过 ChatGPT 也可以体验游戏。
* [QwenLM/Qwen-VL](https://github.com/QwenLM/Qwen-VL) 由阿里云提出的Qwen-VL(通义千问-VL)聊天和预训练大视觉语言模型的官方回购。
* [tri-ml/linear_open_lm](https://github.com/tri-ml/linear_open_lm) 该存储库包含线性化大型语言模型的代码。这是原始OpenLM 存储库的一个分支。
* [LAION-AI/AIW](https://github.com/LAION-AI/AIW) 爱丽丝梦游仙境:在最先进的大型语言模型中显示完整推理分解的简单任务。
* [MasterAI-EAM/Darwin](https://github.com/MasterAI-EAM/Darwin) 致力于为自然科学构建基础大型语言模型,主要涉及物理、化学和材料科学。
* [yongzhuo/chatglm-maths](https://github.com/yongzhuo/chatglm-maths) chatglm-6b微调/LORA/PPO/推理, 样本为自动生成的整数/小数加减乘除运算, 可gpu/cpu
* [ArrogantL/ChatGPT4CausalReasoning](https://github.com/ArrogantL/ChatGPT4CausalReasoning) 【EMNLP2023的发现】论文代码《ChatGPT是一个好的因果推理机吗?综合评价》。
* [ypwhs/CreativeChatGLM](https://github.com/ypwhs/CreativeChatGLM) 欢迎来到 ChatGLM 创意世界!你可以使用修订和续写的功能来生成创意内容!
* [shreyashankar/gpt3-sandbox](https://github.com/shreyashankar/gpt3-sandbox) 使用户能够使用新发布的OpenAI GPT-3 API创建很酷的Web演示,只需几行Python。
* [InternLM/InternLM-XComposer](https://github.com/InternLM/InternLM-XComposer) 基于InternLM的视觉语言大型模型(VLLM),用于高级文本图像理解和构图。
* [Timothyxxx/Chain-of-ThoughtsPapers](https://github.com/Timothyxxx/Chain-of-ThoughtsPapers) 思维链的相关论文。大型语言模型中的思维链促使了推理能力的产生。
* [eric-ai-lab/MiniGPT-5](https://github.com/eric-ai-lab/MiniGPT-5) 论文“MiniGPT-5:通过生成式Vokens交错视觉和语言生成”的正式实现
* [SUFE-AIFLM-Lab/FinEval](https://github.com/SUFE-AIFLM-Lab/FinEval) 包含金融、经济、会计和证书等领域高质量多项选择题的集合。
* [icalk-nlp/EduChat](https://github.com/icalk-nlp/EduChat) 开源中英教育对话大模型。(通用基座模型,GPU部署,数据清理)
* [FMInference/FlexGen](https://github.com/FMInference/FlexGen) 单个GPU上运行大型语言模型,实现面向吞吐量的加速方案。
* [KudoAI/chatgpt.js](https://github.com/KudoAI/chatgpt.js) 功能强大的 JS 库,允许与 ChatGPT DOM 进行超级轻松的交互。
* [zjunlp/KnowLM-IE · Datasets at Hugging Face](https://huggingface.co/datasets/zjunlp/KnowLM-IE) 基于知识图谱构建的,提取实体关系三元组的指令数据集
* [BuilderIO/gpt-crawler](https://github.com/BuilderIO/gpt-crawler) 抓取网站以生成知识文件,以从 URL 创建自己的自定义 GPT
* [KevinWang676/ChatGLM2-Voice-Cloning](https://github.com/KevinWang676/ChatGLM2-Voice-Cloning) 和喜欢的角色沉浸式对话吧:ChatGLM2 + 声音克隆+视频对话
* [janhq/jan](https://github.com/janhq/jan) ChatGPT 的开源替代品,可在您的计算机上 100% 离线运行。
* [yetone/openai-translator](https://github.com/yetone/openai-translator) 基于 ChatGPT API 的划词翻译插件和跨平台桌面端应用
* [zyang1580/BinLLM](https://github.com/zyang1580/BinLLM) 用于推荐的大型语言模型中协作信息的类文本编码
* [weijunext/smart-excel-ai](https://github.com/weijunext/smart-excel-ai) 使用 ChatGPT 在几秒钟内生成您需要的 Excel 公式。
* [IMOSR/MediaGPT](https://github.com/IMOSR/MediaGPT) 中文的自媒体大语言模型MediaGPT(曾用名Media LLaMA)
* [meta-math/MetaMath](https://github.com/meta-math/MetaMath) 元数学:为大型语言模型引导您自己的数学问题
* [cocktailpeanut/dalai](https://github.com/cocktailpeanut/dalai) 在本地计算机上运行LLaMA语言模型的最简单方法
* [gmftbyGMFTBY/science-llm](https://github.com/gmftbyGMFTBY/science-llm) 科学领域的大语言模型,在redpajama arXiv上训练
* [Alibaba-NLP/SeqGPT](https://github.com/Alibaba-NLP/SeqGPT) 用于开放域序列理解的开箱即用大型语言模型
* [GAIR-NLP/MathPile](https://github.com/GAIR-NLP/MathPile) [NeurlPS D&B 2024]面向数学的生成式 AI:MathPile
* [THUDM/MathGLM](https://github.com/THUDM/MathGLM) GPT 可以在没有计算器的情况下解决数学问题
* [SALT-NLP/FLANG](https://github.com/SALT-NLP/FLANG) 金融领域的基准测试和大型预训练语言模型
* [Neutralzz/BiLLa](https://github.com/Neutralzz/BiLLa) 开源的推理能力增强的中英双语LLaMA模型。
* [jackMort/ChatGPT.nvim](https://github.com/jackMort/ChatGPT.nvim) Neovim插件:使用ChatGPT API轻松生成自然语言
* [tiingweii-shii/Awesome-Resource-Efficient-LLM-Papers](https://github.com/tiingweii-shii/Awesome-Resource-Efficient-LLM-Papers) 关于资源节约LLMs的高质量论文的精选清单
* [gd3kr/BlenderGPT](https://github.com/gd3kr/BlenderGPT) 使用英语命令通过OpenAI的GPT-4控制Blender。
* [varunshenoy/GraphGPT](https://github.com/varunshenoy/GraphGPT) 使用 GPT-3 从非结构化文本推断知识图谱
* [ray-project/llm-numbers](https://github.com/ray-project/llm-numbers) 每个LLM开发人员都应该知道的数字
* [whoiskatrin/chart-gpt](https://github.com/whoiskatrin/chart-gpt) 基于文本输入GPT构建图表的AI工具
* [LLaVA-VL/LLaVA-Plus-Codebase](https://github.com/LLaVA-VL/LLaVA-Plus-Codebase) 即插即用的大型语言和视觉助手
* [hitz-zentroa/GoLLIE](https://github.com/hitz-zentroa/GoLLIE) 信息提取大语言模型遵循指南
* [AINativeLab/gptstore-data-backup](https://github.com/AINativeLab/gptstore-data-backup) GPT Store 趋势数据的每日存档
* [aaamoon/copilot-gpt4-service](https://github.com/aaamoon/copilot-gpt4-service) 将 Github Copilot 转换为 ChatGPT
* [EleutherAI/math-lm](https://github.com/EleutherAI/math-lm) 数学的开放语言模型
* [charlesjin/emergent-semantics](https://github.com/charlesjin/emergent-semantics) 涌现语义。
#### 提示词prompt
#####
* [stanfordnlp/dspy](https://github.com/stanfordnlp/dspy) 用于编程(而非提示)基础模型的框架。用于通过算法优化 LM 提示和权重的框架,尤其是当 LM 在管道中使用一次或多次时。要使用 LM 构建一个没有 DSPy 的复杂系统,您通常必须:(1) 将问题分解为多个步骤,(2) 很好地提示您的 LM,直到每个步骤单独工作良好,(3) 调整步骤以很好地协同工作,(4) 生成合成示例来调整每个步骤,以及 (5) 使用这些示例对较小的 LM 进行微调以降低成本。目前,这很困难,也很混乱:每次更改管道、LM 或数据时,所有提示(或微调步骤)都可能需要更改。为了使它更系统、更强大,DSPy 做了两件事。首先,它将程序的流程 ( modules ) 与每个步骤的参数(LM 提示和权重)分开。其次,DSPy 引入了新的 optimizers ,这是 LM 驱动的算法,可以调整 LM 调用的提示和/或权重, metric 前提是您想要最大化。DSPy 可以定期教授强大的模型(如 GPT-3.5 or GPT-4 )和本地模型(如 T5-base or Llama2-13b )在任务中更加可靠,即具有更高的质量和/或避免特定的故障模式。DSPy 优化器会将同一程序“编译”为不同的指令、小样本提示和/或每个 LM 的权重更新(微调)。这是一种新的范式,在这种范式中,LM 及其提示逐渐淡出背景,作为可以从数据中学习的更大系统的可优化部分。顶级域名;更少的提示,更高的分数,以及更系统地解决 LM 的艰巨任务的方法。
* [zou-group/textgrad](https://github.com/zou-group/textgrad) TextGrad 是一个强大的框架,通过文本构建自动“微分”。它利用大型语言模型(LLMs)提供的文本反馈进行反向传播,从而实现自动优化。TextGrad 的 API 设计与 PyTorch 非常相似,使得熟悉 PyTorch 的用户可以快速上手。这个框架允许用户定义自己的损失函数,并使用文本反馈对其进行优化。TextGrad 的基本原理是通过 LLMs 之间的 API 调用,自动执行提示优化的过程,从而提升逻辑推理能力。TextGrad 的主要特点包括:简单直观的 API:类似于 PyTorch 的 API,使得用户可以轻松适应其用例。基于文本反馈的优化:通过 LLMs 提供的文本反馈进行反向传播,实现自动优化。灵活性和易用性:TextGrad 遵循 PyTorch 的语法和抽象,使用灵活且易于使用。即插即用:用户只需提供目标函数,无需调整框架的组件或提示。TextGrad 的应用场景广泛,包括但不限于自然语言处理和人工智能开发,为这些领域提供了新的优化思路。通过 TextGrad,用户可以自动转换“逐步推理”提示,使其更适合特定的应用需求。TextGrad 是一个创新的框架,通过文本反馈实现自动优化,特别适合那些希望利用大型语言模型进行文本处理和优化的开发者。
* [RUCAIBox/ChainLM](https://github.com/RUCAIBox/ChainLM) ChainLM:通过改进的思想链提示增强大型语言模型。CoTGenius 是一个思想链改进框架,用于综合更复杂、多样化和详细的 CoT 基本原理。在这个框架中,我们引入了三种改进CoT的进化策略,即复杂化、多样化和指定化。遵循CoTGenius,我们生成了一个大规模的CoT数据集,其中包含44335个样本,涵盖常识推理、数学推理、科学推理和符号推理。此外,我们使用我们进化的 CoT 数据(称为 ChainLM)对开源LLMs (即 Llama 2-Chat 7B 和 13B)进行微调,并将 ChainLM 与现有流行的LLMs在 9 个复杂推理数据集上进行比较。最后,基于我们的ChainLM模型,我们提出了一种CoT推理策略,即步级辩论。数据生成过程:我们的数据生成过程是三个管道的组合。 复杂化:首先,我们使用复杂化策略将原始数据的问题复杂化。其次,根据新问题的复杂程度进行进化成功判断。然后,生成新问题的答案。最后,对新的<question、CoT>样本进行正确性验证。 多样化:与复杂化类似,但使用多样化的方法来指导问题生成。 指定:首先重写种子数据集中的CoT,然后进行进化成功判断。
* [NirDiamant/Prompt_Engineering](https://github.com/NirDiamant/Prompt_Engineering) 此存储库提供了 Prompt Engineering 技术的全面教程和实施集合,从基本概念到高级策略。它是掌握在 AI 应用程序中与大型语言模型进行有效通信和利用的艺术的重要资源。Prompt Engineering 处于人工智能的前沿,它彻底改变了我们与 AI 技术交互和利用 AI 技术的方式。此存储库旨在指导您完成开发之旅,从基本的提示结构到高级的尖端技术。我们的目标是为每个人提供宝贵的资源,从迈出 AI 第一步的初学者到突破可能性界限的经验丰富的从业者。通过提供从基础到复杂的一系列示例,我们的目标是在快速发展的提示工程领域促进学习、实验和创新。此外,该存储库还充当了展示创新提示工程技术的平台。无论您是开发了一种新颖的方法,还是为现有技术找到了创新应用,我们都鼓励您与社区分享您的工作成果。
* [aws-samples/claude-prompt-generator](https://github.com/aws-samples/claude-prompt-generator) Claude 提示生成器。对于未使用任何语言模型的用户,根据 Claude3 提示符指导从头开始生成初始提示符;对于已经使用语言模型 (GPT) 的用户,初始提示被“翻译”为 Claude3 提示,包括基于不同模型字符之间的提示细微差别的转换,e.g. XML 标签推荐在 Claude3 中。一旦生成初始提示,就会涉及自动和手动评估过程,以保证输出的有效性或对齐,并相应地生成修订后的提示,用户将继续迭代该过程,直到达到所需的输出。最终过程将涉及手动调整以确保生产就绪的质量,这不能通过脚本或模型完全实现,如 10% 人机交互过程所述。
* [reasoning-machines/pal](https://github.com/reasoning-machines/pal) PaL(Program-Aided Language Models)是一个利用程序辅助大型语言模型解决复杂推理问题的项目,它通过生成包含文本和代码的推理链来解决涉及复杂算术和程序性任务的推理问题。PaL将代码的执行委托给程序运行时(例如Python解释器),并使用少样本提示方法实现。该项目提供了一个交互式实现,并支持ChatGPT API,包含GSM-hard数据集,以及用于推理的脚本。用户可以通过简单的接口类使用PaL,并根据提示设置代码执行表达式。该项目在多个推理任务上取得了显著成果,包括数学推理、日期理解和颜色物体识别。
* [madaan/memprompt](https://github.com/madaan/memprompt) Memprompt是一个用于修复 GPT-3 部署后问题的工具,无需重新训练模型。它通过记忆辅助的提示编辑来改进 GPT-3 的性能。该项目提供代码和数据,并包含一个用于模拟 Python 终端的笔记本,展示了 Memprompt 的一个重要方面:与少样本模型进行有状态交互。Memprompt 支持两种模式:使用记忆流式处理和使用不断增长的提示流式处理。用户可以通过命令行参数指定任务文件、作业 ID、澄清概率、记忆类型、检查点路径和提示路径等参数。该项目还提供了一些不同大小和类型的任务文件,供用户尝试。
* [anthropics/prompt-eng-interactive-tutorial](https://github.com/anthropics/prompt-eng-interactive-tutorial) Anthropic推出的交互式提示工程教程,旨在帮助用户掌握在 Claude 中构建最佳提示的技巧。教程包含9个章节和练习,涵盖从基本提示结构到复杂提示构建的各个方面,并提供示例playground供用户实践。用户可以通过练习识别常见错误并学习解决方法,了解 Claude 的优缺点,并为各种应用场景构建强大的提示。教程还提供附加内容,介绍更高级的提示技巧,例如提示链和工具使用。该教程还提供 Google Sheets 版本,方便用户使用 Anthropic 的 Claude for Sheets 扩展进行学习。
* [langgptai/awesome-claude-prompts](https://github.com/langgptai/awesome-claude-prompts) 欢迎来到“Awesome Claude Prompts”存储库!这是用于 Claude 模型的提示示例的集合。Claude 模型是由 Anthropic 创建的 AI 助手,能够生成类似人类的文本。通过向它提供提示,它可以生成继续对话或扩展给定提示的响应。Claude 提供了许多 ChatGPT 不支持的惊人功能,例如更长的上下文(高达 100k)、免费文件上传等,使其比 ChatGPT 更强大。在此存储库中,您将找到可与 Claude 一起使用的各种提示。我们鼓励您将自己的提示添加到列表中,并使用 Claude 生成新的提示。
* [utkusen/promptmap](https://github.com/utkusen/promptmap) 提示注入是一种安全漏洞,可以用来控制 ChatGPT 实例的行为。通过向系统注入恶意提示,攻击者可以强制 ChatGPT 实例执行意外操作。promptmap 是一个自动测试 ChatGPT 实例上的提示注入攻击的工具。它会分析您的 ChatGPT 规则以了解其上下文和目的。这种理解用于生成为目标量身定制的创意攻击提示。promptmap 然后按照你提供的系统提示符运行一个 ChatGPT 实例,并向其发送攻击提示。它可以通过检查来自您的 ChatGPT 实例的答案来确定提示注入攻击是否成功。
* [anthropics/anthropic-cookbook](https://github.com/anthropics/anthropic-cookbook) Anthropic Cookbook是一个包含代码和指南的项目,旨在帮助开发者使用 Claude,提供可复制的代码片段,方便开发者将其集成到自己的项目中。该项目提供各种示例,涵盖了使用 Claude 的各种技巧,例如引用来源、文本分类、检索增强生成、文本摘要、工具集成以及与第三方服务的集成等。为了使用这些示例,开发者需要一个 Anthropic API 密钥,并且该项目主要使用 Python 编写,但其概念可以应用于任何支持与 Anthropic API 交互的编程语言。
* [PickleBoxer/dev-chatgpt-prompts](https://github.com/PickleBoxer/dev-chatgpt-prompts) 开发者 ChatGPT 提示个人合集。此存储库包含一系列强大的 ChatGPT 提示,可以帮助您让创意源源不断。无论您是初学者还是经验丰富的专业人士,这些提示都可以帮助您跳出框框思考并找到解决问题的新方法。该列表分为几类: prompts for coders, students, marketers, and content writers 。因此,无论您的职业是什么,这里都有适合每个人的东西!让我们深入了解这些强大的 ChatGPT 提示,它们可以帮助您将创造力提升到一个新的水平!
* [promptingguide.ai/zh](https://www.promptingguide.ai/zh) 提示工程(Prompt Engineering)是一门较新的学科,关注提示词开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能将有助于用户更好地了解大型语言模型的能力和局限性。基于对大语言模型的浓厚兴趣,我们编写了这份全新的提示工程指南,介绍了大语言模型相关的论文研究、学习指南、模型、讲座、参考资料、大语言模型能力以及与其他与提示工程相关的工具。
* [zjunlp/Prompt4ReasoningPapers](https://github.com/zjunlp/Prompt4ReasoningPapers) 使用语言模型提示进行推理的相关论文。[ACL 2023 年]使用语言模型提示进行推理:一项调查。推理作为解决复杂问题的必备能力,可以为各种实际应用提供后端支持,例如医疗诊断、谈判等。本文对使用语言模型提示进行推理的前沿研究进行了全面调查。我们通过比较和总结介绍研究工作,并提供系统的资源来帮助初学者。我们还讨论了出现这种推理能力的潜在原因,并强调了未来的研究方向。
* [GAIR-NLP/O1-Journey](https://github.com/GAIR-NLP/O1-Journey) 该项目是上海交通大学GAIR研究组对OpenAI O1模型的复制研究,旨在探索复杂数学推理问题。项目团队开发了一种名为“旅程学习”的新训练范式,并提出了第一个成功将搜索和学习整合到数学推理中的模型。该模型通过模拟试错、纠正、回溯和反思等过程,在复杂推理任务中展现出显著效果。项目已发布了包含训练数据的Hugging Face数据集,并提供了一些模型在复杂数学问题上的示例。
* [kevinamiri/Instructgpt-prompts](https://github.com/kevinamiri/Instructgpt-prompts) 一组基于 ChatGPT 和 GPT-3.5 指令的提示,用于生成和分类文本。该项目包括 ChatGPT 和 GPT-3.5 模型的提示,旨在协助完成写作、分析和理解任务。下面有许多提示,您可以使用这些提示为您的项目生成内容、调试代码、查找问题的解决方案,或者只是了解有关这些模型可以做什么的更多信息。通过使用适当的指令动词,您可以指导模型解决任何与语言相关的任务。
* [dair-ai/Prompt-Engineering-Guide](https://github.com/dair-ai/Prompt-Engineering-Guide) 提示工程是一门相对较新的学科,用于开发和优化提示以有效地将语言模型 (LM) 用于各种应用程序和研究主题。即时的工程技能有助于更好地理解大型语言模型 (LLM) 的功能和局限性。研究人员使用提示工程来提高 LLM 在广泛的常见和复杂任务(例如问题回答和算术推理)上的能力。开发人员使用提示工程来设计与 LLM 和其他工具交互的强大且有效的提示技术。
* [zchuz/CoT-Reasoning-Survey](https://github.com/zchuz/CoT-Reasoning-Survey) 该项目是一个关于链式思维推理(CoT)的综述论文,发表在ACL2024会议上。论文对CoT推理领域进行了深入研究,涵盖了其进展、前沿和未来方向。该项目还包含一个阅读列表,其中包含了44篇相关论文,并定期更新。项目特色在于对CoT推理领域进行了系统性的梳理和分析,并提出了未来研究方向。
* [phodal/aigc](https://github.com/phodal/aigc) 《构筑大语言模型应用:应用开发与架构设计》一本关于 LLM 在真实世界应用的开源电子书,介绍了大语言模型的基础知识和应用,以及如何构建自己的模型。其中包括Prompt的编写、开发和管理,探索最好的大语言模型能带来什么,以及LLM应用开发的模式和架构设计。
* [ahmetbersoz/chatgpt-prompts-for-academic-writing](https://github.com/ahmetbersoz/chatgpt-prompts-for-academic-writing) 这份写作提示列表涵盖了一系列主题和任务,包括集思广益研究思路、改进语言和风格、进行文献综述以及制定研究计划。用于文献综述生成器的自定义 GPT 已经发布。它可以有效地解析研究出版物的 PDF 文件,提取关键主题,并为您的学术出版物创建文献综述部分。
* [0xeb/TheBigPromptLibrary](https://github.com/0xeb/TheBigPromptLibrary) Big Prompt Library 存储库是各种 LLM 提供商和解决方案(如 ChatGPT、Microsoft Copilot 系统、Claude、Gab.ai、Gemini、Cohere 等)的各种系统提示、自定义指令、越狱提示、GPT/指令保护提示等的集合,为学习编写系统提示和创建自定义 GPT 提供重要的教育价值。
* [langgptai/wonderful-prompts](https://github.com/langgptai/wonderful-prompts) 中文 prompt 精选,ChatGPT 使用指南,提升 ChatGPT 可玩性和可用性!上百个高质量 prompt 让你得心应手的驾驭 AI 。本项目是 ChatGPT 中文指南作者 优化、精选的系列中文 ChatGPT Prompts,并提供图文使用示例,让大家能够更好的学习使用 ChatGPT。
* [suffix-maybe-feature/adver-suffix-maybe-features](https://github.com/suffix-maybe-feature/adver-suffix-maybe-features) 对抗性后缀:探索对语言模型的基于嵌入的攻击。此存储库提供了用于使用嵌入技术调查对抗性后缀攻击的工具和数据集。我们的项目侧重于为 Llama2 和 Llama3 模型生成对抗性嵌入和创建有害数据集,展示这些语言模型中的潜在漏洞。
* [mleoking/PromptAppGPT](https://github.com/mleoking/PromptAppGPT) 一个基于提示的低代码快速应用开发框架。包含低代码提示开发、GPT 文本生成、DALLE 图像生成、在线提示编辑器+编译器+运行器、自动用户界面生成、支持插件扩展等功能。PromptAppGPT旨在实现基于GPT的自然语言应用程序开发。
* [abilzerian/LLM-Prompt-Library](https://github.com/abilzerian/LLM-Prompt-Library) 高级 LLM 提示存储库,此存储库包含一系列精选的提示,这些提示专为各种大型语言模型(LLMs,例如 Siri、GPT-4o、Claude 3 Opus、Llama3、Gemini 等。这些提示涵盖了广泛的应用,从文本操作到医疗援助和代码生成。
* [NeoVertex1/SuperPrompt](https://github.com/NeoVertex1/SuperPrompt) SuperPrompt 是一种设计提示的尝试,可以帮助我们理解 AI 代理。这个提示花了我好几个月的时间,并且仍处于永久测试阶段。您将希望将此提示与 Claude 一起使用(作为说明),但它也适用于其他 llms。
* [langgptai/LangGPT](https://github.com/langgptai/LangGPT) LangGPT — 使每个人都能创建高质量的提示!LangGPT 项目旨在利用结构化、基于模板的方法,促进为每个人无缝创建高质量的 ChatGPT 提示。它可以被视为一种专门为大型语言模型设计提示的编程语言。
* [LouisShark/chatgpt_system_prompt](https://github.com/LouisShark/chatgpt_system_prompt) 收集Agent的系统提示,分享一些提示注入知识。可以通过向 ChatGPT 发送以下命令来获取 ChatGPT 的系统提示(核心概念是转移 ChatGPT 的注意力,使其不会意识到自己违反了规则)。
* [openreasoner/openr](https://github.com/openreasoner/openr) OpenR:用于使用大型语言模型进行高级推理的开源框架。特征:过程监控数据生成;在线策略培训;生成性和判别性 PRM 训练;多种搜索策略;测试时计算和缩放定律。
* [VILA-Lab/ATLAS](https://github.com/VILA-Lab/ATLAS) 为大型语言模型制定有效查询和提示的资源和研究(LLMs)。主要贡献是引入了 26 项 prompts 指导原则,旨在优化与LLMs各种规模的交互,例如 LLaMA-1/2、GPT-3.5 和 GPT-4。
* [successfulstudy/promptoftheyear](https://github.com/successfulstudy/promptoftheyear) 在不断发展的大型语言模型 (LLMs,制作有效的提示已成为一项必不可少的技能。这就是我创建这个系列的原因,展示了今年在各种有趣领域中最具影响力的提示。
* [yokoffing/ChatGPT-Prompts](https://github.com/yokoffing/ChatGPT-Prompts) ChatGPT 和 Bing AI 提示策展,“提示工程是与 AI 雄辩地沟通的艺术。”- Greg Brockman。欢迎来到 “ChatGPT Prompts” 仓库!这是与 ChatGPT 模型一起使用的提示示例集合。
* [f/awesome-chatgpt-prompts](https://github.com/f/awesome-chatgpt-prompts) 包含 ChatGPT 提示,以更好地使用 ChatGPT。[fka/awesome-chatgpt-prompts](https://huggingface.co/datasets/fka/awesome-chatgpt-prompts) 这是一个很棒的 ChatGPT 提示的数据集存储库。
* [prompt-engineering/click-prompt](https://github.com/prompt-engineering/click-prompt) 简化您的提示设计,使用 ClickPrompt,您只需单击一下即可轻松查看、共享和运行这些提示。ClickPrompt 用于一键轻松查看、分享和执行您的 Prompt。
* [neulab/prompt2model](https://github.com/neulab/prompt2model) 从自然语言指令生成可部署模型,采用自然语言任务描述(如 ChatGPT 等 LLM 使用的提示)来训练有利于部署的小型专用模型的系统。
* [CyberAlbSecOP/Awesome_GPT_Super_Prompting](https://github.com/CyberAlbSecOP/Awesome_GPT_Super_Prompting) ChatGPT 越狱,GPT 助手提示泄漏,GPT 提示注入,LLM 提示安全,超级提示,提示破解,提示安全,AI 提示工程,对抗机器学习。
* [ai-boost/awesome-prompts](https://github.com/ai-boost/awesome-prompts) 来自 GPT 商店中最受好评的 GPT 的精选 chatgpt 提示列表。提示工程,提示攻击和提示保护。高级提示工程论文。
* [rockbenben/ChatGPT-Shortcut](https://github.com/rockbenben/ChatGPT-Shortcut) 让生产力加倍的 ChatGPT 快捷指令,按照领域和功能分区,可对提示词进行标签筛选、关键词搜索和一键复制。
* [PandaBearLab/prompt-tutorial](https://github.com/PandaBearLab/prompt-tutorial) chatGpt提示词课程,文包括的内容:prompt 原理、prompt 技巧、我的一些经验、一些公开的prompt模板、AI工具系列
* [RUCAIBox/GPO](https://github.com/RUCAIBox/GPO) 关于“释放大型语言模型作为提示优化器的潜力:基于梯度的模型优化器的类比分析”资源的官方 GitHub 页面
* [hegelai/prompttools](https://github.com/hegelai/prompttools) 用于快速测试和实验的开源工具,支持LLM(例如OpenAI,LLaMA)和矢量数据库(例如Chroma,Weaviate,LanceDB)。
* [promptslab/Promptify](https://github.com/promptslab/Promptify) 使用 LLM 解决 NLP 问题,并使用 Promptify 轻松为流行的生成模型(如 GPT、PaLM 等)生成不同的 NLP 任务提示
* [mshumer/gpt-prompt-engineer](https://github.com/mshumer/gpt-prompt-engineer) 只需输入任务的描述和一些测试用例,系统就会生成、测试和排名大量提示,以找到性能最佳的提示。
* [EgoAlpha/prompt-in-context-learning](https://github.com/EgoAlpha/prompt-in-context-learning) 用于上下文学习和快速工程的出色资源:掌握 ChatGPT、GPT-3 和 FlanT5 等 LLM,并提供最新和前沿的更新。
* [Anil-matcha/Awesome-GPT-Store](https://github.com/Anil-matcha/Awesome-GPT-Store) 精心策划的专用自定义 GPTs 聊天机器人列表,旨在帮助您完成从技术问题到创造性工作的各种任务。
* [promptslab/Awesome-Prompt-Engineering](https://github.com/promptslab/Awesome-Prompt-Engineering) 包含用于提示工程的手工策划资源,重点是生成式预训练变压器 (GPT)、ChatGPT、PaLM 等
* [ai-boost/Awesome-GPTs](https://github.com/ai-boost/Awesome-GPTs) 精选的超棒 GPTs列表。展示全球 AI 爱好者创建的创新和令人兴奋的 GPT 模型的空间。
* [prompt-engineering/prompt-patterns](https://github.com/prompt-engineering/prompt-patterns) Prompt 编写模式:如何将思维框架赋予机器,以设计模式的形式来思考 prompt
* [thinkingjimmy/Learning-Prompt](https://github.com/thinkingjimmy/Learning-Prompt) 免费的快速`提示工程`在线课程。ChatGPT 和 Midjourney 教程现在包括在内!
* [PlexPt/awesome-chatgpt-prompts-zh](https://github.com/PlexPt/awesome-chatgpt-prompts-zh) ChatGPT 中文调教指南。各种场景使用指南。学习怎么让它听你的话。
* [timqian/openprompt.co](https://github.com/timqian/openprompt.co) OpenPrompt.co 上加星标最多的提示列表。该列表每 24 小时更新一次。
* [yzfly/LangGPT](https://github.com/yzfly/LangGPT) 让每个人都能成为及时的专家! 结构化提示词,结构化提示词。
* [GitHubDaily/ChatGPT-Prompt-Engineering-for-Developers-in-Chinese](https://github.com/GitHubDaily/ChatGPT-Prompt-Engineering-for-Developers-in-Chinese) 《面向开发者的 ChatGPT 提示词工程》非官方版中英双语字幕
* [datawhalechina/prompt-engineering-for-developers](https://github.com/datawhalechina/prompt-engineering-for-developers) 面向开发者的 LLM 入门教程,吴恩达大模型系列课程中文版
* [snwfdhmp/awesome-gpt-prompt-engineering](https://github.com/snwfdhmp/awesome-gpt-prompt-engineering) 精选的 GPT 提示工程资源、工具和其他闪亮事物的清单。
* [elder-plinius/L1B3RT45](https://github.com/elder-plinius/L1B3RT45) 用于释放 AI 模型的越狱提示,所有旗舰 AI 模型的越狱。
* [brexhq/prompt-engineering](https://github.com/brexhq/prompt-engineering) 使用大型语言模型(如 OpenAI 的 GPT-4)的提示和技巧。
* [pacholoamit/chatgpt-prompts](https://github.com/pacholoamit/chatgpt-prompts) 一个 NodeJS ChatGPT 提示库,包含超过 140+ 个很棒的提示
* [prompt-engineering/understand-prompt](https://github.com/prompt-engineering/understand-prompt) 理解 Prompt:基于编程、绘画、写作的 AI 探索与总结
* [howl-anderson/unlocking-the-power-of-llms](https://github.com/howl-anderson/unlocking-the-power-of-llms) 使用 Prompts 和 Chains 让 ChatGPT 成为神奇的生产力工具
* [DSXiangLi/DecryptPrompt](https://github.com/DSXiangLi/DecryptPrompt) 总结Prompt&LLM论文,开源数据&模型,AIGC应用
* [thu-coai/Safety-Prompts](https://github.com/thu-coai/Safety-Prompts) 中文安全prompts,评估和提升大模型的安全性。
* [bigscience-workshop/promptsource](https://github.com/bigscience-workshop/promptsource) 用于创建、共享和使用自然语言提示的工具。
* [wikieden/Awesome-ChatGPT-Prompts-CN](https://github.com/wikieden/Awesome-ChatGPT-Prompts-CN) ChatGPT调教指南-咒语指南-聊天提示词指南
* [devisasari/awesome-chatgpt-store](https://github.com/devisasari/awesome-chatgpt-store) 展示全球 AI 爱好者创建的 GPTs 的空间。
* [linexjlin/GPTs](https://github.com/linexjlin/GPTs) 此存储库收集泄露的 各种 GPT 提示词。
* [trigaten/Learn_Prompting](https://github.com/trigaten/Learn_Prompting) 关于快速`提示工程`的免费开源指南。
* [mattnigh/ChatGPT3-Free-Prompt-List](https://github.com/mattnigh/ChatGPT3-Free-Prompt-List) 学习创建 ChatGPT3 提示的免费指南
* [friuns2/BlackFriday-GPTs-Prompts](https://github.com/friuns2/BlackFriday-GPTs-Prompts/tree/main) 不需要 plus 订阅的免费 GPTs 列表
* [L1Xu4n/Awesome-ChatGPT-prompts-ZH_CN](https://github.com/L1Xu4n/Awesome-ChatGPT-prompts-ZH_CN) 如何将ChatGPT调教成一只猫娘。
* [taranjeet/awesome-gpts](https://github.com/taranjeet/awesome-gpts) 社区创建的所有 GPTs 的集合。
* [all-in-aigc/gpts-works](https://github.com/all-in-aigc/gpts-works) 第三方 GPTs 商店
#### 智能搜索_RAG
#####
* [microsoft/graphrag](https://github.com/microsoft/graphrag) 基于图形的模块化检索增强生成 (RAG) 系统,GraphRAG 项目是一个数据管道和转换套件,旨在使用 LLMs的强大功能从非结构化文本中提取有意义的结构化数据。该存储库提供了一种使用知识图谱记忆结构来增强LLM输出的方法。GraphRAG 是一种基于 AI 的内容解释和搜索功能。使用 LLMs,它解析数据以创建知识图谱并回答用户有关用户提供的私有数据集的问题。GraphRAG 能够连接大量信息中的信息,并使用这些连接来回答使用关键字和基于向量的搜索机制难以或无法回答的问题。在上一个问题的基础上,提供关于系统如何为各种用途提供功能的半技术性、高级信息。这使得系统可以使用 GraphRAG 来回答问题,其中答案涵盖许多文档以及主题问题,例如“此数据集中的顶级主题是什么?GraphRAG的预期用途是什么?GraphRAG 旨在支持关键信息发现和分析用例,在这些用例中,获得有用见解所需的信息跨越许多文档、嘈杂、混杂着 MI 和/或虚假信息,或者当用户旨在回答的问题比底层数据可以直接回答的问题更抽象或主题化时。GraphRAG 设计用于用户已经接受过负责任的分析方法培训并期望进行批判性推理的环境;GraphRAG 能够提供对复杂信息主题的高度洞察力,但是需要领域专家对答案进行人工分析,以验证和增强 GraphRAG 生成的响应。GraphRAG 旨在与特定领域的文本数据语料库一起部署和使用;GraphRAG 本身不收集用户数据,但鼓励用户验证所选LLM用于配置 GraphRAG 的数据隐私政策。如何评估 GraphRAG?使用哪些指标来衡量绩效?GraphRAG 已通过多种方式进行了评估;主要关注点是 1) 数据集的准确表示,数据集的准确表示已经通过手动检查和自动测试进行了测试,并针对从随机选择的测试语料库子集创建的“黄金答案”;2) 提供响应的透明度和基础性,通过自动答案覆盖率评估和对返回的底层上下文的人工检查来测试回复的透明度和基础性;3) 对提示和数据语料库注入攻击的弹性,我们使用手动和半自动技术测试用户提示注入攻击(“越狱”)和交叉提示注入攻击(“数据攻击”); 4) 低幻觉率,幻觉率是使用索赔覆盖率指标、手动检查答案和来源以及对抗性攻击来评估幻觉率的,这些攻击是通过对抗性和极具挑战性的数据集尝试强迫幻觉。GraphRAG的局限性是什么?用户在使用系统时,如何最大程度地减少 GraphRAG 限制的影响?GraphRAG 依赖于一个构造良好的索引示例;对于一般应用(例如,以人、地点、组织、事物等为导向的内容),我们提供了示例索引提示;对于独特的数据集,有效的索引可能依赖于对特定领域概念的正确识别;索引是一项相对昂贵的操作;缓解索引编制的最佳做法是在目标域中创建一个小型测试数据集,以确保索引器在执行大型索引操作之前具有性能。哪些操作因素和设置允许有效和负责任地使用 GraphRAG?GraphRAG 专为具有领域复杂性和应对困难信息挑战经验的用户而设计;虽然该方法通常对注入攻击和识别相互冲突的信息源很鲁棒,但该系统是为受信任的用户设计的;对回答进行适当的人工分析对于产生可靠的见解非常重要,并且应追踪信息的来源,以确保人类与作为答案生成的一部分所做的推论达成一致;GraphRAG 在自然语言文本数据上产生最有效的结果,这些文本数据共同关注一个整体主题或主题,并且具有丰富的实体——实体是可以唯一识别的人、地点、事物或物体;虽然 GraphRAG 已经过评估,因为它对提示和数据语料注入攻击的弹性,并且已经针对特定类型的危害进行了探究,LLM但用户使用 GraphRAG 配置可能会产生不适当或令人反感的内容,这可能使得在没有特定于用例和模型的额外缓解措施的情况下,不适合针对敏感上下文进行部署。开发人员应评估其上下文的输出,并使用可用的安全分类器、对特定安全过滤器和功能进行建模,或适合其用例的自定义解决方案。
* [truefoundry/cognita](https://github.com/truefoundry/cognita) TrueFoundry 开发的 RAG(Retrieval Augmented Generation)框架,用于构建模块化、开源应用程序。Langchain/LlamaIndex 提供了易于使用的抽象,可用于在 jupyter 笔记本上进行快速实验和原型设计。但是,当事情进入生产阶段时,会有一些限制,例如组件应该是模块化的、易于扩展和可扩展的。这就是 Cognita 发挥作用的地方。Cognita 在后台使用 Langchain/Llamaindex,并为您的代码库提供一个组织,其中每个 RAG 组件都是模块化的、API 驱动的且易于扩展。Cognita 可以在本地设置中轻松使用,同时为您提供生产就绪环境以及无代码 UI 支持。Cognita 还默认支持增量索引。Cognita 是一个开源框架,用于组织您的 RAG 代码库以及用于处理不同 RAG 自定义的前端。它提供了一种组织代码库的简单方法,以便轻松在本地测试代码库,同时还可以将其部署在生产就绪环境中。从 Jupyter Notebook 生产 RAG 系统时出现的关键问题是:分块和嵌入作业:通常需要将分块和嵌入代码抽象出来并作为作业进行部署,有时,作业需要按计划运行或通过事件触发,以保持数据更新;查询服务:从查询中生成答案的代码需要封装在像 FastAPI 这样的 api 服务器中,并且应该作为服务进行部署,此服务应该能够同时处理多个查询,并且还可以使用更高的流量自动缩放;LLM / 嵌入模型部署:很多时候,如果我们使用的是开源模型,我们会在 Jupyter notebook 中加载模型,这需要在生产环境中作为单独的服务进行托管,并且需要将模型作为 API 调用;Vector DB 部署:大多数测试发生在内存或磁盘上的 Vector DB 上,在生产环境中,需要以更具可扩展性和可靠性的方式部署数据库。Cognita 使定制和试验 RAG 系统的所有内容变得非常容易,并且仍然能够以一种良好的方式部署它。它还附带了一个 UI,可以更轻松地尝试不同的 RAG 配置并实时查看结果。您可以在本地使用它,也可以在使用/不使用任何Truefoundry组件的情况下使用它。但是,使用Truefoundry组件可以更轻松地测试不同的模型并以可扩展的方式部署系统。Cognita 允许您使用一个应用程序托管多个 RAG 系统。
* [Cinnamon/kotaemon](https://github.com/Cinnamon/kotaemon) 一个开源的干净且可定制的RAG UI,用于与您的文档聊天。构建时充分考虑了最终用户和开发人员的需求。该项目为希望对其 QA 进行 QA 的最终用户提供功能性 RAG UI 文档和开发人员。对于最终用户:简洁的用户界面:一个用户友好的界面,用于基于RAG的QA。支持各种LLMs:兼容 LLM API 提供程序(OpenAI、AzureOpenAI、Cohere 等)和本地LLMs(通过 ollama 和 llama-cpp-python)。轻松安装:简单的脚本,让您快速入门。对于开发人员:RAG 管道框架:用于构建您自己的基于 RAG 的文档 QA 管道的工具。可自定义的 UI:使用提供的 UI 查看 RAG 管道的运行情况,该 UI 是使用 Gradio 构建的。Gradio 主题:如果您使用 Gradio 进行开发,请在此处查看我们的主题:kotaemon-gradio-theme。主要特点:托管您自己的文档 QA (RAG) web-UI:支持多用户登录,在私人/公共收藏中组织您的文件,与他人协作并分享您最喜欢的聊天。组织你的LLM和嵌入模型:支持本地LLMs和流行的API提供商(OpenAI, Azure, Ollama, Groq)。混合RAG管道:合理的默认RAG管道,带有混合(全文和矢量)检索器和重新排名,以确保最佳的检索质量。多模式 QA 支持:使用图形和表格支持对多个文档执行问答。支持多模态文档解析(UI 上的可选选项)。带文档预览的高级引文:默认情况下,系统会提供详细的引文以确保 LLM。直接在浏览器内的 PDF 查看器中查看您的引文(包括相关分数),并突出显示。当检索管道返回低相关文章时发出警告。支持复杂推理方法:使用问题分解来回答复杂/多跃点问题。使用 ReAct、ReWOO 和其他代理支持基于代理的推理。可配置的设置用户界面:您可以在用户界面上调整检索和生成过程的最重要方面(包括提示)。可扩展:基于 Gradio 构建,您可以根据需要自由自定义或添加任何 UI 元素。此外,我们的目标是支持多种文档索引和检索策略。GraphRAG 索引管道作为示例提供。
* [ItzCrazyKns/Perplexica](https://github.com/ItzCrazyKns/Perplexica) 人工智能驱动的搜索引擎。它是 Perplexity AI 的开源替代品。可以深入互联网寻找答案。受 Perplexity AI 的启发,它是一个开源选项,不仅可以搜索网络,还可以理解您的问题。它使用先进的机器学习算法(如相似性搜索和嵌入)来优化结果,并提供明确的答案和引用的来源。Perplexica 使用 SearxNG 保持最新和完全开源,确保您始终在不损害隐私的情况下获得最新信息。特征:本地 LLMs:您可以使用 Ollama 使用本地LLMs,例如 Llama3 和 Mistral。Copilot 模式:(开发中)通过生成不同的查询来查找更相关的互联网资源,从而增强搜索。与普通搜索一样,它不仅使用 SearxNG 的上下文,而是访问排名靠前的匹配项,并尝试直接从页面中找到与用户查询相关的来源。正常模式:处理查询并执行 Web 搜索。专注模式:特殊模式,可更好地回答特定类型的问题。Perplexica 目前有 6 种对焦模式:所有模式:搜索整个网络以找到最佳结果。写作助手模式:有助于编写不需要搜索网络的任务。学术搜索模式:查找文章和论文,非常适合学术研究。YouTube 搜索模式:根据搜索查询查找 YouTube 视频。Wolfram Alpha 搜索模式:使用 Wolfram Alpha 回答需要计算或数据分析的查询.Reddit 搜索模式:在 Reddit 中搜索与查询相关的讨论和意见。当前信息:某些搜索工具可能会为您提供过时的信息,因为它们使用来自爬虫机器人的数据,并将其转换为嵌入内容并将其存储在索引中。与它们不同的是,Perplexica 使用 SearxNG(一个元搜索引擎)来获取结果并重新排名并从中获取最相关的来源,确保您始终获得最新信息,而无需每日数据更新的开销。
* [netease-youdao/QAnything](https://github.com/netease-youdao/QAnything) QAnything(Question and Answer based on Anything)是一个本地知识库问答系统,旨在支持多种文件格式和数据库,允许离线安装和使用。使用 QAnything,您可以简单地拖放任何格式的任何本地存储文件,并获得准确、快速和可靠的答案。目前支持的格式包括:PDF(pdf)、Word(docx)、PPT(pptx)、XLS(xlsx)、Markdown(md)、Email(eml)、TXT(txt)、Image(jpg,jpeg,png)、CSV(csv)、Web links(html)以及即将推出的更多格式。主要特点:数据安全,支持全程拔网线安装使用。跨语言QA支持,无论文档使用何种语言,中英文QA自由切换。支持海量数据QA,两阶段检索排名,解决大规模数据检索的降级问题;数据越多,性能越好。高性能生产级系统,可直接部署用于企业应用程序。人性化,无需繁琐的配置,一键安装部署,随时可用。多知识库 QA支持选择多个知识库进行问答。为什么是 2 阶段检索?在具有大量知识库数据的场景中,两阶段方法的优点非常明显。如果仅使用第一阶段嵌入检索,则随着数据量的增加,将会出现检索降级的问题,如下图中的绿线所示。但是,在第二阶段重新排名后,精度可以有稳定的提高,数据越多,性能越好。QAnything 使用检索组件 BCEmbedding,该组件以其双语和跨语言熟练度而著称。BCEmbedding擅长弥合中英文语言鸿沟,实现了在MTEB的语义表示评估中表现出色;LlamaIndex 中 RAG 评估领域的新基准。
* [severian42/GraphRAG-Local-UI](https://github.com/severian42/GraphRAG-Local-UI) 这是终极的 GraphRAG/KG 本地 LLM 应用程序。使用本地 LLMs - 具有强大的 API 和多个应用程序,用于索引/提示调整/查询/聊天/可视化/等。特征:以 API 为中心的架构:一个强大的基于 FastAPI 的服务器 (api.py),作为 GraphRAG 操作的核心。专用索引和提示优化 UI:一个单独的基于 Gradio 的界面 (index_app.py),用于管理索引和提示优化过程。本地模型支持:利用 LLM,包括与 Ollama 和兼容 OpenAI 的 API 的兼容性。成本效益:通过使用您自己的本地模型,消除对昂贵的基于云的模型的依赖。交互式 UI:用户友好的界面,用于管理数据、运行查询和可视化结果(主应用程序)。实时图形可视化:使用 Plotly(主应用程序)以 2D 或 3D 形式可视化您的知识图谱。文件管理:直接从 UI 上传、查看、编辑和删除输入文件。设置管理:通过 UI 轻松更新和管理您的 GraphRAG 设置。输出探索:浏览和查看索引输出和工件。日志:实时日志记录,以便更好地调试和监控。灵活的查询:支持具有可自定义参数的全局、本地和直接聊天查询(主应用程序)。可定制的可视化:调整图形布局、节点大小、颜色等,以适应您的偏好(主应用程序)。
* [stanford-oval/storm](https://github.com/stanford-oval/storm) 一个LLM强大的知识管理系统,用于研究一个主题并生成带有引文的完整报告。一个LLM基于互联网搜索从头开始编写类似维基百科的文章的系统。虽然该系统无法生成通常需要大量编辑的可出版文章,但经验丰富的维基百科编辑发现它在他们的写作前阶段很有帮助。STORM 将生成带有引文的长篇文章分为两个步骤:写作前阶段:系统进行基于互联网的研究,以收集参考文献并生成大纲。写作阶段:系统使用大纲和参考文献生成带有引文的完整文章。STORM 将研究过程自动化的核心确定为自动提出要提出的好问题。直接提示语言模型提问效果不佳。为了提高问题的深度和广度,STORM采用了两种策略:视角引导提问:给定输入主题,STORM 通过调查来自相似主题的现有文章来发现不同的观点,并使用它们来控制提问过程。模拟对话:STORM模拟维基百科作者与基于互联网资源的主题专家之间的对话,使语言模型能够更新其对主题的理解并提出后续问题。基于两个阶段的分离,STORM使用dspy以高度模块化的方式实现。
* [explodinggradients/ragas](https://github.com/explodinggradients/ragas) 检索增强生成 (RAG) 管道的评估框架。RAG 表示一类使用外部数据来增强LLM上下文的LLM应用程序。现有的工具和框架可以帮助你构建这些管道,但评估它并量化你的管道性能可能很困难。这就是 Ragas (RAG Assessment) 的用武之地。Ragas 为您提供了基于最新研究的工具,用于评估LLM生成的文本,让您深入了解 RAG 管道。Ragas 可以与您的 CI/CD 集成,以提供持续检查以确保性能。Ragas 提供了几个指标来评估 RAG 系统的各个方面:1.检索器:提供衡量检索系统性能的context_precision和context_recall。2.生成器 (LLM):提供衡量幻觉的忠诚度和衡量答案与问题相关性的answer_relevancy。在这里,我们使用了四个指标,但它们代表什么?忠实度 - 根据问题衡量答案与上下文的事实一致性。Context_precision - 衡量检索到的上下文与问题的相关性,传达检索管道的质量。Answer_relevancy - 衡量答案与问题的相关性。Context_recall - 衡量检索器检索回答问题所需的所有必要信息的能力。
* [infiniflow/ragflow](https://github.com/infiniflow/ragflow) RAGFlow 是一个基于深度文档理解的开源 RAG(检索增强生成)引擎。它为任何规模的企业提供简化的 RAG 工作流程,结合LLM(大型语言模型)以提供真实的问答功能,并以来自各种复杂格式数据的有根据的引用为后盾。主要特点: `“质量进,质量出”`:从具有复杂格式的非结构化数据中提取基于文档理解的深度知识。找到“数据大海捞针”,从字面上看是无限的词元。`基于模板的分块`:智能且可解释。大量模板选项可供选择。`减少幻觉的有根据的引文`:文本分块的可视化,以允许人工干预。快速查看关键参考文献和可追溯的引文,以支持有根据的答案。`与异构数据源的兼容性`:支持 Word、幻灯片、excel、txt、图像、扫描副本、结构化数据、网页等。`自动化且轻松的 RAG 工作流程`:简化的 RAG 编排,可满足个人和大型企业的需求。可LLMs配置和嵌入模型。多次召回与融合重新排名配对。直观的 API,可与业务无缝集成。
* [InternLM/MindSearch](https://github.com/InternLM/MindSearch) 基于LLMWeb搜索引擎的多智能体框架(如 Perplexity.ai Pro和SearchGPT)。您可以简单地使用自己的 perplexity.ai 式搜索引擎进行部署,使用闭源LLMs(GPT、Claude)或开源LLMs(InternLM2.5-7b-chat)。它具有以下特点:询问您想知道的一切: 旨在解决您生活中的任何问题并使用网络知识。 深入的知识发现: 浏览数百个网页来回答您的问题,提供更深入、更广泛的知识库答案。 详细的解决方案路径: 公开所有详细信息,允许用户检查他们想要的一切。这大大提高了其最终响应的可信度和可用性。优化UI外观:为用户提供各种界面,包括React、Gradio、Streamlit和Terminal,根据您的需要选择任何类型。动态图谱构建过程:将用户查询分解为原子子问题,作为图中的节点,并根据WebSearcher的搜索结果逐步扩展图。
* [amazon-science/RAGChecker](https://github.com/amazon-science/RAGChecker) RAGChecker 是一种先进的自动评估框架,旨在评估和诊断检索增强生成 (RAG) 系统。它提供了一套全面的指标和工具,用于深入分析 RAG 性能。突出特点: 整体评估:RAGChecker 提供用于评估整个 RAG 管道的Overall Metrics 。 诊断指标:用于分析检索组件的Diagnostic Retriever Metrics ,用于评估生成组件的Diagnostic Generator Metrics ,这些指标为有针对性的改进提供了宝贵的见解。 细粒度评估:利用claim-level entailment操作进行细粒度评估。 基准数据集:全面的 RAG 基准数据集,包含涵盖 10 个领域的 4k 个问题。 元评估:人工注释的偏好数据集,用于评估 RAGChecker 结果与人类判断的相关性。 RAGChecker 使开发人员和研究人员能够精确、深入地彻底评估、诊断和增强他们的 RAG 系统。
* [nashsu/FreeAskInternet](https://github.com/nashsu/FreeAskInternet) FreeAskInternet 是一个完全免费、私有且本地运行的搜索聚合器和使用 MULTI 生成的答案LLMs,无需 GPU。用户可以提出一个问题,系统将进行多引擎搜索,并将搜索结果组合起来LLM,并根据搜索结果生成答案。这一切都是免费使用的。特征:完全免费(无需任何 API 密钥);完全本地(无需GPU,任何计算机都可以运行);完全私有(所有东西都在本地运行,使用自定义llm);无需LLM硬件即可运行(无需 GPU!);使用免费的 ChatGPT3.5 / Qwen / Kimi / ZhipuAI(GLM) API(无需 API 密钥!谢谢OpenAI);定制LLM(ollama,llama.cpp)支持,是的,我们爱ollama;使用 Docker Compose 快速轻松地部署;Web 和 Mobile 友好的界面,专为 Web Search 增强的 AI 聊天而设计,允许从任何设备轻松访问。
* [RUC-NLPIR/FlashRAG](https://github.com/RUC-NLPIR/FlashRAG) 用于高效 RAG 研究的 Python 工具包。包括 32 个预处理的基准 RAG 数据集和 15 个最先进的 RAG 算法。特征:广泛且可定制的框架:包括 RAG 场景的基本组件,例如检索器、重新排序器、生成器和压缩器,允许灵活组装复杂的管道。综合基准数据集:32 个预处理的 RAG 基准数据集的集合,用于测试和验证 RAG 模型的性能。预先实现的高级 RAG 算法:根据我们的框架,具有 15 种先进的 RAG 算法并报告了结果,在不同设置下轻松重现结果。高效的预处理阶段:通过提供各种脚本(如用于检索的语料库处理、检索索引构建和文档预检索)来简化 RAG 工作流准备。优化执行:使用 vLLM、用于 FastChat for LLM 推理加速和用于向量索引管理的 Faiss 等工具,该库的效率得到了增强。
* [1Panel-dev/MaxKB](https://github.com/1Panel-dev/MaxKB) 基于 LLM 大语言模型的知识库问答系统。开箱即用、模型中立、灵活编排,支持快速嵌入到第三方业务系统,1Panel 官方出品。开箱即用:支持直接上传文档、自动爬取在线文档,支持文本自动拆分、向量化、RAG(检索增强生成),智能问答交互体验好;模型中立:支持对接各种大语言模型,包括本地私有大模型(Llama 3 / Qwen 2 等)、国内公共大模型(通义千问 / 智谱 AI / 百度千帆 / Kimi / DeepSeek 等)和国外公共大模型(OpenAI / Azure OpenAI / Gemini 等);灵活编排:内置强大的工作流引擎,支持编排 AI 工作过程,满足复杂业务场景下的需求;无缝嵌入:支持零编码快速嵌入到第三方业务系统,让已有系统快速拥有智能问答能力,提高用户满意度。
* [starsuzi/Adaptive-RAG](https://github.com/starsuzi/Adaptive-RAG) Adaptive-RAG:学习通过问题复杂性来适应检索增强的大型语言模型。我们提出了一种新的自适应QA框架,该框架可以根据查询复杂性,从最简单到最复杂的(检索增强)LLMs。此外,这个选择过程是通过分类器进行操作的,分类器是一个较小的 LM,经过训练,可以使用自动收集的标签来预测传入查询的复杂程度,这些标签是从模型的实际预测结果和数据集中固有的归纳偏差中获得的。这种方法提供了一种平衡的策略,在迭代和单步检索增强 LLMs,以响应一系列查询复杂性。我们在一组涵盖多种查询复杂性的开放域 QA 数据集上验证了我们的模型,并表明与包括自适应检索方法在内的相关基线相比,我们的模型提高了 QA 系统的整体效率和准确性。
* [weaviate/Verba](https://github.com/weaviate/Verba) 欢迎使用 Verba: The Golden RAGtriever,这是一款开源应用程序,旨在为检索增强生成 (RAG) 提供开箱即用的端到端、简化且用户友好的界面。只需几个简单的步骤,即可在本地使用 Ollama 和 Huggingface 或通过 LLM 提供商(如 Anthrophic、Cohere 和 OpenAI)轻松探索您的数据集并提取见解。Verba 是一款完全可定制的个人助理,利用检索增强生成 (RAG) 在本地或通过云部署来查询数据并与之交互。解决有关文档的问题,交叉引用多个数据点或从现有知识库中获得见解。Verba 将最先进的 RAG 技术与 Weaviate 的上下文感知数据库相结合。根据您的个人用例,选择不同的RAG框架、数据类型、分块和检索技术,以及LLM提供商。
* [fynnfluegge/rocketnotes](https://github.com/fynnfluegge/rocketnotes) Rocketnotes是一款基于 Web 的 Markdown 笔记应用程序,它利用 LLM 提供文本补全、聊天和语义搜索功能。它使用一个 100% 无服务器 RAG 管道,该管道由 langchain、sentence-transformers、faiss、Ollama 和 OpenAI 或 Anthropic 构建。用户可以免费注册使用,也可以通过 Docker 在本地运行,或在 AWS 上托管。主要功能包括代码语法高亮、Katex 和 Mermaid 支持、可拖动节点的层次文档树、文档共享、内容搜索、语义搜索、Copilot 式文本补全、与文档聊天(使用 faiss、OpenAI 和/or Anthropic 进行无服务器 RAG)、使用Docker 的本地模式(使用 Ollama 和/or Sentence Transformers 进行 100% 本地 RAG)、语义归档的 Zettelkasten 等。
* [freshllms/freshqa](https://github.com/freshllms/freshqa) 新颖的动态 QA 基准测试,包含多种问答类型,包括需要快速变化的世界知识的问题以及需要揭穿的具有错误前提的问题。LLMs我们在双模式评估程序下对各种封闭和开源进行了基准测试,使我们能够衡量正确性和幻觉。通过涉及超过50K个判断的人工评估,我们揭示了这些模型的局限性,并展示了巨大的改进空间:例如,所有模型(无论模型大小如何)都在涉及快速变化的知识和错误前提的问题上挣扎。在这些结果的激励下,我们提出了 FreshPrompt,这是一种简单的几次提示方法,通过将从搜索引擎检索到的相关和最新信息合并到提示中,大大提高了 FreshQA LLM 的性能。
* [HKUDS/LightRAG](https://github.com/HKUDS/LightRAG) 简单快速的新一代的检索增强生成。此存储库托管 LightRAG 的代码。此代码的结构基于 nano-graphrag。LightRAG,它将图形结构整合到文本索引和检索过程中。这个创新的框架采用双级检索系统,增强了从低级和高级知识发现中进行综合信息检索的能力。此外,图形结构与矢量表示的集成有助于高效检索相关实体及其关系,从而显著缩短响应时间,同时保持上下文相关性。增量更新算法进一步增强了此功能,该算法可确保及时集成新数据,使系统能够在快速变化的数据环境中保持有效和响应。广泛的实验验证表明,与现有方法相比,检索准确性和效率有了显著提高。
* [Yusuke710/nanoPerplexityAI](https://github.com/Yusuke710/nanoPerplexityAI) nanoPerplexityAI 是一个简单易用的开源项目,旨在模仿 Perplexity.ai 的功能,它使用 200 行 Python 代码实现了类似 Perplexity.ai 的搜索和问答功能,无需复杂的 GUI 或 LLM 代理。该项目通过调用 Google 搜索获取相关网页内容,并结合用户查询构建提示,然后使用 LLM API 生成答案。nanoPerplexityAI 还会将 LLM 的实时生成结果保存到 Markdown 文件中,方便用户查看。用户可以通过简单的命令行操作使用该项目,并实时查看 LLM 的生成过程。该项目参考了 Perplexity.ai、clarity-ai 和 Perplexica 等开源项目,并提供了示例对话和演示视频。
* [run-llama/llama_parse](https://github.com/run-llama/llama_parse) LlamaParse 是一个 GenAI 原生文档解析器,可以解析任何下游 LLM 用例(RAG、代理)的复杂文档数据。它确实擅长以下几点:广泛的文件类型支持:使用文本、表格、视觉元素、奇怪的布局等解析各种非结构化文件类型(.pdf、.pptx、.docx、.xlsx、.html)。表识别:将嵌入的表准确地解析为文本和半结构化表示。多模态解析和分块:使用最新的多模态模型将视觉元素(图像/图表)提取为结构化格式并返回图像块。自定义解析:输入自定义提示说明以按照您想要的方式自定义输出。LlamaParse 直接与 LlamaIndex 集成。
* [spcl/MRAG](https://github.com/spcl/MRAG) 该框架实现了多头 RAG (MRAG),这是一种专注于可能需要获取内容截然不同的多个文档的查询的新颖方案。此类查询经常发生,但具有挑战性,因为这些文档的嵌入在嵌入空间中可能很远,因此很难将它们全部检索出来。 MRAG 的想法简单而强大:利用 Transformer 的多头注意力层(而不是解码器层)的激活作为获取多方面文档的密钥。驱动动机是不同的注意力头可以学习捕获不同的数据方面。利用相应的激活会产生代表数据项和查询各个方面的嵌入,从而提高复杂查询的检索准确性。
* [hymie122/RAG-Survey](https://github.com/hymie122/RAG-Survey) 为AIGC收集RAG的精彩论文。我们在论文“人工智能生成内容的检索增强生成:一项调查”中提出了 RAG 基础、增强和应用的分类法。基于查询的 RAG、基于潜在表示的 RAG、基于 Logit 的 RAG、投机性 RAG;RAG 增强功能:输入增强、查询转换、数据增强、检索增强、递归检索、数据块优化、微调检索器、混合检索、重新排名、检索转换、生成器增强功能、提示工程、解码调优、微调生成器、结果增强、重写输出、RAG 管道增强、适应性检索(规则 - Baesd、基于模型)、迭代 RAG。
* [Nutlope/turboseek](https://github.com/Nutlope/turboseek) 受 Perplexity 启发的 AI 搜索引擎,由 Together.ai 提供支持。技术栈:带有 Tailwind 的Next.js应用路由器;共同使用 AI 进行LLM推理;Mixtral 8x7B 和 Llama-3 用于LLMs;用于搜索 API 的 Bing;适用于网站分析。运作方式:回答用户的问题;向必应搜索 API 发出请求,以查找前 6 个结果并显示它们;从 bing 发回的 6 个链接中抓取文本,并将其存储为上下文;向 Mixtral-8x7B 发出请求,其中包含用户的问题 + 上下文,并将其流回给用户;再次向 Llama-3-8B 提出 3 个相关问题,用户可以跟进。
* [sparticleinc/ASEED](https://github.com/sparticleinc/ASEED) ASEED (AISearch Engine Evaluation Dataset) 是一个基于真实用户搜索场景重写的问答数据集,用于评估主流 AI 搜索引擎的问答质量。该数据集涵盖英语、日语、简体中文、俄语和繁体中文等多种语言,并对这些语言的搜索引擎产品进行了初步测试和评估。数据集包含技术咨询、实时新闻、本地搜索、产品搜索和商业咨询等场景,并按语言比例进行划分,例如英语占20%,日语占20%,简体中文占20%等。数据样本包含查询、真实答案、断言类型、断言值、语言和描述等信息。
* [SciPhi-AI/R2R](https://github.com/SciPhi-AI/R2R) RAG系统快速开发和部署的框架。R2R 是 RAG to Riches 的缩写,它提供了向最终用户提供高质量检索增强生成 (RAG) 的最快、最有效的方式。该框架围绕可自定义的管道和功能丰富的 FastAPI 实现构建。主要特点,生成:使用框架生成任意异步管道。部署:立即启动具有流式处理功能的生产就绪异步 RAG 管道。自定义:使用直观的配置文件定制您的多式联运管道。扩展:使用自定义代码集成增强管道。OSS:受益于开源社区开发的框架,该框架旨在简化 RAG 部署。
* [QmiAI/Qmedia](https://github.com/QmiAI/Qmedia) 专为内容创作者设计的开源 AI 内容搜索引擎。支持文本、图像和短视频的提取。允许完全本地部署(Web 应用程序、RAG 服务器、LLM服务器)。支持多模式 RAG 内容问答。主要特点:搜索图像/文本和短视频材料。高效分析图片/文字和短视频内容,整合零散信息。提供内容来源,分解图像/文本和短视频信息,通过内容卡片呈现信息。根据用户的兴趣和需求,从图像/文本和短视频内容中生成自定义搜索结果。本地部署,支持离线内容搜索和私有数据问答。
* [RUC-NLPIR/LLM4IR-Survey](https://github.com/RUC-NLPIR/LLM4IR-Survey) 该项目是一个关于大语言模型在信息检索(LLM4IR)领域的综述,包含了大量相关论文,并根据其综述论文 [Large Language Modelsfor Information Retrieval: A Survey](https://arxiv.org/abs/2308.07107) 进行分类整理。项目包含了查询重写、检索器、重排序器、阅读器和搜索代理等模块,并对每个模块进行了详细的分类和最新研究的介绍,例如查询重写模块包含了提示方法、微调方法和知识蒸馏方法等。项目还讨论了LLM在IR中的未来方向和潜在的偏差问题。
* [devflowinc/trieve](https://github.com/devflowinc/trieve) Trieve是一个全面的基础设施,通过API提供搜索、推荐、RAG和分析功能。它支持自托管,集成OpenAI或Jina嵌入模型和Qdrant进行语义向量搜索,并利用naver/efficient-splade-VI-BT-large-query模型实现容错的文本/神经搜索。Trieve还提供子句高亮、推荐、方便的RAG API路由,并允许用户使用自己的模型,例如文本嵌入、SPLADE、交叉编码器重新排序和大型语言模型。此外,它还支持使用BAAI/bge-reranker-large模型进行混合搜索和交叉编码器重新排序优化。
* [IAAR-Shanghai/CRUD_RAG](https://github.com/IAAR-Shanghai/CRUD_RAG) CRUD-RAG:大型语言模型检索增强生成的综合中文基准。本项目全面支持中文 RAG 系统评价,包括中文原生数据集、评价任务和基线模型;它涵盖了 CRUD(创建、读取、更新、删除)操作,这些操作用于评估 RAG 系统添加、减少、更正信息以及根据检索信息回答问题的能力;它包含 36166 个测试样本,这是可用的中国 RAG 测试数量最多的;支持 ROUGE、BLEU、bertScore、RAGQuestEval 等多种评价指标,并提供一键式评价功能;
* [pengfeng/ask.py](https://github.com/pengfeng/ask.py) ask.py是一个用Python编写的程序,它模仿了Perplexity等AI搜索引擎,实现了搜索-提取-摘要的工作流程。它通过搜索Google获取网页内容,并使用向量数据库进行文本分块和向量搜索,最终利用LLM生成答案。该项目支持多种功能,例如日期限制搜索、目标网站搜索、输出语言和长度控制,以及基于URL列表的自定义内容提取。用户可以通过命令行参数或Web UI进行交互,并可以自定义参数控制搜索和摘要过程。
* [learn-anything/learn-anything.xyz](https://github.com/learn-anything/learn-anything.xyz) 组织世界知识,探索联系并策划学习路径。Learn Anything 的最终目标是成为跟踪您所知道的内容的最佳场所和工具。你有什么想法。你接下来要学习什么。你还不知道的。以及根据您已经知道的知识,如何以最佳方式学习它。LA 的部分目标是达到 AGI 并以完全开放的方式进行。目前,这一旅程的起点是提供最先进的能力来索引一个人的任何知识,并为它提供具有不同隐私控制的聊天机器人界面。
* [DAMO-NLP-SG/CoI-Agent](https://github.com/DAMO-NLP-SG/CoI-Agent) CoI-Agent是一个利用大型语言模型(LLM)代理来革新研究的新颖想法开发项目的代码库。该项目基于论文“Chain of Ideas: Revolutionizing Researchvia Novel Idea Development with LLM Agents”,并提供了一个在线演示。用户可以通过输入研究主题,利用CoI-Agent生成新的研究想法。该项目使用SciPDF Parser解析PDF文件,并利用LLM API进行语义搜索和生成。用户需要安装SciPDF Parser、Grobid和配置LLM API密钥才能使用该项目。
* [developersdigest/llm-answer-engine](https://github.com/developersdigest/llm-answer-engine) 使用 Next.js、Groq、Mixtral、Langchain、OpenAI、Brave 和 Serper 构建受Perplexity(LLM智能搜索)启发的答案搜索引擎。包含构建复杂的应答引擎所需的代码和说明,该引擎利用了 Groq、Mistral AI 的 Mixtral、Langchain.JS、Brave Search、Serper API 和 OpenAI 的功能。该项目旨在根据用户查询有效地返回源、答案、图像、视频和后续问题,对于对自然语言处理和搜索技术感兴趣的开发人员来说,这是一个理想的起点。
* [NirDiamant/RAG_Techniques](https://github.com/NirDiamant/RAG_Techniques) 该存储库展示了检索增强生成 (RAG) 系统的各种高级技术。RAG 系统将信息检索与生成模型相结合,以提供准确且上下文丰富的响应。欢迎来到当今可用的最全面、最动态的检索增强生成 (RAG) 教程集合之一。该存储库是旨在提高 RAG 系统的准确性、效率和上下文丰富性的尖端技术中心。主要特点:最先进的 RAG 增强功能、每种技术的全面文档、实用实施指南、定期更新最新进展。
* [timescale/pgai](https://github.com/timescale/pgai) pgai是一个PostgreSQL工具套件,简化了构建RAG、语义搜索和其他AI应用程序的过程。它利用PostgreSQL中的数据,自动创建和同步向量嵌入,支持使用向量和语义搜索,并在单个SQL语句中实现检索增强生成 (RAG),并与pgvector和pgvectorscale等扩展兼容,从而高效地处理大型向量工作负载,并能与OpenAI、Cohere等大型语言模型集成,用于数据处理任务,例如分类、摘要和数据丰富。
* [XiaomingX/Awesome-LLM-RAG](https://github.com/XiaomingX/Awesome-LLM-RAG) Awesome-LLM-RAG 是一个包含高级检索增强生成 (RAG) 在大型语言模型中的精选列表。该项目涉及多个研究和开发团队,包括 Zheng Chen、Gabriel Bénédict 和 Akari Asai 等。研究涵盖了 RAG 的架构设计、增强生成模型的测试、DFA-RAG 和 REST 等具体技术,以及在金融领域的应用如 Clinfo.ai。此外,项目还讨论了增强生成模型的可微调性和自适应学习等优化方法。
* [jank/curiosity](https://github.com/jank/curiosity) 涉足 ReAct 聊天机器人,我开始这个玩具项目是为了涉足 LangGraph 和 FastHTML。我的目标是在尝试构建类似 Perplexity 的用户体验的同时,对这些技术堆栈进行一些接触。其核心是一个简单的 ReAct 代理,它使用 Tavily 搜索来增强文本生成。与任何优秀的 Web 项目一样,大部分时间都花在了使其在视觉上看起来可接受且从交互角度来看是合理的。
* [Marker-Inc-Korea/AutoRAG](https://github.com/Marker-Inc-Korea/AutoRAG) AutoRAG是一个自动化的RAG工具,用于自动寻找最适合你数据的RAG管道。它可以自动评估各种RAG模块组合,并找到最适合你用例的RAG管道。你可以使用它来创建评估数据集,并优化你的RAG管道。AutoRAG支持多种数据创建模块、RAG优化节点和模块,以及各种评估指标。你可以在HuggingFace Space和Colab中使用AutoRAG,并通过AutoRAG Cloud获得帮助。
* [upstash/wikipedia-semantic-search](https://github.com/upstash/wikipedia-semantic-search) 该项目使用 Upstash Vector 构建了一个基于维基百科数据的语义搜索引擎和 RAG Chat SDK,支持 11 种语言的 1.44 亿个向量索引。项目利用 BGE-M3 嵌入模型实现跨语言语义搜索,并通过 Upstash RAG Chat SDK 创建了一个 RAG 聊天机器人。项目使用 Upstash Vector、Redis 和 QStash LLM API 等技术,并提供本地开发环境搭建指南和在线演示。
* [thunlp/WebCPM](https://github.com/thunlp/WebCPM) 中文长篇问答的交互式网络搜索的官方代码。使用中文预训练模型进行交互式Web搜索的项目。开发了一个网络搜索界面,它既收集人类又收集网络搜索行为。然后,使用多达 10B 的参数微调 PLM,以模仿人类的网络搜索行为,并根据收集到的事实生成答案。开源了 Web 搜索界面、数据集、实现和模型参数。
* [shaheryaryousaf/fastapi-docgpt](https://github.com/shaheryaryousaf/fastapi-docgpt) 这是一个基于FastAPI的文档问答系统,它允许用户上传PDF文件,系统会将文件内容嵌入到Qdrant向量数据库中,并使用OpenAI的嵌入模型根据上传文档内容回答用户提出的问题。该项目使用了LangChain处理PDF和嵌入,并提供Swagger API文档。 用户需要安装Python、Qdrant、OpenAI API Key等,并设置环境变量才能运行。
* [pingcap/autoflow](https://github.com/pingcap/autoflow) pingcap/autoflow 是基于 TiDB Serverless 向量存储构建的 Graph RAG 问答工具,具有对话式搜索功能和嵌入式 JavaScript 模块,支持在网站上即时响应查询。该项目使用 TiDB、LlamaIndex、DSPy、Next.js 等技术栈,提供开放源代码的知识图谱。可以通过 Docker 部署,并提供文档和贡献指南。项目演示地址为 https://tidb.ai。
* [KnowledgeCanvas/knowledge](https://github.com/KnowledgeCanvas/knowledge) 知识是一种用于保存、搜索、访问、探索和聊天所有您喜爱的网站、文档和文件的工具。通过 Knowledge 的新聊天功能,深入体验更具互动性的学习体验!利用大型语言模型的强大功能,与您的项目和资源进行动态对话。提出问题、探索概念并加深您的理解,所有这些都在直观的聊天界面中完成。
* [bhavnicksm/chonkie](https://github.com/bhavnicksm/chonkie) Chonkie是一个轻量级、快速、易于使用的 RAG 文本分块库。它提供多种分块方法,包括基于词、句子、语义相似度和 SDPM 的分块,支持多种主流分词器。Chonkie 的安装和使用非常简单,只需安装并导入即可使用,无需担心依赖关系和性能问题。Chonkie 还提供丰富的文档和示例,方便用户快速上手。
* [stanford-futuredata/ARES](https://github.com/stanford-futuredata/ARES) ARES 是用于评估检索增强生成 (RAG) 模型的开创性框架。自动化流程将合成数据生成与微调分类器相结合,以有效地评估上下文相关性、答案忠实度和答案相关性,从而最大限度地减少对大量人工注释的需求。ARES 采用合成查询生成和预测驱动推理 (PPI),提供具有统计置信度的准确评估。
* [yixuantt/MultiHop-RAG](https://github.com/yixuantt/MultiHop-RAG) “MultiHop-RAG:用于评估跨文档检索增强生成的数据集”(COLM 2024) 的存储库。MultiHop-RAG:一个 QA 数据集,用于评估 RAG 管道中元数据跨文档的检索和推理。它包含 2556 个查询,每个查询的证据分布在 2 到 4 个文档中。查询还涉及文档元数据,反映了实际 RAG 应用程序中常见的复杂场景。
* [zjunlp/OneGen](https://github.com/zjunlp/OneGen) 我们引入了一个 One-pass Generation and retrieval 框架 (OneGen),用于在生成、检索或混合任务上微调 LLMs。我们的核心思想是通过将检索任务分配给以自回归方式生成的 retirval 标记,将生成和检索集成到同一个上下文中,从而使 LLM 能够在单个正向传递中执行这两个任务。
* [qhjqhj00/memorag](https://github.com/qhjqhj00/memorag) 创新的 RAG 框架,建立在高效、超长的内存模型之上。与主要处理具有明确信息需求的查询的标准 RAG 不同,MemoRAG 利用其内存模型来实现对整个数据库的全局理解。通过从记忆中调用特定于查询的线索,MemoRAG 增强了证据检索,从而生成更准确且上下文更丰富的响应。
* [miurla/morphic](https://github.com/miurla/morphic) 具有生成式 UI 的 AI 驱动的搜索引擎。特征:使用 GenerativeUI 进行搜索和回答;理解用户的问题;搜索历史功能;共享搜索结果(可选);视频搜索支持(可选);从指定的 URL 获取答案;用作搜索引擎 ;支持 OpenAI 以外的提供商;指定模型以生成答案;Groq API支持
* [binary-husky/chatgpt_academic](https://github.com/binary-husky/chatgpt_academic) 科研工作专用ChatGPT/GLM拓展,特别优化学术Paper润色体验,模块化设计支持自定义快捷按钮&函数插件,支持代码块表格显示,Tex公式双显示,新增Python和C++项目剖析&自译解功能,PDF/LaTex论文翻译&总结功能,支持并行问询多种LLM模型,支持gpt-3.5/gpt-4/chatglm
* [swirlai/swirl-search](https://github.com/swirlai/swirl-search) 开源软件,它使用 AI 同时搜索多个内容和数据源,使用阅读器LLM找到最佳结果,然后提示生成式 AI,使您能够从自己的数据中获得答案。旨在简化 AI 基础设施的设置。它支持检索增强生成 (RAG)、分析和 Co-Pilot 等强大工具,通过 AI 增强企业的决策能力。
* [jjleng/sensei](https://github.com/jjleng/sensei) 另一个开源 Perplexity。一款人工智能驱动的答案引擎。ensei Search 使用以下技术构建: 前端:Next.js、Tailwind CSS 后端:FastAPI、OpenAI 客户端 LLMs: Command-R, Qwen-2-72b-instruct, WizardLM-2 8x22B, Claude Haiku, GPT-3.5-turbo 搜索:SearxNG、必应 内存:Redis 部署:AWS、 Paka
* [2471023025/RALM_Survey](https://github.com/2471023025/RALM_Survey) RALM 调查存储库,其中包含根据我们的调查论文:RAG 和 RAU:自然语言处理中检索增强语言模型的调查,其中包含最先进的 RAG 和其他技术的摘要。在这个存储库中,我们将介绍我们论文的最核心研究方法,并以最易于访问的方式了解 RALM 的最新工作。
* [patchy631/ai-engineering-hub](https://github.com/patchy631/ai-engineering-hub) AI Engineering Hub是一个提供深入的 AI 工程教程和资源的项目,包含 LLM 和 RAG的教程、真实世界的 AI 代理应用以及可用于项目实施、调整和扩展的示例,适合初学者、从业人员和研究人员。该项目欢迎贡献者,并提供订阅免费数据科学电子书的选项。
* [LC1332/Luotuo-QA](https://github.com/LC1332/Luotuo-QA) 骆驼QA是指给定一段特定的文本,用户针对文本中的内容,进行一个提问。语言模型试图理解文本中的内容,对用户的问题进行回答。这里我们从陈丹琦学姐参与的CoQA数据集出发,基于唐杰老师实验室发布的GLM6B模型,建立了中文的骆驼QA模型。
* [memfreeme/memfree](https://github.com/memfreeme/memfree) MemFree 是一个混合人工智能搜索引擎。借助 MemFree,您可以立即从您的知识库和整个互联网中获得准确的答案。Memfree 使用最强大的 AI 模型 - Claude 3.5 Sonnet 和最流行的前端框架 - React + Tailwind + Shadcn UI 在几秒钟内为您生成可用于生产的 UI 页面。
* [reorproject/reor](https://github.com/reorproject/reor) 私人和本地AI个人知识管理应用程序。Reor 是一款 AI 驱动的桌面笔记应用程序:它会自动链接相关笔记、回答笔记上的问题、提供语义搜索并可以生成 AI 抽认卡。所有内容都存储在本地,您可以使用类似 Obsidian 的 Markdown 编辑器编辑笔记。
* [jerryjliu/llama_index](https://github.com/jerryjliu/llama_index) 您的 LLM 应用程序的数据框架。高级 API 允许初学者使用 LlamaIndex 在 5 行代码中摄取和查询他们的数据。我们的低级 API 允许高级用户自定义和扩展任何模块(数据连接器、索引、检索器、查询引擎、重新排名模块)以满足他们的需求。
* [leptonai/search_with_lepton](https://github.com/leptonai/search_with_lepton) 使用 Lepton AI 构建基于对话的快速搜索演示。使用少于 500 行代码构建您自己的对话式搜索引擎。内置支持LLM;内置对搜索引擎的支持;可定制的漂亮UI界面;可共享的缓存搜索结果。有两个默认支持的搜索引擎:Bing 和 Google。
* [gusye1234/nano-graphrag](https://github.com/gusye1234/nano-graphrag) 一个简单、易于破解的 GraphRAG 实现。该项目提供了一个更小、更快、更干净的 GraphRAG,同时保留了核心功能。 不包括测试和提示,nano-graphrag 大约有 1100 行代码。小巧便携(faiss、neo4j、ollama...)、异步且完全类型化。
* [SamurAIGPT/EmbedAI](https://github.com/SamurAIGPT/EmbedAI) 利用本地 LLM 的功能,在不依赖 Internet 的情况下在文档上创建 QnA 聊天机器人。 确保完全的隐私和安全,因为您的任何数据都不会离开您的本地执行环境。即使没有互联网连接,也可以无缝处理和查询您的文档。
* [THUDM/WebGLM](https://github.com/THUDM/WebGLM) 迈向具有人类偏好的高效网络增强问答系统。WebGLM希望使用100亿参数的GLM,提供高效且具有成本效益的Web增强问答系统。它旨在通过将 Web 搜索和检索功能集成到预先训练的语言模型中来改进实际应用程序部署。
* [superlinear-ai/raglite](https://github.com/superlinear-ai/raglite) RAGLite 是一个基于 Python 的 Retrieval-Augmented Generation (RAG) 工具包,支持 PostgreSQL 或 SQLite。它可配置、快速且灵活,支持多种 LLM 提供商和自定义优化。此外,它还提供了可扩展的功能,如可选的前端和文档转换。
* [felladrin/awesome-ai-web-search](https://github.com/felladrin/awesome-ai-web-search) 该项目是一个整理收集利用AI辅助进行网络搜索的软件列表,包含开源和闭源软件,按首次提交时间排序,每个软件条目都提供了链接和预览(截图或演示),方便用户查找和使用AI增强型网络搜索工具。
* [gpt-open/rag-gpt](https://github.com/gpt-open/rag-gpt) RAG-GPT 利用LLM 和 RAG 技术,从用户定制的知识库中学习,为各种查询提供上下文相关的答案,确保快速准确地检索信息。使用 Flask、LLM、RAG,包括前端、后端和管理控制台,快速启动智能客户服务系统。
* [Mouez-Yazidi/WhisperMesh](https://github.com/Mouez-Yazidi/WhisperMesh) WhisperMesh 是一款高级聊天机器人,集成了语音和文本交互,通过 LLM 模型和复杂的矢量数据库提供个性化响应。利用 Haystack 的 RAG 框架,它可以确保适应您喜欢的风格的引人入胜、数据驱动的对话。
* [QingFei1/LongRAG](https://github.com/QingFei1/LongRAG) LongRAG:一种用于长上下文问答的双视角检索增强生成范式。LongRAG LongRAG 是一种通用、双视角、基于 LLM 的稳健的 LCQA RAG 系统范式,可增强 RAG 对复杂长上下文知识(即全局信息和事实细节)的理解
* [nilsherzig/LLocalSearch](https://github.com/nilsherzig/LLocalSearch) 使用LLM代理的完全本地运行的搜索聚合器。用户可以提出一个问题,系统将使用一连串来LLMs找到答案。用户可以看到代理的进度和最终答案。不需要 OpenAI 或 Google API 密钥。
* [n4ze3m/dialoqbase](https://github.com/n4ze3m/dialoqbase) 使用个性化知识库创建自定义聊天机器人。该应用程序利用高级语言模型来生成准确且上下文感知的响应。此外,它还利用 PostgreSQL 进行高效的向量搜索操作和存储知识库。
* [imartinez/privateGPT](https://github.com/imartinez/privateGPT) 使用 LLM 的强大功能,无需互联网连接就可以对您的文档提出问题。 100% 私有,任何时候都没有数据离开您的执行环境。您可以在没有互联网连接的情况下提取文档和提问!
* [LLM-Red-Team/metaso-free-api](https://github.com/LLM-Red-Team/metaso-free-api) 秘塔AI搜索逆向API白嫖测试【特长:超强检索超长输出】,支持高速流式输出、超强联网搜索(全网or学术以及简洁、深入、研究三种模式),零配置部署,多路token支持
* [embedchain/embedchain](https://github.com/embedchain/embedchain) LLM 的数据平台 - 加载、索引、检索和同步任何非结构化数据,可以在任何数据集上轻松创建LLM驱动的机器人。支持的数据类型:视频、PDF、网页、网站地图、文档等
* [whitead/paper-qa](https://github.com/whitead/paper-qa) 从PDF或文本文件(可以是原始HTML)进行问答。它努力通过文本引用来提供非常好的答案,没有幻觉。使用OpenAI嵌入和称为FAISS的矢量数据库来嵌入和搜索文档。
* [deepset-ai/haystack](https://github.com/deepset-ai/haystack) 开源的NLP框架,可以使用Transformer模型和LLM(GPT-3等)与数据交互。Haystack提供了生产就绪的工具来快速构建类似ChatGPT的问题回答、语义搜索、文本生成等。
* [rashadphz/farfalle](https://github.com/rashadphz/farfalle) 开源 AI 驱动的搜索引擎。(Perplexity克隆)。在本地LLMs运行(llama3、gemma、mistral、phi3),通过 LiteLLM 自定义LLMs,或使用云模型(Groq/Llama3、OpenAI/gpt4-o)
* [raznem/parsera](https://github.com/raznem/parsera) 使用LLMs进行智能url信息的抓取 。因为它简单轻巧,只需最少的代币使用,从而提高了速度并减少了开支。从任何只有链接和列描述的网站中抓取数据。
* [ragapp/ragapp](https://github.com/ragapp/ragapp) 在任何企业中使用 Agentic RAG 的最简单方法。与 OpenAI 的自定义 GPT 一样易于配置,但可以使用 Docker 部署在您自己的云基础设施中。使用 LlamaIndex 构建。
* [InternLM/HuixiangDou](https://github.com/InternLM/HuixiangDou) 基于 LLM 的领域知识助手。特点:应对群聊这类复杂场景,解答用户问题的同时,不会消息泛滥。提出一套解答技术问题的算法 pipeline。部署成本低。
* [Azure-Samples/azure-search-openai-demo](https://github.com/Azure-Samples/azure-search-openai-demo) 在 Azure 中运行的检索增强生成模式的示例应用,使用 Azure 认知搜索进行检索,并使用 Azure OpenAI 大型语言模型为 ChatGPT 风格和问答体验提供支持。
* [casibase/casibase](https://github.com/casibase/casibase) 开源 AI 类 LangChain RAG(Retrieval-Augmented Generation)知识数据库,具有 Web UI 和企业 SSO,支持 OpenAI、Azure、LLaMA、Google Gemini、HuggingFace、Claude、Grok 等
* [pashpashpash/vault-ai](https://github.com/pashpashpash/vault-ai) 使用 OP Stack(OpenAI + Pinecone Vector Database)为 ChatGPT 提供长期记忆。使用简单的 React 前端上传您自己的自定义知识库文件(PDF、txt、epub 等)。
* [OSU-NLP-Group/HippoRAG](https://github.com/OSU-NLP-Group/HippoRAG) HippoRAG 是一个新颖的 RAG 框架,其灵感来自人类的长期记忆,能够LLMs不断整合外部文档中的知识。RAG + 知识图谱 + 个性化 PageRank。
* [AnswerDotAI/RAGatouille](https://github.com/AnswerDotAI/RAGatouille) 在任何 RAG 管道中轻松使用和训练最先进的后期交互检索方法 (ColBERT)。专为模块化和易用性而设计,并以研究为后盾。
* [supermemoryai/opensearch-ai](https://github.com/supermemoryai/opensearch-ai) 一个个性化的 AI 搜索引擎,可在您浏览网页时了解您和您的兴趣。这就像一个perplexity / searchGPT 克隆,但对你来说。
* [run-llama/rags](https://github.com/run-llama/rags) 一个 Streamlit 应用程序,可让您使用自然语言从数据源创建 RAG (Retrieval Augmented Generation,检索增强生成)管道。
* [weaigc/bingo](https://github.com/weaigc/bingo) 高度还原 New Bing 网页版的主要操作,国内可用,兼容绝大多数微软 Bing AI 的功能,可自行部署使用。
* [bhaskatripathi/pdfGPT](https://github.com/bhaskatripathi/pdfGPT) 允许您使用 GPT 功能与 PDF 文件的内容聊天。在聊天机器人中转换您的 pdf 文件的唯一开源解决方案
* [adams549659584/go-proxy-bingai](https://github.com/adams549659584/go-proxy-bingai) 用 Vue3 和 Go 搭建的微软 New Bing 演示站点,拥有一致的 UI 体验,支持 ChatGPT 提示词,国内可用。
* [PromtEngineer/localGPT](https://github.com/PromtEngineer/localGPT) 无缝集成各种开源大模型,在本地设备上与您的文档聊天。没有数据离开您的设备,100%私密。
* [yanqiangmiffy/Chinese-LangChain](https://github.com/yanqiangmiffy/Chinese-LangChain) 小必应,Q.Talk,强聊,QiangTalk,基于ChatGLM-6b+langchain实现本地化知识库检索与智能答案生成
* [pathwaycom/llm-app](https://github.com/pathwaycom/llm-app) LLM用于 RAG、知识挖掘和流分析的应用模板。准备与 Docker 一起运行,与您的数据源同步。
* [h2oai/h2ogpt](https://github.com/h2oai/h2ogpt) 私人问答和文档+图像摘要或与本地GPT聊天,100%私人,Apache 2.0。支持 LLaMa2、llama.cpp等。
* [OpenGVLab/Ask-Anything](https://github.com/OpenGVLab/Ask-Anything) 视频聊天GPT,聊天GPT与视频理解!还有更多支持的LM,如miniGPT4,StableLM和MOSS。
* [cohere-ai/cohere-toolkit](https://github.com/cohere-ai/cohere-toolkit) Cohere Toolkit 是预构建组件的集合,使用户能够快速构建和部署 RAG 应用程序。
* [openai/chatgpt-retrieval-plugin](https://github.com/openai/chatgpt-retrieval-plugin) ChatGPT 检索插件可让您通过自然语言提问来轻松查找个人或工作文档。
* [WangRongsheng/ChatGenTitle](https://github.com/WangRongsheng/ChatGenTitle) 使用百万arXiv论文信息在LLaMA模型上进行微调的论文题目生成模型
* [khoj-ai/khoj](https://github.com/khoj-ai/khoj) 第二个大脑的AI副驾驶。在线或离线搜索和聊天您的个人知识库
* [kaixindelele/ChatPaper](https://github.com/kaixindelele/ChatPaper) 全流程加速科研,利用chatgpt进行论文总结+润色+审稿+审稿回复
* [sugarforever/chat-ollama](https://github.com/sugarforever/chat-ollama) ChatOllama 是一个基于 LLMs。它支持各种语言模型和知识库管理。
* [gragland/chatgpt-chrome-extension](https://github.com/gragland/chatgpt-chrome-extension) ChatGPT Chrome 扩展。将 ChatGPT 集成到互联网上的每个文本框中。
* [thomas-yanxin/LangChain-ChatGLM-Webui](https://github.com/thomas-yanxin/LangChain-ChatGLM-Webui) 基于LangChain和ChatGLM-6B等系列LLM的针对本地知识库的自动问答
* [kennethleungty/Llama-2-Open-Source-LLM-CPU-Inference](https://github.com/kennethleungty/Llama-2-Open-Source-LLM-CPU-Inference) 在本地CPU推理上运行Llama 2和其他开源LLM,用于文档问答
* [guangzhengli/ChatFiles](https://github.com/guangzhengli/ChatFiles) 文档聊天机器人 — 多个文件。由 GPT / 嵌入提供支持。
* [stanford-oval/WikiChat](https://github.com/stanford-oval/WikiChat) 通过从维基百科检索数据来阻止大型语言模型的幻觉。
* [JushBJJ/Mr.-Ranedeer-AI-Tutor](https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor) GPT-4 AI 导师提示,用于可定制的个性化学习体验。
* [mayooear/gpt4-pdf-chatbot-langchain](https://github.com/mayooear/gpt4-pdf-chatbot-langchain) GPT4 和 LangChain 聊天机器人,适用于大型 PDF 文档
* [dongguanting/DPA-RAG](https://github.com/dongguanting/DPA-RAG) 了解LLM的需求:检索增强生成的双重偏好调整.
* [nishiwen1214/ChatReviewer](https://github.com/nishiwen1214/ChatReviewer) 使用ChatGPT分析论文优缺点,提出改进建议
* [Tongji-KGLLM/RAG-Survey](https://github.com/Tongji-KGLLM/RAG-Survey) 大型语言模型的检索-增强生成:一项调查
* [AetherCortex/Llama-X](https://github.com/AetherCortex/Llama-X) 关于将LLaMA提高到SOTA LLM的开放学术研究
* [arc53/DocsGPT](https://github.com/arc53/DocsGPT) GPT 支持的文档聊天,与您的文档聊天
* [clmnin/summarize.site](https://github.com/clmnin/summarize.site) 浏览器扩展使用ChatGPT总结网页内容
* [thinkany-ai/rag-search](https://github.com/thinkany-ai/rag-search) 按 thinkany.ai 划分的 RAG 搜索 API
* [eimenhmdt/autoresearcher](https://github.com/eimenhmdt/autoresearcher) 使用 GPT 自动化科学工作流程
* [datvodinh/rag-chatbot](https://github.com/datvodinh/rag-chatbot) 在本地与多个 PDF 聊天
#### 模型微调_对齐及相关数据
#####
* [CASIA-LM/MoDS](https://github.com/CASIA-LM/MoDS) MoDS: 用于指令调整的面向模型的数据选择。指令调优已成为使大型语言模型 (LLMs) 具备遵循用户指令能力的实际方法。通常,使用数十万或数百万个指令跟踪对来微调基础 LLMs。最近,一些研究表明,少量高质量的指令数据就足够了。然而,如何为给定的 LLM仍然是一个悬而未决的问题。为了解决这个问题,在本文中,我们提出了一种面向模型的数据选择 (MoDS) 方法,该方法根据考虑三个方面的新标准选择指令数据:质量、覆盖率和必要性。首先,我们的方法利用质量评估模型从原始指令数据集中过滤出高质量的子集,然后设计一种算法,进一步从高质量的子集中选择具有良好覆盖率的种子指令数据集。应用种子数据集来微调基础 LLM,以获得初始的指令跟随 LLM。最后,我们开发了一个必要性评估模型,找出初始指令跟随LLM,并认为它们是进一步改进LLMs。通过这种方式,我们可以从原始指令数据集中获得一个小的高质量、广泛覆盖和高必要性的子集。第 1 阶段:质量评估。教学数据的质量在 LLMs的作用。因此,为了选择有效的指令数据,我们首先在大规模数据集中评估指令数据的质量及其相应的响应,然后从中过滤出质量更高的数据。在评估教学数据的质量时,我们使用 OpenAssistant 开发的 reward-model-deberta-v3-large-v2 模型。这是一个基于 DeBERTa 架构设计的奖励模型,并接受了四种不同类型的人类反馈数据的训练,赋予了它 QA 模型评估、奖励评分和通过排名检测潜在有害反应的能力。在本文中,我们主要利用其奖励评分能力,为大规模数据集中的每个 (instruction, input, output) 三元组生成质量分数。因此,我们应该在此步骤中下载 reward-model-deberta-v3-large-v2 并将其放入 “models” 文件夹中。对于来自大规模数据集的 json 文件,我们可以运行以下脚本来处理它并生成一个具有质量分数的新文件。“input.json” 表示来自大规模数据集的文件,而 “quality-evaluation.json” 表示具有质量分数的输出结果。所有文件的格式与 Alpaca 相同。在计算出每个 (instruction, input, output) 对的质量分数后,我们将使用以下脚本提取高质量的说明数据。“high-quality-data.json”代表我们提取的高质量数据。而 “0.0” 是过滤高质量数据的阈值。第 2 阶段:种子指令的多样化数据选择。在获得高质量的 instruction 数据集后,我们将进一步从中选择数据。为了选择具有最大覆盖率的多样化指令数据,我们建议使用 K-Center 贪婪算法进行数据选择。第 3 阶段:增强数据选择。对于不同的 LLMs,由于他们在预训练过程中学到的知识和能力不同,他们需要的指令调优数据也会不同。对于一条指令,如果给定的 LLM 可以产生良好的响应,则表明给定的 LLM 具有处理此类指令的能力,并且该指令数据对于微调 LLM。相反,如果 LLM 不能产生良好的响应,则表明 LLM 无法有效地处理这种类型的指令数据,并且指令数据对于目标 LLM。在这个阶段,我们将提取这些响应不佳的指令,为给定的 LLM。第 4 阶段:使用选定的指令进行微调。
* [princeton-nlp/SimPO](https://github.com/princeton-nlp/SimPO) [NeurIPS 2024] SimPO:具有无参考奖励的简单偏好优化。该存储库包含我们的论文《SimPO:带有无参考奖励的简单偏好优化》的代码和已发布的模型。我们提出了一种比 DPO(直接偏好优化)更简单、更有效的偏好优化算法,无需使用参考模型。在各种设置下,SimPO 在 AlpacaEval 2、MT-Bench 和 Arena-Hard 基准测试中均优于 DPO 及其最新变体。我们提出了 SimPO,这是一种更简单但更有效的方法。 SimPO 的有效性归功于一个关键设计:使用序列的平均对数概率作为隐式奖励。这种奖励公式可以更好地与模型生成保持一致,并且无需参考模型,从而提高计算和内存效率。此外,我们在 Bradley-Terry 目标中引入了目标奖励裕度,以鼓励获胜和失败响应之间存在更大的裕度,从而进一步提高算法的性能。我们将 SimPO 与 DPO 及其最新变体在各种最先进的训练设置中进行比较,包括基础模型和指令调整模型,例如 Mistral 和 Llama3。我们评估了广泛的指令跟踪基准测试,包括 AlpacaEval 2、MT-Bench 和最近具有挑战性的 Arena-Hard 基准测试。我们的结果表明,SimPO 始终显着优于现有方法,而无需大幅增加响应长度。具体来说,SimPO 在 AlpacaEval 2 上的表现比 DPO 高出 6.4 分,在 Arena-Hard 上高出 7.5 分。我们基于 Llama3-8B-Instruct 构建的顶级模型,在 AlpacaEval 2 上实现了 53.7 的长度控制胜率,在排行榜上超越了 Claude 3 Opus,在 Arena-Hard 上实现了 36.5 的胜率,使其成为最强8B开源模型。
* [alibaba/ChatLearn](https://github.com/alibaba/ChatLearn) 用于大规模对齐的灵活高效的训练框架。ChatLearn 是由阿里云 PAI 平台开发的大规模对齐训练框架。用户友好的编程界面:用户可以通过包装一些功能来专注于对单个模型进行编程,而系统则负责资源调度、数据和控制流传输以及分布式执行。高度可扩展的训练方法:ChatLearn 提供 RLHF、DPO、OnlineDPO 和 GRPO 等对齐训练,同时还支持用户定义的模型执行流程,从而实现高度方便和可定制的训练过程。多样化的分布式加速引擎:用户可以利用各种计算后端进行模型构建,例如 Megatron-LM、DeepSpeed、vLLM 等。例如,我们可以使用 Megatron-LM 进行训练,使用 vLLM 来加快推理速度。灵活的并行策略和资源分配:ChatLearn 支持针对各种模型配置的不同并行策略,从而能够根据每个模型的计算、内存和通信特性制定不同的并行方法,此外,ChatLearn 还具有灵活的资源调度机制,可适应跨模型对资源的独占或共享使用,通过其系统调度策略,它促进了高效的串行/并行执行和优化的 GPU 内存共享,从而提高了整体性能和效率。高性能:与目前最先进的 SOTA(系统)相比,在 7B+7B(策略 + 奖励)规模下实现了 52% 的性能提升,在 70B+70B 规模上实现了 137% 的提升,同时, 支持更大规模的对齐训练,例如 300B+300B。
* [stanfordnlp/SHP](https://huggingface.co/datasets/stanfordnlp/SHP) 包含 385K 个人类集体偏好,而不是对 18 个不同主题领域的问题/说明的回答,从烹饪到法律咨询。这些偏好旨在反映一种响应相对于另一种响应的有用性,并旨在用于训练 RLHF 奖励模型和 NLG 评估模型(例如,SteamSHP)。每个示例都是一个 Reddit 帖子,其中包含一个问题/说明和该帖子的一对顶级评论,其中一条评论更受 Reddit 用户(集体)的青睐。SHP 利用了这样一个事实,即如果评论 A 是在评论 B 之后写的,但仍然具有更高的分数,那么 A 表面上比 B 更受欢迎。如果 A 是在 B 之前写的,那么我们无法得出这样的结论,因为它的分数更高可能是可见性更高的结果。我们选择的数据,其中偏好标签旨在反映哪种反应更有帮助,而不是哪种危害更小,后者是过去许多工作的重点。SHP 与 Anthropic 的 HH-RLHF 数据集有何不同?最值得注意的是,SHP 中的所有数据都是自然发生的和人工编写的,而 HH-RLHF 中的响应是机器编写的,这为我们提供了两种可以相互补充的截然不同的分布。SHP 与其他抓取 Reddit 的数据集(如 ELI5)有何不同?SHP 使用时间戳信息来推断偏好,而 ELI5 仅提供评论和分数——后者不足以推断偏好,因为之前发表的评论往往会从更高的可见性中获得更高的分数。
* [artidoro/qlora](https://github.com/artidoro/qlora) 量化LLM的有效微调。QLoRA使用bitsandbytes进行量化。QLoRA是一种高效的微调方法,可减少内存使用量,足以在单个 48GB GPU 上微调 65B 模型,同时保留完整的 16 位微调任务性能。QLoRA 通过冻结的 4 位量化预训练LM将梯度反向传播到低秩适配器 (LoRA) 中。我们最好的模型 Guanaco,在 Vicuna 基准测试中优于之前所有公开的模型,达到了 ChatGPT 性能水平的 99.3%,而只需在单个 GPU 上进行 24 小时的微调。QLoRA 引入了许多创新,以在不牺牲性能的情况下节省内存:(a) 4 位 NormalFloat (NF4),一种理论上最适合正态分布权重的新数据类型 (b) 双重量化,通过量化常量来减少平均内存占用,以及 (c) 分页优化器来管理内存峰值。我们使用QLoRA对1k个模型进行微调,对 8 个指令数据集、多种模型(LLaMA、T5)和模型规模(如33B和65B参数)的指令遵循和聊天机器人性能进行详细分析。结果表明,QLoRA在小型高质量数据集上进行微调可以产生最先进的结果,即使用比以前的SoTA更小的模型也是如此。GPT4评估是人类评估的廉价且合理的替代方案。当前的聊天机器人基准测试不值得信赖,无法准确评估聊天机器人的性能水平。我们发布了所有模型和代码,包括用于 4 位训练的 CUDA 内核。
* [thu-coai/BPO](https://github.com/thu-coai/BPO) 在不进行模型训练的情况下对齐大型语言模型,黑盒提示优化 (BPO) 提供了一种概念上的新视角来弥合人类和 LLMs在 Vicuna Eval 的成对评估中,BPO 在没有训练的情况下进一步对齐 gpt-3.5-turbo 和 claude-2。性能也优于PPO和DPO,并呈现出正交的改进。通过优化用户指令,从输入角度对模型进行对齐。过程分三步:1、`反馈数据收集`:为了建模人类偏好,首先搜集了一系列带有反馈信号的开源指令微调数据集,并对这些数据经过精心筛选和过滤。2、`构造提示优化对`:使用这些反馈数据来引导大型模型识别出用户偏好的特征。首先让模型分析用户喜欢的回复和不喜欢的回复,找出其中蕴含的人类偏好特征。接着,基于这些特征,再利用模型优化原始的用户输入,以期得到更符合用户喜好的模型输出。3、`训练提示优化器`:经过步骤一和步骤二,我们得到了大量隐含人类偏好的提示对。利用这些提示对,我们训练一个相对较小的模型,从而构建提示偏好优化器。最终,我们可以利用该提示优化器对用户指令进行优化,并应用在广泛的LLM上。[BPO 数据集](https://huggingface.co/datasets/THUDM/BPO)
* [arcee-ai/mergekit](https://github.com/arcee-ai/mergekit) 用于合并预训练大型语言模型的工具。当前支持的合并方法的快速概述:Linear 线性,经典的合并方法,简单的加权平均值。SLERP系列,球形插值两个模型的参数。Task Arithmetic 任务算术,通过减去基础模型来计算每个模型的“任务向量”,线性合并任务向量并加回基数,非常适合从共同祖先微调的模型,对于几种更复杂的合并方法来说,也是一个超级有用的合并框架。TIES,建立在任务算术框架之上,通过稀疏化任务向量并应用符号共识算法来解决模型之间的干扰,允许您合并更多模型并保留其更多优势。DARE,与TIES一样,稀疏化任务向量以减少干扰,DARE使用随机修剪和新颖的重新缩放,以更好地匹配原始模型的性能。passthrough 是一种无操作,它只是通过未修改的输入张量传递,它旨在用于只有一个输入模型的层堆叠类型合并。Model Stock,使用微调模型的一些简洁的几何属性来计算线性插值的良好权重,至少需要三个模型,包括一个基本模型。
* [ZiyiZhang27/tdpo](https://github.com/ZiyiZhang27/tdpo) 弥合扩散模型和人类偏好之间的差距对于将它们集成到实际的生成工作流程中至关重要。虽然优化下游奖励模型已成为一种很有前途的对齐策略,但人们担心使用学习的奖励模型进行过度优化的风险,这可能会损害真实性能。在这项工作中,我们通过归纳和首要偏差的视角来面对扩散模型对齐中的奖励过度优化问题。我们首先确定了当前方法与扩散模型多步去噪过程中固有的时间归纳偏差之间的不匹配,这是奖励过度优化的潜在来源。然后,我们令人惊讶地发现,在我们的批评者模型中,休眠神经元充当了针对奖励过度优化的正则化,而活跃的神经元则反映了首要偏差。在这些观察结果的推动下,我们提出了带有批评活性神经元重置 (TDPO-R) 的时间扩散策略优化,这是一种策略梯度算法,它利用了扩散模型的时间归纳偏差并减轻了源于活跃神经元的首要偏差。实证结果表明,我们的方法在缓解奖励过度优化方面具有卓越的功效。
* [FreedomIntelligence/PlatoLM](https://github.com/FreedomIntelligence/PlatoLM) PlatoLM是一个可训练的用户模拟器,它通过用户模拟器在多轮对话中训练大型语言模型。该项目提出了一种新的训练用户模拟器的方法,通过将ShareGPT和LLaMA-7B应用于该方法,产生了名为Socratic的新型用户模拟器。Socratic与gpt-3.5-turbo的迭代交互产生了名为SocraticChat的多轮对话数据集。利用该数据集对LLAMA-7B-2进行微调,得到了PlatoLM模型,该模型表现出优异的性能。PlatoLM仅使用从gpt-3.5中提取的少量样本(50.7K)、较短的上下文长度(2048)和较小的模型规模(7B),在Alpaca-Eval基准测试中甚至超过了GPT 3.5。该项目的主要创新在于将“翻转棋盘”的理念应用于用户模拟器的训练,通过遮蔽真实用户的提问并仅计算其损失来修改学习目标。此外,该项目还使用了一个二元提示模板来指导模型。实验表明,在动态多轮对话中,更像人类的提问模式比静态角色扮演更能有效地训练响应模型。
* [Anthropic/hh-rlhf](https://huggingface.co/datasets/Anthropic/hh-rlhf) Human preference data about helpfulness and harmlessness,有用性和无害性的人类偏好数据,关于有用和无害的人类偏好数据,来自从人类反馈中强化学习训练有用和无害的助手。这些数据旨在为后续的RLHF训练训练偏好(或奖励)模型。这些数据不适用于对话代理的监督训练。就这些数据对对话代理进行培训可能会导致有害的模型,应避免这种情况。来自红队语言模型的人工生成和注释的红队对话,以减少危害:方法、缩放行为和经验教训。这些数据旨在了解众包工人红队模型以及哪些类型的红队攻击成功与否。这些数据不用于微调或偏好建模(使用上面的数据进行偏好建模)。这些数据是从上述无害偏好建模数据派生的对话的完整记录,其中只有选择的响应被合并到整个脚本中。此外,成绩单还带有人工和自动测量的注释,以衡量整体对话的危害程度。
* [ModelTC/Outlier_Suppression_Plus](https://github.com/ModelTC/Outlier_Suppression_Plus) Outlier Suppression+ (OS+) 是一个用于大型语言模型量化的有效方法,它通过等效且最佳的移位和缩放技术来抑制模型中的异常值,从而在不增加推理负担的情况下提高量化性能。OS+ 首先识别跨通道的异常值不对称形状,并提出了一种带有迁移模式的逐通道移位技术来消除它。然后,它专注于异常值集中现象,并提出将异常值通道按比例缩小到一个精心设计的目标。OS+ 在标准和细粒度量化设置下均取得了显著效果,在 8 位和 6 位 BERT、OPTs、BLOOM 和 BLOOMZ 上实现了接近浮点性能,在 4位 LLaMA 上实现了 9.41% 的提升,在 4 位 OPT 上实现了无损结果。该项目支持 OPTs、BLOOM、BLOOMZ 和 LLaMA 等模型,以及标准量化、逐词量化和逐组量化等方案,并提供 8 位、6 位和 4 位量化选项。
* [sozercan/aikit](https://github.com/sozercan/aikit) AIKit是一个开源平台,可轻松微调、构建和部署大型语言模型 (LLM)。它提供两种主要功能:推理和微调。AIKit使用 LocalAI 提供 OpenAI API 兼容的 REST API,支持各种推理功能和格式,允许使用任何 OpenAI API 兼容客户端发送请求到开放的 LLM。它还提供可扩展的微调接口,支持 Unsloth 进行快速、内存高效和易于使用的微调体验。AIKit无需 GPU、互联网访问或其他工具,仅需 Docker 即可运行。它具有最小镜像大小、OpenAI API 兼容性、多模态模型支持、图像生成支持、多种模型支持、Kubernetes 部署准备、AMD64 和 ARM64 CPU 支持、GPU 加速推理、供应链安全以及对断开连接环境的支持等特点。用户可以通过 Docker 命令快速启动 AIKit,并通过 WebUI 或 API 发送请求到 LLM。
* [CStanKonrad/long_llama](https://github.com/CStanKonrad/long_llama) 一种大型语言模型,能够处理256k个甚至更多的长上下文。建立在OpenLLaMA的基础上,并使用聚焦变压器(FoT)方法进行微调。聚焦转换器:上下文缩放的对比训练 (FoT) 提供了一种简单的方法,使语言模型能够处理可能包含数百万个令牌的上下文,同时在明显更短的输入上进行训练。FoT 允许注意力层的子集访问(键、值)对的内存缓存,以扩展上下文长度。FoT的独特之处在于其训练程序,借鉴了对比学习。具体来说,将内存注意层暴露给相关和不相关的键(如来自不相关文档的负样本)。这种策略激励模型区分与语义上不同的值相关的键,从而增强它们的结构。反过来,这使得推断有效上下文长度远远超出训练中看到的范围成为可能。
* [hiyouga/LLaMA-Efficient-Tuning](https://github.com/hiyouga/LLaMA-Efficient-Tuning) 在 WebUI 中高效微调 100+ LLMs (ACL 2024),特征:型号多样:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Qwen2-VL、Yi、Gemma、Baichuan、ChatGLM、Phi 等。集成方法:(连续)预训练、(多模态)监督微调、奖励建模、PPO、DPO、KTO、ORPO 等。可扩展资源:16 位全调优、冻结调优、LoRA 和 2/3/4/5/6/8 位 QLoRA,通过 AQLM/AWQ/GPTQ/LLM/HQQ/EETQ。高级算法:GaLore、BAdam、Adam-mini、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent tuning。实用技巧:FlashAttention-2、Unsloth、Liger Kernel、RoPE 缩放、NEFTune 和 rsLoRA。实验监视器:LlamaBoard、TensorBoard、Wandb、MLflow 等。更快的推理:OpenAI 风格的 API、Gradio UI 和 CLI,以及 vLLM 工作程序。
* [volcengine/veRL](https://github.com/volcengine/veRL) veRL(HybridFlow) 是一个灵活、高效且工业级的强化学习 (RL)训练框架,专为大型语言模型 (LLM) 设计。veRL 是[HybridFlow](https://arxiv.org/abs/2409.19256v2) 论文的开源版本。veRL灵活易用,支持多种 RL(HF) 算法,并能与现有 LLM 基础设施无缝集成。veRL 还支持灵活的设备映射,以实现高效的资源利用和跨不同集群规模的可扩展性。veRL 速度快,具有最先进的吞吐量,并通过 3D-HybridEngine 实现高效的 Actor 模型重新分片,从而消除内存冗余并显著降低训练和生成阶段之间的通信开销。veRL 支持多种后端,包括 FSDP 和 Megatron-LM 用于 Actor 训练,vLLM 用于回滚生成。用户可以轻松地将 veRL 扩展到其他 LLM 训练和推理框架。
* [jondurbin/bagel](https://github.com/jondurbin/bagel) Bagel是一个基于Everything, Everywhere, All at Once的项目,旨在构建一个包含各种数据的模型。它使用监督微调数据(SFT)和直接偏好优化(DPO)数据来创建一个复合数据集。所有非纯文本数据(如项目Gutenberg和Cinematika)都被转换为ShareGPT格式,方便处理。该项目从多个来源收集数据,包括ai2_arc、airoboros、apps、belebele、bluemoon、boolq、camel-ai biology、camel-ai chemistry、camel-ai math、camel-ai physics、capybara、cinematika、emobank、evol-instruct、glaive-function-calling-v2、gutenberg、limarp-augmented、lmsys_chat_1m等。通过对数据进行去重和清洗,确保数据质量。最终,Bagel将利用这些数据训练一个功能强大的模型,具备各种能力。
* [argilla-io/distilabel](https://github.com/argilla-io/distilabel) Distilabel是一个开源框架,帮助工程师构建快速、可靠和可扩展的AI数据合成和反馈管道,其核心是基于经过验证的研究论文。Distilabel可用于生成各种AI项目的合成数据和反馈,包括传统预测NLP(分类、提取等)和生成式及大型语言模型场景(指令遵循、对话生成、判断等)。Distilabel的编程方法允许您构建可扩展的数据生成和AI反馈管道,目标是通过基于经过验证的研究方法快速生成高质量、多样化的数据集来加速您的AI开发。Distilabel帮助您专注于数据质量,从而提高AI输出质量,并通过整合任何LLM提供商的AI反馈来帮助您控制数据和模型,并通过快速迭代最新的研究论文和LLM来提高效率。
* [cryscan/multilingual-share](https://huggingface.co/datasets/cryscan/multilingual-share) 为了推进中文AI的发展,促进AI技术公开化、国际化,我们成立了 ShareGPT-90k 项目,希望借助大家的力量推进数据清洗与对齐工作。可能与各位想象的有所不同,GPT模型主要通过预训练数据集赋能,语料的质量对模型最终性能至关重要。然而,百度知道、CSDN、知乎等平台软文过多;小木虫等高质量平台语料过少;个人博客内容质量参差不齐。OpenAI完成数据集的收集花费了巨大成本,以至于需要从微软集资。我们无力承担如此巨大的开销,于是需要各位有志于筹建开放获取语料,并有一定外语基础的网友们献上自己的力量。[RWKV-Wiki/MultilingualShareGPT](https://github.com/RWKV-Wiki/MultilingualShareGPT)
* [yizhongw/self-instruct](https://github.com/yizhongw/self-instruct) 将预训练的语言模型与自身生成的指令数据对齐。自我指导是一个框架,可帮助语言模型提高其遵循自然语言指令的能力。它通过使用模型自己的代数来创建大量教学数据来实现此目的。通过自导,可以提高语言模型的指令遵循功能,而无需依赖大量的手动注释。自指令过程是一种迭代引导算法,它从一组手动编写的指令种子开始,并使用它们来提示语言模型生成新指令和相应的输入输出实例。然后对这些世代进行过滤以删除低质量或类似的代数,并将生成的数据添加回任务池。此过程可以重复多次,从而产生大量教学数据,可用于微调语言模型以更有效地遵循说明。
* [openbmb/UltraInteract_sft](https://huggingface.co/datasets/openbmb/UltraInteract_sft) 大规模、高质量的对齐数据集,专为复杂的推理任务而设计。对于每条指令,它都包含一个首选项树,由(1)具有统一格式的多种规划策略的推理链(2)与环境与批判的多回合互动轨迹(3)成对数据,促进偏好学习。UltraInteract 为每条指令收集一个首选项树,该指令是根指令,每个操作都是一个节点。轨迹是由一系列动作组成的从根到叶的路径。在每个首选项树中,正确操作的所有节点和所有以正确操作结尾的轨迹都可用于 SFT。配对的正确和不正确的节点或轨迹可用于偏好学习。以下是有关UltraInteract的一些统计数据。它由 86k 指令、286k 正确答案和 219k 对组成。
* [xichen-fy/Fira](https://github.com/xichen-fy/Fira) Fira是一种用于低秩约束下训练大型语言模型 (LLM) 的即插即用内存高效训练框架。与 LoRA 和 Galore 不同,Fira 通过全秩权重的全秩梯度训练实现,首次尝试在低秩约束下实现一致的全秩训练。该方法易于实现,只需两行公式。Fira 提供了预训练代码、微调代码和 Python 库,方便用户使用。用户可以在 `target_modules_list` 中添加需要启用 Fira 的模块名称(支持子字符串)。Fira 还提供了快速入门教程,帮助用户快速上手。此外,Fira 还提供了预训练 LLaMA (60M~7B) 模型在 C4 数据集上的代码,以及微调 LLaMA-7B 模型的代码。用户可以根据自己的需求选择使用 Fira 的不同功能。
* [jianghoucheng/AlphaEdit](https://github.com/jianghoucheng/AlphaEdit) AlphaEdit 通过将参数扰动投影到其键矩阵的 null 空间上,最大限度地减少对保留知识的干扰。然后,它会从当前目标中删除与其相关的输出错误,从而使模型能够仅专注于知识更新,而无需进行权衡。通过利用矩阵投影和零空间的数学特性,AlphaEdit 确保 LLMs在编辑后保持不变。这种不变性允许后编辑的 LLMs 同时有效地处理知识更新和保存。AlphaEdit 专注于从客观的角度优化顺序编辑。此外,我们强烈推荐我们的补充工作 NSE 给对顺序编辑感兴趣的读者。NSE 通过优化 (z) 值的检索和权重 (W) 的更新来增强该过程,从而提供与 AlphaEdit 的无缝集成。
* [THUDM/LongReward](https://github.com/THUDM/LongReward) LongReward是一个开源项目,它利用现有的LLM自动为长上下文场景中的模型响应提供奖励,并考虑了四个人类价值维度:帮助性、逻辑性、忠实性和完整性。LongReward为每个维度分配一个0到10的评分,并取其平均值作为最终奖励。该项目提供了包含10,000个长上下文QA实例的SFT数据集,并基于GLM-4-9B和Meta-Llama-3.1-8B分别训练了两个SFT模型:LongReward-glm4-9b-SFT和LongReward-llama3.1-8b-SFT。此外,该项目还利用LongReward和SFT数据集中的提示构建了偏好数据集,并训练了两个DPO模型:LongReward-glm4-9b-DPO和LongReward-llama3.1-8b-DPO。所有数据集和模型都可以在HuggingFace上获取。
* [pytorch/torchtune](https://github.com/pytorch/torchtune) torchtune是一个 PyTorch 库,用于轻松地编写、微调和实验大型语言模型 (LLM)。它提供 PyTorch 实现的流行 LLM,包括 Llama、Gemma、Mistral、Phi 和 Qwen 模型系列,以及可定制的训练方案,包括全微调、LoRA、QLoRA、DPO、PPO、QAT、知识蒸馏等。torchtune 还提供开箱即用的内存效率、性能改进和利用最新 PyTorch API 的扩展性,以及用于轻松配置训练、评估、量化或推理方案的 YAML 配置文件。它内置支持许多流行的数据集格式和提示模板。目前支持 Llama3.2-Vision、Llama3.2、Llama3.1、Llama3、Llama2、Code-Llama2、Mistral、Gemma、Microsoft Phi3 和 Qwen2 等模型。
* [ahans30/goldfish-loss](https://github.com/ahans30/goldfish-loss) 我们引入了金鱼损失——一种非常简单的技术,可以减轻大型语言模型中的可提取记忆。大型语言模型可以记住并重复其训练数据,从而导致隐私和版权风险。为了减轻记忆,我们对下一个令牌训练目标进行了微妙的修改,我们称之为金鱼损失。在训练期间,随机采样的令牌子集被排除在损失计算之外。模型不会记住这些丢弃的令牌,这会阻止从训练集中逐字复制完整的令牌链。我们对数十亿规模的 Llama-2 模型进行了广泛的实验,包括预先训练和从头开始训练,并证明可提取记忆显着减少,而对下游基准几乎没有影响。
* [jwkirchenbauer/lm-watermarking](https://github.com/jwkirchenbauer/lm-watermarking) 该项目提供了大型语言模型水印算法的官方实现,该算法由论文"A Watermark for Large Language Models" 和 "On the Reliability of Watermarksfor Large Language Models" 中提出。该项目基于 Hugging Face Transformers 库的 "logit processor" 抽象,并提供了一个 Gradio 演示界面,方便用户快速体验水印算法。项目还包含了水印检测算法的实现,以及用于运行原始实验的代码。项目提供了一个简短的指南,介绍了水印超参数的最佳设置,以及如何使用水印算法。该项目还提供了更新的同形异义词代码,以及用于水印检测的正规化算法。
* [VikhrModels/effective_llm_alignment](https://github.com/VikhrModels/effective_llm_alignment) Effective LLM AlignmentToolkit是一个高度可定制、简洁、用户友好且高效的工具包,用于训练和对齐大型语言模型(LLM)。该工具包支持多种对齐方法,包括监督微调 (SFT)、蒸馏、偏好优化 (PO) 以及非配对奖励建模,并提供多种额外的功能,例如使用JSON lines格式存储数据集、混合多个数据集进行训练、使用wandb/clearml进行结果记录等。该工具包还包含一个名为SMPO的稳定偏好优化方法,旨在通过平衡选择和拒绝对来平滑地实现所需的边际水平。用户可以通过YAML配置文件轻松配置工具包参数,并使用Poetry进行项目安装和管理。
* [PKU-Alignment/safe-rlhf](https://github.com/PKU-Alignment/safe-rlhf) 由北京大学 PKU-Alignment 团队开发的高度模块化开源 RLHF 框架。它旨在为比对研究提供训练数据和可重复的代码管道,特别是通过安全 RLHF 方法进行的约束比对LLM研究。特点是:支持SFT、RLHF和Safe RLHF训练,适用于流行的预训练模型:LLaMA、OPT、百川等。提供大型人工标记数据集(最多 1M 对),包括有用和无害的偏好,以支持可重复的 RLHF 研究。支持奖励模型和成本模型的训练,并提供预先训练的检查点。支持 SFT 和 RLHF 的自定义参数和数据集。为安全约束验证提供多尺度指标,例如 BIG-bench、GPT-4 评估。
* [allenai/natural-instructions](https://github.com/allenai/natural-instructions) 该项目旨在建立一个包含大量任务及其自然语言定义/指令的社区资源库。项目假设,能够理解和推理自然语言指令的模型,应该能够泛化到任何可以用自然语言定义的任务。该项目已经发布了多个基于该数据集训练的模型,并发表了相关论文。项目鼓励社区贡献更多任务,以使该数据集更加丰富和完善,并为研究和构建下一代AI/NLP模型提供一个有用的平台。每个任务包含输入/输出和任务定义,例如,情感分类任务的输入可以是一个句子,输出是该句子的情感类别,任务定义则是对该任务的描述。
* [allenai/reward-bench](https://github.com/allenai/reward-bench) RewardBench是首个用于评估奖励模型的工具,它包含用于各种奖励模型的通用推理代码、公平的奖励模型推理的通用数据集格式和测试以及分析和可视化工具。该项目提供两个主要脚本用于生成结果:`run_rm.py` 用于评估奖励模型,`run_dpo.py` 用于评估直接偏好优化 (DPO) 模型。用户可以使用 `rewardbench` 命令快速评估任何奖励模型,并通过 `rewardbench-gen` 命令评估生成式奖励模型。该项目还提供日志记录功能,用于保存模型输出和准确性分数,并将其与 HuggingFace 上的奖励模型或数据集关联。
* [liziniu/ReMax](https://github.com/liziniu/ReMax) 论文代码(ReMax:一种简单、高效、有效的强化学习方法,用于对齐大型语言模型)。一种强化学习方法,专为 RLHF 中的奖励最大化而量身定制。ReMax 具有内存效率。与PPO相比,ReMax可以节省约50%的GPU内存消耗,可以分配1.3倍的大批量。ReMax 运行速度很快。它不需要训练价值模型,并且需要更少的计算。通常,它可以实现大约 2 倍的训练加速。ReMax易于调整以获得良好的性能。在 AlpacaEval 基准测试中,当被 GPT-4 判断时,ReMax 的胜率分别比 SFT、DPO 和 PPO 高出 84.22%、75.28% 和 63.60%。
* [allenai/open-instruct](https://github.com/allenai/open-instruct) 该项目是一个开源的指令微调项目,旨在使用公开数据集对流行的预训练语言模型进行指令微调。项目提供代码用于使用最新技术和指令数据集对语言模型进行微调,并进行标准评估,以测试模型的不同能力。项目还发布了模型检查点和其他有用资源。该项目已经发布了多个论文,介绍了项目背后的思路和初始发现,并发布了名为Tulu的LLaMa模型系列,这些模型经过全面微调,性能优异。项目还支持多种微调方法,包括LoRA和QLoRA,并不断更新,以支持最新的模型和软件包版本。
* [hkust-nlp/deita](https://github.com/hkust-nlp/deita) 欢迎来到 Deita(数据高效指令调整对齐)项目!Deita 是一个开源项目,旨在促进大型语言模型 ( LLMs ) 中指令调整的自动数据选择。它包括: 用于指令调整中自动数据选择的开源工具包。 Deita 数据集:一系列极其轻量级、高质量的对齐 SFT 数据。我们在第一个版本中发布了 6k 大小和 10k 大小的数据集。 Deita 模型:一系列与 SOTA 聊天LLMs相当的强大模型,具有极其高效的指令调整过程。与其他 SOTA LLMs相比,可以通过减少 10 倍的指令调整数据进行训练来获得 Deita 模型。
* [magpie-align/magpie](https://github.com/magpie-align/magpie) Magpie 是一个数据合成管道,可生成高质量的对齐数据。Magpie 不依赖提示工程或种子问题。相反,它通过提示对齐的 LLMs 使用用于采样指令的预查询模板来直接构建指令数据。第 1 步:指令生成:Magpie 以 LLM。此查询仅定义 instruction provider (例如 user) 的角色,不提供任何 instruction。自回归 LLM 已使用预定义指令模板格式的指令数据进行了微调。因此,当 Magpie 编写的查询作为输入时,LLM 会自动生成一条指令。第 2 步:响应生成:Magpie 将指令发送到 LLM 以生成响应。
* [huggingface/trl](https://github.com/huggingface/trl) 全栈工具,使用监督微调步骤 (SFT)、奖励建模 (RM) 和近端策略优化 (PPO) 以及直接偏好优化 (DPO) 等方法微调和调整转换器语言和扩散模型。该库建立在 transformers库之上,因此允许使用那里可用的任何模型架构。accelerate 是 trl 其骨干,允许使用 DDP 和 DeepSpeed 等方法将模型训练从单个 GPU 扩展到大规模多节点集群。PEFT 完全集成,允许在适度的硬件上使用量化和 LoRA 或 QLoRA 等方法训练最大的模型。unsloth 还集成了专用内核,可以显着加快训练速度。
* [OpenAccess-AI-Collective/axolotl](https://github.com/OpenAccess-AI-Collective/axolotl) 旨在简化各种 AI 模型微调的工具,支持多种配置和架构。 特征:训练各种 Huggingface 模型,如llama、pythia、falcon、mpt;支持 fullfinetune、lora、qlora、relora 和 gptq;使用简单的 yaml 文件或 CLI 覆盖自定义配置;加载不同的数据集格式,使用自定义格式,或自带标记化数据集;集成了 xformer、flash注意力、rope缩放和多重包装;通过 FSDP 或 Deepspeed 与单个 GPU 或多个 GPU 配合使用;在本地或云端使用 Docker 轻松运行;将结果和检查点(可选)记录到 wandb 或 mlflow
* [jiaweizzhao/GaLore](https://github.com/jiaweizzhao/GaLore) 通过梯度低秩投影进行内存效率LLM训练。梯度低秩投影 (GaLore) 是一种内存高效的低秩训练策略,允许全参数学习,但比常见的低秩自适应方法(如 LoRA)内存效率更高。作为一种梯度投影方法,GaLore 与优化器的选择无关,只需两行代码即可轻松插入到现有优化器中。GaLore 的官方发布将包括:多 GPU 训练(DDP 和 FSDP)的每层权重更新(使用 PyTorch)。内存高效的低秩梯度累积(与 PyTorch 一起使用)。优化了 GaLoreAdamW8bit(使用 bitsandbytes)。
* [anchen1011/FireAct](https://github.com/anchen1011/FireAct) FireAct是一个用于语言代理微调的项目,包含了用于生成训练数据和运行实验的提示、演示代码和微调数据。该项目定义了工具和任务,并通过`generation.py`收集数据和运行实验,结果将保存在`trajs/`中。用户可以通过`generation.py`生成训练数据,并使用提供的示例将轨迹转换为Alpaca格式或GPT格式进行训练。此外,项目还提供了一个名为`finetune.py`的脚本,用于对模型进行监督式微调。用户可以通过该脚本使用Alpaca格式数据对Llama模型进行微调。
* [openpsi-project/ReaLHF](https://github.com/openpsi-project/ReaLHF) ReaL :通过参数重新分配对LLMs进行高效 RLHF 培训。ReaL ( ReaL location的缩写)是一个分布式系统,专为LLMs高效 RLHF 训练而设计。这是用于运行 ICML 2024 口头论文实验的库DPO 是否优于LLM对齐的 PPO?综合研究。ReaL 引入了一种称为参数重新分配的新颖方法,该方法可以在集群中动态地重新分配LLM参数,并在训练期间调整并行化策略。通过优化每个计算工作负载的分配和并行性,与最先进的开源系统相比,ReaL 实现了显着更高的 PPO 训练吞吐量。
* [RLHFlow/Online-RLHF](https://github.com/RLHFlow/Online-RLHF) 在线RLHF,在线 RLHF 和在线迭代 DPO 的秘诀。我们提出了来自人类反馈的在线迭代强化学习(RLHF)的工作流程,在最近的LLM文献中,广泛报道其性能大大优于离线对应的学习方法。然而,现有的开源 RLHF 项目仍然很大程度上局限于离线学习环境。在这个仓库中,我们的目标是填补这一空白,并提供一个易于在线迭代 RLHF 复制的详细配方。特别是,通过我们的配方,仅使用开源数据,我们就可以获得与 LLaMA3-8B-instruct 相当甚至更好的结果。
* [agi-templar/Stable-Alignment](https://github.com/agi-templar/Stable-Alignment) 多智能体社交模拟 + RLHF 的高效、有效和稳定的替代方案。论文“在模拟人类社会中训练社会一致的语言模型”的代码。目标是提供一种 RLHF 替代方案,该替代方案在对齐性能方面具有卓越性,在数据学习方面非常高效,并且易于在扩展环境中部署。我们没有训练一个可以在优化过程中进行游戏的额外奖励模型,而是直接在模拟社交游戏中训练记录的交互数据。我们发现高质量的数据+可靠的算法是稳定对齐学习的秘诀。
* [zjunlp/KnowledgeEditingPapers](https://github.com/zjunlp/KnowledgeEditingPapers) 关于大型语言模型的知识编辑的必读论文。知识编辑是一个引人注目的研究领域,专注于促进对模型行为的有效修改,尤其是基础模型。目的是在指定的感兴趣范围内实施这些更改,而不会对模型在更广泛输入范围内的性能产生负面影响。Knowledge Editing 与以下主题有着密切的联系:更新和修复大型语言模型的 bug;语言模型作为知识库,在大型语言模型中定位知识;终身学习、忘却等;大型语言模型的安全性和隐私性。
* [ZHZisZZ/weak-to-strong-search](https://github.com/ZHZisZZ/weak-to-strong-search) 该项目提出了一种名为“弱到强搜索”的全新方法,通过搜索小型语言模型来对齐大型语言模型,以提高其指令遵循能力和控制生成内容的能力。该方法使用小型模型作为评分器,指导大型模型的解码过程,从而实现对大型模型的微调。项目提供了两种应用场景:使用小型模型指导大型模型更好地遵循指令,以及使用小型模型控制大型模型生成特定情感的文本。项目还提供了代码和教程,方便用户快速上手体验。
* [CarperAI/trlx](https://github.com/CarperAI/trlx) trlX 是一个分布式训练框架,从头开始设计,专注于使用提供的奖励函数或奖励标记数据集进行强化学习,从而微调大型语言模型。Accelerate 支持的培训器为 Hugging Face 模型提供训练支持🤗,允许用户微调多达 20B 参数的因果和基于 T5 的语言模型,例如 facebook/opt-6.7b、EleutherAI/gpt-neox-20b 和 google/flan-t5-xxl。对于超过 20B 参数的模型, trlX 提供 NVIDIA NeMo 支持的训练器,这些训练器利用高效的并行技术来有效地扩展。
* [mistralai/mistral-finetune](https://github.com/mistralai/mistral-finetune) Mistral-finetune是一个轻量级代码库,用于高效地微调Mistral模型。它基于LoRA技术,该技术冻结大部分模型权重,仅训练少量低秩矩阵扰动,从而实现高效的微调。该代码库针对多GPU单节点训练设置进行了优化,适用于A100或H100 GPU,对于较小的模型(如7B模型)可以使用单个GPU。该项目提供了一个简单易懂的入门指南,用于微调Mistral模型,支持Mistral Large v2、Mistral Nemo等模型,并提供模型下载链接和校验和。
* [NVIDIA/NeMo-Guardrails](https://github.com/NVIDIA/NeMo-Guardrails) NeMo Guardrails是一个开源工具包,用于轻松地为基于大型语言模型 (LLM) 的对话系统添加可编程的护栏。护栏(或简称“rails”)是控制大型语言模型输出的特定方式,例如避免谈论政治,以特定方式响应特定用户请求,遵循预定义的对话路径,使用特定语言风格,提取结构化数据等等。该项目提供了一个可编程的护栏层,位于应用程序代码和 LLM 之间,帮助开发人员构建更安全、更可靠的 LLM 应用程序。
* [yangjianxin1/Firefly](https://github.com/yangjianxin1/Firefly) Firefly(流萤): 中文对话式大语言模型,包括高质量的包含1.1M中文多任务[指令微调数据集](https://huggingface.co/datasets/YeungNLP/firefly-train-1.1M),包含23种常见的中文NLP任务的指令数据。对于每个任务,由人工书写若干指令模板,保证数据的高质量与丰富度。权重分享:在bloom-1b4-zh 和bloom-2b6-zh 的基础上,进行指令微调,获得如下中文模型:firefly-1b4 、firefly-2b6 、firefly-2b6-v2。开源QLoRA训练流程和模型权重
* [AnswerDotAI/fsdp_qlora](https://github.com/AnswerDotAI/fsdp_qlora) 使用量化 LoRA + FSDP 进行LLMs训练。FSDP-QLoRA 结合了数据并行性(Fully Sharded Data Parallelism(FSDP) 支持跨 GPU 分片模型参数、优化器状态和梯度)、4 位量化和 LoRA(QLoRA Quantized LoRA),可在双 24GB GPU 系统上训练 LLMs 多达 70B 参数。该技术由 Answer.AI 与 BitsandBytes 合作发布,旨在使训练 LLMs 更加高效,并且对每个人来说都更容易使用。[bitsandbytes/fsdp_qlora](https://huggingface.co/docs/bitsandbytes/main/en/fsdp_qlora)
* [huggingface/peft](https://github.com/huggingface/peft) 最先进的参数高效微调 (PEFT) 方法,LoRA、Prefix Tuning、P-Tuning、Prompt Tuning、AdaLoRA。参数高效微调 (PEFT) 方法能够将预训练的语言模型 (PLM) 有效地适应各种下游应用程序,而无需微调模型的所有参数。微调大型 PLM 的成本通常高得令人望而却步。在这方面,PEFT方法仅微调少量(额外)模型参数,从而大大降低了计算和存储成本。最近最先进的PEFT技术实现了与完全微调相当的性能。
* [eric-mitchell/mend](https://github.com/eric-mitchell/mend) MEND是一个用于大规模模型编辑的快速方法,它利用梯度分解来实现高效的模型编辑。该项目提供了一个Python代码库,支持多种模型编辑算法,包括MEND、KnowledgeEditor和Editable Neural Networks,并可用于各种任务,例如文本生成、事实核查和问答。用户可以根据需要选择不同的模型和数据集,并通过调整参数进行多重编辑实验。该项目还提供了详细的文档和示例代码,方便用户快速上手。
* [kmeng01/rome](https://github.com/kmeng01/rome) ROME是一个用于定位和编辑大型语言模型(LLM)中事实关联的库,支持OpenAI的GPT-2 XL(1.5B)和EleutherAI的GPT-J(6B)。该库利用“因果追踪”技术来识别LLM中事实关联的来源,并使用“秩一模型编辑”技术来修改模型的行为,使其产生更准确的输出。用户可以通过简单的API接口来指定要修改的关联,并观察模型输出的变化。该库还提供了一套评估方法,用于评估不同编辑方法的效果。
* [renqibing/ActorAttack](https://github.com/renqibing/ActorAttack) ActorAttack是一个针对大型语言模型(LLM)的多轮越狱攻击框架,通过自动发现攻击线索,利用LLM的知识来推断攻击链,最终生成多轮越狱攻击数据。该项目包含攻击数据生成、安全微调和攻击方法等内容,并提供了一个名为SafeMTData的数据集,包含多轮越狱攻击数据和安全对齐数据。该项目旨在研究LLM在多轮场景下的安全漏洞,并提供安全微调方法以提高LLM的安全性能。
* [akoksal/LongForm](https://github.com/akoksal/LongForm) 使用语料库提取生成长文本的指令调优数据集和模型。通过利用英语语料库示例和增强指令创建的。从现有的语料库(如C4和维基百科)中选择一组多样化的人类编写的文档,并通过LLM为给定的文档生成指令。然后,用结构化的语料库示例(如Stack Exchange和WikiHow)和任务示例(如问答,电子邮件写作,语法错误更正,故事/诗歌生成和文本摘要)来扩展这些示例。
* [HIT-SCIR/Chinese-Mixtral-8x7B](https://github.com/HIT-SCIR/Chinese-Mixtral-8x7B) Chinese-Mixtral-8x7B 是基于 Mistral 发布的 Mixtral-8x7B模型进行中文词表增广预训练的模型,它能够有效提升模型对中文的理解和生成能力。该项目提供了中文 Mixtral-8x7B 词表增广预训练模型,并提供相应的代码和文档,方便用户进行使用和研究。该模型在中文语言理解和生成任务上表现出色,可以用于各种自然语言处理应用,例如文本摘要、机器翻译、问答系统等。
* [dikw/hh_rlhf_cn](https://huggingface.co/datasets/dikw/hh_rlhf_cn) hh-rlhf中文翻译版本。基于Anthropic论文Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback 开源的helpful 和harmless数据,使用翻译工具进行了翻译。hh_rlhf_train 合并中英文训练集数据清洗过后17万条,hh_rlhf_test 合并中英文测试集数据 清洗过后9千条,harmless_base_cn_train 42394条,harmless_base_cn_test 2304条,helpful_base_cn_train 43722条,helpful_base_cn_test. 2346条。
* [Zjh-819/LLMDataHub](https://github.com/Zjh-819/LLMDataHub) 指令微调数据集的快速指南,提供了专为聊天机器人训练设计的精选数据集集合,包括链接、大小、语言、用法以及每个数据集的简要描述。我们的目标是让研究人员和从业者更容易识别和选择最相关和最有用的数据集,以满足他们的聊天机器人LLM培训需求。无论您是致力于提高聊天机器人对话质量、响应生成还是语言理解,此存储库都能满足您的需求。
* [Instruction-Tuning-with-GPT-4/GPT-4-LLM](https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM) 共享 GPT-4 生成的数据,用于构建具有监督学习和强化学习的指令遵循 LLM。存储库包含:英语教学 - 遵循数据由 GPT-4 使用 Alpaca 提示进行微调 LLM。由 GPT-4 使用由 ChatGPT 从羊驼翻译的中文提示生成的中文指令跟踪数据。按 GPT-4 排名以训练奖励模型的比较数据。关于非自然指令的答案 来自 GPT-4 的数据,用于大规模量化 GPT-4 和指令调整模型之间的差距。
* [sher222/LeReT](https://github.com/sher222/LeReT) LeReT是一个基于强化学习的检索增强大型语言模型项目,旨在通过尝试学习检索。项目代码包含三个主要部分:偏好数据集采样、模型训练和评估。该项目基于DSPy、TGI和Eric Mitchell的DPO代码库构建。用户可以使用提供的脚本采样偏好数据集、训练模型并评估其性能。项目还提供了一个完整的示例运行脚本,展示了所有三个步骤的组合。
* [h2oai/h2o-llmstudio](https://github.com/h2oai/h2o-llmstudio) 用于微调LLM的框架和无代码GUI。轻松有效地微调LLM,无需任何编码经验。使用专为大型语言模型设计的GUI。使用各种超参数微调任何LLM。使用最新的微调技术,例如低秩适配 (LoRA) 和具有低内存占用的 8 位模型训练。使用强化学习 (RL) 微调模型(实验性)。使用高级评估指标来判断模型生成的答案。直观地跟踪和比较模型性能。
* [PKU-Alignment/AlignmentSurvey](https://github.com/PKU-Alignment/AlignmentSurvey) 该项目是一个关于AI Alignment的全面综述,包含大量研究成果和分析,可在其网站和arXiv论文中获取更多信息。该项目还提供了一个开放平台,用户可以通过GitHub Issues进行交流,分享对综述的见解。用户可访问www.alignmentsurvey.com了解更多信息,并可通过邮件或GitHub Issues反馈问题或建议。如果用户在研究中使用该综述,请引用其论文。
* [yangjianxin1/LongQLoRA](https://github.com/yangjianxin1/LongQLoRA) LongQLoRA 是一种节省内存且有效的方法,可通过较少的训练 GPU 来扩展大型语言模型的上下文长度。在单个 32GB V100 GPU 上,LongQLoRA 可以将 LLaMA2 7B 和 13B 的上下文长度从 4096 扩展到 8192,甚至扩展到 12k。LongQLoRA 在 PG19 和证明桩数据集上实现了有竞争力的困惑性能,仅经过 1000 个微调步骤,我们的模型优于 LongLoRA,非常接近 MPT-7B-8K。
* [xfactlab/orpo](https://github.com/xfactlab/orpo) 提出了一种称为ORPO的方法(Odds Ratio Preference Optimization,赔率比偏好优化),这种方法针对不受欢迎的生成内容施与小小惩罚就足以实现偏好对齐的 SFT,通过将 SFT 和对齐结合到一个新的目标(损失函数)中来训练基础大语言模型,从而免去了耗时耗力的SFT阶段。根据论文架构图显示,ORPO不需要监督微调、奖励模型和参考模型。
* [dvlab-research/LongLoRA](https://github.com/dvlab-research/LongLoRA) LongLoRA 和 LongAlpaca 长上下文LLMs。在LongLoRA方法中,所提出的转移短注意力易于实现,与Flash-Attention兼容,并且在推理过程中不需要。我们发布了所有模型,包括 7B 到 70B 的模型,上下文长度从 8k 到 100k。我们建立了一个长上下文指令跟踪数据集 LongAlpaca-12k。我们发布了相应的 LongAlpaca-7B、LongAlpaca-13B 和 LongAlpaca-70B 型号。
* [THUDM/LongAlign](https://github.com/THUDM/LongAlign) LongAlign 是长上下文上 LLM。我们提出了 LongAlign-10k 数据集,其中包含 10,000 个长度为 8k-64k 的长指令数据。我们研究了训练策略,即打包(带有损失加权)和排序批处理,它们都在我们的代码中实现。对于实际的长上下文评估,我们引入了 LongBench-Chat,它评估了 10k-100k 长度的查询的指令跟踪功能。
* [PKU-Alignment/align-anything](https://github.com/PKU-Alignment/align-anything) Align Anything是一个高度模块化的框架,旨在将任何模态的大模型(如LLM、VLM等)与人类意图和价值观进行对齐。它支持多种模型微调,包括LLaMA3.1、LLaVA、Gemma、Qwen、Baichuan等,并支持跨任何模态的微调对齐,包括LLM、VLM和其他模态。该框架还支持不同的对齐算法,包括SFT、DPO、PPO等。
* [stochasticai/xTuring](https://github.com/stochasticai/xTuring) 轻松构建、定制和控制您自己的 LLM。提供快速、高效和简单的LLM微调,如LLaMA,GPT-J,Galactica等。通过提供一个易于使用的界面来微调LLM到您自己的数据和应用程序,xTuring使构建,自定义和控制LLM变得简单。整个过程可以在您的计算机内部或私有云中完成,确保数据隐私和安全。
* [unslothai/unsloth](https://github.com/unslothai/unsloth) 速度提高 2-5 倍,内存减少 70%,QLoRA 和 LoRA 微调。所有内核均用 OpenAI 的 Triton 语言编写。精度损失为 0% - 无近似方法 - 全部准确无误。无需更换硬件。自 2018+ 起支持 NVIDIA GPU。最低 CUDA 功能 7.0。支持 4 位和 16 位 QLoRA / LoRA 通过bitsandbytes进行微调。开源训练速度提高 5 倍。
* [OpenLMLab/LOMO](https://github.com/OpenLMLab/LOMO) 提出了一个新的优化器,**LO**w-Memory **O**ptimization,它将梯度计算和参数更新融合在一步中,以减少内存使用。 我们的方法使得在单张 RTX 3090 上可以进行 7B 模型的全参数微调,或者在单个 8×RTX 3090 的机器上可以进行 65B 模型的全参数微调(RTX 3090 的内存为 24GB)。
* [Xwin-LM/Xwin-LM](https://github.com/Xwin-LM/Xwin-LM) 旨在为大型语言模型开发和开源对齐技术,包括监督微调(SFT),奖励模型(RM),拒绝采样,来自人类反馈的强化学习(RLHF)等。我们的第一个版本建立在Llama2基本模型的基础上,在AlpacaEval上排名TOP-1。值得注意的是,它是第一个在此基准测试上超过 GPT-4 。
* [jordandeklerk/Starcoder2-Finetune-Code-Completion](https://github.com/jordandeklerk/Starcoder2-Finetune-Code-Completion) 该项目展示了如何使用 QLoRA、PEFT 和 Bits and Bytes 技术,在单个 A100 GPU 上微调 Starcoder2-3B 模型,使其能够更好地完成代码,并适应公司内部代码库的编码规范和特定库。该方法可以有效地利用有限的计算资源,并为资源有限的环境提供一种更实用的方法。
* [RUCAIBox/RLMEC](https://github.com/RUCAIBox/RLMEC) 基于包含错误的LLM解决方案样本,我们使用错误解决方案重写任务和从教师模型中提取的具有最小编辑约束的数据来训练生成奖励模型。然后,我们使用令牌级 RL 目标和基于模仿的正则化,通过细粒度监督对策略模型(即我们的LLM )进行 RL 训练。
* [stanfordnlp/pyreft](https://github.com/stanfordnlp/pyreft) 一种强大、高效且可解释的微调方法。pyreft ,一个表示微调 (ReFT) 库,支持通过可训练的干预调整内部语言模型表示。通过更少的微调参数和更健壮的性能, pyreft 可以提高微调效率,降低微调成本,同时为研究适配参数的可解释性打开大门。
* [tloen/alpaca-lora](https://github.com/tloen/alpaca-lora) 在消费者硬件上使用指令来微调LLaMA模型。使用低秩自适应(LoRA)重现斯坦福大学Alpaca结果的代码。我们提供了一个与 text-davinci-003质量相似的Instruct模型,可以在Raspberry Pi上运行(用于研究),并且代码很容易扩展到 13b , 30b 和 65b模型。
* [beyond/rlhf-reward-single-round-trans_chinese](https://huggingface.co/datasets/beyond/rlhf-reward-single-round-trans_chinese) 英文 reward 数据集的翻译版本,用于训练一个奖励模型。类似的英文 reward 数据集:[yitingxie/rlhf-reward-datasets](https://huggingface.co/datasets/yitingxie/rlhf-reward-datasets) [beyond/rlhf-reward-single-round](https://huggingface.co/datasets/beyond/rlhf-reward-single-round)
* [yizhongw/self-instruct](https://github.com/yizhongw/self-instruct) 一种将预训练语言模型与指令对齐的方法。可帮助语言模型提高其遵循自然语言指令的能力。它通过使用模型自己来创建大量教学数据来实现此目的。通过自导,可以提高语言模型的指令遵循功能,而无需依赖大量的手动注释。
* [BAAI/COIG](https://huggingface.co/datasets/BAAI/COIG) 中文开放教学通才 (COIG) 项目,以维护一套无害、有用且多样化的中文对话语料库。具体包括:人工验证的翻译指令 (67798) 、考试指令 (63532) 、人类价值对齐指令 (34471) 、反事实修正多轮聊天(13653)、Leetcode 指令 (11737)
* [InternLM/xtuner](https://github.com/InternLM/xtuner) 高效、灵活且功能齐全的工具包,用于微调大型模型(InternLM2、Llama3、Phi3、Qwen、Mistral 等)。自动调度 FlashAttention 和 Triton 内核等高性能算子,以提高训练吞吐量。与 DeepSpeed 兼容,轻松利用各种 ZeRO 优化技术。
* [alisawuffles/proxy-tuning](https://github.com/alisawuffles/proxy-tuning) 该项目包含论文“Tuning Language Models by Proxy (2024)”的代码,该论文提出了一种通过代理模型来微调语言模型的新方法。项目提供了评估数据和脚本,可用于评估模型性能,并提供论文的引用信息。
* [unit-mesh/unit-minions](https://github.com/unit-mesh/unit-minions) 《AI 研发提效研究:自己动手训练 LoRA》,包含 Llama (Alpaca LoRA)模型、ChatGLM (ChatGLM Tuning)相关 Lora 的训练。训练内容:用户故事生成、测试代码生成、代码辅助生成、文本转 SQL、文本生成
* [junkangwu/beta-DPO](https://github.com/junkangwu/beta-DPO) 这个 repo 包含 β-DPO 算法的参考实现,用于从偏好数据训练语言模型,如论文 $beta$-DPO: 使用动态 $beta$ 的直接偏好优化中所述,β-DPO 管道有两个阶段:在感兴趣的数据集上运行监督微调 (SFT)。
* [punica-ai/punica](https://github.com/punica-ai/punica) 将多个 LoRA 微调 LLM 作为一个整体提供服务。Punica 支持运行多个 LoRA 微调模型,但代价是运行一个模型。通过分段收集矩阵向量乘法 (SGMV)的 LoRA 是高效的,并保留了强大的批处理效果.
* [lxe/simple-llm-finetuner](https://github.com/lxe/simple-llm-finetuner) 初学者友好的界面,旨在通过商用NVIDIA GPU上的PEFT库,使用LoRA方法微调各种语言模型。使用较小的数据集和 256 的样本长度,您甚至可以在常规的 Colab Tesla T4 实例上运行它。
* [allenai/RL4LMs](https://github.com/allenai/RL4LMs) 模块化 RL 库,可根据人类偏好微调语言模型。为训练语言模型提供易于定制的构建块,包括策略算法、奖励函数、指标、数据集和基于 LM 的参与者-批评策略的实现。
* [lightyear-turing/TuringMM-34B-Chat](https://github.com/lightyear-turing/TuringMM-34B-Chat) 开源的中英文Chat模型,由北京光年无限科技有限公司基于Yi-34B开源模型、基于14w的精标教育数据进行sft微调以及15W对齐数据进行DPO偏好学习得到的一个微调模型。
* [LC1332/Chinese-alpaca-lora](https://github.com/LC1332/Chinese-alpaca-lora) 在LLaMA、斯坦福大学Alpaca、Alpaca LoRA、Cabrita、Japanese-Alpaca-LoRA的基础上,调试了一个中国LLaMA模型。同时使用ChatGPT API将alpaca_data. json翻译为中文,再进行微调。
* [zjunlp/EasyInstruct](https://github.com/zjunlp/EasyInstruct) Python 包,在您的研究实验中被提议作为大型语言模型(LLMs GPT-4、LLaMA、ChatGLM。EasyInstruct 将指令生成、选择和提示模块化,同时还考虑了它们的组合和交互。
* [zetavg/LLaMA-LoRA-Tuner](https://github.com/zetavg/LLaMA-LoRA-Tuner) 用于微调和测试您自己的 LoRA 模型的 UI 工具基于 LLaMA, GPT-J 等.一键运行在谷歌Colab上。+ 一个类似 Gradio ChatGPT 的聊天用户界面,用于演示您的语言模型。
* [OptimalScale/LMFlow](https://github.com/OptimalScale/LMFlow) 一个可扩展、方便和高效的工具箱,用于微调大型机器学习模型。我们的目标是开发一套用户友好、快速可靠,并对整个社区开放的全流程微调代码库。
* [XueFuzhao/InstructionWild](https://github.com/XueFuzhao/InstructionWild) InstructWild v2,其中包括超过 110K 个基于用户的高质量指令。我们没有使用自导来生成任何指令。我们还用指令类型和特殊标签标记这些指令的子集。
* [qgyd2021/rlhf_reward_dataset](https://huggingface.co/datasets/qgyd2021/rlhf_reward_dataset) 奖励模型数据集。数据集从网上收集整理如下:beyond/rlhf-reward-single-round-trans_chinese;dikw/hh_rlhf_cn;Anthropic/hh-rlhf;liyucheng/zhihu_rlhf_3k;stanfordnlp/SHP。
* [RLHFlow/RLHF-Reward-Modeling](https://github.com/RLHFlow/RLHF-Reward-Modeling) RLHF 奖励建模。该项目的初始版本重点关注 Bradley-Terry 奖励模型和成对偏好模型。从那时起,我们采用了更先进的技术来构建偏好模型。
* [ashishpatel26/LLM-Finetuning](https://github.com/ashishpatel26/LLM-Finetuning) 欢迎来到 PEFT(预训练-评估微调)项目存储库!该项目的重点是使用 LoRA 和 Hugging Face 的 transformers 库有效地微调大型语言模型。
* [QingyiSi/Alpaca-CoT](https://huggingface.co/datasets/QingyiSi/Alpaca-CoT) 该存储库将不断收集各种指令调优数据集。并且我们将不同的数据集标准化为相同的格式,可以直接通过羊驼模型的代码加载。
* [FlagAI-Open/FlagAI](https://github.com/FlagAI-Open/FlagAI) 快速、易用且可扩展的大型模型工具包。我们的目标是支持在各种下游任务中以多模态的方式训练、微调和部署大规模模型。
* [datasets/BAAI/COIG](https://huggingface.co/datasets/BAAI/COIG) 中文开放教学通才(COIG)项目来维护一套无害、有用和多样化的中文教学语料库。[BAAI-Zlab/COIG](https://github.com/BAAI-Zlab/COIG)
* [arielnlee/Platypus](https://github.com/arielnlee/Platypus) # 鸭嘴兽:快速、廉价、强大的 LLMs。基于 LLaMA 和 LLaMa-2 变压器架构的一系列微调和合并变体。鸭嘴兽利用 LoRA 和 PEFT。
* [hiyouga/FastEdit](https://github.com/hiyouga/FastEdit) 帮助开发人员使用单个命令有效地将新鲜和自定义的知识注入大型语言模型中。实现的算法:Rank-One Model Editing (ROME)
* [zjukg/KnowPAT](https://github.com/zjukg/KnowPAT) 一种LLMs与人类知识偏好保持一致的新管道。KnowPAT结合领域知识图谱来构建偏好集并设计新的对齐目标,以微调LLMs
* [NVIDIA/workbench-llamafactory](https://github.com/NVIDIA/workbench-llamafactory) 这是一个 NVIDIA AI Workbench 示例项目,演示了使用 Llamafactory(LLM 微调) 的端到端模型开发工作流程。
* [transformerlab/transformerlab-app](https://github.com/transformerlab/transformerlab-app) 面向高级的开源应用程序LLM Engineering:在您自己的计算机上交互、训练、微调和评估大型语言模型。
* [liucongg/ChatGLM-Finetuning](https://github.com/liucongg/ChatGLM-Finetuning) 基于ChatGLM-6B、ChatGLM2-6B模型,进行下游具体任务微调,涉及Freeze、Lora、P-tuning、全参微调等
* [sunzeyeah/chinese_chatgpt_corpus](https://huggingface.co/datasets/sunzeyeah/chinese_chatgpt_corpus) 该存储库收集了用于监督微调(SFT)和来自人类反馈的强化学习(RLHF)的中文语料库。
* [tatsu-lab/stanford_alpaca](https://github.com/tatsu-lab/stanford_alpaca) 斯坦福大学的LLaMA羊驼模型。用2K数据微调模型,构建和共享一个遵循指令的LLaMA模型。
* [liyucheng/zhihu_rlhf_3k](https://huggingface.co/datasets/liyucheng/zhihu_rlhf_3k) 知乎3000个用于RLHF(Reinforcement Learning from Human Feedback 基于人类反馈的强化学习)的数据
* [Instruction-Tuning-with-GPT-4/GPT-4-LLM](https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM) 旨在共享 GPT-4 生成的数据,用于构建具有监督学习和强化学习的指令遵循 LLM。
* [anthropics/hh-rlhf](https://github.com/anthropics/hh-rlhf) “通过从人类反馈中强化学习来训练有用且无害的助手”的人类偏好数据
* [simplifine-llm/Simplifine](https://github.com/simplifine-llm/Simplifine) 使用单行命令、无缝云集成和流行的优化框架进行简单的开源 LLM 微调。
* [tatsu-lab/alpaca_farm](https://github.com/tatsu-lab/alpaca_farm) RLHF和替代方案的仿真框架。在不收集人工数据的情况下开发 RLHF 方法。
* [BelleGroup/generated_chat_0.4M](https://huggingface.co/datasets/BelleGroup/generated_chat_0.4M) 包含约40万条由BELLE项目生成的个性化角色对话数据,包含角色介绍。
* [OpenLLMAI/OpenRLHF](https://github.com/OpenLLMAI/OpenRLHF) 基于Ray的高性能RLHF框架(支持70B+全调谐& LoRA & Mixtral &KTO)
* [BelleGroup/school_math_0.25M](https://huggingface.co/datasets/BelleGroup/school_math_0.25M) 包含约25万条由BELLE项目生成的中文数学题数据,包含解题过程。
* [zxbsmk/webnovel_cn](https://huggingface.co/datasets/zxbsmk/webnovel_cn) 从12560本网文提取的约21.7M条可用于训练小说生成的中文指令数据
* [open-chinese/alpaca-chinese-dataset](https://github.com/open-chinese/alpaca-chinese-dataset) Alpaca Chinese Dataset -- 中文指令微调数据集【人工+GPT4o持续更新】
* [opendilab/awesome-RLHF](https://github.com/opendilab/awesome-RLHF) 带有人类反馈资源的强化学习的精选列表(持续更新)
* [rohan-paul/LLM-FineTuning-Large-Language-Models](https://github.com/rohan-paul/LLM-FineTuning-Large-Language-Models) LLM (Large Language Models) 微调项目和常见实用技术说明
* [lucidrains/PaLM-rlhf-pytorch](https://github.com/lucidrains/PaLM-rlhf-pytorch) 在PaLM架构上实现RLHF(人工反馈强化学习),类似ChatGPT
* [hikariming/alpaca_chinese_dataset](https://github.com/hikariming/alpaca_chinese_dataset) 人工精调的中文对话数据集和一段chatglm的微调代码
* [Magnetic2014/llm-alignment-survey](https://github.com/Magnetic2014/llm-alignment-survey) 用于大型语言模型 (LLM) 对齐的精选阅读列表。
* [Chongjie-Si/Subspace-Tuning](https://github.com/Chongjie-Si/Subspace-Tuning) 参数高效微调中子空间调整方法的通用框架。
* [BelleGroup/train_3.5M_CN](https://huggingface.co/datasets/BelleGroup/train_3.5M_CN) 约350万条由BELLE项目生成的中文指令数据。
* [BelleGroup/train_2M_CN](https://huggingface.co/datasets/BelleGroup/train_2M_CN) 约200万条由BELLE项目生成的中文指令数据。
* [BelleGroup/train_1M_CN](https://huggingface.co/datasets/BelleGroup/train_1M_CN) 约100万条由BELLE项目生成的中文指令数据。
* [BelleGroup/train_0.5M_CN](https://huggingface.co/datasets/BelleGroup/train_0.5M_CN) 约50万条由BELLE项目生成的中文指令数据。
* [guardrails-ai/guardrails](https://github.com/guardrails-ai/guardrails) 开源Py包,验证和纠正大语言模型的输出
* [mymusise/ChatGLM-Tuning](https://github.com/mymusise/ChatGLM-Tuning) 平价的chatgpt实现方案, 基于ChatGLM-6B + LoRA
* [gururise/AlpacaDataCleaned](https://github.com/gururise/AlpacaDataCleaned) 经过清理和整理的斯坦福的羊驼数据集
* [wangrui6/Zhihu-KOL](https://huggingface.co/datasets/wangrui6/Zhihu-KOL) 知乎对话数据,parquet格式400多MB的大小
* [ZrrSkywalker/LLaMA-Adapter](https://github.com/ZrrSkywalker/LLaMA-Adapter) 在1小时内遵循指令微调LLaMA , 1.2M参数
* [llm-attacks/llm-attacks](https://github.com/llm-attacks/llm-attacks) 对对齐语言模型的普遍和可转移攻击
* [bigscience-workshop/xmtf](https://github.com/bigscience-workshop/xmtf) 通过多任务微调实现跨语言泛化
* [hiyouga/ChatGLM-Efficient-Tuning](https://github.com/hiyouga/ChatGLM-Efficient-Tuning) 基于 PEFT 的高效 ChatGLM 微调
* [carbonz0/alpaca-chinese-dataset](https://github.com/carbonz0/alpaca-chinese-dataset) alpaca中文指令微调数据集
* [masa3141/japanese-alpaca-lora](https://github.com/masa3141/japanese-alpaca-lora) 日文指令来微调LLaMA模型
* [ssbuild/chatglm_finetuning](https://github.com/ssbuild/chatglm_finetuning) Chatglm 6b微调和羊驼微调
* [beyondguo/LLM-Tuning](https://github.com/beyondguo/LLM-Tuning) LoRA 微调和 RLHF 全流程
* [22-hours/cabrita](https://github.com/22-hours/cabrita) 葡萄牙语微调指令LLaMA
#### 模型推理部署_解码量化_UI客户端
#####
* [Deeptrain-Community/chatnio](https://github.com/Deeptrain-Community/chatnio) 下一代 AI 一站式 B/C 端解决方案,支持 OpenAI,Midjourney,Claude,讯飞星火,Stable Diffusion,DALL·E,ChatGLM,通义千问,腾讯混元,360 智脑,百川 AI,火山方舟,新必应,Gemini,Moonshot 等模型,支持对话分享,自定义预设,云端同步,模型市场,支持弹性计费和订阅计划模式,支持图片解析,支持联网搜索,支持模型缓存,丰富美观的后台管理与仪表盘数据统计。支持 OpenAI 格式中转, 自研渠道均衡负载和分配算法, 兼容多种模型格式, 支持多渠道管理 (优先级/权重/用户分组/模型映射/状态管理), 支持内置渠道重试 (支持自定义渠道重试次数), 内置上游隐藏。强大 Markdown 语法支持 (支持 代码高亮 / LaTeX 公式 / Mermaid 思维导图 / 图表绘制), 支持对话云端同步, 支持分享对话, 支持对话保存为图片 (携带站点 Logo 等信息), 支持分享管理和站点直链分享对话, 支持集成绘图模型 (DALL-E / Stable Diffusion / Midjourney 等), 支持 Midjourney U/V/R 操作。开箱即用的文档解析服务, 支持 Pdf / Docx / Pptx / Xlsx / 音频 / 图片等文件类型解析, 支持多种图片存储方案 (Base64 / Local / AWS S3 / Cloudflare R2 / 腾讯云 COS / 阿里云 OSS / MinIO / Telegram CDN 等), 同时支持 OCR 图片识别 (基于开源 PaddleOCR 支持私有化部署)。支持多种计费方式 (不计费 / 次数 / Token 计费), 支持设置允许模型, 支持快速导入内置价格模板 (可自定义汇率)或同步上游价格设定, 同时在弹性计费基础上支持订阅计划 (支持订阅计划自定义配额 / 计划分层 / 升降级 / 折扣设定), 支持设置订阅配额图表设置, 支持快速导入其他级别订阅, 支持同步上游订阅设置。支持完备兑换码体系, 支持设置数量和点数, 支持批量生成和兑换码管理, 支持礼品码/兑换码类型 (礼品码一种礼品码类型一个用户只能使用一次可用于福利发放, 兑换码一种兑换码类型一个用户可以使用多次可用于发卡和兑换商品), 支持礼品码查看领取用户 / 创建时间 / 领取时间等信息。丰富的模型市场功能, 支持自定义模型名称, 模型 Logo, 模型标签 (如官方/绘图/高定价/高质量/多模态等), 自动绑定价格设定中的模型价格, 支持设置默认列表显示模型, 支持顺序拖拽自定义排序, 支持设置是否为高上下文 (搭配文件解析服务实现非高上下文模型的内容切割), 使用户可以更好的了解模型的特性。支持系统 / 自定义预设, 云端同步, 支持搜索预设, 支持预设管理, 支持预设克隆, 支持设置预设图像 / 简介 / 上下文角色消息。支持同一请求入参的缓存, 支持设置自定义缓存可能性大小 (同一入参的最大缓存结果数量, 防止多次请求返回相同结果), 支持设置缓存过期时间 (缓存结果的有效时间)。支持 SearXNG 开源搜索引擎联网搜索, 支持 Google / Bing / DuckDuckGo / Yahoo / WikiPedia / Arxiv / Qwant 等数十种搜索引擎搜索, 支持安全搜索模式, 内容截断, 图片代理, 测试搜索可用性等功能。 (支持全部模型 & 模型无需支持 function calling)。支持 Web / PWA / App 三端, UI 移动端适配, 支持明暗主题切换, 国际化支持 (多语言切换),支持 Windows / MacOS / Linux / Android / iOS App。内置 SEO 优化, 支持自定义站点 Logo / 站点名称 / 页脚 / 联系方式等, 支持设置用户初始点数, 支持站点公告 / 通知功能, 支持设置 SMTP 发件。
* [open-webui/open-webui](https://github.com/open-webui/open-webui) 用户友好的 WebUILLMs,支持的LLM运行器包括 Ollama 和 OpenAI 兼容的 API。直观的界面。响应式设计:在桌面和移动设备上享受无缝体验。快速响应。轻松设置:使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装。代码语法高亮显示。完整的 Markdown 和 LaTeX 支持。本地 RAG 集成:通过开创性的检索增强生成 (RAG) 支持深入了解聊天交互的未来。此功能将文档交互无缝集成到您的聊天体验中。您可以将文档直接加载到聊天中或将文件添加到文档库中,使用 `#` 提示符中的命令轻松访问它们。网页浏览功能:使用 `#` 命令后跟 URL 将网站无缝集成到您的聊天体验中。提示预设支持:使用聊天输入中 `/` 的命令立即访问预设提示。毫不费力地加载预定义的对话启动器并加快您的交互速度。通过Open WebUI社区集成轻松导入提示。RLHF 注释:通过竖起大拇指和竖起大拇指对消息进行评分来增强您的消息,从而促进创建用于人类反馈强化学习 (RLHF) 的数据集。利用您的消息来训练或微调模型,同时确保本地保存数据的机密性。对话标记:轻松分类和定位特定聊天,以便快速参考和简化数据收集。下载/删除模型。GGUF 文件模型创建。多种模式支持:在不同的聊天模式之间无缝切换,实现多样化的互动。多模态支持:与支持多模态交互的模型无缝交互,包括图像(例如 LLava)。模型文件生成器。多种模型对话:毫不费力地同时与各种模型互动,利用它们的独特优势来获得最佳响应。通过并行利用一组不同的模型来增强您的体验。协作聊天:通过无缝编排群组对话,利用多个模型的集体智慧。使用该 `@` 命令指定模型,从而在聊天界面中启用动态和多样化的对话。让自己沉浸在编织在聊天环境中的集体智慧中。OpenAI API 集成。历史访问。聊天记录。导入/导出聊天记录。语音输入支持:通过语音交互与模型互动;享受直接与模特交谈的便利。此外,探索在静音 3 秒后自动发送语音输入的选项,以获得简化的体验。使用高级参数进行微调控制:通过调整温度等参数和定义系统提示来根据您的特定偏好和需求定制对话,从而获得更深层次的控制。外部 Ollama 服务器连接。基于角色的访问控制 (RBAC):使用受限权限确保安全访问;只有经过授权的个人才能访问您的 Ollama,并且为管理员保留独家模型创建/提取权限。后端反向代理支持:通过Open WebUI后端和Ollama之间的直接通信来增强安全性。持续更新。
* [FMInference/H2O](https://github.com/FMInference/H2O) 用于大型语言模型高效生成推理的重磅 Oracle,大型语言模型(LLMs)尽管最近取得了令人瞩目的成就,但部署成本明显过高,特别是对于涉及长内容生成的应用程序,例如对话系统和故事写作。通常,除了模型参数外,还存储了大量瞬态状态信息(称为 KV 缓存),并随序列长度和批量大小线性缩放。在本文中,我们介绍了一种实现 KV 缓存的新方法,该方法可显着减少其内存占用。我们的方法基于一个值得注意的观察结果,即在计算注意力分数时,一小部分词元贡献了大部分价值。我们称这些词元为重击者(H2)。通过全面的调查,我们发现 (i) H2 的出现是自然的,并且与文本中频繁同时出现标记密切相关,以及 (ii) 删除它们会导致显着的性能下降。基于这些见解,我们提出了 Heavy Hitter Oracle (H2O),这是一种 KV 缓存驱逐策略,可动态保留最近词元和 H2 词元的平衡。我们将KV缓存逐出表述为一个动态子模问题,并证明了(在温和的假设下)我们新颖的逐出算法的理论保证,可以帮助指导未来的工作。我们使用 OPT、LLaMA 和 GPT-NeoX 在各种任务中验证了算法的准确性。在 OPT-6.7B 和 OPT-30B 上,我们实施了 20% 重击器的 H2O,将吞吐量提高了 29×、29× 和 3× 三个领先的推理系统 DeepSpeed Zero-Inference、Hugging Face Accelerate 和 FlexGen。在相同的批量大小下,H2O 最多可以减少 1.9× 的延迟。
* [linkedin/Liger-Kernel](https://github.com/linkedin/Liger-Kernel) Liger Kernel 是专为 LLM 推理工具。它可以有效地提高 20% 的多 GPU 训练吞吐量,并减少 60% 的内存使用。我们已经实施了 Hugging Face CompatibleRMSNorm、RoPE、SwiGLU、CrossEntropy、FusedLinearCrossEntropy 等。该内核可与 Flash Attention、PyTorch FSDP 和 Microsoft DeepSpeed 配合使用,开箱即用。我们欢迎社区的贡献,为 LLM。只需一行代码,Liger Kernel 就可以将吞吐量提高 20% 以上,并将内存使用量降低 60%,从而实现更长的上下文长度、更大的批处理大小和海量词汇。主要特点:易用性:只需用一行代码修补你的 Hugging Face 模型,或者使用我们的 Liger Kernel 模块编写你自己的模型。省时省内存:本着与 Flash-Attn 相同的精神,但适用于 RMSNorm、RoPE、SwiGLU 和 CrossEntropy!通过内核融合、就地替换和分块技术,将多 GPU 训练吞吐量提高 20%,并将内存使用量降低 60%。确切:计算是精确的 - 没有近似值!前向和后向传递均通过严格的单元测试实现,并针对没有 Liger 内核的训练运行进行收敛测试,以确保准确性。轻:Liger Kernel 的依赖项最少,只需要 Torch 和 Triton,不需要额外的库!告别依赖性头痛!支持多 GPU:与多 GPU 设置(PyTorch FSDP、DeepSpeed、DDP 等)兼容。Trainer 框架集成:Axolotl、LLaMa-Factory、SFTTrainer、Hugging Face Trainer、SWIFT
* [mit-han-lab/streaming-llm](https://github.com/mit-han-lab/streaming-llm) 具有注意力接收器的高效流语言模型,可以无限长度地输入LLM进行推理,而不会牺牲效率和性能。在需要长时间交互的多轮对话等流应用程序中部署大型语言模型 (LLM),但存在两个主要挑战。首先,在解码阶段,缓存先前令牌的键和值状态 (KV) 会消耗大量内存。其次,流行的LLM不能推广到比训练序列长度更长的文本。窗口注意,其中仅缓存最新的 KV,是一种自然的方法---但我们表明,当文本长度超过缓存大小时,它会失败。我们观察到一个有趣的现象,即注意力下沉,即保留初始词元的 KV 将在很大程度上恢复窗口注意力的性能。在本文中,我们首先证明了注意力下沉的出现是由于对初始令牌作为“接收器”的强烈注意力得分,即使它们在语义上并不重要。基于上述分析,我们引入了StreamingLLM,这是一个高效的框架,使使用有限长度注意力窗口训练的LLM能够推广到无限序列长度,而无需任何微调。StreamingLLM可以使Llama-2,MPT,Falcon和Pythia使用多达400万个词元或更多词元执行稳定高效的语言建模。此外,发现在预训练期间添加占位符令牌作为专用的注意力接收器可以进一步改进流式处理部署。在流设置中,StreamingLLM 的性能优于滑动窗口重新计算基线高达 22.2 倍的加速。
* [microsoft/TypeChat](https://github.com/microsoft/TypeChat) 一个库,可以轻松使用类型构建自然语言界面。传统上,构建自然语言界面是很困难的。这些应用通常依靠复杂的决策树来确定意图并收集采取行动所需的输入。LLM使我们能够从用户那里获取自然语言输入并与意图匹配,从而使这变得更容易。这带来了新的挑战,包括需要约束模型的响应以确保安全性,构建模型的响应以进行进一步处理,以及确保模型的响应有效。提示工程旨在解决这些问题,但随着提示大小的增加,学习曲线陡峭,脆弱性增加。TypeChat 用模式工程取代了提示工程。只需定义NLP程序中支持的意向的类型即可。这可以像用于对情绪进行分类的界面一样简单,也可以像购物车或音乐应用程序的类型一样简单。例如,若要向架构添加其他意向,开发人员可以将其他类型添加到可区分的联合中。要使架构分层,开发人员可以使用“元架构”根据用户输入选择一个或多个子架构。定义类型后,TypeChat 会通过以下方式处理其余工作:1.使用类型构造 LLM 的提示。2.验证 LLM 响应是否符合架构。如果验证失败,则通过进一步的语言模型交互来修复不符合项的输出。3.简明扼要地总结(不使用 LLM)实例,并确认它与用户意图一致。
* [sgl-project/sglang](https://github.com/sgl-project/sglang) SGLang 是一个适用于大型语言模型和视觉语言模型的快速服务框架。它通过共同设计后端运行时和前端语言,使您与模型的交互更快、更可控。核心功能包括:快速后端运行时:使用 RadixAttention 为前缀缓存、前跃移约束解码、连续批处理、标记注意力(分页注意力)、张量并行性、FlashInfer 内核、分块预填充和量化 (INT4/FP8/AWQ/GPTQ) 提供高效服务。灵活的前端语言:为编程 LLM,包括链式生成调用、高级提示、控制流、多模态输入、并行性和外部交互。广泛的模型支持:支持各种生成模型(Llama 3、Gemma 2、Mistral、QWen、DeepSeek、LLaVA 等)和嵌入模型 (e5-mistral),易于扩展以集成新模型。活跃的社区:SGLang 是开源的,并由一个活跃的社区提供支持,并得到行业采用。与 TensorRT LLM 和 vLLM 相比,SGLang Runtime 在在线和离线场景中始终如一地提供卓越或有竞争力的性能,使用 FP8 和 FP16 处理从 Llama-8B 到 Llama-405B 的模型,以及在 A100 和 H100 GPU 上。SGLang 的性能始终优于 vLLM,在 Llama-70B 上的通量提高了 3.1 倍。它也经常匹配或有时优于 TensorRT LLM 。更重要的是,SGLang 是完全开源的,用纯 Python 编写,核心调度器在不到 4K 行的代码中实现。
* [Infini-AI-Lab/TriForce](https://github.com/Infini-AI-Lab/TriForce) 通过分层推测解码实现长序列生成的无损加速。一种可扩展且强大的分层推测解码系统,能够为长上下文 LLMs(Llamma2-7B-128K、LWM-Text-Chat-128K、Llama2-13B-128K 等)提供服务,在消费类 GPU 上以 0.1 秒的延迟无损(16 位精度,保留原始输出分布)进行长序列生成。我们证明 TriForce 可以在两个 RTX 4090 上有效地为 128K 上下文的 Llama2-13B 提供服务,达到平均令牌间隔时间 (TBT) 低至 0.22 秒,这比高度优化的卸载系统快 7.8 倍。此外,借助 TriForce,Llama2-7B-128K 可以在两台 RTX 4090 上提供服务,TBT 为 0.11 秒,仅比一台 A100 慢 0.5 倍。此外,TriForce 在单个 RTX 4090 GPU 上执行的性能是 DeepSpeed-Zero-Inference 的 4.86 倍。除了卸载之外,TriForce 还为 A100 等数据中心 GPU 提供了片上解决方案。TriForce 有效地解决了这一挑战,同时通过集成基于检索的绘图和分层推测来证明地保持了模型质量。这种方法利用原始模型权重和检索中的一小部分 KV 缓存作为草稿模型,这可以通过具有 StreamingLLM 缓存的轻量级模型进一步推测,以减少草稿延迟。通过缓解与 KV 缓存和模型权重相关的双重瓶颈,它显著加快了长上下文 LLM 的卸载服务。
* [predibase/lorax](https://github.com/predibase/lorax) 多 LoRA 推理服务器,可扩展到 1000 个微调LLMs。LoRAX(LoRA eXchange)是一个框架,允许用户在单个 GPU 上为数千个微调模型提供服务,从而在不影响吞吐量或延迟的情况下显着降低服务成本。特征:动态适配器加载:在您的请求中包含来自 HuggingFace、Predibase 或任何文件系统的任何微调的 LoRA 适配器,它将实时加载而不会阻塞并发请求。根据请求合并适配器,以立即创建强大的集成。异构连续批处理:将不同适配器的请求打包到同一批次中,使延迟和吞吐量与并发适配器的数量几乎保持不变。适配器交换调度:在 GPU 和 CPU 内存之间异步预取和卸载适配器,调度请求批处理以优化系统的聚合吞吐量。优化推理:高吞吐量和低延迟优化,包括张量并行性、预编译 CUDA 内核(flash-attention、paged attention、SGMV)、量化、令牌流。准备好用于生产的预构建 Docker 镜像、Kubernetes 的 Helm 图表、Prometheus 指标以及使用 Open Telemetry 的分布式跟踪。兼容 OpenAI 的 API,支持多轮聊天对话。通过每个请求租户隔离的专用适配器。结构化输出(JSON模式)。免费用于商业用途:Apache 2.0 许可证。
* [ModelTC/llmc](https://github.com/ModelTC/llmc) [EMNLP 2024 Industry Track] 这是“LLMC:使用多功能压缩工具包对大型语言模型量化进行基准测试”的官方 PyTorch 实现。LLMC 是一个开箱即用的工具,专为压缩LLM设计,利用最先进的压缩算法提高效率并减少模型体积,同时不影响预测精度。亮点功能:综合算法支持: 提供广泛的 SOTA压缩算法 支持,包括 量化、混合精度量化 和 稀疏化,同时保持与原始仓库一致的精度。我们还提供 量化最佳实践,确保最佳性能和效率。支持的格式: 支持 量化(整型和浮点)和 稀疏化,具体包括 权重激活量化、权重量化、混合精度量化,以及 结构化 和 非结构化稀疏化。广泛模型支持: 支持多种 LLM模型,包括 LLama、Mistral、InternLM2、Qwen2 等,以及 MOE 和 VLM 模型。多后端兼容性: 无缝集成多个后端,增强部署灵活性。多种量化设置和模型格式兼容广泛的后端和硬件平台,例如 VLLM、Sglang、LightLLM、MLC-LLM 和 AutoAWQ,使其高度灵活。性能效率: 支持大规模LLM的量化,例如 Llama3.1-405B 和 OPT-175B,并可在 单个 A100/H100/H800 GPU 上评估 PPL。
* [Aaronhuang-778/BiLLM](https://github.com/Aaronhuang-778/BiLLM) 突破训练后量化的LLMs极限,预训练的大型语言模型 (LLMs) 表现出卓越的通用语言处理能力,但对内存和计算资源有很大的要求。作为一种强大的压缩技术,二值化可以将模型权重大幅降低到仅 1 位,从而降低昂贵的计算和内存要求。然而,现有的量化技术无法在超低位宽下保持LLM性能。为了应对这一挑战,我们提出了BiLLM,这是一种为预训练LLMs量身定制的突破性1位训练后量化方案。基于权重分布LLMs,BiLLM首先识别并结构性地选择显著权重,并通过有效的二元残差近似策略将压缩损失最小化。此外,考虑到非显著权重的钟形分布,我们提出了一种最佳的拆分搜索,以准确地对它们进行分组和二值化。BiLLM首次实现了高精度推理(例如,LLaMA2-70B上的8.41困惑),在各种LLMs系列和评估指标中仅具有1.08位权重,远远优于SOTA量化方法LLM。此外,BiLLM 可在单个 GPU 上在 0.5 小时内实现 70 亿个权重的二值化过程LLM,表现出令人满意的时间效率。
* [lmstudio-ai/lms](https://github.com/lmstudio-ai/lms) LM Studio 的命令行工具。使用 lmstudio.js 构建。LM Studio 是一个功能强大的命令行工具,专为 LM Studio 设计,提供模型管理和本地API服务。它基于 lmstudio.js 构建,支持 Windows、Linux 和 macOS 多个平台。用户可以通过简单的命令进行安装、启动和管理模型,并支持 GPU 加速。无论是查看模型状态、加载和卸载模型,还是创建新项目,lms 都能轻松应对。工具还支持流式日志监控,确保用户对模型运行状态一目了然。LM Studio 的命令行工具 lms 是 LM Studio 的官方命令行工具,为用户提供了便捷的模型管理和推理功能。它基于 lmstudio.js 构建,支持 Windows、Linux 和 macOS 多个平台。用户可以通过命令行实现模型的管理和推理,简化了复杂的模型操作过程。LM Studio 还提供了多种部署方式,如 REST API、命令行工具等,方便用户在本地部署模型。通过 lms 命令行工具,用户可以轻松管理模型,并支持流式日志监控,确保模型运行状态透明可见。
* [jmorganca/ollama](https://github.com/jmorganca/ollama) 启动并运行 Llama 3.2、Mistral、Gemma 2 和其他大型语言模型。灵活的模型导入和自定义:Ollama 不仅支持运行预构建的模型,还提供了灵活的工具来导入和自定义用户自己的模型。用户可以从 GGUF 格式导入模型,或者进行模型的个性化设置,如调整温度参数等。简单易用的 API:Ollama 提供了一个简单的 API 来创建、运行和管理模型,使得开发者可以轻松地在各种应用程序中使用这些模型。优化的 GPU 使用:Ollama 优化了 GPU 使用情况,使得在本地运行大型模型时更加高效和节能。社区支持和活跃更新:Ollama 得到积极维护和更新,拥有一个庞大而活跃的社区,用户可以加入社区获取帮助和支持。热切换模型:Ollama 支持热切换模型,用户可以在不中断服务的情况下切换不同的模型,提高了使用的灵活性和便利性。开源框架:Ollama 是一个开源框架,用户可以根据自己的需求进行定制和扩展,增加了其灵活性和适用性。
* [dwzhu-pku/PoSE](https://github.com/dwzhu-pku/PoSE) 位置跳跃训练,将上下文窗口有效扩展至LLMs极长 (ICLR 2024),引入了位置跳跃 (PoSE) 训练,用于高效适应大型语言模型~(LLMs) 到极长的上下文窗口。PoSE 通过在训练期间使用具有操纵位置索引的固定上下文窗口模拟长输入来模拟长输入,从而将训练长度与目标上下文窗口大小分离。以上下文窗口从 2,048 扩展到 8,192 为例,我们将 2,048 个标记的原始上下文窗口划分为两个块,并通过添加一个明显的跳过偏差项来调整第二个块的位置索引。对于每个训练示例,这些偏差项以及每个块的长度都会发生变化,以便模型可以通过微调来适应目标上下文窗口的所有相对位置。值得注意的是,通过将微调长度与目标上下文窗口解耦,PoSE 理论上可以无限扩展上下文窗口,仅受推理内存使用的限制。随着高效推理的不断进步~(例如,vLLM、Flash Attention),我们相信 PoSE 在进一步扩展上下文窗口方面具有巨大的前景。
* [hahnyuan/PB-LLM](https://github.com/hahnyuan/PB-LLM) 提出了部分二值化LLM(PB-LLM)的方法,可以实现极端低比特量化,同时保持量化LLM的语言推理能力。 具体来说,我们的探索首先揭示了现有二值化算法朴素应用的无效性,并强调了显著权重在实现低比特量化中的重要作用。因此,PB-LLM在二值化过程中过滤了一小部分突出权重,将它们分配给更高位的存储,即部分二值化。PB-LLM通过从训练后量化(PTQ)和量化感知训练(QAT)的角度进行分析,扩展以恢复量化LMM的能力。在PTQ下,结合GPTQ的概念,我们重构了以Hessian矩阵为指导的二值化权重矩阵,并成功恢复了PB-LLM在低位的推理能力。在QAT下,我们在训练过程中冻结了显著权重,探索了对最小化量化误差至关重要的最优比例因子的推导,并提出了一种基于该派生的残差二值化权重缩放策略的缩放机制。这些探索和开发的方法大大有助于恢复低比特量化LLM的性能,并在LLM的网络二值化领域取得实质性进展。
* [microsoft/aici](https://github.com/microsoft/aici) 人工智能控制器接口 (AICI) 允许您构建控制器,以实时约束和指导大型语言模型 。控制器是灵活的程序,能够实现约束解码、提示和生成文本的动态编辑,以及跨多个并行代协调执行。控制器在逐个令牌解码期间合并自定义逻辑,并在 LLM。这允许各种 Controller 策略,从编程或基于查询的解码到多代理对话,都可以在与 LLM。AICI 的目的是让构建和试验现有和全新的控制器策略变得容易,以改进 LLM 代次。通过抽象出底层 LLM,AICI 旨在简化控制器的开发,使编写快速控制器变得更加容易,并简化 LLM 推理和服务引擎之间的兼容性。AICI 专为本地和云执行而设计,包括(最终)多租户 LLM 部署。控制器作为轻量级 WebAssembly (Wasm) 模块实现,这些模块与 LLM,在 GPU 忙于令牌生成时利用 CPU。AICI 是推理堆栈中的一层,旨在允许 Guidance、LMQL 等控制库在其上运行,并获得效率和性能改进,以及跨 LLM。
* [b4rtaz/distributed-llama](https://github.com/b4rtaz/distributed-llama) 张量并行性就是您所需要的。在弱设备上运行LLMs,或者通过分配工作负载和划分 RAM 使用量来使功能强大的设备更加强大。这个项目证明,在多个设备之间分配工作LLMs负载并实现显着的加速是可能的。分布式 Llama 允许您在内部运行大量LLMs内容。该项目使用 TCP 套接字来同步状态。您可以使用家用路由器轻松配置 AI 集群。该项目分为两部分:根节点 - 它负责加载模型和权重并将它们转发给工作线程。此外,它还同步神经网络的状态。根节点也是一个工作节点,它处理神经网络的自己的切片。工作节点 - 它处理神经网络的自己的切片。它不需要与模型相关的任何配置。您始终需要根节点,您可以添加 2^n - 1 个工作节点来加快推理速度。神经网络的 RAM 使用量在所有节点上分配。根节点需要的 RAM 比工作节点多一点。
* [IST-DASLab/gptq](https://github.com/IST-DASLab/gptq) GPTQ项目是一个用于对生成式预训练Transformer模型进行精确后训练量化的开源项目,该项目包含ICLR 2023论文"GPTQ:Accurate Post-training Compression for Generative Pretrained Transformers"的代码。项目特色包括高效的GPTQ算法实现、对OPT和BLOOM系列模型进行2/3/4位压缩(包括权重分组)、评估量化模型在多个语言生成任务上的困惑度、评估量化模型在多个零样本任务上的性能、3位量化矩阵全精度向量积CUDA内核、用于单个矩阵向量积和量化模型语言生成的基准测试代码等。项目还包含一些新功能,例如支持静态分组选项、优化了3位内核、集成了LLaMa模型,并针对LLaMa模型引入了新的技巧,例如`--act-order`和`--true-sequential`,显著提升了模型的精度。项目依赖于PyTorch、transformers、datasets等库,所有实验均在一台80GB NVIDIA A100上运行。
* [ServerlessLLM/ServerlessLLM](https://github.com/ServerlessLLM/ServerlessLLM) ServerlessLLM是一个开源的无服务器框架,旨在使自定义和弹性LLM部署变得容易、快速且经济实惠。随着LLM规模和复杂性的不断增长,在AI硬件上部署它们变得越来越昂贵且技术上具有挑战性,限制了只有少数人可以进行自定义LLM部署。ServerlessLLM通过全栈、以LLM为中心的无服务器系统设计解决了这些挑战,优化了从检查点格式和推理运行时到存储层和集群调度器的所有内容。ServerlessLLM支持多个LLM在有限的AI硬件上高效共享,并根据需要动态地在它们之间切换,从而提高硬件利用率并降低LLM服务的成本。ServerlessLLM通过以下三个关键功能有效地解决了现有的无服务器推理解决方案(如AWS Serverless Inference、HuggingFace Inference Endpoints和Azure Model Endpoints)在性能开销和可扩展性方面的挑战:快速、成本效益高、易于使用。
* [FasterDecoding/REST](https://github.com/FasterDecoding/REST) REST是一个基于检索的推测解码方法,旨在提高LLM的生成速度。与推测解码不同,REST利用数据存储库来检索和使用草稿标记,而不是依赖草稿语言模型。此外,REST与分块并行解码和Medusa不同,它不需要额外的训练步骤。它是一个即插即用的解决方案,能够加速任何现有的语言模型。REST通过使用输入上下文作为查询从数据存储库中检索与输入最长后缀匹配的文档,并利用检索到的文档的延续构建一个Trie树,并对低频分支进行剪枝,最终将剪枝后的子树中的候选者与树形注意力掩码一起输入LLM进行验证。所有从开始就正确的标记将被接受,第一个错误之后的草稿标记将被拒绝。实验结果表明,REST在HumanEval和MT-Bench等基准测试中显著提高了生成速度。
* [thu-nics/qllm-eval](https://github.com/thu-nics/qllm-eval) 评估量化大型语言模型,训练后量化 (PTQ) 已成为降低大型语言模型 ( LLMs ) 成本的一项有前途的技术。具体来说,PTQ 可以有效减少LLMs中的内存消耗并减少计算开销。为了满足不同场景下的高效性和性能要求,对量化LLMs进行综合评估对于指导量化方法的选择至关重要。本文通过评估 PTQ 对 11 个模型系列(包括 OPT、LLaMA2、Falcon、Bloomz、Mistral、ChatGLM、Vicuna、LongChat、StableLM、Gemma 和Mamba,参数范围从125M到180B。评估包括五类任务:基础NLP、涌现能力、可信度、对话和长上下文任务。此外,我们还评估了最先进的(SOTA)量化方法以证明其适用性。基于大量的实验,我们系统地总结了量化的效果,提供了应用量化技术的建议,并指出了未来的方向。
* [Jittor/JittorLLMs](https://github.com/Jittor/JittorLLMs) 计图大模型推理库,具有高性能、配置要求低、中文支持好、可移植等特点。成本低:相比同类框架,本库可大幅降低硬件配置要求(减少80%),没有显卡,2G内存就能跑大模型;支持广:目前支持了4种大模型:[ChatGLM大模型](https://github.com/THUDM/ChatGLM-6B)、鹏程[盘古大模型](https://openi.org.cn/pangu/)、BlinkDL的[ChatRWKV](https://github.com/BlinkDL/ChatRWKV)、国外Meta的[LLaMA大模型](https://github.com/facebookresearch/llama)等;可移植:用户不需要修改任何代码,只需要安装Jittor版torch(JTorch);速度快:大模型加载速度慢,Jittor框架通过零拷贝技术,大模型加载开销降低40%,同时,通过元算子自动编译优化,计算性能相比同类框架提升20%以上。
* [neuralmagic/deepsparse](https://github.com/neuralmagic/deepsparse) DeepSparse 是一种 CPU 推理运行时,它利用稀疏性来加速神经网络推理。DeepSparse 与我们用于修剪和量化模型的优化库 SparseML 相结合,可在 CPU 硬件上提供卓越的推理性能。Neural Magic 很高兴地宣布在 DeepSparse 中初步支持高性能 LLM 推理:稀疏内核,用于通过非结构化稀疏权重加速和节省内存。8 位权重和激活量化支持。有效使用缓存的注意力键和值,以最大限度地减少内存移动。我们与奥地利 IST 合作开发,我们最近的论文详细介绍了一种称为稀疏微调的新技术,该技术使我们能够在微调过程中将 MPT-7B 修剪到 60% 的稀疏度,而不会降低准确性。凭借我们对 LLMs,DeepSparse 将稀疏量化模型的速度从密集基线加速了 7 倍。
* [feifeibear/LLMSpeculativeSampling](https://github.com/feifeibear/LLMSpeculativeSampling) 该项目名为 "LLMSpeculativeSampling",旨在通过推测性解码加速大型语言模型 (LLM) 的推理过程。它利用两个模型进行解码:一个目标模型和一个近似模型。近似模型是一个较小的模型,而目标模型是一个较大的模型。近似模型生成令牌猜测,目标模型纠正这些猜测。这种方法允许通过在近似模型的输出上并行运行目标模型来进行解码,与单独使用目标模型相比,效率更高。该项目实现了 Google 和 Deepmind 独立提出的两种略微不同的推测性采样版本。该项目支持 Bloom-560M、Bloomz-7B1、llama-7B 和 llama-1B 等模型,并提供服务功能。项目作者建议使用 llama2-7B 和 llama2-70B 作为近似模型和目标模型,以获得最佳加速效果。
* [jianghoucheng/NSE](https://github.com/jianghoucheng/NSE) 大型语言模型的神经元级顺序编辑。神经元级顺序编辑 (NSE),一种新的模型编辑方法,专为大型语言模型中的顺序模型编辑而设计。NSE 通过使用模型的原始权重优化目标层的隐藏状态来防止模型失败。为了减少模型遗忘,它根据神经元的激活值迭代地选择多层中的神经元。实证实验表明,在顺序编辑的背景下,NSE 的性能明显优于现有的参数修改模型编辑方法。我们的工作重点是从两个角度优化顺序模型编辑:值的计算和权重 (W) 的更新。此外,我们建议对顺序模型编辑感兴趣的读者查阅我们的补充研究 AlphaEdit,该研究从客观角度增强了顺序编辑。这些方法共同为该领域提供了协同改进。
* [laiso/askrepo](https://github.com/laiso/askrepo) askrepo是一个使用 Google Gemini API 分析源代码并回答问题的工具。它可以读取指定目录下 Git 管理的文本文件,将内容发送到 Google Gemini API,并根据提供的提示生成答案。用户可以通过命令行参数指定要分析的目录、要问的问题、使用的 Google AI 模型以及 API 密钥。askrepo会读取文本文件内容,并将其与问题和模型名称一起发送到 Google Gemini API,然后解析 API 返回的答案并打印出来。该项目还提供了详细的代码结构说明,包括文件处理、API 交互和主程序逻辑。用户可以通过 `cargo install askrepo` 安装该工具,并使用 `askrepo --prompt "What is the purpose of this code?"../your-repo/src` 命令进行使用。
* [vercel/modelfusion](https://github.com/vercel/modelfusion) ModelFusion是一个用于构建 AI 应用的 TypeScript 库,它提供了一个统一的 API来集成各种 AI 模型,支持文本流、对象生成和工具使用等常见操作。它还提供了一些特性来支持生产环境,例如可观察性钩子、日志记录和自动重试。ModelFusion 可以用于构建 AI应用、聊天机器人和智能体。它是一个非商业开源项目,支持多种模型,包括文本生成、图像生成、视觉、文本转语音、语音转文本和嵌入模型。ModelFusion 支持类型推断和验证,并提供可观察性和日志记录功能,以及自动重试、限流和错误处理机制,确保应用程序的可靠性和稳定性。它可以用于无服务器环境,并且依赖项很少。
* [microsoft/T-MAC](https://github.com/microsoft/T-MAC) 使用查找表在 CPU 上进行低位LLM推理。T-MAC 是一个内核库,直接支持混合精度矩阵乘法(int1/2/3/4 x int8/fp16/fp32),无需利用查找表进行反量化。 T-MAC 旨在提升 CPU 上的低位LLM推理能力。 T-MAC 已经提供了对各种低位模型的支持,包括来自 GPTQ/gguf 的 W4A16、来自BitDistiller / EfficientQAT的 W2A16 和来自BitNet的 W1(.58)A8(在配备 ARM/Intel CPU 的 OSX/Linux/Windows 上)。T-MAC 在 Surface Laptop 7 上针对 3B BitNet 实现了单核 20 个令牌/秒和四核 48 个令牌/秒的令牌生成吞吐量,与 SOTA CPU 低位框架 ( llama )相比,加速了 4~5 倍.cpp )。在 Raspberry Pi 5 等低端设备上,T-MAC 甚至可以达到 11 个令牌/秒。
* [microsoft/BitNet](https://github.com/microsoft/BitNet) bitnet.cpp 是 1 位LLMs的官方推理框架(例如 BitNet b1.58)。它提供了一套优化的内核,支持 CPU 上 1.58 位模型的快速无损推理(接下来将支持 NPU 和 GPU)。bitnet.cpp 的第一个版本是支持 CPU 上的推理。 bitnet.cpp 在 ARM CPU 上实现了1.37 倍到5.07 倍的加速,较大的模型获得了更大的性能提升。此外,它还能将能耗降低55.4%至70.0% ,进一步提高整体效率。在 x86 CPU 上,加速范围为2.37 倍至6.17 倍,能耗降低71.9%至82.2% 。此外,bitnet.cpp 可以在单个 CPU 上运行 100B BitNet b1.58 模型,实现与人类阅读相当的速度(每秒 5-7 个令牌),从而显着增强在本地设备上运行LLMs的潜力。
* [dilab-zju/self-speculative-decoding](https://github.com/dilab-zju/self-speculative-decoding) 该项目名为“Draft & Verify: Lossless Large Language Model Acceleration via Self-Speculative Decoding”,提出了一种名为“自推测解码”的新型推理方案,无需额外训练神经网络或增加内存占用,即可加速大型语言模型(LLM)的推理过程,同时保持一致的输出质量并确保模型兼容性。该方案采用两阶段流程:第一阶段“草稿阶段”通过选择性跳过某些中间层生成草稿token;第二阶段“验证阶段”使用原始LLM对草稿token进行单次前向传递验证。项目包含搜索跳过层的脚本、自推测解码核心流程、模型结构等文件,用户可根据环境配置执行相关脚本进行评估。
* [InternLM/lmdeploy](https://github.com/InternLM/lmdeploy) 用于压缩、部署和提供LLMs的工具包。高效推理:LMDeploy 通过引入持久批处理(又称连续批处理)、阻塞 KV 缓存、动态拆分和融合、张量并行、高性能 CUDA 内核等关键功能,提供比 vLLM 高 1.8 倍的请求吞吐量。有效量化:LMDeploy 支持纯权重和 k/v 量化,4 位推理性能比 FP16 高 2.4 倍。量化质量已通过 OpenCompass 评估得到确认。轻松的分发服务器:利用请求分发服务,LMDeploy 有助于在多台机器和卡上轻松高效地部署多模型服务。交互式推理模式:通过缓存多轮对话过程中的注意力 k/v,引擎可以记住对话历史,从而避免对历史会话的重复处理。
* [vectorch-ai/ScaleLLM](https://github.com/vectorch-ai/ScaleLLM) 高效的 LLM 推理解决方案,主要特点:高效率:在高性能 LLM 推理方面表现出色,利用最先进的技术和技术,如 Flash Attention、Paged Attention、Continuous Batching 等。张量并行性:利用张量并行性实现高效的模型执行。兼容 OpenAI 的 API:与 OpenAI 兼容的高效 golang rest api 服务器。Huggingface 型号:与大多数流行的 HF 型号无缝集成,支持 safetensors。可定制:提供自定义灵活性以满足您的特定需求,并提供添加新模型的简单方法。生产就绪:ScaleLLM 在设计时考虑到了生产环境,配备了强大的系统监控和管理功能,以确保无缝的部署体验。
* [microsoft/DeepSpeed-MII](https://github.com/microsoft/DeepSpeed-MII) 隆重推出 MII,这是由 DeepSpeed 设计的开源 Python 库,旨在实现强大的模型推理大众化,重点关注高吞吐量、低延迟和成本效益。MII 功能包括阻塞 KV 缓存、连续批处理、动态 SplitFuse、张量并行性和高性能 CUDA 内核,以支持 Llama-2-70B、Mixtral (MoE) 8x7B 和 Phi- 等LLMs的快速高吞吐量文本生成2. v0.2 的最新更新添加了新的模型系列、性能优化和功能增强。与 vLLM 等领先系统相比,MII 现在的有效吞吐量提高了 2.5 倍。MII 通过使用四项关键技术来提供加速文本生成推理:阻塞的KV缓存、连续Batching、动态SplitFuse、高性能 CUDA 内核。
* [LostRuins/koboldcpp](https://github.com/LostRuins/koboldcpp) KoboldCpp是一个易于使用的 AI 文本生成软件,它使用 GGML 和GGUF 模型,并受到 KoboldAI 的启发。它是一个独立的、自包含的可分发软件,基于 llama.cpp 开发,并增加了多功能的 KoboldAI API 端点、额外的格式支持、Stable Diffusion 图像生成、语音转文本、向后兼容性,以及一个带有持久故事、编辑工具、保存格式、记忆、世界信息、作者说明、角色、场景等功能的精美 UI,这些功能与 KoboldAI 和 KoboldAI Lite 相同。它提供预编译的二进制文件,可在 Windows、Linux 和 MacOS 上运行,也可以在 Google Colab、RunPod 和 Novita AI 上运行。
* [evilsocket/cake](https://github.com/evilsocket/cake) 适用于移动、桌面和服务器的分布式LLM推理。一个 Rust 框架,用于基于 Candle 的 LLama3 等大型模型的分布式推理。该项目的目标是通过将消费类硬件重新利用到 iOS、Android、macOS、Linux 和 Windows 设备的异构集群中,能够运行大型 (70B+) 模型,有效地利用计划中的过时作为工具,使 AI 更易于访问和民主。这个想法是将转换器模块分片到多个设备,以便能够在通常不适合单个设备的 GPU 内存的模型上运行推理。对同一工作线程上的连续变压器模块的推理是批处理的,以最大程度地减少由于数据传输而导致的延迟。
* [spcl/QuaRot](https://github.com/spcl/QuaRot) QuaRot是一个基于旋转的量化方案,可以将大型语言模型(LLM)端到端量化为4位,包括所有权重、激活和KV缓存。QuaRot通过旋转LLM的方式,在不改变输出的情况下,消除隐藏状态中的异常值,从而简化量化过程。这种计算不变性被应用于LLM的隐藏状态(残差)、前馈组件的激活、注意力机制的各个方面以及KV缓存。最终得到一个量化的模型,其中所有矩阵乘法都在4位中执行,无需识别任何保留在更高精度的通道。我们的量化LLaMa2-70B模型的损失最多为0.29 WikiText困惑度,并保留了99%的零样本性能。
* [Vahe1994/SpQR](https://github.com/Vahe1994/SpQR) SpQR是一个用于大型语言模型压缩的算法,它通过稀疏量化技术实现模型压缩,并保持接近无损的性能。该项目包含SpQR算法的量化代码和模型评估代码,并提供高效推理代码。该项目基于论文 "[SpQR: A Sparse-Quantized Representation for Near-Lossless LLM Weight Compression](https://arxiv.org/abs/2306.03078)",支持LLaMA、Falcon和OPT模型家族。该项目需要至少32GB的显存,并支持使用Weights and Biases进行日志记录。用户可以通过提供的脚本对模型进行压缩,并使用WikiText2、C4和Penn Treebank数据集进行困惑度评估。
* [casper-hansen/AutoAWQ](https://github.com/casper-hansen/AutoAWQ) AutoAWQ是一个易于使用的软件包,用于对4位量化模型进行量化,该算法基于MIT的Activation-aware Weight Quantization (AWQ)算法,可以将模型速度提升3倍,并将内存需求降低3倍。AutoAWQ支持多种模型,包括StableLM、StarCoder2、Gemma、Mistral、Bigcode、Turing、MPT、Falcon等,并提供CPU和GPU两种推理方式。用户可以选择GEMM或GEMV两种量化版本,其中GEMV速度更快,但仅支持批次大小为1,而GEMM在较小的批次大小下速度更快。此外,AutoAWQ还支持PEFT兼容训练,并提供多种安装方式,包括从PyPI安装和从GitHub安装。
* [ollama/ollama-python](https://github.com/ollama/ollama-python) Ollama Python库是一个简便易用的工具,用于将 Python 3.8+项目与 Ollama 集成。它提供了一个直观的 API,可以轻松地与 Ollama 模型进行交互,包括聊天、生成文本、列出模型、显示模型信息、创建、复制、删除、拉取、推送、嵌入和获取进程信息等功能。该库支持流式响应,并提供同步和异步客户端,方便用户根据需求选择使用。此外,它还支持自定义客户端,允许用户配置连接主机和超时时间等参数。当请求失败或流式处理过程中出现错误时,库会抛出异常,方便用户进行错误处理。
* [intel/intel-extension-for-pytorch](https://github.com/intel/intel-extension-for-pytorch) Intel® Extension for PyTorch* 是一个 Python 包,它扩展了官方 PyTorch*,可以轻松地在 Intel 平台上获得性能提升。它利用 Intel®高级矢量扩展 512 (Intel® AVX-512) 矢量神经网络指令 (VNNI) 和 Intel® 高级矩阵扩展 (Intel® AMX) 在 Intel CPU 上进行优化,以及在 Intel 独立 GPU 上利用 Intel Xe 矩阵扩展 (XMX) AI引擎。此外,Intel® Extension for PyTorch* 通过 PyTorch* xpu 设备为 Intel 独立 GPU 提供简单的 GPU 加速。该项目还针对大型语言模型 (LLM) 提供了特定优化,例如 Llama和 GPT-J,支持 FP32、BF16、INT8 量化等多种精度。
* [dezoito/ollama-grid-search](https://github.com/dezoito/ollama-grid-search) Ollama Grid Search是一个用 Rust 和 React 编写的跨平台桌面应用程序,用于评估和比较LLM 模型。它可以自动选择最适合特定用例的模型、提示和推理参数,并允许用户迭代组合并直观地查看结果。该应用程序需要 Ollama 服务器(本地或远程)的支持,并提供多种功能,包括自动获取模型、迭代模型、提示和参数、进行 A/B 测试、支持并发或同步推理、输出推理参数和响应元数据、重新获取单个推理调用、过滤模型选择、下载实验结果、查看实验结果、重新运行实验以及自定义设置。
* [lm-sys/RouteLLM](https://github.com/lm-sys/RouteLLM) 用于服务和评估LLM路由器的框架 - 在不影响质量的情况下节省LLM成本!我们的核心功能包括:直接替代 OpenAI 的客户端(或启动兼容 OpenAI 的服务器),将更简单的查询路由到更便宜的模型。训练有素的路由器开箱即用,我们已经证明,在 MT Bench 等广泛使用的基准测试中,它可以将成本降低多达 85%,同时保持 95% 的 GPT-4 性能。基准测试还表明,这些路由器实现了与商业产品相同的性能,同时便宜>40%。轻松扩展框架以包含新路由器,并比较路由器在多个基准测试中的性能。
* [run-llama/llama_deploy](https://github.com/run-llama/llama_deploy) Llama Deploy是一个异步优先的框架,用于部署、扩展和生产化基于 llama_index工作流的代理多服务系统。它允许您将 llama_index 中构建的任何数量的工作流作为服务运行,并通过 HTTP API 供用户界面或系统中的其他服务访问。Llama Deploy 的目标是让您能够以最少的代码更改(甚至零更改)将笔记本中的代码迁移到云端运行。您可以通过 llamactl CLI 或 Llama Deploy SDK 与 Llama Deploy 进行交互。Llama Deploy 提供无缝部署、可扩展性、灵活性和容错性等优势,并支持状态管理和异步优先设计。
* [dottxt-ai/outlines](https://github.com/dottxt-ai/outlines) 健壮的 (结构化) 文本生成。功能:多种模型集成:OpenAI、transformers、llama.cpp、exllama2、mamba;基于 Jinja 模板引擎的简单而强大的提示原语;多种选择、类型约束和动态停止;快速正则表达式结构化生成;按照 JSON 模式或 Pydantic 模型快速生成 JSON;语法结构化生成;使用循环、条件和自定义 Python 函数交错完成;缓存生成;批量推理;使用贪婪、多项式和波束搜索算法进行采样;使用 vLLM、官方 Docker 映像 outlinesdev/outlines 提供服务;Outlines 每周都会发布新版本和新功能
* [IST-DASLab/QUIK](https://github.com/IST-DASLab/QUIK) QUIK是一个用于将生成式推理模型中的大部分权重和激活量化为4位的方法,该方法在训练后进行量化。QUIK支持使用4位内核进行端到端推理,并提供用于量化模型权重的GPTQ算法,以及用于创建QUIK线性层的`MixedQLinear`类,可以替换原始的线性层。项目提供了LLama模型和线性层基准测试的示例,以及用于模拟量化的示例。用户可以通过命令行参数调整输入大小和模型参数,并使用`pip install -e .`安装项目依赖。该项目的完整论文已发表在arXiv上,引用格式为`@article{QUIK, ...}`。
* [leptonai/leptonai](https://github.com/leptonai/leptonai) LeptonAI 是一个 Python 框架,旨在简化 AI 服务构建。它提供Photon 抽象层,可将研究和建模代码轻松转换为服务。Lepton AI支持 HuggingFace 模型,并提供预构建的示例,例如 Llama、SDXL 和 Whisper。它还包含 AI 特定的功能,如自动批处理和后台作业,以及一个客户端,可像使用原生 Python 函数一样调用服务。用户可以使用一行命令 `pip install -U leptonai` 安装 Lepton AI,并使用 `lep photon runlocal` 命令启动 HuggingFace 模型。Lepton AI 还提供托管的模型和 API 访问,以及丰富的示例和文档。
* [usyd-fsalab/fp6_llm](https://github.com/usyd-fsalab/fp6_llm) 高效的 GPU 支持 6 位量化 (FP6) LLM 推理。与 4 位和 8 位量化对应物相比,6 位量化 (FP6) 可以在模型质量和推理成本之间实现更好的权衡,从而有效地减小大型语言模型的大小 (LLMs),并在各种应用程序中保持一致地保持模型质量。为了支持现代 GPU LLMs 的 6 位推理,我们提供了 FP6-LLM 的官方实现,在 fp16/int8 基线上实现了线性层的显著加速和 GPU 内存的缩减。高效的 CUDA 实现,用于启用 Tensor Core 的线性层(FP6 中的权重和 FP16 格式的激活)的混合输入矩阵乘法。
* [thunlp/InfLLM](https://github.com/thunlp/InfLLM) 揭示使用免训练记忆理解超长序列的内在能力LLMs,InfLLM 将远程上下文存储到额外的内存单元中,并采用一种有效的机制来查找与令牌相关的单元以进行注意力计算。因此,InfLLM 允许LLMs有效地处理长序列,同时保持捕获长距离依赖关系的能力。在没有任何训练的情况下,InfLLM 可以在LLMs几千个令牌的序列上进行预训练,从而获得比在长序列上不断训练这些LLMs令牌的竞争基线更好的性能。即使序列长度缩放到 1024K,InfLLM 仍然有效地捕获长距离依赖关系。
* [mobiusml/hqq](https://github.com/mobiusml/hqq) HQQ是一个快速、准确的模型量化器,无需校准数据。它可以快速量化大型模型,支持 8、4、3、2、1位量化,适用于各种模型,包括大型语言模型和视觉模型。量化后的模型可以使用优化后的 CUDA/Triton 内核进行快速推理,并与 peft 训练兼容。HQQ 支持 `torch.compile`,可加速推理和训练。HQQ+ 是 HQQ 的扩展,通过添加可训练的低秩适配器,在低位量化时提高量化质量。安装 HQQ 可以使用 `pip install hqq` 命令,使用时只需将 `torch.nn.Linear` 层替换为`HQQLinear` 层即可。
* [withcatai/node-llama-cpp](https://github.com/withcatai/node-llama-cpp) node-llama-cpp 是一个 Node.js 库,它允许您在本地机器上运行AI 模型,并提供 llama.cpp 的绑定。该库具有多种功能,包括GPU 支持(Metal、CUDA 和 Vulkan)、预构建的二进制文件(支持 macOS、Linux 和 Windows)、自动硬件适配、完整的 LLM 使用套件、CLI 工具、对最新 llama.cpp 版本的支持、JSON 输出格式控制、函数调用、嵌入支持、完整的 TypeScript 支持和详细的文档。您可以在终端中使用一个命令来与模型进行聊天,也可以通过 npm 安装并使用 TypeScript 代码进行调用。
* [SafeAILab/EAGLE](https://github.com/SafeAILab/EAGLE) EAGLE是一个用于加速大型语言模型(LLM)解码的新基准,它通过外推LLM的第二层上下文特征向量来显著提高生成效率,同时保证性能。EAGLE-1是该方法的第一个版本,其速度比传统解码快3倍,比Lookahead快2倍,比Medusa快1.6倍。EAGLE-2则利用草稿模型的置信度分数来动态调整草稿树结构,进一步提升了性能,速度比传统解码快4倍,比EAGLE-1快1.4倍。EAGLE-2还支持与vLLM、DeepSpeed、Mamba、FlashAttention等并行技术结合使用,并可以在8个RTX 3090 GPU上进行训练和测试。
* [apoorvumang/prompt-lookup-decoding](https://github.com/apoorvumang/prompt-lookup-decoding) Prompt Lookup Decoding是一种加速输入驱动型 LLM 任务(如摘要、文档问答、多轮对话、代码编辑)的解码方法。它利用输入和输出之间的高 n-gram 重叠(例如实体名称、短语或代码片段)来加速自回归解码。该方法通过在提示中进行简单的字符串匹配来替换推测解码中的草稿模型,从而生成候选令牌序列,从而实现显著的加速(2x-4x),而不会影响输出质量。该方法无需模型更改或外部数据存储,可与任何解码器模型(包括贪婪和采样技术)一起使用。
* [tryAGI/Ollama](https://github.com/tryAGI/Ollama) Ollama SDK for.NET 是一个基于 OpenAPI 规范的 C# SDK,它提供了一个简单易用的方式来访问 Ollama 的 API,包括聊天、嵌入、模型列表、模型拉取和创建等功能。该 SDK 支持 .NET Framework/.Net Standard 2.0,并利用了现代 .NET 特性,如可空性、修剪、NativeAOT 等。它还提供了一个源代码生成器,用于通过 C# 接口定义工具。此外,该 SDK还支持自动发布新预览版本,以跟踪 OpenAPI 规范的更新。用户可以通过简单的代码示例快速上手,并使用工具来扩展 Ollama 的功能。
* [zmh-program/chatnio](https://github.com/zmh-program/chatnio) Chat Nio是一个下一代 AI 一站式 B/C 端解决方案,支持 OpenAI、Midjourney、Claude、讯飞星火、Stable Diffusion、DALL·E、ChatGLM、通义千问、腾讯混元、360 智脑、百川 AI、火山方舟、新必应、Gemini、Moonshot 等模型。它提供对话分享、自定义预设、云端同步、模型市场等功能,支持弹性计费和订阅计划模式,并支持图片解析、联网搜索、模型缓存等功能。Chat Nio 拥有丰富美观的后台管理与仪表盘数据统计,并提供多语言支持和 Markdown 语法支持。
* [hao-ai-lab/Consistency_LLM](https://github.com/hao-ai-lab/Consistency_LLM) CLLMs(Consistency Large Language Models) 是一种新型模型,通过并行解码 n 个 token来减少推理延迟。该项目利用 Jacobi 解码方法,与传统的自回归 (AR) 解码相比,提高了推理效率。CLLMs 通过将任何随机初始化的 n 个 token 序列映射到与 AR 解码相同的结果,以尽可能少的步骤来进行高效的 Jacobi 解码。实验结果表明,CLLMs 在各种任务上,生成速度提高了 2.4倍到 3.4 倍。该项目提供模型权重、推理、训练和评估等功能,并已集成到 FastChat 中。
* [eole-nlp/eole](https://github.com/eole-nlp/eole) EOLE是一个基于 PyTorch 的开源语言建模工具包,它源于 OpenNMT-py 项目,并对其进行了改进和扩展,以支持大型语言模型(LLM) 和其他技术。EOLE 提供了一个全面、紧凑且模块化的代码库,用于实验各种类型的语言模型(编码器、解码器、seq2seq)。它具有多种功能,包括:灵活的训练和推理、动态数据转换、全面的 LLM 支持、先进的量化、高效的微调、灵活的推理和张量并行。EOLE 还提供了 Docker 镜像,方便用户快速设置和使用。
* [FasterDecoding/Medusa](https://github.com/FasterDecoding/Medusa) 简单的框架,它使具有多个解码头LLM的生成加速技术民主化。美杜莎添加了额外的“头”来LLMs同时预测多个未来的词元。当使用美杜莎增强模型时,原始模型保持不变,并且在训练过程中只会对新头部进行微调。在生成过程中,这些头每个头都会为相应的位置产生多个可能的单词。然后使用基于树的注意力机制对这些选项进行组合和处理。最后,采用典型的验收方案从候选者中选择最长的合理前缀进行进一步解码。
* [xvyaward/owq](https://github.com/xvyaward/owq) OWQ是一个针对大型语言模型的低精度量化方法,它通过保留少量弱列为FP16,并将其他权重量化为3/4位,实现了显著的质量提升,同时仅带来微不足道的存储和计算开销。OWQ支持多种模型,包括OPT、LLaMA、BLOOM和Falcon,并提供高效的3/4位矩阵-FP16向量乘积CUDA内核。用户可以方便地使用OWQ对模型进行量化,并评估其困惑度和零样本准确性。项目还提供3/4位压缩权重保存/加载功能,以及针对不同GPU的CUDA内核测试结果。
* [waltonfuture/Diff-eRank](https://github.com/waltonfuture/Diff-eRank) Diff-eRank是一种基于排序的指标,用于评估大型语言模型(LLM),它基于信息论和几何原理,通过分析模型的隐藏表示来量化模型在训练后丢弃冗余信息的能力。该指标适用于单模态(语言)和多模态场景。研究发现,Diff-eRank在模型规模扩大时会增加,并且与传统的指标(如损失和准确率)保持一致的关系。该项目提供了代码和示例,可以计算单个句子或数据集的 Diff-eRank,并提供了相应的论文和项目链接。
* [swuecho/chat](https://github.com/swuecho/chat) 这是一个面向团队的聊天 Web 应用,使用 Sass 构建,并提供用户管理和速率限制功能。它支持 ChatGPT(OpenAI 和 Azure)、Claude、Gemini 和 Ollama 模型。该项目提供一个用户友好的界面,允许用户创建聊天室、发送消息、管理用户和设置速率限制。它还支持多种模型,用户可以选择最适合他们需求的模型。该项目使用 Golang 和 Node.js 构建,并提供详细的安装和部署指南。用户可以通过 Docker Compose 轻松部署该应用。
* [huggingface/llm-swarm](https://github.com/huggingface/llm-swarm) llm-swarm 是一个用于在 Slurm 集群中管理可扩展的开放 LLM推理端点的工具。它可以利用本地 LLM 或 Hugging Face Hub上的推理端点生成用于预训练或微调的合成数据集。该项目集成了 huggingface/text-generation-inference 和 vLLM,可以实现大规模文本生成。llm-swarm 需要一个支持 Docker 的 Slurm 集群或访问 Hugging Face 推理端点。用户可以通过提供的示例代码快速上手,并使用模板文件配置 Slurm 任务和 Nginx 负载均衡器。
* [karpathy/llm.c](https://github.com/karpathy/llm.c) LLM简单、纯 C/CUDA 的培训。不需要 245MB 的 PyTorch 或 107MB 的 cPython。训练 GPT-2 (CPU, fp32) 在单个文件 train_gpt2.c 中是 ~1,000 行干净代码,在 GPU 上训练它是 ~2,000 行(添加 CUDA 内核)在 train_gpt2.cu 中。代码立即编译并运行,它与 PyTorch 参考实现完全匹配,并且它 ~匹配(编译)PyTorch 的速度(fp32,无闪存注意)。我选择 GPT-2 作为第一个工作示例,因为它是 LLMs的祖父,第一次将现代堆栈放在一起。
* [kghandour/Ollama-SwiftUI](https://github.com/kghandour/Ollama-SwiftUI) Ollama-SwiftUI 是一个用 Swift 语言开发的 Ollama.ai 用户界面,它允许你与下载到 Mac 上的大型语言模型进行无缝聊天。该应用程序需要 Ollama 运行才能正常工作,并提供多种功能,包括与本地大型语言模型聊天、更改模型、重新开始对话、支持系统提示、支持多模态模型(图像+文本)、新的对话选项卡、使用 GUI 下载模型、删除模型、复制模型、亮暗模式和本地化界面(目前支持英语和阿拉伯语)。
* [quic/aimet](https://github.com/quic/aimet) AIMET是一个用于训练的神经网络模型的先进量化和压缩技术库,它可以提高深度学习神经网络模型的运行时性能,降低计算和内存需求,同时最大程度地减少对任务精度的影响。AIMET 支持 PyTorch、TensorFlow 和 ONNX 模型,并提供数据无关量化等技术,在保持模型精度的同时实现 INT8 量化。此外,AIMET 还提供模型压缩技术,以及用户友好的 API,方便用户在 TensorFlow 或 PyTorch 管道中直接调用。
* [ModelCloud/GPTQModel](https://github.com/ModelCloud/GPTQModel) GPTQModel是一个基于 GPTQ 的大型语言模型压缩/量化工具包,它通过 HF、vLLM 和 SGLang 提供了针对 CPU/GPU的加速推理支持。它支持多种模型,包括 Meta MobileLLM、IBM Granite、Microsoft GRIN-MoE、MiniCPM3、Llama 3.1、Gemma2 27B 等。GPTQModel 提供了灵活的量化选项,包括动态 per layer/module 量化,并支持自动计算 auto-round 参数。它还集成了 Liger Kernel 支持,在某些模型的量化过程中可以减少约一半的内存使用。
* [kevinhermawan/Ollamac](https://github.com/kevinhermawan/Ollamac) Ollamac是一个免费开源的 Mac 应用,用于与 Ollama 模型进行交互。它支持所有 Ollama 模型,并提供可自定义的宿主、语法高亮、简洁易用的界面等功能。用户可以通过 Homebrew 或 GitHub 下载安装,并需要在 Mac 上安装 Ollama 并确保至少有一个 Ollama 模型被拉取。Ollamac 依赖于多个开源项目,包括 ChatField、Defaults、Highlightr、OllamaKit、Sparkle、swift-markdown-ui、ViewCondition、ViewState 和 swiftui-introspect。
* [deedy/mac_computer_use](https://github.com/deedy/mac_computer_use) 该项目是 Anthropic Computer Use 的 macOS 版本,允许用户在 Mac 上运行 Claude等 AI 模型,并赋予它们对电脑的自主访问权限。它使用原生 macOS 命令和工具实现系统控制,无需 Docker,并支持多种 LLM 提供商,包括 Anthropic、Bedrock 和 Vertex。项目还提供Streamlit 界面,自动屏幕分辨率缩放,以及文件系统交互和编辑功能。用户需注意,该项目存在安全风险,因为 AI 模型可以控制Mac 上的所有内容。
* [nat/openplayground](https://github.com/nat/openplayground) 您可以在笔记本电脑上运行的LLM游乐场。特征:使用 OpenAI、Anthropic、Cohere、Forefront、HuggingFace、Aleph Alpha、Replicate、Banana 和 llama.cpp 中的任何模型。完整的 playground UI,包括历史记录、参数调优、键盘快捷键和 logprops。使用相同的提示并排比较模型,单独调整模型参数,然后使用不同的参数重试。自动检测 HuggingFace 缓存中的本地模型,并允许您安装新模型。在手机上工作正常。
* [huggingface/nanotron](https://github.com/huggingface/nanotron) Nanotron 是一个用于预训练 Transformer 模型的库。它提供了一个简单而灵活的 API 来在自定义数据集上预训练模型。 Nanotron 的设计理念是易于使用、快速且可扩展。它的构建遵循以下原则:简单性:Nanotron 的设计易于使用。它提供了一个简单而灵活的 API 来在自定义数据集上预训练模型。性能:Nanotron 针对速度和可扩展性进行了优化,使用最新技术更快、更高效地训练模型。
* [jakobhoeg/nextjs-ollama-llm-ui](https://github.com/jakobhoeg/nextjs-ollama-llm-ui) 这是一个基于 NextJS 构建的 Ollama LLM 的漂亮且功能齐全的Web 界面,只需单击即可部署。它提供类似 ChatGPT 的用户体验,支持本地存储聊天记录,无需数据库,并具有响应式设计,可适应手机和平板电脑。该项目还提供代码语法高亮、代码块复制、模型下载和删除、模型切换、聊天历史记录、亮/暗模式等功能。用户只需安装 Ollama 并运行它,然后克隆仓库即可开始使用。
* [GreenBitAI/gbx-lm](https://github.com/GreenBitAI/gbx-lm) 欢迎使用MLX GreenBitAI (GBA) 模型工具包!这个全面的Python包不仅有助于将GreenBitAI的低位语言模型( LLMs )转换为MLX框架兼容格式,而且还支持为GBA量化模型量身定制的生成、模型加载和其他基本脚本。该工具包旨在增强 MLX 生态系统内 GBA 模型的集成和部署,支持在各种平台上高效执行 GBA 模型,并针对 Apple 设备进行了特殊优化,以实现本地推理和自然语言内容生成。
* [tairov/llama2.mojo](https://github.com/tairov/llama2.mojo) 随着 Mojo 的发布,我受到启发,将我的 Python 移植 llama2.py 并将其转换为 Mojo。结果如何?一个利用Mojo的SIMD和矢量化原语的版本,将Python的性能提升了近250倍。令人印象深刻的是,经过一些原生改进后,Mojo 版本在多线程推理方面比原始 llama2.c 高出 30%。此外,它在 CPU 上的 baby-llama 推理上的性能比 llama.cpp 高 20%。这展示了通过 Mojo 的高级功能进行硬件级优化的潜力。
* [lencx/Noi](https://github.com/lencx/Noi) Noi是一款基于 AI 的定制化浏览器,旨在简化您的数字体验。它集成了精选的 AI 网站,并允许您添加任何 URL,提供个性化的浏览体验。Noi 提供强大的自定义选项,包括添加、同步、批量标记和删除提示。Noi Ask 功能允许您向多个 AI 聊天发送批量消息,简化与多个 AI 服务同时交互的过程。Noi 还提供多种主题、缓存模式、Cookie 数据隔离等功能,满足不同用户的需求。
* [Hsu1023/DuQuant](https://github.com/Hsu1023/DuQuant) DuQuant是一种用于量化大型语言模型 (LLM) 的新方法,它通过双重变换(旋转和置换)来消除模型中的异常值,从而显著提升量化后的模型性能。该方法在各种模型类型和下游任务上都取得了最先进的 4 位权重-激活量化结果。DuQuant 已在 NeurIPS 2024 大会上被评为口头报告,并已开源,用户可以通过提供的代码库进行安装和使用,并根据需要调整参数以进行量化实验。
* [Efficient-ML/Awesome-Model-Quantization](https://github.com/Efficient-ML/Awesome-Model-Quantization) 这是一个关于模型量化的资源列表,包含论文、文档和代码。该项目旨在为模型量化研究提供信息,并持续更新。欢迎贡献项目中缺失的论文和代码库。该项目还包含一个名为“Awesome Efficient LLM_Diffusion”的子项目,专注于大型语言模型和扩散模型的压缩和加速方法。此外,该项目还包括两个基准测试:BiBench 和 MQBench,分别用于评估网络二值化和模型量化算法。
* [richawo/minimal-llm-ui](https://github.com/richawo/minimal-llm-ui) Minimal-LLM-UI 是一个简洁的 React 界面,用于与 Ollama本地语言模型进行交互,提供离线聊天功能。它支持模型切换、对话保存、记忆上下文等功能,并使用 LangchainJs 和 Ollama 实现与模型的交互。用户可以轻松地与本地模型进行实时聊天,并通过自定义 API 端点配置 Ollama 的运行地址。项目使用 React、Next.js 和 Tailwind CSS 构建,并提供详细的入门指南和待办事项列表。
* [aidatatools/ollama-benchmark](https://github.com/aidatatools/ollama-benchmark) 该项目是一个用于评估本地LLM (Large Language Model)吞吐量的基准测试工具,利用Ollama平台进行测试。它可以自动检测系统内存大小,并根据内存大小选择合适的LLM模型进行测试,并提供详细的测试结果。用户可以通过简单的命令行指令运行测试,也可以通过Python代码进行更灵活的控制。该项目支持Windows、Linux和macOS系统,并提供详细的安装和使用说明。
* [OpenGVLab/OmniQuant](https://github.com/OpenGVLab/OmniQuant) OmniQuant是一款简单而强大的用于大型语言模型 (LLM) 的量化技术,支持权重和激活量化,例如 W4A16、W3A16、W2A16 和 W6A6、W4A4。它提供预训练的 OmniQuant 模型库,涵盖 LLaMA-1&2、LLaMA-2-Chat、OPT、Falcon 和 Mixtral-7Bx8 等模型,并支持使用 MLC-LLM 在 GPU 和移动设备上运行量化后的 LLaMa-2-Chat (7B/13B) 模型。OmniQuant 论文已被 ICLR 2024 接收,并获得 Spotlight 演示资格。
* [alexrudall/ruby-openai](https://github.com/alexrudall/ruby-openai) Ruby OpenAI是一个 Ruby 库,用于与 OpenAI API 进行交互,支持 GPT-4o 文本流、Whisper 音频转录和翻译以及 DALL·E图像生成等功能。该库提供简单易用的 API,可轻松集成到 Ruby 项目中,并支持多种 OpenAI API 功能,包括模型、聊天、函数、补全、嵌入、文件、微调、向量存储、助手、线程、消息、运行、图像生成、图像编辑、图像变体、审核和 Whisper 等。
* [lamini-ai/lamini](https://github.com/lamini-ai/lamini) Lamini是一个Python客户端和SDK,用于与Lamini API交互,它允许用户创建自己的生成式AI。用户可以通过[https://app.lamini.ai/account](https://app.lamini.ai/account)获取API密钥,并使用`pip install lamini`安装该库。该项目文档可在[https://lamini-ai.github.io/](https://lamini-ai.github.io/)找到,源代码可在[https://github.com/lamini-ai/lamini](https://github.com/lamini-ai/lamini)查看。
* [intel/neural-compressor](https://github.com/intel/neural-compressor) SOTA低比特LLM量化(INT8/FP8/INT4/FP4/NF4)和稀疏性;TensorFlow、PyTorch 和 ONNX Runtime 上的领先模型压缩技术。® 英特尔神经压缩器旨在提供流行的模型压缩技术,如量化、修剪(稀疏性)、蒸馏和神经架构搜索等主流框架,如 TensorFlow、PyTorch、ONNX Runtime 和 MXNet,以及英特尔扩展,如面向 TensorFlow 的英特尔扩展和面向 PyTorch 的英特尔扩展。
* [microsoft/MInference](https://github.com/microsoft/MInference) [NeurIPS'24 Spotlight] 为了加速长上下文LLMs的推理,近似和动态稀疏计算注意力,这可以将 A100 上预填充的推理延迟减少多达 10 倍,同时保持准确性。MInference:针对长上下文LLMs百万词元提示推理。现在,您可以使用 LLaMA-3-8B-1M、GLM-4-1M 等长上下文LLMs在单个 A100 中以 10 倍的速度处理 1M 上下文,并且精度更高,立即尝试MInference 1.0 !
* [alexrozanski/LlamaChat](https://github.com/alexrozanski/LlamaChat) LlamaChat是一款 macOS 应用,允许您在 Mac 上与 LLaMA、Alpaca 和GPT4All 模型进行本地聊天。它支持多种模型格式,包括 `.pth`和 `.ggml`,并允许您在应用内将 `.pth` 文件转换为 `.ggml` 文件。LlamaChat 还提供聊天历史记录、有趣的人物形象、高级来源命名以及模型上下文调试等功能。该应用需要 macOS 13 Ventura 和 Intel 或 Apple Silicon 处理器。
* [Chainlit/chainlit](https://github.com/Chainlit/chainlit) 在几分钟内构建 Python LLM 应用程序。快速构建:与现有代码库无缝集成或在几分钟内从头开始。多平台:编写一次助手逻辑,随处使用。数据持久性:收集、监控和分析用户数据。可视化多步骤推理:一目了然地了解产生输出的中间步骤。Chainlit 与所有 Python 程序和库兼容。话虽如此,它附带了一组与流行库和框架的集成。
* [dirk1983/chatgpt](https://github.com/dirk1983/chatgpt) 全网最易部署,响应速度最快的ChatGPT环境。PHP版调用OpenAI接口进行问答和画图,采用Stream流模式通信,一边生成一边输出。前端采用EventSource,支持Markdown格式解析,支持公式显示,代码有着色处理,支持画图。页面UI简洁,支持上下文连续会话。源码只有几个文件,没用任何框架,支持所有PHP版本,全部开源,极易二开。
* [mlc-ai/web-llm-chat](https://github.com/mlc-ai/web-llm-chat) WebLLM Chat是一个私密的AI聊天界面,利用WebGPU在浏览器本地运行大型语言模型(LLM),无需服务器或云端依赖,保证隐私。它具有用户友好的界面、离线访问能力、图像支持和自定义模型功能(通过MLC-LLM连接本地或自定义模型),并基于开源的WebLLM项目。该项目旨在通过提供易于访问的强大工具来实现AI技术的民主化。
* [thu-nics/MoA](https://github.com/thu-nics/MoA) MoA是一个自动压缩大型语言模型的开源项目,通过混合稀疏注意力机制,为每个注意力头搜索不同的弹性规则,克服了传统稀疏注意力方法的局限性。MoA可以显著减少GPU内存占用,并大幅提升解码速度,同时保持模型性能。该项目提供预压缩配置,方便用户快速使用,并提供自动搜索管道,允许用户自定义压缩策略。
* [simonw/llm](https://github.com/simonw/llm) LLM是一个命令行工具和Python库,用于与大型语言模型交互,支持远程API和本地安装运行的模型。它允许用户通过命令行运行提示,将结果存储在SQLite数据库中,并生成嵌入等。LLM支持多种模型,可以通过插件扩展,包括运行在用户本地设备上的模型,例如Mistral 7B Instruct。 安装方式简单,可以使用pip或Homebrew。
* [ilur98/DGQ](https://github.com/ilur98/DGQ) DGQ是一个高效的细粒度量化方法,专门为大型语言模型(LLM)设计,它支持A8W4模型,并提供内存高效的线性层和CUTLASS内核实现,以实现快速推理。该项目还提供了一个示例脚本,用于执行DGQ量化和评估量化后的模型,并支持边缘设备。该项目基于GPTQ、GPTQ-for-LLaMa、AWQ、SmoothQuant、torch-int和fasttransformer等项目。
* [hemingkx/Spec-Bench](https://github.com/hemingkx/Spec-Bench) Spec-Bench是一个用于评估推测解码方法的综合基准测试平台,旨在为开源推测解码方法建立统一的评估标准。该平台支持多种开源模型,例如 EAGLE、Hydra、Medusa 和 SPACE,并在同一设备和测试环境下进行公平比较。用户可以下载模型权重并使用提供的脚本进行推断,并获得与传统自回归解码相比的加速报告。
* [GreenBitAI/green-bit-llm](https://github.com/GreenBitAI/green-bit-llm) 用于微调、推理和评估 GreenBitAI 低位LLMs的工具包。该 Python 包使用Bitorch 引擎在GreenBitAI 的低位语言模型 ( LLMs )上进行高效操作。它可以在基于云的GPU和消费级GPU上实现高性能推理,并支持直接使用量化LLMs进行全参数微调。此外,您还可以使用我们提供的评估工具来验证模型在主流基准数据集上的性能。
* [mlc-ai/mlc-llm](https://github.com/mlc-ai/mlc-llm) 使每个人都能在每个人的设备上本地开发、优化和部署 AI 模型。解决方案的基石是机器学习编译(MLC),我们利用它来有效地部署AI模型。我们建立在开源生态系统的肩膀上,包括来自Hugging Face和Google的令牌化器,以及Llama,Vicuna,Dolly,MOSS,RWKV等开源LLM。我们的主要工作流程基于 Apache TVM Unity。
* [Mobile-Artificial-Intelligence/maid](https://github.com/Mobile-Artificial-Intelligence/maid) Maid是一款跨平台的免费开源应用程序,用于与本地 llama.cpp 模型以及远程 Ollama、Mistral、Google Gemini 和 OpenAI 模型交互。Maid支持 sillytavern 角色卡,允许您与所有喜欢的角色进行互动。Maid 支持从 huggingface 直接在应用程序内下载精选的模型列表。Maid可在 Windows、MacOS、Linux 和 Android 平台上运行。
* [jdf-prog/LLM-Engines](https://github.com/jdf-prog/LLM-Engines) 适用于大型语言模型 LLMs,包括开源模型(VLLM、SGLang、Together)和商业模式(OpenAI、Mistral、Claude)。通过比较 temperature=0.0 和 max_tokens=None 时不同引擎的模型输出,验证了推理的正确性。例如,当 temperature=0.0 且 max_tokens=None 时,使用 3 enginer(VLLM、SGLang、Together)的单个模型的输出将相同。
* [Helicone/helicone](https://github.com/Helicone/helicone) Helicone是一款开源的 LLM 开发平台,为开发者提供一站式解决方案。它支持 OpenAI、Anthropic、LangChain、Gemini、TogetherAI、LlamaIndex、LiteLLM、OpenRouter 等多种 LLM 库,只需一行代码即可集成,并提供监控、指标、评估、代理追踪、提示管理、游乐场等功能,帮助开发者快速构建和调试 LLM 应用。
* [comet-ml/opik](https://github.com/comet-ml/opik) Opik是一个开源的端到端 LLM 开发平台,由 Comet 构建,用于评估、测试和监控 LLM 应用程序。它可以帮助你追踪 LLM 调用和跟踪,使用 Python SDK 或 UI 对 LLM 调用进行标注,存储测试用例并运行实验,自动评估 LLM 应用程序,并进行模型比较和分析,以确保 LLM 应用程序的可靠性和性能。
* [ivanfioravanti/chatbot-ollama](https://github.com/ivanfioravanti/chatbot-ollama) Chatbot Ollama是一个开源的 Ollama 聊天界面,基于 chatbot-ui 项目开发。它允许用户通过简单的界面与 Ollama 模型进行交互,并支持自定义模型、系统提示、温度等参数。用户可以通过 Docker 镜像或本地运行的方式使用 Chatbot Ollama,并通过环境变量配置默认模型、系统提示和温度等参数。
* [run-llama/LlamaIndexTS](https://github.com/run-llama/LlamaIndexTS) LlamaIndex.TS是一个用于构建 LLM 应用的数据框架,支持多种 JS 环境,包括 Node.js、Deno、Bun 等,并提供 TypeScript 支持。它允许你在 JS 环境中使用自己的数据与大型语言模型(如 OpenAI ChatGPT)进行交互。该框架轻量级且易于使用,支持多种 LLM,并提供丰富的示例和文档。
* [vahe1994/AQLM](https://github.com/vahe1994/AQLM) 用于通过加法量化对大型语言模型进行极端压缩,与GPTQ等更简单的量化方法相比,AQLM量化需要更长的时间来校准。这只会影响量化时间,而不会影响推理时间。我们的工作建立在 MCQ 系列中的经典算法 Additive Quantization 之上,并使其适应语言模型的量化。
* [ollama-interface/Ollama-Gui](https://github.com/ollama-interface/Ollama-Gui) Ollama-Gui 是一个用于 Ollama 的图形界面,它提供了一个更友好的聊天体验,包括自动启动服务器、多对话、模型检测、主机更改、聊天持久化、导入导出聊天记录以及亮暗主题等功能,旨在简化 Ollama 的使用并提供更稳定的体验,支持 macOS 和 Windows 平台。
* [microsoft/LLMLingua](https://github.com/microsoft/LLMLingua) 为了加快LLMs推理速度并增强LLM对关键信息的感知,压缩提示和 KV-Cache,以最小的性能损失实现高达 20 倍的压缩。利用紧凑、训练有素的语言模型(如 GPT2-small、LLaMA-7B)来识别和删除提示中的非必要标记。这种方法支持使用大型语言模型进行高效推理。
* [OpenCSGs/csghub](https://github.com/OpenCSGs/csghub) CSGHub 是一个开源的大型模型平台,就像 Hugging Face 的本地版本一样。您可以使用用户界面轻松管理模型和数据集、部署模型应用程序以及设置模型微调或推理作业。CSGHub 还提供了与 hf sdk 完全兼容的 Python SDK。加入我们,共同构建更安全、更开放的平台
* [xorbitsai/inference](https://github.com/xorbitsai/inference) 通过更改一行代码,将 OpenAI GPT 替换为应用程序中的另一个 LLM GPT。Xinference 让您可以自由地使用您需要的任何LLM内容。借助 Xinference,您可以使用任何开源语言模型、语音识别模型和多模态模型运行推理,无论是在云端、本地,还是在笔记本电脑上。
* [akl7777777/ShellGPT](https://github.com/akl7777777/ShellGPT) ShellGPT 是一个免费的 chatgpt 客户端,现在支持在线 search.no 需要密钥,无需登录。多节点自动测速开关,无字数限制的长文翻译,AI graphics.免费的chatgpt客户端,已支持联网搜索,无需密钥,无需登录,多节点自动测速切换,长文翻译不限字数,AI出图
* [microsoft/promptflow](https://github.com/microsoft/promptflow) 构建高质量的 LLM 应用程序 - 从原型设计、测试到生产部署和监控。旨在简化基于 LLM 的 AI 应用程序的端到端开发周期,从构思、原型设计、测试、评估到生产部署和监控。它使快速工程变得更加容易,并使您能够构建具有生产质量的 LLM 应用程序。
* [GreenBitAI/bitorch-engine](https://github.com/GreenBitAI/bitorch-engine) Bitorch Engine 是一个用于神经网络的尖端计算库,它通过集成专为低位量化神经网络操作定制的专用层和函数来增强 PyTorch。它利用高性能计算平台(包括 GPU 和 CPU)的强大功能,在设计时考虑到了未来的适应性,以扩展对新兴 NPU 硬件技术的支持。
* [KwokKwok/Silo](https://github.com/KwokKwok/Silo) Silo是一个基于 SiliconCloud API 的纯前端应用,支持多模型同时对话和文生图功能,无需服务器端。它提供了快速且便捷的多模型交互体验,并支持多种模型,例如文本生成、图像生成等。用户可以通过浏览器直接访问 Silo,无需安装任何软件。
* [pytorch/torchchat](https://github.com/pytorch/torchchat) 在服务器、桌面和移动设备上使用PyTorch本地运行 LLMs。TorchChat 是一个小型代码库,展示了无缝运行大型语言模型 (LLMs) 的能力。使用 torchchat,您可以在自己的 (C/C++) 应用程序(桌面或服务器)以及 iOS 和 Android 上使用 Python 运行LLMs。
* [IEIT-Yuan/YuanChat](https://github.com/IEIT-Yuan/YuanChat) YuanChat是一个开源项目,提供基于 Yuan LLM 的对话应用,支持多种功能,例如知识库问答、网络搜索、文本摘要、模型推理等。项目特色包括支持 CPU 运行、提供 Windows 可执行文件、支持多种模型等。最新版本 V0.8 新增了自动生成 PPT 功能。
* [ggerganov/llama.cpp](https://github.com/ggerganov/llama.cpp) 纯C/C++中LLaMA模型的CPU推理。2023年FacebookResearch 开源了大规模语言模型LLaMA,包含从 7B 到 65B 的参数范围,训练使用多达 1.4万亿 tokens 语料。LLaMA-13B在大部分基准测评上超过了GPT3-175B,LLaMA可能是目前公开模型权重中效果最好的语言模型。
* [ray-project/ray-llm](https://github.com/ray-project/ray-llm) 一个LLM服务解决方案,可以轻松部署和管理各种LLMs开源,建立在 Ray Serve 之上。RayLLM 利用 Ray Serve,它对自动缩放和多节点部署提供本机支持。RayLLM 可以扩展到零,并创建新的模型副本(每个副本由多个 GPU 工作线程组成)以响应需求。
* [go-skynet/LocalAI](https://github.com/go-skynet/LocalAI) 自托管、社区驱动、本地 OpenAI 兼容 API。在消费级硬件上运行LLM的OpenAI的直接替代品。免费的开源OpenAI替代品。LocalAI是一个运行ggml兼容模型的API:llama,gpt4all,rwkv,whisper,vicuna,koala,gpt4all-j,cerebras,falcon,dolly,starcoder和许多其他
* [songquanpeng/one-api](https://github.com/songquanpeng/one-api) OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问以及 360 智脑,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用.
* [NVIDIA/TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) TensorRT-LLM 为用户提供了一个易于使用的 Python API,用于定义大型语言模型 (LLM) 并构建包含最先进优化的 TensorRT 引擎,以便在 NVIDIA GPU 上高效执行推理。TensorRT-LLM还包含用于创建Python的组件,以及执行这些TensorRT引擎的C++运行时。
* [OpenNMT/CTranslate2](https://github.com/OpenNMT/CTranslate2) C++ 和 Python 库,用于使用 Transformer 模型进行高效推理。该项目实现了一个自定义运行时,该运行时应用了许多性能优化技术,例如权重量化、层融合、批量重新排序等,以加速和减少 Transformer 模型在 CPU 和 GPU 上的内存使用。
* [google/maxtext](https://github.com/google/maxtext) 高性能、高度可扩展的开源产品,采用纯 Python/Jax LLM 编写,面向 Google Cloud TPU 和 GPU 进行训练和推理。MaxText 实现了高 MFU,并从单个主机扩展到非常大的集群,同时由于 Jax 和 XLA 编译器的强大功能而保持简单和“免优化”。
* [ztjhz/BetterChatGPT](https://github.com/ztjhz/BetterChatGPT) OpenAI的ChatGPT(网站+ Windows + MacOS + Linux)的惊人UI。Better ChatGPT 是任何想要体验对话式 AI 无限力量的人的终极目的地。没有限制,完全免费使用,充分利用OpenAI的ChatGPT API的全部潜力,为您提供无与伦比的聊天机器人体验。
* [jmather/llmhub](https://github.com/jmather/llmhub) LLMHub 是一个轻量级管理平台,旨在简化与各种语言模型 ( LLMs ) 的操作和交互。它提供直观的命令行界面 (CLI) 和 RESTful API 来管理、启动、停止 LLM 以及与LLMs交互。该平台支持运行具有不同配置和上下文大小的多个模型。
* [danny-avila/LibreChat](https://github.com/danny-avila/LibreChat) 增强的 ChatGPT 克隆:具有 OpenAI、GPT-4 Vision、Bing、Anthropic、OpenRouter、Google Gemini、AI 模型切换、消息搜索、langchain、DALL-E-3、ChatGPT 插件、OpenAI 功能、安全多用户系统、预设、完全开源的自托管。更多功能正在开发中
* [neuralmagic/guidellm](https://github.com/neuralmagic/guidellm) GuideLLM 是评估和优化大型语言模型 。通过模拟真实的推理工作负载,GuideLLM 可帮助用户评估在各种硬件配置上部署 LLMs。这种方法确保了高效、可扩展且具有成本效益的 LLM 推理服务,同时保持了较高的服务质量。
* [vllm-project/vllm](https://github.com/vllm-project/vllm) 适用于 LLM 的高吞吐量和内存效率推理和服务引擎。在吞吐量方面,vLLM 的性能比拥抱面转换器 (HF) 高出 24 倍,文本生成推理 (TGI) 高出 3.5 倍。使用**PagedAttention**分页注意力高效管理注意力键和值存储器。
* [maiqingqiang/ChatMLX](https://github.com/maiqingqiang/ChatMLX) ChatMLX 是一款现代、开源、高性能的 MacOS 聊天应用程序,基于大型语言模型,基于 MLX 和 Apple 芯片的强大性能。它支持多种模型,为用户提供丰富多样的对话选项。它在本地运行 LLM,以确保用户的隐私和安全。
* [microsoft/vidur](https://github.com/microsoft/vidur) 高保真和可LLM扩展的推理模拟器。它可以帮助您:容量规划并为您的LLM部署找到最佳部署配置。测试新的研究理念,如新的调度算法,优化,如推测解码等。研究模型在不同工作负载和配置下的系统性能。
* [PygmalionAI/aphrodite-engine](https://github.com/PygmalionAI/aphrodite-engine) Aphrodite 是 PygmalionAI 的官方后端引擎(大规模 LLM 推理引擎)。它旨在用作 PygmalionAI 网站的推理终端节点,并允许以极快的速度向大量用户提供与 Hugging Face 兼容的模型(感谢 vLLM 的 Paged Attention)。
* [Daiyimo/Access-chatGPT-in-Siri](https://github.com/Daiyimo/Access-chatGPT-in-Siri) Siri接入ChatGPT指南。目前接口已开放全端,全端可用!目前的API接口已适配全部支持ChatGPT接口的应用,Siri只是其中一个分支,无论是chathub、opencat、chatbox、问天等应用,都可以直接使用,即填即用
* [ModelTC/lightllm](https://github.com/ModelTC/lightllm) 基于Python的LLM(大型语言模型)推理和服务框架,以其轻量级设计,易于扩展和高速性能而著称。LightLLM利用了许多备受推崇的开源实现的优势,包括但不限于FasterTransformer,TGI,vLLM和FlashAttention。
* [guinmoon/LLMFarm](https://github.com/guinmoon/LLMFarm) LLMFarm 是一款适用于大型语言模型 ( LLM ) 的 iOS 和 MacOS 应用程序。它允许您加载具有特定参数的不同LLMs 。使用LLMFarm,您可以在iOS和macOS上测试不同LLMs的性能,并找到最适合您的项目的模型。
* [bigscience-workshop/petals](https://github.com/bigscience-workshop/petals) 在家运行LLM,BitTorrent风格。微调和推理速度比卸载快10 倍。Petals协作运行像Llama和BLOOM这样的大型语言模型 - 你加载模型的一小部分,然后加入为其他部分提供服务的人来运行推理或微调。
* [openai/openai-python](https://github.com/openai/openai-python) OpenAI API 的官方 Python 库。提供了从用 Python 语言编写的应用程序对 OpenAI API 的便捷访问。它包括一组预定义的API资源类,这些类从API响应动态初始化自身,使其与各种版本的OpenAI API兼容。
* [lss233/chatgpt-mirai-qq-bot](https://github.com/lss233/chatgpt-mirai-qq-bot) 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台
* [flexflow/FlexFlow](https://github.com/flexflow/FlexFlow) 开源编译器和分布式系统,用于低延迟、高性能的 LLM 服务。FlexFlow Serve 在单节点、多 GPU 推理方面比现有系统高出 1.3-2.0 倍,在多节点、多 GPU 推理方面比现有系统高出 1.4-2.4 倍。
* [liou666/polyglot](https://github.com/liou666/polyglot) 一款跨平台的桌面端应用程序(目前已支持web版本)。基于ChatGPT和Azure人工智能语言模型作为底层服务,旨在提供一个易于使用的语言练习平台,方便进行多语种的口语练习。
* [chathub-dev/chathub](https://github.com/chathub-dev/chathub) 多合一的聊天机器人客户端。在一个应用程序中使用不同的聊天机器人,目前支持ChatGPT,新的Bing Chat,Google Bard,Claude和10 +开源模型,包括Alpaca,Vicuna,ChatGLM等。
* [EricLBuehler/mistral.rs](https://github.com/EricLBuehler/mistral.rs) 极快LLM的推理速度。Mistral.rs 是一个快速LLM推理平台,支持在各种设备上进行推理、量化和易于使用的应用程序,具有兼容 Open-AI API 的 HTTP 服务器和 Python 绑定。
* [minimaxir/simpleaichat](https://github.com/minimaxir/simpleaichat) Python 包可轻松与聊天应用程序接口,具有强大的功能和最小的代码复杂性。可轻松与ChatGPT和GPT-4等聊天应用程序接口,具有强大的功能和最小的代码复杂性。
* [pandora-next/deploy](https://github.com/pandora-next/deploy) 更强大,但还是那个让你呼吸顺畅的ChatGPT。支持GPTs,最新UI。可配置共享的tokens,会有一个功能等同chat-shared3.zhile.io的共享站(目前2622个普号、22个Plus)。
* [bclswl0827/ChatGemini](https://github.com/bclswl0827/ChatGemini) 基于 Google Gemini 的网页客户端,对标 ChatGPT 3.5,操作逻辑同 ChatGPT 3.5 一致,同时支持在聊天中上传图片,应用会自动调用 Gemini-Pro-Vision 模型进行识图。
* [OpenGVLab/EfficientQAT](https://github.com/OpenGVLab/EfficientQAT) EfficientQAT:大型语言模型的高效量化感知训练。发布了一种新的权重激活量化算法 PrefixQuant,这是第一个让静态激活量化的性能超过动态量化的工作。
* [reorx/awesome-chatgpt-api](https://github.com/reorx/awesome-chatgpt-api) 精选的应用程序和工具列表,这些应用程序和工具不仅使用新的 ChatGPT API,还允许用户配置自己的 API 密钥,从而免费和按需使用自己的配额。
* [DefTruth/Awesome-LLM-Inference](https://github.com/DefTruth/Awesome-LLM-Inference) 精选的 Awesome LLM 推理论文列表,包含代码、TensorRT-LLM、vLLM、streaming-llm、AWQ、SmoothQuant、WINT8/4、Continuous Batching、FlashAttention、PagedAttention 等。
* [cogentapps/chat-with-gpt](https://github.com/cogentapps/chat-with-gpt) 开源的非官方 ChatGPT 应用程序,具有额外的功能和更多自定义体验的方式。它将 ChatGPT 与 ElevenLabs 连接起来,为 ChatGPT 提供逼真的人类声音。
* [mylxsw/aidea](https://github.com/mylxsw/aidea) 一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
* [202252197/ChatGPT_JCM](https://github.com/202252197/ChatGPT_JCM) OpenAI管理界面,聚合OpenAI的所有接口进行界面操作(所有模型、图片、音频、微调、文件)等,支持Markdown格式(公式、图表,表格)等
* [ShipBit/slickgpt](https://github.com/ShipBit/slickgpt) 轻量级的“使用你自己的 API 密钥”Web 客户端,用于用 Svelte 编写的 OpenAI API。它提供 GPT-4 集成、无用户共享功能和其他超能力。
* [AlexBodner/How_Much_VRAM](https://github.com/AlexBodner/How_Much_VRAM) How Much VRAM 是一个开源项目,用于估算模型进行训练或推理所需的内存。这将帮助您确定所需的硬件,而无需尝试多种配置。
* [liltom-eth/llama2-webui](https://github.com/liltom-eth/llama2-webui) 从任何地方(Linux/Windows/Mac)在GPU或CPU上本地运行任何Llama 2。使用“llama2-wrapper”作为生成代理/应用程序的本地llama2后端。
* [aurora-develop/aurora](https://github.com/aurora-develop/aurora) (带UI)免费的GPT3.5,支持使用3.5的access 调用,注:仅ip属地支持免登录使用ChatGpt可以使用(也可以自定义Baseurl来绕过限制)
* [ParisNeo/lollms-webui](https://github.com/ParisNeo/lollms-webui) LLM(大型语言模型)模型的中心。该项目旨在提供一个用户友好的界面,以访问和利用各种LLM模型来完成广泛的任务。
* [ztxz16/fastllm](https://github.com/ztxz16/fastllm/) 纯c++的全平台llm加速库,支持python调用,chatglm-6B级模型单卡可达10000+token / s,支持glm, llama, moss基座,手机端流畅运行
* [huggingface/chat-ui](https://github.com/huggingface/chat-ui) 开源模型的聊天界面,例如OpenAssistant或Llama。SvelteKit应用程序,它为 hf.co/chat 上的HuggingChat应用程序提供支持。
* [huggingface/text-generation-inference](https://github.com/huggingface/text-generation-inference) 用于文本生成推理的 Rust、Py 和 gRPC 服务器。在HuggingFace的生产中使用,以支持Hugging Chat,推理API和推理端点。
* [intel/intel-extension-for-transformers](https://github.com/intel/intel-extension-for-transformers) 在几分钟内在您喜欢的设备上构建您的聊天机器人;为 LLM 提供 SOTA 压缩技术;在英特尔平台上高效运行 LLM
* [AugustDev/enchanted](https://github.com/AugustDev/enchanted) Enchanted 是 iOS 和 macOS 应用程序,用于使用 Ollama 与 Llama2、Mistral 或 Vicuna 等私人自托管语言模型聊天。
* [bincooo/chatgpt-adapter](https://github.com/bincooo/chatgpt-adapter) 集成了openai-api、bing、gemini、coze、claude、绘画 多款AI的聊天接口适配到 OpenAI API 标准接口服务端。
* [mckaywrigley/chatbot-ui-lite](https://github.com/mckaywrigley/chatbot-ui-lite) 一个简单的聊天机器人入门工具包,用于使用 Next.js、TypeScript 和 Tailwind CSS 的 OpenAI 聊天模型。
* [Qcompiler/MIXQ](https://github.com/Qcompiler/MIXQ) MixQ:通过在线预测驯服混合精度量化中的动态异常值,我们使用混合精度 GEMM 来提高吞吐量。
* [bentoml/OpenLLM](https://github.com/bentoml/OpenLLM) 用于在生产中操作大型语言模型 (LLM) 的开放平台。轻松微调、服务、部署和监控任何 LLM。
* [Mintplex-Labs/anything-llm](https://github.com/Mintplex-Labs/anything-llm) 您的个人私人 ChatGPT。在一个非常干净的 UI 中支持无限的文档、线程以及并发用户和管理。
* [oobabooga/text-generation-webui](https://github.com/oobabooga/text-generation-webui) 用于大型语言模型的 Gradio Web UI。支持变压器,GPTQ,AWQ,EXL2,llama.cpp(GGUF),Llama模型。
* [Bin-Huang/chatbox](https://github.com/Bin-Huang/chatbox) 开源的 ChatGPT API (OpenAI API) 桌面客户端,Prompt 的调试与管理工具,支持 Windows、Mac 和 Linux
* [datawhalechina/self-llm](https://github.com/datawhalechina/self-llm) 《开源大模型食用指南》基于Linux环境快速部署开源大模型,更适合中国宝宝的部署教程
* [kangfenmao/cherry-studio](https://github.com/kangfenmao/cherry-studio) Cherry Studio 是一个桌面客户端,支持多个 LLM 提供程序,可在 Windows、Mac 和 Linux 上使用。
* [horizon-ui/chatgpt-ai-template](https://github.com/horizon-ui/chatgpt-ai-template) Horizon AI 模板 - 最时尚的开源 ChatGPT UI AI 模板和入门套件,适用于 React、NextJS 和 Chakra UI
* [serge-chat/serge](https://github.com/serge-chat/serge) 用[llama.cpp](https://github.com/ggerganov/llama.cpp)运行Alpaca羊驼模型。没有API密钥,完全自托管
* [Zefan-Cai/PyramidKV](https://github.com/Zefan-Cai/PyramidKV) PyramidKV官方实现:基于金字塔信息漏斗的动态KV缓存压缩。现在支持大LLMs的多GPU推理。
* [awesome-chatgpt/awesome-chatgpt](https://github.com/awesome-chatgpt/awesome-chatgpt/tree/main) 令人敬畏的资源集合,包括与 ChatGPT 相关的各种工具、文档、资源、应用程序和用例。
* [GPTGenius/chatgpt-vercel](https://github.com/GPTGenius/chatgpt-vercel) 使用 Vercel 一键免费创建私人 ChatGPT 网站 -- 通过 Vercel 一键免费创建私有的 ChatGPT 站点
* [lencx/nofwl](https://github.com/lencx/nofwl) 一个跨平台的桌面应用,它可以让你和一个基于 GPT-3 的聊天机器人进行有趣的对话。
* [flyun/chatAir](https://github.com/flyun/chatAir) ChatGPT、Gemini 和 Claude 的原生安卓应用程序ChatGPT、Gemini 和 Claude 的原生安卓应用程序
* [vercel-labs/ai-chatbot](https://github.com/vercel-labs/ai-chatbot) 使用 Next.js、Vercel AI SDK、OpenAI 和 Vercel KV 构建的开源 AI 聊天机器人应用程序模板。
* [waylaidwanderer/node-chatgpt-api](https://github.com/waylaidwanderer/node-chatgpt-api) ChatGPT 和 Bing AI 的客户端实现。可用作node.js模块、REST API 服务器和 CLI 应用程序。
* [smol-ai/GodMode](https://github.com/smol-ai/GodMode) AI聊天浏览器:快速,完整的网络应用程序访问ChatGPT / Claude / Bard / Bing / Llama2
* [endo9000/Awesome-Ollama](https://github.com/endo9000/Awesome-Ollama) 一份很棒的 Ollama Web 和桌面 UI、框架、库、软件和资源的自以为是的列表。
* [mckaywrigley/chatbot-ui](https://github.com/mckaywrigley/chatbot-ui) 一个开源的 ChatGPT UI。支持很多大模型的 AI 聊天。使用了nextjs、Supabase。
* [GaiZhenbiao/ChuanhuChatGPT](https://github.com/GaiZhenbiao/ChuanhuChatGPT) 为ChatGPT ChatGLM LLaMA StableLM MOSS等多种LLM提供了一个轻快好用的Web图形界面
* [pengzhile/pandora](https://github.com/pengzhile/pandora) 实现了网页版 ChatGPT 的主要操作。后端优化,绕过 Cloudflare,速度喜人。
* [Qcompiler/vllm-mixed-precision](https://github.com/Qcompiler/vllm-mixed-precision) VLLM 中的混合精度推理,混合精度推理用于加速预填充步骤并提高 LLM。
* [sonnylazuardi/chat-ai-desktop](https://github.com/sonnylazuardi/chat-ai-desktop) 使用 Tauri 和 Rust 的 Mac 和 Windows 菜单栏的非官方 ChatGPT 桌面应用程序
* [patrikzudel/PatrikZeros-ChatGPT-API-UI](https://github.com/patrikzudel/PatrikZeros-ChatGPT-API-UI) 静态网页,允许您使用 OpenAI API 密钥获得与 ChatGPT 相同的体验!
* [DD-DuDa/BitDistiller](https://github.com/DD-DuDa/BitDistiller) [ACL 2024] 一种具有自蒸馏框架的新型 QAT,用于增强超低位LLMs 。
* [li-plus/chatglm.cpp](https://github.com/li-plus/chatglm.cpp) C++实现ChatGLM-6B和ChatGLM2-6B,以便在MacBook上进行实时聊天。
* [ourongxing/chatgpt-vercel](https://github.com/ourongxing/chatgpt-vercel) 优雅而有力的网页ChatGPT界面。由OpenAI和Vercel提供支持。
* [PanQiWei/AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ) 易于使用的LLM量化包,有用户友好的API,基于GPTQ算法。
* [hemingkx/SpeculativeDecodingPapers](https://github.com/hemingkx/SpeculativeDecodingPapers) 释放大型语言模型推理的效率:推测解码的全面调查。
* [vercel/ai](https://github.com/vercel/ai) 使用 React、Svelte、Vue 和 Solid 构建 AI 驱动的应用程序
* [xx025/carrot](https://github.com/xx025/carrot) 准备了众多免费好用的ChatGPT镜像站点,当前100+站点
* [qnguyen3/chat-with-mlx](https://github.com/qnguyen3/chat-with-mlx) 使用 MLX 框架的 Apple Silicon Mac 的一体化LLMs聊天 UI。
* [dice2o/BingGPT](https://github.com/dice2o/BingGPT) 新必应AI聊天的桌面应用程序(Windows,macOS和Linux)
* [turboderp/exllamav2](https://github.com/turboderp/exllamav2) 用于在现代消费级 GPU 上本地运行LLMs的快速推理库
* [neuralmagic/nm-vllm](https://github.com/neuralmagic/nm-vllm) 适用于LLMs的高吞吐量和内存高效推理和服务引擎
* [OpenMindClub/awesome-chatgpt](https://github.com/OpenMindClub/awesome-chatgpt) 关于ChatGPT的一切,精选的应用程序和工具列表。
* [RUCAIBox/StructGPT](https://github.com/RUCAIBox/StructGPT) 大型语言模型对结构化数据进行推理的通用框架
* [PlexPt/chatgpt-java](https://github.com/PlexPt/chatgpt-java) ChatGPT Java SDK。支持 GPT3.5、 GPT4 API。开箱即用。
* [nomic-ai/gpt4all](https://github.com/nomic-ai/gpt4all) 在 CPU 上本地运行的开源助手样式大型语言模型
* [Infini-AI-Lab/Sequoia](https://github.com/Infini-AI-Lab/Sequoia) 可扩展、强大且具有硬件感知能力的推测解码
* [ramonvc/freegpt-webui](https://github.com/ramonvc/freegpt-webui) GPT 3.5/4 与聊天网页用户界面。无需 API 密钥。
* [mit-han-lab/llm-awq](https://github.com/mit-han-lab/llm-awq) AWQ:用于 LLM 压缩和加速的激活感知权重量化
* [futantan/OpenGpt](https://github.com/futantan/OpenGpt) 在几秒钟内创建您自己的聊天GPT应用程序。
* [hao-ai-lab/LookaheadDecoding](https://github.com/hao-ai-lab/LookaheadDecoding) 用 Lookahead 解码打破推理的LLM顺序依赖关系
* [hahahumble/speechgpt](https://github.com/hahahumble/speechgpt) 一个Web应用程序,使您能够与ChatGPT交谈。
* [karpathy/llama2.c](https://github.com/karpathy/llama2.c) 在一个纯 C 文件中推理Llama 2大型语言模型
* [OkGoDoIt/OpenAI-API-dotnet](https://github.com/OkGoDoIt/OpenAI-API-dotnet) 用于访问 OpenAI GPT-3 API 的非官方 C#/.NET SDK
* [LiLittleCat/awesome-free-chatgpt](https://github.com/LiLittleCat/awesome-free-chatgpt) 免费的 ChatGPT 镜像网站列表,持续更新。
* [encx/ChatGPT](https://github.com/lencx/ChatGPT) ChatGPT 桌面应用程序(Mac、Windows 和 Linux)
* [Qcompiler/MixQ_Tensorrt_LLM](https://github.com/Qcompiler/MixQ_Tensorrt_LLM) TensorRT 的文本生成混合精度推理演示LLM
* [ai-collection/ai-collection](https://github.com/ai-collection/ai-collection) 一系列令人敬畏的生成式 AI 应用程序
* [billmei/every-chatgpt-gui](https://github.com/billmei/every-chatgpt-gui) ChatGPT 的每个前端 GUI 客户端项目列表
* [Yidadaa/ChatGPT-Next-Web](https://github.com/Yidadaa/ChatGPT-Next-Web) 一键拥有你自己的 ChatGPT 网页服务。
* [openai/plugins-quickstart](https://github.com/openai/plugins-quickstart) 在 5 分钟内启动并运行 ChatGPT 插件!
* [MustangYM/OSXChatGpt](https://github.com/MustangYM/OSXChatGpt) 在您的 Mac 上轻松使用 OpenAI ChatGPT!
* [869413421/chatgpt-web](https://github.com/869413421/chatgpt-web) 基于ChatGPT3.5 API实现的私有化web程序
* [Chanzhaoyu/chatgpt-web](https://github.com/Chanzhaoyu/chatgpt-web) 用Express和Vue3搭建的 ChatGPT 演示网页
* [vincelwt/chatgpt-mac](https://github.com/vincelwt/chatgpt-mac) Mac 版 ChatGPT,就在您的菜单栏中。
* [nomic-ai/pyllamacpp](https://github.com/nomic-ai/pyllamacpp) 支持 llama.cpp + gpt4all 的 Python 绑定
* [Niek/chatgpt-web](https://github.com/Niek/chatgpt-web) 使用 OpenAI API 的 ChatGPT Web 界面
* [wangzhaode/ChatGLM-MNN](https://github.com/wangzhaode/ChatGLM-MNN) 纯C++,易于部署的ChatGLM-6B。
* [srush/llama2.rs](https://github.com/srush/llama2.rs) CPU 上 Llama2 推理的 Rust 实现
* [huggingface/transformers-bloom-inference](https://github.com/huggingface/transformers-bloom-inference) BLOOM 的快速推理解决方案
* [alfianlosari/ChatGPTSwift](https://github.com/alfianlosari/ChatGPTSwift) 使用 Swift 访问 ChatGPT API
* [abetlen/llama-cpp-python](https://github.com/abetlen/llama-cpp-python) llama.cpp 的 Python 绑定
#### 法律大模型及语料库
#####
* [HKAIR-Lab/HK-O1aw](https://github.com/HKAIR-Lab/HK-O1aw) HK-O1aw 是一个专为香港法律系统设计的法律助手,它可以处理复杂的法律推理。该模型基于LLaMA-3.1-8B,并使用Align-Anything框架和O1aw-Dataset进行训练,旨在提升大型语言模型在法律领域的推理和问题解决能力。HK-O1aw 采用先进的O1推理能力,可以进行复杂的法律分析,理解上下文,识别先例和解释法规,是香港首个针对普通法体系的复杂推理模型,对提升法律服务和教育具有重要意义。目前,HK-O1aw 可以为用户提供法律问题的详细推理路径,并作为法律教育的交互式工具,帮助学生理解复杂的概念和练习法律起草。未来,该模型将持续更新,以增强其在专业环境中的部署,目标是为律师提供法律研究、案例分析和起草法律意见的支持,从而提高香港法律框架的效率和准确性。
* [seudl/JurisLMs](https://github.com/seudl/JurisLMs) 根据不同的场景在法律法规、法律咨询、裁判文书等多种不同的语料上进一步预训练了多个模型。其中,AI Judge是由GPT2在法学语料上进一步预训练之后,结合一个法条适用模型(一个基于BERT的分类器)微调得到的一个可解释法律判决预测模型。基于中文LLaMA的智能法律咨询模型,AI Lawyer。由于缺乏标注法条的咨询语料,我们采用主动学习(Active Learning)在少量数据上进行微调获得一个法律适用模型,使得AI Lawyer可以根据用户咨询适用正确的法律法规回答问题。
* [Dai-shen/LAiW](https://github.com/Dai-shen/LAiW) LAiW是一个中文法律大模型的综合性基准测试平台,旨在评估大模型在法律领域的应用能力。该项目包含14项基础任务和相应的测试数据集,并提供了一个评分机制来评估模型在法律信息检索、法律文本理解、法律推理等方面的能力。目前,LAiW 已对包括 ChatGPT、Llama2、Ziya-LLaMA、Baichuan2、HanFei、ChatLaw、LaWGPT 等主流大模型进行了评估,并发布了评估结果和评分方法。用户可以通过 LAiW 的排行榜查看不同模型的评估结果,并根据自身需求选择合适的法律大模型。
* [HazyResearch/legalbench](https://github.com/HazyResearch/legalbench) LegalBench是一个开源项目,旨在为评估大型语言模型(LLM)的法律推理能力提供基准。它包含 162 个任务,由 40位贡献者收集,涵盖了各种法律文本类型、任务结构、法律领域和难度级别。这些任务由法律界人士(律师、计算法律从业人员、法学教授和法律影响实验室)共同贡献,旨在评估 LLM 在法律推理方面的能力,并探索其在法律实践中的应用。LegalBench 仍在不断发展,欢迎更多贡献者加入。
* [AndrewZhe/lawyer-llama](https://github.com/AndrewZhe/lawyer-llama) 中文法律LLaMA,在大规模法律语料上进行了continual pretraining,让它系统的学习中国的法律知识体系。 在此基础上,我们借助ChatGPT收集了一批对中国国家统一法律职业资格考试客观题(以下简称法考)的分析和对法律咨询的回答,利用收集到的数据对模型进行指令微调,让模型习得将法律知识应用到具体场景中的能力。
* [zhihaiLLM/wisdomInterrogatory](https://github.com/zhihaiLLM/wisdomInterrogatory) 由浙江大学、阿里巴巴达摩院以及华院计算三家单位共同设计研发的法律大模型。核心思想:以“普法共享和司法效能提升”为目标,从推动法律智能化体系入司法实践、数字化案例建设、虚拟法律咨询服务赋能等方面提供支持,形成数字化和智能化的司法基座能力。
* [LiuHC0428/LAW-GPT](https://github.com/LiuHC0428/LAW-GPT) 中文法律对话语言模型,由ChatGLM-6B LoRA 16-bit指令微调得到。数据集包括现有的法律问答数据集和基于法条和真实案例指导的self-Instruct构建的高质量法律文本问答,提高了通用语言大模型在法律领域的表现,提高了模型回答的可靠性和专业程度。
* [PKU-YuanGroup/ChatLaw](https://github.com/PKU-YuanGroup/ChatLaw) 中文法律大模型。目前开源的仅供学术参考的版本底座为姜子牙-13B、Anima-33B,我们使用大量法律新闻、法律论坛、法条、司法解释、法律咨询、法考题、判决文书等原始文本来构造对话数据。
* [CSHaitao/LexiLaw](https://github.com/CSHaitao/LexiLaw) 经过微调的中文法律大模型,它基于 ChatGLM-6B 架构,通过在法律领域的数据集上进行微调,使其在提供法律咨询和支持方面具备更高的性能和专业性。
* [FudanDISC/DISC-LawLLM](https://github.com/FudanDISC/DISC-LawLLM) 利用大型语言模型(LLM)提供广泛法律服务的智能法律系统。[DISC-Law-SFT 数据集](https://huggingface.co/datasets/ShengbinYue/DISC-Law-SFT)
* [davidpig/lychee_law](https://github.com/davidpig/lychee_law) 律知, 法律咨询大模型,Law-GLM-10B: 基于 GLM-10B 模型, 在 30GB 中文法律数据上进行指令微调.
* [LawRefBook/Laws](https://github.com/LawRefBook/Laws) 本项目收集各类法律法规、部门规章、案例等,并将其按照章节等信息进行了处理。
* [lvwzhen/law-cn-ai](https://github.com/lvwzhen/law-cn-ai) AI 法律助手,使用 pgvector 存储嵌入向量,使用OpenAI GPT 回答用户。
* [siat-nlp/HanFei](https://github.com/siat-nlp/HanFei) 国内首个全参数训练的法律大模型 HanFei-1.0 韩非
* [JoelNiklaus/LEXTREME](https://github.com/JoelNiklaus/LEXTREME) 涵盖24种语言的11个数据集的法律基准测试。
* [open-compass/LawBench](https://github.com/open-compass/LawBench) 对大型语言模型的法律知识进行基准测试
* [coastalcph/lex-glue](https://github.com/coastalcph/lex-glue) 英语法律语言理解的基准数据集
* [pengxiao-song/LaWGPT](https://github.com/pengxiao-song/LaWGPT) 基于中文法律知识的大语言模型
#### 编程语言大模型及相关项目
#####
* [microsoft/TaskWeaver](https://github.com/microsoft/TaskWeaver) 代码优先代理框架,用于无缝规划和执行数据分析任务。TaskWeaver 是一个代码优先代理框架,用于无缝规划和执行数据分析任务。这个创新的框架通过代码片段解释用户请求,并以函数的形式有效地协调各种插件,以有状态的方式执行数据分析任务。与许多仅使用LLMs文本跟踪聊天记录的代理框架不同,TaskWeaver 同时保留聊天记录和代码执行历史记录,包括内存中数据。此功能增强了代理框架的表现力,使其成为处理复杂数据结构(如高维表格数据)的理想选择。特色:丰富的数据结构 -例如 DataFrames,而不是处理字符串。自定义算法 - 允许您将自己的算法封装到插件中并编排它们。整合特定领域的知识 - 旨在轻松整合特定领域的知识,以提高可靠性。有状态执行 - 旨在支持生成的代码的有状态执行,以确保一致且流畅的用户体验。代码验证 - 旨在在执行之前验证生成的代码。它可以检测生成的代码中的潜在问题,并提供修复建议。易于使用 - 包含示例插件、示例和教程,可帮助您入门。 提供开箱即用的体验,允许用户在安装后立即运行它。易于调试 - 具有详细和透明的日志,可帮助您了解整个过程,包括LLM提示、代码生成和执行过程。安全注意事项 - 支持基本的会话管理,以将不同用户的数据分开。代码执行被分成不同的进程,以避免相互干扰。易于扩展 - 以使用多个代理作为插件完成更复杂的任务。
* [langchain-ai/open-canvas](https://github.com/langchain-ai/open-canvas) Open Canvas 是一个开源 Web 应用程序,用于与代理协作以更好地编写文档。它的灵感来自 OpenAI 的“Canvas”,但有一些关键差异。 开源:从前端到内容生成代理,再到反射代理,所有代码都是开源的,并且已获得 MIT 许可。 内置内存:Open Canvas 随附一个开箱即用的反射代理,该代理将样式规则和用户洞察存储在共享内存存储中。这允许 Open Canvas 在会话中记住有关您的信息。 从现有文档开始:Open Canvas 允许用户从他们选择的语言的空白文本或代码编辑器开始,允许您使用现有内容开始会话,而不是被迫从聊天交互开始。我们相信这是一个理想的 UX,因为很多时候您已经有一些内容可以开始,并希望在此基础上进行迭代。 特征: 内存: Open Canvas 有一个内置的内存系统,它会自动生成您的反思和回忆,以及您的聊天记录。然后,这些内容将包含在后续的聊天交互中,以提供更加个性化的体验。 自定义快速操作:自定义快速操作允许您定义自己的提示,这些提示与您的用户相关联,并在会话中持续存在。然后,只需单击一下即可轻松调用这些内容,并将其应用于您当前正在查看的工件。 预构建的快速操作:还有一系列用于常见编写和编码任务的预构建快速操作,这些操作始终可用。
* [codota/TabNine](https://github.com/codota/TabNine) 您控制的 AI 代码助手。通过一流的 AI 代码生成保持流畅,自动生成高质量代码,将纯文本转换为代码,消除重复性任务,并将更多时间花在您喜欢的工作上。通过整个 SDLC 的 AI 聊天更快地构建更好的应用程序,从代码创建和解释,到测试和文档生成以及错误修复,更快的应用程序开发已经进入了聊天。高度个性化的 AI,适合您的工作方式,基于代码和模式的上下文感知建议,支持您使用的最流行的语言、库和 IDE,能够创建基于代码库训练的定制模型。完全的代码隐私,零数据保留,以自己的方式部署 Tabnine:本地、VPC 或安全 SaaS,Tabnine 的专有模型从未在您的代码上进行过训练,未经您的明确许可,绝不会存储或共享您的代码。保护风险和知识产权责任,Tabnine 的 Protected 模型仅在许可许可的代码上进行训练,企业用户获得额外的赔偿保护,具有企业级安全性和合规性(具有 SOC 2 和 GDPR)。Tabnine 是原创的 AI 代码助手,受到数百万开发人员和数千家公司的信赖。在您最喜欢的 IDE 中免费获取 Tabnine。
* [arcee-ai/mergekit](https://github.com/arcee-ai/mergekit) 可扩展的框架,可以在任何硬件上有效地合并模型,MergeKit 包含广泛的合并技术,并在数千个合并模型的开发中发挥了重要作用,其中许多模型的评估处于或接近 Open LLM 排行榜的前列。开源语言模型领域的快速扩展提供了一个机会,可以通过组合这些模型检查点(checkpoint)的参数来合并它们的能力。迁移学习的进步,即为特定任务微调预训练模型的过程,促成了大量用特定于任务的模型的发展,这些模型通常专门用于单个任务,无法利用彼此的优势。模型合并有助于创建多任务模型,而无需额外的训练,为提高模型性能和多功能性提供了一条有前途的途径。通过保留原始模型的内在功能,模型合并解决了人工智能中的复杂挑战,包括灾难性遗忘和多任务学习的困难。当前支持的合并方法的快速概述:Linear (Model Soups 经典的合并方法 - 一个简单的加权平均值。) 、SLERP、Task Arithmetic、TIES 、DARE TIES、DARE Task Arithmetic 、Passthrough、Model Stock
* [microsoft/CodeXGLUE](https://github.com/microsoft/CodeXGLUE) 来自微软亚洲研究院、开发者部门和 Bing 的研究人员推出了 CodeXGLUE,这是一个基准数据集和代码智能公开挑战赛。它包括代码智能任务的集合和模型评估和比较的平台。 CodeXGLUE 代表 CODE 的通用语言理解评估基准。它包含 10 个多样化代码智能任务的 14 个数据集,涵盖以下场景:代码到代码(克隆检测、缺陷检测、完型填空测试、代码完成、代码修复和代码到代码翻译);文本代码(自然语言代码搜索、文本到代码生成);代码文本(代码摘要);文本-文本(文档翻译)。通过 CodeXGLUE,我们寻求支持可应用于各种代码智能问题的模型的开发,目标是提高软件开发人员的生产力。我们鼓励研究人员参与公开挑战,以继续在代码智能方面取得进展。展望未来,我们将把 CodeXGLUE 扩展到更多编程语言和下游任务,同时通过探索新的模型结构、引入新的预训练任务、使用不同类型的数据等继续推进预训练模型。
* [LingmaTongyi/Codev-Bench](https://github.com/LingmaTongyi/Codev-Bench) Codev-Bench是一个细粒度、真实世界、仓库级、以开发者为中心的代码补全评估框架。它评估代码补全工具是否能够准确捕捉开发者的即时意图,并在各种细粒度上下文中建议合适的代码片段。与以往只关注根据注释生成完整函数的代码生成或补全基准不同,Codev-Bench 还重现了用户在开发过程中可能遇到的各种子场景,并构建了基于单元测试的评估方法,更准确地评估各种 LLM 生成的代码质量。它通过提取 GitHub 仓库中的单元测试类和函数,并利用 GPT-4 完成环境依赖安装和执行单元测试,并使用 pytest trace 提取单元测试的执行轨迹来确定与每个单元测试相关的目标函数,最后使用 tree-sitter 解析目标函数的 AST,识别所有子函数、注释、逻辑块、语句等。Codev-Bench 将用户在 IDE 中开发时可能遇到的补全子场景或功能划分为以下部分:完整块补全、不完整后缀补全、参数列表补全、语句补全。
* [voideditor/void](https://github.com/voideditor/void) Void 是开源的 Cursor 替代方案。使用最好的 AI 工具编写代码,保留对数据的完全控制权,并访问强大的 AI 功能。按 'Tab' 应用自动完成。Ctrl + K 内联编辑您的选择。Ctrl + L 提出问题并包含文件。Void 是 VS Code 的一个分支。我们让您一键传输所有主题、键位和设置。社区功能:任何人都可以推进我们的路线图或构建自己的 AI 集成;为您的文件编制索引;使用 AI 进行智能搜索;微调生成(例如 Docstrings);查看和编辑基础提示。实验性功能:快速应用,即使在 1000 行的文件中也是如此;情境感知;第三方集成。任何 LLM,任何地方:在本地托管您自己的模型,或直接与您最喜欢的模型通信;本地托管,再也不会用完 API 积分,我们提供像 Ollama 这样的工具来在本地托管质量模型;直接发送到 Claude、GPT 或 Gemini;与其他编辑器不同,我们不充当您的 LLM。
* [BloopAI/bloop](https://github.com/BloopAI/bloop) 用 Rust 编写的快速代码搜索引擎。用自然语言提问,搜索代码,并使用现有代码库作为上下文生成补丁。工程师们通过使用 bloop 来提高他们的工作效率:用简单的语言解释文件或功能的工作原理;编写新功能,使用其代码作为上下文;了解如何使用文档记录不佳的开源库;查明错误;询问有关其他语言的英语语言代码库的问题;通过检查现有功能来减少代码重复。特征:基于 AI 的对话搜索;Code Studio,一个LLM使用代码作为上下文的游乐场;超快的正则表达式搜索;同步本地仓库和 GitHub 仓库;复杂的查询筛选器,因此您可以缩小结果范围;使用符号搜索查找函数、变量或特征;使用 Tree-sitter 构建的 10+ 种最流行语言的精确代码导航(转到参考和转到定义);以隐私为中心的设备嵌入,用于语义搜索。
* [tag-research/tag-bench](https://github.com/tag-research/tag-bench) 表增强生成 (TAG) 是一种统一的通用范例,用于回答数据库上的自然语言问题。TAG 模型代表了 LM 和数据库之间的广泛交互,这些交互以前在 Text2SQL 和 RAG 等方法中未得到探索。我们提供了第一个研究 TAG 问题的基准,发现标准方法难以回答此类查询,证实了在该领域进行进一步研究的必要性。初始 TAG v1 基准测试建立在 BIRD Text2SQL 基准测试之上。为了提高查询的复杂性并挑战 LLMs,TAG 基准测试中的查询已被修改为需要超出数据库中明确提供的信息的世界知识或语义推理。我们使用和修改 BIRD 中基于匹配的查询、比较查询、排名查询和聚合查询的子集。总共有 80 个查询,每种类型 20 个。其中 40 个查询需要模型的参数知识,其他 40 个查询需要模型执行推理。
* [salesforce/CodeTF](https://github.com/salesforce/CodeTF) CodeTF是一个基于 Transformer 的 Python 库,用于代码大型语言模型 (Code LLMs) 和代码智能,提供了一个无缝的接口,用于训练和推理代码智能任务,如代码摘要、翻译、代码生成等。它旨在简化将 SOTA CodeLLMs 集成到实际应用中。除了核心 LLMs的代码功能外,CodeTF 还提供跨多种语言的代码操作实用程序,包括轻松提取代码属性。它使用 tree-sitter 作为其核心AST 解析器,可以解析函数名称、注释和变量名称等属性。提供了针对多种语言的预构建库,无需复杂的解析器设置。因此,CodeTF 为代码智能任务确保了一个用户友好且易于访问的环境。该库的当前版本提供:快速模型服务、微调自己的模型、支持的任务、数据集+。
* [semanser/codel](https://github.com/semanser/codel) Codel是一个全自动的 AI 代理,它可以利用终端、浏览器和编辑器执行复杂的任务和项目。它在沙盒化的 Docker 环境中运行,确保安全。Codel 能够自动检测下一步并执行,并根据需要从网络获取最新信息,例如教程和文档。它还内置了文本编辑器,方便用户查看所有修改过的文件。Codel 的所有历史命令和输出都保存在 PostgreSQL 数据库中,方便用户追踪。Codel 可以根据用户任务自动选择 Docker 镜像,并提供现代化的用户界面。用户可以使用预构建的 Docker 镜像或创建 `.env` 文件来运行 Codel,并通过 localhost:3000 访问其界面。Codel 支持多种语言模型,例如 OpenAI 和 Ollama,用户需要设置相应的环境变量才能使用它们。
* [ddzipp/AutoAudit](https://github.com/ddzipp/AutoAudit) 专门针对网络安全领域的大语言模型,其目标是为安全审计和网络防御提供强大的自然语言处理能力。它具备分析恶意代码、检测网络攻击、预测安全漏洞等功能,为安全专业人员提供有力的支持。采用了数据集组织方法Self-Instruct,该方法结合了人工标注和自我生成的数据。数据集主要来自于Github、Kaggle、安全网站、公开的安全漏洞数据集组成,随后经过清洗、数据增强等来构造对话数据。数据集严格按照Alpaca模型数据集格式组织,分为Instruction,input,output三部分,我们规定在output输出中应当包含对具体内容的分析(analysis),安全评级(label),安全风险(risk),以及对应的解决方案(solution)。
* [BoundaryML/baml](https://github.com/BoundaryML/baml) BAML是一种专门用于编写和测试 LLM 函数的领域特定语言,它可以帮助您从大型语言模型 (LLM) 中获取结构化数据,并提供最佳的开发体验。BAML 函数可以与 Python、TypeScript 等语言集成,使您能够更专注于工程,而不是提示工程。BAML在获取结构化数据方面优于所有其他当前方法,即使与 GPT3.5 配合使用也是如此。它还优于针对工具使用进行微调的模型。您可以尝试使用 PromptFiddle.com 的 Playground 来体验 BAML,并与社区成员在 Discord 上交流。BAML 的主要特点包括:支持 Python 和 TypeScript、类型验证、广泛的模型支持、流式处理、实时提示预览、测试支持、弹性和回退功能以及可观察性平台。
* [mangiucugna/json_repair](https://github.com/mangiucugna/json_repair) 用于修复无效 JSON 的 python 模块,通常用于解析LLMs的输出。修复 JSON 中的语法错误:缺少引号、放错位置的逗号、未转义的字符以及不完整的键值对。缺少引号、格式不正确的值(true、false、null)以及修复损坏的键值结构。修复格式错误的 JSON 数组和对象:通过添加必要的元素(例如,逗号、括号)或默认值(null、“”)来修复不完整或损坏的数组/对象。该库可以处理包含额外非 JSON 字符(例如注释或放置不当的字符)的 JSON,并在保持有效结构的同时清理它们。自动完成缺失的 JSON 值:使用合理的默认值(如空字符串或 null)自动补全 JSON 字段中的缺失值,确保有效性。
* [stitionai/devika](https://github.com/stitionai/devika) 一名代理 AI 软件工程师,可以理解高级人类指令,将它们分解为步骤,研究相关信息,并编写代码以实现给定的目标。Devika 旨在成为 Cognition AI 的 Devin 的有竞争力的开源替代品。Devika 利用大型语言模型、规划和推理算法以及 Web 浏览能力来智能开发软件。Devika 旨在通过提供 AI 对程序员来彻底改变我们构建软件的方式,该程序员可以在最少的人工指导下承担复杂的编码任务。无论您是需要创建新功能、修复错误还是从头开始开发整个项目,Devika 都能为您提供帮助。主要特点:通过 Ollama 支持 Claude 3、GPT-4、GPT-3.5 和 LocalLLMs。为获得最佳性能:使用 Claude 3 系列型号。
* [microsoft/data-formulator](https://github.com/microsoft/data-formulator) Data Formulator是微软研究院开发的一款应用,它使用大型语言模型来转换数据,加速数据可视化的过程。Data Formulator 是一款由 AI 驱动的工具,可帮助分析师迭代式地创建丰富的可视化效果。与大多数基于聊天的 AI 工具不同,Data Formulator 结合了用户界面交互 (UI)和自然语言 (NL) 输入,以便更轻松地进行交互。这种混合方法使用户更容易描述图表设计,同时将数据转换委托给 AI。您可以通过 Python PIP 安装 Data Formulator,并在本地运行它,也可以使用 Codespaces 快速启动。此外,您还可以选择在开发模式下本地构建 Data Formulator。
* [deepseek-ai/DeepSeek-Coder-V2](https://github.com/deepseek-ai/DeepSeek-Coder-V2) 开源的专家混合 (MoE) 代码语言模型,在特定代码任务中实现了与 GPT4-Turbo 相当的性能。具体来说,DeepSeek-Coder-V2 从 DeepSeek-V2 的中间检查点进一步预训练,并增加了 6 万亿个令牌。通过这种持续的预训练,DeepSeek-Coder-V2 大大增强了 DeepSeek-V2 的编码和数学推理能力,同时在一般语言任务中保持了相当的性能。与 DeepSeek-Coder-33B 相比,DeepSeek-Coder-V2 在与代码相关的任务的各个方面以及推理和通用功能方面都取得了重大进步。此外,DeepSeek-Coder-V2 将其对编程语言的支持从 86 扩展到 338,同时将上下文长度从 16K 扩展到 128K。
* [StreetLamb/tribe](https://github.com/StreetLamb/tribe) TribeAI 是一款低代码工具,可以快速构建和协调多智能体团队。它利用 langgraph 框架,让用户可以轻松定制和协调智能体团队。通过将复杂任务分配给擅长不同领域的智能体,每个智能体可以专注于其擅长的领域,从而更快、更好地解决问题。Tribe AI的一些应用场景包括:足球分析(例如,一个智能体负责搜集最新的英超联赛新闻,另一个智能体负责分析数据并撰写关于每个球队在新赛季表现的见解报告)、旅行规划(例如,一个智能体负责推荐当地最佳餐厅,另一个智能体负责为你寻找评价最高的酒店)。
* [facebookresearch/codellama](https://github.com/facebookresearch/codellama) 基于 Llama 2 的代码大型语言模型系列,在开放模型中提供最先进的性能、填充功能、对大型输入上下文的支持以及编程任务的零镜头指令跟踪能力。我们提供多种风格来涵盖广泛的应用:基础模型(Code Llama),Python 专业化(Code Llama - Python)和指令遵循模型(Code Llama - Instruct),每个模型都有 7、13 和 34B 参数。所有模型都在16k 个令牌的序列上进行训练,并显示对最多 100k 个令牌的输入的改进。7B 和 13B 代码骆驼和代码骆驼 - 指示变体支持基于周围内容的填充。通过使用更高的代码采样微调 Llama 2 开发的。
* [Nutlope/aicommits](https://github.com/Nutlope/aicommits) AI Commits是一个命令行工具,使用人工智能自动生成 Git 提交信息,无需手动编写。它支持 OpenAI API,需要设置 API 密钥才能使用。用户可以通过命令行直接调用 `aicommits` 生成提交信息,也可以通过 `--generate` 选项生成多个推荐信息,或使用 `--typeconventional` 选项生成符合 Conventional Commits 规范的提交信息。此外,AI Commits 还提供 Git 钩子功能,可以自动生成提交信息并将其传递给 Git,方便用户在 Git 提交过程中使用。用户可以通过 `aicommits config get u003ckeyu003e` 命令获取配置选项。
* [srush/MiniChain](https://github.com/srush/MiniChain) MiniChain是一个轻量级的库,用于使用大型语言模型进行编程。它提供了一种简单易懂的方式来构建和调试基于提示的链式模型,并支持多种后端,包括 OpenAI、Hugging Face、Google Search、Python、Manifest-ML 和 Bash。MiniChain 通过将提示函数与 Python 函数相结合,并使用模板来分离提示和代码,简化了提示链的构建过程。它还提供了可视化的链式模型图,方便用户进行调试和错误处理。MiniChain 的目标是提供一个轻量级、易于理解和使用的库,用于构建和使用基于提示的链式模型。
* [huchenxucs/ChatDB](https://github.com/huchenxucs/ChatDB) 具有内存的大型语言模型 (LLM) 在计算上是通用的。然而,主流LLM并没有充分利用记忆,设计受到生物大脑的严重影响。由于其近似性质和容易累积错误,传统的神经记忆机制无法支持LLM模拟复杂的推理。在本文中,我们从现代计算机体系结构中寻求灵感,以使用符号记忆增强LLM,以进行复杂的多跳推理。这样的符号内存框架被实例化为LLM和一组SQL数据库,其中LLM生成SQL指令来操作SQL数据库。我们在需要复杂推理的合成数据集上验证了所提出的记忆框架的有效性。
* [approximatelabs/lambdaprompt](https://github.com/approximatelabs/lambdaprompt) λprompt是一个用于构建 AI 系统的函数式编程接口,它使用 Jinja模板编写 LLM 提示,并以 Python 函数的形式进行组合和调用。该库将 LLM 提示视为编程意义上的“函数”,并利用解释语言的强大功能来构建完整的基于 LLM 的“提示机”,包括能够自我编辑以纠正甚至自我编写执行代码的提示机。用户可以通过环境变量设置 OpenAI API 密钥,并使用 `pip install lambdaprompt` 安装该库。λprompt 支持同步和异步函数,并提供同步和异步模板化提示接口,方便用户进行提示链式操作。
* [yamadashy/repomix](https://github.com/yamadashy/repomix) Repomix(原名Repopack)是一款强大的工具,可以将您的整个代码仓库打包成一个AI 友好的单一文件,非常适合将您的代码库提供给大型语言模型 (LLM) 或其他 AI 工具,例如 Claude、ChatGPT 和 Gemini。它可以优化代码格式,方便 AI 理解和处理,并提供每个文件和整个仓库的 token 数量,帮助您了解 LLM 的上下文限制。Repomix 使用简单,只需一条命令即可打包整个仓库,并支持自定义配置、自动识别 .gitignore 文件,以及使用 Secretlint 进行安全检查,防止敏感信息泄露。
* [Maplemx/Agently](https://github.com/Maplemx/Agently) Agently是一个 AI 代理应用开发框架,它允许开发者用很少的代码构建 AI代理原生应用。Agently 使用结构化数据和链式调用语法简化了与 AI 代理的代码交互,并通过插件机制增强 AI 代理功能,无需重建整个代理。Agently 提供了丰富的资源,包括入门指南、应用开发手册和插件开发手册,以及各种领域示例代码,例如 SQL 生成、问卷调查和儿童教学等。开发者可以通过 Agently 快速构建 AI 代理应用,并利用其强大的功能和灵活的扩展性,实现各种 AI 应用场景。
* [google-deepmind/mathematics_dataset](https://github.com/google-deepmind/mathematics_dataset) Mathematics Dataset是一个用于测试学习模型数学学习和代数推理能力的数学问题和答案数据集。该数据集包含各种类型的问题,难度约为学校水平,并提供预生成数据,涵盖代数、算术、微积分、比较、测量、数字、多项式和概率等多个领域。用户可以使用pip安装该数据集,并通过`generate`脚本生成示例,也可以使用`generate_to_file.py`将生成的示例写入文本文件。该数据集的原始论文为《分析神经模型的数学推理能力》,作者为Saxton、Grefenstette、Hill和Kohli。
* [bigcode-project/octopack](https://github.com/bigcode-project/octopack) 指令调优代码大型语言模型,数据[bigcode/commitpack](https://huggingface.co/datasets/bigcode/commitpack) 4TB 的 GitHub 提交,涵盖 350 种编程语言,[bigcode/commitpackft](https://huggingface.co/datasets/bigcode/commitpackft) CommitPack 的过滤版本,用于类似于指令的高质量提交消息,在 CommitPackFT + OASST 上调整的 StarCoder-16B 模型,在 CommitPackFT + OASST 上优化的 CodeGeeX2-6B 指令。[bigcode/humanevalpack](https://huggingface.co/datasets/bigcode/humanevalpack) 扩展 OpenAI 的 HumanEval 以涵盖 6 种语言的 3 个场景
* [tablegpt/tablegpt-agent](https://github.com/tablegpt/tablegpt-agent) TableGPTAgent是一个为TableGPT2(一系列用于表格问答的LLM)预先构建的代理,基于Langgraph库,提供与TableGPT2交互的友好界面。该项目支持异步调用,并提供快速入门指南,用户可通过示例代码与TableGPT模型进行交互,并利用该代理分析和处理表格数据,例如读取数据集(如CSV文件),进行分析,并生成代码来回答与表格相关的问题。该项目依赖于pybox,默认情况下,pybox在集群模式下运行,用户可选择安装可选依赖项以在本地环境中运行该代理。
* [Integuru-AI/Integuru](https://github.com/Integuru-AI/Integuru) Integuru是一个AI代理,通过逆向工程平台的内部API生成集成代码。它可以分析浏览器网络请求,识别关键信息,并生成可运行的Python代码,实现自动化操作。例如,用户可以通过Integuru下载账单,只需提供浏览器网络请求文件和描述操作的提示即可。Integuru会识别关键请求,构建依赖关系图,并生成代码,完成下载任务。该项目支持用户自定义输入变量,并提供多种模型选择,如gpt-4o和o1-preview。用户可以通过命令行或Jupyter Notebook使用Integuru。
* [cline/cline](https://github.com/cline/cline) Cline是一个集成在 IDE 中的 AI 编码助手,可以根据你的指令创建、编辑文件、执行命令、使用浏览器等。它利用 Claude 3.5Sonnet 的代码生成能力,能够逐步完成复杂的任务。Cline 通过分析文件结构、代码 AST 和相关文件,了解项目信息,并提供安全可靠的帮助。它可以创建和编辑文件、执行终端命令、在无头浏览器中执行网页操作,并提供可视化结果。Cline支持 OpenRouter、Anthropic、OpenAI、Google Gemini 等 API 提供商,以及本地模型。
* [LingmaTongyi/Lingma-SWE-GPT](https://github.com/LingmaTongyi/Lingma-SWE-GPT) Lingma SWE-GPT是一个开源大型语言模型,专门用于软件改进,基于Qwen系列模型并使用软件工程开发过程数据进行额外训练,以增强其解决复杂软件工程任务的能力。它采用三阶段软件工程过程数据合成和推理工作流程(SWESynInfer),在SWE-benchVerified排行榜上取得了显著成果,例如72B版本在解决方案率上达到30.20%,故障定位成功率达51.16%,并优于同等规模的其他开源模型。项目提供7B和72B两种模型,并附带详细的安装和部署指南。
* [codefuse-ai/codefuse-devops-eval](https://github.com/codefuse-ai/codefuse-devops-eval) DevOps-Eval是专为DevOps领域的基础模型设计的综合评估套件。我们希望DevOps-Eval可以帮助开发者,特别是DevOps领域的开发者,跟踪进度并分析他们模型的重要优点/缺点。目前有 7486 道多项选择题,涵盖 8 个不同的一般类别,如下所示。AIOps 子类别共有 2840 个样本,涵盖日志解析、时间序列异常检测、时间序列分类、时间序列预测和根本原因分析等场景。ToolLearning 子类别中共有 1509 个样本,涵盖 59 个领域的 239 个工具场景。
* [langroid/langroid](https://github.com/langroid/langroid) Langroid 是一个直观、轻量级、可扩展且有原则的 Python 框架,可轻松构建LLM由前 CMU 和威斯康星大学麦迪逊分校研究人员提供的应用程序。您可以设置代理,为它们配备可选组件(LLM矢量存储和工具/函数),为它们分配任务,并让它们通过交换消息来协作解决问题。这种多智能体范式的灵感来自Actor框架。Langroid是对LLM应用程序开发的一种新尝试,在简化开发人员体验方面进行了相当多的思考;它不使用 Langchain。
* [Codium-ai/pr-agent](https://github.com/Codium-ai/pr-agent) CodiumAI PR-Agent 是一款基于 AI 的工具,可自动分析、反馈、建议和处理代码拉取请求。它可以帮助开发者更高效地进行代码审查,并提供智能化的建议和反馈,例如代码风格改进、潜在问题提示、文档建议等。PR-Agent 支持多种平台,包括 GitHub、GitLab 和Bitbucket,并提供多种使用方式,例如命令行、PR 评论、自动触发等。此外,PR-Agent 还提供 Pro 版本,拥有更强大的功能,例如自定义模型训练、高级分析等。
* [entropy-research/Devon](https://github.com/entropy-research/Devon) Devon是一个开源的结对编程工具,它可以帮助你更快地完成项目。Devon使用社区驱动的开发团队,你可以加入Discord社区参与开发。Devon需要Node.js、npm和pipx,以及Anthropic或OpenAI的API密钥。安装命令简单易懂,只需使用pipx和npm安装即可。Devon提供图形界面和终端界面,你可以在项目文件夹中运行它,它可以访问该文件夹中的文件和文件夹。Devon还支持Groq API密钥,你可以在终端界面中设置环境变量来使用它。
* [THUDM/CodeGeeX4](https://github.com/THUDM/CodeGeeX4) CodeGeeX4-ALL-9B 是一个开源的多语言代码生成模型,基于 GLM-4-9B 训练,支持代码补全、代码解释、网页搜索、函数调用、代码库级问答等多种功能。该模型在 BigCodeBench 和 NaturalCodeBench 等公开基准测试中取得了优异的成绩,是参数量小于 100 亿的代码生成模型中性能最强的,在推理速度和模型性能之间取得了最佳平衡。用户可以通过 Ollama、Huggingface transformers 等方式使用 CodeGeeX4-ALL-9B 模型。
* [plandex-ai/plandex](https://github.com/plandex-ai/plandex) 在您的终端中进行 AI 驱动的开发。专为大型实际任务而设计。处理你的积压工作,使用不熟悉的技术,摆脱困境,减少在无聊的事情上花费的时间。Plandex 是您终端中可靠且对开发人员友好的 AI 编码代理。它可以计划和完成跨越许多文件和步骤的大型任务。Plandex 专为实际用例而设计,可以帮助您快速构建新应用程序、向现有代码库添加新功能、编写测试和脚本、理解代码并修复错误。
* [twinnydotdev/twinny](https://github.com/twinnydotdev/twinny) Twinny是一个免费且私密的 Visual Studio Code AI 代码补全插件,类似于 GitHub Copilot,但完全免费且 100% 私有。它支持多种 AI 模型,包括 Ollama、llama.cpp、oobabooga、LM Studio 和 LiteLLM,并提供在线和离线模式。主要功能包括:实时代码补全、代码聊天、工作区嵌入和 Symmetry 网络支持。工作区嵌入功能使用代码库上下文提供更准确的 AI 响应,而 Symmetry 网络则允许用户共享计算资源以进行 AI 推理。
* [ErikBjare/gptme](https://github.com/ErikBjare/gptme) 您的终端中的代理配备了本地工具:编写代码、使用终端、浏览网页、视觉。终端中的个人人工智能助手,带有工具,因此它可以:使用终端、运行代码、编辑文件、浏览网页、使用视觉等等;通过简单但功能强大的 CLI 协助各种知识工作,尤其是编程。ChatGPT 的“代码解释器”的不受约束的本地替代方案。不受缺乏软件、互联网接入、超时或隐私问题(如果使用本地模型)的限制。
* [eosphoros-ai/DB-GPT](https://github.com/eosphoros-ai/DB-GPT) 使用 AWEL(代理工作流表达语言)和代理的 AI 本机数据应用程序开发框架。DB-GPT 是一个开源 AI 原生数据应用程序开发框架,带有 AWEL(代理工作流表达式语言)和代理。目的是构建大模型领域的基础设施,通过发展多模型管理(SMMF)、Text2SQL效果优化、RAG框架及优化、Multi-Agents框架协作、AWEL(代理工作流编排)等多项技术能力)等,使得数据的大型模型应用更加简单方便。
* [griptape-ai/griptape](https://github.com/griptape-ai/griptape) Griptape是一个模块化的Python框架,用于构建AI驱动的应用程序,它可以安全地连接到企业数据和API。它允许开发者在每个步骤都保持控制和灵活性,并提供链式思维推理、工具和内存等功能。Griptape的核心组件包括:结构(代理、管道、工作流)、任务、工具、内存、驱动程序和引擎。它还提供了一系列内置工具,并支持自定义工具的创建。
* [OpenDevin/OpenDevin](https://github.com/OpenDevin/OpenDevin) 自主的 AI 软件工程师,能够执行复杂的工程任务并与用户在软件开发项目上积极协作。希望通过开源社区的力量复制、增强和创新 Devin。利用了 shell、代码编辑器和 Web 浏览器等工具的组合,展示了软件开发LLMs中未开发的潜力。目标是探索和扩展 Devin 能力,确定其优势和需要改进的领域,以指导开放代码模型的进展。
* [aixcoder-plugin/aiXcoder-7B](https://github.com/aixcoder-plugin/aiXcoder-7B) 在 1.2T Unique Token 上进行了广泛的训练,模型的预训练任务以及上下文信息都针对真实世界的代码生成上下文进行了独特设计。aiXcoder 7B Base 在所有参数大小相似的模型中脱颖而出,成为代码完成场景中最有效的模型,并且在多语言 nl2code 基准测试中的平均性能也超过了 codellama 34B 和 StarCoder2 15B 等主流模型。
* [TheR1D/shell_gpt](https://github.com/TheR1D/shell_gpt) 由 GPT-3 和 GPT-4 提供支持的命令行生产力工具将帮助您更快、更高效地完成任务。作为开发人员,我们可以利用 AI 功能来生成 shell 命令、代码片段、注释和文档等。忘记备忘单和笔记,使用此工具,您可以在终端中获得准确的答案,您可能会发现自己减少了日常Google搜索,从而节省了宝贵的时间和精力。
* [e2b-dev/ai-artifacts](https://github.com/e2b-dev/ai-artifacts) 这是一个开源的 Next.js 模板,用于构建完全由 AI 生成的应用程序。它基于 E2B SDK,支持多种 AI 模型和编程语言,例如 Python、Next.js、Vue.js、Streamlit 和 Gradio。用户可以通过 E2B SDK 安全地执行 AI 生成的代码,并使用流式UI 进行交互。该项目还支持自定义 AI 模型和编程语言,方便用户根据自身需求进行扩展。
* [QwenLM/CodeQwen1.5](https://github.com/QwenLM/CodeQwen1.5) Qwen 的代码版本,是 Qwen 团队开发的大型语言模型系列,阿里云。基于 Transformer 的纯解码器语言模型,在大量代码数据上进行了预训练。强大的代码生成能力和在一系列基准测试中的竞争性能;支持长上下文理解和生成,上下文长度为 64K 令牌;支持92种编码语言;在文本转SQL、bug修复等方面具有出色的性能。
* [pontusab/cursor.directory](https://github.com/pontusab/cursor.directory) Cursor.directory 是一个提供框架和语言最佳实践规则的项目,旨在帮助开发者使用 AI 助手更有效地进行编码。用户可以为不同的框架和语言提交新的规则或提示,并通过 `.cursorrules` 文件将这些规则应用到自己的项目中。项目提供详细的贡献指南,包括如何添加新的规则、提示以及如何使用规则文件。
* [microsoft/Table-Pretraining](https://github.com/microsoft/Table-Pretraining) TAPEX是一个基于神经 SQL 执行器的表格预训练模型,在 ICLR 2022 上发表。它通过学习执行 SQL 查询来预训练模型,在多个表格理解任务上取得了最先进的性能,包括语义解析、表格事实验证等。该项目提供了预训练模型和代码,并支持 Hugging Face Transformers 库,用户可以方便地使用和微调模型。
* [shobrook/adrenaline](https://github.com/shobrook/adrenaline) 即时回答任何编程问题,所有技术方面的 AI 专家。我们的目标是回答任何技术问题。目前,这包括以下问题:一般编程概念,GitHub 存储库,文档网站,代码片段。Adrenaline还可以搜索互联网并从相关来源中找到答案,采用多步推理来回答更复杂的问题,甚至生成图表来帮助解释事情。
* [QiushiSun/NCISurvey](https://github.com/QiushiSun/NCISurvey) 该项目是论文 "A Survey of Neural Code Intelligence: Paradigms, Advances and Beyond" 的资源库,提供关于神经代码智能的最新研究综述,包含时间线、论文集和教程等内容,并持续更新。该项目还提供多个阅读列表,例如代码语言模型、评估和基准、代码修复等,并欢迎用户提交相关论文。
* [WisdomShell/codeshell](https://github.com/WisdomShell/codeshell) PKU-KCL开发的一系列代码大型语言模型。北京大学知识计算实验室联合四川天府银行AI团队研发的多语言代码大模型基座。CodeShell具有70亿参数,在五千亿Tokens进行了训练,上下文窗口长度为8192。在权威的代码评估Benchmark(HumanEval与MBPP)上,CodeShell取得同等规模最好的性能。
* [Chenny0808/ape210k](https://github.com/Chenny0808/ape210k) Ape210K是一个包含210,488个数学文字问题和56,532个模板的大规模数据集,并提供了一个基于OpenNMT-py的特征增强和复制增强的序列到序列模型,该模型在该数据集上取得了70%的准确率。该数据集分为训练集、验证集和测试集,并提供示例展示了数学文字问题的结构和解题过程。
* [eth-sri/lmql](https://github.com/eth-sri/lmql) 一种用于类型化、约束引导和高效 LLM 编程的语言。一种基于Python超集的大型语言模型(LLM)的编程语言。LMQL 提供了一种将传统编程与在代码中调用 LLM 的能力交织在一起的新方法。它超越了传统的模板语言,在程序代码级别原生集成LLM交互。
* [ise-uiuc/magicoder](https://github.com/ise-uiuc/magicoder) 由 OSS-Intit 提供支持的模型系列,这是一种新颖的方法LLMs,通过开源代码片段为代码生成低偏差和高质量的指令数据。OSS-Instruct 通过赋予LLM它们丰富的开源引用来产生更多样化、更真实和可控的数据,从而减轻了合成指令数据的固有偏见。
* [microsoft/semantic-kernel](https://github.com/microsoft/semantic-kernel) 快速轻松地将尖端的LLM技术集成到您的应用程序中。将OpenAI,Azure OpenAI和Hugging Face等大型语言模型(LLM)与C#,Python和Java等传统编程语言集成在一起。语义内核通过允许您定义可以在几行代码中链接在一起的插件来实现这一点。
* [wandb/openui](https://github.com/wandb/openui) OpenUI 允许你用想象描述界面,然后实时查看渲染效果。它使构建 UI 组件变得有趣、快速且灵活,我们正在 W&B 使用它来测试和原型设计基于大语言模型的新一代工具。支持 OpenAI、Groq 等模型,可通过环境变量配置 API 密钥。
* [paul-gauthier/aider](https://github.com/paul-gauthier/aider) 命令行工具,可让您将程序与 GPT-3.5/GPT-4 配对,以编辑存储在本地 git 存储库中的代码。可以启动新项目或使用现有存储库。您可以在帮助者聊天(要求 GPT 编辑代码)和您自己的编辑器自己进行更改之间流畅地来回切换。
* [google-deepmind/code_contests](https://github.com/google-deepmind/code_contests) CodeContests 是一个用于机器学习的竞争性编程数据集。该数据集在训练AlphaCode时使用。 AlphaCode 已发表在Science上,并在arXiv上预印本。问题包括成对输入和输出形式的测试用例,以及各种语言的正确和错误的人类解决方案。
* [gofireflyio/aiac](https://github.com/gofireflyio/aiac) 命令行工具,用于通过 OpenAI 的 API 生成 IaC(基础设施即代码)模板、配置、实用程序、查询等。CLI 允许您要求模型为不同的场景生成模板。它将发出请求,并将结果代码存储到文件中,或者只是将其打印到标准输出。
* [THUDM/CodeGeeX2](https://github.com/THUDM/CodeGeeX2) 更强大的多语言代码生成模型。基于 ChatGLM2 架构加入代码预训练实现,得益于 ChatGLM2 的更优性能,CodeGeeX2 在多项指标上取得性能提升(+107% > CodeGeeX;仅60亿参数即超过150亿参数的 StarCoder-15B 近10%)
* [getcursor/cursor](https://github.com/getcursor/cursor) 基于 VSCode 🤖 的 AI 代码编辑器。聊天:与了解整个代码库的机器人交谈。编辑:要求 AI 更改代码块,查看编辑的内联差异。调试:将鼠标悬停在 linter 错误或堆栈跟踪上以自动修复它们。
* [shroominic/codeinterpreter-api](https://github.com/shroominic/codeinterpreter-api) ChatGPT 代码解释器的 LangChain 实现。使用 CodeBox 作为沙盒 python 代码执行的后端。CodeBox是LLM应用程序的最简单的云基础架构。您可以使用自己的OpenAI API密钥在本地运行除LLM之外的所有内容。
* [unit-mesh/build-your-ai-coding-assistant](https://github.com/unit-mesh/build-your-ai-coding-assistant) 《构建你自己的 AI 辅助编码助手》 —— 介绍如何 DIY 一个端到端(从 IDE 插件、模型选型、数据集构建到模型微调)的 AI 辅助编程工具,类似于 GitHub Copilot、JetBrains AI Assistant、AutoDev 等。
* [chat2db/Chat2DB](https://github.com/chat2db/Chat2DB) 一个智能且通用的通用SQL客户端和数据库报告工具,集成了ChatGPT功能。能够将自然语言转换为SQL。还可以将SQL转换为自然语言,并为SQL提供优化建议,从而大大提高开发人员的效率。
* [leetcode-mafia/cheetah](https://github.com/leetcode-mafia/cheetah) Mac 应用程序,用于粉碎 AI 的远程技术面试。由 AI 驱动的 macOS 应用程序,旨在通过提供实时、谨慎的指导和实时编码平台集成,在远程软件工程面试期间为用户提供帮助。
* [jackmpcollins/magentic](https://github.com/jackmpcollins/magentic) 轻松地将大型语言模型集成到 Python 代码中。只需使用 `@prompt` 装饰器创建函数,即可从 LLM.将查询和函数调用与常规 Python 代码混合LLM使用,以创建复杂的逻辑。
* [DataExpert-io/llm-driven-data-engineering](https://github.com/DataExpert-io/llm-driven-data-engineering) 这是一个公共存储库,用于回顾所有LLM驱动的数据工程概念。我们将使用维度数据建模第 1 周的模式,并根据作业和实验生成查询,但这次我们将通过LLMs来完成。
* [OpenCodeInterpreter/OpenCodeInterpreter](https://github.com/OpenCodeInterpreter/OpenCodeInterpreter) 开源代码生成系统,旨在弥合大型语言模型和 GPT-4 Code Interpreter 等复杂专有系统之间的差距。它通过集成执行和迭代优化功能,显著增强了代码生成功能。
* [bigcode-project/starcoder](https://github.com/bigcode-project/starcoder) 一种在源代码和自然语言文本上训练的语言模型 (LM)。它的训练数据包含了 80 多种不同的编程语言,以及从 GitHub 问题和提交以及笔记本中提取的文本。
* [fauxpilot/fauxpilot](https://github.com/fauxpilot/fauxpilot) GitHub Copilot服务器的开源替代品。构建GitHub Copilot的本地托管替代方案的尝试。它在NVIDIA的Triton Inference Server中使用SalesForce CodeGen模型和FasterTransformer后端。
* [KillianLucas/open-interpreter](https://github.com/KillianLucas/open-interpreter) 终端中的 OpenAI 代码解释器,在本地运行。允许LLM在本地运行代码(Python,Javascript,Shell等)。您可以通过终端中类似 ChatGPT 的界面与开放解释器聊天。
* [zurawiki/gptcommit](https://github.com/zurawiki/gptcommit) 一个 git prepare-commit-msg 钩子,用于使用 GPT-3 创作提交消息。使用此工具,您可以轻松生成清晰、全面和描述性的提交消息,让您专注于编写代码。
* [e2b-dev/e2b](https://github.com/e2b-dev/e2b) 允许您创建和部署虚拟软件开发人员。这些虚拟开发人员由专门的 AI 代理提供支持,这些代理可以根据您的指令构建软件并可以使用工具。
* [sqlchat/sqlchat](https://github.com/sqlchat/sqlchat) 基于聊天的 SQL 客户端和编辑器。基于聊天的 SQL 客户端,它使用自然语言与数据库通信,实现数据库的查询、修改、添加、删除等操作。
* [kuafuai/DevOpsGPT](https://github.com/kuafuai/DevOpsGPT) 用于 AI 驱动软件开发的多智能体系统。将LLM与DevOps工具相结合,将自然语言需求转换为工作软件。支持任何开发语言并扩展现有代码。
* [SqueezeAILab/LLMCompiler](https://github.com/SqueezeAILab/LLMCompiler) 通过自动识别哪些任务可以并行执行,哪些任务是相互依赖的,从而实现并LLMs行函数调用的高效和有效的编排,包括开源和闭源模型。
* [princeton-nlp/SWE-agent](https://github.com/princeton-nlp/SWE-agent) SWE-agent 处理 GitHub 问题并尝试使用 GPT-4 或您选择的 LM 自动修复它。它解决了 SWE-bench 评估集中 12.47% 的错误,运行时间仅为 1 分钟。
* [bin123apple/autocoder](https://github.com/bin123apple/autocoder) 我们引入了一个专为代码生成任务设计的新模型。它在 HumanEval 基础数据集上的测试准确性超过了 GPT-4 Turbo(2024 年 4 月)和 GPT-4o。
* [joshpxyne/gpt-migrate](https://github.com/joshpxyne/gpt-migrate) 轻松地将代码库从一种框架或语言迁移到另一种。由于 GPT-Migrate 旨在编写(并可能重写)整个代码库,因此成本可能会迅速增加。
* [codefuse-ai/MFTCoder](https://github.com/codefuse-ai/MFTCoder) CodeFuse 的一个开源项目,用于多任务处理 Code-LLM(代码任务的大型语言模型),其中包括模型、数据集、训练代码库和推理指南。
* [Ironclad/rivet](https://github.com/Ironclad/rivet) 开源可视化 AI 编程环境和 TypeScript 库。Rivet,用于创建复杂的 AI 代理和提示链接的 IDE,并将其嵌入到您的应用程序中。
* [smallcloudai/refact](https://github.com/smallcloudai/refact) 该存储库包含 Refact WebUI,用于代码模型的微调和自托管,您稍后可以在 Refact 插件内部使用它来完成代码完成和聊天。
* [gersteinlab/ML-bench](https://github.com/gersteinlab/ML-bench) ML-Bench 的官方存储库:在存储库级代码上评估用于机器学习任务的大型语言模型和代理 (https://arxiv.org/abs/2311.09835)
* [AntonOsika/gpt-engineer](https://github.com/AntonOsika/gpt-engineer) GPT 工程师易于调整、扩展,它根据提示生成整个代码库。指定您希望它构建的内容,AI 要求澄清,然后构建它。
* [gencay/vscode-chatgpt](https://github.com/gencay/vscode-chatgpt) 一个非官方的Visual Studio Code - OpenAI ChatGPT集成,在编程集成环境中使用GPT-4、3.5、3 或 Codex 模型加速编程开发。
* [CodedotAl/gpt-code-clippy](https://github.com/CodedotAl/gpt-code-clippy) GitHub Copilot的开源版本,这是一种基于GPT-3的语言模型,称为GPT-Codex,根据GitHub公开可用的代码进行微调。
* [THUDM/CodeGeeX](https://github.com/THUDM/CodeGeeX) 一个具有130亿个参数的大型多语言代码生成模型,在20多种语言的大型代码语料库上进行了预训练。
* [HC-Guo/Owl](https://github.com/HC-Guo/Owl) 大型语言模型,专为 AIOps 字段设计,用于处理与 IT 运营相关的任务(故障诊断、日志分析等)
* [smol-ai/developer](https://github.com/smol-ai/developer) 随着Anthropic Claude的100k 上下文窗口的出现,现在每个开发人员都可以拥有自己的辅助开发助手
* [sahil280114/codealpaca](https://github.com/sahil280114/codealpaca) 在代码生成指令上训练的 Instruction-following LLaMA Model。包括用于微调模型的 20K 数据。
* [whoiskatrin/sql-translator](https://github.com/whoiskatrin/sql-translator) 使用人工智能将自然语言查询转换为 SQL 代码的工具。这个项目是100%免费和开源的。
* [intitni/CopilotForXcode](https://github.com/intitni/CopilotForXcode) 一个 Xcode 源代码编辑器扩展,为 Xcode 提供 GitHub Copilot、Codeium 和 ChatGPT 支持。
* [salesforce/CodeGen](https://github.com/salesforce/CodeGen) 一系列用于程序合成的开源模型。接受过 TPU-v4 训练。与 OpenAI Codex 竞争。
* [continuedev/continue](https://github.com/continuedev/continue) 软件开发的开源自动驾驶仪——将 ChatGPT 的强大功能引入 VS Code
* [ricklamers/gpt-code-ui](https://github.com/ricklamers/gpt-code-ui) OpenAI的ChatGPT代码解释器(生成代码、运行代码)的开源实现。
* [TabbyML/tabby](https://github.com/TabbyML/tabby) 自托管的AI编码助手,提供GitHub Copilot的开源和本地替代方案。
* [OpenBMB/ChatDev](https://github.com/OpenBMB/ChatDev) 使用自然语言创意创建定制软件(通过LLM驱动的多代理协作)
* [RUCAIBox/JiuZhang3.0](https://github.com/RUCAIBox/JiuZhang3.0) JiuZhang3.0:通过训练小数据综合模型有效提高数学推理能力
* [oceanlvr/ChatGPT-ProBot](https://github.com/oceanlvr/ChatGPT-ProBot) 基于 ChatGPT 的 GitHub APP,键入 /chatgpt 与机器人 robot 聊天。
* [OFA-Sys/gsm8k-ScRel](https://github.com/OFA-Sys/gsm8k-ScRel) 基于大型语言模型学习数学推理的扩展关系的代码和数据
* [openai/human-eval](https://github.com/openai/human-eval) openai在2021年提出的,评估大型语言模型在代码上的表现
* [codefuse-ai/Awesome-Code-LLM](https://github.com/codefuse-ai/Awesome-Code-LLM) 针对代码和相关数据集的语言建模研究的精选列表。
* [SkalskiP/awesome-chatgpt-code-interpreter-experiments](https://github.com/skalskip/awesome-chatgpt-code-interpreter-experiments) 你可以用 ChatGPT + Code Interpreter 组合做的很棒的事情
* [sweepai/sweep](https://github.com/sweepai/sweep) AI 驱动的初级开发人员,用于小功能和错误修复。
* [Pythagora-io/gpt-pilot](https://github.com/Pythagora-io/gpt-pilot) 使用GPT 帮助开发人员将构建应用的速度提高 20 倍
* [albertan017/LLM4Decompile](https://github.com/albertan017/LLM4Decompile) 逆向工程:使用大型语言模型反编译二进制代码
* [salesforce/CodeT5](https://github.com/salesforce/CodeT5) CodeT5的主页:用于代码理解和生成的开放代码LLM
* [di-sukharev/opencommit](https://github.com/di-sukharev/opencommit) 1秒内用AI自动生成令人印象深刻的git commit提交
* [pleisto/flappy](https://github.com/pleisto/flappy) 适用于每个开发人员的生产就绪型 LLM 代理 SDK
* [ingyamilmolinar/doctorgpt](https://github.com/ingyamilmolinar/doctorgpt) 将 GPT 投入生产,用于应用程序日志错误诊断
* [NJUDeepEngine/CAEF](https://github.com/NJUDeepEngine/CAEF) 执行算术:将大型语言模型微调为图灵机。
* [mckaywrigley/ai-code-translator](https://github.com/mckaywrigley/ai-code-translator) 使用 AI 将代码从一种语言翻译成另一种。
* [huybery/Awesome-Code-LLM](https://github.com/huybery/Awesome-Code-LLM) 精心策划的最佳代码列表 -LLM 用于研究。
* [NoDataFound/hackGPT](https://github.com/NoDataFound/hackGPT) 我利用 OpenAI 和 ChatGPT 来做黑客的事情
* [anc95/ChatGPT-CodeReview](https://github.com/anc95/ChatGPT-CodeReview) 由 ChatGPT 提供支持的代码审查机器人
* [shobrook/stackexplain](https://github.com/shobrook/stackexplain) 用 ChatGPT 解释您编程中的错误消息
* [RomanHotsiy/commitgpt](https://github.com/RomanHotsiy/commitgpt) 使用 ChatGPT 自动生成git提交消息
* [mpociot/chatgpt-vscode](https://github.com/mpociot/chatgpt-vscode) 允许您使用 ChatGPT 的 VSCode 扩展
* [kxxt/chatgpt-action](https://github.com/kxxt/chatgpt-action) 让 ChatGPT 为您审查 PR 拉取请求
* [liutiedong/goat](https://github.com/liutiedong/goat) 擅长算术任务的微调 LLaMA
* [trotsky1997/MathBlackBox](https://github.com/trotsky1997/MathBlackBox) MCTSr: LLM的数学黑盒
## BERT优化
* [alexa/bort](https://github.com/alexa/bort) 论文 Optimal Subarchitecture Extraction for BERT. “ BERT的最佳子体系结构提取”的代码。Bort是用于BERT架构的最佳子集,它是通过对神经架构搜索应用完全多项式时间近似方案(FPTAS)提取的。 Bort的有效(即不计算嵌入层)大小是原始BERT大型体系结构的5.5%,是净大小的16%。它在CPU上也比基于BERT的速度快7.9倍,并且比体系结构的其他压缩变体和某些非压缩变体性能更好。与多个公共自然语言理解(NLU)基准上的BERT-large相比,它的平均性能提高了0.3%至31%。
* [ymcui/MacBERT](https://github.com/ymcui/MacBERT) MacBERT是一种改进的BERT,具有新颖的M LM校正预训练任务,它减轻了预训练和微调的差异。我们建议使用类似的词来进行掩蔽,而不是使用在微调阶段从未出现过的 [MASK] 令牌进行掩蔽。通过使用基于 word2vec (Mikolov et al., 2013) 相似度计算的Synonyms 工具包 (Wang and Hu, 2017)获得相似词。如果选择 N-gram 进行掩码,我们将单独找到相似的单词。在极少数情况下,当没有相似词时,我们会降级为使用随机词替换。
* [pbelcak/UltraFastBERT](https://github.com/pbelcak/UltraFastBERT) UltraFastBERT是一个基于crammedBERT的语言模型,旨在通过引入快速前馈网络(FFF)来显著提升语言模型的速度。该项目包含用于训练、基准测试和推理的代码,并提供了在Hugging Face上预训练的UltraFastBERT-1x11-long模型。用户可以通过提供的代码和模型快速上手,并根据需要进行训练和微调。项目还提供了CPU和GPU上的基准测试代码,方便用户评估UltraFastBERT的性能。
* [Sleepychord/CogLTX](https://github.com/Sleepychord/CogLTX) 可将当前类似BERT的预训练语言模型应用于长文本。使用动态规划算法将长文本划分为文本块集合;使用MemRecall对原长句中的子句进行打分:从而选择出分数最高的子句组成 再进行训练,这样一来的话,COGLTX相当于使用了了两个bert,MemRecall中bert就是负责打分,另一个bert执行原本的NLP任务。
* [bojone/bert-of-theseus](https://github.com/bojone/bert-of-theseus) BERT 模型压缩方法 ,theseus(忒修斯之船 如果忒修斯的船上的木头被 逐渐替换,直到所有的木头都不是原来的木头,那这艘船还是原来的那艘船吗?),将原始大模型切分为多个大模块,固定大模型权重,训练时随机替换为小模块,充分训练后,将小模型继续微调。
* [codertimo/BERT-pytorch](https://github.com/codertimo/BERT-pytorch) 谷歌AI 2018 BERT pytorch实现。Google AI的BERT论文显示了各种NLP任务(新的17个NLP任务SOTA)的惊人结果,包括在SQuAD v1.1 QA任务上优于人类F1分数。本文证明了基于Transformer(自注意力)的编码器可以作为先前语言模型的替代方法,并采用适当的语言模型训练方法。
* [wtma/CharBERT](https://github.com/wtma/CharBERT) 字符敏感的预训练语言模型 通过结合字符级别和词级别的信息实现了更为全面的输入编码,同时,结合 RNN 和 CNN 的优势,基本上 CNN,RNN,Transformer 都使用上了,体现了新老研究成果的结合在一定程度上能进一步提升方法的性能。
* [yitu-opensource/ConvBert](https://github.com/yitu-opensource/ConvBert) ConvBERT,通过全新的注意力模块,仅用 1/10 的训练时间和 1/6 的参数就获得了跟 BERT 模型一样的精度。依图研发团队从模型结构本身的冗余出发,提出了一种基于跨度的动态卷积操作,并基于此提出了 ConvBERT 模型。
* [huawei-noah/Pretrained-Language-Model](https://github.com/huawei-noah/Pretrained-Language-Model) 华为诺亚方舟实验室开发的预训练语言模型及其相关优化技术NEZHA是一种经过预训练的中文语言模型,可以在多项中文NLP任务上实现最先进的性能TinyBERT是一种压缩的BERT模型,推理时可缩小7.5倍,加快9.4倍
* [Sleepychord/CogLTX](https://github.com/Sleepychord/CogLTX) 将BERT应用于长文本CogLTX遵循一种特别简单直观的范式,即抽取关键的句子=>通过BERT得到答案的两步流程。
* [Lisennlp/TinyBert](https://github.com/Lisennlp/TinyBert) 基于华为的TinyBert进行修改的,简化了数据读取的过程,方便我们利用自己的数据进行读取操作。
* [google-research/bert](https://github.com/google-research/bert) Bidirectional Encoder Representations from Transformers 来自Transformers的双向编码器表示法
* [brightmart/albert_zh](https://github.com/brightmart/albert_zh) 使用TensorFlow 进行自我监督学习语言表示的Lite Bert的实现预训练的汉语模型
* [epfml/collaborative-attention](https://github.com/epfml/collaborative-attention) 整合多头注意力,任何经过预训练的注意力层重新配置为协作注意力层。
* [bojone/BERT-whitening](https://github.com/bojone/BERT-whitening) 简单的线性变换(白化)操作,就可以达到BERT-flow的效果。
* [bojone/bert4keras](https://github.com/bojone/bert4keras) 更清晰、更轻量级的keras版bert,提供丰富的应用例子。
* [ShannonAI/service-streamer](https://github.com/ShannonAI/service-streamer) 服务流媒体BERT服务,每秒处理1400个句子的BERT服务.
* [autoliuweijie/FastBERT](https://github.com/autoliuweijie/FastBERT) 具有自适应推断时间的自蒸馏BERT pip install fastbert
* [ZhuiyiTechnology/WoBERT](https://github.com/ZhuiyiTechnology/WoBERT) 以词为基本单位的中文BERT(Word-based BERT)
* [valuesimplex/FinBERT](https://github.com/valuesimplex/FinBERT) 基于 BERT 架构的金融领域预训练语言模型
* [google-research/ALBERT](https://github.com/google-research/ALBERT) 用于语言表达自我监督学习的Lite BERT
* [thunlp/ERNIE](https://github.com/thunlp/ERNIE) 用知识图谱增强 BERT 的预训练效果
## NLP语料和数据集
* [nyu-mll/glue](https://huggingface.co/datasets/nyu-mll/glue) GLUE,通用语言理解评估基准 (https://gluebenchmark.com/) 是用于训练、评估和分析自然语言理解系统的资源集合。GLUE 基准测试的排行榜可以在这个地址找到。它包括以下任务:ax:一个手动策划的评估数据集,用于对各种语言现象的系统性能进行细粒度分析。该数据集通过自然语言推理 (NLI) 问题评估句子理解。使用在 MulitNLI 上训练的模型来生成此数据集的预测。cola:语言可接受性语料库由来自语言学理论书籍和期刊文章的英语可接受性判断组成。每个示例都是一个单词序列,注释它是否是语法英语句子。mnli:多体裁自然语言推理语料库是一个带有文本蕴涵注释的句子对的众包集合。给定一个前提句和一个假设句,任务是预测前提是否包含假设(蕴涵),是否与假设相矛盾(矛盾),或者两者都不是(中性)。前提句子是从十个不同的来源收集的,包括转录的演讲、小说和政府报告。基准测试的作者使用标准测试集,他们从RTE作者那里获得了自有标签,并在匹配(域内)和不匹配(跨域)部分进行评估。他们还使用并推荐 SNLI 语料库作为辅助训练数据的 550k 示例。mnli_matched:匹配的验证和测试从 MNLI 拆分。mnli_mismatched:不匹配的验证和测试从 MNLI 拆分。mrpc:Microsoft研究释义语料库(Dolan&Brockett,2005)是一个从在线新闻来源自动提取的句子对语料库,并带有人工注释,用于确定该对中的句子在语义上是否等价。qnli:斯坦福问答数据集是一个由问题-段落对组成的问答数据集,其中段落中的一个句子(来自维基百科)包含相应问题的答案(由注释者编写)。基准测试的作者通过在相应上下文中的每个问题和每个句子之间形成一对,并过滤掉问题和上下文句子之间词汇重叠程度低的对,将任务转换为句对分类。任务是确定上下文句子是否包含问题的答案。原始任务的修改版本删除了模型选择确切答案的要求,但也删除了简化的假设,即答案始终存在于输入中,并且词汇重叠是可靠的提示。qqp:Quora Question Pairs2 数据集是来自社区问答网站 Quora 的问题对集合。任务是确定一对问题在语义上是否等价。rte:识别文本蕴涵 (RTE) 数据集来自一系列年度文本蕴涵挑战。基准测试的作者结合了来自RTE1(Dagan等人,2006),RTE2(Bar Haim等人,2006),RTE3(Giampiccolo等人,2007)和RTE5(Bentivogli等人,2009)的数据。示例是根据新闻和维基百科文本构建的。基准测试的作者将所有数据集转换为两类拆分,对于三类数据集,为了保持一致性,他们将中立和矛盾折叠为非蕴涵。sst2:斯坦福情感树库由电影评论中的句子和他们情感的人类注释组成。任务是预测给定句子的情绪。它使用双向(正/负)类拆分,仅带有句子级标签。stsb:语义文本相似性基准(Cer et al., 2017)是从新闻标题、视频和图像标题以及自然语言推理数据中提取的句子对的集合。每对都经过人工注释,相似度分数从 1 到 5。wnli:Winograd Schema Challenge (Levesque et al., 2011) 是一项阅读理解任务,其中系统必须阅读带有代词的句子,并从选项列表中选择该代词的指称。这些示例是手动构建的,以挫败简单的统计方法:每个示例都取决于句子中单个单词或短语提供的上下文信息。为了将问题转换为句子对分类,基准测试的作者通过将模棱两可的代词替换为每个可能的指称来构造句子对。任务是预测替换代词的句子是否由原始句子引起。他们使用一个小型评估集,该评估集由源自小说书籍的新示例组成,这些示例由原始语料库的作者私下共享。虽然包含的训练集在两个类之间是平衡的,但测试集在它们之间是不平衡的(65% 不是蕴涵)。此外,由于数据怪癖,开发集是对抗性的:假设有时在训练和开发示例之间共享,因此如果模型记住了训练示例,它们将预测相应开发集示例上的错误标签。与 QNLI 一样,每个示例都是单独评估的,因此模型在此任务上的分数与其在未转换的原始任务上的分数之间没有系统的对应关系。基准测试的作者调用转换数据集 WNLI (Winograd NLI)。GLUE中的语言数据为英语 (BCP-47 en )。
* [THUIR/T2Ranking](https://huggingface.co/datasets/THUIR/T2Ranking) 中国的大型排名基准。在信息检索(IR)领域,对于学术界和工业界来说,段落排名都是重要且具有挑战性的话题。段落排名的目标是编译一个搜索结果列表,根据与大型段落集合中的查询的相关性排序。通常,段落排名包括两个阶段:段落检索和段落重新排名。为了支持段落排名研究,构建了各种基准数据集。然而,用于段落排名的常用数据集通常集中在英语上。对于非英语场景,例如中文,现有数据集在数据规模、细粒度相关性标注和漏报问题等方面存在局限性。为了解决这个问题,我们引入了 T 2 Ranking,这是一个大规模的中国通过排名基准。T 2 Ranking 包括超过 300K 个查询和超过 2M 个来自真实世界搜索引擎的独特段落。具体来说,我们从搜狗搜索引擎的用户日志中抽取基于问题的搜索查询,搜狗搜索引擎是中国流行的搜索系统。对于每个查询,我们从不同的搜索引擎中提取相应文档的内容。经过基于模型的段落分割和基于聚类的段落重复数据消除,得到大规模的段落语料库。对于给定的查询及其相应的段落,我们聘请专家注释员为每个查询-段落对提供 4 级相关性判断。与现有数据集相比,T 2 Ranking数据集具有以下特点和优势:该数据集聚焦于中文搜索场景,与现有的中文段落排名数据集相比,在数据尺度上具有优势,可以更好地支持深度学习算法的设计;该数据集具有大量的细粒度相关标注,有助于挖掘查询和段落之间的细粒度关系,构建更准确的排序算法;通过从多个商业搜索引擎中检索段落结果并提供完整的注释,在一定程度上缓解了假阴性问题,有利于提供更准确的评估;我们设计了多种策略来保证数据集的高质量,例如使用段落段模型和段落聚类模型来增强段落的语义完整性和多样性,并采用主动学习的注释方法来提高数据注释的效率和质量。
* [defunct-datasets/amazon_us_reviews](https://huggingface.co/datasets/defunct-datasets/amazon_us_reviews) 亚马逊买家评论(又名产品评论)是亚马逊的标志性产品之一。自 1995 年首次评论以来的二十多年里,数百万亚马逊客户贡献了超过 1 条评论,以表达意见并描述他们对 Amazon.com 网站上产品的体验。这使得亚马逊买家评论成为自然语言处理 (NLP)、信息检索 (IR) 和机器学习 (ML) 等领域的学术研究人员的丰富信息来源。因此,我们将发布这些数据,以进一步研究与了解客户产品体验相关的多个学科。具体来说,该数据集的构建是为了表示客户评估和意见的样本、不同地理区域对产品的看法变化以及评论中的促销意图或偏见。作为此版本的一部分,研究人员可以获得超过 130+ 百万条客户评论。这些数据以 AWS 美国东部区域的 amazon-reviews-pds S3 存储桶中的 TSV 文件形式提供。数据文件中的每一行对应于一个单独的审阅(制表符分隔,没有引号和转义字符)。每个数据集都包含以下列: marketplace - 撰写评论的商城的 2 个字母的国家/地区代码。customer_id - 随机标识符,可用于汇总单个作者撰写的评论。review_id - 审阅的唯一 ID。product_id - 与评价相关的唯一商品编号。在多语言数据集中,同一产品在不同国家/地区的评论可以按同一product_id分组。 product_parent - 可用于汇总同一产品评论的随机标识符。product_title - 产品的标题。 product_category - 可用于对评论进行分组的广泛产品类别(也用于将数据集分组为连贯的部分)。star_rating - 评论的 1-5 星评级。helpful_votes - 有用的票数。total_votes - 评论收到的总票数。vine - 评论是作为 Vine 程序的一部分编写的。verified_purchase - 评论是针对已验证的购买。review_headline - 评论的标题。review_body - 评论文本。review_date - 撰写评论的日期。
* [shareAI/ShareGPT-Chinese-English-90k](https://huggingface.co/datasets/shareAI/ShareGPT-Chinese-English-90k) 高质量的中英并行双语人机QA数据集,覆盖真实复杂场景下的用户问题。它用于训练高质量的对话模型(在指令分发方面比那些通过反复调用 API 接口来模拟机器生成的问答生成的数据集更健壮,如 Moss) 特征:提供语义完全等效的中英并行语料库,方便双语对话模型训练。所有问题都是来自用户的真实询问,而不是通过人工想象或 API 轮询(如 Moss)捏造的,更贴近用户场景的真实分布及其问题表达。ShareGPT 数据集是通过网民自愿分享收集的,充当自然过滤器(通过人类感知),筛选出大多数体验不佳的对话。注意:此数据集是在 ChatGPT 出现认知能力显着下降迹象之前收集的。(据推测,这可能部分是因为官方将 150B gpt3.5 替换为大约 10B 的蒸馏版本以减少开支,部分原因是引入更多拒绝响应导致模型连接知识和逻辑的能力下降。中英文平行双语优质人机问答数据集,覆盖真实复杂场景下的用户提问。用于训练高质量的对话模型 (比那些通过反复调用api接口生成机器模拟问答的数据在指令分布上更鲁棒) 特点:1.同时提供意义表达完全相同的中英文平行对照语料,可进行双语对话模型训练。2.所有问题均非人为臆想加上api轮询拟造的假数据(如Moss),更加符合真实用户场景的指令分布和提问表达。3.sharegpt数据集是由网友自发分享而收集到的,相当于有一层非常天然的过滤(通过人类感觉),筛除了大部分体验不好的对话。
* [BAAI/COIG-PC](https://huggingface.co/datasets/BAAI/COIG-PC) COIG-PC数据集是一个精心策划和全面的中文任务和数据集合,旨在促进中文自然语言处理(NLP)语言模型的微调和优化。该数据集旨在为研究人员和开发人员提供一套丰富的资源,以提高语言模型处理中文文本的能力,可用于文本生成、信息提取、情感分析、机器翻译等各个领域。COIG-PC 数据集是自然语言处理 (NLP) 领域的宝贵资源,原因有很多:解决语言复杂性:汉语以其错综复杂、字符种类繁多和语法结构多样而闻名。像 COIG-PC 这样专为中文量身定制的专用数据集对于在模型训练期间充分解决这些复杂性至关重要。全面的数据聚合:COIG-PC数据集是整合市场上几乎所有可用的中文数据集的广泛努力的结果。这种全面的聚合使其成为中国 NLP 最详尽的集合之一。重复数据删除和规范化:COIG-PC 数据集经过严格的手动处理,以消除重复数据并执行规范化。这确保了数据集没有冗余,数据一致且结构良好,使其对模型训练更加用户友好和高效。微调和优化:数据集基于指令的措辞有助于更好地微调和优化语言模型。这种结构使模型能够更好地理解和执行任务,这对于提高看不见或新任务的性能特别有益。COIG-PC数据集具有全面的汇总、细致的选择、重复数据删除和规范化功能,是训练和优化针对中国语言和文化量身定制的语言模型的无与伦比的资源。它解决了中文语言处理的独特挑战,并成为中文NLP进步的催化剂。
* [yahma/alpaca-cleaned](https://huggingface.co/datasets/yahma/alpaca-cleaned) 这是斯坦福大学发布的原始羊驼数据集的清理版本。Alpaca 是一个由 OpenAI text-davinci-003 引擎生成的 52,000 条指令和演示的数据集。此指令数据可用于对语言模型进行指令调整,并使语言模型更好地遵循指令。以下问题已在原始版本中发现,并在此数据集中修复:幻觉:原始数据集中的许多指令都有引用互联网数据的指令,这只会导致 GPT3 产生幻觉答案。合并指令:由于某种原因,在原始数据集中有许多指令被合并在一起。空输出:原始数据集中的某些条目的输出为空。空代码示例:原始数据集中的某些描述缺少代码示例,因此难以理解代码的预期行为。生成图像的说明:原始数据集中的一些描述包括生成图像的说明,这显然是不可能的。N/A 输出:原始数据集中的某些代码片段具有 N/A 输出。输入字段不一致:原始数据集在输入字段本应为空时,其输入字段的使用不一致。错误答案:原始数据集中的某些说明/问题有不正确的答案。据估计,大约 80% 的数学问题都有不正确的答案。无意义/不清楚的指令:许多指令不清楚,如果指令不明确,我们会尝试澄清(或重写)指令。稍微不清楚但可以推断出含义的说明不会改变。无关的转义和控制字符:原始数据集具有多个具有无关转义和控制字符的条目。Alpaca 中的数据是英文的 (BCP-47 en)。
* [BAAI/CCI-Data](https://huggingface.co/datasets/BAAI/CCI-Data) 随着大型语言模型的快速发展,工业界和学术界对高质量数据集的需求也在不断增长。这些数据集不仅需要包含海量信息,还需要严格的筛选和清理,以确保其准确性以及下游模型和应用程序的安全性。然而,目前业内流行的公共数据集存在一定的质量和安全风险,尤其是在中国领域,优质数据集尤其缺乏。此外,构建一个安全的中文数据集也面临着许多挑战。因此,构建一个经过严格筛选和标准化处理的数据集,对于公司的LLMs创新发展尤为重要。我们的CCI(中国语料库互联网)数据集由来自中国大陆互联网站点的高质量,值得信赖的来源组成。它经过了严格的数据清理和重复数据删除,在内容质量方面进行了有针对性的检测和过滤。数据处理的规则包括:基于规则的过滤:基于密度的提取、关键词过滤、垃圾信息过滤、简体中文和繁体中文的转换等。基于模型的过滤:通过训练分类模型过滤低质量内容。重复数据删除:数据集内和数据集之间的重复数据删除。此外,针对预训练数据规模大、容易导致评价数据泄露的问题,在数据处理阶段,我们特意对当前几个主流的中国评价数据集进行了严格的筛选和过滤。发布的 CCI 语料库 (CCI v1.0.0) 大小为 104GB。数据集的总时间跨度为 2001 年 1 月至 2023 年 11 月。
* [lupantech/ScienceQA](https://github.com/lupantech/ScienceQA) 科学问答,这是一个新的基准,由 ~21k 多模态多项选择题组成,具有多种科学主题及其答案的注释以及相应的讲座和解释。我们进一步设计语言模型,以学习生成讲座和解释作为思维链 (CoT),以在回答 ScienceQA 问题时模仿多跳推理过程。ScienceQA 展示了 CoT 在语言模型中的实用性,因为 CoT 在少样本 GPT-3 中将问答性能提高了 1.20%,在微调的统一 QA 中提高了 3.99%。ScienceQA 是从小学和高中科学课程中收集的,包含 21,208 个多模态多项选择科学问题。在ScienceQA的问题中,10,332个(48.7%)有图像上下文,10,220个(48.2%)有文本上下文,6,532个(30.8%)两者兼而有之。大多数问题都附有扎实的讲座(83.9%)和详细的解释(90.5%)。讲座和讲解分别提供了一般的外部知识和得出正确答案的具体原因。据我们所知,ScienceQA是第一个对讲座和答案解释进行注释的大规模多模态数据集。与以前的数据集相比,ScienceQA 具有更丰富的领域多样性,来自自然科学、语言科学和社会科学三个学科。每个科目的问题首先按主题(生物、物理、化学等)分类,然后按类别(植物、细胞、动物等)分类,最后按技能(将水果和蔬菜分类为植物部分,识别非洲国家等)。ScienceQA 具有 26 个主题、127 个类别和 379 项技能,涵盖广泛的领域。
* [togethercomputer/RedPajama-Data-1T](https://huggingface.co/datasets/togethercomputer/RedPajama-Data-1T) RedPajama 是 LLaMa 数据集的洁净室、完全开源的实现。主要是英语,尽管维基百科切片包含多种语言。创建此数据集是为了尽可能密切地跟踪 LLaMa 论文,以尝试重现其配方。我们从 Commoncrawl 下载了 5 个转储,并通过官方 cc_net 管道运行这些转储。然后,我们在段落级别进行重复数据删除,并使用经过训练的线性分类器过滤掉低质量的文本,该分类器将段落分类为维基百科参考文献或随机 Commoncrawl 样本。C4 是从 Huggingface 下载的。唯一的预处理步骤是将数据转换为我们自己的格式。原始 GitHub 数据是从 Google BigQuery 下载的。我们在文件级别进行重复数据删除并过滤掉低质量的文件,并且只保留在 MIT、BSD 或 Apache 许可下分发的项目。我们使用 Huggingface 上提供的维基百科数据集,该数据集基于 2023-03-20 的维基百科转储,包含 20 种不同语言的文本。数据集采用预处理格式,因此删除了超链接、注释和其他格式样板。ArXiv 数据从 arxiv 请求方付款存储桶中的 Amazon S3 下载。我们只保留源文件,并删除序言、注释、宏和参考书目。数据集的 Stack Exchange 拆分可从 Internet Archive 下载。在这里,我们只保留来自 28 个最大网站的帖子,删除 html 标签,将帖子分组为问答对,并按分数对答案排序。
* [b-mc2/sql-create-context](https://huggingface.co/datasets/b-mc2/sql-create-context) 有 78,577 个自然语言查询、SQL CREATE TABLE 语句和 SQL 查询示例,这些示例使用 CREATE 语句作为上下文来回答问题。此数据集在构建时LLMs考虑了文本到 sql,旨在防止在文本到 sql 数据集上训练时经常出现列名和表名的幻觉。CREATE TABLE 语句通常可以从不同的 DBMS 复制和粘贴,并提供表名、列名及其数据类型。通过仅提供 CREATE TABLE 语句作为上下文,我们有望为模型提供更好的基础,而无需提供实际的数据行,从而限制令牌的使用和对私有、敏感或专有数据的暴露。对WikiSQL和Spider的合并数据进行了清理和数据增强。我在 Spider 和 WikiSQL 的查询中使用了 SQLGlot,并将它们解析为不同的表和列,然后根据 > < 运算符的使用以及 SUM on 列的使用 MIN MAX AVG 来推断列数据类型。虽然这并不完美,但它增加了推断列的正确数据类型的可能性,否则列默认为 VARCHAR 类型。然后,这些表和列用于使用推断类型的 CREATE TABLE 语句。再次使用 SQLGlot 来确保 SQL 查询和 CREATE TABLE 语句都分析没有错误。某些没有列名的查询(例如 SELECT * FROM 表)在 CREATE TABLE 语句中添加了默认的 Id 列。其他一些使用泛型 table 作为 FROM 表的查询已更改为 的 table_name_1 变体或其他数字,这也反映在 CREATE TABLE 语句中。
* [BAAI/Infinity-Instruct](https://huggingface.co/datasets/BAAI/Infinity-Instruct) 指令数据的质量和规模对于模型性能至关重要。最近,开源模型越来越依赖于包含数百万个实例的微调数据集,因此需要高质量和大规模。然而,开源社区长期以来一直受到构建如此广泛和高质量的指令微调数据集的高成本的制约,这限制了相关的研究和应用。为了弥补这一差距,我们推出了 Infinity Instruct 项目,旨在开发一个大规模、高质量的指令数据集。为了构建一个千万级的高质量指令数据集,我们收集了大量的开源数据作为种子,并使用指令选择和指令演化两种策略对数据集进行迭代。我们建议应用基础数据集,其中包含从开源数据集中选择的数百万条指令,以提高模型在具有挑战性的下游任务(例如,代码、数学)上的性能。我们建议应用聊天数据集,其中包含从一小部分高质量种子数据演变而来的大约 1M 条指令,以进一步提高模型在真实对话场景中的指令跟随能力。我们的数据集版本信息如下:从开源社区收集大规模的指导数据。数据源如下所示:OpenHermes-2.5、UltraInteract_sft、CodeBagel、CodeFeedback-Filtered-Instruction、self-oss-instruct-sc2-exec-filter-50k、CodeExercise-Python-27k、Evol-Instruct-Code-80k-v1、MathInstruct、orca-math-word-problems-200k、MetaMathQa。
* [中文成语语义推理数据集(CINLID)](CINLID) ](https://www.luge.ai/#/luge/dataDetail?id=39) 收集了106832条由人工撰写的成语对(含少量歇后语、俗语等短文本),通过人工标注的方式进行平衡分类,标签为entailment、contradiction和neutral,支持自然语言推理(NLI)的任务。entailment:表示含义很接近,前者涵盖了后者或者语义完全相同,即近义词或者同义词/等义词。如开心、快乐;美丽、漂亮。它对应于上述提及的同一关系、包含关系。neutral:表示语义上无明显关联性、不属于同一语义范畴的词汇。它对应于上述提及的分离关系。contradiction:表示两个含义相反的词,包括绝对反义词和相对反义词2类,即分为成对的意义相反、互相对立的词。如:真——假,动——静,拥护——反对。这类反义词所表达的概念意义互相排斥。或成对的经常处于并举、对立位置的词。如:黑——白,高山——平地。这类反义词没有矛盾对立关系,但对比鲜明。这种情况较复杂,它对应于上述提及的分离关系和重叠关系。比如,黑、白虽是反义,但都同属颜色这个大类,有一定的主题重叠关系;但它们的方向相反,有一定的分离倾向,对应上述提及的重叠关系。注:训练集80124 条,测试集26708条。
* [UNCorpus 联合国平行语料库](https://conferences.unite.un.org/UNCorpus) 联合国平行语料库 v1.0 由公有领域的联合国正式记录和其他会议文件组成。这些文件大多以联合国六种正式语文提供。该语料库的当前版本包含 1990 年至 2014 年间生成和手动翻译的内容,包括句子级别的对齐方式。该语料库的创建是联合国对使用多种语文的承诺的一部分,也是对统计机器翻译(SMT)在大会和会议管理部(DGACM)翻译服务和联合国SMT系统(Tapta4UN)中日益增长的重要性的反应。语料库的目的是允许访问多语言语言资源,并促进各种自然语言处理任务(包括机器翻译)的研究和进展。为方便起见,该语料库还预先打包为特定语言的双文本和六种语言的平行语料库子集。联合国平行语料库不作任何明示或暗示的保证。联合国对联合国语料库所载资料的准确性或完整性不作任何具体保证或陈述。在任何情况下,联合国均不对声称因使用联合国语料库而招致或遭受的任何损失、责任、伤害或损害负责。使用联合国语料库的风险由用户自行承担。用户明确承认并同意,联合国不对任何用户的行为负责。如果用户对联合国语料库中提供的任何材料不满意,用户的唯一和排他性补救措施是停止使用联合国语料库。
* [liwu/MNBVC](https://huggingface.co/datasets/liwu/MNBVC) 中文互联网上最古老最神秘(没有之一)的里屋社区于2023.1.1庄重宣布:在英明神武的里屋管子带领下,决心发挥社区所长(哪都长),帮助开源社区长期更新一份最大的中文互联网语料集。Huggingface上的MNBVC数据集在逐渐更新中,请到https://github.com/esbatmop/MNBVC 获取未完成清洗的更多数据。MNBVC数据集包含数个子集:law_judgement: 来自法律文书的文本。gov_xuexiqiangguo: 来自学习强国的文本。gov_report: 来自政府工作报告的文本。co_ann_report: 企业年报文本。code_metadata: 代码元数据。qa_zhihu: 来自知乎的问答数据。qa_wikihow: 来自wikihow的问答数据。qa_mfa: 外交部问答数据。news_peoples_daily: 来自人民日报的文本数据。wikipedia: 来自维基百科的文本数据。qa_stackexchange: 来自StackExchange的问答数据。qa_chatgpt: 使用ChatGPT构造的问答语料,感谢genggui001贡献语料。math_qa : 和数学领域有关的问答数据。emath :中国数学爱好者论坛语料数据。math_chat: 和数学领域有关的对话数据数据,可以提升模型Chain of Thought的能力。crawler_oscar: 从CommonCrawl中清洗出来的通用文本数据。一些游戏的平行语料数据。Hogwarts_legacy : 霍格沃茨指遗。The_Wither_3 : 巫师三。
* [cerebras/SlimPajama-627B](https://huggingface.co/datasets/cerebras/SlimPajama-627B) 数据集由 59166 个 jsonl 文件组成,压缩为 ~895GB。它是 Together 的 RedPajama 的清洁和重复数据删除版本。今天,我们发布了 SlimPajama,这是最大的广泛重复数据删除、多语料库、开源数据集,用于训练大型语言模型。SlimPajama 是通过清理和删除 Together 中的 1.2T 词元 RedPajama 数据集而创建的。通过过滤掉低质量的数据和重复项,我们能够删除 49.6% 的字节,将数据集从 1210B 缩减到 627B 令牌。我们相信 SlimPajama 提供最高质量和计算效率最高的数据来训练高达 627B 词元的运行。当上采样时,我们预计 SlimPajama 在万亿词元规模的训练中表现等于或优于 RedPajama-1T。除了数据之外,我们还发布了我们为创建 SlimPajama 而构建的工具。将 MinHashLSH 重复数据删除应用于像 RedPajama 这样的万亿个令牌数据集是无法使用现成的开源代码实现的。我们对现有解决方案进行了多项改进,以生成一个基础架构,该基础架构可以以分布式、多线程和内存高效的方式对万亿个令牌数据集执行 MinHashLSH 重复数据删除。今天,我们正在开源这个基础设施,使社区能够在未来轻松创建更高质量、广泛去重的数据集。
* [skylion007/OpenWebTextCorpus](https://skylion007.github.io/OpenWebTextCorpus/) 旨在重现 OpenAI 的 WebText 数据集,详见此处。此发行版由布朗大学的 Aaron Gokaslan 和 Vanya Cohen 创建。以下文章概述了重现数据集所采取的步骤,并为那些寻求为其进一步发展做出贡献的人提供了信息。我们首先从 Reddit 提交数据集中提取所有 Reddit 帖子 URL。这些链接经过重复数据删除,过滤以排除非 html 内容,然后随机洗牌。然后,这些链接被并行分发到几台机器上供下载,并使用报纸python包提取所有网页。使用Facebook FastText,过滤掉了非英语网页。随后,使用局部敏感度哈希 (LSH) 识别近乎重复的文档。文档被散列成 5 克的集合,所有相似性阈值大于 0.5 的文档都被删除。其余文档被标记化,标记少于 128 的文档被删除。这从 8,013,769 个文档中留下了 38GB 的文本数据(使用 SI 单位为 40GB)。鉴于 OpenAI 发布的有关 WebText 和 GPT-2 的信息有限,我们承认数据集可能还有进一步改进的空间。因此,我们欢迎您的贡献和改进建议。我们希望这个数据集的可用性能够鼓励进一步复制 GPT-2 的工作,并被证明对其他项目有用。我们将很快在 master 分支上发布更多代码。
* [community-datasets/tapaco](https://huggingface.co/datasets/community-datasets/tapaco) 从 Tatoeba 数据库中提取的 73 种语言的免费释义语料库。Tatoeba是一个主要面向语言学习者的众包项目。其目的是为特定的语言结构和单词提供例句和翻译。释义语料库是通过用 Tatoeba 句子和句子之间的等价链接填充图形来创建的,“意思是同一事物”。然后遍历此图以提取释义集。应用了几个与语言无关的过滤器和修剪步骤来删除无趣的句子。对三种语言进行的人工评估表明,推断出的释义中有一半到四分之三是正确的,剩下的大多数释义要么是正确的,要么是微不足道的,要么是中和形态学区别的近乎释义。该语料库共包含190万个句子,每种语言有200-25万个句子。它涵盖了一系列语言,据我们所知,没有其他释义数据集存在。释义检测和生成已成为 NLP 中的热门任务,并越来越多地集成到各种常见的下游任务中,例如机器翻译、信息检索、问答和语义解析。大多数现有数据集仅涵盖一种语言(在大多数情况下为英语)或少数语言。此外,一些释义数据集侧重于词汇和短语,而不是句子释义,而其他释义数据集则使用机器翻译(半)自动创建。
* [Skywork/SkyPile-150B](https://huggingface.co/datasets/Skywork/SkyPile-150B) 综合性的大规模中文数据集,专门用于大型语言模型的预训练。它源自广泛的可公开访问的中文互联网网页。为了确保其质量,采用了严格的过滤、广泛的重复数据删除和彻底的敏感数据过滤。此外,我们还利用 fastText 和 BERT 等高级工具过滤掉低质量的数据。SkyPile-150B数据集的可公开访问部分包含大约2.33亿个独特的网页,每个网页平均包含1000多个汉字。该数据集总共包括大约 1500 亿个令牌和 620 GB 的纯文本数据。SkyPile-150B数据集完全由中国数据组成。我们利用超过 200w 的规则和 BERT 基础模型来确定数据集中存在的敏感数据,并随后删除了我们检测到的任何有害条目。尽管我们尽了最大努力,但SkyPile-150B,鉴于其从公开可用的网页构建,可能包含敏感信息,例如电子邮件地址,电话号码或IP地址。我们已努力通过重复数据删除和低质量过滤来最大程度地减少这种情况,但 SkyPile-150B 的用户应保持警惕。互联网上充斥着潜在的有毒或有偏见的数据。我们已尝试使用特定的 URL 过滤方法来缓解此问题,但我们鼓励用户保持对这一潜在问题的意识。
* [CLUEbenchmark/DataCLUE](https://github.com/CLUEbenchmark/DataCLUE) 数据为中心的NLP基准和工具包。以数据为中心(Data-centric)的AI,是一种新型的AI探索方向。它的核心问题是如何通过系统化的改造你的数据(无论是输入或者标签)来提高最终效果。 传统的AI是以模型为中心(Model-centric)的,主要考虑的问题是如何通过改造或优化模型来提高最终效果,它通常建立在一个比较固定的数据集上。 最新的数据显示超过90%的论文都是以模型为中心的,通过模型创新或学习方法改进提高效果,即使不少改进影响可能效果并不是特别明显。有些人认为当前的人工智能领域, 无论是自然语言处理(如BERT) 或计算机视觉(ResNet), 已经存在很多成熟高效模型,并且模型可以很容易从开源网站如github获得;而与此同时,工业界实际落地 过程中可能有80%的时间用于 清洗数据、构建高质量数据集,或在迭代过程中获得更多数据,从而提升模型效果。正是看到了这种巨大的差别,在吴恩达等人的推动下这种 以数据为中心 (Data-centric)的AI进一步的系统化,并成为一个有具有巨大实用价值方法论。
* [uonlp/CulturaX](https://huggingface.co/datasets/uonlp/CulturaX) 庞大的多语言数据集,拥有 167 种语言的 6.3 万亿个词元,专为大型语言模型 (LLM) 开发量身定制。我们的数据集通过严格的多阶段流水线进行细致的清理和重复数据删除,以实现模型训练的最佳质量,包括语言识别、基于 URL 的过滤、基于指标的清洗、文档细化和重复数据删除。我们在文档级别使用 MinHash 来实现不同语言数据集的模糊重复数据删除。我们的数据清理框架包括多种标准和阈值选择,以大量数据样本为指导,确保在各个方面进行全面的噪声过滤。CulturaX 在 HuggingFace 中完全向公众发布,以促进多语言的研究和进步LLMs。我们的数据集结合了 mC4(3.1.0 版)[1] 的最新版本和截至今年的所有可访问的 OSCAR 语料库,包括 20.19、21.09、22.01 和 23.01 [2]。经过深度清理和重复数据删除后,CulturaX 涉及 16TB 的镶木地板格式数据(解压缩后可扩展至 27TB)。我们数据集的一半以上专门用于非英语语言,以显着增加数据量并增强训练模型在多语言场景中的可行性。
* [HuggingFaceH4/no_robots](https://huggingface.co/datasets/HuggingFaceH4/no_robots) 高质量的数据集,其中包含 10,000 条指令和演示,由熟练的人类注释者创建。此数据可用于监督微调 (SFT),以使语言模型更好地遵循指令。No Robots 是根据 OpenAI 的 InstructGPT 论文中描述的指令数据集建模的,主要由以下类别的单轮指令组成:No Robots 数据集专为指令微调预训练语言模型而设计,我们建议根据以下内容进行基准测试:MT-Bench:一个跨越 80 个对话和 10 个领域的多回合基准测试。AlpacaEval:一个单轮基准测试,用于评估聊天和指导 text-davinci-003 模型的性能。请注意,MT-Bench 和 AlpacaEval 依靠 LLMs GPT-4 来判断模型响应的质量,因此排名表现出各种偏差,包括对从 GPT 中提取的模型的偏好。因此,您可能会发现,从使用 No Robots 训练的模型中获得的分数低于其他合成数据集。因此,我们还建议在以下位置提交您的模型以供人工评估:Chatbot Arena:在头对头比较中对聊天模型进行实时、人工评估。No Robots 中的数据是英文的 (BCP-47 en)。
* [stingning/ultrachat](https://huggingface.co/datasets/stingning/ultrachat) 由 Turbo API 提供支持的开源、大规模和多轮对话数据。考虑到保护隐私等因素,我们不会直接使用互联网上的任何数据作为提示。为了保证生成质量,在生成过程中采用了两个独立的ChatGPT Turbo API,一个扮演用户生成查询的角色,另一个扮演响应的角色。我们通过精心设计的提示来指导用户模型,以模仿人类用户行为并迭代调用这两个 API。生成的对话经过进一步的后处理和过滤。ULtraChat由三个部分组成:关于世界的问题:该领域的对话数据来自与现实世界中的概念、实体和对象相关的广泛调查。涵盖的主题非常广泛,涵盖技术、艺术和创业等领域。写作和创作:该领域的对话数据是由从头开始写作/创作的需求驱动的,包括 AI 助手在创作过程中可能帮助的任何任务,从电子邮件撰写到制作叙事和戏剧等等。对现有材料的援助:该领域的对话数据是根据现有材料生成的,包括但不限于重写、延续、总结和推理,涵盖各种主题。
* [data.baai.ac.cn/ArabicText-2022](https://data.baai.ac.cn/details/ArabicText-2022) 北京智源人工智能研究院认知模型与数据研究团队与埃及阿拉伯科技与海运学院(AASTMT)、亚历山大图书馆(BA)、阿布扎比阿联酋起源人工智能研究院(IIAI)等阿拉伯语国家和地区优势高校院所和科研机构合作,构建了目前全球数据量最大的开源阿拉伯语预训练数据集ArabicText 2022,可用于阿拉伯语语言模型的训练。通过对现有可用的阿拉伯语网络文本数据进行收集、整理、扩充和清洗,我们最终获得了200GB+的高质量预训练文本。在数据清洗过程中,我们基于支撑WuDaoCorpora的网页文本深度清洗工具WudaoCleaner,针对阿语进行了高度适配和优化,同时我们将开源的阿语文本清洗库ArabertPreprocessor融入清洗流程中,保证了清洗后的文本质量。相较于现有开源阿语文本数据集,我们此次开源的数据集的体量为全球最大,且新闻、资讯、百科等文字与知识富集类数据占比超过65%,有利于模型从数据中学习到更多的先验知识。
* [tatsu-lab/alpaca](https://huggingface.co/datasets/tatsu-lab/alpaca) 由 OpenAI text-davinci-003 引擎生成的 52,000 条指令和演示的数据集。此指令数据可用于对语言模型进行指令调整,并使语言模型更好地遵循指令。作者基于 Self-Instruct 框架的数据生成管道进行构建,并进行了以下修改:生成指令数据的 text-davinci-003 引擎,而不是 davinci .编写了一个新的提示,明确要求text-davinci-003生成指令。使用了更激进的批量解码,即一次生成 20 条指令,这大大降低了数据生成的成本。通过摒弃分类指令和非分类指令之间的差异,简化了数据生成管道。每条指令只生成一个实例,而不是像 Self-Instructed 那样生成 2 到 3 个实例。这生成了一个指令跟踪数据集,其中包含以低得多的成本(不到 500 美元)获得的 52K 示例。在一项初步研究中,作者还发现,52K生成的数据比Self-Instruct发布的数据要多样化得多。Alpaca 数据集专为指令训练预训练语言模型而设计。Alpaca 中的数据是英文的 (BCP-47 en)。
* [allenai/prosocial-dialog](https://huggingface.co/datasets/allenai/prosocial-dialog) 大规模的多轮英语对话数据集,用于教导会话代理按照社会规范对有问题的内容做出反应。ProsocialDialog 涵盖了各种不道德、有问题、有偏见和有毒的情况,包含鼓励亲社会行为的响应,这些响应基于常识性社会规则(即经验法则,RoT)。ProsocialDialog 通过人类与 AI 协作框架创建,由 58K 个对话组成,其中包含 331K 个话语、160K 个独特的 RoT 和 497K 个对话安全标签,并附有自由格式的理由。为了创建 ProsocialDialog,我们建立了一个人类与 AI 协作的数据创建框架,其中 GPT-3 生成潜在的不安全话语,众包工作者为它们提供亲社会响应。这种方法使我们能够规避两个实质性的挑战:(1)人类之间没有可用的大规模亲社会对话语料库,以及(2)要求人类写出不道德、有毒或有问题的话语可能会导致心理伤害(Roberts,2017;Steiger 等人,2021 年)。
* [中文语言理解和生成评测基准-cuge](http://cuge.baai.ac.cn) CUGE包含高质量中文自然语言处理数据集、排行榜与在线评测平台,旨在构建全面系统的中文机器语言能力评测体系,形成多层次维度的评测方案,力求更加科学、规范、高质量地推进中文自然语言处理技术的标准评测。数据集包括:语言理解能力-词句级、语言理解能力-篇章级、信息获取及问答能力、语言生成能力、对话交互能力、多语言能力、数学推理能力。CUGE由北京智源人工智能研究院支持于2021年12月30日建成,委员单位由15个国内优势科研单位组成,旨在构建全面系统的中文机器语言能力评测体系,形成多层次维度的评测方案,力求更加科学、规范、高质量地推进中文自然语言处理技术的标准评测。自2023年1月开始,CUGE的研发及建设由清华大学人工智能研究院、中文中文信息学会计算语言学专业委员会共同支持。
* [m-a-p/Matrix](https://huggingface.co/datasets/m-a-p/Matrix) 一个包含46900亿个词元的开源预训练数据集,这个包含中英文文本的双语数据集用于训练neo模型。数据集由多个组件组成,每个组件来自不同的来源,并在语言建模和处理中用于各种目的。以下是每个组件的简要概述:摘自 Common Crawl 项目,具有丰富多样的互联网文本,包括网站、博客、新闻文章等。编码相关数据的集合。由涵盖广泛学科的学术和研究论文组成,提供技术和特定领域的语言。包括一系列已出版书籍的文本,包括文学、非小说类、教科书等。主要以 Q&A 格式提供文本集合。包含学术考试中使用的各种教材和评估。来自各种新闻来源的文本集合,报道时事和新闻报道。来自各种百科全书来源的文章,不限于维基百科,涵盖了广泛的主题和信息。包括专利文件中的文本,提供发明及其应用的详细说明。
* [EleutherAI/lichess-puzzles](https://huggingface.co/datasets/EleutherAI/lichess-puzzles) 这是来自 Lichess 数据库的 ~1.5M 国际象棋谜题的集合,该数据库包含 ~3.9M 谜题(截至 2024-05-09)。《你能学会算法吗?从简单到困难的问题与循环网络的泛化“被包括在内,除了 26,079 个谜题,这些谜题不再出现在 Lichess 数据库中(假设它们可能出于充分的理由被删除)。对于每个谜题, ctx 都是一个实际的 Lichess 游戏的 SAN 成绩单(每个半步都有编号),直到谜题位置。请注意,这包括 Lichess 和 Easy-to-Hard 数据集中 Moves 列的第一次移动。target 是最好的下一步,在SAN中,具有领先的空间。此移动(列中 Moves 的第二步)通常与实际的 Lichess 游戏不同,后者可能包含错误。不包括拼图解决方案的其他动作。这种格式与“弱到强泛化”中使用的格式相匹配,并且这组谜题也旨在尽可能相似(除了 Lichess 删除的 26k)。
* [HuggingFaceTB/cosmopedia](https://huggingface.co/datasets/HuggingFaceTB/cosmopedia) 由 Mixtral-8x7B-Instruct-v0.1 生成的合成教科书、博客文章、故事、帖子和 WikiHow 文章的数据集,该数据集包含超过 3000 万个文件和 250 亿个令牌,使其成为迄今为止最大的开放合成数据集。它涵盖了各种主题;我们试图映射 RefinedWeb 和 RedPajama 等 Web 数据集中存在的世界知识,并生成涵盖它们的合成内容。数据集由 8 个拆分组成,具体取决于拆分中使用的种子数据的来源。当我们要求不同的风格(例如学术教科书与博客文章)或受众(例如幼儿与大学生)时,一些种子样本可能会出现不止一次。例如,每个 stanford 示例都与 4 种不同的提示样式和受众一起使用,请查看 format 和 audience 列了解更多详细信息。我们观察到,相应地调整受众和提示风格可以显着增强多样性;通过MinHash消除重复的比例低于1%。
* [CohereForAI/aya_evaluation_suite](https://huggingface.co/datasets/CohereForAI/aya_evaluation_suite) 总共包含 26,750 个开放式对话式提示,用于评估多语言开放式生成质量。为了在语言覆盖率和人工策展的质量之间取得平衡,我们创建了一个评估套件,其中包括:人工策划的 7 种语言示例 ( tur, eng, yor, arb, zho, por, tel ) → aya-human-annotated .将精心挑选的示例机器翻译成 101 种语言 → dolly-machine-translated .人工译后编辑成 6 种语言 ( hin, srp, rus, fra, arb, spa ) → dolly-human-edited .包括 Aya Evaluation Suite 以下子集:aya-human-annotated:250 个人类编写的原始提示,每个提示有 7 种语言。dolly-machine-translated:来自 databricks-dolly-15k 的 200 个人工选择的提示,使用 NLLB 模型自动将英语翻译成 101 种语言(总共 114 种方言)。dolly-human-edited:200 个 dolly-machine 翻译的提示,由流利的演讲者对 6 种语言进行后期编辑。
* [annas-archive.org/datasets](https://annas-archive.org/datasets) 人类历史上最大的真正开放的图书馆。我们镜像了 Sci-Hub 和 LibGen。我们抓取和开源 Z-Lib、DuXiu 等。30,445,640 本书,100,357,126 篇论文——永久保存。我们所有的代码和数据都是完全开源的。我们的使命是存档世界上所有的书籍(以及报纸、杂志等),并使它们被广泛访问。我们认为,所有书籍都应该广泛镜像,以确保冗余和弹性。这就是为什么我们将来自各种来源的文件汇集在一起的原因。有些来源是完全开放的,可以批量镜像(例如Sci-Hub)。其他人是封闭的和保护性的,所以我们试图抓取它们以“解放”他们的书。还有一些则介于两者之间。我们所有的数据都可以下载,我们所有的元数据都可以生成或下载为 ElasticSearch 和 MariaDB 数据库。原始数据可以通过这样的 JSON 文件手动浏览。
* [nvidia/HelpSteer2](https://huggingface.co/datasets/nvidia/HelpSteer2) 开源的有用性数据集 (CC-BY-4.0),它支持对齐模型以变得更有帮助、更符合事实和连贯性,同时可以根据其响应的复杂性和冗长性进行调整。该数据集是与 Scale AI 合作创建的。HelpSteer 包含 21, 362 个样本,每个样本包含一个提示、一个响应以及响应的五个人工注释属性,每个属性的范围在 0 到 4 之间,其中越高意味着每个属性越好。连续样本(例如样本 1 与 2、3 与 4 ...)共享相同的提示,因此除了训练 SteerLM 回归 RM 之外,还可以将其用于基于有用性分数的偏好对(例如训练 DPO 或偏好 RM)。大约 29% 的提示是多回合的。在本例中,提示由所有用户轮次和除最后一个助手轮次之外的所有轮次组成,后者包含在响应字段中。这样做是因为属性值仅针对最后一个助手回合进行评估。
* [ssymmetry/BBT-FinCUGE-Applications](https://github.com/ssymmetry/BBT-FinCUGE-Applications/tree/main) 大规模中文金融领域语料库BBT-FinCorpus,包含以下四种语料: 公司公告 在过去二十年中由中国所有上市公司发布的公司公告。原始数据为 PDF 格式,总大小约为 2TB。使用 PDF 解析器将 PDF 文件转换为文我们件,转换后的文件的总大小为 105GB。研究报告 由券商、投行等投资机构发布的针对宏观经济、板块、行业和个股的研究报告,分析研究对象的现状并展望其未来发展趋势。原始数据为PDF格式,总大小约为1TB。经转化后的文我们件总量约11GB。财经新闻 从新浪财经,腾讯财经,凤凰财经,36Kr 和虎嗅等网站爬取的过去五年内的财经新闻。经清洗后的文我们件总量约 20GB。社交媒体 股吧和雪球网过去二十年内的所有股民和博主发表的帖子。经清洗后的文本总量约 120GB。
* [m-a-p/COIG-CQIA](https://huggingface.co/datasets/m-a-p/COIG-CQIA) 欢迎来到COIG-CQIA,COIG-CQIA全称为Chinese Open Instruction Generalist - Quality is All You Need, 是一个开源的高质量指令微调数据集,旨在为中文NLP社区提供高质量且符合人类交互行为的指令微调数据。COIG-CQIA以中文互联网获取到的问答及文章作为原始数据,经过深度清洗、重构及人工审核构建而成。本项目受LIMA: Less Is More for Alignment等研究启发,使用少量高质量的数据即可让大语言模型学习到人类交互行为,因此在数据构建中我们十分注重数据的来源、质量与多样性,数据集详情请见数据介绍以及我们接下来的论文。来自零一万物、中科院深圳先进技术研究院,和M-A-P等机构的研究者们。本数据集主要语言为中文。本数据集适用于指令微调,训练模型具备响应指令的能力。
* [mlabonne/llm-datasets](https://github.com/mlabonne/llm-datasets) 数据是 LLM。虽然数据集不能像模型一样直接评估,但高质量的数据集具有以下特征:准确性:示例应真实正确、对用户有帮助且编写良好。答案还应与其相应的说明相关。多样性:您希望涵盖尽可能多的使用案例,以确保正确遵循说明和相关答案。这需要以具有代表性的方式对广泛的主题、上下文、长度、写作风格等进行采样。复杂性:答案应该是非平凡的,并且 a/ 代表您期望模型处理的任务,或者 b/ 包括涉及多步骤推理、计划等的复杂任务。在使用 Python 解释器解决数学问题的情况下,测量准确性可能很容易,而对于开放式的主观问题,则几乎不可能。另一方面,按主题对数据集进行聚类是衡量多样性的好方法。最后,可以使用其他 LLMs,就像裁判一样。
* [nvidia/Aegis-AI-Content-Safety-Dataset-1.0](https://huggingface.co/datasets/nvidia/Aegis-AI-Content-Safety-Dataset-1.0) Aegis AI 内容安全数据集是一个开源内容安全数据集 (CC-BY-4.0),遵循 Nvidia 的内容安全分类法,涵盖 13 个关键风险类别。Aegis AI 内容安全数据集由人类和LLMs人与人之间的近 11,000 似手动注释的交互组成,分为 10,798 训练样本和 1,199 测试样本。为了整理数据集,我们使用了来自Anthropic HH-RLHF的关于无害性的人类偏好数据的拥抱脸版本。我们只提取提示,并从 Mistral-7B-v0.1 中引出响应。Mistral 擅长遵循指令,并为内容审核类别生成高质量的响应。我们在系统提示中使用示例,通过指示 Mistral 不要生成类似的响应来确保多样性。我们的数据包括四种不同的格式:仅用户提示、带用户提示的系统提示、带 Mistral 响应的单轮用户提示和带 Mistral 响应的多轮用户提示。
* [ibm/duorc](https://huggingface.co/datasets/ibm/duorc) DuoRC 数据集是一个英语语言数据集,其中包含从维基百科和 IMDb 电影情节上的众包 AMT 工作人员那里收集的问题和答案。工人们可以自由地从情节中挑选答案或综合自己的答案。它包含两个子数据集 - SelfRC 和 ParaphraseRC。SelfRC数据集完全建立在维基百科电影情节上。释义RC有从维基百科电影情节中写出的问题,答案是根据相应的IMDb电影情节给出的。abstractive-qa :该数据集可用于训练抽象问答模型。一个抽象的问答模型由一个段落和一个问题提出,并期望生成一个多词答案。extractive-qa :该数据集可用于训练抽取式问答模型。抽取式问答模型包含一段经文和一个问题,并有望预测段落中答案跨度的开始和结束。模型性能通过精确匹配和 F1 分数来衡量,。
* [fighting41love/funNLP](https://github.com/fighting41love/funNLP) NLP民工的乐园: 中英文敏感词、语言检测、中外手机/电话归属/运营商查询、名字推断性别、手机号抽取、身份证抽取、邮箱抽取、中日文人名库、中文缩写库、拆字词典、词汇情感值、停用词、反动词表、暴恐词表、繁简转换、英文模拟中文发音、汪峰歌词生成器、职业名称词库、同义词库、反义词库、否定词库、汽车品牌词库、汽车零件、连续英文切割、各种中文词向量、公司大全、古诗、IT、财经、成语、地名、历史名人、诗词、医学、饮食、法律、汽车、动物词库、中文聊天语料、中文谣言数据、百度中文问答数据集、句子相似度、bert资源、文本生成&摘要相关工具、cocoNLP信息抽取、国内电话号码正则匹配、清华中英文跨语言百科知识图谱
* [lupantech/ScienceQA](https://github.com/lupantech/ScienceQA) 通过思维链进行多模态推理的科学问题回答。提出了科学问答(ScienceQA),这是一个新的基准,包括21,208个多模态多项选择题,有一套不同的科学主题和注释,他们的答案与相应的讲座和解释。讲座和解释分别提供了一般的外部知识和具体的原因,以获得正确的答案。拥有更丰富的领域多样性:自然科学语言科学社会科学。ScienceQA包含26个主题、127个类别和379个技能,涵盖了广泛的领域。我们进一步设计语言模型,学习生成演讲和解释作为思维链(CoT),以模拟回答ScienceQA问题时的多跳推理过程。ScienceQA证明了CoT在语言模型中的实用性,CoT在少样例GPT-3中将问题回答性能提高了1.20%,在微调的UnifiedQA中将问题回答性能提高了3.99%。
* [allenai/social_i_qa](https://huggingface.co/datasets/allenai/social_i_qa) 我们介绍了社交智商:社交互动QA,这是一个用于测试社交常识智力的新问答基准。与许多先前关注物理或分类知识的基准相反,社会智商侧重于对人们的行为及其社会影响的推理。例如,给定一个动作,如“杰西看了一场音乐会”,以及一个像“杰西为什么要这样做?”这样的问题,人们可以很容易地推断出杰西想“看他们最喜欢的表演者”或“享受音乐”,而不是“看看里面发生了什么”或“看看它是否有效”。Social IQa 中的动作跨越了各种各样的社交场合,答案候选人既包含人工策划的答案,也包含对抗性过滤的机器生成的候选人。Social IQa 包含超过 37,000 个 QA 对,用于评估模型推理日常事件和情况的社会影响的能力。
* [CohereForAI/aya_collection](https://huggingface.co/datasets/CohereForAI/aya_collection) Aya Collection 是一个庞大的多语言集合,由 5.13 亿个提示和完成实例组成,涵盖广泛的任务。该集合整合了来自流利演讲者的指令式模板,并将其应用于精选的数据集列表,以及将指令式数据集翻译成 101 种语言。Aya 数据集是一个人工策划的多语言指令和响应数据集,也是该集合的一部分。由三个不同的数据源组成:模板化数据:我们与流利的演讲者合作创建模板,允许将现有数据集自动扩展为各种语言。翻译数据:我们使用 NLLB 3.3B 参数机器翻译模型将 19 个数据集的手工选择子集翻译成 101 种语言(114 种方言)。Aya 数据集:我们将 Aya 数据集作为整个集合的子集发布。这是集合中唯一一个完整地进行人工注释的数据集。
* [togethercomputer/RedPajama-Data-Instruct](https://huggingface.co/datasets/togethercomputer/RedPajama-Data-Instruct) 从 P3 (BigScience) 和 Natural Instruction (AI2) 的各种 NLP 任务集合中挑选出来的,并分两步对 HELM 进行主动去污:(1) 我们首先使用 HELM 中的每个验证示例作为查询进行语义搜索,并从 Instruct 数据集中获取前 100 个相似实例,并检查任何返回的实例与验证示例重叠(使用 10-Gram)的任务。如果返回的实例和验证示例对应于相同的任务,我们将删除整个任务(在此步骤中,如果返回的实例恰好使用与验证示例相同的维基百科文章,但提出不同的问题,我们将保留该任务);(2) 然后,我们删除所有与任何 HELM 验证示例有任何 10 Gram 重叠的实例。我们总共筛选掉了 137 个任务和 5.2M 个实例(在 1069 个任务和 93.3M 个实例中)。
* [xglue](https://huggingface.co/datasets/xglue) 由11个任务组成,跨越19种语言。对于每个任务,训练数据仅以英语提供。这意味着要在XGLUE上取得成功,模型必须具有强大的零镜头跨语言迁移能力,以从特定任务的英语数据中学习并将其学到的内容转移到其他语言中。与其并发工作XTREME相比,XGLUE有两个特点:首先,它同时包含跨语言NLU和跨语言NLG任务;其次,除了包括5个现有的跨语言任务(即NER,POS,MLQA,PAWS-X和XNLI)之外,XGLUE还从Bing场景中选择了6个新任务,包括新闻分类,查询广告匹配,网页排名,QA匹配,问题生成和新闻标题生成。语言、任务和任务来源的这种多样性为量化跨语言自然语言理解和生成的预训练模型的质量提供了全面的基准。
* [databricks/databricks-dolly-15k](https://huggingface.co/datasets/databricks/databricks-dolly-15k) 开源数据集,其中包含数千名 Databricks 员工在 InstructGPT 论文中概述的几个行为类别中生成的指令跟踪记录,包括头脑风暴、分类、封闭式 QA、生成、信息提取、开放式 QA 和摘要。根据知识共享署名-相同方式共享 3.0 未本地化版本许可的条款,该数据集可用于任何目的,无论是学术目的还是商业目的。Databricks 员工被邀请在八个不同的指令类别中的每一个类别中创建提示/响应对,包括 InstructGPT 论文中概述的七个,以及一个开放式自由格式类别。贡献者被指示避免使用来自网络上除维基百科以外的任何来源的信息(针对指令类别的特定子集),并明确指示避免使用生成式人工智能来制定指令或响应。
* [fancyzhx/ag_news](https://huggingface.co/datasets/fancyzhx/ag_news) AG 收集了超过 100 万篇新闻文章。在一年多的活动中,ComeToMyHead 从 2000 多个新闻来源收集了新闻文章。ComeToMyHead是一个学术新闻搜索引擎,自2004年7月开始运行。该数据集由学术界提供,用于数据挖掘(聚类、分类等)、信息检索(排名、搜索等)、xml、数据压缩、数据流和任何其他非商业活动的研究目的。有关更多信息,请参阅链接 http://www.di.unipi.it/~gulli/AG_corpus_of_news_articles.html 。AG的新闻主题分类数据集由Xiang Zhang([email protected])根据上述数据集构建。在以下论文中将其用作文本分类基准:Xiang Zhang, Junbo Zhao, Yann LeCun.用于文本分类的字符级卷积网络。神经信息处理系统进展 28 (NIPS 2015)。
* [cimec/lambada](https://huggingface.co/datasets/cimec/lambada) LAMBADA通过单词预测任务评估计算模型的文本理解能力。LAMBADA 是叙事段落的集合,其共同特点是,如果人类受试者接触到整个段落,他们能够猜出他们的最后一个单词,但如果他们只看到目标单词之前的最后一个句子,则不能。为了在LAMBADA上取得成功,计算模型不能简单地依赖于本地上下文,而必须能够在更广泛的话语中跟踪信息。LAMBADA 数据集提取自 BookCorpus,由 10‘022 个段落组成,分为 4‘869 个开发段落和 5‘153 个测试段落。在 LAMBADA 上测试的语言模型的训练数据包括 2‘662 部小说的全文(与 dev+test 中的小说不相交),共计 2.03 亿字。数据集中的文本为英文文本。关联的 BCP-47 代码为 en 。
* [HuggingFaceFW/fineweb](https://huggingface.co/datasets/HuggingFaceFW/fineweb) 由超过 15T 个来自 CommonCrawl 的清理和重复数据删除的英文 Web 数据组成。数据处理管道针对LLM性能进行了优化,并在我们的大规模数据处理库 datatrove 上运行。FineWeb 最初是 RefinedWeb 的完全开放复制,在 ODC-By 1.0 许可下发布完整数据集。然而,通过仔细添加额外的过滤步骤,我们成功地将 FineWeb 的性能推高到远高于原始 RefinedWeb 的性能,并且在我们的数据集上训练的模型也优于在其他常用的高质量 Web 数据集(如 C4、Dolma-v1.6、The Pile、SlimPajama、RedPajam2)上训练的模型。也就是说,我们认为仍有进一步过滤和改进的空间,并打算继续探索如何在即将到来的 FineWeb 版本中提高数据集质量。
* [data.baai.ac.cn/BAAI-MTP](https://data.baai.ac.cn/details/BAAI-MTP) 北京智源人工智能研究院信息检索与知识计算组构建并对外发布数据集MTP(Massive Text Pairs)。MTP由总计3亿条中英文关联文本对构成;其中,中文记录达1亿条,英文数据达2亿条。MTP为迄今开源的最大规模中英文关联文本对数据集,为训练中英文语义向量模型提供了重要的基础。通过对现有可用的中英文网络文本数据进行收集、整理,我们最终获得了总计3亿条的文本对数据(1.3TB),其中英文文本对2亿条(634GB),中文文本对1亿条(666GB)。包括:wudao,cmrc2018,dureader,simclue,csl,amazon_reviews_multi,wiki_atomic_edits,mlqa,xlsum,Misc*,sentence-transformers Data,wikipedia,cc-net,stackexchange,reddit,S2orc
* [allenai/MADLAD-400](https://huggingface.co/datasets/allenai/MADLAD-400) MADLAD-400 (Multilingual Audited Dataset: Low-resource And Document-level) 是一个基于 Common Crawl 的文档级多语言数据集,共涵盖 419 种语言。这将使用截至 2022 年 8 月 1 日可用的 CommonCrawl 的所有快照。与类似数据集相比,此数据集的主要优点是它更多语言(419 种语言),经过审核和过滤,并且是文档级的。主要缺点也是它的强度 - 由于过滤程度更高,它可能缺乏某些应用程序所需的召回率。发布了两个版本:嘈杂数据集,除了文档级 LangID 之外没有过滤,以及干净数据集,它应用了各种过滤器,尽管它本身自然有相当多的噪音。每个数据集都以已删除重复数据的文档级形式发布。
* [data.baai.ac.cn/OL-CC](https://data.baai.ac.cn/details/OL-CC) OpenLabel-Chinese Conversations Dataset (OL-CC) 是首个以众包方式、人工生成的开源中文对话指令集,基于 openlabel.baai.ac.cn 开放平台进行数据收集,包含 10k+ “指令-回答”数据对和 1.6k+ 人工指令数据。指令类型丰富,包括问答任务、文本写作、文本抽取、编辑改写、分类选择、头脑风暴、 闲聊对话、逻辑&数学等任务。截至目前,已有 276 位志愿者参与了数据集的建设。志愿者完成了以下任务:a) 扮演人类用户向AI助手发出指令,b) 扮演AI助手根据上文指令撰写回答。两个任务为异步任务,因此本数据集分为两个部分:a) 完整的“指令-回答”对,b) 尚没有被回答的指令。
* [nickrosh/evol-teacher](https://github.com/nickrosh/evol-teacher) 开源 WizardCoder 数据集,此存储库实现了 WizardCoder 白文中描述的代码生成指令过程。目前,WizardCoder 是性能最高的代码生成模型之一,仅次于 ChatGPT。它采用 Code Alpaca 20k 数据集,并通过随机选择的进化提示来演化每条指令,以增加指令的复杂性。这些提示的范围从增加时间/空间复杂性到增加需求,再到添加错误代码以提高鲁棒性等。这通过修剪和后处理完成三次,以删除不需要的指令和响应。与Alpaca方法中通常生成的指令相比,更复杂的迭代添加提供了更高质量和更深入的指令。这与 WizardCoder 和 WizardLM 的情况一样,可以带来非常接近 RLHF 模型性能的强大性能。
* [FlagOpen/FlagInstruct](https://github.com/FlagOpen/FlagInstruct) 我们提出中文开放教学通才( COIG )项目来维护一套无害、有用且多样化的中文教学语料库。我们欢迎社区中的所有研究人员为语料库集做出贡献并与我们合作。我们发布COIG第一颗芯片只是为了帮助中国LLMs在探索阶段的发展,并吸引更多的研究人员加入我们建设COIG。我们引入了手动验证的翻译通用指令语料库、手动注释的考试指令语料库、人类价值对齐指令语料库、多轮反事实校正聊天语料库和 Leetcode 指令语料库。我们提供这些新的教学语料库来协助社区对中文LLMs教学进行调整。这些教学语料库也是如何有效构建和扩展新的汉语教学语料库的模板工作流程。
* [alisawuffles/WANLI](https://huggingface.co/datasets/alisawuffles/WANLI) WANLI (Worker-AI Collaboration for NLI) 是用于自然语言推理 (NLI) 任务的 108K 英语句子对的集合。每个示例都是通过首先在 MultiNLI (Williams et al., 2018) 中识别共享具有挑战性的推理模式的“口袋”示例来创建的,然后指示 GPT-3 编写具有相同模式的新示例。生成的示例集会自动过滤,以包含最有可能帮助模型训练的示例,最后由人工注释者进行标记和选择性修改。与现有的NLI数据集相比,万里具有独特的经验优势。值得注意的是,在 WANLI 而不是 MultiNLI(大 4 倍)上训练模型可以提高我们考虑的 7 个域外测试集的性能,包括 HANS 的 11% 和 Adversarial NLI 的 9%。
* [HuggingFaceFW/fineweb-edu](https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu) 从 FineWeb数据集中筛选出来的1.3T令牌和5.4T令牌(FineWeb-Edu-score-2)的教育网页组成。这是 1.3 万亿版本。为了提高 FineWeb 的质量,我们使用 LLama3-70B-Inform 生成的注释开发了一个教育质量分类器。然后,我们使用此分类器仅保留最具教育意义的网页。FineWeb-Edu 在流行的基准测试中优于 FineWeb,并显示了在合成数据上训练的分类器的强大功能。除了数据集(包括自 2013 年以来所有过滤的 CommonCrawl 转储)外,我们还发布了用于过滤的教育分类器以及用于训练和运行推理的代码,网址为:[huggingface/cosmopedia](https://github.com/huggingface/cosmopedia/tree/main/classification)
* [cognitivecomputations/dolphin](https://huggingface.co/datasets/cognitivecomputations/dolphin) 该数据集试图复制Microsoft的Orca的结果,我们的数据集包括:~100 万 FLANv2 通过 GPT-4 完成增强 (flan1m-alpaca-uncensored.jsonl),~350 万 FLANv2 增加了 GPT-3.5 完成 (flan5m-alpaca-uncensored.jsonl)。我们遵循了 Orca 论文中概述的子混音和系统提示分布。除了少数例外。我们将所有 75k 的 CoT 包含在 FLAN-1m 数据集中,而不是对其进行采样。此外,我们发现许多项目是重复的,因此我们删除了重复项,从而在 ChatGPT 数据集中产生了 3.5m 的指令。然后,我们过滤掉了对齐、拒绝、回避和偏见的实例,以生成一个未经审查的模型,可以在该模型上分层您的个性化对齐 LoRA。
* [allenai/c4](https://huggingface.co/datasets/allenai/c4) Common Crawl 的 Web 爬虫语料库的庞大、干净版本。基于 Common Crawl 数据集:“https://commoncrawl.org”。这是 Google C4 数据集的处理版本。我们准备了五种变体的数据: en 、 en.noclean 、 en.noblocklist、realnewslike 和 multilingual (mC4)。en :305GB,en.noclean :2.3TB, en.noblocklist :380GB,realnewslike :15GB,multilingual (mC4):9.7TB(108 个子集,每种语言一个)。该 en.noblocklist 变体与 en 变体完全相同,只是我们关闭了所谓的“坏词过滤器”,该过滤器会从 https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words 列表中删除所有包含单词的文档。
* [HuggingFaceH4/ultrachat_200k](https://huggingface.co/datasets/HuggingFaceH4/ultrachat_200k) 这是 UltraChat 数据集的严格过滤版本,用于训练 Zephyr-7B-β,这是一种最先进的 7b 聊天模型。原始数据集由 ChatGPT 生成的 1.4M 对话组成,涵盖广泛的主题。为了创建 UltraChat 200k ,我们应用了以下逻辑:选择数据子集,以便更快地进行监督微调。数据集的真大小写,正如我们观察到的那样,大约 5% 的数据包含语法错误。删除助手回复“我没有情绪”或“我没有意见”等短语的对话,即使是不涉及任何内容的基于事实的提示。数据集有四个拆分,适用于:监督微调 ( sft )。通过拒绝抽样或 PPO 等技术进行生成排名 ( gen )。
* [defunct-datasets/bookcorpusopen](https://huggingface.co/datasets/defunct-datasets/bookcorpusopen) 书籍是细粒度信息的丰富来源,包括人物、物体或场景的样子,以及高级语义,即某人在想什么、感受什么以及这些状态如何通过故事演变。此版本的 bookcorpus 有 17868 个数据集项(书籍)。每个项目都包含两个字段:标题和文本。标题是图书名称(仅文件名),而文本包含未处理的图书文本。该书料库由肖恩·普雷瑟(Shawn Presser)编写,并由The-Eye慷慨主持。The-Eye 是一个非营利性、社区驱动的平台,致力于存档和长期保存任何和所有数据,包括但不限于......网站、书籍、游戏、软件、视频、音频、其他数字暗箱和想法。
* [argilla/distilabel-capybara-dpo-7k-binarized](https://huggingface.co/datasets/argilla/distilabel-capybara-dpo-7k-binarized) 在 LDJnr/Capybara 上使用 distilabel 构建的 DPO 数据集。多回合对话数据是微调聊天模型的关键。最相关的 RLHF 作品(Anthropic、Meta Llama2 等)已使用多回合偏好数据。不幸的是,DPO/RLHF 的多轮开放数据集很少。该数据集是填补开源 AI 社区这一空白的一系列数据集中的第一个。该数据集是一个多回合偏好数据集,用于提高开源的聊天能力LLMs。选择和拒绝的配对按照 OpenAI 的对话格式进行格式化,用户和助手之间可能会有几次轮换。要将此数据集用于 DPO,请仅使用最后一条助手消息作为 chosen / rejected ,其余消息用作 prompt 。
* [benywon/ChiQA](https://github.com/benywon/ChiQA) 用于多模态理解的大规模基于图像的真实世界问答数据集。ChiQA中的问题是向搜索引擎发出的开放域用户查询。ChiQA中的图像也是从搜索引擎中收集的真实世界图像,与问题相关但不一定能回答问题。我们的数据众包包括两个阶段的主动学习过程。在第一阶段,我们从网络上随机收集样本。在第二阶段中,我们首先基于来自第一阶段的数据训练模型,然后使用训练好的模型在剩余数据上选择硬示例并继续标记。这两个阶段的设置使得数据更具挑战性,并且从本质上消除了对数据中某些属性或语言模式的不合理偏爱。
* [m-a-p/CodeFeedback-Filtered-Instruction](https://huggingface.co/datasets/m-a-p/CodeFeedback-Filtered-Instruction) 从四个著名的开源代码指令调优数据集中提取的精选代码指令查询集合:Magicoder-OSS-Instruct、ShareGPT 的 Python 代码子集、Magicoder-Evol-Install 和 Evol-Instruct-Code。最初,从这些数据集中聚合了 287k 个查询。为了分离出最复杂和最翔实的指令,采用了严格的过滤过程。这涉及利用开源聊天模型 Qwen-72B-Chat 进行选择性过滤。代码查询及其在编译数据集中的相应响应由 LLM分配的复杂度分数(从 1 到 5)进行评估,并且仅保留评级为 4 或 5 的代码查询作为种子集。这种细致的过滤过程最终收集了 156k 条高质量的单轮代码指令。
* [stanfordnlp.github.io/coqa](https://stanfordnlp.github.io/coqa/) 用于构建会话问答系统的大规模数据集。CoQA 挑战的目标是衡量机器理解文本段落和回答对话中出现的一系列相互关联的问题的能力。CoQA 包含 127,000+ 个问题,答案来自 8000+ 个对话。每个对话都是通过配对两个众包工作者以问答的形式聊天来收集的。CoQA 的独特功能包括 1) 问题是对话式的;2)答案可以是自由格式的文本;3)每个答案还带有段落中突出显示的证据子序列;4)这些段落是从七个不同的领域收集的。CoQA有许多具有挑战性的现象,这些现象在现有的阅读理解数据集中不存在,例如,共指和语用推理。
* [ydli-ai/CSL](https://github.com/ydli-ai/CSL) 首个中文科学文献数据集(CSL),包含 396,209 篇中文核心期刊论文元信息 (标题、摘要、关键词、学科、门类)。CSL 数据集可以作为预训练语料,也可以构建许多NLP任务,例如文本摘要(标题预测)、 关键词生成和文本分类等。取自 [国家科技资源共享服务工程技术研究中心](https://nstr.escience.net.cn/), 包含 2010-2020 年发表的期刊论文元信息(标题、摘要和关键词)。根据中文核心期刊目录进行筛选, 并标注学科和门类标签,分为 13 个门类(一级标签)和 67 个学科(二级标签)。 数据总量为 396,209 条。
* [Samsung/samsum](https://huggingface.co/datasets/Samsung/samsum) SAMSum 数据集包含大约 16k 个类似信使的对话和摘要。对话是由精通英语的语言学家创建和记录的。语言学家被要求创建与他们每天写的对话相似的对话,以反映他们现实生活中信使对接的主题比例。风格和语域是多样化的——对话可以是非正式的、半正式的或正式的,它们可能包含俚语、表情符号和错别字。然后,用摘要对对话进行注释。人们认为摘要应该是人们在对话中以第三人称谈论的内容的简明扼要。SAMSum 数据集由波兰三星研发研究所编制,并出于研究目的分发(非商业许可:CC BY-NC-ND 4.0)。
* [Project Gutenberg](https://www.gutenberg.org/) 古腾堡计划,拥有 70,000 多本免费电子书的图书馆。您将在这里找到世界上最伟大的文学作品,重点是美国版权已过期的旧作品。数以千计的志愿者将电子书数字化并认真校对,供您欣赏。古腾堡计划是第一家免费电子书或电子书的提供商。古腾堡计划的创始人迈克尔·哈特 (Michael Hart) 于 1971 年发明了电子书,他的记忆至今仍激励着电子书和相关内容的创作。迈克尔·哈特(Michael Hart)在2004年的一篇文章中提供了有关使命宣言的更多细节,以及指导古腾堡计划完成该使命的活动的一些信念。
* [Quartz/bad-data-guide](https://github.com/Quartz/bad-data-guide) Quartz不良数据指南是一个详尽的参考,涵盖了现实世界数据中常见的问题,并提供了相应的解决方案。该指南针对数据分析师和记者等数据使用者,列举了数据中可能出现的各种问题,并根据问题的性质建议了由数据源、数据使用者或专家解决的方案。该指南还涵盖了数据质量控制、数据清理和数据处理等方面的内容,旨在帮助数据使用者识别和解决数据问题,提高数据质量,确保数据分析结果的准确性和可靠性。该指南包含了中文、日语、葡萄牙语和西班牙语等多种语言版本。
* [WuDaoCorpora Text文本预训练数据集](https://data.baai.ac.cn/details/WuDaoCorporaText) 北京智源人工智能研究院(智源研究院)构建的大规模、高质量数据集,用于支撑大模型训练研究。目前由文本、对话、图文对、视频文本对四部分组成,分别致力于构建微型语言世界、提炼对话核心规律、打破图文模态壁垒、建立视频文字关联,为大模型训练提供坚实的数据支撑。采用20多种规则从100TB原始网页数据中清洗得出最终数据集,注重隐私数据信息的去除,源头上避免GPT-3存在的隐私泄露风险;包含教育、科技等50+个行业数据标签,可以支持多领域预训练模型的训练。
* [CausalLM/Refined-Anime-Text](https://huggingface.co/datasets/CausalLM/Refined-Anime-Text) 包含超过一百万条、约4400万个 GPT-4/3.5 token的、全新合成的文本数据集的动漫主题子集。该数据集此前从未公开发布过。由于社区对动漫文化的浓厚兴趣,且考虑到通识数据集中此类题材的代表性不足,以及原始文本中网络俚语和无关内容的泛滥而导致的低质量、难以清理的问题,我们决定发布这份子集供进一步研究。这份数据集旨在用于研究大型语言模型中网络亚文化的数据治理,并探索具有挑战性的 LLM 持续预训练问题,例如特定主题的知识蒸馏以及对未见知识的持续学习。
* [EleutherAI/lambada_openai](https://huggingface.co/datasets/EleutherAI/lambada_openai) 该数据集由OpenAI预处理的LAMBADA测试拆分组成(请参阅此处和此处的相关讨论)。它还包含德语、西班牙语、法语和意大利语的机器翻译版本。LAMBADA用于通过单词预测任务评估计算模型的文本理解能力。LAMBADA是叙事文本的集合,其共同特点是,如果人类受试者接触到整个文本,他们能够猜出他们的最后一个单词,但如果他们只看到目标单词前面的最后一个句子,则不能。为了在LAMBADA上取得成功,计算模型不能简单地依赖于本地上下文,而必须能够在更广泛的话语中跟踪信息。
* [allenai/ropes](https://huggingface.co/datasets/allenai/ropes) ROPES(情境中的段落效应推理)是一个 QA 数据集,用于测试系统将文本中的知识应用于新情境的能力。一个系统呈现了一个背景段落,其中包含因果关系或定性关系(例如,“动物传粉者提高了花朵受精的效率”),使用该背景的新情况,以及需要在上下文中推理背景段落中关系的影响的问题。阅读理解任务被框定为抽取式问答问题。模型通过计算单词级 F1 和完全匹配 (EM) 指标来评估,遵循最近阅读理解数据集(例如 SQuAD)的常见做法。数据集中的文本为英文文本。
* [CLUEbenchmark/SimCLUE](https://github.com/CLUEbenchmark/SimCLUE) 大规模语义理解与匹配数据集。可用于无监督对比学习、半监督学习等构建中文领域效果最好的预训练模型。可用于语义理解、语义相似度、召回与排序等检索场景等。整合了以上9个数据集:哈工大 LCQMC 数据集、AFQMC 蚂蚁金融语义相似度数据集、OPPO 小布对话文本语义匹配数据集、北大中文文本复述数据集 PKU-Paraphrase-Bank、Chinese-STS-B 数据集、Chinese-MNLI 自然语言推理数据集、Chinese-SNLI 自然语言推理数据集、 OCNLI 中文原版自然语言推理数据集、CINLID 成语语义推理数据集
* [argilla/distilabel-intel-orca-dpo-pairs](https://huggingface.co/datasets/argilla/distilabel-intel-orca-dpo-pairs) 该数据集是广泛使用的数据集的“分布式标记”版本:Intel/orca_dpo_pairs。原始数据集已被 100 多个开源从业者和模型使用。我们从修复UltraFeedback(以及在此之前的Alpacas和Dollys)中知道,这个数据集可以得到很大的改进。为了继续我们的使命,为开源LLMs和社区构建最佳的对齐数据集,我们花了几个小时使用 distilabel 对其进行改进。原始数据集只是假设 gpt4/3.5-turbo 始终是最佳响应。我们从UltraFeedback中了解到,情况并非总是如此。此外,DPO 微调受益于偏好对的多样性。
* [togethercomputer/Long-Data-Collections](https://huggingface.co/datasets/togethercomputer/Long-Data-Collections) 长上下文数据集的汇编,专门设计用于需要从大型文本输入中进行广泛理解和推理的任务。目前,它包含用于训练健壮基础模型的数据,这些数据可以在 pretrain/ 目录中找到。此外,它还包括针对特定需求量身定制的数据集,位于 fine-tune/ 目录中。这些专门的数据集包括源自自然问题的多段落问答和以 BookSum 数据集为例的长上下文摘要。预训练数据是用于训练 AI 模型的各种数据集的集合。这些数据集包括各种来源,提供广泛的信息,从书籍到科学论文和教学数据。
* [oscar-corpus/OSCAR-2301](https://huggingface.co/datasets/oscar-corpus/OSCAR-2301) OSCAR项目(Open Super-large Crawled Aggregated coRpus)是一个开源项目,旨在为机器学习(ML)和人工智能(AI)应用提供基于Web的多语言资源和数据集。该项目特别专注于提供大量未注释的原始数据,这些数据通常用于大型深度学习模型的预训练。OSCAR 项目开发了高性能数据管道,专门用于对大量 Web 数据进行分类和过滤。该项目还特别关注提高基于网络的语料库的数据质量,以及为资源匮乏的语言提供数据,以便尽可能多的社区能够使用这些新的机器学习/人工智能技术。
* [ErnestSDavis/winograd_wsc](https://huggingface.co/datasets/ErnestSDavis/winograd_wsc) Winograd 模式是一对句子,它们仅在一个或两个单词上有所不同,并且包含歧义,该歧义在两个句子中以相反的方式解决,并且需要使用世界知识和推理来解决它。数据集为英文。图灵测试的改进版本。此数据由专家手动编写,因此架构为:很容易被人类读者消除歧义(理想情况下,很容易,以至于读者甚至没有注意到存在歧义);无法通过简单的技术(例如选择限制)解决;谷歌证明;也就是说,没有明显的文本语料库统计测试可以可靠地正确地消除这些歧义。
* [super.gluebenchmark.com](https://super.gluebenchmark.com/) 在过去的一年里,用于预训练和迁移学习的新模型和方法在一系列语言理解任务中推动了显着的性能改进。一年多前推出的 GLUE 基准测试提供了一个单一数字的指标,总结了各种此类任务的进展,但该基准测试的性能最近超过了非专家人类的水平,这表明进一步研究的空间有限。在本文中,我们介绍了 SuperGLUE,这是一个以 GLUE 为风格的新基准测试,具有一组新的更困难的语言理解任务、一个软件工具包和一个公共排行榜。SuperGLUE 可在此 http URL 上获得。
* [katielink/healthsearchqa](https://huggingface.co/datasets/katielink/healthsearchqa) 谷歌为Med-PaLM论文(arXiv预印本)发布的消费者健康问题数据集。我们策划了自己的附加数据集,其中包含 3,173 个经常搜索的消费者问题,称为 HealthSearchQA。该数据集是使用种子医疗条件及其相关症状策划的。我们使用种子数据来检索由搜索引擎生成的公开可用的常用搜索问题,这些问题显示给所有输入种子词的用户。我们将数据集作为回答消费者医疗问题的开放基准发布,并希望这将成为社区的有用资源,作为反映现实世界消费者关注的数据集。
* [sheng-z.github.io/ReCoRD-explorer](https://sheng-z.github.io/ReCoRD-explorer/) 一个需要常识推理的大规模阅读理解数据集。ReCoRD 由从 CNN/Daily Mail 新闻文章自动生成的查询组成;每个查询的答案都是相应新闻的总结段落中的文本跨度。ReCoRD的目标是评估机器在阅读理解方面的常识推理能力。ReCoRD 包含来自 70,000+ 篇新闻文章的 120,000+ 个查询。每个查询都经过众包工作者的验证。与现有的阅读理解数据集不同,ReCoRD包含大量需要常识推理的查询,因此为未来的研究弥合人类和机器常识阅读理解之间的差距提出了很好的挑战。
* [BAAI/AquilaMoE-SFT](https://huggingface.co/BAAI/AquilaMoE-SFT) 构建了一个包含4TB中英文词元的双语预训练数据集。该数据集包括网页、arXiv 论文、百科全书数据、书籍、代码和 QA 对。它涵盖了广泛的高质量开源预训练数据,如 RedPajama-Data-V2、falcon-refinedweb、C4、Pile、WuDaoCorporaText、ChineseWebText 等。上述开源数据经过语言过滤以仅保留中英文文本,启发式细化以删除低质量内容,重复数据删除以保持唯一性,特定领域过滤以确保相关性,数据质量检查,去除有毒和露骨内容,最后以指定比例进行数据混合。
* [community-datasets/definite_pronoun_resolution](https://huggingface.co/datasets/community-datasets/definite_pronoun_resolution) 由作者本科班的 30 名学生组成。这些句子对涵盖的主题从真实事件(例如,伊朗袭击沙特驻美国大使的计划)到电影中的事件/角色(例如,蝙蝠侠)和纯粹的虚构情况,在很大程度上反映了流行文化,如90年代初出生的美国孩子所感知的。每个带注释的示例跨越四行:第一行包含句子,第二行包含目标代词,第三行包含两个候选先行词,第四行包含正确的先行词。如果目标代词在句子中出现不止一次,则它的第一个出现就是要解决的问题。
* [m-a-p/COIG-CQIA](https://huggingface.co/datasets/m-a-p/COIG-CQIA) COIG-CQIA全称为Chinese Open Instruction Generalist - Quality is All You Need, 是一个开源的高质量指令微调数据集,旨在为中文NLP社区提供高质量且符合人类交互行为的指令微调数据。COIG-CQIA以中文互联网获取到的问答及文章作为原始数据,经过深度清洗、重构及人工审核构建而成。本项目受LIMA: Less Is More for Alignment等研究启发,使用少量高质量的数据即可让大语言模型学习到人类交互行为,因此在数据构建中我们十分注重数据的来源、质量与多样性。
* [allenai/quac](https://huggingface.co/datasets/allenai/quac) Question Answering in Context 是一个用于建模、理解和参与信息搜索对话的数据集。数据实例由两个众包工作者之间的交互式对话组成:(1)一个学生提出一系列自由格式的问题,以尽可能多地了解隐藏的维基百科文本,以及(2)一个教师通过提供文本的简短摘录(跨度)来回答问题。QuAC 引入了现有机器理解数据集中没有的挑战:它的问题通常更加开放、无法回答,或者仅在对话上下文中才有意义。数据集中的文本为英文文本。
* [EleutherAI/wikitext_document_level](https://huggingface.co/datasets/EleutherAI/wikitext_document_level) WikiText语言建模数据集是从维基百科上经过验证的“良好”和“精选”文章中提取的超过1亿个标记的集合。该数据集可在知识共享署名-相同方式共享许可下使用。与Penn Treebank(PTB)的预处理版本相比,WikiText-2大2倍以上,WikiText-103大110倍以上。WikiText数据集还具有更大的词汇量,并保留了原始大小写,标点符号和数字 - 所有这些都在PTB中被删除。由于该数据集由完整的文章组成,因此非常适合可以利用长期依赖关系的模型。
* [garage-bAInd/Open-Platypus](https://huggingface.co/datasets/garage-bAInd/Open-Platypus) 该数据集专注于提高LLM逻辑推理能力,并用于训练鸭嘴兽2模型。它由以下数据集组成,这些数据集使用关键字搜索和句子转换器进行过滤,以删除相似度高于 80% 的问题。移除了 Hugging Face 基准测试集中出现的大约 200 个问题。数据集名称:PRM800K、MATH、ScienceQA、SciBench、ReClor、TheoremQA、nuprl/leetcode-solutions-python-testgen-gpt4、jondurbin/airoboros-gpt4-1.4.1、TigerResearch/tigerbot-kaggle-leetcodesolutions-en-2k、ARB、timdettmers/openassistant-guanaco
* [pleisto/wikipedia-cn-20230720-filtered](https://huggingface.co/datasets/pleisto/wikipedia-cn-20230720-filtered) 本数据集基于中文维基2023年7月20日的dump存档。作为一项以数据为中心的工作,本数据集仅保留了 254,547条 质量较高的词条内容。具体而言:过滤了Template, Category, Wikipedia, File, Topic, Portal, MediaWiki, Draft, Help等特殊类型的词条。使用启发式的方法和自有的NLU模型过滤了一部分质量较低的词条。过滤了一部分内容较为敏感或存在争议性的词条。进行了简繁转换和习惯用词转换,确保符合中国大陆地区的习惯用词。
* [community-datasets/gnad10](https://huggingface.co/datasets/community-datasets/gnad10) 10k 德语新闻文章数据集由来自奥地利在线报纸网站 DER Standard 的 10273 篇德语新闻文章组成。每篇新闻文章都由报纸雇用的专业论坛版主分为 9 类之一。该数据集是从原始的 One Million Posts 语料库扩展而来的。创建该数据集是为了支持德语中的主题分类,因为在英语数据集上有效的分类器在德语数据集上可能不那么有效,因为变形量更大,复合词更长。此外,该数据集可用作德语主题分类的基准数据集。
* [community-datasets/eu_regulatory_ir](https://huggingface.co/datasets/community-datasets/eu_regulatory_ir) 欧盟 (EU) 有一个类似于组织监管合规的立法计划。根据《欧盟运作条约》(TFEU),所有公布的欧盟指令必须在国家层面生效。因此,所有欧盟成员国都必须通过一项法律,在指令规定的期限内(通常为 2 年)转换新发布的指令。在这里,我们有两个数据集,EU2UK 和 UK2EU,包含欧盟指令和英国法规,它们既可以作为查询,也可以作为文档,前提是英国法律与其转换的欧盟指令相关,反之亦然。
* [hotpotqa/hotpot_qa](https://huggingface.co/datasets/hotpotqa/hotpot_qa) HotpotQA 是一个具有 113k 个基于维基百科的问答对的新数据集,具有四个关键特征:(1) 问题需要对多个支持文档进行查找和推理才能回答;(2)问题多种多样,不局限于任何预先存在的知识库或知识图式;(3)我们提供推理所需的句子级支持事实,允许QA系统在强有力的监督下进行推理并解释预测;(4)我们提供了一种新型的事实比较问题,以测试QA系统提取相关事实并进行必要比较的能力。
* [nvidia/ChatRAG-Bench](https://huggingface.co/datasets/nvidia/ChatRAG-Bench) ChatRAG Bench 是评估模型对文档或检索上下文的对话 QA 能力的基准。ChatRAG Bench 建立在 10 个现有数据集之上并派生而来:Doc2Dial、QuAC、QReCC、TopioCQA、INSCIT、CoQA、HybriDialogue、DoQA、SQA、ConvFinQA。ChatRAG Bench 涵盖了广泛的文档和问题类型,这些文档和问题类型要求模型从长上下文中生成响应、理解和推理表格、进行算术计算以及指示何时在上下文中找不到问题。此处介绍了此基准测试的详细信息。
* [Replete-AI/code_bagel](https://huggingface.co/datasets/Replete-AI/code_bagel) 大约 8 亿个唯一编码数据,支持 100 多种编码语言。该数据集包含 320 万+行高质量、过滤、未经审查、重复数据删除、唯一的编码数据。创建此数据集的过程如下:下载所有单个数据集。使用 Meta.ai 创建代码,将数据集中的数据提取为 alpaca 格式,并为其中的大多数添加指令。使用相同的提取方法将所有数据集合并为 1 个数据集。使用 Claude.ai 创建代码以对数据进行重复数据删除和取消审查。
* [EleutherAI/the-pile](https://github.com/EleutherAI/the-pile) ThePile 是一个大型、多样化、开源的语言建模数据集,由多个较小的数据集组合而成,旨在从尽可能多的模态获取文本,以确保使用 The Pile 训练的模型具有更广泛的泛化能力。该项目提供代码用于复制或制作 The Pile 的变体,并提供 The Pile数据集的下载链接。The Pile 包含 24 个子数据集,总大小超过 1.25TB,每个子数据集都经过精心选择,以确保数据集的多样性和代表性。
* [smashwords.com](https://www.smashwords.com/about) 欢迎来到 Smashwords 商店!浏览近 100 万本原创电子书,包括每天免费定价的约 100,000 本。强大的搜索工具可让您轻松找到下一本精彩读物。Smashwords 是一家电子书零售商,为全球读者提供服务。截至 2022 年底,Smashwords 正在帮助全球超过 160,000 名作者和小型出版社出版和发行近 600,000 本电子书。 同样到 2022 年底,Smashwords Store 连续第六年实现销售额增长,再创纪录。
* [open-web-math/open-web-math](https://huggingface.co/datasets/open-web-math/open-web-math) OpenWebMath 是一个数据集,包含来自互联网的大部分高质量数学文本。它从 Common Crawl 上的 200B 多个 HTML 文件中过滤和提取到一组 630 万个文档,总共包含 14.7B 个令牌。OpenWebMath 旨在用于预训练和微调大型语言模型。OpenWebMath 包含来自 130k 多个不同域的文档,包括来自论坛、教育页面和博客的数据。该数据集包含涵盖数学、物理、统计学、计算机科学等的文档。
* [text-machine.cs.uml.edu/quail](https://text-machine.cs.uml.edu/lab2/projects/quail/) 一种新的问答数据集,它结合了常识性、基于文本和无法回答的问题,针对不同的类型和推理类型进行了平衡。9 种推理类型的推理类型注释:时间推理、因果推理、事实推理、共指推理、字符属性、其信念状态、后续实体状态、事件持续时间和不可回答。类型:CC 许可小说、美国之音新闻、博客、Quora 800 文本中的用户故事,每个 18 个问题(~14K 个问题)。
* [deweizhu/bookget](https://github.com/deweizhu/bookget) bookget是一个数字古籍图书下载工具,已支持 50+ 个数字古籍平台,并持续更新。用户可通过 GitHub Releases 页面下载最新版本,并参考 Wiki 文档进行使用。该工具基于 Golang 开发,可用于学习研究,也可自行编译使用。bookget 旨在提供便捷的数字古籍下载方式,并支持 Windows 10/11 x64 系统。该项目以清代古籍《易经》为例,展示了 bookget 的使用方式和功能。
* [zejunwang1/CSTS:](https://github.com/zejunwang1/CSTS) 中文自然语言推理与语义相似度数据集。哈工大 LCQMC 数据集;AFQMC 蚂蚁金融语义相似度数据集;OPPO 小布对话文本语义匹配数据集;谷歌 PAWS-X 数据集;北大中文文本复述数据集 PKU-Paraphrase-Bank;Chinese-STS-B 数据集;Chinese-MNLI 自然语言推理数据集;Chinese-SNLI 自然语言推理数据集;OCNLI 中文原版自然语言推理数据集;CINLID 中文成语语义推理数据集
* [OpenAssistant/oasst1](https://huggingface.co/datasets/OpenAssistant/oasst1) 为了使大规模对齐研究民主化,我们发布了 OpenAssistant Conversations (OASST1),这是一个人工生成的、人工注释的助手式对话语料库,由 35 种不同语言的 161,443 条消息组成,带有 461,292 个质量评级的注释,产生了超过 10,000 个完全注释的对话树。该语料库是全球众包工作的产物,涉及 13,500 多名志愿者。OpenAssistant Conversations 包含 35 种不同的语言。
* [ceval/ceval-exam](https://huggingface.co/datasets/ceval/ceval-exam) C-Eval是一个全面的中文基础模型评估套件。它由 13948 道多项选择题组成,涵盖 52 个不同的学科和四个难度级别。每个主题由三个部分组成:dev、val 和 test。每个主题的开发集由五个示例组成,并附有对少镜头评估的解释。val 集旨在用于超参数优化。测试集用于模型评估。测试拆分上的标签不发布,用户需要提交结果才能自动获得测试精度。
* [EleutherAI/proof-pile-2](https://huggingface.co/datasets/EleutherAI/proof-pile-2) 包含 550 亿个数学和科学文档的词元数据集。创建此数据集是为了训练 Llemma 7B 和 Llemma 34B 模型。它由三个子集组成:arxiv (29B 词元):RedPajama 的 ArXiv 子集;open-web-math (15B tokens):OpenWebMath 数据集,其中包含来自互联网的大量高质量数学文本;algebraic-stack (11B tokens):一个新的数学代码数据集,包括数值计算、计算机代数和形式数学。
* [dwyl/english-words](https://github.com/dwyl/english-words) 该项目提供了一个包含超过479,000个英文单词的文本文件,可用于各种字典或基于单词的项目,例如自动完成或自动建议功能。该项目从一个Excel文件提取了单词,并将其整理成一个简单的换行分隔的文本文件,方便开发者使用。项目还提供了其他文件,例如仅包含字母的单词列表和 JSON 格式的单词字典,方便开发者在不同场景下使用。
* [tiiuae/falcon-refinedweb](https://huggingface.co/datasets/tiiuae/falcon-refinedweb) 由 TII 构建并在 ODC-By 1.0 许可下发布的海量英语网络数据集。通过对 CommonCrawl 进行严格的过滤和大规模重复数据删除而构建的;我们发现,在 RefinedWeb 上训练的模型在仅依赖于 Web 数据的情况下,可以达到在线性能或优于在精选数据集上训练的模型。RefinedWeb 也是“多模态友好”的:它包含处理过的样本中图像的链接和替代文本。
* [Open-Orca/OpenOrca](https://huggingface.co/datasets/Open-Orca/OpenOrca) OpenOrca 数据集是增强的 FLAN 集合数据的集合。目前 ~1M GPT-4 完成,~3.2M GPT-3.5 完成。它与ORCA论文中提出的分布一致,以表格形式呈现,目前代表了完整预期数据集的部分完成,并且正在不断生成以扩大其范围。这些数据主要用于自然语言处理领域的训练和评估。该数据集支持多种任务,包括语言建模、文本生成和文本增强。
* [commoncrawl.org](https://commoncrawl.org/) Common Crawl 维护着一个免费、开放的 Web 爬虫数据存储库,任何人都可以使用。Common Crawl 是一家成立于 2007 年的 501(c)(3) 非营利组织。我们为研究人员提供开放网络数据的大规模提取、转换和分析。超过 2500 亿个网页,跨越 17 年。自 2007 年以来免费开放语料库。在超过10,000篇研究论文中被引用。每月添加 3-50 亿个新页面。
* [OpenAssistant/oasst2](https://huggingface.co/datasets/OpenAssistant/oasst2) Open Assistant 对话数据集第 2 版 (OASST2),此数据集包含消息树。每个消息树都有一个初始提示消息作为根节点,该节点可以有多个子消息作为回复,并且这些子消息可以有多个回复。所有消息都有一个角色属性:可以是“assistant”或“prompter”。从提示到叶节点的对话线程中的角色在“提示器”和“助手”之间严格交替。
* [CASIA-LM/ChineseWebText](https://github.com/CASIA-LM/ChineseWebText) 该项目发布了名为 ChineseWebText 的大型高质量中文数据集,包含 1.42 TB 的数据,每个文本都分配了质量评分,方便 LLM研究人员根据新的质量阈值选择数据。项目还发布了一个更干净的子集,包含 600 GB 的中文文本,质量超过 90%。该项目还提供了一个名为 EvalWeb 的工具链,用于处理 CommonCrawl 数据以获取高质量的中文数据。
* [dumps.wikimedia.org](https://dumps.wikimedia.org/) 维基媒体下载,所有维基媒体wiki的完整副本,以wiki文本源和嵌入XML的元数据的形式出现。此外,还提供了许多 SQL 形式的原始数据库表。这些快照至少每月提供一次,通常每月提供两次。如果您是这些转储的常规用户,请考虑订阅 xmldatadumps-l 以获取定期更新。所有维基百科wiki中所有页面的副本,以HTML形式呈现。
* [esbatmop/MNBVC](https://github.com/esbatmop/MNBVC) Massive Never-ending BT Vast Chinese corpus超大规模中文语料集。对标chatGPT训练的40T数据。MNBVC数据集不但包括主流文化,也包括各个小众文化甚至火星文的数据。MNBVC数据集包括新闻、作文、小说、书籍、杂志、论文、台词、帖子、wiki、古诗、歌词、商品介绍、笑话、糗事、聊天记录等一切形式的纯文本中文数据。
* [lmsys/chatbot_arena_conversations](https://huggingface.co/datasets/lmsys/chatbot_arena_conversations) 该数据集包含 33K 个具有成对人类偏好的清理对话。它是从 2023 年 4 月至 6 月期间聊天机器人竞技场上的 13K 个唯一 IP 地址中收集的。每个示例都包括一个问题 ID、两个模型名称、OpenAI API JSON 格式的完整对话文本、用户投票、匿名用户 ID、检测到的语言标签、OpenAI 审核 API 标签、附加有毒标签和时间戳。
* [bigcode/the-stack](https://huggingface.co/datasets/bigcode/the-stack) 包含超过 6TB 的许可源代码文件,涵盖 358 种编程语言。该数据集是作为 BigCode 项目的一部分创建的,BigCode 项目是一个开放的科学合作项目,致力于负责任地开发代码的大型语言模型 (代码LLMs)。用作代码LLMs的预训练数据集,即代码生成 AI 系统,它能够从自然语言描述以及其他代码片段中合成程序。
* [microsoft/orca-math-word-problems-200k](https://huggingface.co/datasets/microsoft/orca-math-word-problems-200k) 该数据集包含 ~200K 个小学数学单词问题。此数据集中的所有答案都是使用 Azure GPT4-Turbo 生成的。有关数据集构建的详细信息,请参阅 Orca-Math: Unlocking the potential of SLM in Elementary School Math。该数据集旨在增强语言模型的数学能力。它旨在为语言模型提供坚实的基础,使其在数学问题解决方面表现出色。
* [eecrazy/CausalBank](https://github.com/eecrazy/CausalBank) 非常大规模、开放的领域、句子级、平行的因果语料库。按照句子中出现的因果顺序分为两部分:because_mode(结果,然后是原因)和therefore_mode(原因,然后是结果)。使用预处理的英语通用爬虫语料库 (5.14 TB) 中的细粒度因果模板匹配获得的,完全自动,无需任何人工注释。里面或多或少有噪音。
* [microsoft/AGIEval](https://github.com/microsoft/AGIEval) 以人为本的基准,专门用于评估基础模型在与人类认知和解决问题相关的任务中的一般能力。该基准源自 20 项针对普通人类考生的官方、公共和高标准入学和资格考试,例如普通大学入学考试(例如,中国高考(高考)和美国 SAT)、法学院入学考试、数学竞赛、律师资格考试和国家公务员考试。
* [RUCAIBox/TG-ReDial](https://github.com/RUCAIBox/TG-ReDial) 电影领域的对话推荐数据集TG-ReDial (Recommendation through Topic-Guided Dialog)。包含1万个完整对话和近13万条语句,加入了话题线索以实现将用户引导至推荐场景这一语义的自然转移,并采用半自动的方式构建,保留了用户真实的个性化信息(如交互历史,偏好主题),使得人工标注过程更加合理可控。
* [m-a-p/CMMMU](https://huggingface.co/datasets/m-a-p/CMMMU) CMMMU包括从大学考试,测验和教科书中手动收集的12k个多模态问题,涵盖六个核心学科:艺术与设计,商业,科学,健康与医学,人文与社会科学以及技术与工程,就像它的同伴MMMU一样。这些问题涉及 30 个主题,包括 39 种高度异质的图像类型,例如图表、图表、地图、表格、乐谱和化学结构。
* [MBZUAI/Bactrian-X](https://huggingface.co/datasets/MBZUAI/Bactrian-X) Bactrain-X 数据集是 52 种语言的 3.4M 指令-响应对的集合,通过使用 Google 翻译 API 将 67K 英语指令 (alpaca-52k + dolly-15k) 翻译成 51 种语言获得。然后将翻译后的指令输入到 ChatGPT ( gpt-3.5-turbo ) 以获得其自然响应,从而产生 52 种语言的 3.4M 指令-响应对(52 种语言 x 67k 个实例 = 3.4M 个实例)。
* [statmt/cc100](https://huggingface.co/datasets/statmt/cc100) 该语料库试图重新创建用于训练 XLM-R 的数据集。该语料库包括 100+ 种语言的单语数据,还包括罗马化语言的数据(用 *_rom 表示)。这是使用 CC-Net 存储库通过处理 2018 年 1 月至 12 月的 Commoncrawl 快照提供的 url 和段落索引构建的。CC-100 主要用于预训练语言模型和单词表示。语言:多语言。
* [nyu-mll/multi_nli](https://huggingface.co/datasets/nyu-mll/multi_nli) 多类型自然语言推理 (MultiNLI) 语料库是一个众包集合,包含 433k 个句子对,并带有文本蕴涵信息注释。该语料库以 SNLI 语料库为蓝本,但不同之处在于它涵盖了一系列类型的口语和书面文本,并支持独特的跨体裁概括评估。该语料库是哥本哈根EMNLP的RepEval 2017研讨会共同任务的基础。
* [codefuse-ai/CodeExercise-Python-27k](https://huggingface.co/datasets/codefuse-ai/CodeExercise-Python-27k) 该数据集由 27K Python 编程练习(英文)组成,涵盖数百个与 Python 相关的主题,包括基本语法和数据结构、算法应用、数据库查询、机器学习等。请注意,此数据集是在教师模型和 Camel 的帮助下生成的,没有经过严格的验证。问题或答案中可能存在错误或语义重复,因此请谨慎使用。
* [csebuetnlp/xlsum](https://huggingface.co/datasets/csebuetnlp/xlsum) 全面而多样化的数据集,包含来自 BBC 的 135 万个专业注释的文章摘要对,使用一组精心设计的启发式方法提取。该数据集涵盖了 45 种语言,从低资源到高资源,其中许多语言目前没有可用的公共数据集。XL-Sum 具有高度抽象性、简洁性和高质量,正如人类和内在评估所表明的那样。
* [argilla/OpenHermesPreferences](https://huggingface.co/datasets/argilla/OpenHermesPreferences) 包含 ~100 万个 AI 偏好的数据集,源自 teknium/OpenHermes-2.5。它将来自源数据集的响应与其他两个模型(Mixtral-8x7B-Instruct-v0.1 和 Nous-Hermes-2-Yi-34B)的响应相结合,并使用 PairRM 作为偏好模型来进行评分和排名。该数据集可用于训练偏好模型或通过直接偏好优化(DPO)等技术对齐语言模型。
* [defunct-datasets/the_pile_books3](https://huggingface.co/datasets/defunct-datasets/the_pile_books3) 该数据集包含所有纯.txt形式的书目,即 197,000 本书的处理方式与 bookcorpusopen(又名 books1)完全相同。似乎类似于 OpenAI 在他们论文中引用的神秘的“books2”数据集。不幸的是,OpenAI 不会提供细节,所以我们对任何差异知之甚少。人们怀疑这是“全部的自由”,但这纯粹是猜想。
* [togethercomputer/RedPajama-Data-V2](https://huggingface.co/datasets/togethercomputer/RedPajama-Data-V2) RedPajama-V2 是一个用于训练大型语言模型的开放数据集。该数据集包括来自 84 个 CommonCrawl 快照的 100B 多个文本文档,并使用 CCNet 管道进行处理。其中,语料库中有 30B 个文档还带有质量信号。此外,我们还提供了重复文档的 ID,可用于创建包含 20B 重复数据删除文档的数据集。
* [lmsys/lmsys-chat-1m](https://huggingface.co/datasets/lmsys/lmsys-chat-1m) 该数据集包含 100 万个真实世界的对话和 25 个最先进的 LLMs.它是从 2023 年 4 月至 8 月期间在 Vicuna 演示和 Chatbot Arena 网站上从野外的 210K 个唯一 IP 地址中收集的。每个示例都包含对话 ID、模型名称、OpenAI API JSON 格式的对话文本、检测到的语言标记和 OpenAI 审核 API 标记。
* [allenai/quartz](https://huggingface.co/datasets/allenai/quartz) QuaRTz 是一个众包数据集,包含 3864 个关于开放域定性关系的多项选择题。每个问题都与 405 个不同的背景句子(有时是短段落)中的一个配对。QuaRTz 数据集 V1 包含 3864 个关于开放域定性关系的问题。每个问题都与 405 个不同的背景句子(有时是短段落)中的一个配对。
* [HuggingFaceH4/stack-exchange-preferences](https://huggingface.co/datasets/HuggingFaceH4/stack-exchange-preferences) 此数据集包含来自stack-exchange堆栈溢出数据转储的问题和答案,用于首选项模型训练。重要的是,这些问题已经过过滤,以符合以下偏好模型标准(紧随 Askell 等人,2021 年):有 >=2 个答案。这些数据还可用于教学微调和语言模型训练。仅英语,可能存在其他语言。
* [InsaneLife/ChineseNLPCorpus](https://github.com/InsaneLife/ChineseNLPCorpus) 中文自然语言处理数据集,阅读理解、任务型对话数据、文本分类、实体识别&词性标注&分词、句法&语义解析、推荐系统、百科数据、指代消歧、预训练:(词向量or模型)、中文完形填空数据集、中华古诗词数据库、保险行业语料库、汉语拆字字典。
* [thunlp/Few-NERD](https://github.com/thunlp/Few-NERD) 一个大规模的人工标注的用于少样本命名实体识别任务的数据集。该数据集包含8种粗粒度和66种细粒度实体类型,每个实体标签均为粗粒度+细粒度的层级结构,共有18万维基百科句子,460万个词,每个词都被注释为上下文(context)或一个实体类型的一部分。
* [rajpurkar/squad](https://huggingface.co/datasets/rajpurkar/squad) 斯坦福问答数据集 (SQuAD) 是一个阅读理解数据集,由众包工作者在一组维基百科文章中提出的问题组成,其中每个问题的答案都是相应阅读段落中的一段文本或跨度,或者问题可能无法回答。SQuAD 1.1 包含 100,000+ 个问答对,涉及 500+ 篇文章。语言:英语。
* [wikimedia/wikipedia](https://huggingface.co/datasets/wikimedia/wikipedia) 该数据集是从维基百科转储 ( https://dumps.wikimedia.org/) 构建的,每种语言都有一个子集,每个子集都包含一个火车拆分。每个示例都包含一个完整的维基百科文章的内容,并清理以去除 Markdown 和不需要的部分(参考文献等)。该数据集通常用于语言建模。
* [houbb/sensitive-word](https://github.com/houbb/sensitive-word) 敏感词/违禁词/违法词/脏词。基于 DFA 算法实现的高性能 java 敏感词过滤工具框架。请勿发布涉及政治、广告、营销、翻墙、违反国家法律法规等内容。高性能敏感词检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。
* [BelleGroup/multiturn_chat_0.8M](https://huggingface.co/datasets/BelleGroup/multiturn_chat_0.8M) 包含约80万条由BELLE项目生成的用户与助手的多轮对话。注意:此数据集是由ChatGPT产生的,未经过严格校验,内容可能包含错误。使用过程中请注意这一点。instruction中包含多轮对话的上文内容,以Human:和Assistant:区分,output中包含当前助手角色的回答。
* [Werneror/Poetry](https://github.com/Werneror/Poetry) 这是一个包含了从先秦到现代共计85万余首古诗词的项目,数据存储在两个 CSV 文件中,包含标题、朝代、作者和内容等信息。诗词中可能存在生僻字,使用 utf8mb4 编码,方便用户使用。项目还提供了一个 API接口,方便用户查询和使用诗词数据。
* [jondurbin/airoboros-gpt4-1.4.1](https://huggingface.co/datasets/jondurbin/airoboros-gpt4-1.4.1) 数据由 gpt-4 生成,因此受 OpenAI ToS 的约束。用于生成数据 airoboros 的工具是 apache-2。此训练数据的具体重点领域:琐事、数学、荒谬的数学、编码、封闭式上下文问答、封闭式语境问答,有多个语境可供选择作为混杂因素、写作、多选题等。
* [doc2dial/sharedtask-dialdoc2021](https://github.com/doc2dial/sharedtask-dialdoc2021) doc2dial是IBM发布的基于文档的对话数据集,包含两个任务:1)从文档中检索和问题相关的句子(information-seeking);2)基于上一步结果生成合理答复(response generation) 数据集共有4个不同领域的480篇文档,4800个多轮对话,每个对话平均有14次交互。
* [pluto-junzeng/CNSD](https://github.com/pluto-junzeng/CNSD) 中文自然语言推理数据集(A large-scale Chinese Nature language inference and Semantic similarity calculation Dataset) 本数据及通过翻译加部分人工修正的方法,从英文原数据集生成,可以一定程度缓解中文自然语言推理和语义相似度计算数据集不够的问题。
* [ought/raft](https://huggingface.co/datasets/ought/raft) 真实世界的注释小样本任务 (RAFT) 数据集是在现实世界中发现的英语数据集的聚合。与每个数据集相关的是二元或多类分类任务,旨在提高我们对语言模型在具有具体现实价值的任务上的表现的理解。每个数据集中仅提供 50 个标记示例。
* [sheepzh/poetry](https://github.com/sheepzh/poetry) 这是一个汉语现代诗歌语料库,包含3489位诗人,81.7K首诗歌,15.43M字,持续更新中。该项目旨在为研究人员和爱好者提供一个方便的诗歌资源,可以用于诗歌分析、文本挖掘等研究。用户可以浏览诗歌、诗人信息,并贡献自己的诗歌作品。
* [legacy-datasets/wikipedia](https://huggingface.co/datasets/legacy-datasets/wikipedia) 维基百科数据集包含所有语言的清理文章。数据集是从维基百科转储 ( https://dumps.wikimedia.org/) 构建的,每种语言都有一个拆分。每个示例都包含一个完整的维基百科文章的内容,并清理以去除 Markdown 和不需要的部分(参考文献等)。
* [codemayq/chinese_chatbot_corpus](https://github.com/codemayq/chinese_chatbot_corpus) 对目前市面上已有的开源中文聊天语料的搜集和系统化整理工作。包含chatterbot、豆瓣多轮、PTT八卦语料、青云语料、电视剧对白语料、贴吧论坛回帖语料、微博语料、小黄鸡语料,共8个公开闲聊常用语料和短信,白鹭时代问答等语料。
* [javayhu/poetry](https://github.com/javayhu/poetry) 这是一个包含了73281首古诗词和3156位诗人信息的古诗词数据库,数据来源于古诗文网,并经过整理和规范化处理,方便用户进行查询和研究。数据库包含了诗词文本、诗人信息、图片等内容,并已应用于诗词Android客户端和微信小程序。
* [GuocaiL/nlp_corpus](https://github.com/GuocaiL/nlp_corpus) open_ner_data网上开放的ner数据集、boson数据集、clue细粒度实体识别数据集、微软实体识别数据集、人民网实体识别数据集(98年)、中药说明书实体识别数据集(“万创杯”中医药天池大数据竞赛)、视频_音乐_图书数据集、微博数据集
* [IWSLT/iwslt2017](https://huggingface.co/datasets/IWSLT/iwslt2017) IWSLT 2017 多语言任务通过单一的 MT 系统处理文本翻译,包括零样本翻译,包括英语、德语、荷兰语、意大利语和罗马尼亚语。作为非官方任务,传统的双语文本翻译提供英语和阿拉伯语、法语、日语、中文、德语和韩语之间的翻译。
* [verazuo/jailbreak_llms](https://github.com/verazuo/jailbreak_llms) CCS‘24 一个数据集由来自 Reddit、Discord、网站和开源数据集的 15,140 个 ChatGPT 提示(包括 1,405 个越狱提示)组成。为了评估越狱提示的有效性,我们构建了一个问题集,其中包含 OpenAI 使用政策中采用的 13 个禁止场景的 390 个问题。
* [ydli-ai/CSL](https://github.com/ydli-ai/CSL) 首个中文科学文献数据集(CSL),包含 396,209 篇中文核心期刊论文元信息 (标题、摘要、关键词、学科、门类)。CSL 数据集可以作为预训练语料,也可以构建许多NLP任务,例如文本摘要(标题预测)、 关键词生成和文本分类等。
* [CohereForAI/aya_dataset](https://huggingface.co/datasets/CohereForAI/aya_dataset) 一个 Aya Dataset 多语言教学微调数据集,由开放科学社区通过 Cohere For AI 的 Aya Annotation Platform 策划。该数据集总共包含 204k 个人工注释的提示完成对以及注释者的人口统计数据。该数据集可用于训练、微调和评估多语言LLMs语言。
* [CLUEbenchmark/CLUECorpus2020](https://github.com/CLUEbenchmark/CLUECorpus2020) 通过对[Common Crawl](http://commoncrawl.org)的中文部分进行语料清洗,最终得到100GB的高质量中文预训练语料。实验产出的模型见:[高质量中文预训练模型,大号、超小和相似度预训练模型。](https://github.com/CLUEbenchmark/CLUEPretrainedModels)
* [anon8231489123/ShareGPT_Vicuna_unfiltered](https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered) ~100k ShareGPT 对话通过以下方式缩小到 53k:删除非英语对话,删除过多的 unicode(通常表示中文或韩文文本),删除过多的重复字符,删除各种实例“AI 道德化”,删除了带有这些短语的对话(以及此处无法提及的其他短语)。
* [TIGER-Lab/MathInstruct](https://huggingface.co/datasets/TIGER-Lab/MathInstruct) 精心策划的指令调优数据集,轻量级但可通用。MathInstruct 由 13 个数学原理数据集编译而成,其中 6 个是这项工作新策划的。它特别关注思维链 (CoT) 和思维程序 (PoT) 原理的混合使用,并确保广泛覆盖不同的数学领域。
* [timdettmers/openassistant-guanaco](https://huggingface.co/datasets/timdettmers/openassistant-guanaco) 此数据集是 Open Assistant 数据集的子集,可在此处找到:[OpenAssistant/oasst1](https://huggingface.co/datasets/OpenAssistant/oasst1/tree/main) 此数据子集仅包含会话树中评分最高的路径,共有 9,846 个样本。该数据集用于使用 QLoRA 训练 Guanaco。
* [Marsan-Ma-zz/chat_corpus](https://github.com/Marsan-Ma-zz/chat_corpus) 来自各种开源的聊天语料库集合 open_subtitles 英文电影字幕解析, movie_subtitles_cn 康奈尔电影对话语料库, 歌词_zh 来自 PTT 论坛的歌词,witter_en 来自 twitter 的语料库(700k 行),twitter_en big更大尺寸的 twitter 语料库(5M 行)
* [tasksource/oasst1_pairwise_rlhf_reward](https://huggingface.co/datasets/tasksource/oasst1_pairwise_rlhf_reward) 主要用于奖励建模(reward modeling)。该数据集包含2万条多语言的oasst1 reward数据,用于训练基于人类反馈的强化学习模型(RLHF)。这些数据通过比较不同响应的有用性来生成奖励信号,从而帮助改进文本生成模型的表现。
* [paracrawl.eu](https://paracrawl.eu/) 更广泛/持续地提供欧洲语言的平行语料库。该语料库是作为 ParaCrawl 项目的一部分发布的,该项目由欧盟通过连接欧洲基金共同资助。第 9 版是 ParaCrawl Action 3 的最终版本:“继续为欧洲语言提供并行语料库的 Web-Scale”。
* [liuhaotian/LLaVA-Instruct-150K](https://huggingface.co/datasets/liuhaotian/LLaVA-Instruct-150K) 数据集类型:LLaVA Visual Instruct 150K 是一组 GPT 生成的多模态指令跟踪数据。它用于视觉指令调整和构建面向 GPT-4 视觉/语言能力的大型多模态。数据集日期:LLaVA Visual Instruct 150K 于 2023 年 4 月通过提示 GPT-4-0314 API 收集。
* [IceFlameWorm/NLP_Datasets](https://github.com/IceFlameWorm/NLP_Datasets) 中文NLP数据集,ATEC语义相似度学习赛数据集、CCKS 2018 微众银行智能客服问句匹配大赛数据集、ATEC + CCKS 2018 组合数据集(互金客服场景)、哈工大BQ_corpus数据集(语义相似度)、哈工大LCQMC数据集(语义相似度)。
* [unicamp-dl/mMARCO](https://github.com/unicamp-dl/mMARCO) MS MS MARCO 段落排名数据集的多语言版本。翻译了 MS MARCO 段落排名数据集,这是一个大规模的 IR 数据集,包含从 Bing 的搜索查询日志中抽取的超过五十万个匿名问题。mMARCO 包括 14 种语言(包括原始英文版本)。
* [BERT-CCPoem](https://thunlp.oss-cn-qingdao.aliyuncs.com/BERT_CCPoem_v1.zip) 是完全基于一个囊括了几乎所有中国古典诗词的语料库CCPC-Full v1.0训练而成的,该语料库共计926,024首诗词及8,933,162个诗词句子。[THUNLP-AIPoet/BERT-CCPoem](https://github.com/THUNLP-AIPoet/BERT-CCPoem) 中国古典诗词预训练模型
* [GAIR/lima](https://huggingface.co/datasets/GAIR/lima) 仅需要少量的指令微调数据(1000条)就可以教会模型产生高质量输出。此外,1000条SFT数据就达到了很好的指令微调效果,也说明了高质量数据对于模型的重要性,这一点与 Textbooks Are All You Need 有异曲同工之妙。
* [allenai.org/data/quoref](https://allenai.org/data/quoref) Quoref 是一个 QA 数据集,用于测试阅读理解系统的核心推理能力。在这个跨度选择基准中,包含来自维基百科的 4.7K 个段落的 24K 个问题,系统必须在段落中选择适当的跨度来回答问题之前解决硬共引用问题。
* [PolyAI/banking77](https://huggingface.co/datasets/PolyAI/banking77) 由网上银行查询组成的数据集,并附有相应的意向。BANKING77数据集在银行领域提供了一组非常细粒度的意图。它包含 13,083 个客户服务查询,标记为 77 个意图。它专注于细粒度的单域意图检测。语言:英语。
* [laion/OIG](https://huggingface.co/datasets/laion/OIG) 中等质量的大型指令数据集以及一个较小的高质量指令数据集 (OIG-small-chip2)。OIG目前为44M。我们将继续发布更大的多样化指令数据集,目标是创建 1 万亿个不同指令的词元——足以从头开始预训练LLM。
* [stanfordnlp/imdb](https://huggingface.co/datasets/stanfordnlp/imdb) 大型电影评论数据集。这是一个用于二元情感分类的数据集,包含的数据比以前的基准数据集多得多。我们提供一套 25,000 条极性电影评论用于培训,25,000 条用于测试。还有其他未标记的数据可供使用。
* [allenai.org/data/drop](https://allenai.org/data/drop) 对段落内容的离散推理(Discrete Reasoning Over the content of Paragraphs ),最近引入了许多不同的阅读理解数据集来研究自然语言中的各种现象,从简单的释义匹配和实体类型到实体跟踪和理解上下文的含义。
* [EleutherAI/pile](https://huggingface.co/datasets/EleutherAI/pile) 825 GiB 多样化的开源语言建模数据集,由 22 个较小的高质量数据集组合在一起。此数据集为英文 ( EN )。enron_emails、europarl、free_law、hacker_news、nih_exporter、pubmed、pubmed_central、ubuntu_irc、uspto、github。
* [abisee/cnn_dailymail](https://huggingface.co/datasets/abisee/cnn_dailymail) CNN / DailyMail 数据集是一个英语数据集,包含由 CNN 和每日邮报的记者撰写的 300 多篇独特的新闻文章。当前版本支持抽取式和抽象式摘要,尽管原始版本是为机器阅读和理解以及抽象问答而创建的。
* [qgyd2021/sentence_pair](https://huggingface.co/datasets/qgyd2021/sentence_pair) 中文文本句子对数据集。包括:文本语义相似度、客服问句匹配、中文问题匹配、金融语义相似度、助手对话短文本语义匹配、医疗疾病问答迁移学习数据、新冠疫情相似句、自然语言推理数据。
* [m-a-p/MusicPile](https://huggingface.co/datasets/m-a-p/MusicPile) 用于在大型语言模型中发展音乐能力的预训练语料库。它有 5.17M 个样本和大约 4.16B 个词元,包括网络爬虫语料库、百科全书、音乐书籍、youtube 音乐字幕、abc 符号的音乐作品、数学内容和代码。
* [allenai/sciq](https://huggingface.co/datasets/allenai/sciq) SciQ 数据集包含 13,679 个关于物理、化学和生物学等的众包科学考试问题。这些问题采用多项选择形式,每个选项有 4 个答案选项。对于大多数问题,都提供了带有正确答案支持证据的附加段落。
* [csebuetnlp/CrossSum](https://huggingface.co/datasets/csebuetnlp/CrossSum) 大型数据集,包括 1500+ 语言对的 170 万个跨语言文章摘要样本,构成 45 种语言。我们使用多语言 XL-Sum 数据集,并使用与语言无关的表示模型通过跨语言检索来对齐用不同语言编写的相同文章。
* [mandyyyyii/scibench](https://github.com/mandyyyyii/scibench) SciBench 是源自教学教科书的大学水平科学问题的新基准。该基准测试旨在评估 的LLMs复杂推理能力、强大的领域知识和高级计算能力。我们开发了一种创新的评估协议,用于详细分析推理能力。
* [google-research-datasets/tydiqa](https://github.com/google-research-datasets/tydiqa) 包含 200k 个人工注释的问答对,采用 11 种类型不同的语言,在看不到答案和不使用翻译的情况下编写,专为自动问答系统的训练和评估而设计。此存储库为数据集提供评估代码和基线系统。
* [allenai/dolma](https://huggingface.co/datasets/allenai/dolma) 包含 3 万亿个词元的数据集,来自各种网络内容、学术出版物、代码、书籍和百科全书材料。包括:Common Crawl、The Stack、C4、Reddit、PeS2o(STEM论文)、Project Gutenberg(书)、Wikipedia, Wikibooks。
* [TigerResearch/sft_zh](https://huggingface.co/datasets/TigerResearch/sft_zh) Tigerbot 开源项目中微调中文sft-zh数据合集。本合集涵盖本组织下开源的其他中文sft-中文-数据集,不需要重复下载。alpaca 中文、百科问答、名著问答、猜谜语、阅读理解、问答、知乎问答。
* [allenai/math_qa](https://huggingface.co/datasets/allenai/math_qa) 大规模的数学单词问题数据集。我们的数据集是通过使用一种新的表示语言来使用完全指定的操作程序对 AQuA-RAT 数据集进行注释来收集的。AQuA-RAT提供了问题、选项、理由和正确的选项。
* [TigerResearch/tigerbot-law-plugin](https://huggingface.co/datasets/TigerResearch/tigerbot-law-plugin) Tigerbot 模型rethink时使用的外脑原始数据,法律11大类,共5.5W+条款。宪法、刑法、行政法、司法解释、民法商法、民法典、行政法规、社会法、部门规章、经济法、诉讼与非诉讼程序法。
* [theatticusproject/cuad-qa](https://huggingface.co/datasets/theatticusproject/cuad-qa) 合同理解Atticus数据集 (CUAD) v1 是一个包含 510 个商业法律合同中 13,000 多个标签的语料库,这些标签已被手动标记,以识别律师在审查与公司交易相关的合同时寻找的 41 类重要条款。
* [defunct-datasets/the_pile_openwebtext2](https://huggingface.co/datasets/defunct-datasets/the_pile_openwebtext2) OpenWebText2 是 EleutherAi/The Pile 数据集的一部分,是原始 OpenWebTextCorpus 的增强版本,涵盖了从 2005 年到 2020 年 4 月的所有 Reddit 提交,在相应的 PushShift 转储文件发布后,还有几个月可用。
* [Gaokao](https://github.com/OpenLMLab/GAOKAO-Bench) 是一个以中国高考题作为评测大语言模型能力的数据集,用以评估模型的语言能力和逻辑推理能力。 我们只保留了其中的单项选择题,随机划分后对所有模型进行统一 `5-shot` 测试。
* [math-ai/StackMathQA](https://huggingface.co/datasets/math-ai/StackMathQA) StackMathQA 是一个精心策划的 200 万个数学问题和答案的集合,来自各种 Stack Exchange 站点。该存储库旨在为数学和人工智能研究领域的研究人员、教育工作者和爱好者提供综合资源。
* [brightmart/nlp_chinese_corpus](https://github.com/brightmart/nlp_chinese_corpus) 大规模中文自然语言处理语料 维基百科json版(wiki2019zh) 新闻语料json版(news2016zh) 百科类问答json版(baike2018qa) 社区问答json版(webtext2019zh) :大规模高质量数据集 翻译语料(translation2019zh)
* [ehovy/race](https://huggingface.co/datasets/ehovy/race) 大规模的阅读理解数据集,拥有超过28,000个段落和近100,000个问题。该数据集来自中国的英语考试,专为初中生和高中生设计。该数据集可以用作机器理解的训练集和测试集。
* [teleprint-me/phi-1](https://huggingface.co/datasets/teleprint-me/phi-1) 该数据集是为训练 phi-1 模型而创建的,基于论文“教科书是你所需要的一切”。它包含来自各种教科书的高质量数据,使用 OpenAI 的 GPT-3.5 和 GPT-4 模型进行转换和合成。
* [pkumod/CKBQA](https://github.com/pkumod/CKBQA) ccks2018 ccks2019 包含简单问题和复杂问题的中文 KBQA 数据集。对于每个中文问题,我们都提供了黄金答案和黄金 SPARQL 查询,因此该数据集也可以应用于语义解析任务。
* [CohereForAI/xP3x](https://huggingface.co/datasets/CohereForAI/xP3x) xP3x(Crosslingual Public Pool of Prompts eXtended)是277种语言和16个NLP任务的提示和数据集的集合。它包含所有 xP3 + 更多!它用于在Aya @ C4AI 项目中培训mT0和BLOOMZ的未来竞争者
* [RyokoAI/Fandom23K](https://huggingface.co/datasets/RyokoAI/Fandom23K) Fandom23K是一个数据集,由2023年3月14日至3月18日期间从大约23,665个 Fandom.com wiki抓取的15,616,749篇文章组成。它是即将推出的 BigKnow2022 数据集的一个子集。语言:英语。
* [wangrui6/Zhihu-KOL](https://github.com/wangrui6/Zhihu-KOL) 一个从知乎抓取数据的简单项目。该项目提供了一种从知乎网站抓取数据的方法。我们使用这个项目来抓取 Open Assistant LLM项目( https://open-assistant.io/ )的数据集。
* [allenai/qasc](https://huggingface.co/datasets/allenai/qasc) QASC 是一个专注于句子构成的问答数据集。它由 9,980 道关于小学科学的 8 路多项选择题(8,134 训练集、926 开发集、920 测试集)组成,并带有 17M 个句子的语料库。
* [ontonotes/conll2012_ontonotesv5](https://huggingface.co/datasets/ontonotes/conll2012_ontonotesv5) OntoNotes 语料库的最终版本,是一个大规模、多体裁、多语言的语料库,手动注释了句法、语义和话语信息。支持的任务:命名实体识别、共指解析、语义角色标记
* [defunct-datasets/the_pile_stack_exchange](https://huggingface.co/datasets/defunct-datasets/the_pile_stack_exchange) 此数据集是 EleutherAI/The Pile 数据集的一部分,是处理 stackexchange 数据转储的语言模型数据集,该数据转储是 Stack Exchange 网络上所有用户贡献内容的匿名转储。
* [bigscience/xP3](https://huggingface.co/datasets/bigscience/xP3) xP3(Crosslingual Public Pool of Prompts)是46种语言和16个NLP任务的提示和数据集的集合。它用于训练 BLOOMZ 和 mT0,多语言语言模型能够遵循数十种语言的人类指令。
* [MMLU](https://arxiv.org/abs/2009.03300) 是包含 57 个多选任务的英文评测数据集,涵盖了初等数学、美国历史、计算机科学、法律等,难度覆盖高中水平到专家水平,是目前主流的LLM评测数据集。
* [LSDSem/story_cloze](https://huggingface.co/datasets/LSDSem/story_cloze) “故事完形填空测试”是一种新的常识推理框架,用于评估故事理解、故事生成和脚本学习。这个测试要求一个系统为一个四句话的故事选择正确的结局。
* [CLUEbenchmark/CLUEDatasetSearch](https://github.com/CLUEbenchmark/CLUEDatasetSearch) 搜索所有中文NLP数据集,附常用英文NLP数据集。包括 NER、QA、情感分析、文本分类、文本匹配、文本摘要、机器翻译、知识图谱、语料库、阅读理解等。
* [LooksJuicy/ruozhiba](https://huggingface.co/datasets/LooksJuicy/ruozhiba) 受COIG-CQIA启发,构建类似数据集,但答案风格相对更简洁。弱智吧精选问题数据来自github提供的疑问句,调用GPT-4获取答案,并过滤掉明显拒答的回复。
* [TigerResearch/tigerbot-kaggle-leetcodesolutions-en-2k](https://huggingface.co/datasets/TigerResearch/tigerbot-kaggle-leetcodesolutions-en-2k) Tigerbot 基于leetcode-solutions数据集,加工生成的代码类sft数据集,原始来源:[/erichartford/leetcode-solutions](https://www.kaggle.com/datasets/erichartford/leetcode-solutions)
* [beyond/chinese_clean_passages_80m](https://huggingface.co/datasets/beyond/chinese_clean_passages_80m) 包含8千余万纯净中文段落,不包含任何字母、数字。文本长度大部分介于50~200个汉字之间。数据是基于CLUE中文预训练语料集进行处理、过滤得到的。
* [argilla/dpo-mix-7k](https://huggingface.co/datasets/argilla/dpo-mix-7k) 将 Argilla 构建的 DPO 数据集与 distilabel 相结合的小型鸡尾酒。此数据集的目标是通过仅过滤高评级的选定响应来获得一个小型、高质量的 DPO 数据集。
* [oscar-corpus/OSCAR-2201](https://huggingface.co/datasets/oscar-corpus/OSCAR-2201) 通过使用 unoliant 架构对通用爬虫语料库进行语言分类和过滤而获得的一个巨大的多语言语料库。数据以原始形式和重复数据删除形式按语言分发。
* [www.natcorp.ox.ac.uk](http://www.natcorp.ox.ac.uk/) 英国国家语料库 (BNC) 是一个 1 亿字的书面和口语样本集合,来自各种来源,旨在代表 20 世纪后期英国英语的广泛横截面,包括口语和书面语。
* [yhavinga/ccmatrix](https://huggingface.co/datasets/yhavinga/ccmatrix) 该语料库是使用 [CCMatrix](https://github.com/facebookresearch/LASER/tree/master/tasks/CCMatrix) 中所述的基于边缘的双文本挖掘技术从网络爬虫中提取的语言对。
* [allenai/wiqa](https://huggingface.co/datasets/allenai/wiqa) WIQA 数据集 V1 有 39705 个问题,其中包含段落上下文中的扰动和可能的影响。数据集分为 29808 个训练问题、6894 个开发问题和 3003 个测试问题。
* [lmmlzn/Awesome-LLMs-Datasets](https://github.com/lmmlzn/Awesome-LLMs-Datasets) 从五个维度总结现有的代表性LLMs文本数据集:预训练语料库、微调指令数据集、偏好数据集、评估数据集和传统 NLP 数据集。(定期更新)
* [festvox/datasets-CMU_DoG](https://github.com/festvox/datasets-CMU_DoG) CMU 文档基础对话数据集 该数据集包含 4112 个对话,每个对话平均 21.43 轮。这使该数据集可以在生成响应的同时提供相关的聊天历史记录。
* [lil-lab/newsroom](https://huggingface.co/datasets/lil-lab/newsroom) NEWSROOM是一个大型数据集,用于训练和评估摘要系统。它包含130万篇文章和摘要,由38家主要出版物的新闻编辑室的作者和编辑撰写。
* [teknium/OpenHermes-2.5](https://huggingface.co/datasets/teknium/OpenHermes-2.5) Open Hermes 2.5 数据集是 Open Hermes 1 数据集的延续,规模更大、更多样化、质量更高,达到 100 万,主要是合成生成的指令和聊天样本。
* [RyokoAI/ScribbleHub17K](https://huggingface.co/datasets/RyokoAI/ScribbleHub17K) ScribbleHub17K 是一个数据集,由原始故事共享网站 Scribble Hub 上发布的大约 17,500 个系列的 373,000 多个章节的文本组成。语言:英语。
* [openai/miniF2F](https://github.com/openai/miniF2F) 正式的数学基准测试(跨多个正式系统进行翻译),由奥林匹克竞赛(AMC、AIME、IMO)以及高中和本科数学课程的练习陈述组成。
* [msra-nlc/ChineseKBQA](https://github.com/msra-nlc/ChineseKBQA) NLPCC-ICCPOL 2016 Shared Task: Open Domain Chinese Question Answering [开放域中文问答数据集](http://tcci.ccf.org.cn/conference/2016/pages/page05_evadata.html)
* [RyokoAI/Honeyfeed3600](https://huggingface.co/datasets/RyokoAI/Honeyfeed3600) Honeyfeed3600 是一个数据集,由英语网络小说网站 Honeyfeed 上发布的大约 3,600 个系列的 38,000 多个章节的文本组成。语言:英语。
* [liucongg/NLPDataSet](https://github.com/liucongg/NLPDataSet) 数据集包括:DRCD、cmrc2018、chinese-squad、中医数据集、法研杯2019、莱斯杯机器阅读理解、疫情QA、WebQA、Dureader等9个数据集。
* [RyokoAI/ShareGPT52K](https://huggingface.co/datasets/RyokoAI/ShareGPT52K) 该数据集是在关闭之前通过 ShareGPT API 抓取的大约 90,000 个对话的集合。这些对话包括用户提示和 OpenAI 的 ChatGPT 的响应。
* [qgyd2021/lip_service_4chan](https://huggingface.co/datasets/qgyd2021/lip_service_4chan) 基于网站 吵架对线陪练员 的服务. 我们采用对话数据中的提问做 prompt, 然后调用 吵架对线陪练员 来获得答案.满嘴芬芳.
* [wavewangyue/NLPCC-MH](https://github.com/wavewangyue/NLPCC-MH) 中文多跳问答数据集 基于 NLPCC 所包含的单跳问题,通过扩充问句内容的方式,构建了专注多跳问题的中文 KBQA 数据集
* [liuhuanyong/DomainWordsDict](https://github.com/liuhuanyong/DomainWordsDict) 涵盖68个领域、共计916万词的专业词典知识库,可用于文本分类、知识增强、领域词汇库扩充等自然语言处理应用。
* [thu-coai/CrossWOZ](https://github.com/thu-coai/CrossWOZ) 中文跨域任务导向对话数据集.它包含5个领域的6K对话会话和102K语音,包括酒店,餐厅,景点,地铁和出租车。
* [TigerResearch/pretrain_zh](https://huggingface.co/datasets/TigerResearch/pretrain_zh) Tigerbot pretrain数据的中文部分。包含(未压缩前) 中文书籍zh-books 12G, 中文互联网zh-webtext 25G, 中文百科zh-wiki 19G。
* [alipay/RJU_Ant_QA](https://github.com/alipay/RJU_Ant_QA) RJUA-QA(仁济医院泌尿外科和蚂蚁集团协作问答数据集)是一个创新的泌尿外科医学专业QA推理数据集。
* [m-a-p/MusicPile-sft](https://huggingface.co/datasets/m-a-p/MusicPile-sft) MusicPile-sft 是 MusicPile 的一个子集。它包含 1.14M 个样本,音乐语言与乐谱(abc 符号)的比例为 2:1。
* [RyokoAI/CNNovel125K](https://huggingface.co/datasets/RyokoAI/CNNovel125K) CNNovel125K是一个数据集,由从中国小说托管网站 http://ibiquw.com 下载的大约125,000部小说组成。
* [stanfordnlp/sentiment140](https://huggingface.co/datasets/stanfordnlp/sentiment140) Sentiment140 由带有表情符号的 Twitter 消息组成,这些表情符号用作情绪分类的嘈杂标签。
* [Leymore/ruozhiba](https://github.com/Leymore/ruozhiba) 从百度弱智吧上收集的一系列帖子。旨在启发人们娱乐性使用 ChatGPT 等 LLM 时的思路。
* [meta-math/MetaMathQA](https://huggingface.co/datasets/meta-math/MetaMathQA) 所有 MetaMathQA 数据都是从 GSM8K 和 MATH 的训练集增强的。所有增强数据均来自测试集。
* [nlpcc2018](http://tcci.ccf.org.cn/conference/2018/taskdata.php) 选择task7 Open Domain Question Answering,即可下载数据集。数据集包含知识图谱和问答数据
* [facebookresearch/anli](https://github.com/facebookresearch/anli/) 对抗性的自然语言推理基准,该数据集通过迭代、对抗性的人与模型在环程序收集。
* [AndyChiang/cloth](https://huggingface.co/datasets/AndyChiang/cloth) CLOTH 是一个数据集,收集了来自初中和高中英语考试的近 100,000 道完形填空问题。
* [C-Eval 数据集](https://cevalbenchmark.com/index.html) 是一个全面的中文基础模型评测数据集,涵盖了 52 个学科和四个难度的级别。
* [jkszw2014/bert-kbqa-NLPCC2017](https://github.com/jkszw2014/bert-kbqa-NLPCC2017) A trial of kbqa based on bert for NLPCC2016/2017 Task 5 (基于BERT的中文知识库问答实践)
* [roneneldan/TinyStories](https://huggingface.co/datasets/roneneldan/TinyStories) 包含合成生成的(由 GPT-3.5 和 GPT-4)仅使用少量词汇的短篇小说的数据集。
* [pengxiao-song/awesome-chinese-legal-resources](https://github.com/pengxiao-song/awesome-chinese-legal-resources) 中国法律数据集和相关资源的精彩集合。致力于收集全面的中文法律数据源
* [rkadlec/ubuntu-ranking-dataset-creator](https://github.com/rkadlec/ubuntu-ranking-dataset-creator) 从 Ubuntu 语料库对话框中为排名任务创建训练、有效和测试数据集的脚本。
* [esdurmus/Wikilingua](https://github.com/esdurmus/Wikilingua) 多语言抽象摘要数据集,来自 WikiHow 的 18 种语言的 ~770k 篇文章和摘要对。
* [microsoft/wiki_qa](https://huggingface.co/datasets/microsoft/wiki_qa) WikiQA语料库是一组公开可用的问题和句子对,用于研究开放领域的问答。
* [chin-gyou/MovieChats](https://github.com/chin-gyou/MovieChats) MovieChats:在封闭域中像人类一样聊天,电影内容的聊天对话数据集
* [hendrycks/math](https://github.com/hendrycks/math) MATH 数据集 (NeurIPS 2021),使用 MATH 数据集衡量数学问题的解决。
* [legacy-datasets/mc4](https://huggingface.co/datasets/legacy-datasets/mc4) 已弃用:数据集“mc4”已弃用,将被删除。请改用“allenai/c4”。
* [castorini/mr.tydi](https://github.com/castorini/mr.tydi) 基于 TyDi 的多语言基准数据集,涵盖 11 种类型不同的语言。
* [LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words](https://github.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words) 各种语言的肮脏、顽皮、淫秽和其他坏话和词语的清单
* [victorsungo/MMDialog](https://github.com/victorsungo/MMDialog) 面向多模态开放域会话的大规模多轮对话数据集。
* [TigerResearch/tigerbot-zhihu-zh-10k](https://huggingface.co/datasets/TigerResearch/tigerbot-zhihu-zh-10k) Tigerbot 基于开源搜集的知乎数据生成的sft问答对
* [data.statmt.org/news-crawl](https://data.statmt.org/news-crawl/) 通过爬虫技术获得的各种语言的新闻内容。
* [NiuTrans/Classical-Modern](https://github.com/NiuTrans/Classical-Modern) 非常全的文言文(古文)-现代文平行语料
* [chatopera/Synonyms](https://github.com/chatopera/Synonyms) 用于自然语言处理和理解的中文同义词。
* [krystalan/SGSum](https://github.com/krystalan/SGSum) 一个面向体育赛事摘要的人工标注数据集
* [qkaren/Counterfactual-StoryRW](https://github.com/qkaren/Counterfactual-StoryRW) “虚构故事推理和生成”的数据集和代码
* [PhilipMay/stsb-multi-mt](https://github.com/PhilipMay/stsb-multi-mt) 机器翻译的多语言 STS 基准数据集。
* [projects/personachat](https://github.com/facebookresearch/ParlAI/tree/master/projects/personachat) Persona-Chat 数据集人物聊天对话数据
* [archive.org/stackexchange](https://archive.org/download/stackexchange) archive.org 存档的 stackexchange 的文件
* [community-datasets/setimes](https://huggingface.co/datasets/community-datasets/setimes) 英语和东南欧语言的平行语料库
* [jgc128/mednli](https://github.com/jgc128/mednli) 临床领域的自然语言推理数据集
* [cluebenchmark/OCNLI](https://github.com/cluebenchmark/OCNLI) 中文原版自然语言推理任务
* [dqwang122/MLROUGE](https://github.com/dqwang122/MLROUGE) 用于多语言摘要的 ROUGE
* [ywjawmw/TCM_KG](https://github.com/ywjawmw/TCM_KG) 中医TCM-neo4j 知识图谱
* [sailxuOvO/CC-Riddle](https://github.com/sailxuOvO/CC-Riddle) 汉字谜语问答数据集
* [b3x0m/Chinese-H-Novels](https://huggingface.co/datasets/b3x0m/Chinese-H-Novels) 17plus小说语料库。
* [goto456/stopwords](https://github.com/goto456/stopwords) 中文常用停用词表
## Transformer库与优化
* [state-spaces/mamba](https://github.com/state-spaces/mamba) Mamba:具有选择性状态空间的线性时间序列建模。Mamba 是一种新的状态空间模型架构,在语言建模等信息密集数据上显示出良好的性能,而之前的二次模型在 Transformers 方面存在不足。它基于结构化状态空间模型的进展,并本着FlashAttention的精神进行高效的硬件感知设计和实现。基础模型现在为深度学习中大多数令人兴奋的应用提供动力,几乎普遍基于 Transformer 架构及其核心注意力模块。许多次二次时间架构(例如线性注意力、门控卷积和循环模型以及结构化状态空间模型(SSM))已被开发出来,以解决 Transformer 在长序列上的计算效率低下问题,但它们在重要模态上的表现不佳,例如作为语言。我们发现此类模型的一个关键弱点是它们无法执行基于内容的推理,并做出一些改进。首先,简单地让 SSM 参数作为输入的函数,可以解决其离散模态的弱点,从而允许模型根据当前标记选择性地沿序列长度维度传播或忘记信息。其次,尽管这种变化阻止了高效卷积的使用,但我们在循环模式下设计了一种硬件感知的并行算法。我们将这些选择性 SSM 集成到简化的端到端神经网络架构中,无需注意力机制,甚至不需要 MLP 模块 (Mamba)。 Mamba 喜欢快速推理(5 × 比 Transformer 更高的吞吐量)和序列长度的线性缩放,并且其性能在高达百万长度序列的实际数据上得到提高。作为通用序列模型骨干,Mamba 在语言、音频和基因组学等多种模式上实现了最先进的性能。在语言建模方面,我们的 Mamba-3B 模型在预训练和下游评估方面都优于相同大小的 Transformer,并且与两倍大小的 Transformer 相匹配。
* [mit-han-lab/duo-attention](https://github.com/mit-han-lab/duo-attention) DuoAttention是一种高效的长上下文 LLM 推理框架,它通过引入检索头和流式头来显著降低长上下文 LLM 的预填充和解码内存以及延迟,而不会牺牲其长上下文能力。该框架识别出仅一小部分注意力头(检索头)对处理长上下文至关重要,并需要对所有标记进行全注意力,而其他注意力头(流式头)主要关注最近的标记,不需要全注意力。DuoAttention 使用轻量级优化算法,通过合成数据准确识别检索头,并仅对检索头应用完整的 KV 缓存,而对流式头使用轻量级、固定长度的 KV 缓存,从而减少了 LLM 的解码和预填充内存以及延迟,同时保持了其长上下文能力。该方法将 MHA 和 GQA 模型的长上下文推理内存分别减少了高达 2.55 倍和 1.67 倍,同时将解码速度分别提高了高达 2.18 倍和 1.50 倍,并将预填充速度分别提高了高达 1.73 倍和 1.63 倍,与全注意力相比,精度损失很小。值得注意的是,与量化相结合,DuoAttention 使得 Llama-3-8B 模型能够在单个 A100 GPU 上以 330 万的上下文长度进行解码。
* [openai/transformer-debugger](https://github.com/openai/transformer-debugger) Transformer Debugger (TDB) 是 OpenAI 超对齐团队开发的工具,旨在帮助研究人员深入了解小型语言模型的特定行为。它结合了自动可解释性技术和稀疏自动编码器,允许用户快速探索模型行为,无需编写代码。用户可以通过干预模型的前向传播过程,观察干预对特定行为的影响,例如,为什么模型针对特定提示输出令牌 A 而不是令牌 B,或者为什么注意力头 H 针对特定提示关注令牌 T。TDB 通过识别对行为有贡献的特定组件(神经元、注意力头、自动编码器潜在变量),并自动生成解释这些组件激活的最强原因,以及追踪组件之间的连接以帮助发现电路,来回答这些问题。
* [adapter-hub/adapters](https://github.com/adapter-hub/adapters) Adapters是一个用于参数高效和模块化迁移学习的统一库,它是 HuggingFace Transformers 的一个扩展库,集成了 10 多种适配器方法,并与 20 多种最先进的 Transformer 模型兼容,可用于训练和推理,代码量极少。Adapters 提供了一个统一的接口,用于高效微调和模块化迁移学习,支持多种功能,例如全精度或量化训练(例如 Q-LoRA、Q-Bottleneck Adapters或 Q-PrefixTuning)、通过任务算术合并适配器或通过组合块组合多个适配器,从而为 NLP 任务中的参数高效迁移学习提供了先进的研究。Adapters 库已取代 adapter-transformers 包,所有以前训练的适配器都与新库兼容。
* [lhao499/RingAttention](https://github.com/lhao499/RingAttention) 使用块态变换器实现近乎无限的上下文的环形(Ring)注意力。Blockwise Parallel Transformer (BPT) 以分块方式计算注意力和前馈,允许训练和推断序列,其长度是标准内存效率注意力方法(如flash(闪光)注意力)可管理的序列的四倍。Ringwise Parallel Transformer 的环形注意力使训练序列的长度达到“设备数量”的长度,比 BPT 的长度长几倍。这是通过将注意力和前馈计算分布在多个设备上并将通信与计算重叠来实现的。由于注意力和前馈网络的块计算,可以在上下文大小上使用数千万个令牌进行训练,而不会增加任何通信或计算开销。
* [IndicoDataSolutions/finetune](https://github.com/IndicoDataSolutions/finetune) Finetune是一个基于Scikit-learn风格的NLP模型微调库,它允许用户利用最先进的预训练NLP模型进行各种下游任务。Finetune目前支持TensorFlow实现的BERT、RoBERTa、GPT、GPT2、TextCNN、Temporal Convolution Network和DistilBERT等模型。用户可以通过简单的API调用 `Classifier.fit` 来微调基础语言模型,并使用各种可配置选项来优化模型。Finetune支持多种任务的微调,包括分类、回归、序列标注、关联、比较和语言模型。用户可以将训练好的模型保存到磁盘,并在需要时重新加载。Finetune还提供Docker容器,方便用户在容器环境中进行微调和推理。
* [lucidrains/MEGABYTE-pytorch](https://github.com/lucidrains/MEGABYTE-pytorch) 在 Pytorch 中实现 MEGABYTE,使用多尺度转换器预测百万字节序列。为了解决当前transformer模型对输入的限制,MetaAI提出的MetaByte引入了一个概念,称为patch,将模型的输入序列分割成固定大小的patches,这是一个类似于token的概念,但是显然比token覆盖的范围要宽。然后通过一个全局的模块,建立一个大的自回归transformer,把输入和输出从tokens变成patches。同时,引入了一个本地的模块,用于每个patch内部的字节的预测,其输入是从全局模块来的上下文patches表示结果,输出是预测下一个patch,这是一个小的自回归模型。
* [lucidrains/ring-attention-pytorch](https://github.com/lucidrains/ring-attention-pytorch) Ring Attention 的实现,来自 Berkeley AI 的 Liu 等人,在 Pytorch 中。它基本上将数据跨序列维度(而不是 batch)拆分,并将 ring reduce 应用于注意力矩阵 flash attention 样式的瓦片的处理。我相信这被用于最新 Gemini 的 1-1000 万tokens。至少是某种形式的;另一种可能性是在 RMT 之上未发布的改进。此外,该存储库还包含 Striped Attention 的逻辑,这是一篇后续论文,用于排列序列以更好地平衡自回归转换器的工作负荷。它还包含对分组查询注意力的支持,由 Llama 系列注意力模型推广。这将进一步节省 Ring Reduce 期间的通信成本。
* [explosion/spacy-transformers](https://github.com/explosion/spacy-transformers) spacy-transformers是一个 spaCy 包,它允许你使用 Hugging Face 的 `transformers`库中的预训练模型,例如 BERT、XLNet 和 GPT-2,来增强你的 spaCy 管道。它提供了一种方便的方式来使用最先进的 transformer 架构,并支持多任务学习、可定制的配置系统、自动对齐 transformer 输出与 spaCy 的分词结果,以及对 `Doc` 对象中保存的 transformer 数据进行自定义。该项目还提供了详细的文档,涵盖了如何在 spaCy 中使用 transformer 模型、训练管道和模型、自定义神经网络以及 `Transformer` 组件 API。
* [lucidrains/performer-pytorch](https://github.com/lucidrains/performer-pytorch) 一个高效的线性广义注意力框架(generalized attention framework),允许基于不同相似性度量(核)的一类广泛的注意力机制。该框架通过谷歌的新算法 FAVOR+(Fast Attention Via Positive Orthogonal Random Features)来实现,后者能够提供注意力机制的可扩展低方差、无偏估计,这可以通过随机特征图分解(常规 softmax-attention)来表达。该方法在保持线性空间和时间复杂度的同时准确率也很有保证,也可以应用到独立的softmax运算。此外,还可以和可逆层等其他技术进行互操作。
* [HazyResearch/ThunderKittens](https://github.com/HazyResearch/ThunderKittens) ThunderKittens是一个用于编写快速深度学习CUDA内核的框架,它基于三个核心原则:简单、可扩展和速度。它利用现代GPU的硬件特性,例如Tensor Core、共享内存和异步内存操作,来优化内核性能。ThunderKittens以16x16的瓦片为基础,简化了诸如Tensor Core调用、共享内存管理和异步内存操作等复杂操作,并提供Load-Store-Compute-Finish模板来提高工作效率。该项目提供了一个简单的FlashAttention-2内核示例,展示了如何使用ThunderKittens编写高效的深度学习内核。
* [jalammar/ecco](https://github.com/jalammar/ecco) Ecco是一个 Python 库,用于通过交互式可视化来探索和解释自然语言处理模型。它提供多种接口来帮助解释和理解基于 Transformer 的语言模型,例如 GPT2、BERT、RoBERTA、T5 和 T0。Ecco 在 Jupyter Notebook 中运行,基于 PyTorch 和 transformers 库。它专注于探索和理解现有的预训练模型,而不是训练或微调模型。Ecco 允许用户添加自己的本地模型,并提供特征归因、神经元激活捕获和可视化等功能,帮助用户深入了解模型的行为。
* [NVIDIA/Star-Attention](https://github.com/NVIDIA/Star-Attention) NVIDIA/Star-Attention项目提供了一种高效的长序列推理方法,名为Star Attention,适用于基于Transformer的大型语言模型,通过两阶段处理提高推理速度1.1至2.7倍,同时保持95-100%的准确性,兼容大多数使用全局注意力训练的Transformer模型,且与Flash Attention等其他优化方法兼容。该项目在PyTorch和HuggingFace Transformers库中实现了Star Attention,并提供了在RULER和BABILong基准测试上使用该方法进行推理的代码。
* [EricFillion/happy-transformer](https://github.com/EricFillion/happy-transformer) Happy Transformer是一个简化 NLP Transformer 模型微调和推理的 Python 库。它支持多种 NLP 任务,包括文本生成、文本分类、词预测、问答、文本到文本转换、下一句预测和词分类。用户可以轻松使用 Happy Transformer 进行模型训练和推理,并支持多种模型架构,例如DistilBERT、RoBERTa 和 GPT-Neo。该库还集成了 DeepSpeed、Apple MPS 和 WandB 等工具,以提升训练效率和可视化。
* [FlagOpen/FlagAttention](https://github.com/FlagOpen/FlagAttention) 用 Triton 语言实现的内存高效注意力运算符的集合。它的灵感来自FlashAttention和FlashAttention v2,并扩展了它们以满足大型语言建模研究的需求。FlashAttention 和 FlashAttention-2 可以节省内存占用和流量以提高内存效率,但要修改它们并添加更多选项和功能需要熟练掌握 cuda 编程。因此,Flag Attention 是用 Triton 语言实现的,它更容易用于编写自定义 GPU 内核。
* [Haiyang-W/TokenFormer](https://github.com/Haiyang-W/TokenFormer) TokenFormer是一个完全基于注意力机制的神经网络,它将模型参数进行token化,从而最大限度地提高Transformer的灵活性。该项目是TokenFormer论文的官方实现,它通过将模型参数token化,并将注意力机制应用于输入token和模型参数之间的交互,从而实现了一种新的可扩展架构。该项目代码简洁易懂,依赖性少,并提供模型库、快速入门指南和待办事项列表。
* [facebookresearch/xformers](https://github.com/facebookresearch/xformers) xFormers 是一个可定制且优化的 Transformer 模块工具箱,支持可组合的构建方式。它提供独立的、可定制的模块,无需样板代码即可使用,适用于视觉、NLP 等多个领域。xFormers 包含最前沿的组件,这些组件尚未在 PyTorch等主流库中提供,并且为了提高迭代速度,组件尽可能快且内存高效。xFormers 包含自己的 CUDA 内核,但在相关时会分派到其他库。
* [thuml/Flowformer](https://github.com/thuml/Flowformer) 任务通用的线性复杂度Transformer 。在图论中的经典网络流(Flow network)模型中,“守恒”(Conservation)是一个重要现象,即每个节点的流入量等于流出量。受到“固定资源情况下,必定引起竞争”的启发,通过网络流视角重新分析经典注意力机制中的信息流动,并通过守恒性质将竞争引入注意力机制设计,以避免平凡注意力问题。
* [cloneofsimo/RealFormer-pytorch](https://github.com/cloneofsimo/RealFormer-pytorch) 通过在Transformer架构上进行改造来提升BERT训练效果,具体为:使用attention残差机制改造Transformer。1、realformer在标签数量较少的分类任务上有一定的提升效果,提升的幅度与数据集和任务难度有关,一般越难的任务提升的幅度越大。2、realformer在标签数量达到一定的数值时,其效果便会大打折扣,在某些数据集上甚至会无法学习。
* [NVIDIA/transformer-ls](https://github.com/NVIDIA/transformer-ls) 将原始 Transformer 的全部自注意力替换为考虑长期和短期相关性的有效注意力。每个查询都关注分段滑动窗口中的标记以捕获短期相关性,以及动态投影特征以捕获长期相关性。为了对齐原始特征、投影特征向量的范数并提高聚合的效率,使用两组层归一化对原始特征向量和投影特征向量进行归一化。
* [NetEase-FuXi/EET](https://github.com/NetEase-FuXi/EET) 针对Transformer-based大模型和长序列场景的高性能pytorch推理插件。高性能:设计高度优化的CUDA内核。灵活:提供包括op api、model api和pipelines应对不同需求。 使用: 几行代码即可完成。适配主流ai框架,包括fairseq和transformers。bert模型整体性能加速1.2x到7.x倍,gpt模型整体性能加速2.x到7.x倍。
* [ml-jku/hopfield-layers](https://github.com/ml-jku/hopfield-layers) NLP 领域里大热的 Transformer,其网络更新规则其实是和 Hopfield 网络在连续状态下是相同的。Transformer 中的这种注意力机制其实等价于扩展到连续状态的 modern Hopfield 网络中的更新规则。作者来自奥地利林茨大学、挪威奥斯陆大学,与 Jürgen Schmidhuber 合著 LSTM 的 Sepp Hochreiter 也是作者之一。
* [microsoft/fastformers](https://github.com/microsoft/fastformers) 实现Transformers在CPU上223倍的推理加速 它能对基于Transformer的模型在各种NLU任务上实现高效的推理时间性能。论文FastFormers的作者表明,利用知识蒸馏、结构化剪枝和数值优化可以大幅提高推理效率。我们表明,这种改进可以达到200倍的加速,并在22倍的能耗下节省超过200倍的推理成本。
* [huggingface/huggingface_hub](https://github.com/huggingface/huggingface_hub) HuggingFace Hub 的官方 Python 客户端库,提供与 Hugging Face Hub 平台交互的功能,包括下载和上传文件、管理仓库、运行模型推理、搜索模型和数据集、分享模型卡片以及与社区互动等。使用 pip 或 conda 安装该库后,即可轻松使用 Python 与 Hugging Face Hub 平台进行交互。
* [lucidrains/recurrent-memory-transformer-pytorch](https://github.com/lucidrains/recurrent-memory-transformer-pytorch) 在 Pytorch 中实现 Recurrent Memory Transformer (openreview)。他们最近发表了一篇简短的后续论文,证明它至少能够复制 100 万个词元的信息。毫无疑问,在我看来,RMT 会成为比 AdA 更强大的 RL 代理,AdA 只是一个 Transformer-XL - 更新:递归内存决策转换器
* [Adamdad/kat](https://github.com/Adamdad/kat) Kolmogorov–Arnold Transformer (KAT)论文的 PyTorch/GPU 实现,它用 KAN 层替换了 Transformer 中的 MLP 层。Vanilla ViT + KAN 难以有效扩展。我们引入了 KAT 模型,它将 GR-KAN 集成到 Transformer 中,用于 ImageNet 等大规模训练场景,实现了显着的性能提升。
* [google-research/bigbird](https://github.com/google-research/bigbird) 基于稀疏注意力(随机注意力机制+局部注意力机制+全局注意力机制)的transformer,它将基于transformer的模型(例如 BERT)扩展到更长的序列。 由于能够处理更长的上下文,BigBird 极大地提高了各种 NLP 任务(例如问答和摘要)的性能。
* [mit-han-lab/lite-transformer](https://github.com/mit-han-lab/lite-transformer) 轻量级Transformer,注意力长短搭配 长依赖和短依赖的剥离,并引入卷积来捕捉短依赖,总体思想和Transformer之自适应宽度注意力有点类似。文章中发现低层次上的注意力都比较短,层次越高,注意力的所关注的依赖越长。
* [dingo-actual/infini-transformer](https://github.com/dingo-actual/infini-transformer) Infini-Transformer (https://arxiv.org/abs/2404.07143) 是一个功能强大且用途广泛的 transformer 模型,专为各种自然语言处理任务而设计。它利用最先进的技术和架构来实现卓越的性能和无限上下文长度的可扩展性。
* [huggingface/transformers](https://github.com/huggingface/transformers) 支持Pytorch、TensorFlow和JAX的最先进的机器学习Transformers库。提供了数以千计的预训练模型,支持100多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨让最先进的 NLP 技术人人易用。
* [chuanyang-Zheng/DAPE](https://github.com/chuanyang-Zheng/DAPE) DAPE 通过动态调整位置编码,使其能够根据输入上下文和学习到的固定先验进行自适应调整。这种创新方法不仅保留了局部和反局部信息,还在模型训练长度和长度泛化方面显著提升了模型性能。
* [NVIDIA/Megatron-LM](https://github.com/NVIDIA/Megatron-LM) 由 NVIDIA 的应用DL研究团队开发的大型、强大的transformer。开发了高效、模型并行(张量、序列和流水线)和多节点预训练,基于 Transformer 的模型(例如 GPT、BERT 和 T5)使用混合精度。
* [lucidrains/x-transformers](https://github.com/lucidrains/x-transformers) 一个简单但完整的全注意力转换器,具有来自各种论文的一组有希望的实验特征 Full encoder / decoder 、Decoder-only (GPT-like) 、Encoder-only (BERT-like) 、Image -> caption 。
* [NVIDIA/FasterTransformer](https://github.com/NVIDIA/FasterTransformer) Transformer相关优化,包括BERT、GPT 。提供了一个脚本和配方来运行高度优化的基于转换器的编码器和解码器组件,它由 NVIDIA 测试和维护。可以带来性能加速。
* [microsoft/torchscale](https://github.com/microsoft/torchscale) PyTorch 库,允许研究人员和开发人员高效地扩展 Transformers。为基础模型和 A(G)I 开发新的架构,重点是建模通用性和能力,以及训练稳定性和效率。
* [adapter-hub/adapter-transformers](https://github.com/adapter-hub/adapter-transformers) HuggingFace 的 Transformers 的友好分支,将适配器添加到 PyTorch 语言模型。可用作 HuggingFace 的直接替代品,并定期同步新的上游更改。
* [laiguokun/Funnel-Transformer](https://github.com/laiguokun/Funnel-Transformer) Transformer优化,一种新的自我注意模型,可以将隐藏状态的序列逐渐压缩为较短的状态,从而降低了计算成本。
* [mit-han-lab/hardware-aware-transformers](https://github.com/mit-han-lab/hardware-aware-transformers) 用于高效自然语言处理的硬件感知型Transformers.实现高达3倍的加速和3.7倍的较小模型尺寸,不会降低性能。
* [cmhungsteve/Awesome-Transformer-Attention](https://github.com/cmhungsteve/Awesome-Transformer-Attention) 包含视觉转换器和注意力机制(Vision Transformer&Attention)的综合论文列表,包括论文,代码和相关网站。
* [sacmehta/delight](https://github.com/sacmehta/delight) 提出了一个更深更轻的Transformer,DeLighT,它的性能与Transformer相似,甚至更好,平均少了2到3倍的参数。
* [microsoft/DeBERTa](https://github.com/microsoft/DeBERTa) 注意力分散的增强解码的BERT,使用了BERT和RoBERTa模型,显着提高了预训练的效率和下游任务的性能。
* [bytedance/lightseq](https://github.com/bytedance/lightseq) 高效的序列处理与生成库,提供 Bert, GPT, Transformer,beam search, diverse beam search, topp/topk sampling
* [BSlience/transformer-all-in-one](https://github.com/BSlience/transformer-all-in-one) 记录了学习Transformer过程中的一些疑问和解答,并且实现Transformer的全过程。
* [ThilinaRajapakse/simpletransformers](https://github.com/ThilinaRajapakse/simpletransformers) 用于分类、NER、QA、语言建模、语言生成、T5、多模态和会话AI的transformer
* [jadore801120/attention-is-all-you-need-pytorch](https://github.com/jadore801120/attention-is-all-you-need-pytorch) PyTorch 实现的Transformer模型在“注意力就是你所需要的一切”。
* [Tencent/TurboTransformers](https://github.com/Tencent/TurboTransformers) 在 CPU 和 GPU 上进行Transformer推断的快速且用户友好的运行库。
* [alipay/Pyraformer](https://github.com/alipay/Pyraformer) 用于长期时间序列建模和预测的低复杂度金字塔注意。
* [ELS-RD/transformer-deploy](https://github.com/ELS-RD/transformer-deploy) Hugging Face Transformer 亚毫秒推理和部署到生产环境
* [xuanqing94/FLOATER](https://github.com/xuanqing94/FLOATER) 基于连续动态系统学习更加灵活的位置编码
* [pytorch/fairseq](https://github.com/pytorch/fairseq) Python的Facebook AI Research Sequence-to-Sequence包。
* [mlpen/Nystromformer](https://github.com/mlpen/Nystromformer) 利用了 Nyström 方法来近似标准的Attention。
* [mit-han-lab/lite-transformer](https://github.com/mit-han-lab/lite-transformer) 具有长距离短距离注意的Lite transformer
* [NielsRogge/Transformers-Tutorials](https://github.com/NielsRogge/Transformers-Tutorials) HuggingFace的 Transformers 库制作的演示。
* [HazyResearch/flash-attention](https://github.com/HazyResearch/flash-attention) 快速且节省内存的精确注意力
* [facebookresearch/bit](https://github.com/facebookresearch/bit) 鲁棒二值化多次蒸馏Transformer
* [allenai/longformer](https://github.com/allenai/longformer) 用于长文档的类似BERT的模型
* [idiap/fast-transformers](https://github.com/idiap/fast-transformers) Pytorch实现的快速Transformer库
* [lucidrains/FLASH-pytorch](https://github.com/lucidrains/FLASH-pytorch) 线性时间的Transformer变体
* [Tongjilibo/bert4torch](https://github.com/Tongjilibo/bert4torch) 优雅的pytorch transformers库
* [openai/sparse_attention](https://github.com/openai/sparse_attention) 稀疏Attention
## 关系抽取_信息抽取
* [zjunlp/IEPile](https://github.com/zjunlp/IEPile) [ACL 2024 年]IEPile:大规模信息提取语料库。我们收集并清理了现有的信息提取 (IE) 数据集,总共集成了 26 个英文 IE 数据集和 7 个中文 IE 数据集。如图所示,这些数据集涵盖多个领域,包括一般、医疗、金融等。在这项研究中,我们采用提出的 “ schema-based batched instruction generation strategy ” 创建了一个名为 IEPile 的大规模、高质量、双语(中英文)IE 指令调优数据集,包含大约 0.32B 个标记。基于 IEPile,我们使用 Lora 技术对百川2-13B-Chat 和 LLaMA2-13B-Chat 模型进行了微调。实验表明,微调的百川2-IEPile和LLaMA2-IEPile模型在全监督训练集上表现显著,并在零样本信息提取任务方面取得了改进。
* [XueFuzhao/GDPNet](https://github.com/XueFuzhao/GDPNet) 构建一个潜在的多视图图来捕获令牌之间的各种可能关系。然后细化这个图来选择重要的词进行关系预测。最后,将细化图的表示和基于 BERT 的序列表示连接起来以进行关系提取。提出的 GDPNet(高斯动态时间扭曲池化网络)中,利用高斯图生成器 (GGG) 来生成多视图图的边。然后通过动态时间扭曲池 (DTWPool) 对图形进行细化。在 DialogRE 和TACRED上,表明在对话级 RE 上实现了最佳性能,并且在句子级 RE 上与最先进的性能相当。
* [DerwenAI/pytextrank](https://github.com/DerwenAI/pytextrank) PyTextRank是一个基于图的自然语言处理库,它实现了TextRank算法及其变体,例如PositionRank、Biased TextRank和TopicRank,用于从文本中提取关键词短语。它可以作为spaCy的扩展使用,并提供多种应用场景,包括关键词提取、文本摘要和将非结构化文本转换为结构化表示。该库提供详细的文档和示例代码,方便用户快速上手。用户可以使用pip安装PyTextRank,并通过简单的代码示例快速体验其功能。
* [PaddleNLP/DuIE](https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/information_extraction/DuIE) LIC2021 DuIE 关系抽取基线 .信息抽取旨在从非结构化自然语言文本中提取结构化知识,如实体、关系、事件等。关系抽取的目标是对于给定的自然语言句子,根据预先定义的schema集合,抽取出所有满足schema约束的SPO三元组。schema定义了关系P以及其对应的主体S和客体O的类别。 本基线系统基于预训练语言模型ERNIE设计了结构化的标注策略,可以实现多条、交叠的SPO抽取。
* [universal-ie/UIE](https://github.com/universal-ie/UIE) 统一的文本到结构生成框架UIE,它可以对不同的IE任务进行统一建模,自适应地生成目标结构,并且可以从不同的知识源中学习通用的IE能力。实验结果表明,UIE在有监督和低资源环境下都取得了非常有竞争力的性能,验证了其通用性、有效性和可转移性。
* [IAAR-Shanghai/xFinder](https://github.com/IAAR-Shanghai/xFinder) xFinder:针对大型语言模型的稳健且精确的答案提取。如果您正在开发 Benchmark ,您可以使用我们的 xFinder 代替传统的 RegEx 方法,从LLM响应中提取关键答案。这将帮助您提高评估结果的准确性,从而对模型性能进行更可靠、更有意义的比较和验证。
* [xiaoqian19940510/Event-Extraction](https://github.com/xiaoqian19940510/Event-Extraction) 近年来事件抽取方法总结,包括中文事件抽取、开放域事件抽取、事件数据生成、跨语言事件抽取、小样本事件抽取、零样本事件抽取等类型,DMCNN、FramNet、DLRNN、DBRNN、GCN、DAG-GRU、JMEE、PLMEE等方法
* [dolphin-zs/Doc2EDAG](https://github.com/dolphin-zs/Doc2EDAG) 中国金融事件提取的端到端文档级框架 。基于实体的有向无环图(EDAG), 以自回归方式生成一个 EDAG。这样,一个硬表填充任务被分解为几个更易于处理的路径扩展子任务。
* [princeton-nlp/PURE](https://github.com/princeton-nlp/PURE) PURE:从文本中提取实体和关系,包含 PURE(普林斯顿大学关系提取系统)的 (PyTorch) 代码和预训练模型,如论文所述:一种令人沮丧的实体和关系提取的简便方法。
* [zjunlp/DocED](https://github.com/zjunlp/DocED) 跨句事件抽取旨在研究如何同时识别篇章内多个事件。提出多层双向网络Multi-Layer Bidirectional Network融合跨句语义和关联事件信息,从而增强内各事件提及的判别。
* [tonytan48/Re-DocRED](https://github.com/tonytan48/Re-DocRED) 广泛使用的文档级关系抽取基准。然而,DocRED数据集包含很大比例的假阴性示例(注释不完整)。我们修订了DocRED数据集中的4,053个文档并解决了其问题。
* [yao8839836/kg-bert](https://github.com/yao8839836/kg-bert) 知识库补全的工作,结合BERT可以将更丰富的上下文表示结合进模型中,在三元组分类、链接预测以及关系预测中达到了SOTA。
* [dair-iitd/OpenIE-standalone](https://github.com/dair-iitd/OpenIE-standalone) 华盛顿大学 (UW) 和德里印度理工学院 (IIT 德里) 的主要开放信息提取 (Open IE) 系统。一个开放的系统提取文本中的关系。
* [zjunlp/KnowPrompt](https://github.com/zjunlp/KnowPrompt) 把关系标签之间的知识整合到关系提取的prompt-tuning中,并提出了一种使用协同优化的Knowledge-aware Prompt-tuning方法。
* [loujie0822/DeepIE](https://github.com/loujie0822/DeepIE) 基于深度学习的信息抽取技术,实体抽取实体关系联合抽取属性抽取实体链接/标准化事件抽取摘要抽取
* [thunlp/NREPapers](https://github.com/thunlp/NREPapers) 神经网络关系抽取必读论文列表,覆盖了较为经典的神经网络关系抽取领域的已发表论文、综述等。
* [liuhuanyong/EventTriplesExtraction](https://github.com/liuhuanyong/EventTriplesExtraction) 基于依存句法与语义角色标注的事件三元组抽取,可用于文本理解如文档主题链,事件线等应用。
* [lemonhu/open-entity-relation-extraction](https://github.com/lemonhu/open-entity-relation-extraction) 基于依存句法分析,实现面向开放域文本的知识三元组抽取(实体和关系抽取)及知识库构建。
* [thunlp/OpenNRE](https://github.com/thunlp/OpenNRE) 开源的神经网络关系抽取工具包,包括了多款常用的关系抽取模型,CNN、BERT、bag-level PCNN-ATT。
* [roomylee/awesome-relation-extraction](https://github.com/roomylee/awesome-relation-extraction) 专门用于关系提取的精选资源列表,关系提取是自然语言处理 (NLP) 中最重要的任务之一。
* [thunlp/fewrel](https://github.com/thunlp/fewrel) 大规模 Few-shot 关系提取数据集,包含一百多个关系和数万个跨不同领域的带注释实例。
* [zjunlp/openue](https://github.com/zjunlp/openue) 开源的通用文本信息抽取工具 三元组抽取 事件抽取 槽填充和意图检测
* [percent4/knowledge_graph_demo](https://github.com/percent4/knowledge_graph_demo) 展示三元组抽取后形成的知识图谱,包括几本小说的实体关系
* [weizhepei/CasRel](https://github.com/weizhepei/CasRel) 用于关系三重提取的新颖级联二进制标记关系抽取框架.
* [thunlp/DocRED](https://github.com/thunlp/DocRED) 大规模文档级关系提取数据集的数据集和代码。ACL 2019
* [cuhksz-nlp/RE-AGCN](https://github.com/cuhksz-nlp/RE-AGCN) 使用注意力图卷积网络的依赖驱动关系提取的实现。
* [lancopku/Chinese-Literature-NER-RE-Dataset](https://github.com/lancopku/Chinese-Literature-NER-RE-Dataset) 中文文学文本语篇级命名实体识别与关系抽取数据集
* [131250208/TPlinker-joint-extraction](https://github.com/131250208/TPlinker-joint-extraction) 联合抽取模型 实体关系联合抽取标注关系抽取方案
* [cuhksz-nlp/RE-TaMM](https://github.com/cuhksz-nlp/RE-TaMM) 于词依存信息类型映射记忆神经网络的关系抽取
* [TanyaZhao/MRC4ERE_plus](https://github.com/TanyaZhao/MRC4ERE_plus) 基于机器阅读理解的联合实体关系提取框架
* [231sm/Reasoning_In_EE](https://github.com/231sm/Reasoning_In_EE) 利用本体表示学习实现低资源的事件抽取
* [OpenKG-ORG/OpenUE](https://github.com/openkg-org/openue) 一个从文本中通用提取的开放工具包
* [bojone/GPLinker](https://github.com/bojone/GPLinker) 基于GlobalPointer的实体/关系/事件抽取
* [xhw205/GPLinker_torch](https://github.com/xhw205/GPLinker_torch) CMeIE/CBLUE/CHIP/实体关系抽取/SPO抽取
## 其他_NLP自然语言处理
* [oxford-cs-deepnlp-2017/lectures](https://github.com/oxford-cs-deepnlp-2017/lectures) 此存储库包含牛津大学 Hilary Term 2017 中提供的深度自然语言处理课程的讲座幻灯片和课程描述。这是一门关于自然语言处理的高级课程。自动处理自然语言输入并生成语言输出是通用人工智能的关键组成部分。人类交流中固有的歧义和噪声使传统的符号 AI 技术无法有效地表示和分析语言数据。最近,基于神经网络的统计技术在自然语言处理方面取得了许多显著的成功,从而在该领域引起了极大的商业和学术兴趣。这是一门应用课程,侧重于使用递归神经网络分析和生成语音和文本的最新进展。我们介绍了相关机器学习模型的数学定义,并推导出了它们相关的优化算法。该课程涵盖了神经网络在 NLP 中的一系列应用,包括分析文本中的潜在维度、将语音转录为文本、在语言之间进行翻译以及回答问题。这些主题分为三个高级主题,从理解神经网络在顺序语言建模中的使用,到理解它们作为转导任务的条件语言模型的使用,最后到将这些技术与其他机制相结合进行高级应用的方法。在整个课程中,还讨论了此类模型在 CPU 和 GPU 硬件上的实际实现。本课程由 Phil Blunsom 组织,并与 DeepMind 自然语言研究小组合作提供。
* [ripperhe/Bob](https://github.com/ripperhe/Bob) Bob 是一款 macOS 平台的翻译和 OCR 软件。主要特性:翻译功能:划词翻译、截图翻译、输入翻译、翻译多开、自定义插件、自动识别语种、驼峰拆分、蛇形拆分、AppleScript 调用、PopClip 调用。OCR 功能:截图 OCR、静默截图 OCR、访达选图;OCR、离线识别、连续识别、二维码识别、自动复制、智能分段;支持的服务:文本翻译:系统翻译、火山翻译、腾讯翻译君、阿里翻译、百度翻译、有道翻译、彩云小译、小牛翻译、Google 翻译、Microsoft 翻译、Amazon 翻译、DeepL 翻译、OpenAI 翻译;文本识别:离线文本识别、火山 OCR、腾讯 OCR、腾讯图片翻译、百度 OCR、有道 OCR、Google OCR;语音合成:离线语音合成、火山语音合成 、腾讯语音合成、Google 语音合成、Microsoft 语音合成
* [opendatalab/PDF-Extract-Kit](https://github.com/opendatalab/PDF-Extract-Kit) 用于高质量 PDF 内容提取的综合工具包。PDF 文档包含丰富的知识,但从 PDF 中提取高质量内容并非易事。为了解决这个问题,我们将 PDF 内容提取的任务分解为几个组件:布局检测:使用 LayoutLMv3 模型进行区域检测,如图片、表格、标题、文本等;公式检测:使用 YOLOv8 检测公式,包括内联公式和孤立公式;公式识别:使用UniMERNet进行公式识别;光学字符识别:使用PaddleOCR进行文本识别;通过注释各种 PDF 文档,我们训练了用于布局检测和公式检测的鲁棒模型。我们的流程可以在各种类型的PDF文档(如学术论文、教科书、研究报告和财务报表)上实现准确的提取结果,即使在扫描模糊或水印的情况下也非常强大。
* [huggingface/datatrove](https://github.com/huggingface/datatrove) DataTrove是一个用于大规模处理、过滤和去重文本数据的库,它提供了一组预构建的常用处理模块,并提供了一个框架,可以轻松添加自定义功能。DataTrove 处理管道与平台无关,可以在本地或 slurm 集群上开箱即用。它(相对)较低的内存使用量和多步骤设计使其成为大型工作负载的理想选择,例如处理 LLM 的训练数据。通过 [fsspec](https://filesystem-spec.readthedocs.io/en/latest/) 支持本地、远程和其他文件系统。该项目提供了许多示例,例如处理 FineWeb 数据集、处理 Common Crawl 存档、对 C4 数据集进行分词、使用 MinHash进行去重、进行句子级精确去重以及使用 ExactSubstr 进行去重。
* [piskvorky/gensim](https://github.com/piskvorky/gensim) Python 库,用于主题建模、文档索引和大型语料库的相似性检索。目标受众是自然语言处理 (NLP) 和信息检索 (IR) 社区。特征:所有算法都与内存无关,与语料库大小无关(可以处理大于 RAM、流式、核外的输入),易于插入您自己的输入语料库/数据流(简单的流式 API),易于使用其他向量空间算法进行扩展(简单转换 API),流行算法的高效多核实现,例如在线潜在语义分析 (LSA/LSI/SVD)、潜在狄利克雷分配 (LDA)、随机投影 (RP)、分层狄利克雷过程 (HDP) 或 word2vec 深度学习。分布式计算:可以在计算机集群上运行潜在语义分析和潜在狄利克雷分配。
* [alibaba/EasyNLP](https://github.com/alibaba/EasyNLP) EasyNLP 是 PyTorch 中一个易于使用的 NLP 开发和应用程序工具包,于 2021 年首次在阿里巴巴内部发布。它采用可扩展的分布式训练策略构建,并支持适用于各种 NLP 应用程序的全面 NLP 算法套件。EasyNLP 集成了知识蒸馏和小样本学习,用于登陆大型预训练模型,以及各种流行的多模态预训练模型。它为实际应用程序提供了模型训练、推理和部署的统一框架。它已为阿里巴巴集团内的 10 多个 BU 和 20 多个业务场景提供支持。它与 AI 平台 (PAI) 产品无缝集成,包括用于开发的 PAI-DSW、用于云原生训练的 PAI-DLC、用于服务的 PAI-EAS 和用于零代码模型训练的 PAI-Designer。
* [pytorch/text](https://github.com/pytorch/text) torchtext是一个基于 PyTorch 的自然语言处理库,提供模型、数据加载器和抽象,用于处理文本数据。它包含常见 NLP 数据集的原始文本迭代器、基本 NLP 构建块、文本处理转换、预训练模型、词汇和向量相关的类和工厂函数,以及使用 PyTorch 和 torchtext 库的NLP 工作流程示例。torchtext 支持多种 PyTorch 版本和 Python 版本,可以通过 conda 或 pip 安装。此外,用户可以选择使用 SpaCy 或 SacreMoses进行英文分词,并可从源代码构建 torchtext。需要注意的是,torchtext 的开发已停止,`0.18` 版本将是该库的最后一个稳定版本。
* [JohnSnowLabs/spark-nlp](https://github.com/JohnSnowLabs/spark-nlp) 建立在 Apache Spark 之上的最先进的自然语言处理库。它为机器学习管道提供了简单、高性能和准确的 NLP 注释,这些管道可在分布式环境中轻松扩展。Spark NLP 自带 36000+ 种预训练流水线和模型,支持 200+ 多种语言。它还提供诸如标记化、分词、词性标记、单词和句子嵌入、命名实体识别、依赖项解析、拼写检查、文本分类、情感分析、标记分类、机器翻译(+180 种语言)、摘要、问答、表格问答、文本生成、图像分类、图像到文本(字幕)、自动语音识别、零样本学习等任务,以及更多 NLP 任务。
* [DS4SD/docling](https://github.com/DS4SD/docling) Docling是一个用于解析文档并将其轻松快速地导出到所需格式的工具。它支持多种流行的文档格式(PDF、DOCX、PPTX、图像、HTML、AsciiDoc、Markdown),并可以导出到Markdown和JSON。Docling具有先进的PDF文档理解能力,包括页面布局、阅读顺序和表格结构。它还提供统一的DoclingDocument表示格式,用于提取元数据(标题、作者、参考文献和语言),并与LlamaIndex和LangChain无缝集成,以实现强大的RAG/QA应用。Docling支持OCR扫描PDF,并提供简单易用的CLI。用户可以通过文档中的示例来探索Docling的全部功能。
* [JasonKessler/scattertext](https://github.com/JasonKessler/scattertext) Scattertext是一个用于可视化语料库差异的工具,它可以将不同语料库中的区分性词语以交互式HTML散点图的形式展示。该工具通过对词语的分布进行分析,将它们在散点图中进行可视化,并使用颜色梯度来解释分数,帮助用户理解不同语料库之间的语言差异。Scattertext还支持自定义可视化和绘制词语的分布,并提供教程和示例代码,方便用户使用。用户可以使用Scattertext来进行文本分析,例如寻找特征词语及其关联性,可视化词语和短语的关联性,以及可视化Empath主题和类别等。
* [edwindj/chunked](https://github.com/edwindj/chunked) chunked是一个 R 包,用于处理大型文本文件,它利用 dplyr 语法,通过分块读取数据的方式,在内存中只加载一部分数据,从而有效地处理大型文本文件。它支持 select、mutate 和 filter 等操作,但目前不支持 group 和 summarize 操作。chunked 可以将文本文件处理成另一个文本文件,也可以将数据写入数据库,还可以从数据库中导出数据到文本文件。它使用 LaF 包来实现分块处理,并提供 lazy processing 功能,直到调用 collect 或 write_chunkwise 函数才会开始处理数据。
* [lupantech/InterGPS](https://github.com/lupantech/InterGPS) 基于符号推理的几何数学题求解器。建立了一个新的大规模基准数据集,称为 Geometry3K。这些数据从两本中学教材收集,涵盖了北美 6 到 12 年级的几何知识。每道题收集了 LaTeX 格式的问题文本、几何图形、四个选项和正确答案。为了模型的精细评估,每个数据标注了问题目标和几何图形的类型。Inter-GPS 将几何关系集 R 和定理集 KB 作为输入,应用定理预测器预测适用的定理序列,逐步对关系集进行符号推理,从而输出问题目标的答案。
* [rspeer/python-ftfy](https://github.com/rspeer/python-ftfy) ftfy是一个 Python 库,用于修复 Unicode 文本中的乱码和其他错误。它可以识别并修复各种编码错误,例如 mojibake(编码混淆)、多层乱码、带有“弯引号”的乱码以及包含非断行空格的乱码。ftfy 还能够解码出现在 HTML代码之外的 HTML 实体,即使这些实体在其他编码中被错误地解码了。ftfy 能够根据字符模式识别乱码,并使用这些信息来恢复原始字符串。ftfy 还可以处理多种编码,并提供多种修复函数,以满足不同的需求。
* [VikParuchuri/marker](https://github.com/VikParuchuri/marker) 快速将PDF转换为Markdown,准确无误。支持各种文档(针对书籍和科学论文进行了优化);支持所有语言;删除页眉/页脚/其他工件;设置表格和代码块的格式;提取并保存图像以及 Markdown;将大多数方程转换为latex;适用于 GPU、CPU 或 MPS。Marker 是深度学习模型的管道:提取文本,必要时进行 OCR(heuristics、surya、tesseract);检测页面布局并查找阅读顺序 (surya);清理和格式化每个块;合并块并对完整文本进行后处理
* [QData/TextAttack](https://github.com/QData/TextAttack) TextAttack是一个用于自然语言处理 (NLP) 的 Python 框架,用于生成对抗样本、数据增强和模型训练。它可以帮助你更好地理解 NLP 模型,研究和开发不同的 NLP 对抗攻击,增强数据集以提高模型泛化能力和鲁棒性,以及使用单个命令训练 NLP 模型。TextAttack提供了命令行界面和 Python 模块两种使用方式,并包含了丰富的预训练模型和示例脚本。你可以在 TextAttack 的官方文档网站上找到详细的使用说明和教程。
* [ryanzhumich/Contrastive-Learning-NLP-Papers](https://github.com/ryanzhumich/Contrastive-Learning-NLP-Papers) NLP 对比学习是一种学习嵌入空间的技术,使得相似的数据样本对具有接近的表示,而不同的样本彼此相距很远。 它可以在有监督或无监督的设置中使用,使用不同的损失函数来生成特定于任务或通用的表示。 在各种 NLP 任务中提供了有希望的性能改进,而且还提供了所需的特性,例如与任务无关的句子表示、忠实的文本生成、零样本和少样本设置中的数据高效学习、可解释性和可解释性 .
* [RUCAIBox/CRSLab](https://github.com/RUCAIBox/CRSLab) 用于构建会话推荐系统(Conversational Recommender System CRS)的开源工具包。 对话推荐任务主要拆分成三个任务:推荐任务(生成推荐的商品),对话任务(生成对话的回复)和策略任务(规划对话推荐的策略)。模型 CRS 模型 ReDial、KBRD、KGSF、TG-ReDial、推荐模型 Popularity、GRU4Rec、SASRec、TextCNN、R-GCN、BERT、对话模型 HERD、Transformer、GPT-2 策略模型 PMI、MGCG、Conv-BERT、Topic-BERT、Profile-BERT
* [microsoft/presidio](https://github.com/microsoft/presidio) 适用于文本和图像的上下文感知、可插拔和可定制的数据保护和去识别化 SDK,针对文本和图像的上下文感知、可插入和可定制的 PII 去识别服务。Presidio (源自拉丁语 praesidium“保护、驻军”)有助于确保敏感数据得到妥善管理和治理。它为私人实体提供快速的文本识别和匿名模块,例如信用卡号、姓名、位置、社会保险号、比特币钱包、美国电话号码、财务数据等。
* [interpretml/interpret-text](https://github.com/interpretml/interpret-text) Interpret-Text是一个开源 Python 库,用于解释文本机器学习模型,并提供内置仪表板可视化结果。它基于 Interpret 库,并扩展了对文本模型的支持。该库整合了最先进的文本可解释性技术,并提供统一的 API,用户可以通过交互式可视化仪表板分析模型结果,并对不同可解释性技术进行比较分析。目标用户包括开发者、数据科学家、业务主管和机器学习可解释性研究人员。
* [bmabey/pyLDAvis](https://github.com/bmabey/pyLDAvis) pyLDAvis是一个用于交互式主题模型可视化的 Python 库,它是 R LDAvis包的移植版本。它帮助用户解释主题模型,该模型已拟合到文本数据语料库中。该库提取已拟合 LDA 主题模型的信息,以提供交互式基于 Web 的可视化。可视化旨在用于 IPython 笔记本,但也可以保存到独立的 HTML 文件中,以便轻松共享。该项目提供详细的文档和示例,以及视频演示,帮助用户快速上手。
* [tensorflow/text](https://github.com/tensorflow/text) TensorFlow Text是一个 TensorFlow 2.0 的文本处理库,提供了一系列文本相关类和操作,用于文本预处理,包括 Unicode 处理、规范化、分词、N-gram 等,并支持 TensorFlow 图计算,确保训练和推理过程的一致性。它还提供了一些用于序列建模的特性,如偏移量计算和 Keras API。用户可以通过 pip 安装或从源代码构建 TensorFlow Text,并参考官方文档进行使用。
* [linzehui/mRASP](https://github.com/linzehui/mRASP) 通过利用对齐信息预训练多语言神经机器翻译. 代表多语言随机对齐替换预训练,是一种预训练的多语言神经机器翻译模型。 它在包含 32 个语言对的大规模多语言语料库上进行了预训练。 获得的模型可以在下游语言对上进一步微调。 为了有效地使具有相似含义的单词和短语在多种语言的表示中更接近,我们引入了随机对齐替换 (RAS) 技术。
* [salesforce/decaNLP](https://github.com/salesforce/decaNLP) 一项多任务挑战,涵盖十项任务:问答 (SQuAD)、机器翻译 (IWSLT)、摘要 (CNN/DM)、自然语言推理 (MNLI)、情感分析 (SST)、语义角色标签 (QA-SRL)、零样本关系提取 (QA-ZRE)、面向目标的对话 (WOZ)、语义解析 (WikiSQL) 和常识推理 (MWSC)。每个任务都转换为问答,这使得使用我们新的多任务问答网络 (MQAN) 成为可能。
* [MuCGEC/scorers/ChERRANT](https://github.com/HillZhang1999/MuCGEC/tree/main/scorers/ChERRANT) 借鉴了英文上主流的GEC(Grammatical Error Correction 语法纠错)评估工具[ERRANT](https://github.com/chrisjbryant/errant),搭建了中文GEC评估工具ChERRANT(Chinese ERRANT)。ChERRANT的主要功能是通过对比预测编辑和标准编辑,计算预测结果的精确度、召回度、F值指标,从而评估语法纠错模型的性能。应用:搜索query纠错、语音纠错、舆情文本纠错
* [chardet/chardet](https://github.com/chardet/chardet) Chardet是一个Python库,用于检测文本文件的字符编码,支持多种编码格式,包括ASCII、UTF-8、GB2312、SHIFT_JIS等,并提供命令行工具方便使用。它基于统计模型,通过分析文本数据来推断编码,并给出置信度评分。该项目是Mark Pilgrim的C语言版本chardet的Python 3兼容版本,目前支持Python 3.8及以上版本,可通过pip installchardet安装。
* [nyu-mll/GLUE-baselines](https://github.com/nyu-mll/GLUE-baselines) 该项目提供用于Generalized Language Understanding Evaluation (GLUE)基准测试的基线代码,旨在探索多任务学习方法来学习句子表示。项目包含用于下载GLUE数据集、预处理数据和运行基线模型的脚本。用户可以根据需要选择使用GloVe、CoVe或ELMo等预训练词嵌入,并设置相应的参数。该项目已弃用,推荐使用更完善的jiant工具包。
* [alibaba/kiwi](https://github.com/alibaba/kiwi) Kiwi是一个国际化翻译全流程解决方案,提供一站式服务,包括提取中文文案、校验文案是否存在中文、查找对应文案等功能。它包含 `kiwi-intl`、`kiwi-cli` 和 `kiwi-linter` 三个子项目,分别用于文案管理、命令行工具和代码检查。Kiwi 可以帮助开发者轻松地进行国际化翻译,避免传统方法中常见的错误和效率低下问题。
* [cltk/cltk](https://github.com/cltk/cltk) Classical Language Toolkit (CLTK) 是一个 Python 库,为古代语言提供自然语言处理 (NLP) 功能。CLTK 针对古代语言的特点,改进了 NLP框架,满足了古代语言研究的独特需求。你可以使用 `pip install cltk` 安装最新版本,并参考官方文档获取更多信息。CLTK已发表在 ACL 2021 系统演示论文中,论文 DOI 为 10.18653/v1/2021.acl-demo.3。
* [huseinzol05/NLP-Models-Tensorflow](https://github.com/huseinzol05/NLP-Models-Tensorflow) 抽象总结 聊天机器人依赖解析器 实体标记 提取摘要 发电机 语言检测 神经机器翻译 光学字符识别 POS标签 问题答案 句子对 语音转文字 拼写校正 小队问题答案 抽干 文字扩充 文字分类 文字相似度 文字转语音 主题生成器 主题建模 无监督提取摘要 矢量化器 老少少的声码器 可视化 注意Attention
* [sebastianruder/NLP-progress](https://github.com/sebastianruder/NLP-progress) 它旨在涵盖传统和核心NLP任务,如依赖解析和词性标记,以及最近的任务,如阅读理解和自然语言推理。主要目的是为读者提供基准数据集的快速概述以及他们感兴趣的任务的最新技术,这是进一步研究的垫脚石。为此,如果有一个地方已经发布并定期维护任务的结果,例如公共排行榜。
* [daviddrysdale/python-phonenumbers](https://github.com/daviddrysdale/python-phonenumbers) 该项目是Google libphonenumber库的Python版本,支持Python 2.5-2.7和3.x。它能够解析、验证和格式化电话号码,支持多种格式,并能检查号码的可能性和有效性,例如判断一个号码是否属于已分配的交换机。通过pip安装即可使用,主要对象是PhoneNumber,用户需提供号码和国家/地区信息进行解析。
* [sebastian-hofstaetter/intra-document-cascade](https://github.com/sebastian-hofstaetter/intra-document-cascade) IDCM模型: 文档内部级联选择段落服务于文档排序。采用文档内部级联策略,在运行复杂并且高效果的排序模型(ETM,Effective Teacher Model)之前,使用高效率的模型(ESM,Efficient Student Model)进行候选文档中多余段落的删除。相比bert,具有基本相同的效果,而且查询延迟降低400%以上。
* [adithya-s-k/marker-api](https://github.com/adithya-s-k/marker-api) Marker API是一个快速、准确地将PDF转换为Markdown的API,只需一键部署即可使用。它支持异步处理、分布式架构、GPU/CPU支持、多语言支持,并能准确提取表格、图片、代码块和数学公式。此外,它还提供简单服务器和分布式服务器两种模式,分别适合小型本地部署和大型生产环境。
* [huybery/r2sql](https://github.com/huybery/r2sql) Dynamic Hybrid Relation Network for Cross-Domain Context-Dependent Semantic Parsing 跨域上下文相关语义分析的动态混合关系网络 应用于:多轮text-to-SQL 任务(通过多轮对话的方式生成最终的查询语句, Text-to-SQL 任务:给定一个自然语言查询和数据库的作为输入,产生一个SQL语句作为输出。)
* [amueller/word_cloud](https://github.com/amueller/word_cloud) 这是一个用 Python 编写的简单词云生成器,它可以根据文本内容生成词云图像,并支持自定义形状、颜色、字体等参数。用户可以通过 pip 或 conda 安装该库,并使用示例代码或命令行工具来生成词云。该库依赖于 numpy、pillow 和 matplotlib 库,并提供MIT 许可证。
* [xueyouluo/ccks2021-track2-code](https://github.com/xueyouluo/ccks2021-track2-code) “英特尔创新大师杯”深度学习挑战赛 赛道2:CCKS2021中文NLP地址要素解析 。基于BERT的Biaffine结构,直接预测文本构成的所有span的类别。相比单纯基于span预测和基于MRC的预测,Biaffine的结构可以同时考虑所有span之间的关系,从而提高预测的准确率。
* [opendatalab/MinerU](https://github.com/opendatalab/MinerU) 一站式开源高质量数据提取工具,支持PDF/网页/多格式电子书提取。包括以下主要功能:Magic-PDF PDF 文档提取、网页和电子书提取。Magic-PDF 是一种旨在将 PDF 文档转换为 Markdown 格式的工具,能够处理存储在本地或支持 S3 协议的对象存储上的文件。
* [graph4ai/graph4nlp](https://github.com/graph4ai/graph4nlp) 一个易于使用的NLP图形神经网络库。应用:文本分类、神经机器翻译、摘要、KG补全:预测konwledge图中两个现有实体之间的缺失关系。数学问题解决:自动解决数学习题,用易懂的语言提供问题的背景信息。名称实体识别、问题生成。
* [Helsinki-NLP/Tatoeba-Challenge](https://github.com/Helsinki-NLP/Tatoeba-Challenge) 这是一个机器翻译的挑战集,包含 29G 翻译单元在 3,708 位ext 覆盖 557 种语言。该包包括从涵盖 134 种语言的 Tatoeba.org 衍生的 631 套测试集的版本。此包提供以多种语言进行机器翻译的数据集,并提供从 Tatoeba 获取的测试数据。
* [flairNLP/flair](https://github.com/flairNLP/flair) 最先进的NLP框架。由柏林洪堡大学开发。将先进的NLP模型应用于文本,如NER、词性标记 (PoS)、对生物医学的特殊支持、感知消歧和分类。Flair具有简单的界面,允许不同的单词和文档嵌入,包括Flair嵌入,BERT嵌入和ELMo嵌入。
* [deanmalmgren/textract](https://github.com/deanmalmgren/textract) Textract是一个Python库,能够轻松地从各种文档中提取文本,无需复杂操作。它由@deanmalmgren最初编写,目前由Jazz Band维护。该项目提供完整的文档,并支持多种文件格式。通过调用相应的API即可实现文本提取功能。
* [yechens/NL2SQL](https://github.com/yechens/NL2SQL) Text2SQL 语义解析数据集、解决方案、paper资源整合项。Text to SQL( 以下简称Text2SQL),是将自然语言文本(Text)转换成结构化查询语言SQL的过程,属于自然语言处理-语义分析(Semantic Parsing)领域中的子任务。
* [princeton-nlp/LM-BFF](https://github.com/princeton-nlp/LM-BFF) 更好的Few-shot小样本微调语言模型.包括:1.基于提示(prompt)进行微调,关键是如何自动化生成提示模板; 2.将样本示例以上下文的形式添加到每个输入中,关键是如何对示例进行采样.
* [shibing624/pycorrector](https://github.com/shibing624/pycorrector) 中文文本纠错工具。支持中文音似、形似、语法错误纠正。实现了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer等多种模型的文本纠错,并在SigHAN数据集评估各模型的效果。
* [explosion/spaCy](https://github.com/explosion/spaCy) 工业级强度的NLP工具包,被称为最快的工业级自然语言处理工具。支持多种自然语言处理的基本功能,主要功能包括分词、词性标注、词干化、命名实体识别、名词短语提取等。
* [tisfeng/Easydict](https://github.com/tisfeng/Easydict) 简洁优雅的词典翻译 macOS App。开箱即用,支持离线 OCR 识别,支持有道词典,苹果系统词典翻译,ChatGPT,Gemini,DeepL,Google,Bing,腾讯,百度,阿里,小牛,彩云和火山翻译。
* [grammarly/gector](https://github.com/grammarly/gector) ”GECToR – Grammatical Error Correction: Tag, Not Rewrite”,使用给序列打标签来替代主流的Seq2Seq模型。本文采取了一种迭代的方法,也就是通过多次(其实最多也就两三次)序列打标签。
* [clovaai/ssmix](https://github.com/clovaai/ssmix) 数据增强⽅法,SSMix⽅法在⽂本input上通过巧妙的⽅法进⾏mixup,⽽不像前⾯⼤部分使⽤在 hidden层上。该⽅法在保留⼤部分重要token的前提下基于⼀些信息替换⼀个新的 span进来。
* [cuhksz-nlp/DGSA](https://github.com/cuhksz-nlp/DGSA) 基于方向建模图卷积网络的联合方面提取和情感分析.输入:由句子生成的依存句法分析树得到的图;句子(词序列).输出表示为一个标签序列.可用于序列标注、ER 和情感分析。
* [ShomyLiu/Neu-Review-Rec](https://github.com/ShomyLiu/Neu-Review-Rec) Pytorch的基于评论文本的深度推荐系统模型库。DeepCoNN(WSDM‘17)、D-Attn(RecSys‘17)、ANR(CIKM‘18)、NARRE(WWW‘18)、MPCN(KDD‘18)、TARMF(WWW‘18)、CARL(TOIS‘19)、CARP(SIGIR‘19)、DAML(KDD‘19)
* [ChenghaoMou/pytorch-pQRNN](https://github.com/ChenghaoMou/pytorch-pQRNN) pQRNN 结合一个简单的映射和一个quasi-RNN编码器来进行快速并行处理。pQRNN模型表明这种新的体系结构几乎可以达到BERT级的性能,尽管只使用1/300的参数量和有监督的数据。
* [nlp-uoregon/trankit](https://github.com/nlp-uoregon/trankit) 用于多语言自然语言处理的基于轻型变压器的Python工具包 支持以下任务:句子分割。标记化。多字令牌扩展。词性标记。形态特征标记。依赖性解析。命名实体识别。
* [airaria/TextBrewer](https://github.com/airaria/TextBrewer) 基于PyTorch的NLP任务知识蒸馏工具包,适用于多种模型结构,支持自由组合各种蒸馏策略,并且在文本分类、阅读理解、序列标注等典型NLP任务上均能获得满意的效果。
* [PaddlePaddle/PaddleNLP](https://github.com/PaddlePaddle/PaddleNLP) 简单易用且易于开发的强大功能。开发的简单易用的自然覆盖处理模型并提供开发者的简单易用的自然覆盖处理模型,并提供NLP 多场景的语言库供灵活使用的需求。
* [425776024/nlpcda](https://github.com/425776024/nlpcda) 中文数据增强工具,随机实体替换、近义词、近义近音字替换、随机字删除、NER类 BIO 数据增强、随机置换邻近的字、百度中英翻译互转、中文等价字替换
* [destwang/CTC2021](https://github.com/destwang/CTC2021) 本赛题主要选择互联网上中文母语写作者撰写的网络文本作为校对评测数据,从拼写错误、语法错误、语病错误等多个方面考察机器的认知智能能力。
* [openai/grade-school-math](https://github.com/openai/grade-school-math) 包含 8.5K 高质量语言多样化小学数学单词问题的数据集。对于每个测试问题,我们提供从 6B 微调、6B 验证、175B 微调和 175B 验证生成的解决方案。
* [getomni-ai/zerox](https://github.com/getomni-ai/zerox) 一种非常简单的方法,可以对文档进行 OCR 处理以进行 AI 摄取。毕竟,文档是一种视觉表示。具有奇怪的布局、表格、图表等。视觉模型很有意义
* [thunlp/OpenAttack](https://github.com/thunlp/OpenAttack) 文本对抗攻击工具包,可以用于文本对抗攻击的全过程,包括文本预处理、受害模型访问、对抗样本生成、对抗攻击评测以及对抗训练等。
* [jingtaozhan/DRhard](https://github.com/jingtaozhan/DRhard) 通过难负例优化稠密向量文档检索模型训练,利用动态难负例抽样提高模型效果,以及将随机抽样结合静态难负例抽样提高模型稳定性。
* [JasonForJoy/MPC-BERT](https://github.com/JasonForJoy/MPC-BERT) 一种预训练的多方会话理解语言模型.多方会话(MPC)的各种神经模型在收件人识别、说话人识别和反应预测等方面取得了显著的进展。
* [salesforce/WikiSQL](https://github.com/salesforce/WikiSQL) 用于为关系数据库开发NLP界面的大型众包数据集。 WikiSQL 是与Seq2SQL 一起发布的数据集。使用强化学习从自然语言生成结构化查询。
* [toizzy/tilt-transfer](https://github.com/toizzy/tilt-transfer) 运行TILT迁移学习实验的代码 让语言模型先在乐谱上进行训练,再在自然语言上训练可以有效的提升语言模型的性能。
* [facebookresearch/GENRE](https://github.com/facebookresearch/GENRE) 首创生成式实体检索,通过seq2seq方法(BART)生成有意义的实体名称从而实现实体链接,而且还可以取得SOTA结果。
* [RUCAIBox/CRSPapers](https://github.com/RUCAIBox/CRSPapers) 选取了近年来基于深度学习的对话推荐系统相关论文(共 62 篇),并根据工作的类型进行分类,以供参考。
* [jgm/pandoc](https://github.com/jgm/pandoc) 通用标记转换器。一个Haskell库,用于从一种标记格式转换为另一种标记格式,以及使用该库的命令行工具。
* [shibing624/bart4csc-base-chinese](https://huggingface.co/shibing624/bart4csc-base-chinese) BART中文拼写纠错模型,训练使用了SIGHAN + Wang271K 中文纠错数据集,在SIGHAN2015的测试集上达到接近SOTA水平。
* [NLPchina/ansj_seg](https://github.com/NLPchina/ansj_seg) ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict. 中文分词,人名识别,词性标注,用户自定义词典
* [iqiyi/FASPell](https://github.com/iqiyi/FASPell) 2019-SOTA简繁中文拼写检查工具:FASPell Chinese Spell Checker ( 中文拼写检错 / 中文拼写纠错 / 中文拼写检查)
* [salesforce/pytorch-qrnn](https://github.com/salesforce/pytorch-qrnn) 准循环神经网络Quasi-Recurrent Neural Network,基于使用实例可以比高度优化的 NVIDIA cuDNN LSTM 实现2到17倍快
* [stanfordnlp/stanza](https://github.com/stanfordnlp/stanza) Stanford NLP Group 的官方 Python NLP 库。 它支持在 60 多种语言上运行各种准确的自然语言处理工具。
* [sebastianruder/NLP-progress](https://github.com/sebastianruder/NLP-progress) 用于跟踪自然语言处理 (NLP) 进展的存储库,包括数据集和最常见 NLP 任务的最新技术水平。
* [hiyoung123/SoftMaskedBert](https://github.com/hiyoung123/SoftMaskedBert) 中文文本纠错模型。使用两个网络模型,一个用于错误检测;另一个基于BERT进行纠错。
* [Qznan/QizNLP](https://github.com/Qznan/QizNLP) 快速运行分类、序列标注、匹配、生成等NLP任务的Tensorflow框架 (中文 NLP 支持分布式)
* [soft-prompt-tuning](https://github.com/kipgparker/soft-prompt-tuning) The Power of Scale for Parameter-Efficient Prompt Tuning 用于参数高效的即时调整的规模的力量
* [ssut/py-googletrans](https://github.com/ssut/py-googletrans) (非官方)Googletrans:免费且无限制的 Google 翻译 API for Python。翻译完全免费。
* [CAMTL/CA-MTL](https://github.com/CAMTL/CA-MTL) 条件自适应多任务学习:使用更少的参数和更少的数据改进 NLP 中的迁移学习
* [sloria/TextBlob](https://github.com/sloria/TextBlob) 简单、Pythonic、文本处理——情感分析、词性标记、名词短语提取、翻译等。
* [DengBoCong/nlp-paper](https://github.com/DengBoCong/nlp-paper) 自然语言处理领域下的相关论文(附阅读笔记),复现模型以及数据处理等
* [yizhen20133868/NLP-Conferences-Code](https://github.com/yizhen20133868/NLP-Conferences-Code) 记录NLP相关顶会(如ACL、EMNLP、NAACL、COLING、AAAI、IJCAI)的论文开源项目合集
* [stanfordnlp/CoreNLP](https://github.com/stanfordnlp/CoreNLP) 核心 NLP 工具,用于标记化、句子分割、NER、解析、共指、情感分析等。
* [fxsjy/jieba](https://github.com/fxsjy/jieba) 中文意为“口吃”,中文文本分割:打造成为最好的 Py 中文分词模块。
* [DaDaMrX/ReaLiSe](https://github.com/DaDaMrX/ReaLiSe) 多模态模型中文拼写检查器。包括:文字语义、文字发音、文字图形。
* [pcyin/tranX](https://github.com/pcyin/tranX) 用于将自然语言查询映射到机器可执行代码的通用神经语义解析器
* [nltk/nltk](https://github.com/nltk/nltk) 支持自然语言处理研究和开发的开源 Python 模块、数据集和教程。
* [fushengwuyu/chinese_spelling_correction](https://github.com/fushengwuyu/chinese_spelling_correction) 中文文本纠错模型:bert语言模型+字音字形相似度 、MLM、seq2seq
* [textstat/textstat](https://github.com/textstat/textstat) 用于计算文本对象(段落、句子、文章)的可读性统计数据。
* [huggingface/tokenizers](https://github.com/huggingface/tokenizers) 提供当今最常用的分词器的实现,重点关注性能和多功能性。
* [destwang/CTCResources](https://github.com/destwang/CTCResources) 中文文本纠错(Chinese Text Correction, CTC)相关论文、数据集。
* [facebookresearch/ParlAI](https://github.com/facebookresearch/ParlAI) 在各种公开可用的对话数据集上训练和评估 AI 模型的框架。
* [ACL2020SpellGCN/SpellGCN](https://github.com/ACL2020SpellGCN/SpellGCN) 将语音学和视觉相似性结合到汉语拼写检查、文本纠错
* [liushulinle/CRASpell](https://github.com/liushulinle/CRASpell) 使用复制机制改进中文拼写纠正的上下文错字稳健方法
* [lutzroeder/netron](https://github.com/lutzroeder/netron) 用于神经网络、深度学习和机器学习模型的可视化工具
* [RUCAIBox/TG_CRS_Code](https://github.com/RUCAIBox/TG_CRS_Code) TG-ReDial相应的推荐、回复生成、主题预测功能实现。
* [kpu/kenlm](https://github.com/kpu/kenlm) 高效统计语言模型kenlm:新词发现、分词、智能纠错
* [yuanzhoulvpi2017/zero_nlp](https://github.com/yuanzhoulvpi2017/zero_nlp) 中文nlp解决方案(大模型、数据、模型、训练、推理)
* [taozhijiang/chinese_correct_wsd](https://github.com/taozhijiang/chinese_correct_wsd) 简易中文纠错消歧 用户输入语句的同音自动纠错.
* [openai/tiktoken](https://github.com/openai/tiktoken) 一个快速的 BPE 分词标记器,用于 OpenAI 的模型。
* [akkarimi/aeda_nlp](https://github.com/akkarimi/aeda_nlp) 一种更简单的文本分类数据增强技术.插入符号。
* [rz-zhang/SeqMix](https://github.com/rz-zhang/SeqMix) 数据增强⽅法,通过序列混合增强活动序列标记。
* [XiaoMi/MiNLP/minlp-tokenizer](https://github.com/XiaoMi/MiNLP/tree/main/minlp-tokenizer) 小米 AI NLP 团队的平台 MiNLP 开源了中文分词功能
* [thunlp/PromptPapers](https://github.com/thunlp/PromptPapers) 关于基于提示的预先训练语言模型的必读论文。
* [squareRoot3/Target-Guided-Conversation](https://github.com/squareRoot3/Target-Guided-Conversation) 目标指导的开放域对话,开放域聊天中目标引导.
* [jessevig/bertviz](https://github.com/jessevig/bertviz) 在NLP模型中可视化注意力(BERT,GPT2,BART等)
* [thunlp/OpenBackdoor](https://github.com/thunlp/OpenBackdoor) 文本后门攻防开源工具包(NeurIPS 2022 D&B)
* [keon/awesome-nlp](https://github.com/keon/awesome-nlp) 专用于自然语言处理 (NLP) 的资源精选列表
* [HillZhang1999/MuCGEC](https://github.com/HillZhang1999/MuCGEC) MuCGEC中文纠错数据集及文本纠错SOTA模型开源
* [FedML-AI/FedNLP](https://github.com/FedML-AI/FedNLP) FedNLP:自然语言处理中的联合学习研究平台
* [zhijing-jin/Causality4NLP_Papers](https://github.com/zhijing-jin/Causality4NLP_Papers) 关于自然语言处理因果关系的论文阅读列表
* [dbohdan/structured-text-tools](https://github.com/dbohdan/structured-text-tools) 用于操作结构化文本数据的命令行工具列表
* [graykode/nlp-tutorial](https://github.com/graykode/nlp-tutorial) 面向深度学习研究人员的自然语言处理教程
* [mit-han-lab/smoothquant](https://github.com/mit-han-lab/smoothquant) 对大语言模型的准确和高效的训练后量化
* [czhang99/SynonymNet](https://github.com/czhang99/SynonymNet) 基于多个上下文双向匹配的同义实体发现
* [Jingjing-NLP/VOLT](https://github.com/Jingjing-NLP/VOLT) 借鉴边际效用通过最优转移学习词表。
* [PengheLiu/Cn_Speck_Checker](https://github.com/PengheLiu/Cn_Speck_Checker) 通过统计方法对中文单词进行自动纠错
* [causaltext/causal-text-papers](https://github.com/causaltext/causal-text-papers) 因果推理和自然语言处理的交叉研究。
* [thunlp/TAADpapers](https://github.com/thunlp/TAADpapers) 文本对抗攻击和防御必读论文列表。
* [hooman650/SupCL-Seq](https://github.com/hooman650/SupCL-Seq) 下游优化序列表示的监督对比学习
* [beyondacm/Autochecker4Chinese](https://github.com/beyondacm/Autochecker4Chinese) 中文文本错别字检测以及自动纠错
* [zhanlaoban/EDA_NLP_for_Chinese](https://github.com/zhanlaoban/EDA_NLP_for_Chinese) 适合中文语料的数据增强EDA的实现
* [nonebot/nonebot2](https://github.com/nonebot/nonebot2) 跨平台 Python 异步聊天机器人框架
* [bojone/attention](https://github.com/bojone/attention) Attention机制的实现tensorflow/keras
* [thunlp/WantWords](https://github.com/thunlp/WantWords) 一个开源的在线反向词典。
* [crownpku/Awesome-Chinese-NLP](https://github.com/crownpku/Awesome-Chinese-NLP) 中文自然语言处理相关资料
* [wac81/textda](https://github.com/wac81/textda) Python3中文文本的数据增强
* [hankcs/pyhanlp](https://github.com/hankcs/pyhanlp) 中文分词、依存句法分析
* [lancopku/pkuseg-python](https://github.com/lancopku/pkuseg-python) 多领域中文分词工具
* [PKU-TANGENT/nlp-tutorial](https://github.com/PKU-TANGENT/nlp-tutorial) NLP新手入门教程
* [makcedward/nlpaug](https://github.com/makcedward/nlpaug) NLP 的数据增强
## 实体识别NER_意图识别_槽位填充
* [defunct-datasets/amazon_reviews_multi](https://huggingface.co/datasets/defunct-datasets/amazon_reviews_multi) 我们提供了一个用于多语言文本分类的亚马逊商品评论数据集。该数据集包含2015年11月1日至2019年11月1日期间收集的英文、日文、德文、法文、中文和西班牙文综述。数据集中的每条记录都包含评论文本、评论标题、星级评定、匿名评论者 ID、匿名产品 ID 和粗粒度产品类别(例如“书籍”、“电器”等)语料库在星级之间是平衡的,因此每个星级评定占每种语言评论的 20%。对于每种语言,在训练、开发和测试集中分别有 200,000、5,000 和 5,000 条评论。每位评论者的最大评论数为 20 条,每个产品的最大评论数为 20 条。所有评论在 2,000 个字符后被截断,并且所有评论的长度至少为 20 个字符。请注意,评论的语言不一定与其市场的语言相匹配(例如,来自 amazon.de 的评论主要用德语撰写,但也可以用英语等撰写)。出于这个原因,我们应用了一种基于Bojanowski等人(2017)工作的语言检测算法来确定评论文本的语言,并删除了不是用预期语言编写的评论。
* [eriktks/conll2003](https://huggingface.co/datasets/eriktks/conll2003) CoNLL-2003 的共同任务涉及与语言无关的命名实体识别。我们将重点介绍四种类型的命名实体:不属于前三组的人员、地点、组织和杂项实体的名称。CoNLL-2003 共享任务数据文件包含四列,用一个空格分隔。每个单词都放在单独的行上,每个句子后面都有一个空行。每行的第一项是一个单词,第二项是词性 (POS) 标记,第三项是句法块标记,第四项是命名实体标记。块标记和命名实体标记的格式为 I-TYPE,这意味着该单词位于 TYPE 类型的短语中。只有当两个相同类型的短语紧跟在一起时,第二个短语的第一个单词才会带有标签 B-TYPE,以表明它开始了一个新短语。带有标签 O 的单词不是短语的一部分。请注意,数据集使用 IOB2 标记方案,而原始数据集使用 IOB1。
* [YLab-Open/METS-CoV](https://github.com/YLab-Open/METS-CoV) METS-CoV是一个包含 COVID-19 相关推文中的医疗实体和目标情感的语料库,由 YLab-Open 团队发布。该数据集包含 10,000 条推文,涵盖 7 种实体类型,包括 4 种医疗实体类型(疾病、药物、症状和疫苗)和 3 种通用实体类型(人物、地点和组织)。为了进一步研究推文用户对特定实体的态度,选择了 4 种实体类型(人物、组织、药物和疫苗),并用用户情感进行标注,形成了一个包含 9,101 个实体(在 5,278 条推文中)的目标情感数据集。METS-CoV是第一个收集 COVID-19 相关推文中的医疗实体和对应情感的数据集,为构建更好的医疗社交媒体理解工具和促进计算社会科学研究(特别是流行病学主题)提供了基础资源。
* [qgyd2021/chinese_ner_sft](https://huggingface.co/datasets/qgyd2021/chinese_ner_sft) 中文实体识别指令数据集.收集开源的实体识别数据集, 将其制作为 sft 数据集用于 LLM 微调.该数据集的目的是构建通用实体识别的LLM研究.数据集分为三大类, {dataset_name}: 为对应的实体识别数据集.{dataset_name}_template: 是为各数据集编写的 prompt 模板, 因为各数据集的主题不同, 所以模板分别编写会更加准确.{dataset_name}_prompt: 是根据 {dataset_name} 和 {dataset_name}_template 合成的 prompt 数据集. .数据集从网上收集整理如下:CMeEE、CCKS2019_task1、CLUENER2020、MSRA、NLPCC2018_task4、CCFBDCI、MMC、WeiBo、ECommerce、YouKu、FinanceSina、Resume、Bank、DLNER
* [stanfordnlp/sst2](https://huggingface.co/datasets/stanfordnlp/sst2) 斯坦福情感树库是一个具有完全标记的解析树的语料库,可以对语言中情感的组合效应进行全面分析。该语料库基于Pang和Lee(2005)引入的数据集,由从电影评论中提取的11,855个单句组成。它使用斯坦福解析器进行解析,包括来自这些解析树的总共 215,154 个独特的短语,每个短语都由 3 名人类法官注释。对完整句子的二元分类实验(否定或有点否定与有点肯定或肯定,丢弃中性句子)将数据集称为 SST-2 或 SST 二进制。数据集中的文本为英文 ( en )。
* [ljynlp/W2NER](https://github.com/ljynlp/W2NER) 通过将统一的 NER 建模为词-词关系分类,提出了一种新颖的替代方案。该架构通过有效地建模实体词与 Next-Neighboring-Word (NNW) 和 Tail-Head-Word-* (THW-*) 关系之间的相邻关系,解决了统一 NER 的内核瓶颈。在 14 个广泛使用的基准数据集上针对平坦、重叠和不连续的 NER(8 个英语和 6 个中文数据集)进行了广泛的实验,击败了所有当前表现最好的基线,推动了最先进的表现统一的NER。
* [Helsinki-NLP/opus-100](https://huggingface.co/datasets/Helsinki-NLP/opus-100) OPUS-100 是一个以英语为中心的多语言语料库,涵盖 100 种语言。OPUS-100 以英语为中心,这意味着所有训练对在源端或目标端都包含英语。语料库涵盖100种语言(包括英语)。这些语言是根据OPUS中可用的并行数据量选择的。OPUS-100 包含大约 55M 个句子对。在 99 个语言对中,44 个有 1M 个训练数据的句子对,73 个至少有 100k,95 个至少有 10k。
* [stanfordnlp/snli](https://huggingface.co/datasets/stanfordnlp/snli) SNLI 语料库(1.0 版)是 570k 人工编写的英语句子对的集合,这些句子对经过手动标记,用于平衡分类,标签包括 entailment、contradiction 和 neutral,支持自然语言推理 (NLI) 的任务,也称为识别文本蕴涵 (RTE)。数据集中的语言是 Flickr 网站用户所说的英语,以及 Amazon Mechanical Turk 的众包工作者所说的语言。英语的 BCP-47 代码是 en。
* [qgyd2021/few_shot_ner_sft](https://huggingface.co/datasets/qgyd2021/few_shot_ner_sft) 小样本实体识别,收集实体识别的数据集, 将其整理成 prompt-response 的形式. 基于语言模型的实体识别.该数据集可用于:指令语言模型训练.数据集创建. (特定领域有少量标注数据时, 可与此数据集一起训练模型, 然后生成样本用于数据标注).在 prompt 生成过程中会加入一些 示例, 我们尽量使各实体的标签满足 n_way, n_shot.
* [yizhen20133868/Awesome-SLU-Survey](https://github.com/yizhen20133868/Awesome-SLU-Survey) 口语语言理解(Spoken Language Understanding,SLU)作为任务型对话系统的核心组件,目的是为了获取用户询问语句的框架语义表示(semantics frame)信息,进而将这些信息为对话状态追踪模块(DST)以及自然语言生成模块(NLG)所使用。SLU任务通常包含以下两个任务:意图识别(intent detection)和槽位填充(slot filling)。
* [CLUEbenchmark/CLUENER2020](https://github.com/CLUEbenchmark/CLUENER2020) CLUENER2020 是一个中文细粒度命名实体识别数据集,包含 10个标准类别,例如地址、书籍、公司、游戏、政府、电影、人物、组织、职位、场景等。每个类别都包含更细致的子类别,例如地址包含省、市、区、街道、门牌号等。该数据集旨在促进中文细粒度命名实体识别研究,为 NLP 领域提供更精准的标注数据。
* [liuwei1206/LEBERT](https://github.com/liuwei1206/LEBERT) Lexicon Enhanced BERT模型来解决中文序列标注NER任务。相比于 FLAT,Lattice LSTM 等方法,它把词汇信息融入到了 BERT 底层的编码过程中。相比于 Lex-BERT,它无需包含词汇类型信息的词典,只需要普通的词向量即可。
* [LeeSureman/Flat-Lattice-Transformer](https://github.com/LeeSureman/Flat-Lattice-Transformer) 中文NER 基于Transformer设计了一种巧妙position encoding来融合Lattice结构,可以无损的引入词汇信息。基于Transformer融合了词汇信息的动态结构,支持并行化计算,可以大幅提升推断速度。
* [thunlp/PL-Marker](https://github.com/thunlp/PL-Marker) 用于实体和关系提取的打包悬浮标记。提出了一种新的跨度表示方法,称为 Packed Levitated Markers,通过在编码器中策略性地打包标记来考虑跨度(对)之间的依赖关系。
* [MiuLab/SlotGated-SLU](https://github.com/MiuLab/SlotGated-SLU) 意图识别和槽位填充(slot filling)联合模型,提出槽位门控机制(slot-gated mechanism)来解决没有明确建立槽位和意图之间联系的缺陷,达到较好的效果。
* [shibing624/nli_zh](https://huggingface.co/datasets/shibing624/nli_zh) 常见中文语义匹配数据集,包含ATEC、BQ、LCQMC、PAWSX、STS-B共5个任务。支持中文文本匹配任务,文本相似度计算等相关任务。数据集均是简体中文文本。
* [oscar-corpus/oscar](https://huggingface.co/datasets/oscar-corpus/oscar) 庞大的多语言语料库,通过使用 goclassy 架构对 Common Crawl 语料库进行语言分类和过滤而获得。数据以原始形式和重复数据删除形式按语言分发。
* [DFKI-NLP/tacrev](https://github.com/DFKI-NLP/tacrev) TACRED(TAC Knowledge Base Population)是一个用于关系抽取任务的数据集,其中包含了从新闻文章中提取的实体对及其对应的关系标签。
* [monologg/JointBERT](https://github.com/monologg/JointBERT) 意图识别和槽位填充(slot filling)联合训练模型,使用了BERT来进行语义编码,然后做序列标注任务和多分类任务的联合训练。
* [wuba/qa_match](https://github.com/wuba/qa_match) 58同城推出的一款基于深度学习的轻量级问答匹配工具,它融合领域识别与意图识别,对问答意图进行精确理解。
* [Lynten/stanford-corenlp](https://github.com/Lynten/stanford-corenlp) 为文本处理任务提供了一个简单的 API,例如标记化、部分语音标记、命名实体识别、选区解析、依赖解析等。
* [z814081807/DeepNER](https://github.com/z814081807/DeepNER) 天池中药说明书实体识别挑战冠军方案;中文命名实体识别;NER; BERT-CRF & BERT-SPAN & BERT-MRC;Pytorch
* [v-mipeng/LexiconAugmentedNER](https://github.com/v-mipeng/LexiconAugmentedNER) 拒绝为中文 NER 合并词典的复杂操作。在中文 NER 中加入词典可以非常简单,同时也很有效。
* [kangbrilliant/DCA-Net](https://github.com/kangbrilliant/DCA-Net) 用于插槽填充和意图检测的协同互感器。数据集ATIS上,意向Acc 97.7 插槽填充F1 95.9 。
* [sentence-transformers/embedding-training-data](https://huggingface.co/datasets/sentence-transformers/embedding-training-data) 该存储库包含用于训练文本嵌入模型的训练文件,例如使用句子转换器。
* [panchunguang/ccks_baidu_entity_link](https://github.com/panchunguang/ccks_baidu_entity_link) CCKS&百度 2019中文短文本的实体链指 第一名解决方案
* [AdvPicker](https://github.com/microsoft/vert-papers/tree/master/papers/AdvPicker) 通过对抗性判别器有效利用未标记数据进行跨语言 NER
* [lonePatient/BERT-NER-Pytorch](https://github.com/lonePatient/BERT-NER-Pytorch) Chinese NER(Named Entity Recognition) using BERT(Softmax, CRF, Span)
* [jiesutd/LatticeLSTM](https://github.com/jiesutd/LatticeLSTM) 使用 Lattice LSTM 的中文 NER。ACL2018论文的代码。
* [gaohongkui/GlobalPointer_pytorch](https://github.com/gaohongkui/GlobalPointer_pytorch) 全局指针统一处理嵌套与非嵌套NER的Pytorch实现
* [qiufengyuyi/sequence_tagging](https://github.com/qiufengyuyi/sequence_tagging) 用bilstm-crf,bert等方法进行序列标记任务
* [qgyd2021/h_novel](https://huggingface.co/datasets/qgyd2021/h_novel) SQ小说, 用于制作特殊的 GPT 语言模型..
* [ShannonAI/mrc-for-flat-nested-ner](https://github.com/ShannonAI/mrc-for-flat-nested-ner) 命名实体识别的统一 MRC 框架
## 文本分类
* [microsoft/TOXIGEN](https://github.com/microsoft/TOXIGEN) ToxiGen是一个大型机器生成数据集,用于对抗性和隐含仇恨言论检测,它包含了针对13个少数群体进行的隐含性毒性和良性句子。该项目包含ALICE工具,用于对现有的内容审核系统进行压力测试,并在这些少数群体中迭代改进。该项目还提供了两种方法来生成新的句子:基于演示的提示和ALICE,前者使用语言模型根据人类提供的提示创建更多数据,后者则通过对抗性设置来生成对分类器具有挑战性的示例,并提高其性能。该数据集旨在用于训练分类器,以学习检测包含无侮辱性语言或脏话的微妙仇恨言论。该项目还发布了两个训练好的仇恨言论检测检查点,供研究目的使用。该项目鼓励社区贡献,例如添加提示种子,生成更多少数群体数据,或改进现有方法。
* [utterworks/fast-bert](https://github.com/utterworks/fast-bert) Fast-Bert是一个基于BERT和XLNet的自然语言处理模型库,它支持多类别和多标签文本分类,并提供快速训练和部署功能。该库基于Hugging Face BERT PyTorch库,并受到fast.ai的启发,旨在为机器学习从业者提供易于使用的深度学习技术。Fast-Bert允许用户在自定义数据集上训练BERT、RoBERTa和XLNet模型,并调整模型超参数,例如迭代次数、学习率、批次大小和优化器调度。此外,用户可以保存和部署训练后的模型进行推理,包括在AWS Sagemaker上。Fast-Bert支持BERT、RoBERTa、XLNet和DistilBERT,并计划在未来支持其他自然语言理解任务,例如命名实体识别、问答和自定义语料库微调。
* [unitaryai/detoxify](https://github.com/unitaryai/detoxify) Detoxify是一个基于 Pytorch Lightning 和 Transformers 的项目,用于预测三种 Jigsaw 毒性评论挑战中的毒性评论。它提供了经过训练的模型和代码,可以检测各种毒性类型,例如威胁、淫秽、侮辱和基于身份的仇恨。Detoxify 提供了三种模型:`original`、`unbiased` 和 `multilingual`,分别针对原始毒性评论分类、无偏见毒性评论分类和多语言毒性评论分类。它还提供轻量级模型,例如 `original-small` 和 `unbiased-small`。Detoxify 在 Kaggle 竞赛中取得了优异的成绩,例如在原始毒性评论分类挑战中,其得分达到了 98.64%。
* [google-research-datasets/paws](https://github.com/google-research-datasets/paws) PAWS是一个用于判断句子对是否为改写句的英文数据集,包含108,463个人工标注的句子对和656,000个带有噪声标签的句子对。该数据集强调了在改写句识别任务中对句子结构、上下文和词序建模的重要性。PAWS包含两个子集,一个基于维基百科,另一个基于Quora问答对数据集。该数据集的特色在于它包含了词语顺序被打乱但语义不同的句子对,这使得模型能够更好地学习句子结构和语义信息。PAWS数据集可以帮助训练模型更好地识别改写句,并提高模型在其他自然语言处理任务上的性能。
* [aboSamoor/pycld2](https://github.com/aboSamoor/pycld2) PYCLD2是一个 Python 库,它为 Compact Language Detect 2 (CLD2)提供了绑定,CLD2 是一个用于语言检测的 C++ 库。该库基于 Chromium 的 Compact Language Detector,并对其进行了改进,支持超过 165 种语言。PYCLD2 的目标是将上游库及其绑定整合在一起,以便用户可以使用 `pip install` 安装一个包而不是两个。该库提供了一个名为 `detect()` 的函数,用于检测文本的语言。用户可以提供 UTF-8 编码的字符串或字节作为输入,并可选地指定是否为纯文本、顶级域名提示和语言提示。
* [webis-de/small-text](https://github.com/webis-de/small-text) Small-Text是一个 Python 库,用于文本分类的主动学习,提供多种预实现的查询策略、初始化策略和停止标准,可以轻松组合使用以构建主动学习实验或应用程序。它支持使用 scikit-learn、Pytorch 或 transformers 提供的分类器,并整合了 transformers 和 GPU 支持,允许使用最先进的文本分类模型进行主动学习。Small-Text 的目标是帮助用户高效地标记训练数据,即使数据量很少或没有标记数据。该项目已在 EACL 2023 上发表论文,并获得了最佳系统演示奖。
* [ShannonAI/Neural-Semi-Supervised-Learning-for-Text-Classification](https://github.com/ShannonAI/Neural-Semi-Supervised-Learning-for-Text-Classification) 在大规模通用领域预训练的前提下,更好地利用大规模领域内无标注语料与标注语料,从而最大限度地提升模型效果.足量的领域内语料U使模型不需要再在通用领域语料上预训练;无论是采用预训练还是自训练的方式,都可以显著提升模型效果,二者结合可以得到最佳结果;当领域内标注数据D较小的时候,在伪平行数据D‘上训练、再在D上微调可以提升更多的效果;当D更大的时候,在D和D‘上联合训练取得的效果更好。
* [xiaoqian19940510/text-classification-surveys](https://github.com/xiaoqian19940510/text-classification-surveys) 文本分类资源汇总,包括深度学习文本分类模型,如SpanBERT、ALBERT、RoBerta、Xlnet、MT-DNN、BERT、TextGCN、MGAN、TextCapsule、SGNN、SGM、LEAM、ULMFiT、DGCNN、ELMo、RAM、DeepMoji、IAN、DPCNN、TopicRNN、LSTMN 、Multi-Task、HAN、CharCNN、Tree-LSTM、DAN、TextRCNN、Paragraph-Vec、TextCNN、DCNN、RNTN、MV-RNN、RAE等,浅层学习模型,如LightGBM 、SVM、XGboost、Random Forest、C4.5、CART、KNN、NB、HMM等。介绍文本分类数据集,如MR、SST、MPQA、IMDB、Ye…
* [thu-coai/COLDataset](https://github.com/thu-coai/COLDataset) COLDataset是一个用于中文攻击性语言检测的基准数据集,包含 37,480 条评论,并带有二元攻击性标签,涵盖种族、性别和地区等不同主题。为了更深入地了解数据类型和特征,我们对测试集进行了细粒度标注,分为攻击个人、攻击群体、反歧视和其他非攻击性四类。该数据集还包含一个名为 roberta-base-cold 的预训练模型,可在 Huggingface 上获取。该项目论文已发表在 EMNLP 2022 上,并提供详细的引用信息。
* [timoschick/pet](https://github.com/timoschick/pet) 该存储库包含“利用小样本文本分类和自然语言推理的完形填空题”的代码.介绍了模式利用训练 (PET),这是一种半监督训练程序,可将输入示例重新表述为完形填空式短语。在低资源环境中,PET 和 iPET 显着优于常规监督训练、各种半监督基线甚至 GPT-3,尽管需要的参数减少 99.9%。PET 的迭代变体 (iPET) 训练多代模型,甚至可以在没有任何训练数据的情况下使用。
* [rowanz/grover](https://github.com/rowanz/grover) Grover是一个用于生成和检测神经网络假新闻的模型,它可以用于其他生成任务。该项目提供Grover生成器、判别器、生成器代码、RealNews数据集代码以及所有Grover模型的在线模型检查点。用户可以通过提供一个Google Cloud账号来获取RealNews数据集,并使用该数据集进行研究。该项目还提供了设置Grover环境的详细指南,包括使用GPU或TPU进行生成、验证、训练和判别。
* [facebookresearch/fastText](https://github.com/facebookresearch/fastText) fastText是一个用于高效学习词表示和句子分类的库。它提供预训练的英语词向量,以及针对157种语言的维基百科和爬取数据训练的词向量。fastText还支持语言识别和各种监督任务的模型。该库支持C++和Python,并提供详细的文档和示例用例。用户可以使用fastText进行词表示学习、获取词向量、文本分类等任务。
* [GT-SALT/MixText](https://github.com/GT-SALT/MixText) 文本半监督方法MixText 提出一种全新文本增强方式——TMix,在隐式空间插值,生成全新样本。对未标注样本进行低熵预测,并与标注样本混合进行TMix。MixText可以挖掘句子之间的隐式关系,并在学习标注样本的同时利用无标注样本的信息。超越预训练模型和其他半监督方法
* [YerevaNN/warp](https://github.com/YerevaNN/warp) ACL‘2021 论文 WARP Cyclone Word-level Adversarial ReProgramming 的代码。 在 SuperGLUE 少样本文本分类上优于“GPT-3”。提出了一种基于对抗性重编程的替代方法,它是自动扩展提示模板生成的早期工作。而且参数量少了好多个数量级。
* [SanghunYun/UDA_pytorch](https://github.com/SanghunYun/UDA_pytorch) Unsupervised Data Augmentation with BERT 一种半监督学习方法,可在多种语言和视觉任务上实现SOTA结果。仅用20个标记的示例,UDA的性能就优于之前在25,000个标记的示例上训练的IMDb上的SOTA。
* [hiyouga/Dual-Contrastive-Learning](https://github.com/hiyouga/dual-contrastive-learning) 双重对比学习。 通过在同一空间内同时学习输入样本的特征和分类器的参数,为监督分类任务提出了一种新颖的对比学习框架。
* [AIRobotZhang/STCKA](https://github.com/AIRobotZhang/STCKA) 基于知识图谱的文本分类.将每个短文本与其在KB中的相关概念相关联,将概念信息作为先验知识整合到深度神经网络中。
* [beyondguo/label_confusion_learning](https://github.com/beyondguo/label_confusion_learning) 利用标签之间的混淆关系,提升文本分类效果。利用标签信息时能够充分考虑标签之间的重叠或者依赖关系。
* [zhouj8553/FlipDA](https://github.com/zhouj8553/FlipDA) 提供了一种基于 T5 和翻转标签自训练的自动数据增强方法。 我们在 FewGLUE 上对其进行评估,并提高其性能。
* [649453932/Chinese-Text-Classification-Pytorch](https://github.com/649453932/Chinese-Text-Classification-Pytorch) 中文文本分类,TextCNN,TextRNN,FastText,TextRCNN,BiLSTM_Attention,DPCNN,Transformer,基于pytorch,开箱即用。
* [TextCNN与ALBERT分类效果的实践](https://zhuanlan.zhihu.com/p/443782891) 详解小样本短文本多分类-对比TextCNN与ALBERT分类效果的实践(附Pytorch代码)
* [bojone/r-drop](https://github.com/bojone/r-drop) 使用r-drop机制实验了中文文本分类、文本生成任务,有提升。
* [BUPT-GAMMA/CompareNet_FakeNewsDetection](https://github.com/BUPT-GAMMA/CompareNet_FakeNewsDetection) 与知识比较:使用外部知识进行图神经假新闻检测 (ACL 2021)
* [skdjfla/toutiao-text-classfication-dataset](https://github.com/skdjfla/toutiao-text-classfication-dataset) 中文文本分类数据集 共38.2万条,分布于15类中。
* [whatissimondoing/CoG-BART](https://github.com/whatissimondoing/CoG-BART) 对比度和生成使BART成为很好的对话情感识别器
* [thunlp/KnowledgeablePromptTuning](https://github.com/thunlp/KnowledgeablePromptTuning) 将知识整合到 Prompt Verbalizer 中进行文本分类
* [ilivans/tf-rnn-attention](https://github.com/ilivans/tf-rnn-attention) Tensorflow实现文本分类任务的关注机制。
* [DunZhang/LM-MLC](https://github.com/DunZhang/LM-MLC) 基于完型填空(模板)的多标签分类算法.
* [649453932/Bert-Chinese-Text-Classification-Pytorch](https://github.com/649453932/Bert-Chinese-Text-Classification-Pytorch) 使用Bert,ERNIE,进行中文文本分类
* [cnn_multilabel_classification](https://github.com/tcxdgit/cnn_multilabel_classification) 基于TextCNN和Attention的多标签分类
* [pangwong/pytorch-multi-label-classifier](https://github.com/pangwong/pytorch-multi-label-classifier) pytorch 实现的多标签分类分类器
* [xuyige/BERT4doc-Classification](https://github.com/xuyige/BERT4doc-Classification) 如何微调 BERT 进行文本分类
* [xmu-xiaoma666/External-Attention-pytorch](https://github.com/xmu-xiaoma666/External-Attention-pytorch) 17篇注意力机制 PyTorch 实现
* [kk7nc/Text_Classification](https://github.com/kk7nc/Text_Classification) 一项文本分类算法的调查
## 文本匹配_文本检索_文本相似度
* [netease-youdao/BCEmbedding](https://github.com/netease-youdao/BCEmbedding) 网易有道为RAG产品提供的开源嵌入和重新排序模型。由网易有道开发的中英文 B ilingual 和 Crosslingual Embedding(BCEmbedding)包括 EmbeddingModel 和 RerankerModel。EmbeddingModel 专门用于生成语义向量,在语义搜索和问答中起着至关重要的作用,而 RerankerModel 擅长优化搜索结果和排名任务。BCEmbedding 是有道检索增强生成 (RAG) 实现的基石,特别是 QAnything,这是一个开源实现,广泛集成到有道速读和有道翻译等各种有道产品中。BCEmbedding以其双语和跨语言能力而著称,在弥合中英文语言鸿沟方面表现出色,实现了在MTEB的语义表示评估中表现出色;LlamaIndex 中 RAG 评估领域的新基准。为 RAG 社区提供双语跨语言的两阶段检索模型仓库,无需微调即可直接使用,包括 EmbeddingModel 和 RerankerModel:一种模式:EmbeddingModel处理中英文双语和跨语言检索任务。RerankerModel 支持英语、中文、日语和韩语。一种模式:通过RAG优化覆盖常见的业务应用场景。例如教育、医疗场景、法律、金融、文学、常见问题解答、教科书、维基百科、一般对话。易于集成:我们在 BCEmbedding 中提供 API,用于 LlamaIndex 和 LangChain 集成。其他要点:RerankerModel 支持长段落(超过 512 个词元,少于 32k 个词元)重新排名;RerankerModel 提供有意义的相关性分数,有助于删除低质量的段落。
* [snowballstem/snowball](https://github.com/snowballstem/snowball) Snowball是一个用于创建词干提取算法的小型字符串处理语言,并提供了一系列使用该语言实现的词干提取算法。它最初由Martin Porter设计和构建,现已成为一个社区项目。Snowball编译器将Snowball程序翻译成其他语言的源代码,目前支持Ada、ISO C、C#、Go、Java、Javascript、Object Pascal、Python和Rust。该项目包含Snowball编译器和词干提取算法的源代码,编译器用ISO C编写,需要支持C99的C编译器才能构建。词干提取是指将同一词的不同形式映射到一个共同的“词干”,例如,英语词干提取器将*connection*、*connections*、*connective*、*connected*和*connecting*映射到*connect*。该项目旨在将具有相同含义的词合并,而不是所有具有共同语言根源的词,过度词干提取比词干提取不足更成问题,因此在难以解决的情况下,我们倾向于不进行词干提取。
* [dgrtwo/fuzzyjoin](https://github.com/dgrtwo/fuzzyjoin) fuzzyjoin是一个R包,它扩展了dplyr的join操作,允许在不精确匹配的基础上进行连接。它支持多种匹配方式,包括数值间的容差匹配、字符串的莱文斯坦距离、余弦距离、杰卡德距离或其他距离度量匹配、正则表达式匹配、多列欧几里得或曼哈顿距离匹配、经纬度地理距离匹配、区间重叠匹配、基因组区间重叠匹配等。fuzzyjoin 还提供了多种join操作,例如内连接、左连接、右连接、全连接、半连接、反连接,以及自定义模糊匹配函数。用户可以使用 `distance_col` 参数将计算出的距离作为一列添加到输出结果中。
* [kelindar/search](https://github.com/kelindar/search) kelindar/search是一个 Go 库,用于使用 llama.cpp 进行嵌入式向量搜索和语义嵌入。它提供了一种简单高效的解决方案,适用于需要语义功能的中小型项目。该库利用 llama.cpp 的 GGUF BERT 模型,并支持 GPU 加速,可以快速计算嵌入。它适用于数据集小于 100,000 条目的情况,可以轻松地将语义搜索集成到 Go 应用程序中。该库使用 purego 而不是 cgo,简化了集成、部署和跨编译。它支持创建嵌入的搜索索引,可以保存到磁盘并在以后加载。但是,该库不适合处理大型数据集或需要复杂查询功能的场景。
* [jamesturk/jellyfish](https://github.com/jamesturk/jellyfish) jellyfish是一个 Python 库,用于对字符串进行近似和语音匹配。它包含多种算法,包括 Levenshtein 距离、Damerau-Levenshtein 距离、Jaccard 指数、Jaro 距离、Jaro-Winkler 距离、匹配评分方法比较和汉明距离,以及American Soundex、Metaphone、NYSIIS 和匹配评分编码等语音编码算法。用户可以使用该库计算字符串之间的距离或相似度,以及对字符串进行语音编码。例如,可以使用 `jellyfish.levenshtein_distance()` 计算两个字符串之间的 Levenshtein 距离,使用 `jellyfish.metaphone()` 对字符串进行 Metaphone 编码。
* [voidism/DiffCSE](https://github.com/voidism/DiffCSE) 用于学习句子嵌入的无监督对比学习框架。DiffCSE学习对原始句子和编辑句子之间的差异敏感的句子嵌入,其中编辑的句子是通过随机屏蔽原始句子,然后从屏蔽语言模型中采样来获得的。我们表明 DiffSCE 是等变对比学习的一个实例(Dangovski 等人,2021 年),它概括了对比学习并学习对某些类型的增强不敏感而对其他“有害”类型的增强敏感的表征。我们的实验表明,DiffCSE在无监督句子表示学习方法中取得了最先进的结果,语义文本相似性上比SimCSE高出2.3个绝对点。
* [Decem-Y/sohu_text_matching_Rank2](https://github.com/Decem-Y/sohu_text_matching_Rank2) 2021搜狐校园文本匹配算法大赛Top2。使用了预训练模型(如NEZHA、MacBert、ROBERTA、ERNIE等),设计了选择了两种技术路线(通过[SEP]拼接source与target作为输入、类似SBERT的句子向量编码比较),并尝试多种上分策略(在给定语料上继续mlm预训练、focal loss损失函数、不同的pooling策略、加入TextCNN、fgm对抗训练、数据增强等)。选取多组差异较大的模型的输出,通过投票的方式进行集成,得到最好成绩。
* [allenai/macaw](https://github.com/allenai/macaw) Macaw(Multi-angle c(q)uestion answering 多角度 c(q) 问题回答)是一种即用型模型,能够进行一般问题回答,在训练的领域之外表现出稳健性。 它以“多角度”方式进行了训练,这意味着它可以处理一组灵活的输入和输出“槽”(如问题、答案、解释)。Macaw 建立在 T5 之上,有不同的尺寸:macaw-11b、macaw-3b 和 macaw-large,以及各种排行榜上的以答案为重点的版本:macaw-answer-11b。
* [embeddings-benchmark/mteb](https://github.com/embeddings-benchmark/mteb) 海量文本嵌入基准测试 (MTEB)。MTEB 涵盖 8 个嵌入任务,共涵盖 58 个数据集和 112 种语言。通过在 MTEB 上对 33 个模型进行基准测试,我们建立了迄今为止最全面的文本嵌入基准。我们发现,没有特定的文本嵌入方法在所有任务中占主导地位。这表明该领域尚未趋同于一种通用的文本嵌入方法,并尚未将其充分扩展以在所有嵌入任务上提供最先进的结果。
* [yangjianxin1/SimCSE](https://github.com/yangjianxin1/SimCSE) SimCSE有监督与无监督实验复现 一种简单但是很巧妙的NLP对比学习方法,创新性地引入Dropout的方式,对样本添加噪声,从而达到对正样本增强的目的。 该框架的训练目的为:对于batch中的每个样本,拉近其与正样本之间的距离,拉远其与负样本之间的距离,使得模型能够在大规模无监督语料(也可以使用有监督的语料)中学习到文本相似关系。
* [huggingface/setfit](https://github.com/huggingface/setfit) 使用 Sentence Transformers 进行高效的少样本学习. 高效且无提示的框架,用于对句子转换器进行少量微调。 它用很少的标记数据实现了高精度,特点:没有提示或语言表达器:当前的少量微调技术需要手工提示或语言表达器将示例转换为适合底层语言模型的格式。 SetFit 通过直接从文本示例生成丰富的嵌入来完全免除提示。训练速度快、多语言。
* [thunlp/OpenMatch](https://github.com/thunlp/OpenMatch) 总体架构包括两大部分:一是相关文档检索,即根据用户检索词,从大规模文档集合中返回最相关的Top-K(K通常为100或1000)文档。二是文档重排序,即将各神经网络模型和非神经网络模型的排序特征整合,对Top-K文档重排序,进一步提升排序效果。OpenMatch提供了融合外部知识图谱信息的知识增强模型,和筛选大规模数据的数据增强模型。
* [life4/textdistance](https://github.com/life4/textdistance) TextDistance是一个 Python 库,用于通过多种算法计算两个或多个序列之间的距离。它包含 30 多种算法,纯 Python 实现,使用简单,支持比较两个以上序列,一些算法在一个类中有多种实现,并可选地使用 numpy 以获得最大速度。它包含基于编辑距离和基于词元的算法,例如汉明距离、莱文斯坦距离、杰卡德指数、余弦相似度等。
* [AnswerDotAI/rerankers](https://github.com/AnswerDotAI/rerankers) Rerankers是一个轻量级、低依赖的统一API,用于各种重排序和交叉编码器模型,包括基于Transformer的模型(如ColBERT,T5)、BAAI的BGE系列模型以及RankGPT等。它提供简单易用的API,方便用户使用各种重排序模型,并支持多模态模型(如MonoQwen2-VL)。该项目旨在简化重排序模型的使用,降低使用门槛,并方便集成到现有流程中。
* [UKPLab/sentence-transformers](https://github.com/UKPLab/sentence-transformers) 句子转换器:使用BERT RoBERTa XLM-RoBERTa&Co.和PyTorch的多语言句子嵌入。该框架提供了一种简单的方法来计算句子、段落和图像的密集矢量表示。这些模型基于BERT / RoBERTa / XLM-RoBERTa等变压器网络,并在各种任务中实现最先进的性能。文本嵌入在向量空间中,使得相似的文本更接近,并且可以使用余弦相似性有效地找到。
* [stanford-futuredata/ColBERT](https://github.com/stanford-futuredata/ColBERT) 一种快速准确的检索模型,可在数十毫秒内对大型文本集合进行基于 BERT 的可扩展搜索。基于上下文(contextualized)的后期交互的排序模型 Efficient and Effective Passage Search via Contextualized Late Interaction over BERT 兼顾匹配的效率和doc中的上下文信息。
* [McGill-NLP/llm2vec](https://github.com/McGill-NLP/llm2vec) LLM2Vec 是将仅LLMs解码器转换为文本编码器的简单方法。它由 3 个简单步骤组成:1) 启用双向注意力,2) 使用掩蔽的下一个令牌预测进行训练,以及 3) 无监督对比学习。该模型可以进一步微调,以实现最先进的性能。
* [DMetaSoul/chinese-semantic-textual-similarity](https://huggingface.co/datasets/DMetaSoul/chinese-semantic-textual-similarity) 为了对 like-BERT 预训练模型进行 fine-tune 调优和评测以得到更好的文本表征模,对业界开源的语义相似(STS)、自然语言推理(NLI)、问题匹配(QMC)以及相关性等数据集进行了搜集整理
* [bojone/CoSENT](https://github.com/bojone/CoSENT) 比Sentence-BERT更有效的句向量方案.优化cos值的新方案**CoSENT**(Cosine Sentence)。[实验显示](https://kexue.fm/archives/8847),CoSENT在收敛速度和最终效果上普遍都比InferSent和Sentence-BERT要好。
* [wangyuxinwhy/uniem](https://github.com/wangyuxinwhy/uniem) 统一嵌入模型,目标是创建中文最好的通用文本嵌入模型。202306发布 [M3E models](https://huggingface.co/moka-ai/m3e-base) ,在中文文本分类和文本检索上均优于 openai text-embedding-ada-002。
* [GeekDream-x/SemEval2022-Task8-TonyX](https://github.com/GeekDream-x/SemEval2022-Task8-TonyX) 在 Semeval-2022 Task8 —— Multilingual News Article Similarity 中提供了我们获胜系统的实现。这是一项关于评估多语言和跨语言新闻文章相似性的竞赛,涵盖 18 个语言对。
* [shibing624/text2vec](https://github.com/shibing624/text2vec) 文本向量表征工具,把文本转化为向量矩阵,实现了Word2Vec、RankBM25、Sentence-BERT、CoSENT等文本表征、文本相似度计算模型,开箱即用。
* [KKenny0/sohu2021](https://github.com/KKenny0/sohu2021) 2021搜狐校园文本匹配算法大赛方案,基于BERT的交互模型,通过BERT来得到source-target pair的向量表示。任务:短短、短长和长长匹配。
* [NTMC-Community/MatchZoo-py](https://github.com/NTMC-Community/MatchZoo-py) 通用的文本匹配工具包,旨在方便大家快速的实现、比较、以及分享最新的深度文本匹配模型。MatchZoo 的 PyTorch 版本。
* [epidemic-sentence-pair](https://github.com/zzy99/epidemic-sentence-pair) 新冠疫情相似句对判定大赛 线上第一名方案。BERT模型融合、数据对称扩充、数据传递扩充、对抗训练、伪标签。
* [bohanli/BERT-flow](https://github.com/bohanli/BERT-flow) 基于流式生成模型,将BERT的表示可逆地映射到一个均匀的空间,文本表示、语义文本相似性任务的SOTA。
* [princeton-nlp/SimCSE](https://github.com/princeton-nlp/SimCSE) SimCSE:句子嵌入的简单对比学习 。提供无监督或有监督的对比学习。是目前文本相似度更好的方法。
* [yym6472/ConSERT](https://github.com/yym6472/ConSERT) 基于对比学习的句子语义表示迁移框架。包含三部分,数据增强,BERT 编码层,对比损失层。
* [ZhuiyiTechnology/roformer-sim](https://github.com/ZhuiyiTechnology/roformer-sim) 融合检索和生成的RoFormer-Sim模型.应用于相似句生成、相似句扩增、语义相似度问题。
* [terrifyzhao/text_matching](https://github.com/terrifyzhao/text_matching) 常用文本匹配模型tf版本,数据集为QA_corpus模型:DSSM ConvNet ESIM ABCNN BiMPM DIIN DRCN
* [bojone/BERT-whitening](https://github.com/bojone/BERT-whitening) 简单的向量白化改善句向量质量,可以媲美甚至超过BERT-flow的效果。
* [nilboy/gaic_track3_pair_sim](https://github.com/nilboy/gaic_track3_pair_sim) 短文本语义匹配,2021年全球人工智能技术创新大赛-赛道三-冠军方案
* [amazon-research/sccl](https://github.com/amazon-research/sccl) 利用对比学习促进更好地基于距离的短文本聚类实现。
* [Brokenwind/BertSimilarity](https://github.com/Brokenwind/BertSimilarity) 基于Google的BERT模型来进行语义相似度计算。
* [huggingface/text-embeddings-inference](https://github.com/huggingface/text-embeddings-inference) 文本嵌入模型的超快速推理解决方案(rust)
* [shawroad/CoSENT](https://github.com/shawroad/CoSENT_Pytorch) 比Sentence-BERT更有效的句向量方案 Pytorch版
* [shuxinyin/SimCSE-Pytorch](https://github.com/shuxinyin/SimCSE-Pytorch) 中文SimCSE+ESimCSE的无监督 + 有监督实现
* [vdogmcgee/SimCSE-Chinese-Pytorch](https://github.com/vdogmcgee/SimCSE-Chinese-Pytorch) SimCSE在中文上的复现,有监督+无监督
* [wakafengfan/simcse-pytorch](https://github.com/wakafengfan/simcse-pytorch) pytorch版simcse无监督语义相似模型
* [JohnGiorgi/DeCLUTR](https://github.com/JohnGiorgi/DeCLUTR) 无监督文本表示的深度对比学习
* [shuxinyin/SimCSE-Pytorch](https://github.com/shuxinyin/SimCSE-Pytorch) 中文数据集下SimCSE+ESimCSE的实现
* [bojone/SimCSE](https://github.com/bojone/SimCSE) SimCSE在中文任务上的简单实验
* [autoliuweijie/BERT-whitening-pytorch](https://github.com/autoliuweijie/BERT-whitening-pytorch) Pytorch version of BERT-whitening
* [DataTerminatorX/Keyword-BERT](https://github.com/DataTerminatorX/Keyword-BERT) 带关键词的BERT语义匹配
## 文本摘要
* [maszhongming/MatchSum](https://github.com/maszhongming/MatchSum) 背景: 传统抽取式摘要模型都是基于句子级提取的,即未考虑句子间关系,对所有句子逐个打分,取topN的句子为摘要。主要贡献:考虑句子间的关系,通过候选句间的组合句来抽取摘要;基于摘要与原文档在语义上应该有较大匹配度的考量,本文提出了基于候选句间的组合句与原文档的相似度来判断文档摘要的模型.对六个摘要提取数据集进行分析,验证了句子级得分高的摘要并不是摘要级得分最高的。如果仅以句子级,容易产生pearl-summary, 即虽然句子得分较低,但其实是较好的摘要,作者称为沧海遗珠。
* [nlpyang/BertSum](https://github.com/nlpyang/BertSum) BERT的简单变体 用于抽取式文本摘要,主要是选择性抽取文本中的句子作为最后的摘要。这个任务最大的问题是如何获得每个句子向量,然后把向量用于二分类,判断去留。而 BERT 原模型只能生成单句的句子向量,或者句子对的。(1)将文档中每句话前加 [CLS]后加[SEP],然后输入 BERT,而每个[CLS]对应的位置就是每句的句向量。(2)为了进一步增加句之间的互动,在 BERT 之上加了一层 Transformer 的 Summarization Layer,只输入每个[CLS]的向量,最后输出预测当前句是否保留,finetune。
* [MaartenGr/BERTopic](https://github.com/MaartenGr/BERTopic) BERTopic 是一种主题建模技术,它利用 🤗 transformer 和 c-TF-IDF 来创建密集的集群,允许轻松解释主题,同时在主题描述中保留重要的单词。BERTopic 支持各种主题建模技术:Guided 引导,Supervised 监督,Semi-supervised 半监督,Manual 手动,Multi-topic distributions多主题发行版,Hierarchical 层次,Class-based 基于类,Dynamic 动态,Online/Incremental 联机/增量,Multimodal 模 态,Multi-aspect 多方位,Text Generation/LLM 文本生成/LLM,Zero-shot,Merge Models 合并模型 ,Seed Words 种子词
* [cognitivetech/ollama-ebook-summary](https://github.com/cognitivetech/ollama-ebook-summary) 一个用于长文本摘要(综合项目笔记)的LLM项目,使用Python 3.11.9开发。该项目能够生成书籍和其他长文本的项目笔记摘要,特别是包含ToC元数据的epub和pdf文件。通过将文档分割成小块并逐块提问,项目提高了响应的粒度。与RAG系统类似,但不同的是,该项目对文档的每个部分都提问相同的问题,而不是只对整个文档提问。项目包括模型下载、环境设置、使用方法等内容。
* [miso-belica/sumy](https://github.com/miso-belica/sumy) Sumy是一个用于自动摘要文本文档和 HTML 页面内容的 Python 库和命令行工具。它提供了多种摘要方法,包括 LexRank、Luhn、Edmundson 等,并支持多种语言。用户可以通过命令行工具快速提取摘要,也可以在 Python 项目中使用 Sumy 的 API 进行摘要操作。Sumy 还包含一个简单的评估框架,用于评估摘要的质量。此外,Sumy 提供了 Docker 镜像,方便用户快速体验。
* [RowitZou/topic-dialog-summ](https://github.com/RowitZou/topic-dialog-summ) 具有显着性感知主题建模的客户服务的面向主题的口语对话摘要。数据集是从阿里巴巴客户服务中心收集的。所有对话都是在客户和服务代理之间进行的普通话来电。脱敏数据可在 [Google Drive](https://drive.google.com/file/d/1X3-C9vTYfk43T5NIEvRsdRIJkN1RuG7b/view?usp=sharing)或[百度盘](https://pan.baidu.com/s/1AvkGnerKpQHUNbwkz9kO7A)(提取码:t6nx)上获得。
* [jiacheng-ye/kg_one2set](https://github.com/jiacheng-ye/kg_one2set) 解决关键词生成任务,给一篇源文档(比如论文的摘要),关键词预测任务就是预测出一些表达文档重点信息的关键词,或者更准确的说是关键短语。提出了模型SetTrans,其特点是能够预测更多、更准确而且重复率更低的关键词集合。并行预测,在 inference 效率上是Transfomer的6.44倍。
* [mahnazkoupaee/WikiHow-Dataset](https://github.com/mahnazkoupaee/WikiHow-Dataset) WikiHow:大规模文本摘要数据集,每篇文章由多个段落组成,每个段落都以一句话开头。通过合并段落以形成文章,合并段落大纲以形成摘要,生成的数据集版本包含超过 200,000 个长序列对。
* [yym6472/ms_pointer_network](https://github.com/yym6472/ms_pointer_network) 用多来源Pointer Network的产品标题摘要方法.从两个信息来源:原始商品标题和知识信息knowledge中抽取信息,然后将二者进行综合得到最后的结果。
* [ritun16/llm-text-summarizations](https://github.com/ritun16/llm-text-summarization) 使用大型语言模型 (LLMs) 进行文本摘要的综合指南和代码库。深入研究从分块到聚类的技术,并利用 GPT-3.5 和 GPT-4 LLMs 等的力量。
* [nlpyang/PreSumm](https://github.com/nlpyang/PreSumm) 基于BERT的文档级编码器,该编码器能够表达文档的语义,并获得文档的句子表示。并分别提出了抽取式和生成式的摘要模型。
* [FeiSun/ProductTitleSummarizationCorpus](https://github.com/FeiSun/ProductTitleSummarizationCorpus) Dataset for CIKM 2018 paper ”Multi-Source Pointer Network for Product Title Summarization” 用于产品标题摘要的多源指针网络
* [MaartenGr/keyBERT](https://github.com/MaartenGr/keyBERT) 一种最小且易于使用的关键字提取技术,它利用BERT嵌入来创建与文档最相似的关键字和关键字短语。
* [AIKevin/Pointer_Generator_Summarizer](https://github.com/AIKevin/Pointer_Generator_Summarizer) 指针生成器网络:具有关注,指向和覆盖机制的Seq2Seq,用于抽象性摘要。 tensorflow 2.0
* [nju-websoft/NEST](https://github.com/nju-websoft/NEST) 输入知识图谱的基于联合编码的弱监督神经实体摘要方法
* [OpenSUM/CPSUM](https://github.com/OpenSUM/CPSUM) 半监督抽取式摘要的噪声注入一致性训练和熵约束伪标签
* [bojone/SPACES](https://github.com/bojone/SPACES) 端到端的长本文摘要模型(法研杯2020司法摘要赛道)
* [magic282/NeuSum](https://github.com/magic282/NeuSum) 通过共同学习评分和选择句子进行神经文本摘要
* [kjc6723/seq2seq_Pointer_Generator_Summarizer](https://github.com/kjc6723/seq2seq_Pointer_Generator_Summarizer) 中文会话中生成摘要总结的项目 tensorflow 2.0
* [xcfcode/Summarization-Papers](https://github.com/xcfcode/Summarization-Papers) 文本摘要论文列表,包括各种主题。
* [krystalan/ClidSum](https://github.com/krystalan/ClidSum) 一个跨语言对话摘要的基准数据集
* [Alex-Fabbri/Multi-News](https://github.com/Alex-Fabbri/Multi-News) 大规模多文档摘要数据集和代码
* [abisee/pointer-generator](https://github.com/abisee/pointer-generator) 使用指针生成器网络进行汇总
* [dmmiller612/bert-extractive-summarizer](https://github.com/dmmiller612/bert-extractive-summarizer) BERT易于使用的提取文本摘要
* [steph1793/Pointer_Transformer_Generator](https://github.com/steph1793/Pointer_Transformer_Generator) 指针生成器网络 tensorflow 2.0
* [xcfcode/PLM_annotator](https://github.com/xcfcode/PLM_annotator) 探索对话总结的 DialoGPT
* [xcfcode/Summarization-Papers](https://github.com/xcfcode/Summarization-Papers) 文本摘要论文总结
## 机器阅读理解
* [danqi/acl2020-openqa-tutorial](https://github.com/danqi/acl2020-openqa-tutorial) 本教程对开放域问答 (QA) 的前沿研究进行了概述,QA 是使用大量不同主题的文档来回答问题的任务。首先简要介绍历史背景,讨论研究问题的基本设置和核心技术挑战,然后描述具有通用评估指标和基准的现代数据集。然后,是在开放域QA中提出的前沿模型,包括两阶段检索器-阅读器方法、密集检索器和端到端训练以及无检索器方法。最后,介绍使用文本和大型知识库的混合方法,并以重要的开放性问题结束本教程。
* [HIT-SCIR/Molweni](https://github.com/HIT-SCIR/Molweni) 提出了构建于多人对话的英文机器阅读理解(MRC)数据集—Molweni,并覆盖了对话语篇结构。Molweni源自于Ubuntu聊天语料库,包括10,000个对话,共计88,303条话语(utterance)。我们共标注了30,066个问题,包括可回答和不可回答的问题。Molweni独特地为其多人对话提供了语篇结构信息,共标注了78,245个语篇关系实例,为多人对话语篇结构分析(Discourse parsing)贡献了大规模数据。
* [imClumsyPanda/langchain-ChatGLM](https://github.com/imClumsyPanda/langchain-ChatGLM) 利用 [ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B) + [langchain](https://github.com/hwchase17/langchain) 实现的基于本地知识的 ChatGLM 应用。建立了全部基于开源模型实现的本地知识问答应用。
* [basketballandlearn/MRC_Competition_Dureader](https://github.com/basketballandlearn/MRC_Competition_Dureader) 基于大规模MRC数据再训练的机器阅读理解预训练模型(包括roberta-wwm-large、macbert-large),可以使用[transformers库](https://huggingface.co/luhua/chinese_pretrain_mrc_roberta_wwm_ext_large)。
* [xv44586/ccf_2020_qa_match](https://github.com/xv44586/ccf_2020_qa_match) CCF2020问答匹配比赛 任务是:给定IM交流片段,片段包含一个客户问题以及随后的经纪人若干IM消息,从随后的经纪人消息中找出一个是对客户问题的回答。
* [liuhuanyong/MiningZhiDaoQACorpus](https://github.com/liuhuanyong/MiningZhiDaoQACorpus) 百度知道问答语料库,包括超过580万的问题,938万的答案,5800个分类标签。基于该问答语料库,可支持多种应用,如闲聊问答,逻辑挖掘。
* [l15y/wenda](https://github.com/l15y/wenda) 闻达:一个LLM调用平台。目前支持chatGLM-6B、chatRWKV、chatYuan和chatGLM-6B模型下自建知识库查找。
* [nlpdata/c3](https://github.com/nlpdata/c3) 中文机器阅读理解数据集 multiple-Choice Chinese machine reading Comprehension dataset.
* [qiufengyuyi/event_extraction](https://github.com/qiufengyuyi/event_extraction) 百度aistudio事件抽取比赛 使用机器阅读理解来尝试解决。
* [PaddlePaddle/RocketQA](https://github.com/PaddlePaddle/RocketQA) 信息检索和问答的密集检索,包括中英文最先进的模型。
* [zhoujx4/DuReader-Checklist-BASELINE](https://github.com/zhoujx4/DuReader-Checklist-BASELINE) 百度2021年语言与智能技术竞赛机器阅读理解torch版baseline
* [bojone/dgcnn_for_reading_comprehension](https://github.com/bojone/dgcnn_for_reading_comprehension) 基于膨胀门卷积的阅读理解式问答模型(Keras实现)
* [wptoux/albert-chinese-large-webqa](https://github.com/wptoux/albert-chinese-large-webqa) 基于百度webqa与dureader数据集训练的Albert Large QA模型
* [google-research/tapas](https://github.com/google-research/tapas) 端到端的神经表格文本理解模型。表格 QA 模型。
* [GanymedeNil/document.ai](https://github.com/GanymedeNil/document.ai) 基于向量数据库与GPT3.5的通用本地知识库方案
* [cooelf/AwesomeMRC](https://github.com/cooelf/AwesomeMRC) 对MRC的研究摘要和参考资料
* [lgw863/LogiQA-dataset](https://github.com/lgw863/LogiQA-dataset) 数据集包含8,678个QA实例
## 知识图谱
* [migalkin/NodePiece](https://github.com/migalkin/NodePiece) 大型知识图谱的复合和参数高效表示 (ICLR‘22)。NodePiece是一个“分词器”,用于减少知识图中的实体词汇量。不是将每个节点浅层嵌入到向量中,而是首先在其关系上下文中通过 K 个锚节点和 M 关系类型“标记”每个节点。然后,通过任何注入函数(例如MLP或Transformer)对生成的哈希序列进行编码。NodePiece可以使用相同的锚点和关系词汇表标记附加到所见图的看不见的节点,这允许NodePiece在归纳设置中使用经典KG完成中的所有众所周知的评分函数(如TransE或RotatE)开箱即用。NodePiece在OGB WikiKG 2排行榜上名列前茅,以大幅降低的参数预算(7M与500-1500M)为模型提供动力。当前配置只需要 20K 个锚节点,而不是学习 2.5M 实体嵌入。关系预测节点分类样本外链路预测
* [neo4j-labs/llm-graph-builder](https://github.com/neo4j-labs/llm-graph-builder) 知识图谱生成器应用程序。该应用程序旨在将非结构化数据(pdfs,docs,txt,youtube视频,网页等)转换为存储在Neo4j中的知识图谱。它利用大型语言模型(OpenAI、Gemini 等)的强大功能从文本中提取节点、关系及其属性,并使用 Langchain 框架创建结构化知识图谱。从本地计算机、GCS 或 S3 存储桶或 Web 源上传文件,选择您的LLM模型并生成知识图谱。主要特点:知识图谱创建:使用 LLMs将非结构化数据转换为结构化知识图谱。提供架构:提供您自己的自定义架构或使用设置中的现有架构来生成图形。查看图表:在 Bloom 中一次查看特定源或多个源的图表。与数据聊天:通过对话查询与 Neo4j 数据库中的数据进行交互,还可以检索有关查询响应源的元数据。
* [JanKalo/KnowlyBERT](https://github.com/JanKalo/KnowlyBERT) 提出了一种混合的语言知识模型查询系统,该系统使用语言模型来应对现实世界中知识图谱的不完整性问题。作为KnowlyBERT的输入,用户可以向系统提出以实体为中心的SPARQL查询。首先,查询语言模型(a);然后,对不完整的知识图谱进行查询,并获得结果(b);另外SPARQL查询被翻译成多种自然语言语句,这些语言语句在“关系模板生成”步骤中由语言模型完成;语言模型返回多个单词列表以及每个单词(c)的置信度值;然后将这些列表合并为一个列表(d),并根据知识图谱类型信息(e)使用我们的语义过滤步骤进行过滤。此外,执行阈值处理,削减不相关的结果(f);将语言模型和知识图谱的结果合并(g)并返回给用户。
* [AutoML-Research/AutoSF](https://github.com/AutoML-Research/AutoSF) 用于知识图谱学习的双线性评分函数(SFs)搜索。知识图(KG)是一种以实体为节点、以关系为边的特殊图结构,对数据挖掘和机器学习都很重要,并启发了各种下游应用,如结构化搜索、问答、推荐。在KGs中,每条边都被表示为一个具有形式(头实体、关系、尾实体)的三元组,表示为(h, r, t),一个基本问题是如何量化三元组(h, r, t)s的合理性。KG嵌入(KGE)是近年来出现并发展起来的一种很有前途的方法。基本上,给定一组观察到的三元组,KGE试图学习实体和关系的低维向量表示,以便三元组的可信性能够被量化。得分函数(SF)根据嵌入值返回(h, r, t)的分数,用于度量可信性。SF一般是人为设计和选择的,对嵌入的质量有显著影响。
* [Accenture/AmpliGraph](https://github.com/Accenture/AmpliGraph) AmpliGraph是一个基于TensorFlow的开源库,用于知识图谱上的表示学习,可以用来预测知识图谱中概念之间的链接。它提供了一套神经机器学习模型,用于关系学习,可以用于发现现有知识图谱中的新知识,完成大型知识图谱中缺失的语句,生成独立的知识图谱嵌入,以及开发和评估新的关系模型。AmpliGraph 2.0.0版本基于TensorFlow 2,提供了Keras风格的API,使其速度更快,使用更方便,并扩展了对多种功能的支持。它还包含数据集、模型、评估、发现和兼容性等模块,支持TransE、DistMult、ComplEx、HolE等模型。安装需要Python 3.8及以上版本,并使用venv或Conda创建虚拟环境,然后安装TensorFlow 2.9.0。
* [txsun1997/CoLAKE](https://github.com/txsun1997/CoLAKE) 使用知识图谱以增强预训练模型的效果 首先将上下文看作全连接图,并根据句子中的实体在KG上抽取子图,通过两个图中共现的实体将全连接图和KG子图融合起来;最终本文将文本上下文和知识上下文一起用MLM进行预训练,将mask的范围推广到word、entity和relation;为训练该模型,本文采用cpu-gpu混合训练策略结合负采样机制减少训练时间;最终本文提出的方法在知识图谱补全和若干NLP任务上均带来了增益。然后本文将该图转化为序列,使用Transformer进行预训练,并在训练时采用特殊的type embedding来表示实体、词语与其他子图信息
* [gsi-upm/sematch](https://github.com/gsi-upm/sematch) Sematch是一个用于知识图谱语义相似性计算的集成框架,它易于使用,可以计算概念、词语和实体的语义相似性得分。Sematch专注于基于知识的语义相似性度量,这些度量依赖于分类法中的结构化知识(例如深度、路径长度、最小公共祖先)和统计信息内容(语料库IC和图IC)。Sematch提供了一个集成框架来开发和评估概念、词语、实体及其应用的语义相似性度量。用户可以通过pip安装Sematch,并使用它来计算基于WordNet的多语言词语相似性,以及其他功能。
* [shaoxiongji/knowledge-graphs](https://github.com/shaoxiongji/knowledge-graphs) 这是一个关于知识图谱的资源库,包含了知识图谱相关的论文、代码和阅读笔记。该项目涵盖了知识图谱的各个方面,包括知识图谱嵌入、跨模态知识图谱嵌入、知识获取(包括知识图谱补全和关系抽取)、知识推理、知识图谱应用等。项目还提供了各种知识图谱数据、库、软件和工具的链接,以及相关课程、教程和研讨会的资料。此外,该项目还包含了按会议和类别分类的论文列表,方便用户查找相关文献。
* [zjunlp/PromptKG](https://github.com/zjunlp/PromptKG) PromptKG Family是一个关于提示学习和知识图谱相关研究的资源库,包含研究模型实现、工具包和论文列表。它提供lambdaKG库用于基于预训练语言模型的知识图谱嵌入和应用,deltaKG库用于动态编辑基于预训练语言模型的知识图谱嵌入,以及针对初学者的教程笔记本。此外,该项目还整理了相关领域的论文,包括将知识作为提示的论文和使用提示学习增强知识图谱的论文。
* [zjukg/GPHT-for-TSP](https://github.com/zjukg/GPHT-for-TSP) GPHT-for-TSP 项目提出了一种基于图神经网络的知识图谱补全方法,该方法通过生成子图并使用预训练的嵌入来预测缺失的三元组。项目包含三个主要步骤:生成子图、预训练嵌入和训练模型。用户可以根据数据集、子图大小、学习率等参数进行配置,并使用该项目进行知识图谱补全任务。该项目参考了 HAKE、PairRE 和 CompGCN 的代码,并提供了详细的运行说明。
* [liuhuanyong/ChainKnowledgeGraph](https://github.com/liuhuanyong/ChainKnowledgeGraph) 产业链知识图谱包括A股上市公司、行业和产品共3类实体,包括上市公司所属行业关系、行业上级关系、产品上游原材料关系、产品下游产品关系、公司主营产品、产品小类共6大类。 上市公司4,654家,行业511个,产品95,559条、上游材料56,824条,上级行业480条,下游产品390条,产品小类52,937条,所属行业3,946条。
* [DeqingYang/CKBC](https://github.com/DeqingYang/CKBC) 使用关系图注意力网络和预训练语言模型完成常识知识库。常识在各种语料库中很少被明确表达,但对于机器理解自然语言非常有用。与传统的知识库(KG)不同,常识库(CKG)中的节点通常由自由格式的文本表示,并且比传统的 KG 规模更大,更稀疏。因此,这对传统的知识库补全(KBC)方法造成了挑战。
* [OpenSPG/openspg](https://github.com/OpenSPG/openspg) OpenSPG是由蚂蚁集团与 OpenKG 合作开发的知识图谱引擎,基于 SPG(语义增强可编程图)框架,该框架总结了蚂蚁集团多年来在金融场景中构建和应用各种领域知识图谱的经验。OpenSPG 的核心功能包括:1) 领域模型约束的知识建模,2) 事实和逻辑融合的表示,3) 将很快原生支持 KAG,敬请期待。
* [iuhuanyong/TextGrapher](https://github.com/liuhuanyong/TextGrapher) 输入一篇文档,将文档进行关键信息提取,进行结构化,并最终组织成图谱组织形式,形成对文章语义信息的图谱化展示。 采用了高频词,关键词,命名实体识别,主谓宾短语识别等抽取方式,并尝试将三类信息进行图谱组织表示,这种表示方式是一种尝试。
* [pykeen/pykeen](https://github.com/pykeen/pykeen) PyKEEN是一个用于学习和评估知识图嵌入模型的Python库,支持多模态信息。它提供了一个易于使用的管道函数,用于快速训练和评估模型,例如TransE模型在Nations数据集上的训练和评估。PyKEEN还支持多种数据集、模型和评估方法,并提供详细的文档和安装指南。
* [autoliuweijie/K-BERT](https://github.com/autoliuweijie/K-BERT) Enabling Language Representation with Knowledge Graph ,已被AAAI2020所录取,是较早的考虑将知识图谱中的边关系引入预训练模型的论文。主要通过修改Transformer中的attention机制,通过特殊的mask方法将知识图谱中的相关边考虑到编码过程中,进而增强预训练模型的效果。
* [liuhuanyong/AbstractKnowledgeGraph](https://github.com/liuhuanyong/AbstractKnowledgeGraph) 抽象知识图谱,目前规模50万,支持名词性实体、状态性描述、事件性动作进行抽象。目标于抽象知识,包括抽象实体,抽象动作,抽象事件。基于该知识图谱,可以进行不同层级的实体抽象和动作抽象,这与人类真实高度概括的认知是一致的。
* [seukgcode/MELBench.](https://github.com/seukgcode/MELBench) 多模态实体链接 (MEL) 旨在利用多模态信息将提及项映射到知识库中定义的相应实体。 我们发布了三个 MEL 数据集:Weibo-MEL、Wikidata-MEL 和 Richpedia-MEL,分别包含来自社交媒体、百科全书和多模态知识图谱的 25,602、18,880 和 17,806 个样本。
* [zjukg/NeuralKG](https://github.com/zjukg/NeuralKG) 支持多种知识图谱表示学习/知识图谱嵌入(Knowledge Graph Embedding)模型的Python工具包,其中实现了多种传统知识图谱嵌入、基于图神经网络的知识图谱嵌入以及基于规则的知识图谱嵌入方法。
* [liuhuanyong/PersonGraphDataSet](https://github.com/liuhuanyong/PersonGraphDataSet) 人物图谱数据集,近十万的人物关系图谱事实数据库,通过人物关系抽取算法抽取+人工整理得出,可用于人物关系搜索、查询、人物关系多跳问答,以及人物关系推理等场景提供基础数据。
* [CLUEbenchmark/KgCLUE](https://github.com/CLUEbenchmark/KgCLUE) KgCLUE: 大规模中文开源知识图谱问答数据集。实体数量 3121457,关系数量 245838,高频关系(>100) 3833,三元组数量 20559652,知识库来源于百科类数据,由百科类搜索的事实性三元组构成。
* [OpenBGBenchmark/OpenBG](https://github.com/OpenBGBenchmark/OpenBG) 大规模开放业务知识图谱.开放的商业知识图,它使用统一的Schema覆盖大规模的多模态数据集,包含了浙江大学ZJUKG实验室和阿里巴巴知识引擎团队提供的数百万个产品和消费者需求。
* [yoheinakajima/instagraph](https://github.com/yoheinakajima/instagraph) 将文本或 URL 转换为富有洞察力的知识图谱的首选应用程序。特征:动态文本到图形转换。用颜色编码的图形节点和边。响应式设计 - 在任何设备上使用它。超级用户友好!
* [liuhuanyong/ChineseSemanticKB](https://github.com/liuhuanyong/ChineseSemanticKB) 面向中文处理的12类、百万规模的语义常用词典,包括34万抽象语义库、34万反义语义库、43万同义语义库等,可支持句子扩展、转写、事件抽象与泛化等多种应用场景。
* [zjunlp/deepke](https://github.com/zjunlp/deepke) 基于深度学习的开源中文知识图谱抽取框架,支持cnSchema、低资源、长篇章、多模态的知识抽取工具,可以基于PyTorch实现命名实体识别、关系抽取和属性抽取功能。
* [openconcept](http://openkg.cn/dataset/openconcept) 基于自动化知识抽取算法的大规模中文概念图谱。440万概念核心实体,以及5万概念和1200万实体-概念三元组。数据包括了常见的人物、地点等通用实体。
* [zjunlp/DeepKE](https://github.com/zjunlp/DeepKE/blob/main/README_CN.md) 开源知识图谱抽取与构建工具,支持cnSchema、低资源、长篇章、多模态的知识抽取工具,基于PyTorch实现命名实体识别、关系抽取和属性抽取功能。
* [yeliu918/KG-BART](https://github.com/yeliu918/KG-BART) 知识图谱增强的预训练模型的生成式常识推理.可利用图上的注意力来聚集丰富的概念语义,从而增强对看不见的概念集的模型泛化。
* [wangbo9719/StAR_KGC](https://github.com/wangbo9719/StAR_KGC) Structure-Augmented Text Representation Learning for Efficient Knowledge Graph Completion 结构增强文本表示学习,实现高效知识图完成.知识图谱补全
* [ownthink/KnowledgeGraph](https://github.com/ownthink/KnowledgeGraph) 史上最大规模1.4亿知识图谱数据免费下载,知识图谱,通用知识图谱,融合了两千五百多万实体,拥有亿级别的实体属性关系。
* [THU-KEG/KEPLER](https://github.com/THU-KEG/KEPLER) 主要通过添加类似于TransE的预训练机制来增强对应文本的表示,进而增强预训练模型在一些知识图谱有关任务的效果。
* [OpenKG-ORG/OpenEA](https://github.com/openkg-org/OpenEA) 基于知识图谱嵌入的开源实体融合工具。本体匹配、实体对齐、真值验证、冲突消解。
* [JavaStudenttwo/ccks_kg](https://github.com/JavaStudenttwo/ccks_kg) ccks2020基于本体的金融知识图谱自动化构建技术评测第五名方法总结
* [ZihengZZH/awesome-multimodal-knowledge-graph](https://github.com/ZihengZZH/awesome-multimodal-knowledge-graph) 多模态知识图谱的精彩阅读列表或其他资源(数据集、教程等)。
* [totogo/awesome-knowledge-graph](https://github.com/totogo/awesome-knowledge-graph) 知识图相关学习材料、数据库、工具和其他资源的精选列表
* [面向事件时序因果关系识别的17类开源标注数据集总结](https://mp.weixin.qq.com/s/uz3IfX4CyxtJjJl-HRkMaA) 面向事件时序因果关系识别的17类开源标注数据集总结
* [thunlp/KB2E](https://github.com/thunlp/KB2E) 知识图谱嵌入,包括 TransE、TransH、TransR 和 PTransE
* [powerycy/DeepKg: Knowledge Graph](https://github.com/powerycy/DeepKg) 知识图谱的构建 实体识别语义标准化向量召回
* [lemonhu/stock-knowledge-graph](https://github.com/lemonhu/stock-knowledge-graph) 利用网络公开数据构建一个小型证券知识图谱
* [OpenKG-ORG/OpenRichpedia](https://github.com/OpenKG-ORG/OpenRichpedia) 东南大学多模态知识图谱-OpenRichpedia工程文件
* [zjunlp/ContinueMKGC](https://github.com/zjunlp/ContinueMKGC) [IJCAI 2024]持续的多模态知识图谱构建。
* [BrambleXu/knowledge-graph-learning](https://github.com/BrambleXu/knowledge-graph-learning) 精选的知识图谱教程、项目社区列表。
* [npubird/KnowledgeGraphCourse](https://github.com/npubird/KnowledgeGraphCourse) 东南大学《知识图谱》研究生课程
* [csdqa](http://openkg.cn/dataset/csdqa) 计算机科学领域示意图问答数据集
* [bernhard2202/intkb](https://github.com/bernhard2202/intkb) 一种交互式知识图谱补全框架
* [husthuke/awesome-knowledge-graph](https://github.com/husthuke/awesome-knowledge-graph) 整理知识图谱相关学习资料
* [husthuke/awesome-knowledge-graph](https://github.com/husthuke/awesome-knowledge-graph) 整理知识图谱相关学习资料
* [HKUST-KnowComp/FKGE](https://github.com/HKUST-KnowComp/FKGE) 差异私有联合知识图嵌入
* [songjiang0909/awesome-knowledge-graph-construction](https://github.com/songjiang0909/awesome-knowledge-graph-construction) 很棒的知识图构建
* [Everglow123/MAKG](https://github.com/Everglow123/MAKG) 移动app知识图谱
## 知识图谱问答KBQA_多跳推理
* [PaddlePaddle/PGL/erniesage](https://github.com/PaddlePaddle/PGL/tree/static_stable/examples/erniesage) 使用PGL实现ERNIESage。在很多工业应用中,往往出现如下图所示的一种特殊的图:Text Graph。顾名思义,图的节点属性由文本构成,而边的构建提供了结构信息。如搜索场景下的Text Graph,节点可由搜索词、网页标题、网页正文来表达,用户反馈和超链信息则可构成边关系。ERNIESage 由PGL团队提出,是ERNIE SAmple aggreGatE的简称,该模型可以同时建模文本语义与图结构信息,有效提升 Text Graph 的应用效果。其中 ERNIE 是百度推出的基于知识增强的持续学习语义理解框架。ERNIESage 是 ERNIE 与 GraphSAGE 碰撞的结果,是 ERNIE SAmple aggreGatE 的简称,它的结构如下图所示,主要思想是通过 ERNIE 作为聚合函数(Aggregators),建模自身和邻居节点的语义与结构关系。ERNIESage 对于文本的建模是构建在邻居聚合的阶段,中心节点文本会与所有邻居节点文本进行拼接;然后通过预训练的 ERNIE 模型进行消息汇聚,捕捉中心节点以及邻居节点之间的相互关系;最后使用 ERNIESage 搭配独特的邻居互相看不见的 Attention Mask 和独立的 Position Embedding 体系,就可以轻松构建TextGraph中句子之间以及词之间的关系。使用ID特征的GraphSAGE只能够建模图的结构信息,而单独的ERNIE只能处理文本信息。通过PGL搭建的图与文本的桥梁,ERNIESage能很简单的把GraphSAGE以及ERNIE的优点结合一起。TextGraph场景,效果能够比单独的ERNIE以及GraphSAGE都要好。
* [OpenSPG/KAG](https://github.com/OpenSPG/KAG) KAG是一个基于OpenSPG引擎的知识增强生成框架,用于构建知识增强的严谨决策和信息检索知识服务。它通过四个方面解决RAG技术面临的挑战,包括:LLM友好的知识表示、知识图谱和原始文本片段的互索引、逻辑形式引导的混合推理引擎、语义推理的知识对齐。KAG在多跳问答任务中显著优于NaiveRAG、HippoRAG等方法,在hotpotQA上的F1分数相对提高了19.6%,在2wiki上的F1分数相对提高了33.5%。KAG已成功应用于蚂蚁集团的两个专业知识问答任务,包括电子政务问答和电子健康问答,与RAG方法相比,专业性显著提升。KAG框架包括三个部分:kg-builder、kg-solver和kag-model,当前版本仅包含前两个部分,kag-model将在未来逐步开源发布。
* [liuhuanyong/RAGOnMedicalKG](https://github.com/liuhuanyong/RAGOnMedicalKG) RAGOnMedicalKG,将大模型RAG与KG结合,完成demo级问答,旨在给出基础的思路。从无到有搭建一个以疾病为中心的一定规模医药领域知识图谱,并以该知识图谱,结合LLM完成自动问答与分析服务。step1: linking entity,针对问题进行实体识别,本项目采用基于ac自动机通过加载图谱词表进行匹配获得;step2:recall kg facts,通过上一步得到的多个实体,通过prompt的方式提示llm进行实体的意图识别,然后转换成cypher语句进行查询,并过滤兼枝,得到子图路径;step3:generate answer,通过召回好的子图,拼接prompt,使用llm完成问答;
* [THU-KEG/KoPL](https://github.com/THU-KEG/KoPL) KoPL全称 Knowledge oriented Programing Language, 是一个为复杂推理问答而设计的编程语言。可以将自然语言问题表示为由基本函数组合而成的KoPL程序,程序运行的结果就是问题的答案。目前,KoPL的27个基本函数覆盖对多种知识元素(如概念、实体、关系、属性、修饰符等)的操作,并支持多种问题类型(如计数、事实验证、比较等)的查询。KoPL提供透明的复杂问题推理过程,易于理解和使用。KoPL面向知识库、文本等不同形式的知识资源,可扩展性强。
* [THUDM/CogQA](https://github.com/THUDM/CogQA) 基于认知图谱实现多跳阅读.从人类的认知过程中受到启发。双过程理论认为,我们的大脑思考过程由两套系统构成: System1 和 System 2。System 1: 我们的大脑首先通过System 1隐式的、无意识的和凭借直觉的过程来检索相关信息。System 2: 在System 1过程的基础上,再进行一个显式的、有意识的、可控的推理过程,即System 2。作者使用BERT模型构建System 1,使用GNN模型构建System 2。
* [AuvaLab/itext2kg](https://github.com/AuvaLab/itext2kg) iText2KG 是一个 Python 包,旨在通过利用大型语言模型从文本文档中提取实体和关系,逐步构建具有已解析实体和关系的一致知识图谱。它具有 Zero shot 功能,无需专门培训即可跨各个领域提取知识。该软件包包括用于文档蒸馏、实体提取和关系提取的模块,确保实体和关系解析且唯一。它不断使用新文档更新 KG,并将它们集成到 Neo4j 中以进行可视化表示。
* [INK-USC/MHGRN](https://github.com/INK-USC/MHGRN) 基于知识库的多跳关系推理 本篇文章提出了multi-hop relational reasoning module(多跳关系推理模型)叫做MHGRN多跳推理网络。该模型在额外的多跳知识图谱中抽取的子网络中进行推理。本文提出的方法将已有的基于路径的常识推理以及GCN融合在了一起,并在CommonsenseQA和OpenbookQA上取得了良好的效果。
* [nju-websoft/SPARQA](https://github.com/nju-websoft/SPARQA) 基于知识库的问题解答,提出了一种新颖的骨架语法来表示一个复杂问题的高级结构。骨架语法本质上是依赖语法的一个选定子集,用于专门表示复杂问题的高级结构。这种专用的粗粒度表示形式由于其简单性而可能具有准确的解析算法,有助于提高下游细粒度语义解析的准确性。
* [cdjhz/multigen](https://github.com/cdjhz/multigen) Language Generation with Multi-hop Reasoning on Commonsense Knowledge Graph 基于常识知识图的多跳推理语言生成 本研究关注一类条件文本生成任务,即给定输入源文本X,目标是生成一段目标文本 Y。研究员们额外增加了一个知识图谱 G=(V,E) 的输入为模型在生成时提供常识知识的信息。
* [shijx12/TransferNet](https://github.com/shijx12/TransferNet) An Effective and Transparent Framework for Multi-hop Question Answering over Relation Graph 多跳问题解答关系图的有效透明框架,通过每一跳都预测当前关系得分,并更新实体得分,直到最大跳数。预测该问题的跳数,按跳数的概率加权每一跳得分作为实体的最终得分。
* [michiyasunaga/qagnn](https://github.com/michiyasunaga/qagnn) GNN 在融合 QA 上下文与 KG 的一个尝试,在问答任务上相比现有的预训练语言模型、以及预训练 +KG 模型,都有不小的提升。同时,使用 attention-base GNN,能够可视化知识图谱中节点之间的注意力关系,有助于提高 QA 可解释性和结构化推理的能力。
* [malllabiisc/EmbedKGQA](https://github.com/malllabiisc/EmbedKGQA) 基于知识图谱嵌入的链路预测处理多跳问答。首先训练实体嵌入,随后利用实体嵌入学习问题嵌入,预测时对所有实体,构建(head entity, question)并评分,并选择评分最高的头实体作为答案。能很好地处理知识图谱中的不完整和稀疏的问题。
* [BDBC-KG-NLP/QA-Survey](https://github.com/BDBC-KG-NLP/QA-Survey) 北航大数据高精尖中心研究张日崇团队对问答系统的总结。包括基于知识图谱的问答(KBQA),基于文本的问答系统(TextQA),基于表格的问答系统(TabletQA)和基于视觉的问答系统(VisualQA),每类系统分别对学术界和工业界进行总结。
* [lanyunshi/Multi-hopComplexKBQA](https://github.com/lanyunshi/Multi-hopComplexKBQA) 查询图生成,用于回答知识库中的多跳复杂问题.提出了一种改进的分阶段查询图生成方法,该方法具有更灵活的生成查询图的方式。在查询图生成的每一步,包含三种预定义的操作:扩展、连接、聚合。
* [google-research/smore](https://github.com/google-research/smore) 多功能的框架,它可以在KG上扩展多跳查询嵌入。SMORE可以轻松地在Freebase KG上训练查询嵌入,在一台机器上拥有超过8600万个节点和33800万条边。
* [BinNong/meet-libai](https://github.com/BinNong/meet-libai) 通过大模型构建李白知识图谱,结合大模型训练出专业的AI智能体,以生成式对话应用的形式,推动李白文化的普及与推广。
* [WenRichard/KBQA-BERT](https://github.com/WenRichard/KBQA-BERT) 基于知识图谱的问答系统,BERT做命名实体识别和句子相似度,分为online和outline模式
* [RUCKBReasoning/SubgraphRetrievalKBQA](https://github.com/RUCKBReasoning/SubgraphRetrievalKBQA) 多跳知识库问答子图检索增强模型的pytorch实现 WebQuestionSP CWQ
* [LHRLAB/ChatKBQA](https://github.com/LHRLAB/ChatKBQA) 使用微调的大型语言模型生成然后检索知识库问答的框架
* [UKPLab/coling2018-graph-neural-networks-question-answering](https://github.com/UKPLab/coling2018-graph-neural-networks-question-answering) 用门图形神经网络建模语义,用于知识库问题解答
* [RichardHGL/WSDM2021_NSM](https://github.com/RichardHGL/WSDM2021_NSM) KBQA 的神经状态机器 ComplexWebQuestions
* [xianghuisun/Chinese_KGQA](https://github.com/xianghuisun/Chinese_KGQA) 实现基于知识图谱的中文问答系统
* [BshoterJ/awesome-kgqa](https://github.com/BshoterJ/awesome-kgqa) 知识图谱问答部分资料合集
* [RUCAIBox/KBQAPapers](https://github.com/RUCAIBox/KBQAPapers) 知识图谱问答KBQA论文集
* [mori97/JKNet-dgl](https://github.com/mori97/JKNet-dgl) 跳跃知识网络的dgl实现
## 预训练模型
* [OpenBMB/BMInf](https://github.com/OpenBMB/BMInf) BMInf (Big Model Inference) 是一个用于大规模预训练语言模型(PLM)推理阶段的低资源工具包。最低支持在NVIDIA GTX 1060单卡运行百亿大模型。在此基础上,使用更好的gpu运行会有更好的性能。模型能力覆盖文本补全、文本生成与对话场景。文本生成能力大幅提高。目前支持下列模型:**CPM2.1**. CPM2.1是CPM2 [[1](https://bminf.readthedocs.io/zh_CN/latest/introduction-zh.html#ref)] 的升级版本。拥有110亿参数的通用中文预训练语言模型。基于CPM2,CPM2.1新增了一个生成式的预训练任务并基于持续学习范式进行训练。CPM2.1比CPM2具有更好的生成能力。 **CPM1.** CPM1 [[2](https://bminf.readthedocs.io/zh_CN/latest/introduction-zh.html#ref)] 是拥有26亿参数的生成式中文预训练语言模型。CPM1的模型架构与GPT [[4](https://bminf.readthedocs.io/zh_CN/latest/introduction-zh.html#ref)] 类似,它能够被应用于广泛的自然语言处理任务,如对话、文章生成、完形填空和语言理解。 **EVA.** EVA [[3](https://bminf.readthedocs.io/zh_CN/latest/introduction-zh.html#ref)] 是有着28亿参数的中文预训练对话模型。EVA在很多对话任务上表现优异,尤其是在多轮人机交互对话任务上。
* [THUDM/P-tuning-v2](https://github.com/THUDM/P-tuning-v2) P-tuning v2 对预训练变压器的每一层输入应用连续提示。深度提示调整增加了连续提示的容量,并缩小了跨各种设置微调的差距,特别是对于小型模型和艰巨的任务。将文本生成的prefix-tuning技术适配到NLU任务。Prompting技术火爆NLP社区,其将预训练模型从Fine-tuning范式带入Prompt-Engineering时代。Promp最初由人工设计,自然语言提示本身十分脆弱,而且从优化角度无法达到最优。为了解决问题发展出了可学习的Prompt,而P-tuning v2在实际上就是Prefix-tuning,在Prefix部分,每一层transformer的embedding输入需要被tuned。在不同规模大小的LM模型上,P-tuning v2能与精调(Fine-tuning)方法的表现比肩,有时甚至更好。
* [allenai/scibert](https://github.com/allenai/scibert) 在科学文本上训练的 BERT 模型。SciBERT 接受过 semanticscholar.org 语料库中的论文培训。语料库大小为1.14M论文,3.1B词元。我们在培训中使用论文的全文,而不仅仅是摘要。SciBERT 有自己的词汇表(scivocab),旨在与训练语料库最匹配。我们训练了有大小写和无大小写的版本。我们还纳入了在原始 BERT 词汇表(basevocab)上训练的模型进行比较。它在广泛的科学领域 nlp 任务上实现了最先进的性能。评估的细节在论文中。评估代码和数据包含在此存储库中。
* [google-research/byt5](https://github.com/google-research/byt5) ByT5:通过预先训练的字节到字节模型迈向无令牌的未来.ByT5 是 mT5 模型的无标记器扩展。 我们的 ByT5 模型不像大多数其他预训练语言模型(BERT、XLM-R、T5、GPT-3)那样使用子词词汇表,而是直接在 UTF-8 字节上运行,无需任何文本预处理。 除了降低系统复杂性之外,我们发现参数匹配的 ByT5 模型在一系列任务中与 mT5 具有竞争力,并且在涉及嘈杂文本或对拼写和发音敏感的任务上优于 mT5。 此 repo 可用于重现 ByT5 论文中的实验。
* [dbiir/UER-py](https://github.com/dbiir/UER-py) 一个用于对通用语料进行预训练并对下游任务进行微调的工具包。提供了非常丰富的模型库。包括:中文RoBERTa、基于词的中文RoBERTa、中文GPT-2预训练模型(通用、古诗词、对联、歌词、文言文)、中文T5预训练模型、中文RoBERTa下游任务微调模型(JD full 情感分类 、JD binary 情感分类 、Dianping 情感分类、Ifeng 新闻主题分类、Chinanews 新闻主题分类 、CLUENER2020 NER 、抽取式问答)等。
* [Tencent/PatrickStar](https://github.com/Tencent/PatrickStar) 提供更大、更快、更环保的预训练模型,并为所有人普及人工智能。PatrickStar 的内存管理支持将模型的当前计算部分以外的所有内容卸载到 CPU 以节省 GPU。此外,在扩展到多个 GPU 时,基于块的内存管理对于集体通信非常有效。通过**异构训练**(DeepSpeed Zero Stage 3 也使用它),PatrickStar 可以充分利用 CPU 和 GPU 内存,这样您就可以使用更少的 GPU 来训练更大的模型。
* [IDEA-CCNL/Fengshenbang-LM](https://github.com/IDEA-CCNL/Fengshenbang-LM) Fengshenbang-LM(封神榜大模型)是IDEA研究院认知计算与自然语言研究中心主导的大模型开源体系,成为中文认知智能的基础设施。包括了自然语言理解(NLU),自然语言生成(NLG)和自然语言转换(NLT)任务。CHID(成语填空)、TNEWS(新闻分类)超过人类,CHID(成语填空)、CSLDCP(学科文献分类)、OCNLI(自然语言推理)单任务第一,刷新小样本学习记录。
* [microsoft/LoRA](https://github.com/microsoft/LoRA) 大型语言模型的低秩适应。 冻结原始权重的同时学习成对的秩分解矩阵来减少可训练参数的数量。降低了适用于特定任务的大型语言模型的存储需求,并在部署期间实现了高效的任务切换,所有这些都不会引入推理延迟。在 GLUE 基准上获得与完全微调相当或更好的结果,同时只训练和存储一小部分参数。
* [microsoft/unilm](https://github.com/microsoft/unilm) UniLM-NLP及更高版本的统一语言模型预训练 * layoutlm 多模态文档理解预训练模型LayoutLM 2.0,模型首先将文本、图像、布局三种模态的输入转换成向量表示,然后再交给编码器网络,最终输出的表示向量可以供下游任务使用。下游任务:表单理解、票据理解、复杂布局长文档理解、文档图像分类、视觉问答。
* [THUDM/GLM-130B](https://github.com/THUDM/GLM-130B) 开放的双语(英汉)双向密集模型,1300亿参数,使用通用语言模型(GLM)进行预训练。 支持单台A100(40G * 8)或V100(32G * 8)服务器上具有130B参数的推理任务。 通过 INT4 量化,降低到 4 * RTX 3090(24G),而性能几乎没有下降。 截至 2022 -7-3 ,已接受了超过 4000 亿个文本标记(中文和英文各 200B)的训练。
* [sunyilgdx/NSP-BERT](https://github.com/sunyilgdx/NSP-BERT) 利用**句子级别(sentence-level)** 的预训练任务 **NSP (下一句预测,Next Sentence Prediction)** 来实现不同的NLP下游任务, 例如 *单句分类(single sentence classification)*, *双句分类(sentence pair classification)*, *指代消解(coreference resolution)*, *完形填空(cloze-style task)*, *实体链接(entity linking)*, *实体类型识别(entity typing)*.
* [thunlp/OpenPrompt](https://github.com/thunlp/OpenPrompt) Prompt-learning 是将预训练语言模型应用于下游NLP任务的最新范式,它使用文本模板修改输入文本并直接使用 PLM 执行预训练任务。 该库提供了一个标准、灵活和可扩展的框架来部署即时学习管道。 OpenPrompt支持直接从Huggingface Transformer加载PLM。将来,我们还将支持其他库实现的 PLM。
* [huawei-noah/DynaBERT](https://github.com/huawei-noah/Pretrained-Language-Model/tree/master/DynaBERT) dynamic BERT 可以通过选择自适应宽度和深度来灵活地调整网络大小,从而得到一个尺寸可变的网络。首先通过知识蒸馏的方法将teacher BERT的知识迁移到有自适应宽度的子网络student DynaBERTw中,然后再对DynaBERTw进行知识蒸馏得到同时支持深度自适应和宽度自适应的子网络DynaBERT。
* [clue-ai/PromptCLUE](https://github.com/clue-ai/PromptCLUE) 大规模多任务Prompt预训练中文开源模型。千亿中文token上大规模预训练,累计学习1.5万亿中文token,亿级中文任务数据上完成训练,训练任务超过150+。比base版平均任务提升7个点+;具有更好的理解、生成和抽取能力,并且支持文本改写、纠错、知识图谱问答。
* [YunwenTechnology/Unilm](https://github.com/YunwenTechnology/Unilm) UniLM模型既可以应用于自然语言理解(NLU)任务,又可以应用于自然语言生成(NLG)任务。论文来自微软研究院。模型虽然强大,但微软并没有开源中文的预训练模型。因此云问本着开源之前,将我们预训练好的中文unilm_base模型进行开源。
* [airaria/TextPruner](https://github.com/airaria/TextPruner) 用于预训练语言模型的基于 PyTorch 的模型修剪工具包.它提供了**低成本**和**免训练的**方法,通过去除冗余神经元来减小模型大小并加快模型推理速度。在 TextPruner 中,共有三种剪枝模式:**词汇剪枝**、**变压器剪枝**和**管道剪枝**。
* [alibaba/EasyTransfer](https://github.com/alibaba/EasyTransfer) 自然语言处理的迁移学习工具。主要特性:预训练语言模型工具,丰富且高质量的预训练模型库 BERT, ALBERT, RoBERTa, T5, etc,丰富且易用的NLP应用 如文本匹配、分本分类、机器阅读理解MRC,自动化的知识蒸馏,易用且高效的分布式训练。
* [EleutherAI/gpt-neox](https://github.com/EleutherAI/gpt-neox) 基于 DeepSpeed 库的 GPU 上模型并行自回归转换器(autoregressive transformers)的实现。目前基于 NVIDIA 的威震天语言模型,并已通过 DeepSpeed 的技术以及一些新颖的优化进行了增强。希望在此过程中训练和开源 175B 参数 GPT-3 复制。
* [yuzhimanhua/Awesome-Scientific-Language-Models](https://github.com/yuzhimanhua/Awesome-Scientific-Language-Models) 科学领域(例如,数学、物理、化学、生物学、医学、材料科学和地球科学)中预训练语言模型的精选列表,涵盖不同的模型大小(从 <100M 到 70B 参数)和模态(例如,语言、视觉、分子、蛋白质、图形和表格)。
* [guillaume-be/rust-bert](https://github.com/guillaume-be/rust-bert) Rust-native 最先进的自然语言处理模型和管道。 Hugging Face 的 Transformers 库的端口,使用 tch-rs crate 和 rust-tokenizers 预处理。 支持多线程标记化和GPU推理。 公开了模型基础架构、特定于任务的头和随时可用的管道。
* [volcengine/veGiantModel](https://github.com/volcengine/veGiantModel) 字节跳动应用ML团队的基于torch的高效训练库。 使巨型模型(例如GPT、BERT和T5)训练变得简单高效。 建立在 Megatron 和 DeepSpeed 之上,通过集成高效通信库BytePs并提供定制的管道分区来提高通信效率。
* [BlinkDL/RWKV-LM](https://github.com/BlinkDL/RWKV-LM) 具有 Transformer 级 LLM 性能的 RNN。它可以像 GPT(可并行化)一样直接训练。因此,它结合了 RNN 和 Transformer 的优点——出色的性能、快速推理、节省 VRAM、快速训练、“无限”ctx_len 和自由句子嵌入。
* [ymcui/PERT](https://github.com/ymcui/PERT) 提出了一种基于乱序语言模型的预训练模型,在不引入掩码标记[MASK]的情况下自监督地学习文本语义信息。PERT在部分中英文NLU任务上获得性能提升,但也在部分任务上效果较差,请酌情使用。
* [facebookresearch/metaseq](https://github.com/facebookresearch/metaseq) Meta AI开放了一个“重达”1750亿参数的大语言模型OPT-175B,Open Pre-trained Transformers,不仅参数比GPT-3的3750亿更少,效果还完全不输GPT-3。从完整模型到训练代码、部署代码全部开放。
* [hwchase17/langchain](https://github.com/hwchase17/langchain) 通过可组合性使用大型语言模型构建应用程序 基于 OPENAI 的 GPT3 等大语言模型设计一系列便于集成到实际应用中的接口,降低了在实际场景中部署大语言模型的难度
* [OpenBMB/BMTrain](https://github.com/OpenBMB/BMTrain) 高效的大型模型训练工具包,可用于训练具有数百亿参数的大型模型。 它可以以分布式方式训练模型,同时保持代码像单机训练一样简单。
* [alibaba/AliceMind/LatticeBERT](https://github.com/alibaba/AliceMind/tree/main/LatticeBERT) Leveraging Multi-Granularity Representations in Chinese Pre-trained Language Models 利用多粒度的词格信息(word lattice),相对字级别的模型取得了性能提升。
* [FlagOpen/FlagEmbedding](https://github.com/FlagOpen/FlagEmbedding) 可以将任何文本映射到低维密集向量,该向量可用于检索、分类、聚类或语义搜索等任务。它也可以用于LLM的矢量数据库。
* [ymcui/Chinese-ELECTRA](https://github.com/ymcui/Chinese-ELECTRA) 中文ELECTRA预训练模型 其中ELECTRA-small模型可与BERT-base甚至其他同等规模的模型相媲美,而参数量仅为BERT-base的1/10
* [THUDM/GLM](https://github.com/THUDM/GLM) 一种预训练的通用语言模型,具有自回归空白填充目标,可以根据各种自然语言理解和生成任务进行微调。
* [XiaoMi/MiLM-6B](https://github.com/XiaoMi/MiLM-6B) 由小米开发的一个大规模预训练语言模型,参数规模为64亿。在 C-Eval 和 CMMLU 上均取得同尺寸最好的效果。
* [microsoft/CodeBERT](https://github.com/microsoft/CodeBERT) 针对编程语言的预训练模型,在Py、Java、JS、PHP、Ruby、Go的 NL-PL 对上进行预训练的多编程语言模型。
* [PaddlePaddle/ERNIE](https://github.com/PaddlePaddle/ERNIE) ERNIE 家族各种预训练模型的官方实现,涵盖语言理解与生成、多模态理解与生成等主题。
* [CLUEbenchmark/CLUEPretrainedModels](https://github.com/CLUEbenchmark/CLUEPretrainedModels) 高质量中文预训练模型集合:最先进大模型、最快小模型、相似度专门模型
* [Langboat/Mengzi](https://github.com/Langboat/Mengzi) 孟子预训练模型 轻量级但更强大,对部署和工业落地更友好的模型。
* [extreme-bert/extreme-bert](https://github.com/extreme-bert/extreme-bert) 可加速 BERT 在自定义数据集上的预训练和微调。
* [ShannonAI/ChineseBert](https://github.com/ShannonAI/ChineseBert) 融合字形与拼音信息的中文Bert预训练模型
* [google-research/flan](https://github.com/google-research/flan) 微调语言模型是零样本学习器
* [ymcui/Chinese-XLNet](https://github.com/ymcui/Chinese-XLNet) 面向中文的XLNet预训练模型
* [CyberZHG/keras-xlnet](https://github.com/CyberZHG/keras-xlnet) XLNet的非官方实现。
# A03_网络与前后端开发
## JavaScript框架
* [JacksonTian/fks](https://github.com/JacksonTian/fks) 前端知识结构。整理和维护前端开发领域知识体系。它起源于对一张前端知识结构图的回忆,该图详细展示了前端开发的相关知识和技术点。随着时间的发展,这些技术点可能会发生变化,因此需要一个协作的平台来更新和维护这些信息。项目包含的内容非常广泛,可以分为以下几个主要部分:浏览器和引擎:列举了不同浏览器及其渲染引擎,如IE、Firefox、Chrome、Safari和Opera。编程语言:包括JavaScript、TypeScript、CoffeeScript等,以及Node.js作为服务器端编程语言。涵盖了HTML5、CSS/CSS3、Sass、LESS等样式预处理器。介绍了各种文本编辑器、IDE和调试工具,如Visual Studio Code、VIM、Sublime Text等。包括Git、SVN等版本控制工具,以及GitHub、GitLab等代码托管平台。提到了ESLint、JSLint等代码质量工具,以及编码风格和代码组织。介绍了单元测试、自动化测试和性能测试的工具和概念。列举了多个前端框架和库,如Vue、React、jQuery等。涉及HTTP、ECMAScript、W3C标准等。包括性能优化工具和概念,如YSlow、PageSpeed等。搜索引擎优化相关的知识。涵盖了数据结构、OOP/AOP、设计模式、编程范型等。压缩合并、文档输出、构建工具等。HTML5/CSS3、响应式设计、移动应用开发等。HTML、CSS、JavaScript等标准。CSRF、XSS、CSP等安全概念。为前端开发者推荐了一系列书籍,分为入门和进阶两个层次。提供了前端工作面试的问题和资源。
* [typescript-eslint/typescript-eslint](https://github.com/typescript-eslint/typescript-eslint) 用于使 ESLint 和 Prettier 能够支持 TypeScript 的工具。ESLint 静态分析您的代码以快速发现问题。它允许围绕代码的外观或行为创建一系列称为 lint 规则的断言,以及自动修复程序建议以为您改进代码,并从共享插件加载 lint 规则。TypeScript 为 JavaScript 添加了额外的语法,允许您在代码中声明对象和函数的形状。它提供了一组语言服务,允许使用该类型信息运行强大的推理和自动化。typescript-eslint 使 ESLint 能够在 TypeScript 代码上运行。它引入了这两种工具的优点,以帮助您编写最好的 JavaScript 或 TypeScript 代码。ESLint 和 TypeScript 在内部以不同的方式表示代码。ESLint 的默认 JavaScript 解析器无法以特定于 TypeScript 的语法进行本机读取,并且其规则本身无法访问 TypeScript 的类型信息。允许 ESLint 解析 TypeScript 语法。为 ESLint 规则创建一组工具,以便能够使用 TypeScript 的类型信息。提供了特定于 TypeScript 和/或使用该类型信息的大量 lint 规则列表。
* [Unleash/unleash](https://github.com/Unleash/unleash) 专为开发人员打造的开源功能管理解决方案。Unleash 是一个强大的功能管理开源解决方案。它简化了您的开发工作流程,加快了软件交付速度,并使团队能够控制向最终用户推出新功能的方式和时间。借助 Unleash,您可以按照自己的节奏在更小、更易于管理的版本中将代码部署到生产环境。Unleash 中的功能标志允许您使用真实的生产数据测试代码,从而降低对用户体验产生负面影响的风险。它还使您的团队能够同时处理多个功能,而无需单独的功能分支。Unleash 是 GitHub 上最流行的功能标记开源解决方案。它支持 15 个官方客户端和服务器 SDK 以及超过 15 个社区 SDK。如果您愿意,您甚至可以创建自己的 SDK。Unleash 与任何语言和框架兼容。
* [rustwasm/wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) 促进 Wasm 模块和 JavaScript 之间的高级交互。轻。只需按实际使用量付费。 wasm-bindgen 仅为您实际使用的 JavaScript 导入和导出的 Rust 功能生成绑定和粘合。例如,导入和使用该 document.querySelector 方法不会导致 Node.prototype.appendChild 或 window.alert 包含在绑定中。ECMAScript 模块。只需导入 WebAssembly 模块,就像导入 JavaScript 模块一样。未来兼容 WebAssembly 模块和 ECMAScript 模块集成。在设计时考虑了“Web IDL 绑定”建议。最终,Rust 生成的 wasm 函数和原生 DOM 方法之间不会有任何 JavaScript 填充码。因为 wasm 函数是静态类型检查的,所以其中一些原生方法的动态类型检查应该变得没有必要了,这有望解锁比 JavaScript DOM 访问更快的速度。
* [graphql/dataloader](https://github.com/graphql/dataloader) DataLoader是一个通用的工具,用于作为应用程序数据获取层的一部分,通过批处理和缓存为各种后端提供一致的 API,并减少对这些后端的请求。它最初由 Facebook 的 [@schrockn][] 在 2010 年开发,作为一种简化力量,将当时存在的各种键值存储后端 API 整合在一起。DataLoader 是该原始想法的简化版本,用 JavaScript 为 Node.js 服务实现。DataLoader 通常用于实现 [graphql-js][] 服务,但它在其他情况下也广泛有用。DataLoader 提供了一种机制,不仅可以用于构建 Node.js 的 GraphQL 服务,还可以作为该概念的公开可用的参考实现,希望它可以移植到其他语言。如果您将 DataLoader移植到其他语言,请打开一个问题以从该存储库中包含一个链接。
* [web-infra-dev/rspack](https://github.com/web-infra-dev/rspack) 基于 Rust 的快速 Web 捆绑器,具有与 webpack 兼容的 API。Rspack 是一个用 Rust 编写的高性能 JavaScript 打包器。它提供了与 webpack 生态系统的强大兼容性,允许无缝替换 webpack,并提供闪电般的构建速度。特征:快速启动,基于 Rust,构建速度极快,为您带来极致的开发体验。闪电 HMR,HMR 内置增量编译机制,速度极快,完全有能力开发大型项目。Webpack 兼容,兼容 webpack 生态中的插件和加载器,无缝集成社区构建的优秀库。对 TypeScript、JSX、CSS、CSS 模块、Sass 等的开箱即用支持。生产优化,默认内置各种优化策略,如摇树、缩小等。与框架无关,不受任何前端框架的约束,确保足够的灵活性。
* [pinojs/pino](https://github.com/pinojs/pino) Pino是一个超高速、纯天然 JSON 日志记录器,为 Node.js提供低开销的日志记录功能。它通过将日志消息格式化为 JSON对象来实现高效的日志处理,并支持多种传输方式,例如将日志发送到文件、控制台或远程服务器。Pino 还提供子日志记录器功能,方便开发者根据不同模块或组件进行日志记录。为了提高性能,Pino 建议使用单独的进程或线程进行日志处理,并提供 `pino.transport` API 来实现自定义传输方式。Pino 的性能优于其他日志记录器,在基准测试中表现出色。此外,Pino 还支持打包工具,例如 webpack 或 esbuild,方便开发者将其集成到项目中。
* [gruntjs/grunt](https://github.com/gruntjs/grunt) JavaScript 任务运行程序。在执行重复性任务(如缩小、编译、单元测试、linting)时,您需要做的工作越少,您的工作就越容易。通过 Gruntfile 配置它后,任务运行器可以为您和您的团队完成大部分日常工作,而工作量基本上为零。Grunt 生态系统非常庞大,而且每天都在增长。有数百个插件可供选择,您可以使用 Grunt 以最少的努力自动执行几乎任何事情。如果有人还没有构建您需要的东西,那么创作自己的 Grunt 插件并将其发布到 npm 是一件轻而易举的事。了解如何开始。
* [beautifier/js-beautify](https://github.com/beautifier/js-beautify) JS Beautifier是一个用于格式化和重新缩进 JavaScript 代码的工具,它可以处理书签、丑陋的 JavaScript 代码、Dean Edward 的打包脚本,以及部分反混淆由 npm 包 javascript-obfuscator 处理的脚本。用户可以在 beautifier.io 网站上尝试使用该工具,并通过 UI调整选项。该项目需要贡献者帮助修复用户界面上的错误以及内部设计和实现上的问题。用户可以通过 npm 或 Python 安装该工具,并使用 `js-beautify` 命令或作为 Node.js 库使用。该工具还可以作为网页库使用,并托管在 cdnjs 和 rawgit 上。
* [libuv/libuv](https://github.com/libuv/libuv) libuv是一个跨平台异步 I/O 支持库,主要用于 Node.js,但也应用于 Luvit、Julia、uvloop 等项目。它提供全功能事件循环(支持 epoll、kqueue、IOCP、event ports)、异步 TCP/UDP 套接字、异步 DNS 解析、异步文件系统操作、文件系统事件、TTY 控制、IPC、子进程、线程池、信号处理、高精度时钟、线程同步原语等功能。libuv 遵循语义化版本控制,并保持跨主要版本稳定 ABI。项目代码遵循 MIT 许可证,文档遵循 CC BY 4.0 许可证。可以通过 GitHub 仓库或官方下载网站获取libuv。
* [winstonjs/winston](https://github.com/winstonjs/winston) Winston是一个简单易用的通用日志库,支持多种传输方式(例如,将日志存储到文件、数据库或控制台)。它允许配置不同的日志级别(例如,错误、警告、信息等),并能灵活地格式化日志输出。通过`winston.createLogger`创建自定义日志器,并添加所需传输方式来实现日志记录,例如将错误日志写入error.log文件,所有日志写入combined.log文件,非生产环境下则输出到控制台。 默认日志器不包含任何传输方式,需自行添加,否则可能导致高内存占用。
* [ekalinin/nodeenv](https://github.com/ekalinin/nodeenv) nodeenv是一个用于创建隔离的 Node.js 环境的工具,它可以为每个项目创建一个独立的 Node.js 环境,避免不同项目之间库的冲突。它还能与 virtualenv(Python 虚拟环境工具)集成,方便在 Python 项目中使用 Node.js。nodeenv 支持从源代码编译安装 Node.js,也可以从预编译包安装,并提供多种选项,例如指定 Node.js 版本、安装 npm 版本、使用镜像源等。用户可以根据需要创建不同的 Node.js 环境,并方便地切换和管理。
* [loiane/javascript-datastructures-algorithms](https://github.com/loiane/javascript-datastructures-algorithms) 这是一个用于教育目的的 JavaScript 和 TypeScript 数据结构和算法集合,包含了 "Learning JavaScript Data Structures and Algorithms" 书籍的第三版源代码,涵盖了数组、栈、队列、链表、集合、字典、递归、树、堆、图、排序和搜索算法等内容,并提供 ES2015+ 版本的算法,新增了数据结构和算法,并包含了可用于浏览器或 Node.js 的数据结构和算法库,以及 Mocha + Chai测试代码和 TypeScript 版本的源代码。
* [blueedgetechno/win11React](https://github.com/blueedgetechno/win11React) Win11React是一个使用 React、CSS 和 JavaScript 等标准 Web 技术构建的开源项目,旨在重现 Windows 11 桌面体验。它提供类似 Windows 11的界面,包括开始菜单、搜索菜单、小部件、桌面、侧边导航、日历视图、窗口捕捉、浏览器、商店、终端、计算器、记事本、VS Code、白板、文件资源管理器、设置、主题和背景等功能。项目还支持多语言,并提供在线体验地址 [win11.blueedge.me](https://win11.blueedge.me)。
* [hemanth/functional-programming-jargon](https://github.com/hemanth/functional-programming-jargon) 该项目提供了一个功能性编程术语表,以简单易懂的方式解释了功能性编程中的各种概念,并使用 JavaScript (ES2015)作为示例语言。该项目还包含对 Fantasy Land 规范的引用,并提供了其他语言版本的翻译,例如中文、西班牙语、葡萄牙语等。项目内容涵盖了函数式编程中的核心概念,例如高阶函数、闭包、柯里化、函数组合、纯函数、副作用、单子、函子等,并提供了详细的解释和示例。
* [reasonml/reason](https://github.com/reasonml/reason) 利用JavaScript和OCaml生态系统的简单,快速和类型的安全代码。OCaml是Caml的继承者,CAML的缩写最初代表Categorical Abstract Machine Language,分类抽象机语言,不过后来,将这个抽象机淘汰掉了。OCaml有一个巨大并强悍的标准库,这使得她可以像Py或者Perl一样可以方便地开发各种应用程序,健壮的模块化与面向对象编程结构又使得她可以胜任大规模软件工程项目。
* [graphql/graphql-js](https://github.com/graphql/graphql-js) GraphQL.js是 GraphQL 的 JavaScript 参考实现,由 Facebook 创建,用于 API 的查询语言。它提供两种主要功能:构建类型 schema 和根据类型 schema 提供查询服务。用户可以定义类型 schema 来映射代码库,并使用 `graphql` 函数执行查询,该函数会验证查询的语法和语义,并返回结果或错误信息。项目还提供了一个 `npm` 分支,用于跟踪最新的代码,并提供实验性功能。
* [xcatliu/typescript-tutorial](https://github.com/xcatliu/typescript-tutorial) 从 JavaScript 程序员的角度总结思考,循序渐进的理解 TypeScript。TypeScript 虽然有官方手册及其非官方中文版,但是它每一章都希望能详尽的描述一个概念,导致前面的章节就会包含很多后面才会学习到的内容,而有些本该一开始就了解的基础知识却在后面才会涉及。如果是初学者,可能需要阅读多次才能理解。所以它更适合用来查阅,而不是学习。
* [ustbhuangyi/vue-analysis](https://github.com/ustbhuangyi/vue-analysis) 该项目是 Vue.js 源码分析的电子书,旨在全面深入地解析 Vue.js的实现原理,帮助学习者更好地理解 Vue.js 的运作机制。项目内容涵盖了 Vue.js 的核心模块,包括响应式系统、模板编译、虚拟 DOM、渲染器等,并结合思维导图和代码示例进行讲解。该项目是慕课网《Vue.js 源码分析》课程的配套资料,提供免费阅读,但鼓励学习者付费支持课程作者。
* [verdaccio/verdaccio](https://github.com/verdaccio/verdaccio) 简单的、无需配置的本地私有 npm 注册表。无需整个数据库即可开始!Verdaccio 开箱即用,拥有自己的微型数据库,并且能够代理其他注册表(例如 npmjs.org),并在此过程中缓存下载的模块。对于那些希望扩展其存储功能的人来说,Verdaccio 支持各种社区制作的插件,以挂接到 Amazon 的 s3、Google Cloud Storage 等服务或创建自己的插件。
* [jspreadsheet/ce](https://github.com/jspreadsheet/ce) Jspreadsheet CE是一个轻量级的纯JavaScript插件,用于创建交互式网页表格和电子表格,兼容其他电子表格软件。它支持从JS数组、JSON、CSV或XLSX文件创建在线表格,并能与Excel进行复制粘贴操作。该插件易于集成第三方插件,自定义列、编辑器及其他功能,并提供多种原生列类型以满足常见需求,是网页数据管理的完整解决方案。
* [lodash/lodash](https://github.com/lodash/lodash) Lodash是一个现代化的JavaScript实用工具库,提供模块化、高性能和额外功能。它简化了数组、数字、对象和字符串等数据的处理,包含迭代、操作和测试值以及创建组合函数等方法,并提供多种构建版本和模块格式,例如核心构建、完整构建以及函数式编程(FP)构建,方便用户根据需求选择和安装,支持npm和浏览器环境。
* [gibbok/typescript-book](https://github.com/gibbok/typescript-book) 简明 TypeScript 书:TypeScript 有效开发的简明指南。免费和开源。《简明 TypeScript 手册》全面而简洁地概述了 TypeScript 的功能。它提供了清晰的解释,涵盖了该语言最新版本的所有方面,从其强大的类型系统到高级功能。无论您是初学者还是经验丰富的开发人员,本书都是增强您对 TypeScript 的理解和熟练程度的宝贵资源。
* [jonschlinkert/gray-matter](https://github.com/jonschlinkert/gray-matter) gray-matter是一个智能的 YAML 前置 matter 解析器,被 metalsmith、Gatsby、Netlify、Assemble、mapbox-gl、phenomic、vuejs vitepress、TinaCMS、Shopify Polaris、Ant Design、Astro、hashicorp、garden、slidev、saber、sourcegraph 等众多项目使用。它简单易用,经过实战检验。默认解析 YAML,但也支持解析 JSON、Coffee、TOML 前置 matter,并支持自定义解析器。
* [piscinajs/piscina](https://github.com/piscinajs/piscina) Piscina是一个快速高效的 Node.js 工作线程池实现,它支持固定任务和可变任务场景,并提供灵活的池大小配置。Piscina 使用高效的线程间通信机制,并支持异步任务跟踪、运行和等待时间统计、取消任务、内存资源限制、CommonJS、ESM 和 TypeScript 等特性。此外,Piscina 还支持自定义任务队列和 Linux 上的 CPU 调度优先级。
* [jamiebuilds/the-super-tiny-compiler](https://github.com/jamiebuilds/the-super-tiny-compiler) 这是一个用 JavaScript 编写的超简化编译器示例,它展示了现代编译器所有主要部分的工作原理。它旨在帮助你了解大多数编译器从头到尾的工作方式。项目包含一个可运行的 JavaScript 文件,你可以在 Glitch 上在线体验它。即使你平时不接触编译器,了解编译器的原理也能帮助你更好地理解很多工具背后的工作机制。
* [faisalman/ua-parser-js](https://github.com/faisalman/ua-parser-js) UAParser.js是一个全面的、紧凑的、最新的同构 JavaScript 库,用于检测用户的浏览器、引擎、操作系统、CPU 和设备类型/型号。它可以在浏览器(客户端)或 node.js(服务器端)运行。该库提供基本的浏览器、引擎、操作系统、CPU 和设备检测功能,并提供更详细的检测功能,包括 PRO 个人版、PRO 企业版和 PRO 企业版。
* [gcanti/io-ts](https://github.com/gcanti/io-ts) io-ts是一个用于 IO 解码/编码的运行时类型系统,它依赖于fp-ts 库。io-ts 提供了稳定的类型系统,并包含一些实验性的模块,例如 Decoder、Encoder、Codec、Eq 和 Schema。实验性模块独立于稳定模块,且向后不兼容。io-ts的稳定模块文档可以在 index.md 中找到,而实验性模块的文档则分别在各自的 .md 文件中。
* [imba/imba](https://github.com/imba/imba) Imba 是一种友好的 Web 全栈编程语言,可编译为高性能 JavaScript。它具有对定义、扩展、子类化、实例化和渲染 DOM 节点的语言级支持。Imba 的语法最小、美观,并且包含许多巧妙的功能。它以一种强大的方式结合了 logic、markup 和 styling。更少的击键和更少的切换文件意味着您将能够快速构建内容。
* [jquense/yup](https://github.com/jquense/yup) Yup是一个用于运行时值解析和验证的模式构建器,它提供简洁且强大的模式接口,支持TypeScript,内置异步验证,并可扩展自定义方法。通过链式方法构建模式,实现对输入值的解析和断言,支持严格模式验证,并提供丰富的错误细节以方便调试,同时允许自定义错误信息和国际化。
* [rustwasm/wasm-pack](https://github.com/rustwasm/wasm-pack) 该工具旨在成为构建和使用 rust 生成的 WebAssembly 的一站式商店,您希望在浏览器或Node.js中与 JavaScript 进行互操作。 wasm-pack 帮助您构建 rust 生成的 WebAssembly 包,您可以将其发布到 npm 注册表,或者以其他方式与您已使用的工作流(例如 webpack)中的任何 javascript 包一起使用。
* [vuejs/vue](https://github.com/vuejs/vue) 这是 Vue 2 的存储库。一个用于构建用户界面的渐进式框架。它从头开始设计为可增量采用,并且可以根据不同的用例在库和框架之间轻松扩展。它由一个仅关注视图层的平易近人的核心库和一个由支持库组成的生态系统组成,可帮助您解决大型单页应用程序中的复杂性。
* [cesanta/elk](https://github.com/cesanta/elk) 用于嵌入式系统的低占用空间 JavaScript 引擎。它实现了 ES6 的一个小但可用的子集。它专为微控制器开发而设计。Elk 不是完全用 C/C++ 编写固件代码,而是允许将 JavaScript 自定义添加到用 C 开发的固件中 - 这是让客户扩展/自定义设备功能的好方法。
* [lerna/lerna](https://github.com/lerna/lerna) Lerna是一个快速、现代的构建系统,用于管理和发布来自同一仓库的多个JavaScript/TypeScript包。它由Nrwl维护,提供文档、教程和社区支持,帮助开发者高效管理和发布多个npm包。Lerna的特色在于其速度和现代化的构建流程,简化了多包管理的复杂性。
* [lint-staged/lint-staged](https://github.com/lint-staged/lint-staged) 在 git 暂存文件上运行 linters,在提交代码之前运行 Linting 更有意义。通过这样做,您可以确保没有错误进入存储库并强制执行代码样式。但是,在整个项目上运行 lint 过程很慢,并且 linting 结果可能无关紧要。最终,您只想删除将要提交的文件。
* [TypeStrong/ts-node](https://github.com/TypeStrong/ts-node) 用 node.js 来执行 TypeScript,具有源映射和本机 ESM 支持。它JIT将TypeScript转换为JavaScript,使您能够直接在Node.js上执行TypeScript,而无需预编译。这是通过挂接节点的模块加载 API 来实现的,使其能够与其他Node.js工具和库无缝使用。
* [jestjs/jest](https://github.com/jestjs/jest) 令人愉快的 JavaScript 测试,全面的 JavaScript 测试解决方案。开箱即用,适用于大多数 JavaScript 项目。快速、交互式的观看模式仅运行与更改文件相关的测试文件。捕获大型对象的快照,以简化测试并分析它们如何随时间变化。
* [chakra-core/ChakraCore](https://github.com/chakra-core/ChakraCore) 一个带有 C API 的 JavaScript 引擎,您可以使用它向任何 C 或 C 兼容项目添加对 JavaScript 的支持。它可以在Linux macOS和Windows上为x64处理器编译。x86 和 ARM 仅适用于 Win。未来的目标是在Linux上支持x86和ARM处理器,在macOS上支持ARM。
* [lydiahallie/javascript-questions](https://github.com/lydiahallie/javascript-questions) 这是一个包含大量JavaScript难题及详解的GitHub项目,涵盖从基础到高级的知识点,适合测试JavaScript技能、巩固知识或准备编码面试。该项目定期更新,答案以折叠形式呈现,方便学习者使用。项目已提供多种语言版本。
* [webpack/webpack](https://github.com/webpack/webpack) JavaScript和相关资源的捆绑器。将许多模块打包到几个捆绑资产中。代码拆分允许按需加载应用程序的各个部分。通过“加载器”,模块可以是CommonJs,AMD,ES6模块,CSS,Images,JSON,Coffeescript,LESS,...和你的定制东西。
* [josdejong/mathjs](https://github.com/josdejong/mathjs) JS 和 Node.js 的广泛数学库。具有灵活的表达式解析器,支持符号计算,带有大量内置函数和常量,并提供集成解决方案来处理不同的数据类型,如数字、大数、复数、分数、单位和矩阵。功能强大且易于使用。
* [NativeScript/NativeScript](https://github.com/NativeScript/NativeScript) 通过原生平台 API 为 JavaScript 提供支持。世界上最好的(TypeScript,Swift,Objective C,Kotlin,Java)。使用你喜欢的Angular,Capacitor,Ionic,React,Solid,Svelte,Vue:SwiftUI,Jetpack Compose,Flutter,你的名字兼容。
* [v8/v8](https://github.com/v8/v8) V8 是 Google 的开源 JavaScript 引擎。V8 实现了 ECMA-262 中指定的 ECMAScript。V8 实现了 ECMA-262 中指定的 ECMAScript。V8是用C++编写的,用于谷歌的开源浏览器谷歌浏览器。V8 实现了 ECMA-262 中指定的 ECMAScript。
* [svaarala/duktape](https://github.com/svaarala/duktape) 可嵌入的Js引擎,专注于可移植性和紧凑的占地面积.Duktape 很容易集成到 C/C++ 项目中:将 duktape.h 和 duk_config.h 添加到 duktape.c 您的构建中,并使用 Duktape API 从 C 代码调用 ECMAScript 函数,反之亦然。
* [dudykr/stc](https://github.com/dudykr/stc) stc是一个用 Rust 编写的快速 TypeScript 类型检查器,目前处于早期开发阶段,欢迎贡献代码或提供资金支持。该项目旨在提供高效的 TypeScript 类型检查,并提供详细的贡献指南和赞助信息。
* [hop-protocol/hop](https://github.com/hop-protocol/hop) HopProtocol是一个跨链桥接协议的单体仓库,包含V1和V2两个版本的SDK和节点,使用TypeScript编写,并提供React前端UI;通过PNPM管理包和工作区;开发者可通过提供的SDK和文档轻松集成和使用。
* [babel/babel](https://github.com/babel/babel) 用于编写下一代 JavaScript 的编译器。一个帮助你用最新版本的 JavaScript 编写代码的工具。当您支持的环境本身不支持某些功能时,Babel 将帮助您将这些功能编译为受支持的版本。
* [scala-js/scala-js](https://github.com/scala-js/scala-js) Scala.js是一个将Scala代码编译成JavaScript的编译器,它允许开发者使用Scala编写前端JavaScript代码,并利用Scala的强大功能和类型系统,项目使用Apache License Version 2.0许可证。
* [oven-sh/bun](https://github.com/oven-sh/bun) 多合一快速且易于使用的工具。 不需要 1,000 个用于开发的 node_modules,你只需要 bun。令人难以置信的快速 JavaScript 运行时、捆绑器、测试运行器和包管理器 - 合二为一
* [javascript-tutorial/zh.javascript.info](https://github.com/javascript-tutorial/zh.javascript.info) 现代 JavaScript 教程(The Modern JavaScript Tutorial),以最新的 ECMAScript 规范为基准,通过简单但足够详细的内容,为你讲解从基础到高阶的 JavaScript 相关知识。
* [prettier/prettier](https://github.com/prettier/prettier) 固执己见的代码格式化程序。它通过解析代码并使用自己的规则重新打印代码来强制执行一致的样式,考虑了最大行长度,并在必要时包装代码。
* [vercel/next.js](https://github.com/vercel/next.js) Next.js 被一些世界上最大的公司使用,能够通过最新的 React 扩展来创建全栈 Web 应用程序,并集成强大的基于 Rust 的 Js 工具以实现最快的构建。
* [rescript-lang/rescript-compiler](https://github.com/rescript-lang/rescript-compiler) 一种健壮的类型语言,可以编译成高效且人类可读的 JavaScript。它带有一个闪电般的快速编译器工具链,可扩展到任何代码库大小。
* [mrdoob/three.js](https://github.com/mrdoob/three.js) 易于使用、轻量级、跨浏览器的通用 3D 库。当前仅包含 WebGL 渲染器,但 WebGPU(实验性)、SVG 和 CSS3D 渲染器也可作为插件使用。
* [Taritsyn/JavaScriptEngineSwitcher](https://github.com/Taritsyn/JavaScriptEngineSwitcher) JavaScript 引擎切换器确定了访问流行 JavaScript 引擎基本功能的统一接口。此库允许您快速轻松地切换到使用另一个 JavaScript 引擎。
* [jerryscript-project/jerryscript](https://github.com/jerryscript-project/jerryscript) 用于物联网的超轻量级 JS 引擎。适用于资源受限的设备,如微控制器。它可以在 RAM 小于 64 KB 且闪存小于 200 KB 的设备上运行。
* [fibjs/fibjs](https://github.com/fibjs/fibjs) 基于 Chrome 的 V8 JavaScript 引擎构建的 JavaScript 运行时。fibjs使用 fibers(纤程)-switch、同步式和非阻塞IO模型来构建可扩展的系统。
* [krausest/js-framework-benchmark](https://github.com/krausest/js-framework-benchmark) 一些流行的 javascript 框架的性能比较,基准测试创建一个包含随机条目的大表,并测量各种操作的时间,包括渲染持续时间。
* [jamiebuilds/babel-handbook](https://github.com/jamiebuilds/babel-handbook) 通用的多用途 JavaScript 编译器。通过 Babel 你可以使用(并创建)下一代的 JavaScript,以及下一代的 JavaScript 工具。
* [nestjs/nest](https://github.com/nestjs/nest) 用于在 TypeScript 和 JavaScript(ES6、ES7、ES8)之上构建高效、可扩展和企业级服务器端应用程序的渐进式 Node.js 框架
* [knex/knex](https://github.com/knex/knex) 适用于 PostgreSQL、MySQL、CockroachDB、SQL Server、SQLite3 和 Oracle 的查询构建器,旨在灵活、可移植且使用起来很有趣。
* [ruanyf/jstraining](https://github.com/ruanyf/jstraining) 全栈工程师培训材料,帮助学习者掌握 JavaScript 全栈开发的基本知识,承担简单 Web 应用的前后端开发。
* [vercel/turbo](https://github.com/vercel/turbo) 增量打包器和构建系统针对 JavaScript 和 TypeScript 进行了优化,用 Rust 编写——包括 Turbopack 和 Turborepo。
* [emscripten-core/emscripten](https://github.com/emscripten-core/emscripten) 使用 LLVM 和 Binaryen 将 C 和 C++ 编译为 WebAssembly。Emscripten 输出可以在 Web、Node.js 和 wasm 运行时中运行。
* [mqyqingfeng/Blog](https://github.com/mqyqingfeng/Blog) 冴羽写博客的地方,预计写四个系列:JavaScript深入系列、JavaScript专题系列、ES6系列、React系列。
* [debug-js/debug](https://github.com/debug-js/debug) 一个以 Node.js 核心的调试技术为模型的小型 JavaScript 调试实用程序。适用于 Node.js 和 Web 浏览器
* [type-challenges/type-challenges](https://github.com/type-challenges/type-challenges) TypeScript 类型挑战集合,高质量的类型可以帮助提高项目的可维护性,同时避免潜在的错误。
* [vercel/pkg](https://github.com/vercel/pkg) 将 Node.js 项目打包到可执行文件中,该可执行文件甚至可以在未安装 Node.js 的设备上运行。
* [purescript/purescript](https://github.com/purescript/purescript) 一种小型的强类型编程语言,具有表达类型,编译为 JavaScript,由 Haskell 编写并受其启发。
* [javascript-obfuscator/javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator) 一款功能强大的免费 JavaScript 混淆器,包含各种功能,可为您的源代码提供保护。
* [twbs/bootstrap](https://github.com/twbs/bootstrap) 最流行的 HTML、CSS 和 JavaScript 框架,用于在 Web 上开发响应式、移动优先的项目。
* [shadcn/taxonomy](https://github.com/shadcn/taxonomy) 使用新路由器、服务器组件和 Next.js 13 中的所有新功能构建的开源应用程序。
* [quickjs-zh/QuickJS](https://github.com/quickjs-zh/QuickJS) 小型并且可嵌入的Js引擎,支持ES2020规范,包括模块,异步生成器和代理器。
* [GoogleChromeLabs/jsvu](https://github.com/GoogleChromeLabs/jsvu) jsvu 可以轻松安装各种 JavaScript 引擎的最新版本,而无需从源代码编译它们。
* [Asabeneh/30-Days-Of-JavaScript](https://github.com/Asabeneh/30-Days-Of-JavaScript) 30 天的 JavaScript 编程挑战是在 30 天内学习 JavaScript 编程语言的分步指南。
* [nvm-sh/nvm](https://github.com/nvm-sh/nvm) node版本管理器 - 符合 POSIX 标准的 bash 脚本,用于管理多个活动node.js版本
* [coreybutler/nvm-windows](https://github.com/coreybutler/nvm-windows) 适用于 Windows 的node.js版本管理实用程序。具有讽刺意味的是,用GO写的。
* [vuejs/core](https://github.com/vuejs/core) 一个渐进的、可增量采用的 JavaScript 框架,用于在 Web 上构建 UI。
* [boa-dev/boa](https://github.com/boa-dev/boa) 用Rust编写的可嵌入的实验性Js引擎。目前,它支持某些语言。
* [gvergnaud/ts-pattern](https://github.com/gvergnaud/ts-pattern) 用于 TypeScript 的详尽模式匹配库,具有智能类型推理功能。
* [wasp-lang/wasp](https://github.com/wasp-lang/wasp) 使用 React 和 Node.js 开发全栈 Web 应用程序的最快方法。
* [microsoft/TypeScript](https://github.com/microsoft/TypeScript) JavaScript 的一个超集,它编译为干净的 JavaScript 输出。
* [cheeriojs/cheerio](https://github.com/cheeriojs/cheerio) 用于解析和操作 HTML 和 XML 的快速、灵活且优雅的库。
* [cuixiaorui/mini-vue](https://github.com/cuixiaorui/mini-vue) 实现最简 vue3 模型,帮助你更高效地学习 vue3 源代码
* [wangdoc/typescript-tutorial](https://github.com/wangdoc/typescript-tutorial) TypeScript 教程,介绍基本概念和用法,面向初学者。
* [napi-rs/napi-rs](https://github.com/napi-rs/napi-rs) 通过 Node-API 在 Rust 中构建编译Node.js附加组件的框架
* [standard/standard](https://github.com/standard/standard) JavaScript 风格指南,带有 linter 和自动代码修复程序
* [leonardomso/33-js-concepts:](https://github.com/leonardomso/33-js-concepts) 每个开发人员都应该知道的 33 个 JavaScript 概念。
* [mbasso/awesome-wasm](https://github.com/mbasso/awesome-wasm) 关于 WebAssembly 生态系统的精彩事物的精选列表。
* [getify/You-Dont-Know-JS](https://github.com/getify/You-Dont-Know-JS) 一系列深入探讨 JavaScript 语言核心机制的书籍。
* [axios/axios](https://github.com/axios/axios) 用于浏览器和 node.js 的基于 Promise 的 HTTP 客户端
* [juliangarnier/anime](https://github.com/juliangarnier/anime) 轻量级的JS动画库,具有简单但功能强大的 API。
* [kaluma-project/kaluma](https://github.com/kaluma-project/kaluma) RP2040(Raspberry Pi Pico) 的微型 JavaScript 运行时
* [30-seconds/30-seconds-of-code](https://github.com/30-seconds/30-seconds-of-code) 满足您所有开发需求的简短 JavaScript 代码片段
* [colinhacks/zod](https://github.com/colinhacks/zod) 使用静态类型推理进行 TypeScript 优先架构验证
* [showdownjs/showdown](https://github.com/showdownjs/showdown) Js 编写的双向 Markdown 到 HTML 到 Markdown 转换器
* [saghul/txiki.js](https://github.com/saghul/txiki.js) 使用 QuickJS、libuv 构建的微型 JavaScript 运行时
* [mbeaudru/modern-js-cheatsheet](https://github.com/mbeaudru/modern-js-cheatsheet) 您在现代项目中经常遇到的 JS 知识备忘单。
* [Schniz/fnm](https://github.com/Schniz/fnm) 快速简单的Node.js版本管理器,内置于 Rust 中
* [xgrommx/awesome-redux](https://github.com/xgrommx/awesome-redux) JS 应用的状态容器,提供可预测的状态管理
* [glideapps/quicktype](https://github.com/glideapps/quicktype) 从 JSON、Schema 和 GraphQL 生成类型和转换器
* [parallax/jsPDF](https://github.com/parallax/jsPDF) 面向所有人的客户端 JavaScript PDF 生成。
* [sorrycc/awesome-javascript](https://github.com/sorrycc/awesome-javascript) 很棒的浏览器端 JavaScript 库、资源。
* [DefinitelyTyped/DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped) 高质量 TypeScript 类型定义的存储库。
* [eslint/eslint](https://github.com/eslint/eslint) 查找并修复 JavaScript 代码中的问题。
* [denoland/deno](https://github.com/denoland/deno) JavaScript 和 TypeScript 的现代运行时。
* [vitejs/awesome-vite](https://github.com/vitejs/awesome-vite) 与 Vite 相关的精彩事物的精选列表
* [rwaldron/idiomatic.js](https://github.com/rwaldron/idiomatic.js) 编写一致、惯用的 JavaScript 的原则
* [AssemblyScript/assemblyscript](https://github.com/AssemblyScript/assemblyscript) 类似 TypeScript 的 WebAssembly 语言。
* [chartjs/Chart.js](https://github.com/chartjs/Chart.js) 使用 canvas 标签的简单 HTML5 图表
* [ryanmcdermott/clean-code-javascript](https://github.com/ryanmcdermott/clean-code-javascript) 适用于 JavaScript 的干净代码概念
* [pnpm/pnpm](https://github.com/pnpm/pnpm) 快速、节省磁盘空间的包管理器
* [zloirock/core-js](https://github.com/zloirock/core-js) 用于 JavaScript 的模块化标准库。
* [videojs/video.js](https://github.com/videojs/video.js) 视频.js - 开源HTML5视频播放器
* [bytecodealliance/wasmtime](https://github.com/bytecodealliance/wasmtime) 快速安全的 WebAssembly 运行时
* [sindresorhus/awesome-nodejs](https://github.com/sindresorhus/awesome-nodejs) 令人愉快的 Node.js 包和资源
* [slidevjs/slidev](https://github.com/slidevjs/slidev) 面向开发人员的演示幻灯片
* [tj/commander.js](https://github.com/tj/commander.js) node.js命令行界面变得简单
* [sahat/hackathon-starter](https://github.com/sahat/hackathon-starter) node.js Web 应用程序的样板
* [ds300/patch-package](https://github.com/ds300/patch-package) 立即修复损坏的node模块
* [nodejs/node-gyp](https://github.com/nodejs/node-gyp) Node.js原生插件构建工具
* [ramda/ramda](https://github.com/ramda/ramda) 实用的函数式 Javascript
* [nodejs/node](https://github.com/nodejs/node) Node.js JavaScript 运行时
* [goldbergyoni/nodebestpractices](https://github.com/goldbergyoni/nodebestpractices) node.js最佳实践列表
* [gpujs/gpu.js](https://github.com/gpujs/gpu.js) GPU 加速的 JavaScript
* [jquery/jquery](https://github.com/jquery/jquery) jQuery JavaScript 库
* [MostlyAdequate/mostly-adequate-guide](https://github.com/MostlyAdequate/mostly-adequate-guide) javascript指南
## 前端开发框架及项目
### React工具库
* [infernojs/inferno](https://github.com/infernojs/inferno) 速度极快、类似 React 的 JavaScript 库,用于构建现代用户界面。InfernoJS 项目的主要目标是为 Web 应用程序提供尽可能快的运行时性能。Inferno 擅长渲染实时数据视图或大型 DOM 树。性能是通过多种优化实现的,例如:Inferno 自己的 JSX 编译器创建单态 createVNode 调用,而不是 createElement 调用。 优化应用程序的运行时性能。Inferno 的 diff 过程使用按位标志来记住对象的形状。仅在需要时对子节点进行规范化。可以在编译时使用特殊的 JSX 标志来优化应用程序级别的运行时性能。许多微优化。特征:组件驱动 + 单向数据流架构;类似 React 的 API、概念和组件生命周期事件;部分合成事件系统,规范化事件以获得更好的跨浏览器支持;Inferno 的 linkEvent 功能消除了使用箭头函数或绑定事件回调的需要;使用 inferno-server 在客户端和服务器上进行同构渲染;与 React 和 Prereact 不同,Inferno 在功能组件上具有生命周期事件;与 Preact 和其他类似 React 的库不同,Inferno 具有 input/select/textarea 元素的受控组件;可以使用 createPortal - API 在组件的当前 html 层次结构之外呈现组件;支持没有任何 polyfill 的旧浏览器;defaultHooks 的 Functional 组件,这样可以避免每次使用重新定义生命周期事件;Inferno 支持使用 string <div style=”background-color: red”></div> 或 object literal syntax <div style={{”background-color”: ”red”}}></div> 设置样式。有关 camelCase 语法支持,请参阅 inferno-compat;componentDidAppear、componentWillDisappear 和 componentWillMove (v8) - 类和函数组件回调,以简化动画工作,请参阅 inferno-animation 包。
* [wix/Detox](https://github.com/wix/Detox) 适用于移动应用程序的灰盒端到端测试和自动化框架。排毒测试是什么样的?这是对登录屏幕的测试,它像实际用户一样在设备/模拟器上运行。高速原生移动开发要求我们采用持续集成工作流程,这意味着我们必须大幅降低对手动 QA 的依赖。Detox 测试您的移动应用程序在真实设备/模拟器中运行时,就像真实用户一样与之交互。在移动设备上进行自动化测试最困难的部分是测试金字塔的顶端 - E2E。E2E 测试的核心问题是片状 - 测试通常不是确定性的。我们相信,直面片状问题的唯一方法是从黑盒测试转向灰盒测试。这就是排毒发挥作用的地方。跨平台:用JavaScript为React Native应用程序(Android和iOS)编写端到端测试。可调试:现代 async-await API 允许异步测试中的断点按预期工作。自动同步:通过监控应用程序中的异步操作,从核心上阻止不稳定。专为 CI 打造:在 Travis CI、Circle CI 或 Jenkins 等 CI 平台上执行 E2E 测试,无需担心。在设备上运行:通过在设备/模拟器上测试您的应用程序,就像真实用户一样(iOS 上尚不支持)来增强发布信心。测试运行程序不可知:Detox 提供了一组 API,可用于任何没有 API 的测试运行程序。它带有开箱即用的 Jest 集成。
* [shuding/nextra](https://github.com/shuding/nextra) 简单、强大且灵活的网站生成框架,包含您喜爱的 Next.js 的一切。Nextra 会自动转换 Markdown 链接和图像,以便在可能的情况下使用Next.js Link和Next.js Image。没有慢速导航或布局偏移。由Shiki 提供支持的高性能且可靠的构建时语法高亮显示。将你的页面文件放在特定于每个语言环境的文件夹中,Nextra 和 Next.js 将为你处理其余的工作。MDX 3允许您在 Markdown 中使用组件,自 v1 以来性能大幅提升。Nextra 在构建时自动为您的内容编制索引,并通过FlexSearch 执行非常快速的全文搜索。Nextra 遵循系统选项,例如 Increase Contrast 和 Reduce Motion。您可以将 Next.js 的混合渲染能力用于 Markdown 内容,包括SSG、SSR 和ISR。SEO / RTL 布局 / 可插拔主题 / 内置组件 / 上次 Git 编辑时间 / 多文档...
* [facebook/react](https://github.com/facebook/react) Web 和本机用户界面的库。用于构建用户界面的 JavaScript 库。`声明式`:React 使创建交互式 UI 变得轻松。为应用程序中的每个状态设计简单的视图,React 将在数据更改时有效地更新和渲染正确的组件。声明性视图使代码更可预测、更易于理解且更易于调试。`基于组件`:构建管理其自身状态的封装组件,然后组合它们以创建复杂的 UI。由于组件逻辑是用 JavaScript 而不是模板编写的,因此您可以轻松地通过应用传递丰富的数据,并将状态排除在 DOM 之外。`一次学习,随处编写`:我们不会对您的技术堆栈的其余部分做出假设,因此您可以在 React 中开发新功能,而无需重写现有代码。React 还可以使用 Node 在服务器上渲染,并使用 React Native 为移动应用程序提供支持。
* [projectstorm/react-diagrams](https://github.com/projectstorm/react-diagrams) 用 React 编写的超级简单、严肃的图表库,可以正常工作,灵感来自Blender、Labview和虚幻引擎。该库完全用 Typescript 和 React 编写的现代代码库利用强大的泛型、先进的软件工程原理,并分为多个模块。整个库(包括其核心)是可破解和可扩展的,可以扩展、重新布线和重新组装成完全不同的软件,以满足您自己的软件需求。HTML 节点作为一等公民,该库最初是为了表示高级动态节点而编写的,由于复杂的输入要求 ux 要求,这些节点很难表示为 SVG。该库专为流程而设计,面向希望在运行时重新连接程序并希望使其软件更具动态性的软件工程师。提供的默认值的快速图表编辑为尽可能快地编辑图表提供了最高优先级。
* [insin/nwb](https://github.com/insin/nwb) nwb是一个用于 React、Preact、Inferno 和原生 JavaScript 应用、React 库以及其他 Web npm 模块的工具包,无需配置(直到你需要它)。它提供零配置开发环境,并支持配置和插件模块,以添加额外的功能(例如 Sass 支持)。使用 `nwb new react-app` 创建 React 应用骨架,使用 `nwb new preact-app` 创建 Preact 应用骨架,使用 `nwb new inferno-app`创建 Inferno 应用骨架,使用 `nwb new web-app` 创建原生 JavaScript 应用骨架。使用 `nwb new react-component` 创建 React 组件或库,并使用 `npm start` 运行演示应用进行开发。
* [NervJS/nerv](https://github.com/NervJS/nerv) NervJS 是一个与 React 16 API 完全兼容的虚拟 DOM 库,提供比 React 更高的性能、更小的包体积和更好的浏览器兼容性,支持 IE8。NervJS 在京东首页和 TOPLIFE 网站等项目中得到应用,并提供 Redux 绑定、开发工具、服务端渲染、测试工具等扩展包。NervJS 支持 React 16 的新特性,如错误边界、传送门、自定义 DOM 属性等。开发者可以通过CodeSandbox Playground 快速上手,并使用 npm 或 yarn 安装。NervJS 提供命名和默认导出,方便开发者使用。
* [yang991178/fluent-reader](https://github.com/yang991178/fluent-reader) FluentReader是一款现代化的桌面RSS阅读器,使用Electron、React和Fluent UI构建,拥有现代化的Fluent Design风格界面和完整的深色模式支持。它支持本地阅读或与兼容Fever或Google Reader API的自托管服务同步,并能与Inoreader、Feedbin等多种RSS服务同步,提供OPML导入导出、全文阅读、正则表达式搜索、快捷键等功能,还支持后台获取文章并发送推送通知。用户可在MicrosoftStore、Mac App Store或GitHub releases下载,移动端版本也已上线。
* [mrousavy/react-native-mmkv](https://github.com/mrousavy/react-native-mmkv) ⚡️ React Native 的最快键值存储,比AsyncStorage快约30倍。MMKV是由WeChat开发的高效小型移动键值存储框架,react-native-mmkv是通过快速直接的JS绑定到原生C++库来在React Native应用中使用MMKV的库。支持字符串、布尔值、数字和ArrayBuffers的获取和设置,完全同步调用,支持加密存储、多实例存储、自定义存储位置和高性能。react-native-mmkv V3是纯C++ TurboModule,需要启用新架构(react-native 0.75+),支持iOS、Android和Web。
* [revery-ui/revery](https://github.com/revery-ui/revery) 原生、高性能、跨平台桌面应用程序 - 使用 Reason,Revery 有点像超快的原生代码 Electron - 捆绑了类似 React/Redux 的库和快速构建系统,Revery 是用 reasonml 构建的,reasonml 是 OCaml 之上的类似 javascript 的语法,这意味着 JS 开发人员可以使用该语言。您的应用程序使用 Reason/OCaml 工具链编译为原生代码 - 具有与原生 C 代码相当的即时启动和性能。Revery 具有平台加速、GPU 加速的渲染功能。编译器本身也很快!
* [Dhravya/cloudflare-saas-stack](https://github.com/Dhravya/cloudflare-saas-stack) 这是一个使用Next.js、Tailwind CSS等技术构建的Cloudflare SaaS应用启动套件,它集成了身份验证(NextAuth)、数据库(Cloudflare D1和Drizzle ORM)、样式和存储等功能,方便开发者快速构建和部署可扩展的SaaS产品到Cloudflare Pages,并提供本地开发和Cloudflare集成部署方案,其开发流程包括安装依赖、运行开发服务器以及使用Wrangler进行构建和部署,项目还包含数据库迁移功能,支持本地SQLite和远程Cloudflare D1数据库。
* [wojtekmaj/react-pdf](https://github.com/wojtekmaj/react-pdf) React-PDF 是一个库,它允许您在 React 应用程序中像显示图像一样轻松地显示 PDF 文档。它支持各种文件格式,包括 URL、base64 内容和 Uint8Arrays。您可以使用 `npm install react-pdf` 或 `yarn add react-pdf` 安装它。要使用它,请导入 `Document` 组件并将其嵌入到您的 React 代码中,并提供 PDF 文件作为 prop。然后,您可以在 `Document` 中使用组件来呈现单个页面。该库与现代浏览器兼容,需要 React 16.8 或更高版本。
* [wojtekmaj/react-date-picker](https://github.com/wojtekmaj/react-date-picker) react-date-picker是一个用于React应用的日期选择器组件,支持选择日期、月份、年份甚至年代,几乎支持所有语言,无需moment.js。安装方法:`npm install react-date-picker` 或 `yarn add react-date-picker`,使用方式简单,通过`u003cDatePicker/u003e`组件和`onChange`属性即可实现日期选择功能,并提供在线演示和与时间选择器、日期时间选择器的集成方案。注意:该组件依赖于现代浏览器技术,不支持旧版浏览器。
* [react-native-image-picker/react-native-image-picker](https://github.com/react-native-image-picker/react-native-image-picker) react-native-image-picker 是一个 React Native 模块,允许你使用原生 UI 从设备库或直接从相机选择媒体。它支持从相册选择图片或视频,以及使用相机拍照或录像。该模块提供了 `launchCamera` 和 `launchImageLibrary` 两个方法,分别用于启动相机和图片库。你可以通过配置 `options` 参数来控制选择媒体的类型、大小等。该模块还提供了 `The Response Object`,用于接收选择结果,包含媒体路径、尺寸等信息。
* [jpuri/react-draft-wysiwyg](https://github.com/jpuri/react-draft-wysiwyg) react-draft-wysiwyg是一个基于ReactJS和DraftJS的所见即所得(WYSIWYG)富文本编辑器,提供可配置工具栏(支持自定义控件、样式和图标)、多种文本样式和块类型支持(包括内联样式、标题、列表、链接等)、图片和嵌入链接支持、撤销/重做功能、多种内容格式转换(HTML、JSON、Markdown)以及国际化支持,可作为受控或不受控的React组件使用,项目地址:https://jpuri.github.io/react-draft-wysiwyg。
* [uber/react-digraph](https://github.com/uber/react-digraph) react-digraph是一个React组件库,用于轻松创建有向图编辑器,无需实现任何SVG绘图或事件处理逻辑。它支持节点和边的多选功能(通过Ctrl-Shift-鼠标事件),并提供丰富的回调函数(如`onCreateNode`、`onCreateEdge`等)用于自定义图编辑操作。 版本8.0.0引入了重大更改,包括合并onSelectNode/onSelectEdge为onSelect函数,并使用SelectionT对象管理选中节点和边。 需要安装react和react-dom作为依赖。
* [diegomura/react-pdf](https://github.com/diegomura/react-pdf) `react-pdf` 是一个基于 React 的库,用于在浏览器和服务器端创建 PDF 文件。它允许你使用 React 组件来构建 PDF 内容,并将其渲染成 PDF 文件。你可以使用 `PDFViewer` 组件在浏览器中直接渲染 PDF,或者使用 `ReactPDF.render` 方法将 PDF保存到文件。该项目提供了一些基本组件,例如 `Document`、`Page`、`Text`、`View` 和 `StyleSheet`,用于创建 PDF 内容。你也可以使用自定义组件来扩展 PDF 的功能。
* [clauderic/dnd-kit](https://github.com/clauderic/dnd-kit) dnd-kit是一个轻量级、高性能、易访问且可扩展的React拖放工具包,它基于React Hooks(`useDraggable`和`useDroppable`)构建,无需重构应用或添加额外DOM节点。dnd-kit支持多种用例(列表、网格、嵌套上下文等),具有自定义碰撞检测算法、多种激活器、拖动覆盖层等特性,并内置对多种输入方式(指针、鼠标、触摸和键盘)以及辅助功能的支持,其核心库大小约为10kb,无外部依赖。
* [downshift-js/downshift](https://github.com/downshift-js/downshift) Downshift是一个用于构建简单、灵活、符合WAI-ARIA规范的React自动完成、组合框或下拉选择组件的React Hooks库。它提供`useSelect`、`useCombobox`和`useMultipleSelection`等Hooks,简化了构建无障碍组件的流程,并支持最新的ARIA组合框模式。此外,Downshift还提供一个`Downshift`组件(使用render prop),但推荐使用更新的Hooks。 该库旨在解决构建易访问且灵活的自动完成和选择组件的难题。
* [web-infra-dev/modern.js](https://github.com/web-infra-dev/modern.js) Modern.js是字节跳动开源的现代化 Web 工程体系,包含 Modern.js框架和 Modern.js 模块两部分。Modern.js 框架是一个渐进式 React 框架,用于 Web 开发;Modern.js 模块则提供强大的 npm 包开发解决方案。Modern.js 生态系统包含Rspack、Rsbuild、Rspress、Garfish、Reduck、SWC 插件等工具和库,并提供丰富的示例和文档。Modern.js 致力于提升 Web 开发效率和体验,并持续迭代更新,欢迎参与贡献。
* [nicoalbanese/kirimase](https://github.com/nicoalbanese/kirimase) Kirimase是一个命令行工具,用于加速构建全栈Next.js应用。它通过快速集成包和使用最佳实践搭建应用资源来提升开发效率。其主要功能包括初始化和配置必要的包,以及从命令行生成模型、视图和控制器。Kirimase支持多种数据库ORM(Drizzle-ORM和Prisma)、身份验证方案(Auth.js、Clerk、Lucia和Kinde)等,并提供相应的代码生成和配置。目前项目正在计划重写,仅修复严重bug。
* [preactjs/preact](https://github.com/preactjs/preact) 具有相同现代 API 的快速 3kB React 替代品。组件和虚拟 DOM。虚拟 DOM 组件的所有功能,无开销;熟悉的 React API 和模式:ES6 类、钩子和功能组件;通过简单的 preact/compat 别名实现广泛的 React 兼容性;您需要的一切:JSX、VDOM、DevTools、HMR、SSR;高度优化的差异算法和来自服务器端渲染的无缝水化;支持所有现代浏览器和 IE11;使用可插拔调度程序进行透明异步渲染。
* [ramonszo/zuck.js](https://github.com/ramonszo/zuck.js) zuck.js是一个 JavaScript 库,可以让你在任何地方添加类似于 Facebook Stories 的功能。它可以从任何数据源(如 JSON、Firebase 等)读取故事,并自动生成类似于 Facebook、Instagram、Snapchat 等平台的故事界面。该库支持自定义 CSS 主题、手势操作、自定义事件和模板,并提供简单易用的 API 来管理故事时间线。它还支持 3D 立方体效果、React 和 RTL,并提供 TypeScript 类型定义。
* [appbaseio/reactivesearch](https://github.com/appbaseio/reactivesearch) ReactiveSearch是一个用于React和Vue的UI组件库,用于构建与Elasticsearch、OpenSearch、Solr和MongoDB交互的搜索界面。它提供超过20个UI组件,包括列表、范围滑块、搜索UI、结果显示和图表等,并支持将现有UI组件集成到库中。组件通过应用过滤器或搜索索引来实现搜索和过滤功能,例如`SingleList`组件应用精确匹配过滤器。 该项目还提供React Native和Flutter的替代方案Searchbox。
* [nodegui/react-nodegui](https://github.com/nodegui/react-nodegui) React NodeGUI是一个使用 React 构建高性能、原生、跨平台桌面应用程序的框架,它不再维护,但可供开发者自行维护。它基于 React和 Qt5,比 Electron 等基于 Chromium 的解决方案更节省 CPU 和内存。React NodeGUI 实际上是 NodeGUI 的 React 渲染器,提供完整的 Node.js API 支持,并支持 CSS 样式和 Flexbox 布局。它还支持原生小部件事件监听器、良好的开发者工具和TypeScript 支持。
* [solidSpoon/DashPlayer](https://github.com/solidSpoon/DashPlayer) DashPlayer是一款专为英语学习者设计的视频播放器,它能帮助你通过观看视频、沉浸真实语境,轻松提升英语水平。DashPlayer 支持 macOS和 Windows 系统,并使用 React、Electron 和 TypeScript 开发。它可以让你像观看美剧一样学习英语,无需担心字幕或生词,并提供多种学习功能,例如:生词记忆、句子翻译、语音识别等。你可以通过官方网站或 Wiki 获取更多信息。
* [JedWatson/react-select](https://github.com/JedWatson/react-select) React-Select是用于React.js的强大选择组件,支持灵活的数据处理、可扩展的样式API(基于emotion)、组件注入API以实现UI行为的完全控制以及可控状态属性和模块化架构。它开箱即用,易于定制,并包含选项分组、Portal支持和动画等功能,可通过npm安装,并提供丰富的属性配置,例如`isMulti` (多选)、`isSearchable` (可搜索)等,方便开发者创建各种自定义选择器。
* [reactjs/react-tabs](https://github.com/reactjs/react-tabs) react-tabs是一个易于使用的、可访问的ReactJS标签组件,它包含四个组件(Tabs, TabList, TabPanel, Tab)协同工作。 通过简单的API和属性配置,例如`defaultIndex`设置初始选中标签,`direction`设置标签方向,`disabledTabClassName`设置禁用标签样式等,开发者可以轻松创建可访问且功能强大的标签页。该组件已在真实移动设备和浏览器上测试,并支持受控和非受控模式。
* [styletron/styletron](https://github.com/styletron/styletron) Styletron是一个用于组件化样式的通用工具包,属于CSS in JS范畴,它与React配合良好,但也支持其他框架或纯JS。Styletron通过创建无状态的单元素样式化组件并使用属性接口实现条件/动态样式,其设计原则注重组件化、类型化JavaScript和可移植性,无需额外工具即可使用。项目提供React相关包(styletron-react)以及其他引擎和标准包,详细文档请访问styletron.org。
* [welldone-software/why-did-you-render](https://github.com/welldone-software/why-did-you-render) Welldone Software开发的why-did-you-render通过Monkey Patch的方式修改React,帮助开发者识别React组件中可能存在的冗余渲染,从而优化性能。它支持React和React Native,能追踪组件何时以及为何重新渲染,并特别指出由于props传递导致的无谓渲染,例如传递style={{width: '100%'}}给大型纯组件。安装方便,需在开发环境下使用,并注意React版本和配置(例如Babel配置)。
* [gluestack/gluestack-ui](https://github.com/gluestack/gluestack-ui) Gluestack-UI是一个基于React和React Native的组件库,提供可直接复制粘贴的、使用Tailwind CSS (NativeWind) 样式化的组件和模式。它采用模块化架构,支持React服务器组件,并提供一致的Web和移动端设计,方便用户自定义主题和样式,同时注重无障碍性,并拥有活跃的社区支持和频繁的更新。通过`npx gluestack-ui init`命令安装,详细文档可在gluestack.io/ui/docs查看。
* [reactive-python/reactpy](https://github.com/reactive-python/reactpy) ReactPy是一个使用 Python 构建用户界面的库,无需 JavaScript。它提供类似于 ReactJS 的组件,简化了界面开发,即使没有 Web开发经验也能轻松上手。ReactPy 支持 Flask、FastAPI、Sanic、Tornado 等内置服务器,并提供 Django、Jupyter 和 Plotly-Dash 等外部服务器扩展。示例代码展示了使用 ReactPy 创建一个简单的 "Hello World" 应用程序,只需几行代码即可实现。
* [unlayer/react-email-editor](https://github.com/unlayer/react-email-editor) 这是一个基于React.js的拖拽式邮件编辑器组件,它封装了Unlayer强大的可视化邮件构建器,方便开发者在应用中集成。用户可通过npm安装,并使用JSX渲染组件,调用其提供的loadDesign、saveDesign和exportHtml等方法来加载、保存和导出邮件设计。该组件提供多种属性配置,并支持Unlayer的所有方法,详情可参考Unlayer文档及项目提供的示例代码和演示。
* [reduxjs/redux](https://github.com/reduxjs/redux) JavaScript 应用的可预测状态容器,可以帮助您编写行为一致、在不同环境(客户端、服务器和本机)中运行且易于测试的应用程序。最重要的是,它提供了出色的开发人员体验,例如实时代码编辑与时间旅行调试器相结合。您可以将 Redux 与 React 或任何其他视图库一起使用。Redux 核心很小(2kB,包括依赖项),并且具有丰富的插件生态系统。
* [heroku/react-refetch](https://github.com/heroku/react-refetch) ReactRefetch是一个简单、声明式且可组合的React组件数据获取库,它通过`connect()`装饰器将组件属性映射到数据请求URL,从而简化数据获取流程,避免了在组件内部直接处理数据请求的复杂性,使组件保持无状态。该库支持懒加载、轮询和数据提交等高级功能,并受React Redux启发,但更适用于主要从服务器获取和渲染只读数据的应用场景。
* [plasmicapp/plasmic](https://github.com/plasmicapp/plasmic) Plasmic是一个开源的 React 可视化构建器,允许你快速构建应用程序和网站,无需编写代码。它支持拖放组件,并与你的代码库集成,打破了低代码工具的局限性。Plasmic 可以用于内容管理、应用程序开发以及网站构建,它结合了网站构建器、工具构建器、无代码应用程序构建器和 CMS 的功能,为不同类型的项目提供统一的解决方案。
* [vhpoet/react-native-styling-cheat-sheet](https://github.com/vhpoet/react-native-styling-cheat-sheet) React NativeStyling Cheat Sheet 是一个方便的资源,它将 React Native 样式相关的资料集中在一个页面上,方便开发者快速查找和使用。该项目从官方文档中提取了大量内容,并以表格的形式列出了各个样式属性的名称、类型、默认值和描述,涵盖了 Flexbox、ShadowPropTypesIOS、Transforms 以及 Image、ScrollView、Text、TextInput、View 等组件的样式属性。
* [reactjs/react.dev](https://github.com/reactjs/react.dev) react.dev是 React 官方文档网站的源代码仓库,使用 Next.js 构建,包含 React 文档、示例代码和相关工具。开发者可通过该仓库获取React 文档的最新版本,并参与文档的贡献和翻译工作,所有贡献内容遵循 CC-BY-4.0 许可协议。开发者可通过克隆仓库、安装依赖、运行开发服务器等步骤在本地运行该网站,并进行文档修改、测试和提交。
* [jsx-eslint/eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) ESLint插件`eslint-plugin-react`提供React相关的代码风格检查规则。它通过安装并配置到ESLint中使用,能自动检测React代码中的潜在问题,例如JSX语法错误、组件属性错误等。 该插件支持自定义配置,例如React版本、JSX转换方式以及自定义组件包装函数等,以适应不同的项目需求。 安装方法为`npm install eslint eslint-plugin-react --save-dev`。
* [formatjs/formatjs](https://github.com/formatjs/formatjs) FormatJS是一个包含多个库的单体仓库,其中最著名的是react-intl。它提供国际化和本地化解决方案,帮助开发者轻松地将应用翻译成多种语言。该项目包含多个npm包,例如用于命令行工具、日期时间格式化、显示名称和列表格式化的包,并提供Slack社区支持。其核心是基于ICU消息格式,实现高效且准确的文本格式化和本地化。
* [pinterest/gestalt](https://github.com/pinterest/gestalt) Gestalt是Pinterest的开源React UI组件库,遵循Pinterest的设计语言规范,包含全面的指南、最佳实践和工具,方便设计师和工程师构建高质量产品;它支持npm和yarn安装,并提供ES6模块和预编译CSS文件;项目采用monorepo结构,支持TypeScript,但主要服务于Pinterest内部,外部开发者提供的功能请求和问题反馈可能无法得到及时响应。
* [i18next/react-i18next](https://github.com/i18next/react-i18next) react-i18next 是一个基于 i18next 国际化生态系统的React 国际化解决方案,它能让你轻松地将你的 React 应用翻译成多种语言。通过简单的组件和 API,你可以使用 `t` 函数和 `u003cTransu003e` 组件替换你的文本,实现高效的国际化,其文档位于 react.i18next.com。 v10及以上版本使用Hooks,v9版本为传统版本,可通过npm安装不同版本。
* [PlasmoHQ/plasmo](https://github.com/PlasmoHQ/plasmo) Plasmo是一个面向开发者的浏览器扩展框架,它简化了扩展开发流程,并提供丰富的功能,例如 React 和 Typescript 支持、声明式开发、内容脚本 UI、标签页、实时重载、环境变量、存储和消息 API、远程代码捆绑、多浏览器和清单支持、自动部署等。Plasmo还支持 Svelte 和 Vue,并提供 Firebase 认证、Redux 和 Supabase 认证等示例。
* [testing-library/react-testing-library](https://github.com/testing-library/react-testing-library) ReactTesting Library是一个轻量级的React组件测试工具库,它鼓励良好的测试实践,避免测试中包含组件的实现细节,从而提高测试的可维护性。其核心原则是:测试越接近软件的使用方式,就能提供越高的信心。该库基于react-dom和react-dom/test-utils,通过npm或yarn安装,需要安装`@testing-library/react`和`@testing-library/dom`两个包。
* [gitname/react-gh-pages](https://github.com/gitname/react-gh-pages) 本项目是一个教程,教你如何使用 `create-react-app` 创建一个 React 应用并将其部署到 GitHub Pages。项目使用 `gh-pages` npm 包将应用部署到 GitHub Pages,GitHub Pages 是 GitHub 提供的免费网页托管服务。教程包含创建空仓库、创建 React 应用、配置 `gh-pages` 部署等步骤,最终将生成一个可自定义的 React 应用并部署到 GitHub Pages 上。
* [necolas/react-native-web](https://github.com/necolas/react-native-web) 跨平台的 React UI 包。可访问的 HTML,支持不同的设备和输入模式,渲染语义标签。高质量的互动,支持手势和多种输入模式(触摸、鼠标、键盘)。可靠的款式,依赖作用域样式和自动供应商前缀,支持 RTL 布局。响应式容器,响应元素调整大小事件。增量采用,与现有的 React DOM 组件互操作。仅捆绑您使用的内容。
* [wasp-lang/open-saas](https://github.com/wasp-lang/open-saas) OpenSaaS是一个免费开源的SaaS应用程序启动器,使用React和Node.js构建,并集成了强大的功能。它基于Wasp框架,提供全栈认证、端到端类型安全、后台作业、一键部署等功能,并整合了Stripe、Plausible、OpenAI、AWS S3等服务,以及TailwindCSS、TailAdmin等工具。用户可以使用Open SaaS快速构建SaaS应用程序,并享受Wasp社区的支持。
* [molefrog/wouter](https://github.com/molefrog/wouter) Wouter是一个仅重约2.1KB的极简React和Preact路由库,它基于Hooks,提供`Route`、`Link`、`Switch`和`Redirect`等组件,并拥有`useLocation`、`useRoute`和`useRouter`等Hook API,方便开发者更精细地控制路由。它体积小巧,功能完备,兼容React和Preact,并且无需顶层`u003cRouter /u003e`组件。许多知名项目如Ultra、React-three-fiber等都在使用它。
* [mac-s-g/react-json-view](https://github.com/mac-s-g/react-json-view) react-json-view是一个React组件,用于显示和编辑JavaScript数组和JSON对象,提供响应式界面,可用于任何基于web的JavaScript应用程序。它支持多种主题和自定义选项,例如折叠、缩进和图标样式,并可通过npm安装。该项目目前已停止维护,建议使用[@microlink/react-json-view](https://github.com/microlinkhq/react-json-view)作为替代方案。
* [lingui/js-lingui](https://github.com/lingui/js-lingui) Lingui.js是一个轻量级(3kb)、易于阅读且自动化的JavaScript国际化框架,使用强大的ICU MessageFormat,支持丰富的文本格式(包括JSX),并提供CLI工具管理整个国际化流程,包括消息提取、验证和翻译检查。它兼容React,并提供React组件,也支持纯JavaScript项目,且与react-intl具有良好的兼容性。Lingui.js拥有活跃的社区支持。
* [searchkit/searchkit](https://github.com/searchkit/searchkit) Searchkit是一个开源库,用于快速构建基于Elasticsearch或OpenSearch的搜索用户界面,兼容React、Vue、Angular等框架以及Algolia的Instantsearch组件。它提供预构建的UI组件(如搜索框、筛选器和结果展示),并通过Node API代理Elasticsearch请求,支持Elasticsearch Query DSL以实现高级查询功能,方便开发者快速创建强大的搜索体验。
* [hustcc/echarts-for-react](https://github.com/hustcc/echarts-for-react) 这是一个简单易用的React组件,用于封装Apache ECharts图表库。它提供简洁的API,只需传入图表配置选项即可渲染ECharts图表,并支持多种配置和事件回调,例如主题定制、懒加载更新和自定义事件处理。开发者可根据需要选择性地导入ECharts模块以减小打包体积,兼容React 15.0.0及以上版本和ECharts 3.0.0及以上版本。
* [jquense/react-big-calendar](https://github.com/jquense/react-big-calendar) react-big-calendar是一个基于React的日历组件,其设计现代,兼容现代浏览器,并使用flexbox布局。它提供类似Google日历和Outlook日历的功能,支持多种日期库(Moment.js、Globalize.js、date-fns、Day.js)进行本地化和日期格式化,需安装并引入相应的本地化程序。通过npm或yarn安装后即可使用,并提供多种示例和入门项目。
* [gpbl/react-day-picker](https://github.com/gpbl/react-day-picker) ReactDayPicker是一个高度可定制的React日期选择器组件,用于在网页应用中添加日期选择器、日历和日期输入框。它支持多种选择模式(单选、多选、范围选择等),可轻松自定义样式、本地化(包括ISO 8601日期、时区和Jalali日历),并符合WCAG 2.1 AA无障碍性要求,基于TypeScript开发,依赖date-fns库进行日期处理。
* [sekoyo/react-image-crop](https://github.com/sekoyo/react-image-crop) react-image-crop是一个轻量级(小于5KB gzip)的React图像裁剪工具,无需依赖,支持响应式布局、触控和键盘操作,可进行自由或固定比例裁剪,并允许设置最小/最大裁剪尺寸,甚至可以裁剪非图像内容。它通过回调函数`onChange`实时更新裁剪区域,并提供像素和百分比两种坐标单位,方便用户灵活控制裁剪结果。
* [effector/effector](https://github.com/effector/effector) Effector是一个易于使用的JavaScript业务逻辑库,支持React、React Native、Vue、Svelte、Node.js和原生JavaScript应用,并提供开箱即用的最佳TypeScript支持。它遵循五个基本原则:轻量级、自由组合、避免争议性概念、API清晰易预测以及基于简单元素构建应用。通过npm安装,并提供针对React、SolidJS、Vue和Svelte的扩展包。
* [remirror/remirror](https://github.com/remirror/remirror) Remirror是一个基于ProseMirror的React工具包,用于构建跨平台的文本编辑器。它提供易于使用的扩展和API,让开发者可以快速创建功能强大的富文本编辑器。通过简单的代码即可实现诸如加粗、斜体等基本功能,并提供详细文档和示例,方便上手。Remirror具有高度可定制性,并支持多种扩展以满足不同的需求。
* [video-react/video-react](https://github.com/video-react/video-react) video-react是一个基于React库构建的HTML5网页视频播放器,它提供易于使用的组件,例如Player组件,只需简单几行代码即可集成到你的React项目中。该项目由Mux维护,持续更新和改进,并支持多种浏览器,包括Chrome、Firefox和Safari等。项目灵感来源于video.js,并使用了reactstrap、Google Material Icons和iconmon等资源。
* [dapi-labs/react-nice-avatar](https://github.com/dapi-labs/react-nice-avatar) react-nice-avatar是一个React库,用于生成个性化头像。它通过`genConfig`函数生成头像配置,该函数可接受种子字符串(例如姓名或邮箱)或自定义属性对象(例如性别、发型等)来创建配置,也可生成随机配置。生成的配置可用于渲染`Avatar`组件,并通过`width`、`height`、`shape`等属性自定义头像大小和形状。
* [thebuilder/react-intersection-observer](https://github.com/thebuilder/react-intersection-observer) react-intersection-observer是一个React库,利用Intersection Observer API检测元素何时进入或离开视口。它提供Hooks(`useInView`)、render props(`u003cInViewu003e`)和普通子元素三种使用方式,具有性能优化、原生API匹配、TypeScript编写、易于测试和Tree-shakeable等特性,包体积小(`useInView`约1.15kB,`u003cInViewu003e`约1.6kB)。
* [FirebaseExtended/reactfire](https://github.com/FirebaseExtended/reactfire) ReactFire是一个简化Firebase交互的React库,提供Hooks、Context Providers和组件,方便函数式组件轻松访问Firebase实时数据和身份验证状态,并自动处理订阅取消。它支持多种Firebase库,例如Firestore和Remote Config,并安全地配置这些库的设置。该项目目前处于实验阶段,由谷歌维护,但并非Firebase官方支持产品。
* [nosir/cleave.js](https://github.com/nosir/cleave.js) Cleave.js是一个已被弃用的JavaScript库,其新版本为cleave-zen。它主要用于自动格式化输入文本内容,例如信用卡号码、电话号码和日期等,支持自定义分隔符、前缀和块模式,并提供多种集成方式,包括CommonJS、AMD、ESModule和React/Angular组件。虽然已弃用,但其简化输入字段格式化的功能依然值得参考。
* [yournextstore/yournextstore](https://github.com/yournextstore/yournextstore) Your Next Store是一个基于 Next.js 和 Stripe 的现代电商平台,它提供了一个快速、简单、强大的构建在线商店的解决方案。该项目使用 Stripe 作为后端,并提供测试模式和生产模式,方便开发者进行本地开发和测试,以及将商店上线销售。用户需要创建 Stripe 账户并配置环境变量才能使用该项目。
* [DouyinFE/semi-design](https://github.com/DouyinFE/semi-design) Semi-Design是一个现代化、全面且灵活的React UI库和设计系统,提供3000多个设计令牌,方便构建自定义设计系统,并支持一键式设计转代码(D2C)和代码转设计(C2D),确保设计与代码的一致性;它具有完整的无障碍支持、国际化支持以及严格的质量保证,基于TypeScript编写,易于阅读和维护。
* [LukasMasuch/best-of-react](https://github.com/LukasMasuch/best-of-react) 🏆Best-of React 是一个每周更新的优秀 React 开源库和工具排名列表,包含 430 个项目,总计 500 万颗星,分为 22 个类别。每个项目根据从 GitHub 和不同包管理器自动收集的各种指标计算的项目质量评分进行排名。您可以通过提交问题、Pull Request 或直接编辑 projects.yaml 文件来添加或更新项目。
* [bokuweb/react-rnd](https://github.com/bokuweb/react-rnd) react-rnd是一个用于React的组件,支持拖拽和大小调整。它允许用户通过简单的props控制组件的大小和位置,并提供回调函数来响应拖拽和调整大小的操作。开发者可以使用npm或yarn安装,并通过设置`size`和`position`属性以及相应的回调函数来实现自定义功能,例如实时更新组件大小和位置。
* [Hacker0x01/react-datepicker](https://github.com/Hacker0x01/react-datepicker) ReactDate Picker是一个简单易用的React日期选择器组件,支持npm和yarn安装。它提供简洁的API,可轻松配置,例如设置时间选择器和本地化,并支持自定义样式。通过`selected`和`onChange`属性控制日期选择,还提供`onSelect`和`onClickOutside`等事件处理函数。更多配置和示例可参考项目网站和文档。
* [Blazity/next-saas-starter](https://github.com/Blazity/next-saas-starter) 这是一个免费的 Next.js SaaS 产品响应式着陆页模板,使用 JAMStack 架构构建。它提供最佳 SEO 设置、绿色 Web Vitals、高性能和简洁的代码库,并支持 Tina CMS 集成、博客、Mailchimp 和 Sendgrid 集成、暗模式、自定义主题、一键部署等功能。你可以使用 Vercel 或其他无服务器部署环境进行部署。
* [reduxjs/redux-toolkit](https://github.com/reduxjs/redux-toolkit) ReduxToolkit是Redux官方推荐的工具集,旨在简化Redux开发。它解决了Redux配置复杂、依赖包多和样板代码多的问题,提供`configureStore`等API简化配置,并包含RTK Query用于简化数据获取和缓存,从而提高开发效率。它并非解决所有Redux问题,而是专注于简化常见用例,建议配合官方模板使用。
* [rpldy/react-uploady](https://github.com/rpldy/react-uploady) React-Uploady是一个轻量级的React文件上传库,只需几行代码即可构建客户端文件上传功能。它提供浏览器文件上传的基础功能,并支持高度自定义,包含组件、钩子和多种特性,可根据需要选择安装依赖。该库体积小巧,依赖极少,并提供分块上传支持,且拥有完善的文档和视频教程。
* [ruanyf/react-demos](https://github.com/ruanyf/react-demos) 一个React.js的简单示例集合,代码简洁易懂,适合学习。包含React渲染JSX、使用JavaScript和数组、定义组件、props、状态、表单、生命周期、Ajax、Promise、服务端渲染等内容。通过克隆仓库并在demo目录下操作源文件来使用这些示例。相关项目包括Flux Demo、Webpack Demos、React Router Tutorial等。
* [reduxjs/reselect](https://github.com/reduxjs/reselect) Reselect是一个用于创建记忆化选择器函数的库,常与Redux一起使用,但也可用于任何普通的不可变JS数据。它能高效地计算派生数据,仅在参数改变时才重新计算,并支持选择器组合,从而使Redux能存储最小可能的状态,提高应用性能。Reselect已包含在Redux Toolkit中,也可单独安装使用。
* [vuestorefront/vue-storefront](https://github.com/vuestorefront/vue-storefront) Alokai 是一个前端即服务解决方案,简化可组合的商务。它连接构建和部署快速可扩展电商前端所需的所有技术。Alokai 提供一系列开发工具,加速并简化电商 storefront 的构建,支持任何后端,提供 3500+ 实例,包含文档、Discord 等支持,内置 Nuxt.js、Next.js、Storefront UI 和 Alokai Middleware。
* [yocontra/react-responsive](https://github.com/yocontra/react-responsive) react-responsive是一个易于使用的React媒体查询模块,用于响应式设计。它支持多种方式检测设备类型及屏幕尺寸,例如通过Hooks(`useMediaQuery`)或组件(`MediaQuery`), 并提供简洁的API,支持自定义媒体查询,兼容IE6及以上浏览器,也支持在服务器端渲染(SSR)环境下强制指定设备参数。
* [alibaba/ChatUI](https://github.com/alibaba/ChatUI) ChatUI是一个基于React的对话UI设计语言和库,它基于阿里巴巴Alime Chatbot的最佳实践,采用TypeScript编写,具有响应式设计、无障碍支持和强大的主题定制功能,并支持多种语言和主流浏览器(包括IE11,需使用polyfill)。 项目提供npm包方便安装使用,并包含丰富的组件如Bubble等。
* [Shopify/polaris](https://github.com/Shopify/polaris) ShopifyPolaris是一个设计系统,包含React组件、设计token、VS Code扩展和文档网站等,用于构建Shopify商家管理后台的优秀用户体验。它是一个大型单体仓库(monorepo),使用Turborepo管理多个npm包,开发者可通过npm安装并使用其组件。Polaris旨在促进协作,并持续演进以提升商家体验。
* [alibaba/ice](https://github.com/alibaba/ice) 基于 React 的渐进式应用框架,零配置:开箱即用,支持 ES6+、TypeScript、Less、Sass、CSS 模块等,实践:文件系统路由、状态管理、请求等实践,混合:默认在构建时 (SSG) 或请求时 (SSR) 预渲染页面,插件系统:插件系统提供了丰富的功能,多端:同时支持 web、小程序和 Weex
* [mrzachnugent/react-native-reusables](https://github.com/mrzachnugent/react-native-reusables) react-native-reusables是一个开源React Native组件库,基于shadcn/ui并使用NativeWind v4构建,注重可访问性。它提供一系列精心挑选的组件,并附带文档和在线演示,方便开发者快速上手。部分组件的实现依赖于@rn-primitives,而其他一些组件(如日历、图表)则建议使用第三方库来实现。
* [pmndrs/valtio](https://github.com/pmndrs/valtio) Valtio 是一个用于 React 和原生 JavaScript 的简单代理状态库,通过 `npm i valtio` 安装。它将你传递的对象转换为一个自我意识的代理,可以在任何地方修改状态,并通过 `useSnapshot` 在 React 组件中优化渲染。Valtio 使用两个不同类型的代理来分别跟踪写操作和读操作,以优化性能。
* [hypeserver/react-date-range](https://github.com/hypeserver/react-date-range) react-date-range是一个React组件,用于选择日期和日期范围,它使用date-fns进行日期操作,支持无状态日期操作、高度可配置、多范围选择、拖放选择和键盘操作,并提供`DatePicker`和`DateRangePicker`组件,目前项目未维护,但仍可稳定使用。 安装需使用npm并安装依赖react和date-fns。
* [react-monaco-editor/react-monaco-editor](https://github.com/react-monaco-editor/react-monaco-editor) react-monaco-editor是一个React组件,它封装了微软的Monaco Editor,方便在React项目中使用强大的代码编辑器功能。它通过简单的属性配置即可实现代码高亮、自动补全等特性,并提供回调函数处理代码变化。 使用时需安装组件并配置Webpack以支持Monaco Editor,注意处理CSS模块冲突。
* [system-ui/theme-ui](https://github.com/system-ui/theme-ui) ThemeUI是一个基于约束式设计原则的React主题库,用于构建一致且可主题化的React应用。它提供灵活的API,方便开发者创建自定义组件库、设计系统、网页应用和Gatsby主题等,并兼容几乎所有UI组件库,支持深色模式和响应式设计,内置主题规范,使用Emotion实现作用域样式。
* [adazzle/react-data-grid](https://github.com/adazzle/react-data-grid) react-data-grid是一个功能丰富且可定制的React数据表格组件,支持React 18.0+、虚拟化以提升性能、树状抖动和TypeScript类型检查,并具有丰富的特性,例如冻结列、列大小调整、多列排序、行选择、行分组、单元格编辑和自定义渲染器等,方便开发者构建高效易用的数据表格。
* [mosch/react-avatar-editor](https://github.com/mosch/react-avatar-editor) react-avatar-editor是一个用于裁剪头像和个人资料图片的React组件,提供直观的界面进行图像缩放、裁剪和旋转操作,支持自定义输入控件,可生成圆形或方形图像,并使用TypeScript编写,具有完整的类型定义。 该组件易于使用,只需通过npm或yarn安装即可,并提供在线演示。
* [fullcalendar/fullcalendar-react](https://github.com/fullcalendar/fullcalendar-react) 这是FullCalendar的官方React组件,它允许你在React应用中轻松集成FullCalendar日历功能。通过npm安装组件及其插件(如dayGrid),然后使用`FullCalendar`组件并传入配置选项(例如事件、视图等)即可渲染日历。该组件基于FullCalendar核心库,并提供了丰富的文档和示例项目供参考。
* [react-syntax-highlighter/react-syntax-highlighter](https://github.com/react-syntax-highlighter/react-syntax-highlighter) ReactSyntax Highlighter是一个React组件,使用lowlight和refractor库进行语法高亮显示,它通过构建虚拟DOM来高效更新代码块,避免了直接操作DOM带来的性能问题,并支持使用内联样式或className两种方式自定义样式,提供了多种编程语言和样式主题选择,避免了外部样式表的依赖。
* [ctrlplusb/easy-peasy](https://github.com/ctrlplusb/easy-peasy) EasyPeasy是一个针对React的Redux抽象库,提供简化的API,注重开发者体验。它使状态管理快速简便,同时利用Redux的架构优势和生态系统,支持零配置、React Hooks API、TypeScript、数据获取封装、计算属性等特性,并兼容Redux DevTools和React Native,通过npm install easy-peasy即可安装。
* [wojtekmaj/react-calendar](https://github.com/wojtekmaj/react-calendar) react-calendar是一个用于React应用的强大日历组件,支持选择日期、月份、年份甚至年代,并支持范围选择和多种语言,无需moment.js。通过npm或yarn安装,只需简单几行代码即可集成,并提供onChange属性获取选择值,同时提供在线演示和丰富的示例,方便自定义样式和功能。
* [rehooks/awesome-react-hooks](https://github.com/rehooks/awesome-react-hooks) 很棒的 React Hooks 资源。Hook 是 React 团队在 React 16.8 版本中提出的新特性,在遵循函数式组件的前提下,为已知的 React 概念提供了更直接的 API:props,state,context,refs 以及声明周期,目的在于解决常年以来在 class 组件中存在的各种问题,实现更高效的编写 react 组件。
* [ariakit/ariakit](https://github.com/ariakit/ariakit) Ariakit是一个基于React的工具包,用于构建无障碍的Web应用程序。它提供可访问的组件,简化了开发过程,并确保应用符合无障碍性标准。通过简单的API和易于使用的组件,Ariakit帮助开发者快速构建高质量的React应用。 安装方法:npm i@ariakit/react 或 yarn add @ariakit/react。
* [streamich/react-use](https://github.com/streamich/react-use) react-use是一个React Hooks集合库,提供了许多常用的Hooks,例如用于追踪设备电池状态、地理位置、鼠标悬停、键盘按键、媒体查询等传感器相关的Hooks,以及其他实用工具。它基于libreact项目,并提供丰富的示例和文档,方便开发者快速上手和使用,通过npm安装即可。
* [react-grid-layout/react-draggable](https://github.com/react-grid-layout/react-draggable) React-Draggable是一个简单的React组件,用于使元素可拖动,它通过CSS Transform移动元素,兼容多种定位方式,并提供受控和非受控两种模式。 安装方便,支持npm安装,并提供UMD版本。 组件DraggableCore直接包裹目标元素,无需额外DOM节点,DraggableCore提供更底层的控制。
* [securingsincity/react-ace](https://github.com/securingsincity/react-ace) react-ace是一个基于React的Ace代码编辑器组件,提供多种视图模式(包括分割视图和差异视图),支持多种编程语言和主题,并提供详细文档和示例。它使用ace-builds构建,安装方便,可通过npm或yarn安装。该项目已停止支持Brace,并提供了从版本7迁移到版本8的指南。
* [tldraw/tldraw](https://github.com/tldraw/tldraw) tldraw 是一个用于在 React 中创建无限画布体验的库,背后支持数字白板 tldraw.com。可以通过 npm 安装并使用,官方文档和示例项目可供参考。该项目允许在商业或非商业项目中使用,但需保留水印,购买商业许可可去除水印。项目支持贡献和社区讨论,欢迎加入。
* [shadowwalker/next-pwa](https://github.com/shadowwalker/next-pwa) 这是一个针对 Next.js 的零配置 PWA 插件,它使用 workbox等工具,提供优化后的预缓存和运行时缓存,帮助开发者轻松构建 PWA 应用,并最大程度地提高 Lighthouse 评分。该插件支持离线功能、自定义 worker、国际化等特性,并兼容 Next.js9.1+ 版本,无需自定义服务器。
* [reactjs/react-modal](https://github.com/reactjs/react-modal) react-modal是React.js的一个无障碍模态对话框组件,提供易于使用的API和丰富的自定义选项。它通过设置`appElement`确保无障碍性,并支持自定义样式、动画和事件回调。开发者可以使用npm或yarn安装,并参考文档中的示例快速上手,创建具有良好访问性的模态窗口。
* [sadmann7/shadcn-table](https://github.com/sadmann7/shadcn-table) 这是一个基于Next.js、Tailwind CSS和shadcn/ui构建的表格组件,使用TanStack/react-table实现,并支持服务器端分页、排序和过滤。它利用Drizzle ORM和Neon数据库进行数据管理,并包含可自定义列、动态搜索和高级过滤等功能,项目仍在开发中,尚未准备好用于生产环境。
* [ReactTooltip/react-tooltip](https://github.com/ReactTooltip/react-tooltip) react-tooltip是一个React组件库,用于创建工具提示。它易于安装和使用,只需导入CSS文件(v5.13.0之前的版本)并使用`Tooltip`组件即可创建带有`data-tooltip-id`和`data-tooltip-content`属性的工具提示。该项目开源,并提供详细文档和故障排除指南,且支持npm和yarn安装。
* [mui/mui-x](https://github.com/mui/mui-x) MUI X是一个高级React UI组件库,提供数据表格、日期时间选择器、图表和树状视图等组件,用于构建复杂的数据密集型应用。它基于Material UI,但组件独立且高度可定制。MUI X采用开放核心模式,部分组件使用MIT许可证免费提供,高级功能需商业许可。
* [facebookexperimental/Recoil](https://github.com/facebookexperimental/Recoil) Recoil是Facebook推出的一个实验性React状态管理库,它弥补了React自身在状态管理方面的不足,并兼容React最新特性;通过原子(atom)和选择器(selector)等概念实现高效的状态管理,提供比React原生方式更强大的功能;项目已开源,并提供完善的文档和教程。
* [segmentio/evergreen](https://github.com/segmentio/evergreen) Segment公司出品的Evergreen是一个开箱即用的React UI框架,其组件灵活可组合,并具备企业级UI设计语言。它基于CSS-in-JS和ui-box组件,支持强大的主题定制和服务器端渲染(SSR),并提供完善的文档和社区支持,旨在构建易于使用且适应未来需求的Web应用。
* [immerjs/immer](https://github.com/immerjs/immer) Immer是一个用于创建不可变状态的JavaScript库,它允许你通过修改现有状态树来生成新的不可变状态树,简化了状态管理,其工作原理是利用代理(Proxy)技术,在修改过程中追踪变化,并高效地生成新的不可变状态,曾获得React和JavaScript开源大奖。
* [tangly1024/NotionNext](https://github.com/tangly1024/NotionNext) 使用 NextJS + Notion API 实现的,支持多种部署方案的静态博客,无需服务器、零门槛搭建网站,为Notion和所有创作者设计。(使用 NextJS 和 Notion API 构建的静态博客,支持多种部署选项。无需服务器,建立网站零门槛。专为 Notion 和所有创作者设计。
* [grommet/grommet](https://github.com/grommet/grommet) Grommet是一个基于React的UI框架,提供易用性、模块化、响应式设计和主题定制等特性,打包简洁。它注重核心用户体验,通过npm或Yarn安装,并提供详细文档、示例和社区支持。开发者可以使用Storybook浏览组件示例,并可通过提供的模板快速上手。
* [reactchartjs/react-chartjs-2](https://github.com/reactchartjs/react-chartjs-2) react-chartjs-2是一个React组件库,它基于流行的图表库Chart.js,支持Chart.js v3和v4版本。通过简单的组件导入和使用,例如`u003cDoughnut data={...} /u003e`,即可在React项目中轻松创建各种图表。该库提供了丰富的文档和示例,方便开发者快速上手和集成。
* [akiran/react-slick](https://github.com/akiran/react-slick) react-slick是一个基于React的轮播组件,它是slick carousel的React版本。它提供丰富的配置选项,例如dots、infinite、speed等,方便开发者创建各种类型的轮播效果。通过npm或yarn安装,并引入slick-carousel的CSS文件即可使用,文档和示例代码详见项目官网。
* [emilkowalski/vaul](https://github.com/emilkowalski/vaul) Vaul是一个无样式的React抽屉组件,可在平板电脑和移动设备上替代对话框。它通过简单的API提供抽屉功能,安装方法为`npm install vaul`,使用方法参考文档 (https://vaul.emilkowal.ski/getting-started) 中的示例代码,包含触发器、内容、标题和遮罩等组件。
* [mbrn/material-table](https://github.com/mbrn/material-table) material-table是一个基于Material-UI的强大React数据表格组件,具有丰富的额外功能,例如数据编辑、导出、过滤、分组、本地化、远程数据支持等。它提供自定义渲染、组件覆盖等特性,方便开发者定制。项目文档和示例可在material-table.com查看。
* [cssinjs/jss](https://github.com/cssinjs/jss) JSS是一个已不再维护的项目,它是一个使用JavaScript生成样式表的库,其工作原理是利用JavaScript作为宿主语言来编写CSS。该项目已被作者放弃维护,推荐使用新的开源工具Webstudio,它可以可视化构建和生成优化的CSS和React组件以及Remix应用。
* [suren-atoyan/monaco-react](https://github.com/suren-atoyan/monaco-react) 这是一个用于React的Monaco编辑器组件库,无需Webpack等打包工具配置即可在任何React应用中使用Monaco编辑器。它提供简洁的API与Monaco交互,支持多种模式的编辑器,并已集成@monaco-editor/loader,可用于create-react-app、Next.js等项目,TypeScript编写。
* [primer/react](https://github.com/primer/react) PrimerReact是GitHub Primer设计系统的一个React实现,提供详细文档(primer.style/react),包含各种组件、主题和设计原则。通过npm或yarn安装(@primer/react),并可使用提供的模板快速上手。项目积极维护,欢迎贡献代码,并鼓励提出新的组件建议。
* [leoMirandaa/shadcn-landing-page](https://github.com/leoMirandaa/shadcn-landing-page) 这是一个基于Shadcn UI、React、TypeScript和Tailwind CSS构建的免费响应式落地页模板,包含导航栏、英雄区、关于我们、团队、定价、常见问题等多个常用区块,支持深色模式,并提供在线演示和详细的安装指南(git clone, npm install, npm run dev)。
* [rjsf-team/react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form) react-jsonschema-form 是一个基于 React 的组件库,使用 JSON Schema 来声明式地构建和定制 Web 表单。它支持多种主题,包括 Ant Design、Bootstrap3/4、Chakra UI、Fluent UI、Material UI 和 Semantic UI。项目提供完善的文档和在线演示,并欢迎贡献者参与。
* [pacocoursey/cmdk](https://github.com/pacocoursey/cmdk) 快速、无样式的命令菜单 React 组件。⌘K 是一个命令菜单 React 组件,也可以用作可访问的组合框。您渲染项目,它会自动过滤和排序它们。⌘K 支持完全可组合的 API ,因此您可以将项目包装在其他组件中,甚至可以包装为静态 JSX。
* [jquense/react-widgets](https://github.com/jquense/react-widgets) react-widgets是一个基于React构建的、功能丰富且易访问的表单输入组件库,提供多种经过优化的、可扩展的输入组件,方便快速上手;它使用monorepo结构管理多个npm包,安装方式为`npm install react-widgets`,并提供详细文档和演示。
* [carbon-design-system/carbon](https://github.com/carbon-design-system/carbon) Carbon是由IBM构建的开源设计系统,基于IBM设计语言,包含可运行代码、设计工具、资源、人机界面指南和活跃的社区;它提供React组件、Web组件和Sass样式等,并支持Angular、Svelte和Vue等框架,方便开发者构建一致的用户界面。
* [timolins/react-hot-toast](https://github.com/timolins/react-hot-toast) react-hot-toast是一个轻量级(小于5kb)、可定制的React通知库,提供默认美观的热通知效果。它支持Promise API自动加载器、无头钩子(useToaster)自定义通知和良好的无障碍性,通过npm或yarn安装即可轻松使用,并提供详细文档和示例。
* [react-cosmos/react-cosmos](https://github.com/react-cosmos/react-cosmos) ReactCosmos是一个用于独立开发和测试React UI组件的沙盒环境,它允许开发者隔离组件进行开发和测试,提高效率。通过其提供的文档和社区支持,开发者可以轻松上手并集成到现有项目中,官方网站提供在线演示和完整文档。
* [xiaolin/react-image-gallery](https://github.com/xiaolin/react-image-gallery) ReactImage Gallery是一个React组件,用于创建带缩略图支持的图片库和轮播图,支持移动端滑动、全屏显示和自定义渲染,提供大量自定义选项,例如图片加载方式、样式和布局等,只需简单几行代码即可集成到你的React项目中。
* [ReactiveX/rxjs](https://github.com/ReactiveX/rxjs) JavaScript 的响应式编程库,对 Reactive-Extensions/RxJS 的重写,是 RxJS 的最新生产就绪版本。此重写旨在具有更好的性能、更好的模块化、更好的可调试调用堆栈,同时保持大部分向后兼容,并进行了一些减少 API 表面的重大更改。
* [react-dnd/react-dnd](https://github.com/react-dnd/react-dnd) React 实用程序,可帮助您构建复杂的拖放界面,同时保持组件解耦。它非常适合 Trello 和 Storify 等应用程序,在这些应用程序中,拖动在应用程序的不同部分之间传输数据,组件会根据拖放事件更改其外观和应用程序状态。
* [openedx/edx-platform](https://github.com/openedx/edx-platform) 一个面向服务的平台,用于创作和提供任何规模的在线学习。该平台是用Python和JavaScript编写的,并广泛使用Django框架。在最高级别,该平台由一个整体、一些可独立部署的应用程序(IDA)和基于ReactJS的微前端(MFE)组成。
* [framer/motion](https://github.com/framer/motion) Motion是一个开源的动画库,支持React和JavaScript,它拥有独特的混合引擎,结合了JavaScript动画的强大功能和原生浏览器API的高性能,提供简洁易用的API,方便开发者在React和JavaScript项目中快速创建动画效果,并支持MIT许可。
* [FortAwesome/react-fontawesome](https://github.com/FortAwesome/react-fontawesome) 这是一个使用SVG和JS的Font Awesome React组件,支持React 16.3.0及以上版本(使用0.2.x或更高版本),低于此版本需使用0.1.x版本。它提供官方文档,并由众多贡献者维护。该组件利用forwardRef特性,方便在React中使用Font Awesome图标。
* [gatsbyjs/gatsby](https://github.com/gatsbyjs/gatsby) 无头网络的最快前端。用 React 构建现代网站。Gatsby 是基于 React,可帮助开发人员构建速度极快的网站和应用程序。它将动态渲染网站的控制和可扩展性与静态网站生成的速度相结合,创造了一个全新的可能性网络。
* [scastiel/github-stars-video](https://github.com/scastiel/github-stars-video) GitHub Stars Video项目可以生成展示你 GitHub 仓库星标数的动画视频,使用Remotion 库进行视频制作,并借助 Remotion Lambda 在 AWS 上进行生成,同时利用 Next.js、TailwindCSS 和 shadcn/UI 等技术构建网页应用,并部署在 Vercel 上。
* [floating-ui/react-popper](https://github.com/floating-ui/react-popper) react-popper是基于Popper库的React定位库,它是一个React组件,用于轻松实现工具提示、下拉菜单等元素的精准定位。该库目前处于维护模式,建议使用基于Floating UI的替代方案。安装需同时安装react-popper和@popperjs/core。
* [felipefialho/frontend-challenges](https://github.com/felipefialho/frontend-challenges) 一个公开的开源挑战列表,来自世界各地的公司提供测试前端知识的趣味挑战,包含React、HTML、CSS、JS等技术栈的实际工作挑战,如1STi、Addison Global、AirCall、Ambulnz、Amaro、Apiki等公司提供的前端技术测试题目。
* [stitchesjs/stitches](https://github.com/stitchesjs/stitches) Stitches是一个CSS-in-JS库,具有近乎零运行时开销、服务器端渲染(SSR)和多变体支持,并提供一流的开发者体验,但目前已不再积极维护。它包含框架无关的核心库和React包装器,提供`styled` API,详见stitches.dev。
* [infinitered/reactotron](https://github.com/infinitered/reactotron) React 和 React Native 应用程序的强大调试器。它为开发人员提供了一个易于使用的界面,用于监控其应用程序的状态、网络请求和性能指标,可用于任何规模的项目,从小型个人应用程序到大型企业应用程序。
* [bvaughn/react-window](https://github.com/bvaughn/react-window) react-window是一个React组件库,用于高效渲染大型列表和表格数据。它通过只渲染视口内可见的部分数据来提高性能,减少渲染工作量、缩短渲染时间并降低内存占用,从而解决大型数据渲染的性能瓶颈。
* [alibaba/BizCharts](https://github.com/alibaba/BizCharts) BizCharts是一个基于G2和React的强大数据可视化库,具有易用、扩展性强和支持多种图表等特点,使用React ES6语法,可通过npm或umd安装,并提供丰富的示例和文档,方便开发者快速上手创建各种数据图表。
* [gregberge/loadable-components](https://github.com/gregberge/loadable-components) Loadable Components是React的代码分割库,它简化了代码分割过程,减小bundle体积。通过`import`语句动态加载组件,提升页面加载速度。项目提供详细文档和示例,支持服务器端渲染,并与React.lazy进行对比。
* [ekmas/neobrutalism-components](https://github.com/ekmas/neobrutalism-components) 这是一个基于Tailwind CSS和Shadcn UI构建的React组件库,包含一系列新布鲁塔主义风格的组件,旨在帮助开发者学习和创建新布鲁塔主义风格的布局,文档可在neobrutalism.dev/docs查看,并遵循MIT开源许可证。
* [vadimdemedes/ink](https://github.com/vadimdemedes/ink) React 用于交互式命令行应用,基于组件的 UI 构建体验与 React 在浏览器中提供的相同,但适用于命令行应用。它使用 Yoga 在终端中构建 Flexbox 布局,因此大多数类似 CSS 的道具也可以在 Ink 中使用。
* [primefaces/primereact](https://github.com/primefaces/primereact) PrimeReact是一个功能丰富的开源React UI组件库,提供大量预设主题(如Material、Bootstrap和PrimeOne)和无样式模式,支持按需导入组件以减小包体积,通过npm、yarn或pnpm安装,并提供详细文档和示例。
* [vercel/swr](https://github.com/vercel/swr) 用于数据获取的 React Hooks 库。“SWR”来源于 stale-while-revalidate ,由HTTP RFC 5861推广的缓存失效策略。SWR先从缓存中返回数据(过时),然后发送请求(重新验证),最后再次附带最新数据。
* [styleguidist/react-styleguidist](https://github.com/styleguidist/react-styleguidist) 组件开发环境,具有热重载的开发服务器和可以与团队分享的生活方式指南。它列出了组件 `propTypes` ,并显示了基于 Markdown 文件的实时、可编辑的使用示例。查看演示样式指南。
* [cypress-io/cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) 一个支付应用,用于展示 Cypress 测试方法、模式和工作流的实战应用,基于 React、XState、Express、lowdb、Material-UI 和 TypeScript 构建,包含本地身份验证、端到端测试和 CI/CD 等功能。
* [tremorlabs/tremor](https://github.com/tremorlabs/tremor) 用于快速构建仪表板的 React 库。借助 Tremor,您可以创建简单的模块化组件,轻松构建富有洞察力的仪表板。完全开源,由数据科学家和软件工程师制作,具有设计的最佳点。
* [adobe/react-spectrum](https://github.com/adobe/react-spectrum) 一组库和工具,可帮助您构建自适应、可访问且可靠的用户体验。Adobe 设计系统 Spectrum 的 React 实现。Spectrum 为所有 Adobe 应用程序提供自适应、可访问且具有凝聚力的体验。
* [uber/react-vis](https://github.com/uber/react-vis) 用于渲染常见数据可视化图表的 react 组件集合,例如折线图/面积图/条形图、热图、散点图、等值线图、六边形热图、饼图和圆环图、旭日图、雷达图、平行坐标和树状图。
* [umijs/umi](https://github.com/umijs/umi) umi是React社区的一个框架,它简化了React应用的开发,具有易于上手和扩展性强的特点,其工作原理是基于插件机制,方便开发者定制和扩展功能,并拥有活跃的社区支持。
* [hwix/react-native-navigation](https://github.com/wix/react-native-navigation) 在 iOS 和 Android 上为 React Native 应用程序提供 100% 的原生平台导航。JavaScript API 简单且跨平台 - 只需将其安装在您的应用程序中,即可为您的用户提供他们应得的原生感觉。
* [timlrx/tailwind-nextjs-starter-blog](https://github.com/timlrx/tailwind-nextjs-starter-blog) 这是一个Next.js的 Tailwind CSS 博客入门模板。开箱即用,配置了最新技术,使技术写作变得轻而易举。易于配置和定制。非常适合作为现有 Jekyll 和 Hugo 个人博客的替代品。
* [kusti8/proton-native](https://github.com/kusti8/proton-native) 跨平台桌面应用的 React 环境,特征:与 React Native 相同的语法和组件;与现有的 React 库(如 Redux)一起使用;跨平台;不再有Electron;兼容所有普通Node.js包;热重载
* [pmndrs/react-three-fiber](https://github.com/pmndrs/react-three-fiber) 用于 Three.js 的 React 渲染器,使用可重用的、独立的组件以声明方式构建场景,这些组件对状态做出反应,易于交互,并且可以参与 React 的生态系统。
* [jxnblk/mdx-deck](https://github.com/jxnblk/mdx-deck) 基于React MDX的演示文稿,在Markdown中编写演示文稿,导入和使用React组件,可自定义的主题和组件,零配置 CLI,演示者模式,演讲者笔记。
* [formkit/auto-animate](https://github.com/formkit/auto-animate) 零配置的插入式动画实用程序,可为您的 Web 应用程序添加平滑过渡。您可以将它与 React、Vue 或任何其他 JavaScript 应用程序一起使用。
* [airbnb/lottie-web](https://github.com/airbnb/lottie-web) 在 Web、Android 和 iOS 上原生渲染 After Effects 动画,以及 React Native。设计师可以创建和发布精美的动画,而无需工程师精心手工重新创建
* [Blazity/next-enterprise](https://github.com/Blazity/next-enterprise) 企业级 Next.js 样板,适用于高性能、可维护的应用。包含 Tailwind CSS、TypeScript、ESLint、Prettier、测试工具等功能,可加速您的开发。
* [alibaba/hooks](https://github.com/alibaba/hooks) 一个高质量可靠的React Hooks库,易于学习使用,支持SSR,包含多种高级Hooks和基础Hooks,使用TypeScript编写,具有预测性的静态类型。
* [enzymejs/enzyme](https://github.com/enzymejs/enzyme) React 的 JavaScript 测试实用程序,可以更轻松地测试 React 组件的输出。您还可以操作、遍历和以某种方式模拟给定输出的运行时。
* [react-boilerplate/react-boilerplate](https://github.com/react-boilerplate/react-boilerplate) 在几秒钟内开始你的下一个 react 项目,高度可扩展、离线优先的基础,具有最佳的开发人员体验,并专注于性能和最佳实践。
* [callstack/react-native-paper](https://github.com/callstack/react-native-paper) 跨平台的 UI 工具包库,包含一系列可定制和生产就绪的组件,默认情况下,这些组件遵循并遵守 Google 的 Material Design 指南。
* [Asabeneh/30-Days-Of-React](https://github.com/Asabeneh/30-Days-Of-React) 30 天 React 挑战是在 30 天内学习 React 的分步指南。这些[视频](https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw)也可能有所帮助
* [ohmplatform/FreedomGPT](https://github.com/ohmplatform/FreedomGPT) 基于 React 和 Electron 的应用程序,该应用程序使用基于聊天的界面在 Mac 和 Windows 上本地(离线和私有)执行 FreedomGPT LLM
* [reactnativecn/react-native-guide](https://github.com/reactnativecn/react-native-guide) React Native指南汇集了各类React Native学习资源、开源App和组件,提供全面的学习路径和开发工具,适合初学者和开发者。
* [cookpete/react-player](https://github.com/cookpete/react-player) 用于播放各种 URL 的 React 组件,包括文件路径、YouTube、Facebook、Twitch、SoundCloud、Streamable、Vimeo、Wistia 和 DailyMotion
* [invertase/react-native-firebase](https://github.com/invertase/react-native-firebase) 经过充分测试、功能丰富的模块化 Firebase 实现,适用于 React Native。支持所有 Firebase 服务的 iOS 和 Android 平台。
* [remix-run/react-router](https://github.com/remix-run/react-router) React JS库的一个轻量级、功能齐全的路由库。React Router 在 React 运行的任何地方运行;在 Web、node.js和 React Native。
* [pmndrs/zustand](https://github.com/pmndrs/zustand) 承担 React 中状态管理的必要条件,使用简化通量原理的小型、快速且可扩展的 bearbone 状态管理解决方案。
* [marmelab/react-admin](https://github.com/marmelab/react-admin) 一个前端框架,用于使用 TypeScript、React 和 Material Design 构建在 REST/GraphQL API 上运行的数据驱动应用程序
* [AmruthPillai/Reactive-Resume](https://github.com/AmruthPillai/Reactive-Resume) 独一无二的简历生成器,牢记您的隐私。完全安全、可定制、便携、开源且永久免费。今天就试试吧!
* [t3-oss/create-t3-app](https://github.com/t3-oss/create-t3-app) 交互式 CLI,用于启动全栈、类型安全的 Next.js 应用。启动全栈、类型安全的 Next.js 应用的最佳方式。
* [xyflow/xyflow](https://github.com/xyflow/xyflow) 反应流 |Svelte Flow - 强大的开源库,用于使用 React或 Svelte构建基于节点的 UI.开箱即用,可无限定制。
* [airbnb/visx](https://github.com/airbnb/visx) 可重用的低级可视化组件的集合。visx 结合了 d3 的强大功能来生成可视化和 react 更新 DOM 的好处。
* [infinitered/ignite](https://github.com/infinitered/ignite) React Native 七年多不断开发的结晶,是 Expo 和裸 React Native 中最受欢迎的 React Native 应用程序样板。
* [gothinkster/realworld](https://github.com/gothinkster/realworld) “所有演示应用程序之母”——由 React、Angular、Node、Django 等提供支持的典范全栈 Medium.com 克隆
* [GeekyAnts/NativeBase](https://github.com/GeekyAnts/NativeBase) 适用于 React Native 和 Web 的移动优先、可访问的组件,可在 Android、iOS 和 Web 上构建一致的 UI。
* [TanStack/table](https://github.com/TanStack/table) 用于为 TS/JS 构建功能强大的表和数据网格的无头 UI - React-Table、Vue-Table、Solid-Table、Svelte-Table
* [expo/expo](https://github.com/expo/expo) 一个开源平台,用于使用 React 制作通用的原生应用程序。Expo 可在 Android、iOS 和 Web 上运行。
* [rsuite/rsuite](https://github.com/rsuite/rsuite) 用于企业系统产品的 react 组件库。它是一个经过深思熟虑且对开发人员友好的 UI 框架。
* [reduxjs/react-redux](https://github.com/reduxjs/react-redux) Redux 的官方 React 绑定。高性能和灵活性。Redux 是 JavaScript 应用程序的可预测状态容器。
* [electron-react-boilerplate/electron-react-boilerplate](https://github.com/electron-react-boilerplate/electron-react-boilerplate) 可扩展的跨平台应用的基础,使用 Electron、React、React Router、Webpack 和 React Fast Refresh。
* [mui/material-ui](https://github.com/mui/material-ui) 即用型基础 React 组件,永久免费。它包括 Material UI,它实现了 Google 的 Material Design。
* [ill-inc/biomes-game](https://github.com/ill-inc/biomes-game) Biomes是一个开源沙盒MMORPG,使用Next.js,Typescript,React和WebAssembly等Web技术为Web构建。
* [reagent-project/reagent](https://github.com/reagent-project/reagent) 提供了一种编写高效 React 组件的方法,(几乎)只使用普通的 ClojureScript 函数。
* [uber/baseweb](https://github.com/uber/baseweb) 一个由现代,响应迅速,动态组件组成的设计系统。Base Web 是 Base 的 React 实现。
* [microsoft/fluentui](https://github.com/microsoft/fluentui) Fluent UI Web 表示用于构建 Web 应用程序的实用程序、React 组件和 Web 组件的集合。
* [shadcn-ui/taxonomy](https://github.com/shadcn-ui/taxonomy) 使用新的路由器、服务器组件和 Next.js 13 中的所有新功能构建的开源应用程序。
* [kriasoft/react-starter-kit](https://github.com/kriasoft/react-starter-kit) Web 上最受欢迎的 Jamstack 前端模板(样板),用于使用 React 构建 Web 应用程序
* [jhen0409/react-native-debugger](https://github.com/jhen0409/react-native-debugger) 基于 React Native 官方调试器的独立应用程序,包括 React Inspector / Redux DevTools
* [alan2207/bulletproof-react](https://github.com/alan2207/bulletproof-react) 简单、可扩展且功能强大的架构,用于构建生产就绪的 React 应用程序。
* [danilowoz/react-content-loader](https://github.com/danilowoz/react-content-loader) SVG 驱动的组件,可轻松创建占位符加载(如 Facebook 的卡片加载)。
* [lsqy/taro-music](https://github.com/lsqy/taro-music) 基于taro + taro-ui + redux + react-hooks + typescript 开发的网易云音乐小程序
* [antonioru/beautiful-react-hooks](https://github.com/antonioru/beautiful-react-hooks) 一组漂亮且(希望)有用的 React 钩子,以加快您的组件和钩子开发
* [sudheerj/reactjs-interview-questions](https://github.com/sudheerj/reactjs-interview-questions) 前 500 个常见的ReactJS 面试问题和答案列表......编码练习题即将推出
* [react-grid-layout/react-grid-layout](https://github.com/react-grid-layout/react-grid-layout) 用于 React 的可拖动和可调整大小的网格布局,具有响应式断点。
* [postlight/headless-wp-starter](https://github.com/postlight/headless-wp-starter) WordPress + React 入门套件:一步启动 WordPress 驱动的 React 应用程序
* [ant-design/ant-design-pro](https://github.com/ant-design/ant-design-pro) 作为 React 样板的开箱即用 UI 解决方案,适用于企业应用程序。
* [Nozbe/WatermelonDB](https://github.com/Nozbe/WatermelonDB) 用于强大的 React 和 React Native 应用程序的响应式和异步数据库
* [plouc/nivo](https://github.com/plouc/nivo) 一组丰富的 dataviz 组件,构建在令人敬畏的 d3 和 React 库之上
* [typescript-cheatsheets/react](https://github.com/typescript-cheatsheets/react) 为有经验的 React 开发人员准备的备忘单,开始使用 TypeScript
* [chakra-ui/chakra-ui](https://github.com/chakra-ui/chakra-ui) 为您的 React 应用程序提供简单、模块化和可访问的 UI 组件
* [casesandberg/react-color](https://github.com/casesandberg/react-color) 来自 Sketch、Photoshop、Chrome、Github、Twitter 等的颜色选择器
* [serverless-nextjs/serverless-next.js](https://github.com/serverless-nextjs/serverless-next.js) 通过无服务器组件在 AWS Lambda @Edge 上部署 Next.js 应用程序
* [expo/create-react-native-app](https://github.com/expo/create-react-native-app) 创建在 iOS、Android 和 Web 上运行的 React Native 应用程序
* [FormidableLabs/victory](https://github.com/FormidableLabs/victory) 用于构建交互式数据可视化的可组合 React 组件的集合
* [facebook/relay](https://github.com/facebook/relay) 用于构建数据驱动的 React 应用程序的 JavaScript 框架。
* [react-dates/react-dates](https://github.com/react-dates/react-dates) 一个易于国际化、适合移动设备的 Web 日期选择器库
* [nfl/react-helmet](https://github.com/nfl/react-helmet) 可重用的 React 组件将管理你对文档头的所有更改。
* [payloadcms/payload](https://github.com/payloadcms/payload) 使用 React + TypeScript 构建一个免费开源 Headless CMS。
* [keystonejs/keystone](https://github.com/keystonejs/keystone) 最强大的无头 CMS Node.js — 使用 GraphQL 和 React 构建
* [jondot/awesome-react-native](https://github.com/jondot/awesome-react-native) 很棒的 React Native 组件、新闻、工具和学习材料!
* [bvaughn/react-virtualized](https://github.com/bvaughn/react-virtualized) 用于高效呈现大型列表和表格数据的 React 组件
* [visgl/react-map-gl](https://github.com/visgl/react-map-gl) 围绕 MapboxGL(地图) JS 的 React 友好 API 包装器
* [aidenybai/million](https://github.com/aidenybai/million) 优化 React 性能,让React 在几分钟内提高 70%。
* [atlassian/react-beautiful-dnd](https://github.com/atlassian/react-beautiful-dnd) 使用 React 对列表进行美观且易于访问的拖放
* [refinedev/refine](https://github.com/refinedev/refine) 不受限制地构建基于 React 的 CRUD 应用程序。
* [facebook/create-react-app](https://github.com/facebook/create-react-app) 通过运行一个命令来设置新式react Web 应用。
* [rebassjs/rebass](https://github.com/rebassjs/rebass) 使用风格化系统构建的 React 基元 UI 组件。
* [pmndrs/react-spring](https://github.com/pmndrs/react-spring) 一个跨平台的 Spring-Physics First 动画库。
* [ant-design/ant-design-pro](https://github.com/ant-design/ant-design-pro) React企业应用程序的全新 UI 解决方案。
* [hakanyalcinkaya/kodluyoruz-frontend-101-egitimi](https://github.com/hakanyalcinkaya/kodluyoruz-frontend-101-egitimi) 从头开始进行项目的前端和 React 培训
* [enaqx/awesome-react](https://github.com/enaqx/awesome-react) 关于 React 生态系统的精彩内容的集合
* [react-hook-form/react-hook-form](https://github.com/react-hook-form/react-hook-form) 用于表单状态管理和验证的 React Hooks
* [arco-design/arco-design](https://github.com/arco-design/arco-design) 基于 Arco Design 的综合 React UI 组件库
* [remaxjs/remax](https://github.com/remaxjs/remax) 使用真正的 React 构建跨平台小程序
* [facebook/react-native](https://github.com/facebook/react-native) 使用 React 构建本机应用程序的框架
* [fkhadra/react-toastify](https://github.com/fkhadra/react-toastify) 允许您轻松地向应用程序添加通知
* [mrousavy/react-native-vision-camera](https://github.com/mrousavy/react-native-vision-camera) 强大、高性能的 React Native Camera 库
* [recharts/recharts](https://github.com/recharts/recharts) 使用 React 和 D3 重新定义的图表库
* [react-bootstrap/react-bootstrap](https://github.com/react-bootstrap/react-bootstrap) 使用 React 构建的 Bootstrap 5 组件。
* [ant-design/ant-design](https://github.com/ant-design/ant-design) 企业级 UI 设计语言和 React UI 库
* [jaredpalmer/formik](https://github.com/jaredpalmer/formik) 在 React 中构建表单,无需流泪
* [reactstrap/reactstrap](https://github.com/reactstrap/reactstrap) Bootstrap 5 的无状态 React 组件。
* [react-navigation/react-navigation](https://github.com/react-navigation/react-navigation) React Native 应用的路由和导航。
* [pmndrs/jotai](https://github.com/pmndrs/jotai) React 的原始和灵活的状态管理
* [vasanthk/react-bits](https://github.com/vasanthk/react-bits) react模式、技术、技巧和窍门
* [adam-golab/react-developer-roadmap](https://github.com/adam-golab/react-developer-roadmap) 成为 React 开发人员的路线图
* [brillout/awesome-react-components](https://github.com/brillout/awesome-react-components) React 组件和库的精选列表。
* [react-native-elements/react-native-elements](https://github.com/react-native-elements/react-native-elements) 跨平台 React Native UI 工具包
* [react-icons/react-icons](https://github.com/react-icons/react-icons) 流行图标包的 SVG React 图标
* [Semantic-Org/Semantic-UI-React](https://github.com/Semantic-Org/Semantic-UI-React) 官方的 Semantic-UI-React 集成
* [remarkjs/react-markdown](https://github.com/remarkjs/react-markdown) React 组件来渲染 markdown。
* [palantir/blueprint](https://github.com/palantir/blueprint) 基于 React 的 Web UI 工具包
* [mantinedev/mantine](https://github.com/mantinedev/mantine) 功能齐全的 React 组件库
* [blitz-js/blitz](https://github.com/blitz-js/blitz) Next.js的全栈工具包
### Vue工具库
* [alibaba/weex](https://github.com/alibaba/weex) 用于构建移动跨平台 UI 的框架,Weex 使用原生组件和原生模块来利用原生渲染性能和平台能力。组件和模块都是可插拔和可扩展的。您可以使用单个代码库生成不同的捆绑包文件,以便在 Web、Android 和 iOS 平台上运行。原生组件和模块在每个平台上都有不同的实现,但它们都公开了相同的 API。Weex 拥抱现有的 Web 生态系统,您可以使用现代前端技术来开发您的移动应用程序。Weex 支持最常用的 CSS 属性和最流行的前端框架,比如 Vue 和 Rax,未来可能会更多。Weex在许多超级应用中大规模使用的时间长了,总共服务了近亿人。Weex还衍生了许多用于行业发展的工程产品和平台。
* [bailicangdu/vue2-happyfri](https://github.com/bailicangdu/vue2-happyfri) Vue2 + Vue-router + Vuex 入门项目,简洁易懂,适合初学者学习 Vue2 和 Vuex,包含 Vue2 对比大型项目的内容,涉及 Vuejs 大部分知识点。项目已经完成,适用于 vue2 + vuex 入门学习,适合初学者入门,可点击 Star 支持或 Follow 关注更多有爱的项目。如有问题可提Issues,或提出问题和简单的解决方案,鼓励 PR。开发环境 macOS 10.12.3 Chrome 56 nodejs 6.10.0。项目运行:克隆仓库,进入文件夹,安装依赖,启动开发服务器,构建生产环境。功能演示:在线 demo,支持 Chrome 浏览器查看。项目路径:https://cangdu.org/happyfri/。路由配置:引入 App 组件,配置路径和子路径。
* [logaretm/vee-validate](https://github.com/logaretm/vee-validate) 无痛 Vue 的表单,特征:简单:熟悉且易于设置的声明式验证;灵活:同步、异步、字段级或表单级验证;快速:使用直观的 API 和较小的占用空间更快地构建更快的表单;最小:仅处理复杂的表单问题,让您完全控制其他一切;UI 不可知:适用于本机 HTML 元素或您喜欢的 UI 库组件;渐进式:无论您是将Vue.js用作渐进式增强功能还是在复杂设置中,都有效;内置规则:具有 25+ 条规则的配套库,涵盖了大多数 Web 应用程序中的大多数需求; i18n:45+ 个内置规则语言环境,由来自世界各地的开发人员贡献
* [farm-fe/farm](https://github.com/farm-fe/farm) Farm是一个用 Rust 编写的超高速、与 Vite 兼容的 Web 构建工具。它旨在快速、强大且一致,旨在为 Web 开发提供最佳体验,是真正的下一代构建工具。Farm 解决了 Webpack 速度慢以及 Vite 在大型项目中存在的缺点,例如大量请求导致开发性能下降、开发和生产环境不一致以及代码拆分不灵活等问题。Farm 通过 Rust 实现,速度极快,并支持增量构建、持久缓存以及模块级缓存,确保任何模块在改变之前不会被编译两次。Farm 同时支持 Vite 插件,并提供灵活的插件系统,是真正下一代的构建工具。
* [answershuto/learnVue](https://github.com/answershuto/learnVue) Vue.js 源码解析,记录了学习 Vue.js 源码过程中的心得和理解。项目包含了 Vue.js(2.3.0)、Vuex(2.4.0)和 Vue-router(3.0.1)的源码,并进行了详细的注释和注解,适合进阶学习者理解和研究 Vue.js 及其基础结构。项目链接:[https://github.com/yyx990803](https://github.com/yyx990803)。可以参与讨论和技术交流,共同学习进步。文档包括 Vue.js 概念解析、依赖库、源码注释、Vue.js 数字再表示、Vue.js 实例方法、VNode 点、虚拟 DOM 和 diff、Vue.js 模板编译、Vue.js 异步更新 DOM 的 nextTick 等内容。
* [sveltejs/kit](https://github.com/sveltejs/kit) 简化Web 开发,由 Svelte 和 Vite 提供支持,速度融入每个缝隙:快速设置、快速开发、快速构建、快速页面加载、快速导航。再也不用浪费时间去弄清楚捆绑器配置、路由、SSR、CSP、TypeScript、部署设置和所有其他无聊的东西了。快乐地编码。为您提供了成功的工具,无论您正在构建什么。它可以在 JavaScript 的任何地方运行。用于使用 Svelte 快速开发健壮、高性能的 Web 应用程序。如果你来自 React,SvelteKit 类似于 Next。如果你来自 Vue,SvelteKit 类似于 Nuxt。
* [didi/mpx](https://github.com/didi/mpx) Mpx是一款增强型跨端小程序框架,它提供优秀的开发体验和深度性能优化。Mpx 基于 Vue 的开发体验,并针对小程序平台进行了深度优化,支持数据响应、组件化开发、Composition API 等特性,能够高效地开发跨端小程序应用。Mpx 拥有丰富的功能,包括数据响应、组件化开发、Composition API、模板语法、生命周期管理等,并提供丰富的文档和示例,方便开发者快速上手。Mpx还支持 SSR 和构建生产环境代码,能够提升小程序的性能和用户体验。
* [jerosoler/Drawflow](https://github.com/jerosoler/Drawflow) Drawflow是一个简单易用的流程图库,使用纯 JavaScript 开发,无需依赖其他库。它允许你轻松快速地创建数据流,只需安装 JavaScript 库并使用四行代码即可启动。Drawflow 支持拖放节点、多输入/输出、多连接、删除节点和连接、添加/删除输入/输出、重新路由连接、节点数据同步、缩放、清除数据模块、模块支持、编辑模式(编辑、固定或查看)、导入/导出数据、事件、移动端支持等功能。它还提供 Vue 支持组件节点和 Nuxt。
* [bencodezen/vue-enterprise-boilerplate](https://github.com/bencodezen/vue-enterprise-boilerplate) 这是一个使用 Vue CLI 和 Vite 创建的 Vue 3 SPA 项目的架构和开发环境样板,它提供了一套完善的开发流程,包括测试、构建、代码风格检查等。它基于 Chris Fritz 的 Vue 2 企业样板,并进行了更新和改进,支持 TypeScript 类型检查和 `.vue` 文件的类型支持,并集成了 Vitest 和 Playwright 用于单元测试和端到端测试。项目还提供了详细的安装和使用说明,以及开发环境的推荐配置,方便开发者快速上手。
* [CorentinTh/it-tools](https://github.com/CorentinTh/it-tools) 这是一个为开发者和 IT 从业者提供实用在线工具的项目,拥有出色的用户体验。你可以访问 [https://it-tools.tech](https://it-tools.tech) 体验这些工具。该项目提供自托管解决方案,可通过 Docker Hub、GitHub Packages 或其他平台(如 Cloudron、Tipi和 Unraid)进行部署。你也可以通过 GitHub 提交功能请求或参与贡献。该项目使用 Vue.js 和 TypeScript 开发,并提供详细的开发指南和代码示例。
* [pipipi-pikachu/PPTist](https://github.com/pipipi-pikachu/PPTist) 基于 Vue3.x + TypeScript 的在线演示文稿(幻灯片)应用,还原了大部分 Office PowerPoint 常用功能,支持 文字、图片、形状、线条、图表、表格、视频、音频、公式 几种最常用的元素类型,每一种元素都拥有高度可编辑能力,同时支持丰富的快捷键和右键菜单,支持导出本地 PPTX 文件,支持移动端基础编辑和预览,支持 PWA。您可以在此基础上搭建自己的在线幻灯片应用。
* [antfu-collective/icones](https://github.com/antfu-collective/icones) Icxc3xb4nes 是一个基于 Iconify 的图标浏览器,支持即时模糊搜索,无需网络查询。它提供了一系列功能,包括图标包功能(可将选定的图标打包成可直接使用的图标字体)、复制使用脚本、直接下载 SVG、移动端友好、收藏夹功能、分类筛选、暗黑模式等。Icxc3xb4nes 使用 Vite 和 Vue 3 构建,并提供 VS Code 扩展。未来计划推出 Electron 客户端和完全离线模式。
* [nuxt/nuxt](https://github.com/nuxt/nuxt) 免费的开源框架,具有直观且可扩展的方式,可以使用 Vue.js 创建类型安全、高性能和生产级的全栈 Web 应用程序和网站。它提供了许多功能,可以轻松构建快速、SEO 友好且可扩展的 Web 应用程序,包括:服务器端渲染、静态站点生成或混合渲染;具有代码拆分功能的自动路由;状态管理;SEO优化;自动导入;可扩展 180+ 模块;部署到各种托管平台
* [didi/cube-ui](https://github.com/didi/cube-ui) cube-ui是一个基于 Vue 的移动端 UI 库,它提供了丰富的组件,例如按钮、动作面板等,帮助开发者快速构建移动应用界面。cube-ui支持模块化使用,开发者可以根据需要选择使用特定组件。项目提供详细的文档和示例,并提供 CLI 工具方便开发者快速创建项目。cube-ui 是滴滴出行开源的项目,还有其他优秀的开源项目,例如 Mpx、Chameleon、mand-mobile 等。
* [zyronon/douyin](https://github.com/zyronon/douyin) Vue3 + Pinia 仿抖音,Vue 在移动端的最佳实践 .模仿 TikTok 、Vue 移动端最佳实践。douyin-vue 是一个模仿 抖音|TikTok 的移动端短视频项目。Vue 在移动端的”最佳实践”,媲美原生 App 丝滑流畅的使用体验。使用了最新的 Vue 技术栈,基于 Vue3、Vite5 、Pinia实现。数据保存在项目本地,通过 axios-mock-adapter 库拦截Api 并返回本地json数据,模拟真实后端请求。
* [vitejs/vite](https://github.com/vitejs/vite) Vite(法语中“快速”的意思,发音 `/vit/` 为“veet”)是一种新型的前端构建工具,可显著改善前端开发体验。主要组成:通过本机 ES 模块提供源文件的开发服务器,具有丰富的内置功能和惊人的快速热模块替换 (HMR)。将代码与 Rollup 捆绑在一起的生成命令,经过预配置,可输出高度优化的静态资产以用于生产环境。
* [mealie-recipes/mealie](https://github.com/mealie-recipes/mealie) Mealie 是一个自我托管的食谱管理器和餐计划工具,具有 REST API 后端和基于 Vue 的响应式前端,提供全家友好的使用体验。可以通过 URL 自动导入食谱或使用 UI 编辑器添加家庭食谱。Mealie 还提供了 API 供第三方应用程序交互。主要功能包括食谱导入、餐计划、购物清单、食谱分组、Docker 部署和多语言翻译。
* [didi/mand-mobile](https://github.com/didi/mand-mobile) mand-mobile是一个基于 Vue.js 2 的移动端 UI 工具包,专为金融场景设计。它提供丰富的组件库,包括按钮、输入框、列表等,方便开发者快速构建移动应用。开发者可以通过 npm 安装 mand-mobile,并使用 babel-plugin-import 或 ts-import-plugin 导入所需组件。mand-mobile 还提供了丰富的示例和文档,帮助开发者快速上手。
* [gridsome/gridsome](https://github.com/gridsome/gridsome) Gridsome是基于Vue.js的Jamstack框架,用于构建超快的现代网站。它支持连接任何CMS或数据源,具有PWA离线优先架构,自动优化页面速度,并且适合全球部署。快速开始:安装Gridsome CLI工具,创建项目并运行开发服务器。项目特色包括热重载、GraphQL数据访问、代码分割、图像优化和几乎完美的Lighthouse评分。
* [tusen-ai/naive-ui](https://github.com/tusen-ai/naive-ui) Naive UI 是一个基于 Vue 3 的组件库,功能齐全且可自定义主题,使用 TypeScript 编写,性能优异。它包含超过 90 个可树摇的组件,支持通过 JavaScript 提供主题覆盖对象来自定义主题,无需额外的 CSS 变量、Sass 或 CSS 变量,无需 webpack 载体。支持与 TypeScript 项目无缝集成,无需引入任何 CSS 即可使用组件。
* [wangyuan389/mall-cook](https://github.com/wangyuan389/mall-cook) Mall-Cook是一个基于 Vue 开发的低代码商城搭建平台,支持可视化搭建H5 和小程序多端商城。它提供丰富的页面可视化搭建功能,并支持 JSON Schema 生成组件,方便用户快速构建商城页面。平台基于 uni-app 框架,可一键生成 H5 和小程序多端应用,极大提升开发效率。用户可访问演示网站体验平台功能。
* [unilei/aipan-netdisk-search](https://github.com/unilei/aipan-netdisk-search) 本项目是一个基于 Vue 与 Nuxt.js 技术打造的开源网盘搜索项目,旨在让人人皆可拥有属于自己的网盘搜索网站。项目提供多种部署方式,包括Vercel 和 Docker,方便用户快速启动。项目使用第三方 API 进行搜索,并提供管理面板方便用户自定义配置。强烈建议自行部署,并欢迎所有参与者贡献!
* [vuejs-templates/webpack](https://github.com/vuejs-templates/webpack) 一个全面的 Webpack + vue-loader 配置,包含热重载、代码检查、单元测试和 CSS 提取。适用于 Vue 2.0,不适用于 Vue 1.x。由于 Vue CLI 3 的发布,此模板已弃用。该项目曾是 vue-cli 2.x 的主要模板,现不再进行开发。可以克隆此仓库以继续使用。包含开发和生产构建、单元测试和端到端测试等功能。
* [SortableJS/Vue.Draggable](https://github.com/SortableJS/Vue.Draggable) Vue拖拽组件,基于Sortable.js,支持Vue.js 2.0组件或Vue.js 1.0指令,提供Sortable.js的所有功能,如触摸设备支持、拖拽把手和可选文本、智能自动滚动、不同列表间的拖拽等,保持HTML和视图模型列表同步,兼容Vue.js 2.0 transition-group,支持取消操作和事件报告,可重用现有UI库组件。
* [unovue/inspira-ui](https://github.com/unovue/inspira-ui) Inspira UI是一个基于Vue和Nuxt的开源组件库,提供一系列精美、可复用的组件,其设计灵感源自Aceternity UI和Magic UI。它允许开发者灵活定制组件,并兼容Nuxt框架,拥有丰富的组件选择和移动端优化,致力于帮助开发者高效构建漂亮的网站。项目采用MIT许可证。
* [opendigg/awesome-github-vue](https://github.com/opendigg/awesome-github-vue) Vue相关开源项目库汇总,由OpenDigg管理与维护,包含前端Vue项目,可通过OpenDigg标签页访问并提交问题。项目列表会不定期更新,最新一次更新为一个月前。包含UI组件、开发框架、应用库、服务端、插件工具和应用示例等内容,如element、Vux、iview等。
* [unovue/shadcn-vue](https://github.com/unovue/shadcn-vue) shadcn-vue 是一个非官方的社区主导项目,它将 shadcn/ui 移植到了 Vue.js 生态系统中,提供可访问且可定制的组件,方便开发者复制粘贴到自己的应用中,并可用于构建自定义组件库,该项目获得了 shadcn 的许可,并参考了 shadcn-svelte 和 Radix Vue 等项目。
* [vueuse/vueuse](https://github.com/vueuse/vueuse) VueUse 是一个为 Vue 2 和 3 提供的核心 Composition Utilities 的集合,包含交互式文档和示例、可树摇、类型强、SSR 友好、无需打包器、灵活配置、可选插件等功能。使用方法简单,可以直接通过 CDN 使用。该项目不再支持 Vue 2,建议使用 v11.x 版本。
* [surmon-china/vue-quill-editor](https://github.com/surmon-china/vue-quill-editor) Vue(2) 项目中使用的 Quill 富文本编辑器组件,但由于 Quill 项目已停止维护,`vue-quill-editor` 将被弃用,不再支持 Vue3,建议使用 tiptap 作为替代方案。该项目提供组件示例和文档链接,支持通过 NPM 或 CDN 安装和使用,但不推荐继续使用。
* [tumobi/nideshop-mini-program](https://github.com/tumobi/nideshop-mini-program) NideShop是一款基于Node.js和MySQL开发的开源微信小程序商城,支持高并发网络购物(主要为2016年wap版本),测试数据集的在线购物,兼容ecshop的功能和数据库,服务端API基于Node.js+ThinkJS+MySQL,管理后台系统、PC版和H5版均基于Vue.js开发。
* [vuejs/devtools-v6](https://github.com/vuejs/devtools-v6) Browser扩展工具用于调试Vue.js应用,提供新的Vue Devtools版本可在vuejs/devtools-next试用,项目包含多个包如api、app-backend-api等,支持Vue 1、2、3版本,可通过安装扩展或运行Electron应用进行调试,贡献请参考文档,项目遵循MIT许可。
* [hectorqin/reader](https://github.com/hectorqin/reader) reader是一个阅读3服务器版项目,支持桌面端和 iOS 设备。后端使用 Kotlin + Spring Boot + Vert.x + Coroutine,前端使用 Vue.js + Element。该项目提供在线体验,并支持 Telegram 群组交流。由于 Demo 服务器未备案已被关停,建议自行搭建。
* [dcloudio/uni-app](https://github.com/dcloudio/uni-app) 使用 Vue.js开发小程序、H5、App的统一前端框架。使用 Vue 语法编写代码,uni-app 框架将其编译到 小程序(微信/支付宝/百度/字节跳动/QQ/快手/钉钉/小红书)、App(iOS/Android)、H5等平台,保证正确并达到优秀体验。
* [vuejs/vuepress](https://github.com/vuejs/vuepress) VuePress 是一个基于 Vue 的静态站点生成器,轻量且易用,可用于快速构建文档站点。它支持 Vue 3,并可通过多种构建工具进行配置。项目提供了详细的文档和丰富的示例,支持贡献者通过多种方式参与。
* [pagekit/vue-resource](https://github.com/pagekit/vue-resource) Vue.js的HTTP客户端,支持Promise API和URI Templates,兼容最新版Firefox、Chrome、Safari、Opera和IE9+,支持Vue 1.0和Vue 2.0,体积小巧仅14KB(压缩后5.3KB)。可以通过yarn或NPM安装,或使用CDN。支持请求和响应拦截器。
* [surmon-china/vue-awesome-swiper](https://github.com/surmon-china/vue-awesome-swiper) Vue组件库,基于Swiper,提供Vue滑块功能,最新版本v5已弃用,建议使用Swiper官方Vue组件,支持Vue3,不兼容旧版本API。旧版本包括Swiper 5-6的v4.1.1(Vue2)、Swiper 4.x的v3.1.3(Vue2)和Swiper 3.x的v2.6.7(Vue2)。
* [vuejs/vuex](https://github.com/vuejs/vuex) Vue.js 的集中式状态管理。Vue 的官方状态管理库已更改为 Pinia。Pinia 具有与 Vuex 5 几乎完全相同或增强的 API,如 Vuex 5 RFC 中所述。你可以简单地将 Pinia 视为具有不同名称的 Vuex 5。Pinia 也适用于 Vue 2.x。
* [Yin-Hongwei/music-website](https://github.com/Yin-Hongwei/music-website) Vue + SpringBoot + MyBatis 音乐网站,使用Vue实现前端,Spring Boot + MyBatis实现后端,数据库使用MySQL。项目特色包括在线播放音乐、用户登录认证、个人信息编辑、歌词搜索与播放、歌词滚动等。
* [primefaces/primevue](https://github.com/primefaces/primevue) Next Generation Vue UI组件库,包含丰富的开源UI组件,支持多种包如primevue、@primevue/core等,可通过PrimeVue官网查看实时演示和文档。该项目遵循MIT许可证,并提供Discord聊天支持和GitHub讨论区。
* [vuetifyjs/awesome-vuetify](https://github.com/vuetifyjs/awesome-vuetify) Vuetify 是一个不需要设计技能的 UI 库,其中包含精美的手工制作的 Vue 组件。您将在下面找到一系列应用程序和工具,这些应用程序和工具有助于展示 Vuetify 所提供的最佳功能
* [bootstrap-vue/bootstrap-vue](https://github.com/bootstrap-vue/bootstrap-vue) BootstrapVue 是一个为 Vue.js 2.6 提供的 Bootstrap v4.5 最全面的实现,包含超过85个组件、45个插件、多个指令和1000多个图标,支持自动化的 WAI-ARIA 可访问性标记。
* [ElemeFE/mint-ui](https://github.com/ElemeFE/mint-ui) Mobile UI元素库,支持Vue 2.0,提供丰富的移动端UI组件,可通过npm安装并导入使用,支持模块化导入和自动导入样式,提供CDN加速加载,遵循MIT开源协议。
* [vuetifyjs/vuetify](https://github.com/vuetifyjs/vuetify) 不需要设计技能的 UI 库,其中包含精美的手工制作的 Vue 组件。无需设计技能 — 创建令人惊叹的应用程序所需的一切触手可及。
* [DataV-Team/DataV](https://github.com/DataV-Team/DataV) Vue数据可视化组件库(类似阿里DataV,大屏数据展示),提供SVG边框及装饰、图表、水位图、飞线图等组件,React版已发布
* [vuejs/pinia](https://github.com/vuejs/pinia) Vue 的官方状态管理库,直观、类型安全、轻量级和灵活的 Vue 应用状态管理,使用具有 DevTools 支持的组合 API
* [salomonelli/best-resume-ever](https://github.com/salomonelli/best-resume-ever) 快速轻松地建立多份精美的简历,并创建您有史以来最好的简历!使用 Vue 和 LESS 制作。
* [vuejs/vitepress](https://github.com/vuejs/vitepress) 由 Vue 驱动的静态站点生成器,也是 VuePress 的精神继承者,建立在 Vite 之上。
* [Meituan-Dianping/mpvue](https://github.com/Meituan-Dianping/mpvue) 基于 Vue.js 的小程序开发框架,从底层支持 Vue.js 语法和构建工具体系。
* [youzan/vant](https://github.com/youzan/vant) 一个轻量级的、可定制的 Vue UI 库,用于移动 Web 应用程序。特性:
* [lenve/vhr](https://github.com/lenve/vhr) 微人事是前后端分离的人力资源管理系统,采用SpringBoot+Vue开发。
* [bailicangdu/vue2-elm](https://github.com/bailicangdu/vue2-elm) 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
* [Molunerfinn/PicGo](https://github.com/Molunerfinn/PicGo) 由vue-cli-electron-builder构建的简单而漂亮的图片上传工具
* [vuematerial/vue-material](https://github.com/vuematerial/vue-material) 带有 Material Design 的即用型 Vue 组件,永久免费。
* [quasarframework/quasar](https://github.com/quasarframework/quasar) 在创纪录的时间内构建高性能的 VueJS 用户界面
* [SmallRuralDog/vue3-music](https://github.com/SmallRuralDog/vue3-music) VUE3+TS开发的音乐播放器,模仿mac QQ音乐。
* [troisjs/trois](https://github.com/troisjs/trois) ThreeJS + VueJS 3 + ViteJS,重写一些 WebGL 演示
* [vueComponent/ant-design-vue](https://github.com/vueComponent/ant-design-vue) 基于 Ant Design 和 Vue 的企业级 UI 组件。
* [iview/iview](https://github.com/iview/iview) 基于 Vue.js 2.0 构建的高质量 UI 工具包
* [newbee-ltd/newbee-mall-vue3-app](https://github.com/newbee-ltd/newbee-mall-vue3-app) Vue3 + Vant 搭建大型单页面商城项目。
* [vuejs/awesome-vue](https://github.com/vuejs/awesome-vue) 与 Vue 相关的精彩事物的精选列表
* [vueComponent/ant-design-vue-pro](https://github.com/vueComponent/ant-design-vue-pro) 像专业人士一样使用 Ant Design Vue2
* [ElemeFE/element](https://github.com/ElemeFE/element) 用于 Web 的 Vue.js 2.0 UI 工具包。
* [airyland/vux](https://github.com/airyland/vux) 基于 Vue 和 WeUI 的移动 UI 组件
* [element-plus/element-plus](https://github.com/element-plus/element-plus) Element 团队制作的 Vue.js 3 UI 库
* [vuejs/vue-cli](https://github.com/vuejs/vue-cli) 基于 webpack 的 Vue.js 开发工具
* [vuejs/vue-router](https://github.com/vuejs/vue-router) Vue 2 的官方路由器
### 前端项目_其他
* [zauberzeug/nicegui](https://github.com/zauberzeug/nicegui) NiceGUI 是一个易于使用、基于 Python 的 UI 框架,它显示在您的 Web 浏览器中。您可以创建按钮、对话框、Markdown、3D 场景、绘图等等。它非常适合微型 Web 应用程序、仪表板、机器人项目、智能家居解决方案和类似用例。您还可以在开发中使用它,例如在调整/配置机器学习算法或调整电机控制器时。NiceGUI 以 PyPI 包、Docker 镜像、conda-forge 和 GitHub 的形式提供。特征:基于浏览器的图形用户界面;充当 Web 服务器(由浏览器访问)或处于本机模式(例如桌面窗口);标准 GUI 元素,如标签、按钮、复选框、开关、滑块、输入、文件上传;使用行、列、卡片和对话框进行简单分组;通用 HTML 和 Markdown 元素;强大的高级元素(绘制图形和图表, 渲染 3D 场景,通过虚拟操纵杆获取转向事件,注释和叠加图像,与表交互,导航可折叠树结构,嵌入视频和音频文件);内置计时器,可每隔一段时间(甚至每 10 毫秒)刷新数据;直接的数据绑定和可刷新函数,可编写更少的代码;通知、对话框和菜单,提供最先进的用户交互;共享网页和个人网页;易于使用的每用户和一般持久性;能够添加自定义路由和数据响应;捕获全局快捷键的键盘输入等;通过定义原色、辅助色和强调色来自定义外观;Live-Cycle 事件和会话数据;在 Jupyter Notebook 中运行,并允许 Python 的交互模式;对 Tailwind CSS 的自动完成支持;SVG、Base64 和表情符号网站图标支持;基于 pytest 的测试框架。
* [zlgopen/awtk](https://github.com/zlgopen/awtk) AWTK(Toolkit AnyWhere)是一个跨平台嵌入式 GUI 引擎,由 ZLG开发,支持嵌入式系统、WEB、小程序、手机和 PC 等平台。它提供强大的功能、高效的性能、可靠的质量和易于使用的特性,帮助用户设计美观的 GUI 应用。AWTK 拥有跨平台的代码库,支持 ZLG AWorksOS、Windows、Linux、MacOS、嵌入式 Linux、Android、iOS、HarmonyOS、Web 和嵌入式裸机系统等平台,并提供跨平台基础工具库,如列表、数组、字符串、事件发射器、值、对象、文件系统、互斥锁、线程、公式和字符串分析等,确保应用跨平台运行。AWTK 通过脏矩形算法更新变化部分、支持 3 个 FrameBuffer 以实现最高帧率、使用高效的二进制格式存储 UI 描述文件和主题文件、支持 OpenGL、DirectX、Vulkan 和 Metal 等 GPU加速接口以及嵌入式平台的 2D 加速接口等方式提高效率。此外,AWTK 还提供 UI 设计工具 AWTK Designer,支持拖放式 UI 设计,所见即所得,并支持快速预览和一键打包资源。
* [pocoproject/poco](https://github.com/pocoproject/poco) POCO C++库是一个跨平台的 C++ 库,用于构建运行在桌面、服务器、移动设备、物联网和嵌入式系统上的网络和互联网应用程序。它提供了一组 C++ 类库,类似于 Java 类库或 .NET Framework,专注于解决常见问题,并针对“互联网时代”的网络应用程序。POCO 库使用高效、现代的 100% ANSI/ISO 标准 C++ 编写,基于并补充了 C++ 标准库/STL,具有高度可移植性,可在从嵌入式到服务器的各种平台上使用。POCO 是开源的,使用 [Boost Software License](https://spdx.org/licenses/BSL-1.0)许可。要开始使用 POCO,请参阅 [Guided Tour](https://pocoproject.org/docs/00100-GuidedTour.html) 和 [Getting Started](https://pocoproject.org/docs/00200-GettingStarted.html) 文档。可以使用 CMake 构建 POCO,需要 CMake 3.15 或更高版本、C++17 编译器(Visual C++ 2017、GCC 8.0、Clang 5 或更高版本)、OpenSSL头文件和库(可选,但推荐)、MySQL、PostgreSQL 和 ODBC 客户端库(可选)。
* [AnswerDotAI/fasthtml](https://github.com/AnswerDotAI/fasthtml) FastHTML是一个新一代的网页框架,使用简洁紧凑的代码快速构建可扩展的网页应用。它功能强大,可以构建最先进的交互式网页应用;轻量快速,减少代码量,提高效率;语法简单直观,易于学习和使用,快速构建复杂应用。FastHTML应用本质上是Python代码,可以利用Python语言和生态系统的全部功能。FastHTML的功能与HTML和HTTP直接映射,但允许使用良好的软件工程实践进行封装,因此需要了解这些基础知识才能充分利用该库。要了解其工作原理,请先阅读[about.fastht.ml](https://about.fastht.ml/)。安装方法:使用pip命令安装python-fasthtml库。使用示例:创建一个名为“main.py”的文件,使用Python代码构建网页应用,并使用HTMX添加交互功能。FastHTML提供LLM友好指南,帮助AI系统理解和使用FastHTML。可以通过添加[llms-ctx.txt](https://docs.fastht.ml/llms-ctx.txt)链接,让AI助手使用FastHTML。
* [Naereen/badges](https://github.com/Naereen/badges) 这是一个包含大量 Markdown 代码的徽章列表,可以将这些徽章添加到 GitHub 或 Bitbucket项目的 `README.md` 文件中。该项目提供了各种类型的徽章,例如通用徽章、维护状态徽章、网站状态徽章、反馈徽章、Python 相关徽章、Go 相关徽章、Rust相关徽章、Markdown 相关徽章、LaTeX 相关徽章、JavaScript 相关徽章、GNU Bash 相关徽章、Microsoft Visual Studio Code相关徽章、Read the Docs 状态徽章、GitHub 相关徽章、Bitbucket 相关徽章、PackageControl 相关徽章、许可证徽章、简单图标、开源徽章、元徽章、DOI和 Zenodo 徽章、DOI 引用徽章、Discord 徽章、Jetbrains 徽章、感谢徽章、自定义徽章、随机徽章等。用户可以根据自己的需要选择合适的徽章,并通过提供的 Markdown 代码将其添加到自己的项目中。该项目也欢迎贡献者,鼓励用户添加自己的徽章。
* [omnivore-app/omnivore](https://github.com/omnivore-app/omnivore) 完整的开源稍后阅读解决方案,适合喜欢文本的人。我们创建 Omnivore 是因为我们热爱阅读,我们希望它更具社交性。特色:突出显示、注释、搜索和共享,全键盘导航,自动保存长篇文章中的位置,通过电子邮件添加新闻稿文章(支持 substack!),PDF 支持,用 Node.js 和 TypeScript 编写的 Web 应用程序,原生 iOS 程序,Android 程序,适用于 Android 用户的渐进式 Web 应用程序,Chrome、Safari、Firefox 和 Edge 的浏览器扩展,标签(又称标记),离线支持,文本转语音(仅限 iOS),通过我们的 Logseq 插件支持 Logseq,通过我们的 Obsidian 插件支持 Obsidian,每个部分都是完全开源的!对其进行分叉、扩展或将其部署到您自己的服务器。omnivore.app 一个免费托管的 Omnivore 版本
* [nodegui/nodegui](https://github.com/nodegui/nodegui) 用于使用 Node.js 和 CSS 构建跨平台原生桌面应用程序的库。NodeGUI 由 Qt6 提供支持,与其他基于铬的解决方案(如 Electron)相比,它具有 CPU 和内存效率。特征:跨平台;CPU 和内存占用量低、对于 Hello World 程序,当前 CPU 在空闲时保持在 0%,内存使用率低于 20MB;使用 CSS 进行样式设置(包括实际的级联)。还完全支持 Flexbox 布局;完整的 Nodejs API 支持(目前在 Node v16.x 上运行 - 并且易于升级)。因此可以访问所有与 Nodejs 兼容的 NPM 模块。;本机小部件事件侦听器支持。支持Qt / NodeJs提供的所有事件。;可用于商业应用;良好的 Devtools 支持;良好的文档和网站;为贡献者提供良好的文档;对暗模式的良好支持(感谢Qt)。;一流的 Typescript 支持。
* [libretro/RetroArch](https://github.com/libretro/RetroArch) libretro API 的跨平台、复杂的前端。许可 GPLv3。RetroArch 是 libretro API 的参考前端。此 API 的常见实现示例包括视频游戏系统仿真器和游戏引擎,以及更通用的 3D 程序。这些程序实例化为动态库。我们将这些称为 “libretro 核心”。libretro 是一个公开通用音频 / 视频 / 输入回调的 API。libretro 的前端(例如 RetroArch)处理视频输出、音频输出、输入和应用程序生命周期。用可移植 C 或 C++ 编写的 libretro 核心可以在许多平台上无缝运行,几乎不需要移植工作。虽然 RetroArch 是 libretro 的参考前端,但其他几个项目也使用 libretro 接口来支持模拟器和/或游戏引擎。LibRetro 是完全开放的,任何人都可以免费使用。
* [leeoniya/uPlot](https://github.com/leeoniya/uPlot) uPlot是一个轻量级、快速、基于Canvas 2D的图表库,用于绘制时间序列、折线、面积图、OHLC和条形图。它可以快速渲染包含150,000个数据点的交互式图表,并且缩放和光标性能优异。uPlot支持多种系列、多个Y轴、时间或数值X轴、线性、统一或对数刻度、线和区域样式、可插拔路径渲染器、缩放、图例、时间区域名称支持、缺失数据支持、多个图表的光标同步、聚焦最近系列、数据流、高低波段等功能。它提供了一个精简、一致且强大的API,并支持钩子和插件。uPlot专注于速度和轻量级,因此不包含数据解析、聚合、求和或统计处理功能、过渡或动画、轴刻度标签的碰撞避免、堆叠系列等功能。
* [stashapp/stash](https://github.com/stashapp/stash) Stash是一个用Go语言编写的自托管网络应用程序,用于整理和管理你的色情内容。它从互联网上收集你收藏中的视频信息,并通过社区构建的插件扩展,支持大量内容制作者和网站。Stash支持多种视频和图像格式,可以对视频进行标记以便日后查找,并提供关于演员、标签、工作室等的统计信息。你可以观看一个安全的工作演示视频来了解它的实际操作。更多信息请参阅文档或阅读应用程序内的使用手册。Stash支持Windows、macOS、Linux和Docker等平台,你可以从GitHub Releases页面下载适用于不同平台和架构的最新版本。首次运行时,Windows和macOS用户可能会遇到安全提示,因为二进制文件尚未签名。
* [fschutt/azul](https://github.com/fschutt/azul) Azul是一个免费、功能性、响应式的Rust、C和C++桌面GUI框架,使用WebRender渲染引擎和类似CSS/HTML的文档对象模型,可以快速开发美观、原生桌面应用程序。它支持大量常见的CSS特性,如渐变、阴影、SVG滤镜、混合操作、边框样式、边框半径、滚动/自动溢出、CSS转换等。Azul还提供丰富的内置小部件、OpenGL纹理嵌入、简化的基于CSS flexbox的HTML类相对/绝对布局系统、60+ FPS动画、跨平台原生对话框、跨平台文本整形和渲染、SVG解析和渲染、形状细分、管理非主线程任务、通过共享库进行动态链接、从Rust、C、C++和Python通过自动生成的API绑定进行使用、HTML到Rust编译以进行快速原型设计/热重载。
* [zeux/pugixml](https://github.com/zeux/pugixml) pugixml是一个轻量级、简单且快速的 C++ XML 解析库,它提供类似 DOM 的接口,支持丰富的遍历和修改功能,并包含一个极速的 XML 解析器,用于从 XML 文件或缓冲区构建 DOM 树。此外,它还支持 XPath 1.0,用于执行复杂的数据驱动树查询。pugixml 支持完整的 Unicode,并提供 Unicode 接口变体以及不同 Unicode 编码之间的自动转换。该库广泛应用于各种开源和私有项目,因其性能优异和易于使用的接口而受到欢迎。项目文档包括快速入门指南和完整的参考手册,示例代码展示了如何使用 pugixml 打开 XML 文件、遍历 Tool 节点并打印 Timeout 属性大于 0 的工具信息。该库采用 MIT 许可证,可免费使用。
* [rubickCenter/rubick](https://github.com/rubickCenter/rubick) Rubick是一款基于Electron的开源工具箱,它允许用户自由集成丰富的插件。插件基于npm安装和卸载,非常轻量级。插件数据支持WebDAV多终端同步,保证数据安全。它支持内网部署,可定制进一步开发,非常灵活。用户可以通过快捷键Alt/Option+R快速启动主程序,在主程序输入框中输入关键词搜索相应的应用、插件、文件等,并选择使用。用户也可以通过左侧的logo进入插件市场,找到并安装所需的插件。Rubick支持基于npm包模式的插件管理,支持WebDAV多设备数据同步,支持系统插件模式,支持快速启动本地应用、文件和文件夹,支持企业级内网部署,支持多语言。
* [mbrlabs/Lorien](https://github.com/mbrlabs/Lorien) Lorien是一款适用于Windows、Linux和macOS的无限画布绘图/白板应用程序,使用Godot引擎开发。它以性能、小文件大小和简洁性为重点,采用矢量绘制方式,将笔触保存为点集合,并在运行时渲染,类似于SVG。Lorien主要用于数字笔记和头脑风暴,适合制作小型草图和图表,但并非替代传统的基于位图的绘图软件。它提供无限画布、无限撤销/重做、无限缩放、无限网格、禅模式、极小的保存文件、多文档同时工作等功能,并支持多种工具、移动和删除选定笔触、SVG导出、可重新绑定键盘快捷键、内置和自定义调色板,以及对绘图板(如Wacom)和压力敏感的支持。
* [mherrmann/helium](https://github.com/mherrmann/helium) Helium 是一个 Python 库,用于自动化 Chrome 和 Firefox 等浏览器。要开始使用 Helium,您需要 Python 3 和 Chrome 或 Firefox。我建议创建一个虚拟环境。这使您可以只为当前项目安装 Helium,而不是在整个计算机上全局安装 Helium。在引擎盖下,Helium 将每个调用转发到 Selenium。不同的是,Helium 的 API 级别要高得多。在 Selenium 中,您需要使用 HTML ID、XPaths 和 CSS 选择器来识别网页元素。另一方面,Helium 允许您通过用户可见的标签来引用元素。因此,Helium 脚本通常比类似的 Selenium 脚本短 30-50%。更重要的是,它们更易于阅读,并且在底层网页的变化方面更稳定。
* [saadpasta/developerFolio](https://github.com/saadpasta/developerFolio) 这是一个用于软件开发者展示作品和技能的投资组合模板,提供干净、美观且响应式的设计。该项目目前已停止维护,但用户可以自定义颜色方案和内容,并将其链接到 GitHub 和 Medium 等平台。用户可以使用 Docker 或 Node.js 和 npm 在本地运行该项目,并通过修改 `src/portfolio.js` 文件来自定义内容。该项目包含多个部分,包括个人简介、技能、教育经历、工作经验、开源项目、大型项目、成就和认证、博客、演讲、播客、联系方式、Twitter 时间线和 GitHub 个人资料。用户可以根据需要自定义每个部分。
* [pointfreeco/swift-composable-architecture](https://github.com/pointfreeco/swift-composable-architecture) Composable Architecture(TCA) 是一个用于以一致且易于理解的方式构建应用程序的Swift 库,它注重组合性、测试和人体工程学。它可以用于SwiftUI、UIKit 等框架,以及所有 Apple 平台(iOS、macOS、visionOS、tvOS 和 watchOS)。TCA 提供了用于管理状态、组合组件、处理副作用和进行测试的工具,并提供易于使用的 API,帮助您以简单的方式构建复杂应用程序。您可以在 Point-Free 的视频系列中学习更多关于 TCA 的知识,该系列涵盖了函数式编程和 Swift 语言。该项目还包含大量示例,展示如何使用 TCA 解决各种问题。
* [axa-group/Parsr](https://github.com/axa-group/Parsr) Parsr是一个轻量级的文档处理工具链,可以将图像、PDF、docx、eml 等格式的文档转换为结构化的 JSON、Markdown、CSV/Pandas DF 或 TXT 格式数据。它可以帮助分析师、数据科学家和开发者获取干净的结构化信息,并进行数据录入、文档分析自动化、归档等应用。Parsr 可以进行文档清理、层次结构重建、标题、表格、列表、目录、页码、页眉/页脚、链接等元素的识别。可以通过 Docker 镜像快速安装和运行 Parsr API,也可以通过 GUI 工具发送文档并可视化结果。Parsr 还提供 Python 客户端和 Jupyter Notebook 示例。
* [imuncle/live2d](https://github.com/imuncle/live2d) 这是一个Live2D 模型收集和展示项目,可以将模型直接用于静态网站。项目提供 Live2D Cubism 2 和 Live2D Cubism 3两种模型展示页面,目前已收集 128 个模型。项目使用简单,只需引入 live2d.js 文件,添加 canvas 元素和 CSS 样式,并使用 loadlive2d 函数加载模型即可。模型文件包含 texture、motions、expression、sounds 和 model.json 等,其中 model.json 文件包含模型的配置信息,model.moc 文件是模型本体。项目还提供 Live2D Cubism 3 模型的展示页面,这些模型使用 Cubism Editor 2 制作,并使用 Cubism3 SDK 开发。
* [penrose/penrose](https://github.com/penrose/penrose) Penrose 是一个平台,使人们只需在纯文本中键入符号即可创建漂亮的图表。目标是让非专家也能轻松创建和探索高质量的图表,并提供对具有挑战性的技术概念的更深入见解。我们的目标是使创建视觉直觉的过程大众化。Penrose 已经了解图表的领域以及如何设置图表的样式。您只需定义对象和关系。Penrose 通过将这三个程序转换为使用符号微分解决的优化问题来开展工作。如果您需要添加新形状,这并不是一项艰苦的工作 -- Penrose 会自动创建一个满足您所有约束条件的新图表。
* [glideapps/glide-data-grid](https://github.com/glideapps/glide-data-grid) Glide Data Grid是一个基于画布的快速响应数据表格,支持数百万行数据,快速更新和原生滚动。它使用懒加载渲染单元格,以提高内存效率,并提供原生滚动以确保流畅的用户体验。Glide Data Grid支持多种类型的单元格,包括数字、文本、Markdown、气泡、图像、钻取和URI,并提供内置的编辑功能、可调整大小和移动的列、可变大小的行、合并单元格、单选和多选行、单元格和列,以及完全自定义的单元格渲染功能。它完全免费且开源,并提供MIT许可证,允许在商业项目中使用。
* [loeffel-io/ls-lint](https://github.com/loeffel-io/ls-lint) ls-lint是一个极速的目录和文件名检查工具,可以帮助你为项目文件系统带来结构。它支持多种规则,可以检查目录和文件名,支持所有扩展名和全 Unicode 支持。ls-lint 速度极快,可以在毫秒内检查数千个文件和目录。它支持 Windows、MacOS 和 Linux,并提供 NPM 包、GitHub Action、Homebrew 和 Docker 支持。ls-lint 几乎没有第三方依赖,仅依赖 go-yaml和 doublestar。你可以通过 `.ls-lint.yml` 文件轻松配置规则,并使用简单的命令行工具进行检查。ls-lint 是一个开源软件,使用 MIT 许可证。
* [sourcegraph/checkup](https://github.com/sourcegraph/checkup) Checkup是一个用Go语言编写的分布式、无锁、自托管的健康检查和状态页面工具,具有简洁的命令行界面和易用的Go语言库,两者完全互通且配置对称。它支持HTTP、TCP、DNS和TLS等多种检查类型,以及Amazon S3、本地文件系统、GitHub、MySQL、PostgreSQL、SQLite3和Azure Application Insights等多种存储后端,并可通过多种服务发送通知(需集成)。Checkup的工作原理是将检查结果存储到指定的存储空间,定期运行检查,并将结果显示在状态页面上,状态页面支持自定义和移动端响应。
* [giscus/giscus](https://github.com/giscus/giscus) giscus是一个由 GitHub Discussions 提供支持的评论系统,允许访客通过 GitHub在您的网站上发表评论和反应。它开源、无跟踪、无广告且免费,无需数据库,所有数据都存储在 GitHub Discussions 中。giscus 支持自定义主题、多种语言和高级配置,可以自动从 GitHub 获取新的评论和编辑,并且可以自托管。giscus 使用 GitHub Discussions 搜索 API 来查找与页面关联的讨论,并允许访客通过 GitHub OAuth流程授权 giscus 应用程序代表他们发布评论。您可以在 GitHub 上对评论进行审核。
* [StartBootstrap/startbootstrap-new-age](https://github.com/StartBootstrap/startbootstrap-new-age) Start Bootstrap- New Age 是一个由 Start Bootstrap 创建的 Bootstrap 网页应用着陆页主题。它提供了一个预先设计好的网页布局,方便开发者快速构建网页应用的着陆页。你可以通过下载、npm 安装、git 克隆或在 GitHub 上 Fork、克隆或下载的方式获取该主题。该主题使用 MIT 许可证,允许你将其用于任何目的,包括商业项目。你可以通过修改 `dist` 目录下的 HTML 和 CSS 文件来定制主题,也可以使用 npm 脚本进行更高级的定制,例如构建、编译、清理和启动开发服务器。
* [GoogleChromeLabs/ProjectVisBug](https://github.com/GoogleChromeLabs/ProjectVisBug) VisBug是一款开源网页设计调试工具,它允许设计师直接在浏览器中编辑任何网页,无论其处于何种状态。VisBug 提供类似设计工具的交互体验,例如多选、悬停检查、布局微调、文本编辑、图片替换等,帮助设计师在真实环境中进行设计调试,并快速测试设计想法。它可以与 Figma、Sketch 等设计工具互补,并帮助设计师在开发过程中更有效地解决设计问题。VisBug 支持 Chrome、Firefox、Safari 和 Edge 浏览器,并提供多种安装方式,包括浏览器扩展和 CDN 加载。
* [puppeteer/puppeteer](https://github.com/puppeteer/puppeteer) Node.js 库,提供了一个高级 API 来控制 DevTools 协议上的 Chrome/Chromium。Puppeteer默认以无头模式运行,但可以配置为在完整(“有头”)Chrome / Chromium中运行。示例:生成页面的屏幕截图和 PDF。对 SPA(单页应用程序)进行爬虫并生成预呈现的内容(即“SSR”(服务器端呈现))。自动化表单提交、UI 测试、键盘输入等。使用最新的 JavaScript 和浏览器功能创建自动化测试环境。捕获站点的时间线跟踪,以帮助诊断性能问题。测试Chrome扩展程序。
* [snabbdom/snabbdom](https://github.com/snabbdom/snabbdom) 一个虚拟 DOM 库,专注于简单性、模块化、强大的功能和性能。虚拟DOM真是太棒了。它允许我们将应用程序的视图表示为其状态的函数。但是现有的解决方案太臃肿,太慢,缺乏功能,API偏向于OOP,和/或缺乏我需要的功能。Snabbdom 由一个非常简单、高性能和可扩展的核心组成,该内核仅≈ 200 个 SLOC。它提供了一个模块化架构,具有丰富的功能,可以通过自定义模块进行扩展。为了保持核心的简单性,所有非必要的功能都委托给模块。
* [liveblocks/liveblocks](https://github.com/liveblocks/liveblocks) Liveblocks是一个平台,帮助开发者在应用程序中添加协作编辑、评论和通知功能。它提供了一套完整的解决方案,包括评论、通知、文本编辑器和实时API等核心产品,开发者可以根据需要选择使用。Liveblocks还提供针对不同库和框架的软件包和SDK,方便开发者将协作功能集成到自己的产品中,例如协作文本编辑器、评论、通知等。开发者可以通过文档、指南、教程和示例等资源学习使用Liveblocks,并通过GitHub问题和Discord社区寻求帮助。
* [antvis/G2](https://github.com/antvis/G2) 用于仪表板构建、数据探索和讲故事的可视化语法。通过简洁的声明帮助您快速获得有意义的可视化效果,并推断其余部分。但是,您可以为复杂和高级情况配置更多内容。采用功能性声明式 API 以编程方式指定图表选项,这有助于更好的逻辑重用和更灵活的代码组织。为了满足特定需求,G2 提供了一种方便且一致的机制来扩展您能想象到的一切,无论是缩放、转换、标记等。您甚至可以基于此机制自定义全新的可视化工具。
* [gotson/komga](https://github.com/gotson/komga) Komga是一个用于管理漫画、漫画书、蓝光光碟、杂志和电子书的媒体服务器,它提供 API、OPDS 和 Kobo Sync 支持。Komga 提供响应式网页界面,支持桌面、平板电脑和手机浏览,并提供多种功能,包括组织图书馆、编辑元数据、自动导入嵌入式元数据、提供多模式阅读器、管理用户、提供 REST API、支持 OPDS v1 和 v2、Kobo Sync、下载文件、检测重复文件、导入 ComicRack `cbl` 阅读列表等。用户可以访问 Komga 网站获取安装和文档信息。
* [StartBootstrap/startbootstrap-landing-page](https://github.com/StartBootstrap/startbootstrap-landing-page) Start Bootstrap- Landing Page 是一个由 Start Bootstrap 创建的多功能 Bootstrap 着陆页模板,提供响应式设计。你可以通过 Start Bootstrap 网站下载最新版本,使用 npm安装,或克隆代码库。该模板包含 `dist` 目录,其中包含 HTML 和 CSS 文件,你可以直接修改这些文件来定制页面。此外,你还可以使用 npm 脚本构建、编译和运行项目,并使用 `npm start` 在浏览器中预览模板。该模板基于 MIT 许可证,可用于任何目的,包括商业项目。
* [sproogen/modern-resume-theme](https://github.com/sproogen/modern-resume-theme) 这是一个现代化的静态简历模板和主题,由 Jekyll 和 GitHub Pages 提供支持,允许你免费在 GitHub 上托管自己的简历。该项目提供黑暗模式,并支持自定义内容配置,允许你添加多个内容部分,并以任意顺序排列。你可以在 GitHub 上查看项目路线图,并通过提供的安装和设置指南,轻松将模板部署到 GitHub Pages 上。该模板使用 Markdown 和 YAML 文件进行内容编辑,你可以根据自己的需求修改内容,并自定义简历的配置。
* [mozilla/geckodriver](https://github.com/mozilla/geckodriver) geckodriver是一个用于 Firefox 浏览器的 WebDriver 代理,它允许使用兼容 W3C WebDriver协议的客户端与基于 Gecko 的浏览器进行交互。geckodriver通过充当本地端和远程端之间的代理,将 WebDriver 协议调用转换为 Marionette 远程协议。您可以从 GitHub 的发布页面下载预编译的二进制文件,或者使用 Cargo 或从 release 分支编译它。geckodriver 的源代码在 mozilla-central 的 testing/geckodriver 目录下,该 GitHub 存储库仅用于问题跟踪和发布。
* [Whisky-App/Whisky](https://github.com/Whisky-App/Whisky) Whisky是一个用 SwiftUI 构建的现代 macOS Wine 包装器,提供简洁易用的图形界面,无需技术知识即可创建和管理 Wine 瓶子,安装和运行 Windows应用和游戏。Whisky 基于 CrossOver 22.1.1 和 Apple 的 Game Porting Toolkit 构建,并支持通过 Homebrew安装。一些游戏可能需要特殊步骤才能正常运行,可以在项目 Wiki 页面上找到相关支持信息。Whisky 的开发得益于多个开源项目的贡献,包括 msync、DXVK-macOS、MoltenVK、Sparkle 等。
* [mkdocs/mkdocs](https://github.com/mkdocs/mkdocs) MkDocs 是一个快速、简单且华丽的静态站点生成器,适用于构建项目文档。文档源文件是用 Markdown 编写的,并使用单个 YAML 配置文件进行配置。它的设计易于使用,并且可以通过第三方主题、插件和 Markdown 扩展进行扩展。特征:从 Markdown 文件构建静态 HTML 文件。使用插件和 Markdown 扩展来增强 MkDocs。使用内置主题、第三方主题或创建您自己的主题。在可以提供静态文件的任何地方发布您的文档。
* [gruns/ImmortalDB](https://github.com/gruns/ImmortalDB) ImmortalDB是一个为浏览器设计的持久化键值存储,它将数据冗余地存储在 Cookie、IndexedDB 和 LocalStorage 中,并能自动修复因数据删除或损坏导致的问题。即使用户清空 Cookie 或浏览器因存储压力而删除 IndexedDB 和 LocalStorage,ImmortalDB 依然能保持数据完整性。ImmortalDB 提供简单易用的 Promise API,支持 set、get 和 remove 操作,并通过比较不同存储中的数据来确保数据一致性,从而实现高可靠性和数据冗余。
* [qor/qor](https://github.com/qor/qor) QOR是一个用Go语言编写的库集合,它抽象出了业务应用、CMS和电商系统所需的常见功能,包含Admin(后台管理界面和RESTful API)、Publish(内容发布管理)、Transition(状态机)、Media Library(媒体库)、Worker(任务调度)等模块,并提供国际化、本地化和权限控制等功能,开发者可通过它更轻松地构建复杂的电商系统,但需要一定的编码技能,并非开箱即用的解决方案。项目已开源,并提供在线演示和文档。
* [DIYgod/DPlayer](https://github.com/DIYgod/DPlayer) DPlayer是一个可爱的HTML5弹幕视频播放器,旨在帮助用户轻松构建视频和弹幕。它支持多种流媒体格式(如HLS、FLV、MPEGDASH、WebTorrent)和媒体格式(如MP4 H.264、WebM、Ogg Theora Vorbis),并提供弹幕、截图、热键、画质切换、缩略图、字幕等功能。DPlayer还拥有丰富的插件生态,如DPlayer-thumbnails用于生成视频缩略图,DPlayer-node用于Node.js弹幕API,以及针对不同平台的插件,如Typecho、Hexo、WordPress等。
* [terkelg/prompts](https://github.com/terkelg/prompts) Prompts是一个轻量级、美观且用户友好的交互式提示库,它提供简单易用的 CLI 提示,用于向用户询问信息。Prompts没有依赖大型库,也不像其他库那样被拆分成许多只能协同工作的模块。它使用布局和颜色来创建美观的 CLI 界面,并使用 Promise 和 `async`/`await`,避免回调地狱。Prompts 的所有提示都是独立的,可以单独使用,并且提供了一种以编程方式提交答案的方式,确保一致的用户体验。
* [LadybirdBrowser/ladybird](https://github.com/LadybirdBrowser/ladybird) Ladybird是一款基于 Web 标准的独立浏览器,旨在为现代网络构建一个完整可用的浏览器。它采用多进程架构,包括主 UI 进程、多个 WebContent 渲染进程、图像解码进程和请求服务器进程,以提高安全性。Ladybird 依赖于 SerenityOS 的核心库,如 LibWeb、LibJS、LibWasm 等,支持 Linux、macOS、Windows(使用 WSL2)等多种平台。用户可以在 Discord 服务器上参与开发讨论,并参考文档文件夹中的相关信息。
* [getredash/redash](https://github.com/getredash/redash) 让您的公司以数据为导向。连接到任何数据源,轻松可视化、仪表板和共享您的数据。Redash 旨在使任何人,无论技术复杂程度如何,都能利用大大小小的数据的力量。SQL 用户利用 Redash 来探索、查询、可视化和共享来自任何数据源的数据。他们的工作反过来又使组织中的任何人都可以使用这些数据。每天,全球数千个组织中的数百万用户使用 Redash 来开发见解并做出数据驱动的决策。
* [windingwind/zotero-pdf-translate](https://github.com/windingwind/zotero-pdf-translate) Zotero PDFTranslate是一款Zotero插件,可以将PDF、EPub、网页、元数据、注释和笔记翻译成目标语言,支持20多种翻译服务。用户可以选择文本进行翻译,翻译结果会显示在弹出窗口和右侧边栏中,也可以将翻译结果添加到注释或笔记中。插件还提供独立的翻译窗口,方便用户查看和比较来自多个引擎的翻译结果。用户可以通过快捷键`Ctrl+T`进行翻译,也可以手动选择翻译服务和目标语言。
* [alyssaxuu/omni](https://github.com/alyssaxuu/omni) Omni是一款浏览器增强工具,它提供了一个强大的命令界面,让你像专业人士一样使用浏览器。你可以通过命令搜索标签、书签、浏览历史记录,执行各种操作等等。Omni支持Chrome和Firefox浏览器,并提供丰富的功能,包括标签管理、书签管理、浏览历史搜索、50多个提升效率的操作、与Notion、Figma、Docs、Asana等工具集成、快捷键操作、高级设置等等,所有功能免费使用,无需登录。
* [thedaviddias/Front-End-Design-Checklist](https://github.com/thedaviddias/Front-End-Design-Checklist) 该项目提供了一个全面的前端设计清单,旨在帮助前端开发者分析和理解网页设计,确保前端开发的质量。清单涵盖了设计需求、分析和预备阶段、验证、开发阶段以及生产前准备等多个方面,包括网格系统、颜色、字体、链接、图片、表单、响应式设计等内容。开发者可以通过使用该清单与设计师进行沟通,确保所有重要元素都被考虑,并避免在开发过程中出现遗漏或问题。
* [readthedocs/sphinx_rtd_theme](https://github.com/readthedocs/sphinx_rtd_theme) Read the Docs SphinxTheme 是一个为桌面和移动设备提供出色阅读体验的 Sphinx 主题,主要用于 Read the Docs,但可以与任何 Sphinx 项目配合使用。该主题高度可定制,支持多种配置选项,并提供详细的文档和示例。用户可以通过 pip 安装该主题,并在 Sphinx 项目的 conf.py 文件中设置 html_theme 为 "sphinx_rtd_theme" 来使用它。该项目还提供贡献指南,欢迎开发者参与主题的修改和翻译。
* [mdbootstrap/material-design-for-bootstrap](https://github.com/mdbootstrap/material-design-for-bootstrap) Material Design for Bootstrap4 是一个免费的 Bootstrap 4 UI 工具包,包含 700多个组件,支持 MIT 许可证,简单易安装。它由MDBootstrap 创建,受到 200 万开发者和设计师的信赖,并被 NASA、Nike、Amazon 等知名公司和机构使用。该项目提供多种安装方式,包括 .zip、npm 或 cdnjs,并提供免费的 MDBGO 托管服务,支持 WordPress 集成,提供自定义域名、SSL 支持、免费数据库、前端和后端模板等功能。
* [ai/easings.net](https://github.com/ai/easings.net) 缓动函数 :自定义参数随时间变化的速率。 现实生活中,物体并不是突然启动或者停止, 当然也不可能一直保持匀速移动。就像我们 打开抽屉的过程那样,刚开始拉的那一下动作很快, 但是当抽屉被拉出来之后我们会不自觉的放慢动作。 或是掉落在地板上的物体,一开始下降的速度很快, 接着就会在地板上来回反弹直到停止。 这个页面将帮助你选择正确的缓动函数。
* [primefaces/primeng](https://github.com/primefaces/primeng) 使用 PrimeNG 的全面可定制、功能丰富的 UI 组件套件提升您的 Web 应用程序。有了 PrimeNG,将您的开发愿景变为现实从未如此简单。在与设计无关的基础设施上精心制作,可从大量主题(如 Material、Bootstrap、Tailwind、PrimeOne)中进行选择或开发您自己的主题。400+ 准备好复制粘贴 UI 块,以立即构建出色的应用程序。专业设计、高度可定制的应用程序模板,以时尚的方式开始。
* [ParthJadhav/Tkinter-Designer](https://github.com/ParthJadhav/Tkinter-Designer) Tkinter Designer是一个使用Figma设计软件快速创建Python GUI的工具,它通过分析Figma设计文件生成相应的代码和文件,简化了GUI开发过程。该项目支持多帧设计,用户可以在一个设计文件中创建多个框架,并生成相应的代码和文件。Tkinter Designer的优势在于其拖放式界面,比手动编写代码更快,并能生成更美观的界面。用户可以通过YouTube视频或项目文档了解详细的使用说明。
* [tabulapdf/tabula](https://github.com/tabulapdf/tabula) Tabula是一款开源工具,用于从 PDF 文件中提取表格数据。它通过简单的网页界面,将 PDF 文件中的表格数据转换为 CSV 格式。Tabula仅适用于文本型 PDF 文件,不支持扫描文档。Tabula 在本地运行,确保数据安全,不会将您的 PDF 文件或提取的数据上传到网络。该项目目前处于维护状态,主要更新集中在 `tabula-java` 库上,该库提供命令行界面和 Java 库,用于提取表格数据。
* [andrew--r/frontend-case-studies](https://github.com/andrew--r/frontend-case-studies) 这是一个精选的企业级前端开发技术演讲和文章列表,旨在帮助开发者了解如何将框架和技术应用于现实世界中的问题,并解决大规模应用的挑战。该项目收录了来自 AdRoll、Airbnb、Amazon、Atlassian、BBC、Bloomberg、BuzzFeed、Cloudflare、Dropbox、eBay、Etsy、Facebook、Figma、GitHub、Google、Instagram、LinkedIn、Netflix、PayPal、Pinterest、Reddit、Shopify、Slack 等众多知名公司的案例研究。
* [antvis/F2](https://github.com/antvis/F2) F2是一个专注于移动端的可视化图表库,提供简洁、交互式且灵活的图表绘制方案,完美适配 H5 页面、小程序、Weex 等多种移动端环境。F2 基于 Grammar of Graphics 理念构建,拥有完善的图表语法体系,便于用户快速构建各种图表类型。F2 针对移动端场景优化,拥有轻量级的体积和高效的渲染性能,并提供丰富的图表交互功能,帮助开发者快速构建移动端图表应用。
* [yujiosaka/headless-chrome-crawler](https://github.com/yujiosaka/headless-chrome-crawler) Headless Chrome Crawler是一个基于无头Chrome的分布式爬虫,它提供简单的API来爬取动态网站(例如使用AngularJS、React和Vue.js构建的网站)。该项目支持分布式爬取、并发配置、深度优先和广度优先搜索算法、多种缓存存储(如Redis)、CSV和JSON Lines结果导出、暂停和恢复功能、jQuery自动注入、截图保存、设备和用户代理模拟、优先级队列以及robots.txt和sitemap.xml遵守。
* [ml-tooling/best-of-web-python](https://github.com/ml-tooling/best-of-web-python) 该项目是一个精心整理的 Python Web 开发库列表,包含 580 个开源项目,总计 300 万颗星,涵盖 26 个类别。所有项目都根据项目质量评分进行排名,该评分基于从 GitHub 和不同包管理器自动收集的各种指标计算得出。您可以通过提交问题、拉取请求或直接编辑项目文件来添加或更新项目。该项目还提供其他最佳列表资源,并提供订阅以获取更新和趋势项目信息。
* [dotnet/eShop](https://github.com/dotnet/eShop) eShop是一个使用 .NET Aspire 构建的电商网站参考应用程序,采用服务化架构,提供完整的电商网站功能。项目提供 Docker 部署方式,支持 Windows、Mac 和 Linux 平台,并提供 Visual Studio 和 Visual Studio Code 开发环境配置指南。用户可以通过命令行或 Visual Studio 启动应用程序,并通过提供的 URL 访问 Aspire 仪表盘。该项目还集成了 Azure OpenAI 功能,可用于增强用户体验。
* [tapexyz/tape](https://github.com/tapexyz/tape) Tape是一个开源的媒体分享平台,它使用 Pnpm 作为包管理器,包含多个应用程序和包,例如前端应用程序、视频嵌入播放器、后台任务、API、元标签生成器和无许可注册合约。用户可以在 Discord 社区中讨论功能、提出想法或寻求帮助。开发者可以通过安装依赖项、启动应用程序并访问 http://localhost:4783 来开始使用 Tape。代码库是开源的,并使用 AGPLv3许可证。
* [fresns/fresns](https://github.com/fresns/fresns) Fresns是一款免费开源的跨平台通用型社交网络服务软件,支持灵活多样的内容形式,可满足各种运营场景。它采用模块化设计,易于二次开发,支持多种数据库,包括 MySQL、MariaDB、PostgreSQL、SQL Server 和 SQLite。用户可通过官方文档进行安装和操作,开发者可参考扩展文档和数据库结构进行开发。Fresns 提供丰富的 API 接口,方便 Web 和 App 开发者进行集成。
* [RitikPatni/Front-End-Web-Development-Resources](https://github.com/RitikPatni/Front-End-Web-Development-Resources) 这是一个面向前端开发者的开源资源库,包含大量学习资料和工具,涵盖了从基础知识到进阶技能的各个方面,例如 Flexbox 和 Grid布局指南、命令行工具使用教程、代码编辑器扩展推荐、CSS 框架、图标库、颜色搭配、字体选择、设计灵感、动画框架、地理位置 API、模拟工具、书籍推荐、挑战练习、免费学生工具等,旨在帮助开发者提升前端开发技能。
* [Tencent/omi](https://github.com/Tencent/omi) Omi - Web 组件框架,通过无功信号进行信号驱动的无功编程;100+ OMI模板和OMI模板源代码;OMI表单和OMI表单游乐场和Lucide Omi图标;OMIU预览正在进行中&OMIU源代码;体积小,性能快;您需要的一切:Web 组件、JSX、函数组件、路由器、悬念、指令、Tailwindcss......;支持面向对象编程(OOP)和面向数据编程(DOP);利用可构建的样式表轻松管理和共享样式
* [ben-rogerson/twin.macro](https://github.com/ben-rogerson/twin.macro) Twin.macro是一个在构建时将Tailwind CSS的便捷性和css-in-js库(如Emotion、styled-components等)的灵活性结合起来的工具。它通过Babel在编译阶段将Tailwind类名转换为CSS对象,并将其传递给选择的css-in-js库,无需额外客户端包,从而保持构建体积小巧。 它支持多种使用方式,例如直接在jsx元素上使用`tw`宏,或在css-in-js库中混合使用Tailwind类名和自定义样式。
* [golang-ui/nuklear](https://github.com/golang-ui/nuklear) 该项目为 Nuklear.h 提供 Go 语言绑定,Nuklear.h 是一个小型 ANSI C GUI 库。它使用自动生成的绑定代码,并提供对Nuklear 的所有功能的访问,包括即时模式 GUI、可定制性、低内存占用和跨平台支持。该项目支持 Windows、OS X、Linux 和 Android 平台,并提供 GLFW 和 SDL2 的渲染后端。用户可以使用 Go 语言编写应用程序逻辑,并使用 Nuklear 的 API构建用户界面。
* [ochococo/Design-Patterns-In-Swift](https://github.com/ochococo/Design-Patterns-In-Swift) 这是一个使用 Swift 5.0 实现设计模式的项目,包含行为型、创建型和结构型三种模式,并提供 Xcode 10.2 Playground文件,方便学习和使用。项目由 [@nsmeme](http://twitter.com/nsmeme) (Oktawian Chojnacki) 创建,并由[@binglogo](https://twitter.com/binglogo) 翻译成中文。项目包含详细的代码示例和解释,并提供 CONTRIBUTING.md 文件,指导如何生成 README、Playground 和 zip 文件。
* [jglovier/resume-template](https://github.com/jglovier/resume-template) 这是一个基于 Jekyll 和 GitHub Pages 的简单简历模板,提供本地运行和 Docker运行方式,方便用户测试和定制。用户可以通过修改 `/_config.yml` 文件和 `/_layouts/resume.html` 文件进行个性化设置,并可免费发布到 GitHub Pages。项目提供路线图和贡献指南,鼓励用户参与改进。项目代码和样式采用 MIT 许可证,但模板中的示例内容不可用于用户自己的简历。
* [revolist/revogrid](https://github.com/revolist/revogrid) RevoGrid是一个高性能的虚拟数据表格组件,使用StencilJS构建,支持百万级单元格和数千列,具有极快的渲染速度。它结合了Excel的优秀特性,并具有智能虚拟DOM、虚拟滚动等技术以优化性能,支持公式计算、主子表、拖拽、排序、过滤、导出、单元格合并、自定义模板等高级功能,并提供丰富的可定制选项,例如列类型、单元格编辑器等。
* [2227324689/gpmall](https://github.com/2227324689/gpmall) 咕泡学院实战项目“咕泡商城”是一个基于SpringBoot+Dubbo构建的电商平台,采用微服务架构,包含商城、电商、微服务、高并发、kafka、Elasticsearch等技术。该项目旨在帮助学员深入理解微服务架构,并提供一个实际的电商平台构建经验,涵盖了业务逻辑、技术实现、性能优化等方面,适合想要学习微服务架构和电商平台开发的Java开发者。
* [BrowserBox/BrowserBox](https://github.com/BrowserBox/BrowserBox) 从服务器上运行的浏览器浏览 Web,而不是在本地设备上。轻量级虚拟浏览器。为了安全、隐私等。基于 Web 的小型浏览器,可以嵌入到任何地方。它也是多人游戏,允许许多客户端同时在屏幕上共享相同的浏览会话。它轻巧且快速,消耗最少的系统资源,同时调整其流媒体质量,以利用尽可能多的带宽来提供低延迟、响应迅速的体验。
* [birobirobiro/awesome-shadcn-ui](https://github.com/birobirobiro/awesome-shadcn-ui) awesome-shadcn-ui 是一个精选的列表,包含与 shadcn/ui 相关的各种资源,包括组件库、示例项目和工具。该项目旨在帮助开发者更方便地使用 shadcn/ui,并提供一些灵感和参考。项目特色包括:提供各种组件库,方便开发者快速构建用户界面;包含示例项目,展示如何使用 shadcn/ui 构建实际应用;提供工具,帮助开发者更有效地使用 shadcn/ui。
* [elkowar/eww](https://github.com/elkowar/eww) Eww是一个用 Rust 编写的独立小部件系统,允许你在任何窗口管理器中实现自定义小部件。它提供详细的文档和安装指南,并支持多种配置方式。Eww 拥有丰富的示例,包括基本状态栏、垂直状态栏、自定义设置等,用户可以根据自己的需求进行定制。Eww 鼓励用户贡献代码,例如添加新的小部件、功能或子命令,并提供详细的贡献步骤。
* [Avaiga/taipy](https://github.com/Avaiga/taipy) 立即将数据和 AI 算法转换为生产就绪型 Web 应用程序。开发应用程序的前端,而无需了解 HTML、CSS 和 JS。通过简单的语法,加速创建可自定义的多页仪表板,并生成交互式界面,包括图表和各种广泛使用的控件。对数据流进行建模并编排管道。在存储、记录和可操作方案(管道执行)时对其进行管理,从而实现假设分析或 KPI 比较。
* [unoplatform/uno](https://github.com/unoplatform/uno) 使用 C# 和 XAML 构建移动、桌面和 WebAssembly 应用。开源和专业支持。它允许 C# 和 WinUI XAML 和/或 C# 代码在所有目标平台上运行,同时允许你控制每个像素。它开箱即用地支持 Fluent、Material 和 Cupertino 设计系统。Uno 平台实现了越来越多的 WinRT 和 WinUI API,例如 Microsoft.UI.Xaml,以使 WinUI 应用程序能够在具有本机性能的所有平台上运行。
* [badges/shields](https://github.com/badges/shields) 以 SVG 和光栅格式提供简洁、一致且清晰的徽章的服务,可以轻松包含在 GitHub 自述文件或任何其他网页中。该服务支持数十种持续集成服务、软件包注册表、发行版、应用商店、社交网络、代码覆盖服务和代码分析服务。它每月提供超过 8.7 亿张图像,并被世界上一些最受欢迎的开源项目使用,包括 VS Code、Vue.js 和 Bootstrap 等。
* [goabstract/Awesome-Design-Tools](https://github.com/goabstract/Awesome-Design-Tools) Awesome Design Tools是一个收集了各种设计工具和插件的资源库,涵盖了设计流程的各个方面,包括可访问性工具、动画工具、协作工具、原型设计工具等。该项目由 Flawless App 团队维护,现已加入 Abstract 公司。用户可以通过目录或关键词搜索找到所需工具,也可以提交新的工具或插件。项目鼓励用户贡献,并提供简单的贡献指南。
* [gristlabs/grist-core](https://github.com/gristlabs/grist-core) Grist 是电子表格的演变。它结合了电子表格的灵活性和数据库的健壮性。grist-core (此存储库)具有运行强大的电子表格托管服务器所需的一切。grist-electron 是一款 Linux/macOS/Windows 桌面应用程序,用于查看和编辑本地存储的电子表格。grist-static 是 Grist 的完全浏览器内构建,用于在没有后端支持的情况下在网站上显示电子表格。
* [kando-menu/kando](https://github.com/kando-menu/kando) Kando是一款跨平台的圆形菜单,为你的桌面提供一种非传统、快速、高效且有趣的方式与电脑交互。你可以使用 Kando 启动应用程序、模拟键盘快捷键、打开文件等等。Kando 支持鼠标、触控笔和触控输入,适用于需要频繁使用鼠标或触控笔的用户。Kando 已在 Windows、macOS、GNOME/X11、GNOME/Wayland、KDE/X11 和 KDE/Wayland等平台上测试。
* [CosmicMind/Material](https://github.com/CosmicMind/Material) 用于创建美观应用程序的 UI/UX 框架。Material 的动画系统已经过完全重新设计,以利用 Motion,一个专门用于动画和过渡的库。特征:完全可定制、运动动画和过渡、用于自动布局和网格系统的布局工具、颜色库、卡、FABMenu、图标、文本字段、Snackbar、制表符、芯片、搜索栏、导航控制器、导航抽屉、底部导航栏、示例项目
* [getnikola/nikola](https://github.com/getnikola/nikola) Nikola是一个静态网站和博客生成器,它将内容转换为可部署的网站。它具有博客功能(标签、Feed、存档、评论等)、主题定制、快速构建、丰富的插件、支持多种输入语言(reStructuredText、Markdown等)、图像库、语法高亮、多语言支持等特性,并基于Python 3.8+,通过pip安装即可使用,安全、资源占用少且避免厂商锁定。
* [marko-js/marko](https://github.com/marko-js/marko) 一种基于 HTML 的声明性语言,使构建 Web 应用程序变得有趣。Marko 是 HTML 重新构想的一种语言,用于构建动态和反应式用户界面。几乎所有有效的 HTML 都是有效的 Marko,并且 Marko 扩展了 HTML,以便以更声明的方式构建现代应用程序。这些扩展包括条件和列表、状态和组件。Marko 支持单文件组件和跨单独文件的组件。
* [documenso/documenso](https://github.com/documenso/documenso) Documenso是一个开源的 DocuSign 替代方案,旨在成为全球最值得信赖的文档签名工具。它允许用户自行托管 Documenso 并审查其工作原理,从而建立信任。Documenso 正在进行应用程序的重新设计,包括代码库的改进,使其更易于使用和开发。用户可以查看此仓库中的第一个源代码版本并进行测试,并通过讨论区反馈意见。
* [basecamp/omakub](https://github.com/basecamp/omakub) Omakub是一个一键式工具,可以将全新的 Ubuntu 系统转换为一个配置完善、美观且现代的 Web 开发环境。它提供了一个经过精心选择的工具集,无需手动配置,让您快速开始开发工作。Omakub 秉持着对 Linux 最佳实践的理念,提供了一个完善的开发环境。您可以在 [omakub.org](https://omakub.org) 观看介绍视频和了解更多信息。
* [segment-boneyard/nightmare](https://github.com/segment-boneyard/nightmare) 高级浏览器自动化库。目标是公开一些模仿用户操作的简单方法(如 goto 和 type click ),其 API 对每个脚本块都感觉同步,而不是深度嵌套的回调。它最初设计用于跨没有 API 的站点自动执行任务,但最常用于 UI 测试和爬虫。在幕后,它使用 Electron,它类似于 PhantomJS,但速度大约是 PhantomJS 的两倍,而且更现代。
* [tnfe/TNT-Weekly](https://github.com/tnfe/TNT-Weekly) TNT-Weekly是一个每周推荐国内外前端领域优秀文章和行业进展的项目,旨在帮助前端开发者快速了解最新技术和趋势。项目提供精选的优质文章,涵盖了前端开发、H5、小程序等多个领域,并附有简要的介绍和链接,方便读者快速获取信息。用户可以关注 TNT-Weekly 的官方公众号或 GitHub 仓库,获取最新的推荐内容。
* [visgl/deck.gl](https://github.com/visgl/deck.gl) 简化大型数据集的高性能、基于 WebGL 的可视化。用户可以通过组合现有图层,以最小的工作量快速获得令人印象深刻的视觉效果,或者利用 deck.gl 的可扩展架构来满足自定义需求。deck.gl 将数据(通常是 JSON 对象数组)映射到一堆视觉层中,例如图标、多边形、文本;并用视图查看:例如地图、第一人称、正交。
* [pancakeswap/pancake-frontend](https://github.com/pancakeswap/pancake-frontend) PancakeSwap前端项目包含PancakeSwap应用的主要功能,例如农场、池子、IFO、彩票和用户个人资料等。该项目提供多种SDK,例如用于构建PancakeSwap应用的SDK、Aptos版本的SDK以及用于获取最佳交易路线的智能路由SDK等,并包含用于开发和构建的详细说明。开发者可以使用pnpm安装依赖项并启动开发服务器或构建生产版本。
* [up-for-grabs/up-for-grabs.net](https://github.com/up-for-grabs/up-for-grabs.net) Up-for-grabs.net 是一个网站,它列出了专门为新手贡献者准备的任务的开源项目。这些任务是开始参与开源项目或帮助分担开源项目工作量的绝佳方式。该网站的代码库包含网站内容,你可以通过提交请求来添加你自己的项目。网站使用 Netlify部署,并提供详细的贡献指南和工作原理文档,方便你参与贡献。
* [mendel5/alternative-front-ends](https://github.com/mendel5/alternative-front-ends) 该项目收集了众多流行互联网平台的开源替代前端,例如 YouTube、Twitter 等,旨在提供隐私友好、无广告、无跟踪的替代方案。项目提供详细的项目列表,包括每个项目的 GitHub 链接、官方实例地址、安装指南等信息,方便用户选择合适的替代方案。项目还鼓励用户提交新的开源项目,以丰富项目内容。
* [jeecgboot/JimuReport](https://github.com/jeecgboot/JimuReport) 「开源可视化报表,商业BI替代方案」积木报表是一款类似excel操作风格,在线拖拽完成设计的报表工具。低代码产品的臂膀!功能涵盖: 报表设计、图形报表、打印设计、大屏设计等,完全免费!秉承“简单、易用、专业”的产品理念,极大的降低报表开发难度、缩短开发周期、解决各类报表难题。
* [ProseMirror/prosemirror](https://github.com/ProseMirror/prosemirror) ProseMirror是一个基于contentEditable的富文本语义内容编辑器,支持协同编辑和自定义文档模式。它由多个模块组成,此仓库主要用于问题追踪和开发辅助。项目提供丰富的示例和文档,并采用MIT许可证开源,用户可通过npm安装使用各个模块;开发者可通过提供的脚本进行项目开发、构建、测试和管理。
* [MewPurPur/GodSVG](https://github.com/MewPurPur/GodSVG) GodSVG是一款跨平台的矢量图形编辑器,用于结构化的SVG编辑,目前处于alpha测试阶段。它直接编辑SVG代码,不添加元数据,并支持实时代码编辑,旨在生成简洁高效的SVG文件。用户可通过友好的界面交互式编辑SVG元素,并拥有多种优化选项。软件可从GitHub releases下载,Mac用户可能需要禁用Gatekeeper。
* [vanilla-extract-css/vanilla-extract](https://github.com/vanilla-extract-css/vanilla-extract) vanilla-extract是一个TypeScript库,用于在构建时生成静态CSS文件,实现零运行时开销。它结合了TypeScript类型安全、局部作用域类名和CSS变量,类似于CSS Modules,但功能更强大,支持主题系统、`calc`表达式计算等。该库与任何前端框架兼容,并提供可选的运行时版本用于开发和测试,以及动态主题API。
* [linuxserver/Heimdall](https://github.com/linuxserver/Heimdall) Heimdall是一个应用程序仪表板和启动器,它可以帮助你整理所有网络应用程序的链接,并提供优雅的解决方案来组织你的书签。它支持自定义链接和搜索功能,并可以作为你的浏览器起始页。Heimdall 还支持增强型应用程序,例如 NZBGet 和 Sabnzbd,可以显示实时统计信息,例如队列大小和下载速度。
* [alshedivat/al-folio](https://github.com/alshedivat/al-folio) al-folio是一个为学者设计的简洁、美观、响应式的 Jekyll 主题,适合创建个人主页、博客、实验室页面、课程、研讨会、会议和聚会等网页,并拥有一个活跃的用户社区。该主题使用 Jekyll 构建,支持 Docker 镜像部署,并提供多种功能,例如自定义导航栏、社交媒体集成、文章列表、代码高亮等。
* [jupyter-widgets/ipywidgets](https://github.com/jupyter-widgets/ipywidgets) ipywidgets是用于Jupyter Notebook和IPython内核的交互式HTML小部件,允许创建动态、交互式的可视化和应用程序。它通过在浏览器中渲染交互式HTML元素来工作,并使用消息传递机制与Python内核进行通信,从而实现用户界面与Python代码的实时交互。该项目提供稳定版和开发版,并有丰富的文档和示例。
* [WebStackPage/WebStackPage.github.io](https://github.com/WebStackPage/WebStackPage.github.io) Webstack.cc 是一个静态响应式网址导航网站,基于 Bootstrap 前端框架开发,提供多种主题和功能,例如自定义导航栏、添加网站、搜索等。该项目是开源的,代码托管在 GitHub 上,用户可以自由使用和修改。项目特色是简洁易用,用户可以轻松创建自己的导航网站,方便管理和访问常用的网站。
* [felixrieseberg/macintosh.js](https://github.com/felixrieseberg/macintosh.js) macintosh.js 是一个使用 Electron 构建的虚拟苹果 Macintosh,运行着 System 8操作系统,模拟 1991 年的 Macintosh Quadra。该项目通过模拟 Macintosh 的硬件和软件环境,让用户在现代电脑上体验经典的 Macintosh 操作系统。项目提供 Windows、macOS 和 Linux 平台的下载,用户可以根据自己的系统选择合适的版本。
* [bradtraversy/design-resources-for-developers](https://github.com/bradtraversy/design-resources-for-developers) 该项目是一个为开发者精心整理的设计和UI资源列表,包含股票照片、网页模板、CSS框架、UI库、工具等等,涵盖UI图形、字体、颜色、图标、素材图片、视频、音乐音效、矢量图、产品和图片模型、HTML和CSS模板以及各种前端框架和库等多个方面,旨在帮助开发者快速找到所需的设计资源。
* [catppuccin/catppuccin](https://github.com/catppuccin/catppuccin) 社区驱动的粉彩主题,旨在成为低对比度和高对比度主题之间的中间地带。它由 4 种舒缓的温暖口味组成,每种口味有 26 种令人眼花缭乱的颜色,非常适合编码、设计等等!此外,该存储库还跟踪实际调色板的开发、项目的文档、组织范围的资产、资源和维护人员/开发人员的代码示例。
* [umap-project/umap](https://github.com/umap-project/umap) uMap是一个基于Django和Leaflet的开源项目,它可以让你快速创建包含OpenStreetMap图层的网页地图并嵌入到你的网站中。uMap的设计理念是:OpenStreetMap的使用越多,它就会得到越多的改进。你可以访问项目网站了解更多信息,查看文档获取技术细节,并加入Matrix聊天室或邮件列表与开发者交流。
* [wxWidgets/wxWidgets](https://github.com/wxWidgets/wxWidgets) wxWidgets是一个跨平台的C++ GUI库,使用原生控件编写高级GUI应用程序。它支持Windows、Unix和macOS等主流桌面平台,并提供跨平台的非GUI功能抽象。wxWidgets是免费的,可用于开源和商业应用,并提供完整的源代码、文档和示例。它支持C++11及以上版本的编译器,并提供社区支持和商业支持。
* [ivanvorobei/SwiftUI](https://github.com/ivanvorobei/SwiftUI) 这是一个使用 SwiftUI 和 Combine 构建的示例项目集合,涵盖了布局、UI、动画、手势、绘图和数据等方面。项目包含 WWDC2019 发布的 SwiftUI 示例,并提供多个子项目,例如动画卡片、区域到卡片、2048 游戏、SFSymbols、计算器等。项目还包含一个指向 awesome-ios-ui 包的链接,该包包含 UI 元素。
* [ljianshu/Blog](https://github.com/ljianshu/Blog) 该项目是一个优质的前端博客,由公众号[前端工匠]的作者打造,专注于基础知识讲解。项目包含了前端、TS、构建工具等方面的知识,并提供详细的解析和示例。项目还包含了大量实战案例,可以帮助读者快速掌握前端开发技巧。项目作者鼓励读者积极参与讨论,共同学习进步。
* [storybookjs/storybook](https://github.com/storybookjs/storybook) 前端用于单独构建UI组件和页面。专为 UI 开发、测试和文档编制而设计。组件驱动开发环境。它通过隔离组件使开发更快更容易,它可以一次只处理一个组件。在 web 应用程序中构建小的原子组件和复杂的页面,使用 Storybook 可以让你专注于组件开发,无需去关注 API 文档的编写。
* [iamhosseindhv/notistack](https://github.com/iamhosseindhv/notistack) Notistack是一个高度可定制的通知Snackbar(吐司)库,支持堆叠显示。它易于使用,提供流畅的过渡动画,并可通过`SnackbarProvider`组件和`enqueueSnackbar`函数或`useSnackbar`钩子轻松显示通知,且支持多种版本以兼容不同版本的Material-UI。 项目提供在线演示和文档,方便开发者快速上手。
* [hotoo/pinyin](https://github.com/hotoo/pinyin) pinyin是一个 Node.js 和 Web 浏览器环境下使用的汉字拼音转换工具,它提供准确的拼音转换结果,支持多种音调标记方式,并提供丰富的配置选项。pinyin 的核心功能是将汉字转换为拼音,支持多音字识别、音调标记、分词等功能,可用于汉字拼音转换、语音合成、文本检索等场景。
* [maxence-charriere/go-app](https://github.com/maxence-charriere/go-app) 一个使用 Go 编程语言和 WebAssembly 构建渐进式 Web 应用程序的包。塑造 UI 是通过使用声明性语法完成的,该语法仅使用 Go 编程语言创建和组合 HTML 元素。它使用 Go HTTP 标准模型。使用 go-app 创建的应用程序可以开箱即用地在自己的窗口中运行,支持离线模式,并且对 SEO 友好。
* [didi/LogicFlow](https://github.com/didi/LogicFlow) LogicFlow是一个专注于业务自定义的流程图编辑框架,支持实现脑图、ER图、UML、工作流等各种图编辑场景。它提供了一系列可视化编辑功能,用户可以轻松定制流程图的样式和行为,并实现各种业务逻辑。LogicFlow 还提供丰富的扩展能力,可以方便地集成到各种应用场景中。
* [sparrowcode/PermissionsKit](https://github.com/sparrowcode/PermissionsKit) PermissionsKit是一个 iOS 权限管理库,提供统一的 API 用于请求各种权限并获取其状态,支持授权、拒绝和未确定三种状态。它支持蓝牙、日历、相机、通讯录、FaceID、健康、位置、麦克风、运动、音乐、通知、照片、提醒、语音、Siri 等权限,并提供详细的文档和示例代码。
* [GoogleChrome/web-vitals](https://github.com/GoogleChrome/web-vitals) 健康网站的基本指标。“网页指标”是 Google 推出的一项计划,旨在针对对提供出色 Web 体验至关重要的质量信号提供统一指南。构成核心网页指标的指标会随着时间的推移而不断改进。2020 年的现状侧重于用户体验的三个方面(加载、互动和视觉稳定性)。
* [huntabyte/shadcn-svelte](https://github.com/huntabyte/shadcn-svelte) shadcn-svelte 是一个非官方的社区项目,它将流行的shadcn/ui组件库移植到了Svelte框架。该项目提供可访问且可自定义的Svelte组件,可以直接复制粘贴到你的应用中,并可用于构建你自己的组件库,其文档可在https://shadcn-svelte.com/docs查看,并遵循MIT开源许可证。
* [didi/chameleon](https://github.com/didi/chameleon) Chameleon(CML) 是一款跨平台开发框架,使用一套代码即可运行在多个平台,实现“所见即所得”的效果。CML 基于Web 标准,并提供丰富的组件库和 API,简化跨平台开发流程。CML 采用混合渲染技术,在不同平台上使用最优的渲染方式,保证应用的性能和体验。
* [mljar/mercury](https://github.com/mljar/mercury) mljar/mercury项目是一个将Jupyter Notebook转换为Web应用程序的工具,无需前端经验即可通过Python代码添加交互式小部件,实现Notebook的代码隐藏/显示、PDF/HTML导出、多Notebook共享及嵌入网站等功能,并支持创建Web应用、演示文稿、网站、数据仪表板和报告等。
* [JetBrains/ring-ui](https://github.com/JetBrains/ring-ui) RingUI是JetBrains出品的一套Web UI组件库,提供构建JetBrains内部产品和第三方插件所需的UI组件。它提供两种安装方式:预构建版本方便快速上手,源码版本则适用于复杂项目并需要集成到Webpack构建流程中。组件使用ES模块导入,并包含丰富的示例和文档。
* [wasm3/wasm3](https://github.com/wasm3/wasm3) Wasm3是一个快速且通用的 WebAssembly 解释器和运行时,基于CoreMark 1.0 和独立基准测试,性能表现出色。项目目前处于维护阶段,但仍会积极审查和合并 Pull Requests。Wasm3 可作为库用于多种编程语言,包括 Python、Rust、C/C++、D、GoLang、Zig、Perl、Swift 和 .Net。
* [XMuli/QtExamples](https://github.com/XMuli/QtExamples) 该项目是一个 Qt 相关知识的系列教程,涵盖了 Qt GUI 控件使用、网络编程、架构原理、运行机制理解等内容,并解析了DTK 重绘控件方式的框架,还包括 Visual Studio 和 Qt Creator 的 IDE 技巧。项目以文章形式呈现,旨在帮助学习者深入理解 Qt 的相关知识。
* [galkahana/HummusJS](https://github.com/galkahana/HummusJS) HummusJS是一个基于 Node.js 的高性能 PDF 文件和流处理模块,可用于创建、修改和解析 PDF 文件。它提供丰富的功能,包括文档创建、页面操作、内容提取、对象操作等。HummusJS 已经停止维护,但用户可以迁移到 MuhammaraJS,它是一个HummusJS 的替代方案。
* [serversideup/amplitudejs](https://github.com/serversideup/amplitudejs) AmplitudeJS是一个轻量级的开源HTML5 Web Audio库,无需任何依赖(例如jQuery),允许你自定义网页媒体播放器的设计,而非受限于浏览器默认样式。它提供文档、示例和教程,并通过MIT许可证授权。 项目依靠社区支持,欢迎捐助以持续维护和发展。
* [ultrafunkamsterdam/undetected-chromedriver](https://github.com/ultrafunkamsterdam/undetected-chromedriver) 定制 Selenium Chromedriver |零配置 |通过所有机器人缓解系统(如 Distil / Imperva/ Datadadome / CloudFlare IUAM),优化的 Selenium Chromedriver 补丁,不会触发 Distill Network / Imperva / DataDome / Botprotect.io 等反机器人服务 自动下载驱动程序二进制文件并进行修补。
* [miguelgrinberg/microblog](https://github.com/miguelgrinberg/microblog) 这是一个基于Flask框架的微博客应用程序,是作者Flask Mega-Tutorial系列教程中的示例项目,对应2024年版教程。该项目提供详细的教程指导,帮助用户学习Flask框架的使用,并包含2018年和2021年版本的代码链接,以及2012年原始版本的代码链接。
* [choojs/choo](https://github.com/choojs/choo) Choo是一个轻量级的 4kb 前端框架,使用函数式编程方式,基于事件驱动,提供简洁的 API,仅需 6 个方法即可上手。它支持同构渲染,可在 Node 和浏览器中无缝运行。Choo 还支持服务器渲染,并提供组件化开发模式,方便构建复杂的应用。
* [radix-ui/primitives](https://github.com/radix-ui/primitives) Radix Primitives是一个开源的UI组件库,用于构建高质量、可访问的Web应用和设计系统,由WorkOS维护。它是一个低级别组件库,注重可访问性、可定制性和开发者体验,可作为设计系统的基础层或增量采用,文档详见radix-ui.com/docs/primitives。
* [uvdesk/community-skeleton](https://github.com/uvdesk/community-skeleton) UVdesk社区帮助台项目是一个开源项目,提供完整的票务支持系统和更多功能。该项目提供基本工具和实用程序,方便用户构建和定制自己的帮助台解决方案。您可以访问官方演示网站体验其功能,并在 Symfony 官方网站上了解 UVdesk。
* [rawgraphs/rawgraphs-app](https://github.com/rawgraphs/rawgraphs-app) 一个 Web 界面,用于在 RAWGraphs 核心之上创建基于矢量的自定义可视化。RAWGraphs 是一个开放的 Web 工具,用于在令人惊叹的 d3.js 库之上创建基于矢量的自定义可视化。它由DensityDesign Research Lab(米兰理工大学)、Calibro和INMAGIK开发。
* [barbajs/barba](https://github.com/barbajs/barba) 小型(缩小和压缩 7kb)且易于使用的库,可帮助您在网站页面之间创建流畅和平滑的过渡。它使您的网站像 SPA(单页应用程序)一样运行,并有助于减少页面之间的延迟,最大限度地减少浏览器 HTTP 请求并增强用户的 Web 体验。
* [vasanthv/talk](https://github.com/vasanthv/talk) 网络群组视频通话。没有注册。没有下载。使用 WebRTC 构建的,因此您的所有视频、音频和文本聊天都是点对点的。使用 WebRTC mesh实现的。因此,通话质量与通话人数成反比。甜蜜的数字是平均高速连接中大约 6 到 8 人。
* [ourongxing/newsnow](https://github.com/ourongxing/newsnow) NewsNow是一个优雅的实时新闻阅读项目,支持 Cloudflare Pages、Vercel 和 Docker部署。它提供 GitHub OAuth 登录功能,并使用 Cloudflare D1数据库进行缓存。用户可以自定义数据源,项目结构清晰,易于扩展。项目采用 MIT 许可证。
* [h5bp/html5-boilerplate](https://github.com/h5bp/html5-boilerplate) 一个专业的前端模板,用于构建快速、强大且适应性强的 Web 应用程序或网站。帮助您构建快速、可靠且适应性强的 Web 应用或网站。利用 100 多名开发人员的综合知识和努力启动您的项目,所有这些都在一个小包中。
* [tjy-gitnub/win12](https://github.com/tjy-gitnub/win12) 这是一个名为 "Windows 12 网页版" 的开源项目,旨在提供一个在线体验 Windows 12 的平台。项目由 tjy-gitnub开发,并提供英文、简体中文和法语版本。用户可以通过项目提供的链接在线体验 Windows 12 的界面和功能。
* [zmh-program/fystart](https://github.com/zmh-program/fystart) Fystart 是一个 AI 赋能的美观轻量起始页,支持云端同步和 PWA 离线访问。它提供了一言、工具箱、卡片、搜索联想、翻译等组件,并基于 Chat Nio 提供 AI 搜索建议。Fystart 已经停止开发,新起始页请访问 bingtang.com。
* [nativefier/nativefier](https://github.com/nativefier/nativefier) 命令行工具,可以轻松地为任何网站创建“桌面应用程序”,而无需大惊小怪。应用程序由 Electron(后台使用 Chromium)包装在可在 Windows、macOS 和 Linux 上使用的操作系统可执行文件( `.app` 、 `.exe` 等)中。
* [withastro/starlight](https://github.com/withastro/starlight) Starlight是一个基于 Astro 的文档网站框架,用于构建美观、易访问且高性能的文档网站。Starlight 的文档网站也是用 Starlight 自身构建的,并提供 Discord 频道和 GitHub 问题追踪等支持渠道,欢迎贡献者参与项目。
* [milligram/milligram](https://github.com/milligram/milligram) 极简的CSS框架。Milligram 提供最少的样式设置,以实现快速、干净的起点。就是这样!只有 2kb gzipped!这与 UI 框架无关。专为更好的性能和更高的生产率而设计,需要重置的属性更少,从而使代码更清晰。
* [niklasvh/html2canvas](https://github.com/niklasvh/html2canvas) 该脚本允许您直接在用户浏览器上截取网页或其部分的“屏幕截图”。屏幕截图基于 DOM,因此可能不是 100% 准确到真实表示,因为它不会制作实际的屏幕截图,而是根据页面上可用的信息构建屏幕截图。
* [ungoogled-software/ungoogled-chromium](https://github.com/ungoogled-software/ungoogled-chromium?tab=readme-ov-file#downloads) Google Chromium,没有与 Google 集成。尽可能保留默认的 Chromium 体验。Chromium 的直接替代品。Ungoogled-Chromium 功能进行了调整,以增强隐私、控制和透明度。但是,几乎所有这些功能都必须手动激活或启用。
* [abpframework/abp](https://github.com/abpframework/abp) 适用于 ASP.NET Core 的开源 Web 应用程序框架。在 .NET 和 ASP.NET Core 平台之上构建具有最佳实践的企业软件解决方案。提供基础基础架构、生产就绪启动模板、应用程序模块、UI 主题、工具、指南和文档。
* [pixijs/pixijs](https://github.com/pixijs/pixijs) HTML5 创作引擎:使用最快、最灵活的 2D WebGL 渲染器创建精美的数字内容。快速、轻量级的 2D 库,可在所有设备上运行。PixiJS 渲染器让每个人都可在不了解 WebGL 的情况下享受硬件加速的强大功能。
* [SeleniumHQ/selenium](https://github.com/SeleniumHQ/selenium) 浏览器自动化框架和生态系统。封装了各种工具和库,可实现 Web 浏览器自动化。Selenium 专门为 W3C WebDriver 规范提供了基础设施——一个与所有主要 Web 浏览器兼容的平台和语言中立的编码接口。
* [medusajs/medusa](https://github.com/medusajs/medusa) 一组商务模块和工具,可让您构建丰富、可靠且高性能的商务应用程序,而无需重新发明核心商务逻辑。这些模块可以定制并用于构建高级电子商务商店、市场或任何需要基础商务原语的产品。
* [lucide-icons/lucide](https://github.com/lucide-icons/lucide) Lucide 是一个开源图标库,提供超过1000个矢量图标,支持多种框架如React、Vue、Svelte等,方便设计师和开发者在项目中使用。该项目是Feather Icons的一个分支,旨在提供一致且美观的图标工具。
* [JakeChampion/fetch](https://github.com/JakeChampion/fetch) 基于 Promise 的机制,用于在浏览器中以编程方式发出 Web 请求。这个项目是一个 polyfill,它实现了标准 Fetch 规范的一个子集,足以替代 `fetch` 传统 Web 应用程序中大多数 XMLHttpRequest 的使用。
* [Automattic/wp-calypso](https://github.com/Automattic/wp-calypso) 新的 WordPress.com 前端 - 使用单页 Web 应用程序对 WordPress 仪表板进行了漂亮的重新设计,由 WordPress.com REST API 提供支持。Calypso 是为在一个地方阅读、写作和管理所有 WordPress 网站而构建的。
* [phoenixframework/phoenix](https://github.com/phoenixframework/phoenix) Elixir语言,快速构建丰富的交互式 Web 应用程序,使用更少的代码和更少的移动部件。加入我们不断壮大的开发者社区,使用 Phoenix 制作 API、HTML5 应用程序等,享受乐趣或大规模制作。
* [transloadit/uppy](https://github.com/transloadit/uppy) 下一个用于 Web 浏览器🐶的开源文件上传器。时尚的模块化 JS文件上传器,可与任何应用程序无缝集成。它速度很快,具有易于理解的 API,让您担心比构建文件上传器更重要的问题。
* [kesixin/QuestionWechatApp](https://github.com/kesixin/QuestionWechatApp) 微信小程序,考试小程序,答题小程序,刷题小程序。毕业设计小程序,有前后端完整源码和数据库,易于二次开发。还可用于考试活动,企业内部考核,内部培训等职业考试刷题。
* [you-dont-need/You-Dont-Need-Momentjs](https://github.com/you-dont-need/You-Dont-Need-Momentjs) 很棒的时间和日期库,具有许多出色的功能和实用程序。但是,如果您正在处理对性能敏感的 Web 应用程序,则由于其复杂的 API 和较大的捆绑包大小,可能会导致巨大的性能开销。
* [responsively-org/responsively-app](https://github.com/responsively-org/responsively-app) 经过修改的 Web 浏览器,有助于响应式 Web 开发。Web 开发人员必须具有开发工具。Web 开发人员必备的开发工具,可实现更快的响应式 Web 开发。使用 Electron 构建的修改后的浏览器。
* [dot-agent/nextpy](https://github.com/dot-agent/nextpy) 轻松快速地构建任何 Web 应用程序。它简化了从后端到前端(是的,Python 中的视觉上令人惊叹的前端!)、AI 集成、API 等所有方面的 Python 开发,从而为人类和 AI 代理提供支持。
* [lit/lit](https://github.com/lit/lit) Lit 是一个简单的库,用于构建快速、轻量级的 Web 组件。Lit 的核心是一个样板杀手组件基类,它提供反应式状态、作用域样式和一个小、快速且富有表现力的声明式模板系统。
* [tailwindlabs/tailwindcss](https://github.com/tailwindlabs/tailwindcss) 一个实用优先的 CSS 框架,用于快速 UI 开发。一个实用程序优先的 CSS 框架,其中包含 `flex` 、 `pt-4` 等 `rotate-90` 类, `text-center` 可以直接在标记中组合以构建任何设计。
* [charmbracelet/bubbletea](https://github.com/charmbracelet/bubbletea) 强大的小TUI框架,构建终端应用程序的有趣、实用和有状态的方式。基于 Elm 架构的 Go 框架。珍珠奶茶非常适合简单和复杂的终端应用,无论是在线、全窗还是两者兼而有之。
* [magicuidesign/magicui](https://github.com/magicuidesign/magicui) MagicUI是一个面向设计工程师的开源UI组件库,提供可直接复制粘贴到应用中的动画组件和特效,完全免费,并拥有MIT许可证;其文档可在magicui.design/docs查看,欢迎贡献代码。
* [illacceptanything/illacceptanything](https://github.com/illacceptanything/illacceptanything) 这是一个接受任何内容的项目,它收集了各种各样的徽章,包括构建状态、聊天链接、代码质量评估、下载量、版本信息、平台支持等,旨在展示各种项目的常见徽章类型。
* [WasmEdge/WasmEdge](https://github.com/WasmEdge/WasmEdge) 轻量级、高性能、可扩展的 WebAssembly 运行时,适用于云原生、边缘和去中心化应用程序。它为无服务器应用程序、嵌入式函数、微服务、智能合约和物联网设备提供支持。
* [vercel/vercel](https://github.com/vercel/vercel) Vercel的前端云为开发人员提供了框架、工作流程和基础设施,以构建更快、更个性化的网络。面向前端开发人员的平台,提供创新者在灵感瞬间创建所需的速度和可靠性。
* [backstage/backstage](https://github.com/backstage/backstage) 用于构建开发人员门户的开放平台。由集中式软件目录提供支持,可恢复微服务和基础架构的秩序,并使您的产品团队能够在不影响自主性的情况下快速交付高质量代码。
* [mdx-js/mdx](https://github.com/mdx-js/mdx) 可创作的格式,可让您在 Markdown 文档中无缝编写 JSX。您可以导入组件(如交互式图表或警报),并将它们嵌入到您的内容中。这使得编写带有组件的长篇内容变得爆炸。
* [dotnet/runtime](https://github.com/dotnet/runtime) .NET 是适用于云、移动、桌面和 IoT 应用的跨平台运行时。所有受支持的平台生成 .NET 运行时、库和共享主机 ( dotnet ) 安装程序的代码,以及 .NET 运行时和库的源代码。
* [statelyai/xstate](https://github.com/statelyai/xstate) 现代 Web 的状态机和状态图。状态图是用于对有状态、反应性系统进行建模的形式。这对于以声明方式描述应用程序的行为(从各个组件到整个应用程序逻辑)非常有用。
* [redux-saga/redux-saga](https://github.com/redux-saga/redux-saga) 一个库,旨在使应用程序的副作用(即异步的事情,如数据获取和不纯粹的事情,如访问浏览器缓存)更易于管理,更高效地执行,更易于测试,并且更好地处理故障。
* [vega/vega](https://github.com/vega/vega) 可视化语法,是一种用于创建、保存和共享交互式可视化设计的声明性格式。使用 Vega,您可以以 JSON 格式描述数据可视化,并使用 HTML5 Canvas 或 SVG 生成交互式视图。
* [abi/screenshot-to-code](https://github.com/abi/screenshot-to-code) 将屏幕截图转换为代码(HTML/Tailwind CSS,或React或Vue或Bootstrap)。它使用 GPT-4 Vision 生成代码,使用 DALL-E 3 生成外观相似的图像。您现在还可以输入 URL 来克隆实时网站
* [chokcoco/iCSS](https://github.com/chokcoco/iCSS) 本 Repo 围绕 CSS/Web动画 展开,谈一些有趣的话题,内容天马行空,想到什么说什么,不仅是为了拓宽解决问题的思路,更涉及一些容易忽视或是十分有趣的 CSS 细节。
* [mozilla/pdf.js](https://github.com/mozilla/pdf.js) 使用 HTML5 构建的可移植文档格式 (PDF) 查看器。PDF.js由社区驱动,并得到Mozilla的支持。我们的目标是创建一个通用的、基于 Web 标准的平台,用于解析和渲染 PDF。
* [TryGhost/Ghost](https://github.com/TryGhost/Ghost) 一款功能强大的应用程序,供专业出版商围绕其内容创建、共享和发展业务。它配备了现代工具,可以构建网站,发布内容,发送时事通讯并向会员提供付费订阅。
* [o2oa/o2oa](https://github.com/o2oa/o2oa) 开源OA系统 - 码云GVP|Java开源oa|企业OA办公平台|企业OA|协同办公OA|流程平台OA|O2OA|OA,支持国产麒麟操作系统和国产数据库(达梦、人大金仓),政务OA,军工信息化OA
* [djc/askama](https://github.com/djc/askama) 类型安全、编译的类似 Jinja 的 Rust 模板。Askama 实现了一个基于 Jinja 的模板渲染引擎。它在编译时根据用户定义 struct 的模板生成 Rust 代码,以保存模板的上下文。
* [janishar/nodejs-backend-architecture-typescript](https://github.com/janishar/nodejs-backend-architecture-typescript) Node.js的学习为生产就绪的博客平台(如Medium和FreeCodeCamp)构建后端服务器。主要功能:基于角色,Express.js,Mongoose,Redis,Mongodb,Joi,Docker,JWT,单元集成测试。
* [teamcapybara/capybara](https://github.com/teamcapybara/capybara) 模拟真实用户如何与您的应用程序交互来帮助您测试 Web 应用程序。它与运行测试的驱动程序无关,并内置了 Rack::Test 和 Selenium 支持。WebKit 通过外部 Gem 受支持。
* [motion-canvas/motion-canvas](https://github.com/motion-canvas/motion-canvas) 动态画布,TypeScript 库,它使用生成器对动画进行编程。提供上述动画实时预览的编辑器。专门的工具,旨在创建信息丰富的矢量动画并将它们与画外音同步。
* [barvian/number-flow](https://github.com/barvian/number-flow) NumberFlow是一个组件,用于数字的过渡、格式化和本地化处理,它提供了全面的文档 (https://number-flow.barvian.me),并可通过npm安装 (https://npmjs.com/package/number-flow)。
* [rough-stuff/rough](https://github.com/rough-stuff/rough) 小型 (<9 kB) 图形库,可让您以粗略的手绘风格进行绘制。该库定义了用于绘制直线、曲线、圆弧、多边形、圆形和椭圆的基元。它还支持绘制 SVG 路径。
* [selectize/selectize.js](https://github.com/selectize/selectize.js) 可扩展的基于 jQuery 的自定义; select UI 控件。它可用于标记、联系人列表、国家/地区选择器等。目标是通过干净而强大的 API 提供可靠且可用的体验。
* [vnotex/vnote](https://github.com/vnotex/vnote) 一个令人愉快的笔记平台。基于 Qt 的免费开源笔记应用程序,现在专注于 Markdown。VNote旨在提供一个令人愉快的笔记平台,具有出色的编辑体验。
* [palxiao/poster-design](https://github.com/palxiao/poster-design) 一款漂亮且功能强大的在线海报设计器,图片编辑器,仿稿定设计,适用于多种场景:海报生成、电商产品图、文章长图、视频/公众号封面等。
* [parcel-bundler/parcel](https://github.com/parcel-bundler/parcel) 用于 Web 的零配置构建工具。它将出色的开箱即用开发体验与可扩展的体系结构相结合,可以将您的项目从刚开始转变为大规模生产应用程序。
* [IanLunn/Hover](https://github.com/IanLunn/Hover) CSS3 驱动的悬停效果,可用于链接、按钮、徽标、SVG、特色图像等。轻松应用于您自己的元素,修改或仅用于灵感。在 CSS、Sass 和 LESS 中可用。
* [cypress-io/cypress](https://github.com/cypress-io/cypress) 快速、简单、可靠地在浏览器中运行的任何测试内容。轻松地为现代 Web 应用程序创建测试,直观地调试,并在持续集成构建中自动运行它们。
* [alexpate/awesome-design-systems](https://github.com/alexpate/awesome-design-systems) 一系列令人敬畏的设计系统。设计系统是有关原则和最佳实践的文档集合,有助于指导团队构建数字产品。它们通常体现在 UI 库和模式库中。
* [JetBrains/compose-multiplatform](https://github.com/JetBrains/compose-multiplatform) Kotlin 的现代 UI 框架,可轻松愉快地构建高性能且美观的用户界面。跨多个平台共享 UI。它基于 Jetpack Compose,由 JetBrains 和开源贡献者开发。
* [ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts) 标志性的字体聚合器、集合和补丁程序。3,600+ 图标,50+ 修补字体:Hack、Source Code Pro 等。字形集合:Font Awesome、Material Design Icons、Octicons 等
* [video-dev/hls.js](https://github.com/video-dev/hls.js) JS 库,实现 HTTP 实时流式处理。它依靠 HTML5 视频和 MediaSource 扩展进行播放。原理是将 MPEG-2 传输流和 AAC/MP3 流转换为 ISO BMFF (MP4) 片段。
* [GorvGoyl/Clone-Wars](https://github.com/GorvGoyl/Clone-Wars) Airbnb,亚马逊,Instagram,Netflix,Tiktok,Spotify,Whatsapp,Youtube等流行网站的100 +开源克隆。查看源代码、演示链接、技术栈、github stars。
* [doczjs/docz](https://github.com/doczjs/docz) Docz 使您的代码编写和发布漂亮的交互式文档变得容易。创建展示代码的 MDX 文件,Docz 将它们转换为实时重新加载、生产就绪的网站。
* [katspaugh/wavesurfer.js](https://github.com/katspaugh/wavesurfer.js) Wavesurfer.js是一个交互式波形渲染和音频播放库,非常适合 Web 应用程序。它利用现代网络技术提供强大且具有视觉吸引力的音频体验。
* [google/material-design-icons](https://github.com/google/material-design-icons) 来自谷歌两个不同的官方图标集,使用相同的底层设计。材质图标是经典套装,材质符号于 2022 年 4 月推出,基于可变字体技术构建。
* [microsoft/playwright](https://github.com/microsoft/playwright) Web测试和自动化的框架。它允许使用单个API测试Chromium,Firefox和WebKit。旨在实现常青,功能强大,可靠和快速的跨浏览器Web自动化。
* [atlas-engineer/nyxt](https://github.com/atlas-engineer/nyxt) 专为黑客设计的键盘驱动的 Web 浏览器。受 Emacs 和 Vim 的启发,它具有熟悉的键绑定(Emacs、vi、CUA),并且在 Lisp 中可以无限扩展。
* [dream-num/univer](https://github.com/dream-num/univer) 一套企业文档和数据协作解决方案。包括电子表格、文档和幻灯片。高度可扩展的设计允许开发人员基于 Universal 定制个性化功能。
* [nextauthjs/next-auth](https://github.com/nextauthjs/next-auth) Auth.js 是一组基于 Web 标准 API 构建的开源包,用于在现代应用程序中使用任何 JS 运行时中任何平台上的任何框架进行身份验证。
* [bigskysoftware/htmx](https://github.com/bigskysoftware/htmx) 使用属性直接在 HTML 中访问 AJAX、CSS 转换、WebSocket 和服务器发送事件,因此您可以构建具有超文本的简单性和强大功能的现代UI
* [postcss/postcss](https://github.com/postcss/postcss) 使用 JS 插件转换样式的工具。这些插件可以对您的 CSS 进行 lint 处理、支持变量和 mixin、转译未来的 CSS 语法、内联图像等等。
* [cure53/DOMPurify](https://github.com/cure53/DOMPurify) 纯 DOM、超快速、超宽容的 XSS 清理程序,适用于 HTML、MathML 和 SVG。DOMPurify 使用安全默认值,但提供了许多可配置性和钩子。
* [freeCodeCamp/devdocs](https://github.com/freeCodeCamp/devdocs) 将多个开发人员文档结合在一个干净有序的 Web UI 中,具有即时搜索、离线支持、移动版本、深色主题、键盘快捷键等功能。
* [postcss/autoprefixer](https://github.com/postcss/autoprefixer) PostCSS 插件,用于解析 CSS 并使用 Can I Use 中的值向 CSS 规则添加供应商前缀。它被谷歌推荐,并在Twitter和阿里巴巴中使用。
* [evanw/esbuild](https://github.com/evanw/esbuild) 带来网络构建工具性能的新时代,并在此过程中创建一个易于使用的现代捆绑器。我们的工具比其他工具的速度快 10-100 倍
* [GoogleChrome/lighthouse](https://github.com/GoogleChrome/lighthouse) 针对 Web 的自动化审核、性能指标和最佳实践。分析 Web 应用和网页,收集现代性能指标和有关开发人员最佳实践的见解。
* [decaporg/decap-cms](https://github.com/decaporg/decap-cms) 用于静态站点生成器的 CMS。为用户提供一种简单的方法来编辑内容并将其添加到使用静态网站生成器构建的任何网站。
* [Tencent/VasSonic](https://github.com/Tencent/VasSonic) VasSonic 是由腾讯 VAS 团队开发的一款轻量级、高性能的 Hybrid 框架,旨在加速在 Android 和 iOS 平台上运行的网站的首屏。
* [apache/incubator-answer](https://github.com/apache/incubator-answer) 适用于任何规模团队的问答平台软件。无论是社区论坛、帮助中心还是知识管理平台,您始终可以信赖 Apache Answer。
* [layui/layui](https://github.com/layui/layui) 一套遵循原生态开发模式的 Web UI 组件库,采用自身轻量级模块化规范,易上手,可以更简单快速地构建网页界面。
* [SheetJS/sheetjs](https://github.com/SheetJS/sheetjs) 电子表格数据工具包,用于从几乎任何复杂的电子表格中提取有用的数据,并生成适用于传统和现代软件的表格。
* [obsidiandynamics/kafdrop](https://github.com/obsidiandynamics/kafdrop) Web UI,用于查看 Kafka 主题和浏览消费者组。该工具显示代理、主题、分区、使用者等信息,并允许您查看消息。
* [fyne-io/fyne](https://github.com/fyne-io/fyne) 受材质设计启发的 Go 中的跨平台 GUI 工具包。它旨在使用单个代码库构建在桌面和移动设备上运行的应用程序。
* [wenzhixin/bootstrap-table](https://github.com/wenzhixin/bootstrap-table) 扩展表,用于与一些最广泛使用的 CSS 框架集成。(支持 Bootstrap、Semantic UI、Bulma、Material Design、Foundation Vue.js)
* [alvarotrigo/fullPage.js](https://github.com/alvarotrigo/fullPage.js) 简单易用的库,用于创建全屏滚动网站(也称为单页网站或单页网站),并在网站的各个部分内添加横向滑块。
* [angular/angular-cli](https://github.com/angular/angular-cli) Angular CLI 是一个命令行界面工具,用于初始化、开发、搭建脚手架、并直接从命令 shell 维护 Angular 应用程序。
* [WebKit/WebKit](https://github.com/WebKit/WebKit) WebKit 项目的所在地,是 Safari、Mail、App Store 和 macOS、iOS 和 Linux 上的许多其他应用程序使用的浏览器引擎。
* [picocss/pico](https://github.com/picocss/pico) 极简而轻量级的入门工具包,优先考虑语义语法,使每个 HTML 元素在默认情况下都具有响应性和优雅性。
* [exceljs/exceljs](https://github.com/exceljs/exceljs) js 读取、操作电子表格数据和样式并将其写入 XLSX 和 JSON。从 Excel 电子表格文件作为项目进行逆向工程。
* [qianguyihao/Web](https://github.com/qianguyihao/Web) 千古前端图文教程,超详细的前端入门到进阶知识库。从零开始学前端,做一名精致优雅的前端工程师。
* [rahuldkjain/github-profile-readme-generator](https://github.com/rahuldkjain/github-profile-readme-generator) 使用最小的 UI 使用最新的附加组件(如访问者计数、GitHub 统计信息等)轻松生成 GitHub 个人资料 README。
* [spf13/cobra](https://github.com/spf13/cobra) 用于创建功能强大的现代 CLI 应用程序的库。Cobra 用于许多 Go 项目,例如 Kubernetes、Hugo 和 GitHub CLI 等。
* [Countly/countly-server](https://github.com/Countly/countly-server) 产品分析平台,可帮助团队跟踪、分析和处理他们在移动、Web 和桌面应用程序上的用户操作和行为。
* [PhilJay/MPAndroidChart](https://github.com/PhilJay/MPAndroidChart) Android 图表视图/图形视图库,支持线条图、饼图、雷达图、气泡图和烛台图以及缩放、平移和动画。
* [fingerprintjs/fingerprintjs](https://github.com/fingerprintjs/fingerprintjs) 浏览器指纹库。此版本的准确率为40-60%,商业指纹识别的准确率为99.5%。该库的 V4 已获得 BSL 许可。
* [wpscanteam/wpscan](https://github.com/wpscanteam/wpscan) WPScan WordPress安全扫描程序。为安全专业人员和博客维护人员编写,以测试其WordPress网站的安全性。
* [discourse/discourse](https://github.com/discourse/discourse) 您社区的在线主页。我们为那些希望完全控制其网站运行方式和位置的人提供 100% 开源社区平台。
* [Juanpe/SkeletonView](https://github.com/Juanpe/SkeletonView) 一种swift优雅的骨架动画,可以向用户展示正在发生的事情,并让他们准备好他们正在等待的内容
* [dotnet/maui](https://github.com/dotnet/maui) .NET 多平台应用 UI,是一个用于构建跨移动设备、平板电脑和台式机的本机设备应用程序的框架。
* [AykutSarac/jsoncrack.com](https://github.com/AykutSarac/jsoncrack.com) 创新的开源可视化应用程序,可将各种数据格式(如 JSON、YAML、XML、CSV 等)转换为交互式图形。
* [socketio/socket.io-client](https://github.com/socketio/socket.io-client) 实时应用程序框架(客户端),可在客户端和服务器之间实现低延迟、双向和基于事件的通信。
* [lovell/sharp](https://github.com/lovell/sharp) 高性能 Node.js 图像处理,调整 JPEG、PNG、WebP、AVIF 和 TIFF 图像大小的最快模块。使用 libvips 库。
* [minimaxir/big-list-of-naughty-strings](https://github.com/minimaxir/big-list-of-naughty-strings) 顽皮字符串大列表是一个字符串列表,这些字符串在用作用户输入数据时很有可能引起问题。
* [mark420524/question](https://github.com/mark420524/question) 小程序,微信答题小程序,可以进行答题,模拟考试。增加了词典查询,汉字成语查询等功能
* [AvaloniaUI/Avalonia](https://github.com/AvaloniaUI/Avalonia) 使用 C# 和 XAML 开发桌面、嵌入式、移动和 WebAssembly 应用。最受欢迎的 .NET 基金会社区项目。
* [feathericons/feather](https://github.com/feathericons/feather) 一组简单漂亮的开源图标。每个图标都设计在 24x24 网格上,强调简单性、一致性和灵活性。
* [electron-userland/electron-builder](https://github.com/electron-userland/electron-builder) 一个完整的解决方案,用于打包和构建一个开箱即用的“自动更新”支持的 Electron 应用程序
* [markmap/markmap](https://github.com/markmap/markmap) 将您的 Markdown 可视化为思维导图。这个项目在很大程度上受到了 dundalek 的 markmap 的启发。
* [getgrav/grav](https://github.com/getgrav/grav) 由 PHP、Markdown、Twig 和 Symfony 提供支持的现代、极快、极其简单且功能强大的平面文件 CMS
* [docsifyjs/docsify](https://github.com/docsifyjs/docsify) 一个神奇的文档站点生成器。Docsify将一个或多个Markdown文件转换为网站,无需构建过程。
* [zhaoolee/ChromeAppHeroes](https://github.com/zhaoolee/ChromeAppHeroes) 谷粒-Chrome插件英雄榜, 为优秀的Chrome插件写一本中文说明书, 让Chrome插件英雄们造福人类
* [ksky521/nodeppt](https://github.com/ksky521/nodeppt) 网络演示工具,nodeppt 2.0 基于webslides、webpack、markdown-it、posthtml 重构,https://nodeppt.js.org
* [markmead/hyperui](https://github.com/markmead/hyperui) 用于应用程序 UI、电子商务和营销的免费 Tailwind CSS 组件,支持深色模式、RTL 和 Alpine JS
* [woocommerce/woocommerce](https://github.com/woocommerce/woocommerce) 基于WordPress构建的可定制的开源电子商务平台。构建您能想象到的任何商务解决方案。
* [wp-cli/wp-cli](https://github.com/wp-cli/wp-cli) WordPress的命令行界面。您可以更新插件,配置多站点安装等等,而无需使用Web浏览器。
* [shoelace-style/shoelace](https://github.com/shoelace-style/shoelace) 基于 Web 标准构建的专业设计、日常 UI 组件的集合。适用于所有框架以及常规 HTML/CSS/JS
* [dotnet/aspnetcore](https://github.com/dotnet/aspnetcore) 一个跨平台的 .NET 框架,用于在 Windows、Mac 或 Linux 上构建基于云的现代 Web 应用程序。
* [chromium/chromium](https://github.com/chromium/chromium) 开源浏览器项目,旨在为所有用户构建一种更安全、更快速、更稳定的网络体验方式。
* [DustinBrett/daedalOS](https://github.com/DustinBrett/daedalOS) 浏览器中的桌面环境,包括:文件系统、窗口、开始菜单、任务栏、背景、应用程序。
* [h5bp/Front-end-Developer-Interview-Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions) 有用的前端相关问题列表,你可以用它来面试潜在的候选人,测试自己或完全忽略。
* [aspnetboilerplate/aspnetboilerplate](https://github.com/aspnetboilerplate/aspnetboilerplate) 通用应用程序框架,专为新的现代 Web 应用程序而设计。为您提供可靠的开发体验。
* [jaredpalmer/tsdx](https://github.com/jaredpalmer/tsdx) 用于 TypeScript 包开发的零配置 CLI,可帮助您轻松开发、测试和发布现代 TypeScript 包
* [AR-js-org/AR.js](https://github.com/AR-js-org/AR.js) 用于 Web 增强现实的轻量级库,具有图像跟踪、基于位置的 AR 和标记跟踪等功能。
* [darkreader/darkreader](https://github.com/darkreader/darkreader) Dark Reader Chrome 和 Firefox 扩展程序,分析网页,旨在减少浏览网页时的眼睛疲劳。
* [getgridea/gridea](https://github.com/getgridea/gridea) 静态的博客写作客户端。你可以用它来记录你的生活、心情、知识、笔记和想法
* [browserless/browserless](https://github.com/browserless/browserless) 在 Docker 中部署无头浏览器。在我们的云上运行或自带。免费用于非商业用途。
* [timqian/chart.xkcd](https://github.com/timqian/chart.xkcd) Chart.xkcd 是一个图表库,用于绘制“粗略”、“卡通”或“手绘”样式的图表。
* [ahmadbilaldev/langui](https://github.com/ahmadbilaldev/langui) 适用于 AI 的 UI。为您的 GPT、生成式 AI 和LLM项目量身定制的开源 Tailwind 组件。
* [magento/magento2](https://github.com/magento/magento2) Magento开源软件提供基本的电子商务功能,可以从头开始构建独特的在线商店。
* [edent/SuperTinyIcons](https://github.com/edent/SuperTinyIcons) 每个小于 1KB!Super Tiny Icons 是您最喜爱的网站和应用程序徽标的微小 SVG 版本
* [roots/sage](https://github.com/roots/sage) WordPress入门主题,带有Laravel Blade组件和模板,Tailwind CSS和现代开发工作流程
* [webpack-contrib/webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) Webpack 插件和 CLI 实用程序,将捆绑包内容表示为方便的交互式可缩放树状图
* [HugoBlox/hugo-blox-builder](https://github.com/HugoBlox/hugo-blox-builder) 轻松创建任何类型的网站 - 无需代码。 一个应用程序,没有依赖项,没有 JS
* [FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome) 互联网的图标库和工具包,被数百万设计师、开发人员和内容创作者使用。
* [gohugoio/hugo](https://github.com/gohugoio/hugo) 一个快速灵活的静态站点生成器,由 bep、spf13 和 Go 中的朋友们用爱构建。
* [daybrush/moveable](https://github.com/daybrush/moveable) 可拖动、可调整大小、可缩放、可旋转、可扭曲、可捏、可分组、可捕捉
* [charmbracelet/glow](https://github.com/charmbracelet/glow) 基于终端的 Markdown 阅读器,从头开始设计,旨在展现 CLI 的美感和功能。
* [MrXujiang/h5-Dooring](https://github.com/MrXujiang/h5-Dooring) 让H5制作像搭积木一样简单, 轻松搭建H5页面, H5网站, PC端网站,LowCode平台.
* [styled-components/styled-components](https://github.com/styled-components/styled-components) 组件时代的视觉基元。使用 ES6 和 CSS 的精华来轻松设置应用程序的样式
* [tailwindlabs/headlessui](https://github.com/tailwindlabs/headlessui) 一组完全无样式、完全可访问的 UI 组件,旨在与 Tailwind CSS 完美集成。
* [wallabag/wallabag](https://github.com/wallabag/wallabag) 用于保存网页的自托管应用程序:保存和分类文章。稍后阅读。自由。
* [c3js/c3](https://github.com/c3js/c3) 基于 D3 的可重用图表库,可以将图表更深入地集成到 Web 应用程序中。
* [bpmn-io/bpmn-js](https://github.com/bpmn-io/bpmn-js) BPMN 2.0 渲染工具包和 Web 建模器。在浏览器中查看和编辑 BPMN 2.0 图表。
* [Tencent/weui](https://github.com/Tencent/weui) 微信官方设计团队的UI库,收录了移动Web应用中最实用的widgets modules。
* [bgstaal/multipleWindow3dScene](https://github.com/bgstaal/multipleWindow3dScene) 如何使用 three.js 和 localStorage 跨多个窗口“同步”3D 场景的简单示例
* [steven-tey/dub](https://github.com/steven-tey/dub) 一种开源链接管理工具,供现代营销团队创建、共享和跟踪短链接。
* [twbs/bootstrap-sass](https://github.com/twbs/bootstrap-sass) sass 驱动的 Bootstrap 3 版本,可直接放入您的 Sass 驱动的应用程序中。
* [apptension/developer-handbook](https://github.com/apptension/developer-handbook) 关于如何成为专业的 Web/移动应用程序开发人员的自以为是的指南。
* [sissbruecker/linkding](https://github.com/sissbruecker/linkding) 自托管书签管理器,旨在最小化、快速且易于使用 Docker 进行设置。
* [gildas-lormeau/SingleFile](https://github.com/gildas-lormeau/SingleFile) Web扩展和CLI工具,用于将完整网页的忠实副本保存在单个HTML文件中
* [nightwatchjs/nightwatch](https://github.com/nightwatchjs/nightwatch) 使用 Node.js 编写并使用 W3C Webdriver API 编写的集成端到端测试框架。
* [brave/brave-browser](https://github.com/brave/brave-browser) 适用于 Android、Linux、macOS、Windows 的下一代 Brave (Chromium) 浏览器。
* [markdown-it/markdown-it](https://github.com/markdown-it/markdown-it) Markdown 解析器,做对了。100%CommonMark支持,扩展,语法插件和高速
* [parcel-bundler/lightningcss](https://github.com/parcel-bundler/lightningcss) 一个用 Rust 编写的极快的 CSS 解析器、转换器、打包器和微型器。
* [select2/select2](https://github.com/select2/select2) 基于 jQuery 的选择框。支持搜索、远程数据集和结果的无限滚动。
* [WordPress/gutenberg](https://github.com/WordPress/gutenberg) WordPress及其他版本的块编辑器项目。插件可从官方存储库获得。
* [reflex-dev/reflex](https://github.com/reflex-dev/reflex) 纯 Py的高性能、可自定义的 Web 应用程序。几秒钟内完成部署。
* [strapi/strapi](https://github.com/strapi/strapi) 领先的开源无头 CMS。100% JScript,完全可定制且开发人员优先。
* [urfave/cli](https://github.com/urfave/cli) 一个简单、快速、有趣的包,用于在 Go 中构建命令行应用程序
* [twitter/twemoji](https://github.com/twitter/twemoji) 简单的库,可在所有平台上提供标准的 Unicode 表情符号支持。
* [usememos/memos](https://github.com/usememos/memos) 开源的、轻量级的笔记服务。轻松捕捉和分享您的伟大想法。
* [Advanced-Frontend/Daily-Interview-Question](https://github.com/Advanced-Frontend/Daily-Interview-Question) 公众号「高级前端进阶」作者,每天搞定一道前端大厂面试题
* [amsul/pickadate.js](https://github.com/amsul/pickadate.js) 移动友好,响应迅速且轻量级的jQuery日期和时间输入选择器。
* [arkenfox/user.js](https://github.com/arkenfox/user.js) Firefox 隐私、安全和反跟踪:用于配置和强化的综合user.js模板
* [angular-ui/ui-router](https://github.com/angular-ui/ui-router) 在 AngularJS 中使用嵌套视图进行灵活路由的事实上的解决方案
* [Instagram/IGListKit](https://github.com/Instagram/IGListKit) 数据驱动的 UICollectionView 框架,用于构建快速灵活的列表。
* [aniftyco/awesome-tailwindcss](https://github.com/aniftyco/awesome-tailwindcss) 实用工具优先的 CSS 框架,用于快速构建自定义用户界面。
* [stylelint/stylelint](https://github.com/stylelint/stylelint) 一个强大的 CSS linter,可帮助您避免错误并强制执行约定。
* [stylus/stylus](https://github.com/stylus/stylus) 为 nodejs 构建的富有表现力、健壮性、功能丰富的 CSS 语言
* [appium/appium](https://github.com/appium/appium) 基于 W3C WebDriver 协议构建的各种应用的跨平台自动化框架
* [yygmind/blog](https://github.com/yygmind/blog) 每周重点攻克一个前端面试重难点,走进高级前端的世界
* [tauri-apps/tauri](https://github.com/tauri-apps/tauri) 使用 Web 前端构建更小、更快和更安全的桌面应用程序。
* [material-components/material-web](https://github.com/material-components/material-web) UI 工具包,用于构建可自定义且可访问的 Web 应用程序。
* [aws-amplify/amplify-js](https://github.com/aws-amplify/amplify-js) JS库,适用于前端和移动开发人员构建支持云的应用程序
* [tabler/tabler-icons](https://github.com/tabler/tabler-icons) 超过4900个免费MIT许可的高质量SVG图标,供Web项目使用。
* [hexojs/hexo](https://github.com/hexojs/hexo) 一个快速,简单和强大的博客框架,由Node.js提供支持。
* [gnab/remark](https://github.com/gnab/remark) 一个简单的、浏览器内的、Markdown 驱动的幻灯片工具。
* [elm/compiler](https://github.com/elm/compiler) Elm的编译器,一种用于可靠Web应用程序的函数式语言。
* [Tencent/weui-wxss](https://github.com/Tencent/weui-wxss) 微信官方设计团队的UI库,包括最有用的小部件/模块。
* [Tencent/vConsole](https://github.com/Tencent/vConsole) 用于移动网页的轻量级、可扩展的前端开发人员工具。
* [apache/echarts](https://github.com/apache/echarts) 功能强大的交互式图表和数据可视化库,适用于浏览器
* [zenorocha/clipboard.js](https://github.com/zenorocha/clipboard.js) 新式复制到剪贴板。没有Flash。只需 3kb (gzip 压缩)。
* [animate-css/animate.css](https://github.com/animate-css/animate.css) 跨浏览器的 CSS 动画库。就像容易的事一样容易使用。
* [lipis/flag-icons](https://github.com/lipis/flag-icons) SVG 中所有国家国旗的精选集合 - 加上 CSS,以便于集成
* [bhauman/lein-figwheel](https://github.com/bhauman/lein-figwheel) 构建ClojureScript ,并在您编码时将其热加载到浏览器中
* [philss/floki](https://github.com/philss/floki) 简单的 HTML 解析器,它允许使用 CSS 选择器搜索节点。
* [ionic-team/capacitor](https://github.com/ionic-team/capacitor) 构建用于 iOS、Android 和 Web 跨平台本机渐进式 Web 应用
* [pure-css/pure](https://github.com/pure-css/pure) 一组小型响应式 CSS 模块,可在每个 Web 项目中使用。
* [material-components/material-components-web](https://github.com/material-components/material-components-web) 适用于 Web 的模块化和可自定义的 Material Design UI 组件
* [Stirling-Tools/Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF) 本地托管的 Web 应用,允许您对 PDF 文件执行各种操作
* [josdejong/jsoneditor](https://github.com/josdejong/jsoneditor) 基于 Web 的工具,用于查看、编辑、格式化和验证 JSON
* [dimsemenov/PhotoSwipe](https://github.com/dimsemenov/PhotoSwipe) 适用于移动和桌面的 JS图片库,模块化,独立于框架
* [django-cms/django-cms](https://github.com/django-cms/django-cms) 由 Django 支持的易于使用且对开发人员友好的企业 CMS
* [basarat/typescript-book](https://github.com/basarat/typescript-book) TypeScript 的权威指南,也可能是最好的 TypeScript 书籍
* [johannesjo/super-productivity](https://github.com/johannesjo/super-productivity) 私密且安全的 AI 工具,帮助每个人提高工作效率。
* [matteocrippa/awesome-swift](https://github.com/matteocrippa/awesome-swift) 一个很棒的 Swift 库和资源的协作列表。欢迎贡献!
* [Modernizr/Modernizr](https://github.com/Modernizr/Modernizr) JS 库,用于检测用户浏览器中的 HTML5 和 CSS3 功能。
* [thedaviddias/Front-End-Performance-Checklist](https://github.com/thedaviddias/Front-End-Performance-Checklist) 唯一运行速度比其他检查表更快的前端性能检查表
* [woai3c/visual-drag-demo](https://github.com/woai3c/visual-drag-demo) 一个低代码平台的前端部分,靠拖拉拽生成页面。
* [tinacms/tinacms](https://github.com/tinacms/tinacms) 一个完全开源的无头CMS,支持Markdown和可视化编辑
* [iamkun/dayjs](https://github.com/iamkun/dayjs) 不可变日期时间库替代 Moment.js具有相同的现代 API
* [Tonejs/Tone.js](https://github.com/Tonejs/Tone.js) 用于在浏览器中制作交互式音乐的 Web 音频框架。
* [timber/timber](https://github.com/timber/timber) 使用漂亮的OOP代码和Twig模板引擎创建WordPress主题
* [GrapesJS/grapesjs](https://github.com/GrapesJS/grapesjs) 无需编码即可构建模板的下一代Web 构建器框架。
* [roots/bedrock](https://github.com/roots/bedrock) WordPress样板,更轻松的配置和改进的文件夹结构
* [forem/forem](https://github.com/forem/forem) 开源平台,用于构建现代、独立和安全的社区。
* [nswbmw/N-blog](https://github.com/nswbmw/N-blog) 一起学 Node.js,使用 Express + MongoDB 搭建多人博客
* [ascoders/weekly](https://github.com/ascoders/weekly) 前端精读周刊。帮你理解最前沿、实用的技术。
* [shadcn-ui/ui](https://github.com/shadcn-ui/ui) 使用Radix UI和Tailwind CSS构建的精美设计的组件。
* [meteor/meteor](https://github.com/meteor/meteor) 一个用于构建现代 Web 应用程序的超简单环境。
* [fastlane/fastlane](https://github.com/fastlane/fastlane) 自动构建和发布 iOS 和 Android 应用的最简单方法
* [librespeed/speedtest](https://github.com/librespeed/speedtest) HTML5等的自托管速度测试。易设置,移动友好。
* [astaxie/build-web-application-with-golang](https://github.com/astaxie/build-web-application-with-golang) 一本 golang 电子书介绍如何使用 golang 构建网络
* [weilanwl/coloruicss](https://github.com/weilanwl/coloruicss) 鲜亮的高饱和色彩,专注视觉的小程序组件库
* [bubkoo/html-to-image](https://github.com/bubkoo/html-to-image) 使用 HTML5 canvas 和 SVG 从 DOM 节点来生成图像。
* [nslogx/Gitter](https://github.com/nslogx/Gitter) 可能是目前颜值最高的GitHub微信小程序客户端
* [framework7io/framework7](https://github.com/framework7io/framework7) 构建 iOS 和 Android 应用程序的全功能 HTML 框架
* [frappe/charts](https://github.com/frappe/charts) 简单、响应迅速、现代的 SVG 图表,零依赖性
* [tw93/Pake](https://github.com/tw93/Pake/) 很简单的用 Rust 打包网页生成很小的桌面 App
* [dexie/Dexie.js](https://github.com/dexie/Dexie.js) indexedDB 的包装库 - 浏览器中的标准数据库。
* [public-api-lists/public-api-lists](https://github.com/public-api-lists/public-api-lists) 用于软件和 Web 开发的免费 API 的集合列表。
* [jlmakes/scrollreveal](https://github.com/jlmakes/scrollreveal) 在元素滚动到视图中时对其进行动画处理。
* [terrastruct/d2](https://github.com/terrastruct/d2) 现代图表脚本语言,可将文本转换为图表。
* [DioxusLabs/dioxus](https://github.com/DioxusLabs/dioxus) 适用于桌面、网络、移动等的全栈 GUI 库。
* [dypsilon/frontend-dev-bookmarks](https://github.com/dypsilon/frontend-dev-bookmarks) 为前端 Web 开发人员手动策划的资源集合。
* [pdf2htmlEX/pdf2htmlEX](https://github.com/pdf2htmlEX/pdf2htmlEX) 将PDF转换为HTML,而不会丢失文本或格式。
* [nostalgic-css/NES.css](https://github.com/nostalgic-css/NES.css) NES 风格的 CSS 框架 | Famicom 风格的 CSS 框架
* [emilwallner/Screenshot-to-code](https://github.com/emilwallner/Screenshot-to-code) 将设计模型转换为静态网站的神经网络。
* [Popmotion/popmotion](https://github.com/Popmotion/popmotion) 简单的动画库,提供令人愉悦的用户界面
* [ant-design/ant-design-mobile](https://github.com/ant-design/ant-design-mobile) 用于构建移动 Web 应用程序的基本 UI 块。
* [heartcombo/devise](https://github.com/heartcombo/devise) 灵活的 Rails 身份验证解决方案和 Warden。
* [emotion-js/emotion](https://github.com/emotion-js/emotion) 专为高性能样式组合而设计的 CSS-in-JS 库
* [Chalarangelo/30-seconds-of-css](https://github.com/Chalarangelo/30-seconds-of-css) 满足您所有开发需求的简短 CSS 代码片段
* [mdbootstrap/TW-Elements](https://github.com/mdbootstrap/TW-Elements) Tailwind CSS 的大量免费交互式组件集合。
* [iamxjb/winxin-app-watch-life.net](https://github.com/iamxjb/winxin-app-watch-life.net) 微慕小程序开源版-WordPress版微信小程序
* [saadeghi/daisyui](https://github.com/saadeghi/daisyui) 流行、最免费、最开源的顺风CSS组件库
* [sampotts/plyr](https://github.com/sampotts/plyr) 一个简单的 HTML5、YouTube 和 Vimeo 播放器
* [wailsapp/wails](https://github.com/wailsapp/wails) 使用 Go 和 Web 技术构建桌面应用程序。
* [usablica/intro.js](https://github.com/usablica/intro.js) 轻量级、用户友好的入门和产品演练库
* [jekyll/jekyll](https://github.com/jekyll/jekyll) Ruby 中一个博客感知的静态站点生成器
* [markedjs/marked](https://github.com/markedjs/marked) markdown解析器和编译器。为速度而生。
* [you-dont-need/You-Dont-Need-JavaScript](https://github.com/you-dont-need/You-Dont-Need-JavaScript) CSS很强大,没有JS也可以做很多事情。
* [jgraph/drawio](https://github.com/jgraph/drawio) 可配置的图表/白板可视化应用程序。
* [sindresorhus/awesome-electron](https://github.com/sindresorhus/awesome-electron) 使用 Electron 创建应用程序的有用资源
* [Templarian/MaterialDesign](https://github.com/Templarian/MaterialDesign) 来自社区的 7000+ 个 Material Design 图标
* [cobiwave/simplefolio](https://github.com/cobiwave/simplefolio) 面向开发人员的最小的个人介绍模板
* [jessepollak/card](https://github.com/jessepollak/card) 在一行代码中使您的信用卡表格更好
* [zxlie/FeHelper](https://github.com/zxlie/FeHelper) Web前端助手,包括各种前端开发工具
* [ErickWendel/semana-javascript-expert08](https://github.com/ErickWendel/semana-javascript-expert08) 在浏览器中上传视频之前进行预处理
* [SBoudrias/Inquirer.js](https://github.com/SBoudrias/Inquirer.js) 通用交互式命令行用户界面的集合。
* [wulkano/Kap](https://github.com/wulkano/Kap) 使用 Web 技术构建的开源屏幕录像机
* [leptos-rs/leptos](https://github.com/leptos-rs/leptos) 使用 Rust 构建快速的 Web 应用程序。
* [woniudiancang/bee](https://github.com/woniudiancang/bee) 微信小程序-餐饮点餐外卖-开箱即用
* [AirtestProject/Airtest](https://github.com/AirtestProject/Airtest) 适用于游戏和应用的 UI 自动化框架
* [xhtml2pdf/xhtml2pdf](https://github.com/xhtml2pdf/xhtml2pdf) 使用 ReportLab 将 HTML 转换为 PDF 的库
* [realm/SwiftLint](https://github.com/realm/SwiftLint) 强制执行 Swift 样式和约定的工具。
* [nestjs/awesome-nestjs](https://github.com/nestjs/awesome-nestjs) 与NestJS 相关的精彩事物的精选列表
* [TalkingData/iview-weapp](https://github.com/TalkingData/iview-weapp) 一套高质量的微信小程序 UI 组件库
* [Cveinnt/LiveTerm](https://github.com/Cveinnt/LiveTerm) 在几分钟内构建终端风格的网站!
* [yangshun/front-end-interview-handbook](https://github.com/yangshun/front-end-interview-handbook) 为繁忙的工程师准备前端面试材料
* [tsayen/dom-to-image](https://github.com/tsayen/dom-to-image) 使用 HTML5 画布从 DOM 节点生成图像
* [wechat-miniprogram/miniprogram-demo](https://github.com/wechat-miniprogram/miniprogram-demo) 微信小程序组件 / API / 云开发示例
* [PatrickJS/awesome-angular](https://github.com/PatrickJS/awesome-angular) 令人敬畏的 Angular 资源的精选列表
* [AllThingsSmitty/css-protips](https://github.com/AllThingsSmitty/css-protips) 帮助您提高 CSS 技能的技巧集合。
* [savingrun/WeHalo](https://github.com/savingrun/WeHalo) WeHalo 简约风 的微信小程序版博客
* [FallibleInc/security-guide-for-developers](https://github.com/FallibleInc/security-guide-for-developers) 面向 Web 开发人员的实用安全指南
* [Anarios/return-youtube-dislike](https://github.com/Anarios/return-youtube-dislike) Chrome 扩展程序返回 youtube 不喜欢
* [microsoft/Web-Dev-For-Beginners](https://github.com/microsoft/Web-Dev-For-Beginners) 24 节课,12 周,Web 开发人员入门
* [grab/front-end-guide](https://github.com/grab/front-end-guide) 学习指南和现代前端堆栈介绍。
* [adamschwartz/magic-of-css](https://github.com/adamschwartz/magic-of-css) 一门CSS课程,让你变成魔术师。
* [validatorjs/validator.js](https://github.com/validatorjs/validator.js) 字符串验证程序和清理程序库。
* [kefranabg/readme-md-generator](https://github.com/kefranabg/readme-md-generator) 生成漂亮的 README.md 文件的 CLI。
* [academicpages/academicpages.github.io](https://github.com/academicpages/academicpages.github.io) 学术个人网站的 Github 页面模板
* [svg/svgo](https://github.com/svg/svgo) 用于优化 SVG 文件的 Node.js 工具
* [FormidableLabs/webpack-dashboard](https://github.com/FormidableLabs/webpack-dashboard) webpack 开发服务器的 CLI 仪表板
* [youzan/vant-weapp](https://github.com/youzan/vant-weapp) 轻量、可靠的小程序 UI 组件库
* [maplibre/maplibre-gl-js](https://github.com/maplibre/maplibre-gl-js) WebGL2 中的交互式矢量瓦片地图
* [youzan/vant-weapp](https://github.com/youzan/vant-weapp) 轻量、可靠的小程序 UI 组件库
* [tariqbuilds/linux-dash](https://github.com/tariqbuilds/linux-dash) 适用于 Linux 的精美 Web 仪表板
* [carbon-app/carbon](https://github.com/carbon-app/carbon) 创建和共享源代码的精美图像
* [ecomfe/echarts-for-weixin](https://github.com/ecomfe/echarts-for-weixin) Apache ECharts 的微信小程序版本
* [mageslr/weapp-library](https://github.com/imageslr/weapp-library) “在线借书平台”微信小程序
* [keystonejs/keystone-classic](https://github.com/keystonejs/keystone-classic) Node.js CMS 和 Web 应用程序框架
* [theatre-js/theatre](https://github.com/theatre-js/theatre) 适用于 Web 的动态设计编辑器
* [jgthms/bulma](https://github.com/jgthms/bulma) 基于 Flexbox 的现代 CSS 框架。
* [xmartlabs/Eureka](https://github.com/xmartlabs/Eureka) Swift 中优雅的 iOS 表单构建器
* [Dogfalo/materialize](https://github.com/Dogfalo/materialize) 基于 Material Design 的 CSS 框架
* [mobxjs/mobx](https://github.com/mobxjs/mobx) 简单、可扩展的状态管理。
* [liriliri/eruda](https://github.com/liriliri/eruda) 适用于移动浏览器的控制台
* [primer/css](https://github.com/primer/css) 支持 GitHub 的 CSS 设计系统
* [davidsonfellipe/awesome-wpo](https://github.com/davidsonfellipe/awesome-wpo) Web 性能优化的精选列表。
* [ariya/phantomjs](https://github.com/ariya/phantomjs) 可编写脚本的无头浏览器
* [xiaolin3303/wx-charts](https://github.com/xiaolin3303/wx-charts) 微信小程序图表charts组件
* [chalk/chalk](https://github.com/chalk/chalk) 正确的终端CLI字符串样式
* [ikatyang/emoji-cheat-sheet](https://github.com/ikatyang/emoji-cheat-sheet) markdown版表情符号备忘单
* [necolas/normalize.css](https://github.com/necolas/normalize.css) CSS 重置的现代替代方案
* [thomaspark/bootswatch](https://github.com/thomaspark/bootswatch) Bootstrap 的开源主题集合
* [Tencent/wepy](https://github.com/Tencent/wepy) 小程序组件化开发框架
* [google/iosched](https://github.com/google/iosched) Android 版 Google I/O 应用
* [callstack/linaria](https://github.com/callstack/linaria) JS 库中的零运行时 CSS
* [cachethq/cachet](https://github.com/cachethq/cachet) 开源状态页面系统。
* [troxler/awesome-css-frameworks](https://github.com/troxler/awesome-css-frameworks) 很棒的CSS框架列表。
* [joshbuchea/HEAD](https://github.com/joshbuchea/HEAD) HTML 元素的简单指南
* [less/less.js](https://github.com/less/less.js) 动态CSS样式表语言
* [keen/dashboards](https://github.com/keen/dashboards) 响应式仪表板模板
* [iv-org/invidious](https://github.com/iv-org/invidious) YouTube 的前端替代
### 多工具库支持或纯JS
* [flet-dev/flet](https://github.com/flet-dev/flet) Flet 使开发人员能够轻松地使用 Python 构建实时 Web、移动和桌面应用程序。无需前端经验。Flet 是团队、周末项目、数据输入表单、信息亭应用程序或高保真原型的内部工具或仪表板 - Flet 是一个理想的框架,可以快速破解漂亮的交互式应用程序,为一组用户提供服务。不再需要复杂的架构,包括 JavaScript 前端、REST API 后端、数据库、缓存等。使用 Flet,您只需用 Python 编写一个整体式有状态应用程序,即可获得多用户实时单页应用程序 (SPA)。要开始使用 Flet 进行开发,您只需要自己喜欢的 IDE 或文本编辑器。没有 SDK,没有数千个依赖项,没有复杂的工具 - Flet 有一个内置的 Web 服务器,带有资产托管和桌面客户端。Flet UI 是使用 Flutter 构建的,因此您的应用程序看起来很专业,并且可以交付到任何平台。Flet 通过将较小的 “小部件” 与命令式编程模型相结合,将现成的 “控件” 组合在一起,从而简化了 Flutter 模型。Flet 与语言无关,因此您团队中的任何人都可以使用他们最喜欢的语言开发 Flet 应用程序。已经支持 Python,接下来将支持 Go、C# 和其他功能。将 Flet 应用程序部署为 Web 应用程序并在浏览器中查看它。将其打包为适用于 Windows、macOS 和 Linux 的独立桌面应用程序。将其作为 PWA 安装在移动设备上,或通过适用于 iOS 和 Android 的 Flet 应用程序查看。
* [aframevr/aframe](https://github.com/aframevr/aframe) 用于构建虚拟现实体验的 Web 框架。`虚拟现实变得简单`:A-Frame 只需插入 a-scene 即可处理跨平台运行所需的 3D 和 WebXR 样板,包括移动设备、桌面和所有耳机(与支持 WebXR 的浏览器兼容)。`声明式 HTML`:HTML 易于阅读和复制粘贴。可以在 HTML 中使用,因此每个人都可以访问。`实体组件架构`:three.js 之上的强大框架,为 three.js 提供了一个声明性的、可组合的、可重用的实体组件结构。可以无限制地访问 JavaScript、DOM API、three.js、WebXR 和 WebGL。`性能`:是 three.js 之上的精简框架。性能是重中之重,在高度交互的 WebXR 体验上经过了实战考验。`跨平台`:为任何与支持 WebXR 的浏览器兼容的头戴式设备构建 VR 和 AR 应用程序。仍然可以在标准台式机和智能手机上运行。`可视化检查器`:内置可视化 3D 检查器,其工作流程类似于浏览器的开发人员工具,界面类似于 Unity。打开任何 A-Frame 场景并点击 ctrl+alt+i . `功能`:内置组件(如几何体、材质、灯光、动画、模型、光线投射器、阴影、位置音频、跟踪控制器)立即开始运行。使用粒子系统、物理、多用户、海洋、山脉、语音识别或传送等社区组件
* [Polymer/polymer](https://github.com/Polymer/polymer) Polymer 允许您构建封装的、可重用的 Web 组件,这些组件的工作方式与标准 HTML 元素类似,用于构建 Web 应用程序。使用使用 Polymer 构建的 Web 组件非常简单,只需导入其定义,然后像使用任何其他 HTML 元素一样使用它。`Web Components`:各种网站往往需要一些相同的模块,比如日历、调色板等等,这种模块就被称为“组件”(component)。Web Components 就是浏览器原生的组件规范。采用组件开发,有很多优点。(1)有利于代码复用。组件是模块化编程思想的体现,可以跨平台、跨框架使用,构建、部署和与其他 UI 元素互动都有统一做法。(2)使用非常容易。加载或卸载组件,只要添加或删除一行代码就可以了。(3)开发和定制很方便。组件开发不需要使用框架,只要用原生的语法就可以了。开发好的组件往往留出接口,供使用者设置常见属性,比如上面代码的heading属性,就是用来设置对话框的标题。(4)组件提供了 HTML、CSS、JavaScript 封装的方法,实现了与同一页面上其他代码的隔离。未来的网站开发,可以像搭积木一样,把组件合在一起,就组成了一个网站。这种前景是非常诱人的。
* [squidfunk/mkdocs-material](https://github.com/squidfunk/mkdocs-material) 使用 Markdown 编写文档,并在几分钟内为您的开源或商业项目创建一个专业的静态站点 - 可搜索、可自定义、支持所有设备的 60 多种语言。专注于文档内容,并在几分钟内创建一个专业的静态站点。无需了解 HTML、CSS 或 JavaScript – 让 Material for MkDocs 为您完成繁重的工作。自信地提供您的文档 – MkDocs 材料会自动适应,以完美适应可用的屏幕空间,无论查看设备的类型或大小如何。桌面。片。移动。一切都很棒。让它成为你的 - 只需几行配置即可更改颜色、字体、语言、图标、徽标等。MkDocs 的材料可以轻松扩展,并提供许多选项来更改外观和行为。不要让您的用户等待 - 通过使用具有出色性能的最快主题之一,以较小的占用空间获得难以置信的价值,从而产生最佳的搜索引擎排名和返回的满意用户。优先考虑辅助功能 – 用户可以使用触摸设备、键盘和屏幕阅读器浏览您的文档。语义标记可确保您的文档适合所有人。信任 20,000+ 用户 – 选择采用最先进的开源技术构建的成熟且积极维护的解决方案。保留您的内容的所有权,而不必担心供应商锁定。根据 MIT 授权。
* [gui-cs/Terminal.Gui](https://github.com/gui-cs/Terminal.Gui) 适用于 .NET 的跨平台终端 UI 工具包,用于构建适用于 Windows、Mac 和 Linux/Unix 的 .NET、.NET Core 和 Mono 的丰富控制台应用的工具包。特征:跨平台 - Windows、Mac 和 Linux。Curses、Windows 控制台和 .NET 控制台的终端驱动程序意味着应用在彩色和单色终端上都能正常工作。键盘和鼠标输入 - 支持键盘和鼠标输入,包括对拖放的支持。灵活布局 - 支持绝对布局和创新的计算布局系统。计算布局使控件之间的相对布局变得容易,并启用动态终端 UI。剪贴板支持 - 剪切、复制和粘贴通过 Clipboard 类提供的文本。任意视图 - 所有可见的 UI 元素都是 View 类的子类,而这些子类又可以包含任意数量的子视图。高级应用功能 - Mainloop 支持处理事件、空闲处理程序、计时器和监控文件描述符。大多数类对于线程都是安全的。反应式扩展 - 使用反应式扩展,并受益于增强的代码可读性,以及应用 MVVM 模式和 ReactiveUI 数据绑定的能力。请参阅示例应用的源代码,了解如何实现此目的。
* [marionettejs/backbone.marionette](https://github.com/marionettejs/backbone.marionette) Marionette.js是一个基于 Backbone.js 的复合应用程序库,旨在简化大型 JavaScript 应用程序的构建。它提供了一系列在应用程序中常见的架构设计和实现模式,帮助开发者构建可扩展的应用程序。Marionette 基于 Backbone 提供的基础构建块,提供了应用程序架构、视图管理和内存管理等功能,并提供了一套轻量级且灵活的工具,帮助开发者构建可扩展的应用程序。开发者可以选择使用 Marionette 的部分功能,并与其他 Backbone 框架和插件轻松集成。开发者可以通过 Gitter 聊天室与 Marionette 社区交流,并讨论设计模式和使用经验。Marionette 的主要优势包括:可扩展性、合理的默认设置、易于修改、减少样板代码、使用 Region 和 View 对象创建运行时应用程序视觉效果、嵌套 View 和 Collection 等。
* [getzola/zola](https://github.com/getzola/zola) 一个快速的静态站点生成器,在一个二进制文件中,内置了所有内容。Zola 作为单个可执行文件提供,具有 Sass 编译、语法突出显示、目录和许多其他传统上需要设置开发环境或向您的网站添加一些 JavaScript 库的功能。平均站点将在不到一秒的时间内生成,包括 Sass 编译和语法高亮。Zola 将您的整个网站呈现为静态文件,使您无需支付任何费用即可轻松处理任何类型的流量,而无需担心管理服务器或数据库。从CLI到模板引擎,一切都设计得非常直观。不过,不要相信我的话,看看文档,自己看看。Zola 不碍事,因此您可以专注于您的内容,无论是博客、知识库、登录页面还是它们的组合。Zola 带有简码和内部链接,可以更轻松地编写内容。
* [idea4good/GuiLite](https://github.com/idea4good/GuiLite) GuiLite是一个跨平台的轻量级 GUI 库,仅包含 4000行 C++ 代码,无需依赖任何第三方库,仅需头文件即可使用。它支持多种操作系统,包括 iOS/macOS/WatchOS、Android、Linux、Windows 和 RTOS,甚至可以在没有操作系统的 MCU 上运行。GuiLite 拥有高渲染性能,即使在 MCU 上也能流畅运行,并与 Qt、MFC、Winforms、Cocoa 等第三方框架兼容。它还支持多种语言,包括 C/C++、Swift、Java、Javascript、C# 和 Golang,并提供工具包用于构建字体和图像资源,以及 WYSIWYG 布局工具。GuiLite 还支持 3D 和Web 功能,并提供实时代码遥测和分析功能。用户可以通过简单的学习步骤快速掌握 GuiLite,并通过社区渠道获得支持。
* [Tencent/Hippy](https://github.com/Tencent/Hippy) Hippy是一个跨平台开发框架,旨在帮助开发者编写一次代码,就能在多个平台(iOS、Android、Web 等)上运行。Hippy 对 Web开发者非常友好,尤其是熟悉 React 或 Vue 的开发者。使用 Hippy,开发者可以轻松创建跨平台应用程序。Hippy 现在已应用于腾讯的多个主要应用程序,例如手机 QQ、手机 QQ 浏览器、腾讯视频、QQ 音乐和腾讯新闻,覆盖数亿普通用户。Hippy 的优势包括:专为 Web 开发者设计,官方支持 React 和 Vue 等 Web 框架;不同平台的 API 相同;通过 JS 引擎绑定通信实现出色的性能;内置可回收组件,提高性能;可以平滑地迁移到 Web 浏览器;完全支持 Flex 布局引擎。
* [Justson/AgentWeb](https://github.com/Justson/AgentWeb) 基于 Android WebView 的强大库。极度容易使用以及功能强大的库,提供了 Android WebView 一系列的问题解决方案 ,并且轻量和极度灵活。轻量级而且功能强大的 Web 库 , 大小只有 200K 。功能:进度条以及自定义进度条、文件下载、文件下载断点续传、下载通知形式提示进度、简化 Javascript 通信、支持 Android 4.4 Kitkat 以及其他版本文件上传、注入 Cookies、加强 Web 安全、支持全屏播放视频、兼容低版本 Js 安全通信、更省电 、支持调起微信支付、支持调起支付宝、默认支持定位、支持传入 WebLayout(下拉回弹效果)、支持自定义 WebView、支持 JsBridge
* [pydantic/FastUI](https://github.com/pydantic/FastUI) FastUI是一种使用声明式 Python 代码构建 Web 应用界面的新方法,它将 Pydantic 模型与 TypeScript 接口相结合,在构建时通过 TypeScript和 pyright/mypy 进行验证,在运行时通过 Pydantic 进行验证。FastUI 由 `fastui` PyPI 包、`@pydantic/fastui` npm 包、`@pydantic/fastui-bootstrap` npm 包和 `@pydantic/fastui-prebuilt` npm 包组成,支持使用 Bootstrap 构建组件,并提供预构建的 React 应用,方便开发者使用。FastUI 允许 Python 开发者使用 React 构建响应式 Web 应用,而无需编写 JavaScript 代码或使用 `npm`,同时允许前端开发者专注于构建可复用的组件,实现真正的关注点分离。
* [Hopding/pdf-lib](https://github.com/Hopding/pdf-lib) pdf-lib是一个 JavaScript 库,用于在任何 JavaScript 环境中创建和修改 PDF 文档。它支持多种功能,包括创建新的 PDF、修改现有 PDF、创建表单、填充表单、扁平化表单、添加页面、插入页面、删除页面、复制页面、绘制文本、绘制图像、绘制 PDF 页面、绘制矢量图形、绘制SVG 路径、测量文本的宽度和高度、嵌入字体(支持 UTF-8 和 UTF-16 字符集)、设置文档元数据、读取文档元数据、设置查看器首选项、读取查看器首选项、添加附件。pdf-lib 旨在适用于任何现代 JavaScript 运行时,并在 Node、浏览器、Deno 和 React Native 环境中经过测试。
* [biomejs/biome](https://github.com/biomejs/biome) Biome是一个用于 Web 项目的性能工具链,旨在提供开发工具来维护项目的健康状况。Biome 提供格式化程序和代码 linter,可以通过 CLI 和 LSP 使用。Biome 是一个快速格式化程序,支持 JavaScript、TypeScript、JSX、JSON、CSS 和 GraphQL,与 Prettier 的兼容性高达 97%。Biome 也是一个性能优越的代码 linter,支持 JavaScript、TypeScript、JSX、CSS 和 GraphQL,包含来自 ESLint、typescript-eslint 和其他来源的 270 多条规则,并输出详细的上下文诊断信息,帮助你改进代码并成为更好的程序员。Biome 从一开始就被设计为可以与 VS Code 等编辑器交互使用。
* [greensock/GSAP](https://github.com/greensock/GSAP) GSAP(GreenSock动画平台)是一个用于现代Web的JavaScript动画库,让开发者成为动画超级英雄。它可以构建高性能动画,适用于所有主流浏览器,可以动画化CSS、SVG、canvas、React、Vue、WebGL、颜色、字符串、运动路径、普通对象等任何JavaScript可以操作的内容。ScrollTrigger插件可以实现惊艳的滚动动画,gsap.matchMedia()简化了响应式和无障碍动画的构建。GSAP完全灵活,无依赖项,内置许多高级插件和缓动函数,如滚动、形态变化、路径动画、FLIP动画等,还提供了一个Observer工具来标准化事件检测。
* [rstudio/shiny](https://github.com/rstudio/shiny) Shiny是一个 R 包,它允许你使用 R 语言轻松创建交互式网页应用程序,无需 HTML、CSS 或 JavaScript 知识。Shiny 提供了一个直观的响应式编程模型,将你的 R 代码转换为实时应用程序,输出会根据用户输入自动更新。它还包含一组预构建的、可定制的、易于使用的部件,例如图表、表格、滑块、下拉菜单、日期选择器等等。Shiny 与 R Markdown 无缝集成,可以轻松地将多个应用程序嵌入到更大的动态文档中。Shiny 还提供工具来提高和监控性能,包括对异步编程、缓存和负载测试的支持。
* [cambecc/earth](https://github.com/cambecc/earth) "earth"是一个用于可视化全球天气状况的项目,它基于早期的Tokyo Wind Map 项目,并使用 JavaScript 和浏览器编程技术。该项目提供了一个定制的实例,可访问 http://earth.nullschool.net。项目使用 Natural Earth 提供的地图数据,并通过 GDAL 和 TopoJSON 工具将其转换为 TopoJSON 格式。天气数据则来自美国国家气象局运营的全球预报系统 (GFS),通过 NOMADS 下载 GRIB2格式的预报数据。用户可以通过命令行工具下载和处理数据,并使用提供的开发服务器启动项目。
* [moklick/frontend-stuff](https://github.com/moklick/frontend-stuff) 这是一个持续更新的网页前端框架、库和工具列表,主要包含 JavaScript相关内容,涵盖了 CSS/UI 框架、前端框架/UI组件库、图表、地图、表格、选择器、加载器、UI 元素、内容滑块、排版、视频、音频、画布和 SVG、3D/WebGL 框架、图像处理、滚动、触摸手势、动画、模板、HTTP 请求、事件、图标、颜色、数据库/存储、验证、日期、国际化、数字和货币、统计和数据分析、模块加载器、延迟加载、神经网络、社交、实用程序库和通用工具等多个方面。
* [aFarkas/lazysizes](https://github.com/aFarkas/lazysizes) 用于图像(响应式和正常)、iframe 等的高性能和 SEO 友好型惰性加载器,无需配置即可检测通过用户交互、CSS 或 JavaScript 触发的任何可见性变化。它也可能成为您集成响应式图像的第一工具。它可以自动计算响应式图像的 sizes 属性,它允许您与 CSS 共享媒体属性的媒体查询,有助于将布局 (CSS) 与内容/结构 (HTML) 分开,并且它使将响应式图像集成到任何环境中变得非常简单。它还包括一组可选插件,以进一步扩展其功能。
* [olifolkerd/tabulator](https://github.com/olifolkerd/tabulator) Tabulator是一个易于使用的交互式表格生成 JavaScript 库,可用于将任何 HTML表格、JavaScript 数组或 JSON 格式的数据快速转换为交互式表格。它包含许多功能,例如排序、过滤、分页、编辑、选择、列分组、冻结列、导出数据、自定义渲染器、主题等,并支持 React、Angular 和 Vue 等主流前端框架。只需包含库和 CSS 文件,即可轻松设置 Tabulator,并使用简单的 JavaScript 代码创建表格。此外,Tabulator 还支持通过 Bower、NPM 和 UNPKG CDN 获取。
* [ianstormtaylor/superstruct](https://github.com/ianstormtaylor/superstruct) Superstruct是一个简单且可组合的 JavaScript (和 TypeScript) 数据验证库。它提供了一个类似于 TypeScript、Flow、Go 和 GraphQL 的类型注解 API,使验证过程易于理解和使用。Superstruct 专注于运行时数据验证,并能为无效数据提供详细的运行时错误信息,这在处理 REST 或 GraphQL API 中的任意输入时特别有用。此外,Superstruct 还支持自定义验证器、数据类型强制转换(如添加默认值)以及 TypeScript 类型推断,以确保验证后的数据类型正确。
* [mdn/browser-compat-data](https://github.com/mdn/browser-compat-data) 该项目名为`@mdn/browser-compat-data`,简称为BCD,包含了机器可读的浏览器(以及JavaScript运行时)对Web技术的兼容性数据,例如Web API、JavaScript特性、CSS属性等。该项目的目标是记录Web技术的准确兼容性数据,帮助Web开发者更容易地编写跨浏览器兼容的网站。BCD被用于MDN Web Docs、CanIUse、Visual Studio Code、WebStorm等软件。你可以通过NodeJS、Deno/Browsers或其他语言获取该项目数据,并使用它查询任何Web技术的浏览器兼容性信息。
* [mojs/mojs](https://github.com/mojs/mojs) JavaScript 动态图形库,它是一个快速、支持 Retina 的模块化和开源库。与其他库相比,它具有不同的语法和代码动画结构方法。声明式 API 为您提供了对动画的完全控制,使其易于自定义。该库提供了从头开始制作动画的内置组件,如 html、形状、漩涡、突发和交错,但也为您提供了帮助您以最自然的方式制作动画的工具。在您的网站上使用 mojs 将增强用户体验,在视觉上丰富您的内容并精确地创建令人愉悦的动画。
* [h2oai/wave](https://github.com/h2oai/wave) H2O Wave是一个用于构建实时网页应用和仪表盘的软件栈,它允许你在 Python/R 中使用,无需 HTML、Javascript 或 CSS。H2O Wave擅长从多个来源获取信息并在网络上实时广播,让你能够更轻松地构建和部署实时分析。它提供了 80 多个组件和 250 多个示例,并支持响应式布局和主题定制,让你能够创建美观、低延迟的实时应用程序。H2O Wave 现在也支持 R 语言 API,让你可以使用 R 语言构建和控制 Wave 仪表盘。
* [iconify/iconify](https://github.com/iconify/iconify) Iconify是一个通用的图标框架,支持150多个图标集和超过200,000个图标,包括FontAwesome、Material Design Icons等,可通过Web组件或React、Vue、Svelte组件嵌入HTML,并提供Figma、Sketch和Adobe XD插件以及图标搜索功能。其核心在于按需从Iconify API加载图标数据,避免加载所有图标,从而实现图标选择的无限可能性。项目包含核心组件、Web组件及各种框架的包装器,图标数据则存储在独立的iconify/icon-sets仓库中。
* [redlib-org/redlib](https://github.com/redlib-org/redlib) Redlib是一个类似于Invidious的私有Reddit前端,它使用Rust语言编写,速度快,没有JavaScript、广告、跟踪或臃肿。所有请求都通过服务器代理,包括媒体,并使用强大的内容安全策略防止浏览器直接访问Reddit。Redlib实现了大多数Reddit的(未登录)功能,但仍缺少一些功能。它受Invidious、Nitter和Bibliogram等其他替代前端的启发。Redlib希望提供一种更便捷的方式来浏览Reddit,而无需广告、跟踪和臃肿。
* [BuilderIO/builder](https://github.com/BuilderIO/builder) Builder.io 是一个可视化开发平台,支持 React、Vue、Svelte、Qwik 等框架。它可以将 Figma 设计转换为代码,并使用拖放功能构建组件,最后只需点击即可发布。Builder.io 通过连接到您的网站或应用程序,使用您现有的组件,从 Figma设计或其拖放编辑器中生成代码,并通过其 SDK 将代码导出或发布更新。您可以免费注册一个账户体验 Builder.io。该仓库包含了各种 SDK、使用示例、入门项目和插件。
* [gitbrent/PptxGenJS](https://github.com/gitbrent/PptxGenJS) 使用强大、简洁的 JavaScript API 创建 PowerPoint 演示文稿。此库创建与 Microsoft PowerPoint、Apple Keynote 和其他应用程序兼容的 Open Office XML (OOXML) 演示文稿。支持所有现代桌面和移动浏览器,与 Node、Angular、React 和 Electron 集成,与 PowerPoint、Keynote 等兼容。所有主要对象类型都可用(图表、形状、表格等),学术/企业品牌的母版幻灯片,SVG 图像、GIF 动画、YouTube 视频、RTL 文本和亚洲字体。
* [flexxui/flexx](https://github.com/flexxui/flexx) Flexx是一个纯Python库,用于创建图形用户界面(GUI),它使用Web技术进行渲染,并通过PScript编译器动态生成JavaScript代码。你可以用它创建跨平台的桌面应用、网页应用,并导出为独立的HTML文档,也支持在Jupyter Notebook中使用。Flexx旨在提供一个单一的应用框架,以简化桌面应用、网页应用的开发,并具有良好的可维护性,但需注意区分服务器端和浏览器端的Python代码。
* [zedeus/nitter](https://github.com/zedeus/nitter) 一个免费和开源的替代Twitter前端,专注于隐私和性能。灵感来自Invidious项目。没有 JavaScript 或广告。所有请求都通过后端,客户端从不与 Twitter 交谈。阻止 Twitter 跟踪您的 IP 或 JavaScript 指纹。使用 Twitter 的非官方 API(无需速率限制或开发者帐户)。轻量级(@nim_lang,60KB vs 784KB twitter.com)。RSS 订阅源。主题。移动支持(响应式设计)。AGPLv3 许可,不允许专有实例。
* [jorgebucaran/hyperapp](https://github.com/jorgebucaran/hyperapp) 用于构建超文本应用程序的 1kB 式 JavaScript 框架,最大限度地减少了完成工作所需的学习概念。视图、操作、效果和订阅都非常容易掌握并无缝协作。Hyperapp 具有易于阅读且编写有趣的声明式 API,是使用惯用 JavaScript 构建功能纯、功能丰富、基于浏览器的应用程序的最佳方式。超轻量级的虚拟 DOM、高度优化的差异算法和痴迷于极简主义的状态管理库。
* [sachinchoolur/lightGallery](https://github.com/sachinchoolur/lightGallery) lightGallery是一个可定制、模块化、响应式的lightbox图库插件,无需依赖,支持React、Angular、Vue.js和TypeScript。它具有丰富的功能,例如响应式设计、模块化架构、触摸设备优化、多种动画效果、社交分享、视频支持、缩放、全屏支持、键盘导航、以及易于通过CSS和设置进行自定义等,并提供详细文档和多种安装方式(NPM、Yarn、Bower、CDN和GitHub)。
* [styled-components/polished](https://github.com/styled-components/polished) Polished是一个轻量级的JavaScript样式工具集,提供Sass风格的辅助函数和mixin,方便开发者在JavaScript中编写样式。它兼容多种框架(如styled-components、emotion等),支持Webpack和Rollup的tree shaking以减小bundle体积,并提供Flow和TypeScript定义,以及Babel插件以优化性能。 Polished让开发者轻松创建美观的应用,并简化从预处理器到JS样式的迁移过程。
* [ustbhuangyi/better-scroll](https://github.com/ustbhuangyi/better-scroll) BetterScroll是一款基于 iscroll 的移动端滚动插件,它提供了更多功能和更优的滚动性能。BetterScroll 使用纯 JavaScript 实现,无需依赖其他库。它可以轻松实现列表滚动等常见场景,只需将 BetterScroll 应用于外层容器,并指定滚动内容即可。BetterScroll 默认处理容器第一个子元素的滚动,但也可以通过 `specifiedIndexAsContent` 选项指定其他元素。
* [surveyjs/survey-library](https://github.com/surveyjs/survey-library) SurveyJS是一个免费的JavaScript表单构建库,支持React、Angular、Vue、jQuery和Knockout等框架,可创建动态JSON表单,收集回复并发送数据到任意数据库。它支持多页表单、弹出式调查、测验等多种形式,并提供表单构建器生成JSON配置。该库使用JSON对象与服务器交互,所有数据存储在您自己的服务器上,并提供丰富的输入类型和验证功能。
* [FrontEndGitHub/FrontEndGitHub](https://github.com/FrontEndGitHub/FrontEndGitHub) 这是一个GitHub仓库,汇集了最全面的前端资源,涵盖前端学习、开发资源、数据结构与算法、开发工具、求职面试等多个方面。该项目旨在帮助前端开发者快速获取优质资源,提升学习效率,并提供便捷的学习路径。仓库包含超过10个类别,覆盖了JavaScript、Vue、React、Node、小程序、Flutter、Deno、HTML、CSS等热门技术领域。
* [immutable-js/immutable-js](https://github.com/immutable-js/immutable-js) Immutable.js是一个JavaScript库,提供持久化的不可变数据集合,包括List、Map、Set等,通过结构共享(利用哈希映射Trie和向量Trie)提高效率,避免了数据复制和缓存的需要;其不可变特性简化了应用开发,并支持高级的记忆化和变更检测技术;它还提供惰性Seq,允许高效地链式调用集合方法,无需创建中间表示。
* [rails/webpacker](https://github.com/rails/webpacker) Webpacker是一个用于在 Rails 中管理类似应用程序的 JavaScript 模块的工具,它已不再维护,建议使用 jsbundling-rails 或 import maps 代替。对于现有的 Webpacker 项目,可以迁移到 jsbundling-rails 或 import maps,也可以继续使用 Webpacker,但不会更新到新版本的 JavaScript 库。Webpacker 的 v6 版本将由 Shakapacker 项目继续开发。
* [lgwebdream/FE-Interview](https://github.com/lgwebdream/FE-Interview) FE-Interview是一个前端面试刷题项目,包含1000+道前端面试真题,涵盖HTML、CSS、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器等多个方面,并提供详细的解答和解析,是前端面试准备的必备资源。项目特色在于其独有的面试题详解,帮助用户深入理解知识点,提升面试技巧。
* [siriwatknp/mui-treasury](https://github.com/siriwatknp/mui-treasury) mui-treasury是一个基于Material-UI的、可直接使用的组件集合,其组件设计灵感源于Dribbble和Pinterest等平台。用户可以通过复制粘贴代码或使用CLI命令(npx mui-treasury@latest clone [组件名称])两种方式将组件添加到项目中。该项目提供多种CLI选项,支持一次克隆多个组件,并包含TypeScript和JavaScript模板。
* [shepherd-pro/shepherd](https://github.com/shepherd-pro/shepherd) Shepherd 可以轻松创建自定义用户引导之旅、培训和公告,以推动用户采用。Shepherd 使您能够引导用户完成您的应用程序或网站中的自定义游览或旅程。Shepherd 具有高度可定制性,样式极简,允许强大的自定义,同时易于使用。支持各种框架,包括 React、Ember、Angular、Vue.js、ES 模块或纯 JavaScript。
* [pimterry/loglevel](https://github.com/pimterry/loglevel) loglevel是一个轻量级的JavaScript日志库,为任何可用的`console.log`方法添加了可靠的日志级别方法,支持trace/debug/info/warn/error级别日志,并可按级别过滤日志,即使在不支持`console`对象的旧浏览器中也能正常工作,默认情况下日志级别为warn,文件大小仅1.4KB(压缩后),并包含TypeScript类型定义。
* [antvis/X6](https://github.com/antvis/X6) JavaScript 图表库,使用 SVG 和 HTML 渲染。支持简单配置和广泛使用的图表类型,如流程图、DAG 图、ER 图等。支持多种前端框架如 React、Vue、Angular。内置 10+ 图表组件,支持 MVC 架构,便于数据管理和业务管理。支持复杂业务流程,可以生成图表内部的交互功能。支持运行环境和浏览器兼容性。
* [nhn/tui.calendar](https://github.com/nhn/tui.calendar) TOAST UI Calendar是一个功能齐全的 JavaScript 日历组件,提供月视图、周视图、日视图等多种视图类型,支持拖拽和调整日程大小,并提供默认弹窗等功能。它提供 JavaScript、React 和 Vue 版本,方便开发者在不同框架中使用。此外,TOAST UI Calendar 还支持自定义配置,可满足各种场景下的需求。
* [anvaka/VivaGraphJS](https://github.com/anvaka/VivaGraphJS) VivaGraphJS是一个可扩展的 JavaScript 图形绘制库,支持多种渲染引擎和布局算法。它基于 ngraph 库,提供丰富的功能,例如在 Amazon、Vkontakte 等项目中用于可视化产品关系、稀疏矩阵和社交网络。用户可以轻松定制节点和链接的外观,并选择不同的布局算法和渲染引擎,例如 WebGL 渲染。
* [i18next/i18next](https://github.com/i18next/i18next) i18next是一个流行的国际化框架,适用于浏览器或任何其他JavaScript环境(例如Node.js、Deno),它提供灵活的后台连接、缓存、语言检测、复数形式处理、上下文处理、嵌套和变量替换等功能,并支持多种框架,具有可扩展性,旨在构建强大的生态系统,让多语言翻译变得简单易行。
* [alibaba/formily](https://github.com/alibaba/formily) Cross Device & 高性能表单/动态表单(JSON Schema)构建工具,支持React/React Native/Vue 2/Vue 3。设计简单,成本低,独立管理每个表单项状态,提高性能;集成阿里巴巴Fusion和Ant Design组件,无缝工作;JSON Schema用于前后端,支持双向转换;独立管理副作用,使表单数据链接更简单。
* [OnsenUI/OnsenUI](https://github.com/OnsenUI/OnsenUI) Onsen UI 是一个基于 HTML5 和 JavaScript 的开源框架,用于创建原生感觉的 Progressive Web Apps (PWAs) 和混合应用程序。它基于 Web Components,并且与 Angular 1, 2, React 和 Vue.js 等框架兼容。该框架提供扁平化 (iOS) 和材料设计 (Android) 风格的界面组件,支持使用相同代码支持 iOS 和 Android。
* [aurelia/framework](https://github.com/aurelia/framework) Aurelia 1 框架入口点,汇集了 Aurelia 的所有必需子模块。现代的前端 JavaScript 框架,用于构建浏览器、移动和桌面应用程序。它侧重于与 Web 平台规范紧密保持一致,使用约定而不是配置,并最大限度地减少框架入侵。基本上,我们希望你只写你的代码,而框架不会妨碍你。
* [chanind/hanzi-writer](https://github.com/chanind/hanzi-writer) Hanzi Writer是一个免费开源的JavaScript库,用于制作汉字笔画顺序动画和笔画顺序练习测验,支持简体和繁体字。该项目使用来自Make me a Hanzi项目的汉字SVG和笔画顺序数据,并进行了部分调整。用户可以通过项目网站获取更多信息和使用说明,并可通过GitHub仓库参与贡献。
* [microsoft/FluidFramework](https://github.com/microsoft/FluidFramework) FluidFramework是一个使用JavaScript或TypeScript构建分布式、实时协作Web应用程序的库,其核心代码包含客户端包和参考排序服务。它包含多个pnpm工作区,分别管理不同功能的包,并提供文档和示例代码,方便开发者学习和使用,相关资源可在其官网和GitHub仓库中找到。
* [wa0x6e/cal-heatmap](https://github.com/wa0x6e/cal-heatmap) Cal-Heatmap是一个JavaScript图表库,用于创建时间序列日历热力图,类似于GitHub贡献日历,但功能更强大,支持动画日期导航、时间间隔自定义、布局/UI完全控制、本地化和时区支持、插件系统、广泛的浏览器支持以及更多特性,可用于直观地展现时间序列数据。
* [olistic/warriorjs](https://github.com/olistic/warriorjs) 令人兴奋的编程和人工智能游戏,在 WarriorJS 中,你是一名爬上高塔到达顶层 JavaScript 剑的战士。传说持剑者在 JavaScript 语言中变得开悟,但请注意:旅程并不容易。在每一层楼,你需要编写JavaScript来指导战士与敌人作战,营救俘虏,并活着到达楼梯......
* [grid-js/gridjs](https://github.com/grid-js/gridjs) Grid.js是一个轻量级、易于使用的表格库,支持所有主流浏览器和IE11+,无需依赖特定框架,可与React、Angular、Preact或原生JavaScript等一起使用,其核心是用TypeScript编写,通过简洁的API即可创建功能强大的表格,详尽的文档和示例可在官网gridjs.io/docs找到。
* [single-spa/single-spa](https://github.com/single-spa/single-spa) 单页面应用框架,支持前端微服务,可轻松集成React、Angular、Ember等多种框架的应用,实现页面无刷新切换,提高加载效率。项目特色在于多框架共存,新功能开发无需重写现有应用。项目提供了文档、教程和示例代码,鼓励社区贡献和赞助支持。
* [helloqingfeng/Awsome-Front-End-learning-resource](https://github.com/helloqingfeng/Awsome-Front-End-learning-resource) 这是一个GitHub仓库,收集了大量前端资源,包括学习资料、开发工具、面试技巧等,旨在帮助开发者提升前端技能。仓库内容涵盖了JavaScript、前端框架、工具库、面试准备等方面,并提供了一些学习路线建议,非常适合前端学习者和开发者参考。
* [nordicgiant2/awesome-landing-page](https://github.com/nordicgiant2/awesome-landing-page) 该项目是一个收集了大量精美实用的落地页模板的仓库,这些模板使用各种前端技术构建,涵盖了 React、Vue、Angular 等框架,并提供了来自不同开源项目的链接,方便开发者参考和使用。开发者可以 fork 该项目并提交 PR 来分享自己的落地页模板。
* [Ionaru/easy-markdown-editor](https://github.com/Ionaru/easy-markdown-editor) EasyMDE是一个简单易用、美观且可嵌入的JavaScript Markdown编辑器,适用于初学者和专家。它具有内置自动保存和拼写检查功能,支持自定义主题、工具栏按钮和JavaScript钩子,并实时渲染Markdown语法,方便用户查看编辑效果,可通过npm或CDN安装使用。
* [haizlin/fe-interview](https://github.com/haizlin/fe-interview) 前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML / CSS/ JavaScript/ Vue/ React/ Nodejs/ TypeScript/ ECMAScritpt/Webpack/Jquery/小程序/软技能
* [TahaSh/swapy](https://github.com/TahaSh/swapy) Swapy是一个与框架无关的工具,只需几行代码即可将任何布局转换为拖放交换布局。它是一个简单的 JavaScript 工具,可以将您现有的任何布局转换为拖放交换布局。您可以在 [https://swapy.tahazsh.com/](https://swapy.tahazsh.com/)找到 Swapy 的文档。
* [d3plus/d3plus](https://github.com/d3plus/d3plus) d3plus是一个基于D3.js的JavaScript图表库,用于快速创建精美的数据可视化。它包含多个模块,例如用于创建轴、颜色、地图和网络图的模块,并支持多种环境(包括React)。 通过npm或CDN安装,丰富的示例和文档可在d3plus.org上找到。
* [solidjs/solid](https://github.com/solidjs/solid) 用于创建用户界面的声明性 JavaScript 库。它不使用虚拟 DOM,而是将其模板编译为真实的 DOM 节点,并使用细粒度反应更新它们。声明你的状态并在整个应用中使用它,当一段状态发生更改时,只有依赖于它的代码才会重新运行。
* [crater-invoice/crater](https://github.com/crater-invoice/crater) 开源发票解决方案,适用于个人和企业。基于Laravel和VueJS的Web应用及基于React Native的移动应用,支持发票和报价单的跟踪、支付等。项目特色包括自动更新、电子邮件配置、安装向导等。支持多语言翻译。许可证为GNU AGPLv3。
* [webview/webview](https://github.com/webview/webview) 用于 C/C++ 的微型跨平台 webview 库。使用 WebKit (GTK/Cocoa) 和 Edge WebView2 (Windows) 。目标是为最广泛使用的平台创建一个通用的 HTML5 UI 抽象层。它支持双向 JavaScript 绑定(从 C/C++ 调用 JavaScript 和从 JavaScript 调用 C/C++)。
* [rails/rails](https://github.com/rails/rails) Web 应用程序框架,它包含了根据模型-视图-控制器 (MVC) 模式创建数据库支持的 Web 应用程序所需的一切。理解 MVC 模式是理解 Rails 的关键。MVC 将应用程序分为三层:模型层、视图层和控制器层,每层都有特定的职责。
* [Semantic-Org/Semantic-UI](https://github.com/Semantic-Org/Semantic-UI) 基于自然语言有用原则的 UI 组件框架。允许开发人员通过简洁的 HTML、直观的 JavaScript 和简化的调试快速构建漂亮的网站,帮助使前端开发成为一种愉快的体验。语义采用响应式设计,允许您的网站在多个设备上扩展。
* [hakimel/reveal.js](https://github.com/hakimel/reveal.js) 开源的 HTML 表示框架。它使任何拥有网络浏览器的人都可以免费创建精美的演示文稿。具有强大的功能集,包括嵌套幻灯片、Markdown 支持、自动动画、PDF 导出、演讲者笔记、LaTeX 排版、语法突出显示代码和广泛的 API。
* [vercel/satori](https://github.com/vercel/satori) Enlightened库,用于将HTML和CSS转换为SVG;支持JSX语法,可以生成与浏览器中HTML和CSS完全相同的SVG;支持有限的HTML元素和CSS特性,不支持动态React组件和外部资源;可以嵌入图片并自定义尺寸;底层实现基于SVG 1.1规范。
* [11ty/eleventy](https://github.com/11ty/eleventy) 一个简单的静态网站生成器,替代Jekyll,使用JavaScript编写,可以将不同类型的模板转换为HTML,支持HTML、Markdown、JavaScript、Liquid、Nunjucks等多种格式,并有插件支持WebC、Sass、Vue、Svelte、TypeScript、JSX等。
* [google/material-design-lite](https://github.com/google/material-design-lite) Material Design Lite 允许您为静态内容网站添加 Material Design 外观。它不依赖于任何JavaScript框架或库。针对跨设备使用进行了优化,在较旧的浏览器中优雅地降级,并提供从一开始就可以访问的体验。
* [processing/p5.js](https://github.com/processing/p5.js) 用于创意编码的 JavaScript 库,专注于让艺术家、设计师、教育工作者、初学者和其他任何人都能访问和包容编码!P5.js 是免费和开源的,因为我们相信软件以及学习它的工具应该对每个人都开放。
* [emberjs/ember.js](https://github.com/emberjs/ember.js) JavaScript 框架,它大大减少了构建任何 Web 应用程序所需的时间、精力和资源。它专注于通过执行大多数 Web 开发项目中涉及的所有常见、重复但必不可少的任务,使您(开发人员)尽可能高效。
* [umijs/qiankun](https://github.com/umijs/qiankun) 快速、简单、完整的微型前端解决方案。使您和您的团队能够利用微前端构建下一代企业级 Web 应用程序。微前端:使用不同 JavaScript 框架与多个团队一起构建现代 Web 应用的技术、策略和方法。
* [jsdom/jsdom](https://github.com/jsdom/jsdom) 各种 Web 标准的 JavaScript 实现,用于 Node.js。特别是WHATWG DOM和HTML标准,用于Node.js。一般来说,该项目的目标是模拟足够多的 Web 浏览器子集,以便用于测试和抓取真实世界的 Web 应用程序。
* [tastejs/todomvc](https://github.com/tastejs/todomvc) 帮助你选择MV*框架,提供用React.js、Ember.js、Angular等多种框架实现的待办事项应用,由Addy Osmani、Sindre Sorhus、Pascal Hartig、Stephen Sawchuk、Colin Eberhardt、Sam Saccone和Arthur Verschaeve等开发者维护。
* [skonvajs/konva](https://github.com/konvajs/konva) HTML5 Canvas JavaScript 框架,它通过为桌面和移动应用程序启用画布交互性来扩展 2D 上下文。支持高性能动画、过渡、节点嵌套、分层、过滤、缓存、桌面和移动应用程序的事件处理等等。
* [BuilderIO/qwik](https://github.com/BuilderIO/qwik) 提供尽可能快的页面加载时间 - 无论您的网站有多复杂。Qwik 之所以如此之快,是因为它允许完全交互式的网站在几乎没有 JavaScript 的情况下加载,并从服务器中断的地方继续。
* [mapbox/mapbox-gl-js](https://github.com/mapbox/mapbox-gl-js) JavaScript 库,用于在 Web 上创建交互式、可自定义的矢量地图。它采用符合 Mapbox 样式规范的地图样式,将其应用于符合 Mapbox 矢量切片规范的矢量切片,并使用 WebGL 进行渲染。
* [ToolJet/ToolJet](https://github.com/ToolJet/ToolJet) 用于构建业务应用程序的可扩展低代码框架。连接到数据库、云存储、GraphQL、API 端点、Airtable 等,并使用拖放式应用程序构建器构建应用程序。使用 JavaScript/TypeScript 构建。
* [mattboldt/typed.js](https://github.com/mattboldt/typed.js) JavaScript 类型动画库,Typed.js 是一个会打字的库。输入任何字符串,并观察它以您设置的速度输入,将键入的内容退格,并为您设置的字符串数量开始一个新句子。
* [febobo/web-interview](https://github.com/febobo/web-interview) 语音打卡社群维护的前端面试题库,包含不限于Vue面试题,React面试题,JS面试题,HTTP面试题,工程化面试题,CSS面试题,算法面试题,大厂面试题,高频面试题
* [ag-grid/ag-grid](https://github.com/ag-grid/ag-grid) AGGrid是一个功能齐全、高度可定制的JavaScript数据表格,用于构建企业应用程序,提供卓越的性能,无第三方依赖,并支持React、Angular、Vue和纯JavaScript。
* [highlightjs/highlight.js](https://github.com/highlightjs/highlight.js) JavaScript 编写的语法高亮。它适用于浏览器和服务器。它几乎可以处理任何标记,不依赖于任何其他框架,并且具有自动语言检测功能。
* [NervJS/taro](https://github.com/NervJS/taro) 开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。
* [plotly/plotly.js](https://github.com/plotly/plotly.js) 独立的 Javascript 数据可视化库,它还为这些各自生态系统中命名 plotly 的 Python 和 R 模块提供支持(称为 Plotly.py 和 Plotly.R)。
* [sveltejs/svelte](https://github.com/sveltejs/svelte) 一种构建Web应用程序的新方法。它是一个编译器,它采用声明性组件并将它们转换为高效的JavaScript,通过外科手术更新DOM。
* [twitter/typeahead.js](https://github.com/twitter/typeahead.js) 受 twitter.com 自动完成搜索功能的启发,typeahead.js 是一个灵活的 JavaScript 库,为构建健壮的提前输入提供了坚实的基础。
* [redwoodjs/redwood](https://github.com/redwoodjs/redwood) 一个固执己见的全栈 JavaScript/TypeScript Web 应用程序框架,旨在让您在应用程序从副项目到启动的过程中快速前进。
* [TanStack/query](https://github.com/TanStack/query) 强大的异步状态管理、服务器状态实用程序和 Web 数据获取。TS/JS、React 查询、Solid 查询、Svelte 查询和 Vue 查询。
* [ionic-team/ionic-framework](https://github.com/ionic-team/ionic-framework) 一个强大的跨平台 UI 工具包,用于使用 HTML、CSS 和 JavaScript 构建原生质量的 iOS、Android 和渐进式 Web 应用程序。
* [tsparticles/tsparticles](https://github.com/tsparticles/tsparticles) 轻松创建高度可定制的 JavaScript 粒子效果、五彩纸屑爆炸和烟花动画,并将它们用作您网站的动画背景
* [mdbootstrap/mdb-ui-kit](https://github.com/mdbootstrap/mdb-ui-kit) Bootstrap 5 和 Material Design UI 套件,Bootstrap 5 UI KIT - 700+ 组件,纯 JavaScript,MIT 许可证,安装简单。
* [ffmpegwasm/ffmpeg.wasm](https://github.com/ffmpegwasm/ffmpeg.wasm) 是 FFmpeg 的纯 Webassembly / Javascript 端口。它支持在浏览器中录制视频和音频,转换和流式传输。
* [mde/ejs](https://github.com/mde/ejs) JavaScript的嵌入式模板。用<% %>来控制流程,中间 JavaScript 的静态缓存,模板的静态缓存。
* [wanglin2/mind-map](https://github.com/wanglin2/mind-map) 一个 js 思维导图库,不依赖任何框架,你可以使用它来快速完成 Web 思维导图产品的开发。
* [sweetalert2/sweetalert2](https://github.com/sweetalert2/sweetalert2) 美观、响应迅速、高度可定制和可访问 (WAI-ARIA) 的 JavaScript 弹出框替代品。零依赖性。
* [NorthwoodsSoftware/GoJS](https://github.com/NorthwoodsSoftware/GoJS) 用于交互式流程图、组织结构图、设计工具、规划工具、可视化语言的 JavaScript 图表库。
* [angular/angular](https://github.com/angular/angular) 用于构建移动和桌面 Web 应用程序的开发平台,使用 TypeScript/ JavaScript 和其他语言。
* [alexfoxy/lax.js](https://github.com/alexfoxy/lax.js) 简单轻量级(<4kb gzip压缩)香草JavaScript库,可在滚动时创建流畅而美丽的动画。
* [SortableJS/Sortable](https://github.com/SortableJS/Sortable) 适用于现代浏览器和触摸设备的可重新排序的拖放列表。不需要jQuery或框架。
* [BuilderIO/mitosis](https://github.com/BuilderIO/mitosis) 一次编写组件,到处运行。编译为 React、Vue、Qwik、Solid、Angular、Svelte 等
* [jwilber/roughViz](https://github.com/jwilber/roughViz) 可重用的 JavaScript 库,用于在浏览器中创建粗略/手绘样式的图表。
* [pubkey/rxdb](https://github.com/pubkey/rxdb) 一个快速的、本地的、反应式的、用于 JavaScript 应用程序的数据库
* [caolan/async](https://github.com/caolan/async) 实用程序模块,它为使用异步 JavaScript 提供了简单、强大的功能。
* [jonasschmedtmann/complete-javascript-course](https://github.com/jonasschmedtmann/complete-javascript-course) 我的 Complete JavaScript 课程的入门文件、最终项目和常见问题解答
* [twbs/ratchet](https://github.com/twbs/ratchet) 使用简单的 HTML、CSS 和 JavaScript 组件构建移动应用程序。
* [mochajs/mocha](https://github.com/mochajs/mocha) 简单、灵活、有趣的 Node.js 和浏览器的 JavaScript 测试框架
* [js-cookie/js-cookie](https://github.com/js-cookie/js-cookie) 一个简单、轻量级的 JavaScript API,用于处理浏览器 cookie
* [terser/terser](https://github.com/terser/terser) 适用于 ES6+ 的 JavaScript 解析器、管理器和压缩器工具包
* [floating-ui/floating-ui](https://github.com/floating-ui/floating-ui) 一个 JavaScript 库,用于定位浮动元素并为其创建交互。
* [dexteryy/spellbook-of-modern-webdev](https://github.com/dexteryy/spellbook-of-modern-webdev) 现代 JavaScript Web 开发的大图景、同义词库和分类法
* [electron/electron](https://github.com/electron/electron) 使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用程序
* [wesbos/JavaScript30](https://github.com/wesbos/JavaScript30) 初学者文件 + JavaScript 30 天挑战的完整解决方案。
* [cyclejs/cyclejs](https://github.com/cyclejs/cyclejs) 用于可预测代码的功能性和响应式 JavaScript 框架
* [thedaviddias/Front-End-Checklist](https://github.com/thedaviddias/Front-End-Checklist) 现代网站和一丝不苟的开发人员的完美前端清单
* [hapijs/joi](https://github.com/hapijs/joi) 最强大的 JavaScript 模式描述语言和数据验证器。
* [goldbergyoni/javascript-testing-best-practices](https://github.com/goldbergyoni/javascript-testing-best-practices) 全面而详尽的 JavaScript 和 Node.js 测试最佳实践
* [you-dont-need/You-Dont-Need-Lodash-Underscore](https://github.com/you-dont-need/You-Dont-Need-Lodash-Underscore) 原生使用的 JavaScript 方法列表 + ESLint 插件
* [Leaflet/Leaflet](https://github.com/Leaflet/Leaflet) 用于移动友好型交互式地图的 JavaScript 库
* [sql-js/sql.js](https://github.com/sql-js/sql.js) 用于在 Web 上运行 SQLite 的 javascript 库。
* [verekia/js-stack-from-scratch](https://github.com/verekia/js-stack-from-scratch) 构建现代 JavaScript 堆栈的分步教程。
* [t4t5/sweetalert](https://github.com/t4t5/sweetalert) JavaScript的“alert警报”的漂亮替代品
* [apexcharts/apexcharts.js](https://github.com/apexcharts/apexcharts.js) 基于 SVG 构建的交互式 JavaScript 图表
* [mixmark-io/turndown](https://github.com/mixmark-io/turndown) 用JavaScript编写的HTML到Markdown转换器
* [goldfire/howler.js](https://github.com/goldfire/howler.js) 用于现代网络的 Javascript 音频库。
* [fullcalendar/fullcalendar](https://github.com/fullcalendar/fullcalendar) JavaScript 中的全尺寸拖放事件日历
* [denysdovhan/wtfjs](https://github.com/denysdovhan/wtfjs) 有趣而棘手的 JavaScript 示例列表
* [givanz/VvvebJs](https://github.com/givanz/VvvebJs) 拖放构建网站的javascript 库 。
* [date-fns/date-fns](https://github.com/date-fns/date-fns) 现代 JavaScript 日期实用程序库
* [antvis/G6](https://github.com/antvis/G6) JavaScript 中的图形可视化框架
* [sudheerj/javascript-interview-questions](https://github.com/sudheerj/javascript-interview-questions) 1000 个 JavaScript 面试问题列表
* [elsewhencode/project-guidelines](https://github.com/elsewhencode/project-guidelines) JavaScript 项目的一组最佳实践
* [jgraph/drawio](https://github.com/jgraph/drawio) JavaScript的绘图和白板编辑器
* [bolshchikov/js-must-watch](https://github.com/bolshchikov/js-must-watch) 关于javascript的必看视频
* [airbnb/javascript](https://github.com/airbnb/javascript) JavaScript 风格指南。
### 管理面板
* [didi/DoKit](https://github.com/didi/DoKit) 一款面向泛前端产品研发全生命周期的效率平台。DoKit诞生于滴滴城运服体验技术部,是一款面向泛前端产品研发全生命周期的效率平台。经过两年的发展,当前DoKit已经发展成了一个相对完整的生态,比如DoKit For Android、DoKit For iOS、DoKit For 小程序、DoKit For Flutter、DoKit For Web。同时我们的项目被BAT以及滴滴、字节、快手、京东等等头部独角兽企业广泛使用并获得良好的口碑。随着dokit.cn平台端的推出,标志着DoKit已经从单纯的效率工具正式进入了效率工具平台的阶段。与此同时我们一直都未停下持续探索的精神,积极地在更多平台领域进行尝试,不给自己设限。我们相信DoKit的未来充满无限可能。每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基本上都是每个 App 都是自己实现了一份,经历了以上的问题之后,DoKit 就有了它存在的意义。DoKit 是一个功能平台,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,并搭配我们的dokit平台,让功能得到延伸,接入方便,便于扩展。简单总结:1、DoKit 能够快速让你的业务测试代码能够在这里统一管理,统一收口;2、DoKit 内置很多常用的工具,避免重复实现,一次接入,你将会拥有强大的工具集合;3、搭配dokit平台,借助接口Mock、健康体检、文件同步助手、一机多控让你方便和他人协同,极大的提升研发过程中的效率。
* [talebook/talebook](https://github.com/talebook/talebook) 一个简单的在线版个人书库。基于Calibre的简单的个人图书管理系统,支持在线阅读。主要特点是:美观的界面:由于Calibre自带的网页太丑太难用,于是基于Vue,独立编写了新的界面,支持PC访问和手机浏览;支持多用户:为了网友们更方便使用,开发了多用户功能,支持豆瓣(已废弃)、QQ、微博、Github等社交网站的登录;支持在线阅读:借助Readium.js 库,支持了网页在线阅读电子书;支持批量扫描导入书籍;支持邮件推送:可方便推送到Kindle;支持OPDS:可使用KyBooks等APP方便地读书;支持一键安装,网页版初始化配置,轻松启动网站;优化大书库时文件存放路径,可以按字母分类、或者文件名保持中文;支持快捷更新书籍信息:支持从百度百科、豆瓣搜索并导入书籍基础信息;支持私人模式:需要输入访问码,才能进入网站,便于小圈子分享网站;本项目曾用名:calibre-webserver.
* [kalcaddle/KodExplorer](https://github.com/kalcaddle/KodExplorer) KodExplorer是一个基于Web的文件管理和代码编辑器,支持在线或本地运行,需要PHP 5环境。它具有操作系统级的使用体验,多国语言支持,丰富的上下文菜单和工具栏,拖放功能,多种快捷键等。支持文件和文件夹的复制、剪切、粘贴、移动、删除、上传、创建文件夹/文件、重命名等操作,多用户支持,灵活的访问权限配置,剪贴板功能,多选文件夹操作,多种文件夹打开方式,自然排序,列表、图标和拆分视图,拖放文件移动/复制/克隆/删除,文件分享,文件夹收藏,计算目录大小,图像文件缩略图,文件名和路径的正常化,多字符集支持,多部分上传,HTML5拖放背景上传,通过URL上传文件,直接提取到当前工作目录,文件名和内容搜索,基于文件名的文件排除,直接文件URL复制,支持多种压缩文件的创建、提取和预览,常见文件类型的快速预览等。
* [newbee-ltd/newbee-mall](https://github.com/newbee-ltd/newbee-mall) 一套电商系统,包括基础版本(Spring Boot+Thymeleaf)、前后端分离版本(Spring Boot+Vue 3+Element-Plus+Vue-Router 4+Pinia+Vant 4) 、秒杀版本、Go语言版本、微服务版本(Spring Cloud Alibaba+Nacos+Sentinel+Seata+Spring Cloud Gateway+OpenFeign+ELK)。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
* [SoftwareBrothers/adminjs](https://github.com/SoftwareBrothers/adminjs) AdminJS 是一个为 Node.js 应用程序生成自动管理界面的工具,只需提供数据库模型,AdminJS 即可自动生成相应的用户界面。它受到 django admin、rails admin 和 active admin 的启发。AdminJS 可以帮助你在不编写大量代码的情况下,轻松实现数据的增删改查、自定义操作、表单验证、仪表盘展示等功能,适合非程序员查看应用状态。该项目欢迎贡献,提供了本地开发指南和贡献指南。AdminJS 由 rst.software 公司维护,遵循开源许可。
* [holoviz/panel](https://github.com/holoviz/panel) Panel是一个开源的Python库,允许你轻松构建强大的工具、仪表板和复杂的应用程序,完全使用Python完成。它具有内置的理念,将PyData生态系统、强大的数据表等等都触手可及。高层次的反应式API和低层次的基于回调的API确保你可以快速构建探索性应用程序,但如果你构建具有丰富交互性的复杂的多页应用程序,也不会受到限制。Panel是HoloViz生态系统的一部分,它是连接的数据探索工具生态系统的门户。
* [Kiranism/next-shadcn-dashboard-starter](https://github.com/Kiranism/next-shadcn-dashboard-starter) 这是一个基于Next.js 14、shadcn-ui和TypeScript构建的管理员面板启动模板,使用了App Router路由器。它集成了多种工具,包括Zustand状态管理、Zod数据校验、Tanstack Tables表格、React Hook Form表单、NextAuth身份验证以及kbar命令面板等,提供登录、仪表盘、员工管理、产品管理、个人资料和看板等页面,并支持服务器端搜索、过滤和分页功能,演示地址:https://next-shadcn-dashboard-starter.vercel.app
* [ckan/ckan](https://github.com/ckan/ckan) CKAN是一个开源的数据管理系统,用于构建数据中心和数据门户网站,它简化了数据发布、共享和使用流程。CKAN 是catalog.data.gov、open.canada.ca/data 和 data.humdata.org 等众多网站的驱动引擎。CKAN 提供强大的平台,用于对数据集进行目录编制、存储和访问,并提供丰富的用户界面、完整的 API(用于数据和目录)、可视化工具等功能。有关更多信息,请访问 ckan.org。
* [twentyhq/twenty](https://github.com/twentyhq/twenty) Twenty是一个开源CRM平台,旨在提供比Salesforce更现代的替代方案,它由社区驱动,并提供完全的控制和自由。Twenty的设计理念是围绕数据构建,允许用户访问和可视化任何现有数据源,而不是强制用户将数据重构到远程云上的预定义对象中。Twenty的界面灵感来自Notion,易于使用且可定制。用户可以使用demo.twenty.com网站体验Twenty,并使用提供的凭据登录。
* [krayin/laravel-crm](https://github.com/krayin/laravel-crm) Free & Opensource Laravel CRM解决方案,适用于中小企业和企业的客户生命周期管理,基于Laravel和Vue.js构建,提供描述简单易用的管理员面板、自定义属性、模块化架构等功能,支持通过Sendgrid解析邮件。项目文档和论坛可在相应链接中找到。要求服务器为Apache 2或NGINX,PHP 8.1及以上,数据库为MySQL 5.7.23或MariaDB 10.2.7及以上,Node 8.11.3 LTS及以上。
* [streamaserver/streama](https://github.com/streamaserver/streama) Streama是一个自托管的流媒体服务器,可以让你像使用Netflix一样管理和观看自己的电影和电视剧。它支持从本地文件系统中读取视频文件,并提供用户管理、播放器、管理员面板等功能。你可以通过GitHub Releases下载稳定版或测试版,并通过官方文档进行安装和设置。Streama还提供了一个在线演示,你可以使用demoUser账户和密码进行体验。
* [stitchfix/pyxley](https://github.com/stitchfix/pyxley) Pyxley是一个Python库,利用pyxleyJS React组件和Flask框架构建基于网页的仪表盘。它通过PyReact库和Jinja模板,简化了React组件的集成,开发者只需提供组件属性、ID和路径即可。Pyxley支持Python 2和3,并提供Pandas数据框架集成,包含多种图表和过滤器组件,以及用于数据格式转换的辅助函数,可通过pip安装。 项目文档可在readthedocs上找到。
* [flatlogic/react-dashboard](https://github.com/flatlogic/react-dashboard) 这是一个基于React、Bootstrap、Node.js和GraphQL的同构React管理面板模板,包含响应式布局、React Router、Sass样式、身份验证和CRUD示例等功能,并提供Node.js后端集成。 该项目易于上手,提供详细的快速入门指南,帮助开发者快速构建业务软件。 通过克隆项目、安装依赖、运行`yarn dev`即可启动包含GraphQL服务器和IDE的本地开发环境。
* [bailicangdu/vue2-manage](https://github.com/bailicangdu/vue2-manage) 基于 Vue + Element-UI 的后台管理系统,是 node-elm 管理系统的前端部分,数据实时从服务器获取,支持功能包括登录、管理数据、权限认证等。该项目使用了 vue2 + vuex + vue-router + webpack + ES6/7 + less + element-ui。可以通过克隆仓库并运行相关命令进行开发和测试,支持本地和线上环境。项目特色在于实时数据获取和丰富的前端功能。
* [flatlogic/react-material-admin](https://github.com/flatlogic/react-material-admin) ReactMaterial Admin是一个基于React、Material-UI和React Router构建的管理面板模板,无需jQuery和Bootstrap。它使用React Hooks和React Context(而非Redux),提供现代化的仪表盘设计,包含多种页面组件(如Dashboard、图表、表格等),并支持移动端响应式布局,可通过git clone、yarn install和yarn start快速启动。完整版包含更多组件和主题支持。
* [django-import-export/django-import-export](https://github.com/django-import-export/django-import-export) django-import-export是一个Django应用和库,用于方便地导入和导出数据,支持与Django Admin集成。它支持多种文件格式(CSV、XLSX、JSON等),既可以通过程序代码操作,也可以通过Django Admin界面进行可视化操作,并提供数据预览、批量导入、外键关系处理、数据验证等功能,确保数据导入导出过程可靠且全面。
* [glanceapp/glance](https://github.com/glanceapp/glance) Glance是一个自托管的仪表盘,可将所有信息聚合到一个地方,支持RSS订阅、Reddit帖子、天气、书签、Hacker News等多种小部件,并提供主题定制和移动端优化。它轻量快速,使用极少的JS和依赖,单二进制文件小于15MB,所有请求并行处理,页面加载通常只需1秒左右。支持手动安装、Docker安装和源码编译。
* [Buuntu/fastapi-react](https://github.com/Buuntu/fastapi-react) 这是一个使用FastAPI(Python)和React(TypeScript)构建项目的Cookiecutter模板,集成了PostgreSQL数据库、SQLAlchemy ORM、Celery异步任务、Docker容器化以及Nginx反向代理。它包含JWT身份验证、React Router、Material UI、react-admin管理面板和完整的测试套件(Pytest),旨在简化项目搭建流程,提供开箱即用的现代化全栈开发体验。
* [macrozheng/mall-swarm](https://github.com/macrozheng/mall-swarm) 一套微服务商城系统,采用了 Spring Cloud 2021 & Alibaba、Spring Boot 2.7、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
* [dromara/domain-admin](https://github.com/dromara/domain-admin) Domain Admin是一个基于 Python + Vue3.js 开发的域名和 SSL 证书监测平台,提供域名和 SSL 证书的集中管理功能,支持自动续签,可以有效降低管理成本,避免因证书过期导致网站无法访问的问题。该项目具有易于部署、功能强大、界面友好等特点,并提供完整的文档和示例,方便用户快速上手。
* [sehmaschine/django-grappelli](https://github.com/sehmaschine/django-grappelli) DjangoGrappelli是Django后台管理界面的一个基于网格的替代方案/扩展,提供更美观的用户界面。它与最新的稳定版Django版本兼容,并提供详细的文档和多个版本以支持不同Django版本,例如与Django 5.x兼容的4.0.1版本和与Django 4.2兼容的3.0.9版本。项目代码托管在GitHub上,网站提供更多信息。
* [apptension/saas-boilerplate](https://github.com/apptension/saas-boilerplate) Apptension的SaaS Boilerplate是一个开源免费的SaaS项目启动套件,基于React、Django和AWS,帮助你更快地构建SaaS产品。它包含前端、后端API、管理面板和工作进程等必需功能,并提供可扩展的AWS架构和持续部署,让你专注于核心业务逻辑而非重复性编码,从而快速启动项目并进行创新。
* [abuanwar072/Flutter-Responsive-Admin-Panel-or-Dashboard](https://github.com/abuanwar072/Flutter-Responsive-Admin-Panel-or-Dashboard) 这是一个使用Flutter构建的响应式管理面板或仪表盘模板,支持Web、macOS、Android和iOS等多个平台,具有图表、表格和信息卡等多种功能,并使用了flutter_svg、google_fonts和provider等包,其响应式设计确保在各种设备上都能提供良好的用户体验,项目提供在线预览和YouTube教学视频。
* [gethomepage/homepage](https://github.com/gethomepage/homepage) 一个高度可定制的主页(或启动页/应用程序仪表盘),基于Docker和服务API集成,支持超过100种服务的集成和多语言翻译,通过YAML文件或Docker标签自动配置,具有现代、静态、快速、安全的特点,内置Docker支持和自动服务发现,提供天气、时间、日期、搜索等实用小部件。
* [zulip/zulip](https://github.com/zulip/zulip) 开源的团队协作工具,具有独特的基于主题的线程,结合了电子邮件和聊天的优点,使远程工作高效且令人愉快。财富 500 强公司、领先的开源项目以及数以千计的其他组织每天都在使用 Zulip。Zulip 是唯一一款专为实时和异步对话而设计的现代团队聊天应用程序。
* [creativetimofficial/material-dashboard](https://github.com/creativetimofficial/material-dashboard) 免费的 Material Bootstrap Admin,具有受 Google Material Design 启发的全新设计。我们非常高兴地通过一套易于使用且美观的组件来介绍我们对材料概念的看法。Material Dashboard 建立在流行的 Bootstrap 框架之上,它带有几个经过重新设计的第三方插件,以适应其余元素。
* [mickasmt/next-saas-stripe-starter](https://github.com/mickasmt/next-saas-stripe-starter) 这是一个开源的SaaS项目启动器,包含用户角色和管理面板,使用Next.js 14、Prisma、Neon、Auth.js v5、Resend、React Email、Shadcn/ui和Stripe构建。它通过无缝集成这些技术来加速SaaS项目的开发,并提供便捷的安装和部署方式(可通过Vercel一键部署)。
* [geex-arts/django-jet](https://github.com/geex-arts/django-jet) Django JET是一个现代化的 Django 管理界面模板,提供改进的功能,包括全新外观、响应式移动界面、实用的管理首页、最小模板覆盖、轻松集成、主题支持、自动完成和便捷控件。它提供开源(AGPLv3)和商业两种许可证,并提供演示和文档。
* [lin-xin/vue-manage-system](https://github.com/lin-xin/vue-manage-system) 基于 Vue3 + pinia + Element Plus 的后台管理系统解决方案。该方案作为一套多功能的后台框架模板,适用于绝大部分的后台管理系统开发。基于 Vue3 + pinia + typescript,引用 Element Plus 组件库,方便开发。实现逻辑简单,适合外包项目,快速交付。
* [aminalaee/sqladmin](https://github.com/aminalaee/sqladmin) SQLAdmin是一个灵活的SQLAlchemy模型管理界面,支持Starlette和FastAPI框架,并整合了SQLAlchemy同步/异步引擎、WTForms表单构建以及SQLModel。它使用Tabler作为UI框架,方便开发者通过简单的代码快速搭建数据库管理后台,并提供在线演示和详细文档。
* [macrozheng/mall-learning](https://github.com/macrozheng/mall-learning) mall学习教程,架构、业务、技术要点全方位解析。mall项目(50k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
* [macrozheng/mall-admin-web](https://github.com/macrozheng/mall-admin-web) mall-admin-web是一个基于Vue和Element实现的电商后台管理系统前端项目,主要功能包括商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理和设置等。该项目位于https://github.com/macrozheng/mall。
* [devias-io/material-kit-react](https://github.com/devias-io/material-kit-react) 这是一个基于React、Next.js和MUI组件构建的免费React管理面板,包含登录、注册、仪表盘等页面;付费专业版提供更多页面、组件、以及Firebase、Auth0等身份验证系统和暗黑模式支持;项目使用MIT许可证开源,可通过git clone快速启动。
* [frappe/erpnext](https://github.com/frappe/erpnext) 免费和开源的企业资源规划 (ERP),包括以下用于管理业务的领域:会计、仓库管理、客户关系管理、销售、购买、人力资源管理系统、项目管理、支持、资产管理、质量管理、制造业、网站管理、自定义 ERPNext、还有更多
* [NG-ZORRO/ng-zorro-antd](https://github.com/NG-ZORRO/ng-zorro-antd) NG-ZORRO 是一个基于 Ant Design 的企业级 Angular UI 组件库,提供60 多个高质量的 Angular 组件,使用 TypeScript 编写,具有可预测的静态类型,支持 OnPush 模式,性能高,可进行强大的主题定制,并支持多种语言的国际化。
* [elunez/eladmin](https://github.com/elunez/eladmin) eladmin jpa 版本:基于 Spring Boot 2.6.4、 Jpa、 Spring Security、Redis、Vue的前后端分离的后台管理系统,采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,一键生成前后端代码,支持动态路由
* [coreui/coreui-free-bootstrap-admin-template](https://github.com/coreui/coreui-free-bootstrap-admin-template) 基于由专业人士创建和支持的企业级手工制作的 UI 组件库构建的开源 Bootstrap 管理仪表板模板。CoreUI 管理模板可帮助您比以前更快地构建可靠的 Web 应用。CoreUI提供4个版本:Angular,Bootstrap,React.js和Vue.js。
* [fastapi-admin/fastapi-admin](https://github.com/fastapi-admin/fastapi-admin) FastAPI Admin是一个基于FastAPI、TortoiseORM和Tabler UI的快速后台管理面板,其设计灵感源于Django admin。它支持Redis,并提供在线演示和详细文档,用户可通过pip安装。项目采用Apache-2.0许可证。
* [flipped-aurora/gin-vue-admin](https://github.com/flipped-aurora/gin-vue-admin) 基于vite+vue3+gin搭建的开发基础平台(支持TS,JS混用),集成jwt鉴权,权限管理,动态路由,显隐可控组件,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器。
* [YunaiV/ruoyi-vue-pro](https://github.com/YunaiV/ruoyi-vue-pro) 基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城等功能。
* [YunaiV/yudao-cloud](https://github.com/YunaiV/yudao-cloud) 基于 Spring Cloud Alibaba + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。
* [gnmyt/Nexterm](https://github.com/gnmyt/Nexterm) Nexterm是一款开源的服务器管理软件,支持 SSH、VNC 和 RDP 协议,允许用户通过网页界面管理服务器。用户可以通过 Nexterm 的预览功能体验其功能,该项目采用 MIT 许可证。
* [appsmithorg/appsmith](https://github.com/appsmithorg/appsmith) 用于构建、部署和维护内部应用程序的开源平台。您可以构建任何东西,从简单的 CRUD 应用程序、管理面板、仪表板到自定义业务应用程序和复杂的多步骤工作流。
* [lyt-Top/vue-next-admin](https://github.com/lyt-Top/vue-next-admin) 基于 vue3.x + CompositionAPI setup 语法糖 + typescript + vite + element plus + vue-router-next + pinia 技术,适配手机、平板、pc 的后台开源免费模板,实现快速开发。
* [odoo/odoo](https://github.com/odoo/odoo) 基于Web的开源商业应用程序。包括开源CRM,网站构建器,电子商务,仓库管理,项目管理,计费和会计,销售点,人力资源,营销,制造,...
* [jaywcjlove/icongo](https://github.com/jaywcjlove/icongo) 搜索 SVG 图标。轻松地在 React 项目中包含流行的图标,并提供一个简单的工具将 SVG 转换为 React 组件。[icongo](https://icongo.github.io/)
* [cool-team-official/cool-admin-vue](https://github.com/cool-team-official/cool-admin-vue) 很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,基于midway.js 3.0、typeorm、mysql、jwt、element-ui、vuex、vue-router、vue等构建
* [vbenjs/vue-vben-admin](https://github.com/vbenjs/vue-vben-admin) 免费的开源中后端模板。采用最新 vue3 、vite4 、TypeScript 等主流技术发展,开箱即用的中后端前端方案也可用于学习参考。
* [elunez/eladmin-web](https://github.com/elunez/eladmin-web) eladmin jpa版本:前端源码,项目基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 Spring Security、Redis、Vue的前后端分离后台管理系统
* [vbenjs/vue-vben-admin](https://github.com/vbenjs/vue-vben-admin) 免费开放源码的中间端和后端模板,使用最新的 vue3,vite2,TypeScript 和其他主流技术开发,可作为学习参考。
* [PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) 后台前端解决方案,基于 [vue](https://github.com/vuejs/vue) 和 [element-ui](https://github.com/ElemeFE/element)。
* [linlinjava/litemall](https://github.com/linlinjava/litemall) 又一个小商城。litemall = Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端
* [Lissy93/dashy](https://github.com/Lissy93/dashy) 为您构建的自托管个人仪表板。包括状态检查,小部件,主题,图标包,UI编辑器等等!
* [PanJiaChen/vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) 一个最小的 vue 管理模板,带有 Element UI & axios & iconfont & 权限控制 & lint
* [epicmaxco/vuestic-admin](https://github.com/epicmaxco/vuestic-admin) 免费且漂亮的 Vue.js 管理模板,具有 44+ 自定义 UI 组件。用 Vuestic UI 构建的。
* [wekan/wekan](https://github.com/wekan/wekan) 开源看板,体验高效的任务管理,开源、可定制且注重隐私的看板。
* [pure-admin/vue-pure-admin](https://github.com/pure-admin/vue-pure-admin) Vue3+Vite4+Element-Plus+TypeScript编写的一款后台管理系统(兼容移动端)
* [pure-admin/vue-pure-admin](https://github.com/pure-admin/vue-pure-admin) Vue3+Vite4+Element-Plus+TypeScript编写的一款后台管理系统(兼容移动端)
* [honghuangdc/soybean-admin](https://github.com/honghuangdc/soybean-admin) 基于Vue3、Vite3、TypeScript、NaiveUI 和 UnoCSS的清新优雅的中后台模版
* [newpanjing/simpleui](https://github.com/newpanjing/simpleui) 基于vue+element-ui的django admin现代化主题。全球20000+网站都在使用
* [biubiubiu01/vue3-bigData](https://github.com/biubiubiu01/vue3-bigData) 基于vue的大数据分析系统,包含各种echarts和vue
* [1Panel-dev/1Panel](https://github.com/1Panel-dev/1Panel) 现代化、开源的 Linux 服务器运维管理面板。
* [akveo/blur-admin](https://github.com/akveo/blur-admin) : AngularJS Bootstrap Admin 管理面板前端框架
* [akveo/ngx-admin](https://github.com/akveo/ngx-admin) 基于 Angular 10+ 的可定制管理仪表板模板
* [iview/iview-admin](https://github.com/iview/iview-admin) 基于 iView 的 Vue 2.0 管理员管理系统模板
* [akveo/ngx-admin](https://github.com/akveo/ngx-admin) 基于Angular 10 +的可定制管理仪表板模板
* [tabler/tabler](https://github.com/tabler/tabler) 建立在Bootstrap上的HTML Dashboard UI 工具包
* [ColorlibHQ/AdminLTE](https://github.com/ColorlibHQ/AdminLTE) 基于 Bootstrap 4 的免费管理仪表板模板
* [codecentric/spring-boot-admin](https://github.com/codecentric/spring-boot-admin) 用于管理 Spring Boot 应用程序的管理 UI
* [ColorlibHQ/gentelella](https://github.com/ColorlibHQ/gentelella) 免费Bootstrap4 管理仪表板模板
* [yezihaohao/react-admin](https://github.com/yezihaohao/react-admin) react 后台管理系统解决方案
* [midoks/mdserver-web](https://github.com/midoks/mdserver-web) 一款简单Linux面板服务
* [RainManGO/vue3-composition-admin](https://github.com/RainManGO/vue3-composition-admin) 基于vue3 的管理端模板
* [chuzhixin/vue-admin-better](https://github.com/chuzhixin/vue-admin-better) vue后台管理
## 区块链_智能合约
* [xmrig/xmrig](https://github.com/xmrig/xmrig) 高性能、开源、跨平台的RandomX、KawPow、CryptoNight 和 GhostRider 统一的 CPU/GPU 矿工和 RandomX 基准测试。`RandomX`是一个对通用CPU友好的工作量证明算法,它使用随机代码执行和多种内存困难技术使特定的硬件(ASIC)没有特别的优势。`KAWPOW`是一种挖矿算法,主要归功于Ravencoin,它还支持其他加密货币,如Gravium、Hilux以及其他不太受欢迎的项目,该算法可防止ASIC和潜在的中心化,为了实现这一点,开发人员在X15和SHA51算法之间进行交替,它们的选择还取决于前一个块的散列。`CryptoNight` 是一个内存难解(memory-hard)哈希函数,内存难解主要是指运算过程中需要大量的暂存器,一般的 GPU 或 ASIC 很难做到有这么大的内存空间(因为成本太高),设计架构上对 GPU, FPGA 和 ASIC 不友好,其运算步骤大概分为四步,第一步:初始化大量伪随机数(存放在暂存器),伪随机指的是结果看起来像的随机产生,但每次输入相同的参数,结果都是一样的,(大概需要 2M 内存)第二步:对这些伪随机数进行大量读写操作,运算过程及中间需要保存的数据对于 GPU 或 ADIC 来说也是不友好的,(大概需要 524,288 次)第三步:源数据替换,第四步:选择合适的哈希算法,并对所有的数据进行哈希运算以得到最终结果(这里的哈希运行能确保最终生成的数据长度是相同的)。GhostRider是专门为Raptoreum创建的算法。它的构建旨在阻止专用硬件(例如ASIC和FPGA)的出现,从而使任何人都可以竞争性地挖掘它并增加总体分散性。
* [monero-project/monero](https://github.com/monero-project/monero) 门罗币:安全、私密、无法追踪的加密货币 。你是你的银行,你控制着你的资金,除非你允许他们这样做,否则没有人可以追踪你的转账。隐私:门罗币使用加密系统,允许您发送和接收资金,而无需在区块链(每个人都拥有的交易分类账)上轻松显示您的交易。这可确保您的购买、收据和所有转账在默认情况下保持私密。安全性:利用分布式点对点共识网络的强大功能,网络上的每笔交易都受到加密保护。单个钱包有一个 25 个单词的助记词种子,只显示一次,可以写下来备份钱包。钱包文件应使用强密码进行加密,以确保它们在被盗时毫无用处。不可追踪性:通过利用环签名(某种类型的密码学的特殊属性),门罗币能够确保交易不仅不可追踪,而且具有可选的模糊度量,确保交易不容易与单个用户或计算机绑定。去中心化:门罗币的效用取决于其去中心化的点对点共识网络——任何人都应该能够运行门罗币软件,验证区块链的完整性,并使用消费级商品硬件参与门罗币网络的各个方面。门罗币网络的去中心化是通过软件开发来维持的,该软件开发最大限度地降低了运行门罗币软件的成本,并抑制了专用非商品硬件的扩散。这是门罗币的核心实现。它是开源的,可以不受限制地完全免费使用,但以下许可协议中指定的除外。对创建以兼容方式使用协议和网络的门罗币替代实现的任何人没有任何限制。
* [FuelLabs/fuel-core](https://github.com/FuelLabs/fuel-core) Fuel v2 协议的 Rust 全节点实现。Fuel(V2)的技术堆栈有三个核心支柱,分别为:`并行交易执行`:Fuel 使用 UTXO(未花费交易输出)模型形式的严格状态访问列表(strict access list),因此具有并行执行交易的能力,在计算、状态访问和事务吞吐量方面较具优势)。`Fuel 虚拟机`(FuelVM):旨在减少传统区块链虚拟机架构的浪费处理情况,同时增加开发人员的潜在设计空间。`开发者体验`(使用 Sway 和 Forc):Fuel 使用自己的特定领域语言 Sway(受 Rust 启发)和支持工具链 Forc(Fuel Orchestrator)提供较为强大和流畅的开发人员体验。开发环境保留了 Solidity 等智能合约语言的优势,同时采用了 Rust 工具生态系统中引入的范式,并包含利用区块链 VM 的语法。
* [kroma-network/tachyon](https://github.com/kroma-network/tachyon) GPU加速的模块化ZK(Zero Knowledge 零知识证明)后端,设计目标:通用:多功能的 ZK 库使开发人员能够以最小的工作量实现任何证明方案,从而提高开发人员的工作效率,要创建通用后端,使代码结构尽可能与代数结构保持一致至关重要。易于使用:实现广泛采用对于任何产品的成功都至关重要,因此,Tachyon项目的关键焦点之一是包括为各种编程语言和运行时提供软件包。超快:超光速子的首要要求是速度,不仅仅是任何速度,而是超快的速度,这需要 Tachyon 在 CPU 和 GPU 平台上提供卓越的性能。GPU 互操作性:Tachyon 的代码旨在在大多数情况下与 CPU 和 GPU 兼容。
* [blockscout/blockscout](https://github.com/blockscout/blockscout) Blockscout是一个开源的区块链浏览器,用于检查和分析基于 EVM 的区块链,包括以太坊主网、以太坊经典、Optimism、Gnosis Chain 以及许多其他以太坊测试网、私有网络、L2 和侧链。它提供了一个全面的、易于使用的界面,供用户查看、确认和检查 EVM 区块链上的交易,并支持数百个链和汇总,包括以太坊、Cosmos、Polkadot、Avalanche、Near 等。用户可以通过文档提供的指南进行手动部署、Docker-compose 部署、Kubernetes 部署等操作。Blockscout 是一个开放、透明的工具,旨在替代像 Etherscan和 Etherchain 这样的中心化、闭源区块链浏览器。
* [mimblewimble/grin](https://github.com/mimblewimble/grin) Grin是一个正在开发中的 Mimblewimble 协议实现,旨在提供简洁、高效的隐私保护加密货币。它采用 Mimblewimble 协议,实现隐藏交易金额和可扩展性,并使用 Cuckoo Cycle 工作量证明机制,提供两种变体:Cuckaroo(抗 ASIC)和 Cuckatoo(针对 ASIC)。Grin 的特点包括一分钟的区块时间、固定且逐渐减少的区块奖励、基于输出数量和交易大小的交易费用以及平滑的难度调整曲线。Grin 已经上线主网,但仍处于开发阶段,欢迎贡献者参与。
* [vechain/grant-program](https://github.com/vechain/grant-program) VeChain基金会通用资助计划为涵盖去中心化应用、工具库、基础设施、互操作性、企业应用和研究项目等领域的项目提供最高3万美元的资金支持,申请需具备扎实的技术背景、详细的技术方案和可持续性计划,并需遵循项目里程碑交付要求,优先考虑对VeChain生态系统有直接贡献的项目,已成功进行代币销售的项目不在资助范围内。 该计划设有EasyA黑客松专项,为前十名符合条件的项目提供最高3万美元的资助。
* [subsquid/squid-sdk](https://github.com/subsquid/squid-sdk) Subsquid SDK是一个用TypeScript编写的Web3数据ETL工具包,支持以太坊、Substrate链和Solana等区块链,其特点是作为一个工具包而非索引应用程序,拥有快速二进制数据编解码器和类型安全的数据访问,并原生支持Subsquid Network(一个去中心化数据湖和查询引擎),从而实现高效的数据处理和查询。 通过`sqd init`命令和提供的快速入门指南可以轻松上手,开发者可在Telegram和Discord社区寻求帮助,并欢迎贡献代码。
* [Adamant-im/ETH-transactions-storage](https://github.com/Adamant-im/ETH-transactions-storage) 这是一个用Python编写的以太坊交易索引器,它连接到以太坊节点(如Geth或Nethermind),并将交易数据存储到PostgreSQL数据库中,然后通过Postgrest提供RESTful API接口,方便用户根据以太坊地址查询交易历史,其功能类似于Etherscan。索引器存储交易时间戳、发送方地址、接收方地址、交易金额、gas费等信息,并支持ERC20代币转账记录的索引,以减少存储需求。 用户可以通过API请求获取指定地址的交易记录。
* [gitcoinco/gitcoinco](https://github.com/gitcoinco/gitcoinco) Gitcoin是一个基于以太坊智能合约的开源网络,旨在促进开源项目的资金支持。它允许用户无需中间机构即可便捷地为GitHub上的问题提供资金或小费,支持ERC20代币支付,并提供多种功能,例如资助问题(用于资助开源项目的bug修复、功能开发或安全漏洞奖励)和小费功能。Gitcoin拥有多个相关项目仓库,包括网站、智能合约、浏览器扩展程序和移动应用等,旨在构建一个更可持续的开源生态系统。
* [bnb-chain/bsc](https://github.com/bnb-chain/bsc) BNB智能链是一个基于go-ethereum分支的BNB智能合约客户端,旨在为BNB Beacon链带来可编程性和互操作性。它兼容所有现有的以太坊智能合约和工具,并采用权益授权证明(PoSA)共识机制,由21个验证者组成,实现更短的出块时间和更低的交易费用。BNB作为原生代币,用于支付智能合约执行gas费用和质押。该项目特色在于其EVM兼容性、快速的最终确定性和低廉的交易费用,并通过链上治理实现去中心化。
* [near/nearcore](https://github.com/near/nearcore) NEARcore 是 NEAR Protocol 的参考实现,提供了一个用于构建去中心化应用程序的开发平台。它使用区块链技术,旨在提供与 Firebase 等现代 PaaS 相似的易用性和可扩展性,但成本更低。NEARcore 提供了多种工具,包括 JavaScript 客户端库、Rust 和 JavaScript/TypeScript SDK,以及大量示例和文档,帮助开发者轻松构建应用程序。用户可以通过 `nearup` 命令加入 NEAR 网络,并通过文档了解如何成为验证者。
* [krzyzanowskim/CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) CryptoSwift 是用 Swift 实现的标准和安全加密算法的不断增长的集合。特征:简单易用、字符串和数据的便捷扩展、支持增量更新流...、支持iOS、Android、macOS、AppleTV、watchOS、Linux。Hash (Digest) 哈希(摘要)、循环冗余校验 (CRC)、Cipher 密码、RSA(公钥加密算法)、信息身份验证器、 密码操作模式、基于密码的密钥派生函数、数据填充、使用关联数据进行身份验证加密 (AEAD)。
* [hrishioa/rakis](https://github.com/hrishioa/rakis) Rakis是一个基于浏览器的去中心化可验证 AI 网络,它允许节点接受 AI推理请求,运行本地模型,验证彼此的结果并达成共识,所有这些都在浏览器中完成,无需服务器。该项目从第一天起就开源,并提供详细文档,包括区块链合约和基础设施。Rakis 支持多种模型、链和网络,并优先考虑浏览器,以实现易用性和民主化。它使用基于嵌入的共识机制,并允许任何人参与网络。
* [nervosnetwork/ckb](https://github.com/nervosnetwork/ckb) Nervos CKB是Nervos网络的底层公链,采用PoW和改进的Nakamoto共识机制,在平均硬件和网络带宽下实现最大性能,同时保证去中心化和安全性。它支持使用CKB-VM(兼容RISC-V ISA)的任何编程语言编写脚本,作为通用验证层专注于验证,将计算留给二层及更高层的应用。CKB是Nervos网络的一部分,该网络定义了一套可扩展和互操作的区块链协议,旨在创建一个自我进化的分布式经济。
* [lbryio/lbry-sdk](https://github.com/lbryio/lbry-sdk) LBRY SDK是一个用于构建去中心化、抗审查、可获利的数字内容应用程序的 Python 库。它基于 LBRY 区块链,提供用于内容发布、访问和管理的工具,包括 Kademlia DHT、Blob 交换协议、Protobuf 模式、钱包实现和 JSON-RPC API。用户可以使用 LBRY SDK 构建各种应用程序,例如视频平台、音乐流媒体服务和文件共享平台。该项目还提供预编译的二进制文件和详细的文档,方便开发者使用。
* [libp2p/go-libp2p](https://github.com/libp2p/go-libp2p) go-libp2p 是 libp2p 网络协议栈的 Go 语言实现,它源于 IPFS 项目,并被独立打包供其他工具使用。libp2p旨在解决构建大规模点对点系统所面临的复杂性,它提供了一个模块化的网络协议栈,允许应用程序仅使用必要的协议,同时保持互操作性和可升级性。该项目提供示例代码、Grafana 仪表盘,并欢迎社区贡献。用户可通过导入 "github.com/libp2p/go-libp2p" 包开始使用。
* [matter-labs/zksync](https://github.com/matter-labs/zksync) zkSync是基于ZK Rollup架构的以太坊扩容和隐私引擎,它通过零知识证明(SNARK)确保所有资金由以太坊主链上的智能合约持有,计算和存储在链下进行,从而实现低Gas费的ETH和ERC20代币转移。zkSync继承了以太坊主链的安全保障,无需用户或第三方持续在线监控即可防止欺诈,提供比侧链和Plasma更强的安全性和可靠性。项目包含服务器、证明器、JavaScript和Rust SDK等组件。
* [zhuima/awesome-cloudflare](https://github.com/zhuima/awesome-cloudflare) 精选的 Cloudflare 工具、开源项目、指南、博客和其他资源列表。被称为赛博菩萨的 Cloudflare 提供内容交付网络 (CDN) 服务、DDoS 缓解、互联网安全和分布式域名服务器 (DNS) 服务,位于访问者和 Cloudflare 用户的托管提供商之间,充当网站的反向代理。内容:图床、邮箱、博客、短链、网站分析、隧道、加速、文件分享、测速、监控、文章、其他、教程。
* [bitcoinj/bitcoinj](https://github.com/bitcoinj/bitcoinj) bitcoinj是一个用Java实现的比特币协议库,允许在无需本地比特币核心副本的情况下维护钱包并发送/接收交易。它包含完整的文档和一些示例应用程序,展示了如何使用它,并提供命令行钱包工具用于创建和管理基于bitcoinj的钱包,支持测试网络,方便学习和使用。 项目使用Java 8+ (base和core模块)及Java 17+(其他模块),依赖Gradle和Google Protocol Buffers。
* [Zilliqa/Zilliqa](https://github.com/Zilliqa/Zilliqa) Zilliqa是一个高吞吐量公共区块链平台,旨在实现每秒数千笔交易,它采用独特的分片架构实现交易并行处理,从而在保持大量公共节点的同时提高吞吐量和处理更复杂的计算能力,最终实现去中心化和安全的目标;主网版本为Zilliqa v9.2.3和Scilla v0.13.3,开发者测试网版本为Zilliqa v9.2.5和Scilla v0.13.3,并提供API接口、区块浏览器和水龙头等资源。
* [zcash/zcash](https://github.com/zcash/zcash) Zcash是一个注重隐私的加密货币,其设计灵感源于比特币,但通过零知识证明技术实现了更高的隐私性和匿名性,隐藏交易参与者和交易细节;该项目维护着zcashd全节点软件,用于下载和存储Zcash交易历史记录;项目代码基于Bitcoin Core,但已大幅改进;目前Zcash支持Debian和Ubuntu系统,并提供其他实现方案(如Zebra)和丰富的文档及社区支持。
* [smartcontractkit/chainlink](https://github.com/smartcontractkit/chainlink) Chainlink是一个去中心化预言机网络的核心节点,它连接链上和链下计算,让智能合约能够访问现实世界数据和进行链下计算,同时保持区块链技术的安全性与可靠性。该项目包含Chainlink核心节点和合约,节点运营商可运行打包好的二进制文件参与去中心化预言机网络。项目提供Docker镜像方便下载使用,并有完善的文档和活跃的社区支持。
* [handshake-org/hsd](https://github.com/handshake-org/hsd) HSD是Handshake协议的实现,提供全节点功能及命令行接口(hsd-cli和hsw-cli),支持RPC和RESTful HTTPAPI。它内置递归解析器,也支持libunbound以提升性能。HSD允许配置本地权威和递归域名服务器,并可通过命令行参数控制监听端口、最大入站连接数以及公开IP地址。此外,HSD结合hs-client可进行CPU挖矿,并支持测试网3的去中心化空投和拍卖功能。
* [subquery/subql](https://github.com/subquery/subql) SubQuery是一个开放、灵活、快速且通用的Web3数据索引框架,旨在帮助开发者创建未来的去中心化产品。它支持Polkadot、Ethereum、Cosmos等多个主流区块链网络,允许开发者快速、免费地查询和提取链上数据,并提供托管服务和本地部署选项,方便开发者构建dApp。SubQuery通过其自定义的GraphQL查询服务以及一系列工具组件简化数据处理流程。
* [terra-money/classic-core](https://github.com/terra-money/classic-core) TerraClassic是用Go语言编写的Terra协议参考实现,基于Cosmos SDK和Tendermint共识机制构建,旨在为去中心化经济提供基础设施。该项目是Terra协议的经典版本,目前由社区维护,其核心命令行工具`terrad`集成了所有功能,用户可通过下载预编译二进制文件或从源码编译安装。`terrad`命令可用于节点操作和交互,详细使用方法请参考官方文档。
* [trustwallet/assets](https://github.com/trustwallet/assets) TrustWallet Assets Info项目是一个包含数千种加密货币代币信息的全面且最新的数据库,Trust Wallet及其他项目使用该项目中的代币图标。该项目允许社区贡献,但仅接受项目健全、信息完整且流通量非极低的代币,并提供多种工具和脚本用于添加、验证和维护代币信息,包括用于检查代币信息的Golang脚本和用于更新交易对信息的脚本。
* [steemit/steem](https://github.com/steemit/steem) Steem是一个用于智能媒体代币(SMT)和去中心化应用的区块链,它采用创新的“脑力证明”(Proof of Brain)共识算法分配代币,拥有快速块确认(3秒)和免费交易等特性,并支持基于角色的权限管理和智能媒体代币(SMT)。Steem提供Docker镜像方便快速部署,也支持从源码构建,用户可通过文档和开发者门户获取更多信息。
* [ethereum-optimism/optimism](https://github.com/ethereum-optimism/optimism) Optimism是一个致力于扩展以太坊的项目,通过构建名为OP Stack的开源软件来实现以太坊的可扩展性。OP Stack是一个去中心化的软件栈,支持Optimism主网和Base等区块链,其核心设计理念是“影响=利润”,即积极贡献者将获得相应奖励。该项目鼓励社区参与贡献,并提供详细的文档和指南帮助开发者构建基于OP Stack的区块链。
* [ton-blockchain/ton](https://github.com/ton-blockchain/ton) TON项目是一个快速、安全、可扩展的区块链,旨在每秒处理数百万笔交易,目标是拥有数亿用户。该项目包含节点/验证器、轻客户端、tonlib、FunC编译器等代码。其更新流程包括主分支(主网运行)、测试网分支和待处理分支,并遵循严格的代码审查和合并规则。开发者可通过提供的文档和教程参与开发去中心化应用。
* [input-output-hk/daedalus](https://github.com/input-output-hk/daedalus) Daedalus是一个开源的ADA加密货币钱包,旨在与社区共同发展。它允许用户安全地存储和管理ADA代币。该项目提供详细的开发环境设置指南,包括使用Nix和Yarn进行依赖项管理和构建,并支持多种网络环境下的运行,例如主网和自建节点。用户可以通过提供的脚本导入各种类型的钱包,包括Byron、Shelley、Mary和Yoroi钱包。
* [metaplex-foundation/metaplex](https://github.com/metaplex-foundation/metaplex) Metaplex Foundation致力于Solana区块链上的NFT开发,提供一系列Rust编写的程序库(包括元数据、拍卖行和糖果机程序),以及JavaScript、iOS和Android SDK,方便开发者创建和交互NFT。其工具集包括Solita(IDL转SDK工具)和Amman(Solana程序测试工具),并提供Sugar(Candy Machine命令行工具)简化NFT发行流程。 项目文档详见https://docs.metaplex.com。
* [EOSIO/eos](https://github.com/EOSIO/eos) EOSIO是一个开源智能合约平台,旨在帮助企业快速构建和部署高性能、高安全性的区块链应用。其特色包括:免费限速交易、低延迟的区块确认(0.5秒)、拜占庭容错最终确定性、WebAssembly驱动的智能合约平台以及支持多种操作系统(包括Ubuntu、CentOS、macOS等)。EOSIO支持预构建二进制文件安装,也支持从源码构建。
* [Adamant-im/adamant](https://github.com/Adamant-im/adamant) ADAMANT是一个去中心化的区块链消息平台,使用匿名加密中继和存储来实现消息功能,例如其Messenger应用、区块链2FA和加密货币兑换器等。它提供完整的API文档,涵盖账户、交易、聊天和键值存储管理。用户可通过提供的安装脚本(需Ubuntu系统,至少2GB内存和70GB磁盘空间)轻松搭建节点,并可以选择主网或测试网。
* [Synthetixio/synthetix](https://github.com/Synthetixio/synthetix) Synthetix是一个基于加密货币的合成资产平台,使用SNX代币作为支撑,SNX持有者可质押SNX发行Synths(链上合成资产)。该平台支持多种合成资产,并通过代理系统实现合约升级,保证用户体验的连续性,价格由Chainlink预言机提供。项目包含多个dApp,例如质押dApp和交易平台Kwenta,并提供完善的文档和社区支持。
* [dfinity/ic](https://github.com/dfinity/ic) InternetComputer是一个全球首个以网络速度运行且容量无限扩展的区块链,其核心是运行在节点上的客户端/副本软件(Rust实现)。它类似于互联网和比特币/以太坊等区块链协议,由许多遵循ICP协议的机器构成。该项目提供SDK和文档,方便开发者构建应用,并拥有社区论坛和监控面板,方便用户了解网络状态。
* [lightningnetwork/lnd](https://github.com/lightningnetwork/lnd) Lightning Network Daemon(lnd) 是一个完整的闪电网络节点实现,它支持多种后端链服务,包括 btcd、bitcoind 和 neutrino。lnd 遵循闪电网络规范 (BOLTs),并提供 HTTP REST API 和 gRPC 服务,方便开发者构建应用。lnd 能够创建和关闭通道,管理通道状态,进行路径查找,发送和接收闪电网络支付,并提供自动通道管理功能。
* [litecoin-project/litecoin](https://github.com/litecoin-project/litecoin) Litecoin是一个实验性的点对点数字货币,允许用户向世界各地任何人进行即时支付,无需中央机构管理交易和发行货币;LitecoinCore是其开源软件,用于使用这种货币;项目采用MIT许可证,并鼓励开发者进行单元测试和代码审查以确保安全性和稳定性,其开发过程包括定期发布稳定版本和持续的社区贡献。
* [Superalgos/Superalgos](https://github.com/Superalgos/Superalgos) Superalgos是一个免费开源的加密货币交易机器人软件,允许用户可视化设计、数据挖掘、回测、模拟交易和多服务器部署加密货币交易机器人。它是一个社区拥有的项目,使用SA代币激励贡献者,并提供集成图表系统,旨在为零售交易者提供强大的交易工具。 该项目庞大,包含平台客户端及其他资源。
* [stacks-network/stacks-core](https://github.com/stacks-network/stacks-core) Stacks是一个用Rust编写的Layer-2区块链,它利用比特币的安全性,通过Clarity语言支持去中心化应用和可预测的智能合约。它使用PoX(Proof of Transfer)共识机制,将区块链的领导者选举锚定在比特币区块链上,无需修改比特币即可实现智能合约和去中心化应用,STX矿工在独立的Stacks区块链上写入新区块。
* [cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) CosmosSDK是一个用Go语言编写的框架,用于构建高价值的公共区块链应用,其核心是CometBFT共识引擎。它被用于构建Cosmos Hub(Gaia),并支持IBC(区块链间通信)模块。Cosmos SDK目前处于相对稳定状态,但仍可能进行一些重大更改,建议使用最新版本的Go进行开发,更多信息请参考官方文档和教程。
* [tronprotocol/java-tron](https://github.com/tronprotocol/java-tron) java-tron是TRON协议的Java实现,提供一个可扩展、高可用、高吞吐量的区块链操作系统,支持TRON生态系统中的所有去中心化应用。它允许开发者使用智能合约创建去中心化应用(DAPP),并具有每秒超过2000笔交易的高性能。该项目需要Oracle JDK 1.8 (64位)并在Linux和MacOS系统上运行,通过Gradle构建。
* [ava-labs/avalanchego](https://github.com/ava-labs/avalanchego) Avalanchego是用Go语言实现的Avalanche节点,用于高吞吐量、快速交易的Avalanche区块链平台。它支持连接主网、Fuji测试网和创建本地测试网络。安装方式包括从源码构建、使用APT仓库或下载预编译二进制文件,也提供Docker镜像。节点启动后需要进行引导,连接主网引导过程可能需要几天时间。
* [RavenProject/Ravencoin](https://github.com/RavenProject/Ravencoin) Ravencoin是一个实验性的点对点数字货币,支持全球即时支付,并允许用户在Ravencoin网络上创建和发行资产(代币),用于NFT、STO、礼品卡等。它基于比特币代码改进而来,具有更快的区块奖励时间,并经过严格测试,致力于安全可靠地进行资产转移。项目代码开源,并采用MIT许可证。
* [curvefi/curve-contract](https://github.com/curvefi/curve-contract) Curvefi/curve-contract项目提供Curve去中心化交易所的Vyper合约代码。该项目旨在实现高效的稳定币交易和低风险,通过独特的低滑点、低手续费算法,为流动性提供者带来额外收益。项目使用Vyper编写,并提供测试、部署和安全审计相关信息,包括Trail of Bits的审计报告和漏洞赏金计划。
* [decentraland/marketplace](https://github.com/decentraland/marketplace) Decentraland市场是一个基于React的静态网站(前端代码位于/webapp目录),并包含一个后端索引器(位于/indexer目录)。该市场允许用户买卖Decentraland虚拟世界中的NFT,其代码遵循Apache 2许可证。开发者可以通过GitHub上的问题追踪器参与贡献,需遵循项目制定的代码和测试标准。
* [matter-labs/zksync-era](https://github.com/matter-labs/zksync-era) zkSync Era是基于零知识证明的以太坊二层扩容方案,具有高安全性与去中心化特性,兼容EVM(Solidity/Vyper),大部分以太坊项目无需修改即可部署,未来还将支持C++、Rust等多种编程语言编写智能合约。项目目前处于alpha阶段,已完成多次测试和审计,但仍建议关注安全更新。
* [algorand/go-algorand](https://github.com/algorand/go-algorand) go-algorand是Algorand官方的Go语言实现,这是一个无需许可的纯权益证明区块链,提供去中心化、可扩展性、安全性以及交易终结性。该项目提供构建和运行Algorand节点的工具,包含核心功能、加密算法以及配置参数等,开发者可访问开发者网站获取更多信息及安装说明。
* [harmony-one/harmony](https://github.com/harmony-one/harmony) Harmony项目是Harmony区块链的核心协议,使用Go语言编写,依赖GMP和OpenSSL库。它提供详细的文档和API指南,并支持Docker环境搭建。开发者可以通过克隆代码库并执行构建命令来搭建开发环境,该项目包含一个Docker镜像,方便开发者在不同架构的机器上进行开发和测试。
* [Uniswap/v3-core](https://github.com/Uniswap/v3-core) Uniswap V3核心智能合约项目包含Uniswap V3协议的核心智能合约代码,提供工厂合约部署及接口,方便开发者在本地测试网或主网上部署和使用,并支持Solidity接口导入,合约主要使用BUSL-1.1许可证,部分文件也采用GPL-2.0-or-later或MIT许可证。 该项目包含漏洞赏金计划。
* [Uniswap/interface](https://github.com/Uniswap/interface) Uniswap Labs开源维护着Uniswap协议的多个前端界面,包括网页版(app.uniswap.org)、移动端和浏览器扩展程序钱包版(wallet.uniswap.org)。这些界面允许用户进行去中心化以太坊代币交易,其代码均在此项目中公开。项目包含多个子应用及共享组件,并支持多语言版本。
* [matter-labs/awesome-zero-knowledge-proofs](https://github.com/matter-labs/awesome-zero-knowledge-proofs) 这是一个关于学习零知识证明(ZKP)的优秀资源列表,包含课程、用例、应用(包括以太坊和其他区块链及非区块链应用)、流行ZKP系统比较,以及对Bulletproofs、SNARKs、SNORKs和STARKS等技术的深入介绍和学习资源,旨在帮助学习者全面了解零知识证明技术。
* [gitcoinco/web](https://github.com/gitcoinco/web) Gitcoin (GTC) 项目的web仓库包含Gitcoin平台的Web前端代码。该项目旨在促进开源项目的增长,通过赏金、捐赠等方式激励开发者贡献。开发者可参与贡献代码、提交问题或使用提供的文档和API进行集成,并通过GitHub上的相关链接了解项目最新进展和参与方式。
* [status-im/status-mobile](https://github.com/status-im/status-mobile) 一个免费的(自由)开源,以太坊的移动操作系统。一个浏览器、信使和通往去中心化世界的门户。Status是一个免费(自由)的开源移动客户端,完全基于以太坊技术构建,面向Android和iOS。没错,没有中间商, go-ethereum 直接在您的设备上运行。
* [bitshares/bitshares-core](https://github.com/bitshares/bitshares-core) BitShares Core是BitShares区块链的节点软件和命令行钱包软件,提供丰富的API和开发者文档;其工作原理基于BitShares区块链技术,用户可通过其访问和管理BitShares账户;更多用户界面钱包软件(基于浏览器的钱包和桌面钱包)请访问BitShares UI项目。
* [LukasMasuch/best-of-crypto](https://github.com/LukasMasuch/best-of-crypto) Best-ofCrypto 是一个每周更新的开源数字货币和区块链项目排名列表,包含超过3100个项目,总计120万颗星,分为11个类别。每个项目根据来自GitHub和不同包管理器的指标自动计算的项目质量得分进行排名。您可以添加或更新项目,欢迎贡献!
* [stellar/stellar-core](https://github.com/stellar/stellar-core) StellarCore是用C++17编写,运行在Linux、OSX和Windows上的点对点代理程序,维护着Stellar网络的加密账本副本,并使用基于联邦共识协议(Stellar Consensus Protocol)的机制处理交易;该项目是Stellar网络的参考实现,旨在构建公平的全球金融系统。
* [vyperlang/vyper](https://github.com/vyperlang/vyper) Vyper是一个用于以太坊虚拟机(EVM)的Pythonic智能合约语言,其设计目标是简洁、安全和易于审核。它通过编译器将Vyper代码转换为EVM字节码,支持生成ABI接口。Vyper目前处于测试阶段,提供文档、在线编译器和学习资源,并欢迎社区贡献。
* [nanocurrency/nano-node](https://github.com/nanocurrency/nano-node) Nano(XNO/Ӿ)是一个旨在提升效率的轻量级数字支付协议,它具有超快交易速度和零手续费的特性,并运行在安全、环保且去中心化的网络上,非常适合日常交易。该项目提供节点运行指南、集成指南和丰富的文档,欢迎开发者贡献代码。
* [vechain/vechain-dapp-kit](https://github.com/vechain/vechain-dapp-kit) vechain-dapp-kit是一个基于TypeScript的VeChain去中心化应用(dApp)开发工具包,它简化了VeChain钱包(VeWorld和Sync2)与dApp之间的交互,提升用户体验和开发效率,并提供可自定义的UI组件和详尽的文档,支持多种钱包连接和跨链一致性体验。
* [w3f/Grants-Program](https://github.com/w3f/Grants-Program) Web3基金会拨款项目资助与Polkadot和Kusama相关的软件开发和研究项目。申请者需提交技术详实、具有良好维护计划且开源的项目方案,团队需具备相关经验。项目需具有创新性,避免与已有项目重复,且不能涉及代币销售或非法活动。
* [IBAX-io/go-ibax](https://github.com/IBAX-io/go-ibax) IBAX是一个创新的区块链平台,允许用户快速轻松地部署各种应用,例如DApp、DeFi、DAO和跨链交易等。它拥有强大的系统框架和简化的编程语言,包含智能合约、数据库表和接口,方便开发者在去中心化或中心化生态系统中构建应用。
* [aptos-labs/aptos-core](https://github.com/aptos-labs/aptos-core) Aptos是一个第一层区块链,旨在通过改进的技术和用户体验来支持区块链的广泛应用,它使用Move编程语言构建,为开发人员构建下一代应用提供了一个平台,并致力于通过更好的技术和用户体验来改变Web3。
* [neo-project/neo](https://github.com/neo-project/neo) NEO是一个现代化的分布式网络,用于构建智能经济,其核心代码库包含了共识算法、密码学、账本、网络协议等模块,支持智能合约的运行,并提供相关的开发工具包和文档,遵循MIT开源许可证。
* [OpenZeppelin/openzeppelin-contracts](https://github.com/OpenZeppelin/openzeppelin-contracts) 用于安全智能合约开发的库。建立在社区审查代码的坚实基础上。ERC20 和 ERC721 等标准的实施。灵活的基于角色的权限方案。可重用的 Solidity 组件,用于构建自定义合约和复杂的去中心化系统。
* [diem/diem](https://github.com/diem/diem) Diem的使命是建立一个值得信赖和创新的金融网络,为世界各地的人们和企业提供支持。Diem Core 实现了一个去中心化、可编程的分布式账本,它提供了一个可以为数十亿人赋能的金融基础设施。
* [FuelLabs/fuels-rs](https://github.com/FuelLabs/fuels-rs) Fuel v2 Rust SDK。它可以用于多种用途,包括但不限于:编译、部署和测试 Sway 合约;启动本地Fuel网络;使用手工制作的脚本或合约调用来制作和签署交易;生成合约方法的类型安全的 Rust 绑定。
* [freqtrade/freqtrade](https://github.com/freqtrade/freqtrade) 用 Python 编写的免费开源加密交易机器人。它旨在支持所有主要交易所,并通过Telegram或webUI进行控制。它包含回测、绘图和资金管理工具,以及通过机器学习进行策略优化。
* [heapup-tech/bitcoin-ninja](https://github.com/heapup-tech/bitcoin-ninja) 一个开源的比特币教程。通过可视化的方式, 渐进式的学习比特币相关内容。包括区块组成、挖矿原理、交易结构、脚本执行模拟、私钥和地址生成、签名计算与验证等。
* [bnb-chain/whitepaper](https://github.com/bnb-chain/whitepaper) BNBSmart Chain白皮书 (版本0.2, 2024年8月7日更新,包含BC融合后的修订) 介绍了BNB Smart Chain的工作原理及特色,最初版本发布于2020年4月17日,并提供中文及其他语言版本。
* [scaffold-eth/scaffold-eth-2](https://github.com/scaffold-eth/scaffold-eth-2) 开源的最新工具包,用于在以太坊区块链上构建去中心化应用程序 (dapp)。它旨在使开发人员更容易创建和部署智能合约,并构建与这些合约交互的用户界面。
* [FuelLabs/sway](https://github.com/FuelLabs/sway) 使每个人都能构建可靠高效的智能合约。Sway是为Fuel区块链开发的一种语言。深受 Rust 的启发,旨在为区块链生态系统带来现代语言开发和性能。
* [AmazingAng/WTF-Solidity](https://github.com/AmazingAng/WTF-Solidity) 重新学solidity,巩固一下细节,也写一个“WTF Solidity极简入门”,供小白们使用(编程大佬可以另找教程),每周更新1-3讲。
* [ethereumbook/ethereumbook](https://github.com/ethereumbook/ethereumbook) 面向开发人员的书,提供了以太坊、以太坊经典、RootStock (RSK) 和其他基于 EVM 的兼容开放区块链的操作和使用指南。
* [OffcierCia/DeFi-Developer-Road-Map](https://github.com/OffcierCia/DeFi-Developer-Road-Map) DeFi 开发者路线图是一本精心策划的开发者手册,其中包括 DApp 开发的最佳工具、资源和参考资料列表!
* [bunturx/Awesome-Blockchain-Security](https://github.com/bunturx/Awesome-Blockchain-Security) 由伟大的@0xRajeev 创建核心焦点将是以太坊智能合约安全审计。 以太坊、Solidity、智能合约安全和审计。
* [wevm/wagmi](https://github.com/wevm/wagmi) Reactive primitives for Ethereum应用程序,支持MIT许可,提供文档和社区支持,已赞助并参与Gitcoin Grants项目。
* [trufflesuite/truffle](https://github.com/trufflesuite/truffle) 以太坊的开发环境、测试框架和资产管道,旨在让以太坊开发人员的生活更轻松。项目维护中。
* [yeasy/blockchain_guide](https://github.com/yeasy/blockchain_guide) 区块链技术指南。以全球最大的开源分布式账本项目——超级账本为例讲解具体应用。
* [ccxt/ccxt](https://github.com/ccxt/ccxt) JavaScript / TypeScript / Python / C# / PHP加密货币交易API,支持100多个比特币/山寨币交易所
* [solana-labs/solana](https://github.com/solana-labs/solana) 网络规模区块链,用于快速、安全、可扩展、去中心化的应用程序和市场。
* [foundry-rs/foundry](https://github.com/foundry-rs/foundry) 用 Rust 编写的用于以太坊应用程序开发的超快速、可移植和模块化工具包。
* [ethereum/solidity](https://github.com/ethereum/solidity) 静态类型的、面向合约的高级语言,用于在以太坊平台上实现智能合约。
* [smartcontractkit/full-blockchain-solidity-course-py](https://github.com/smartcontractkit/full-blockchain-solidity-course-py) 终极可靠性、区块链和智能合约 - 从初学者到专家的完整课程 |Python 版本
* [chaozh/awesome-blockchain-cn](https://github.com/chaozh/awesome-blockchain-cn) 收集所有区块链(BlockChain)技术开发相关资料,包括Fabric和Ethereum开发资料
* [web3/web3.js](https://github.com/web3/web3.js) 以太坊 JSON RPC API 和相关工具的 TypeScript 实现,由 ChainSafe Systems 维护。
* [Uniswap/web3-react](https://github.com/Uniswap/web3-react) 简单、可扩展、依赖性最小化的框架,用于构建现代以太坊 dApp
* [slowmist/Blockchain-dark-forest-selfguard-handbook](https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook/) 区块链黑暗森林自救手册掌握这些,掌握你的加密货币安全。
* [HelloZeroNet/ZeroNet](https://github.com/HelloZeroNet/ZeroNet) 使用比特币加密货币和 BitTorrent 网络的去中心化网站
* [smartcontractkit/full-blockchain-solidity-course-js](https://github.com/smartcontractkit/full-blockchain-solidity-course-js) 使用 Javascript 学习区块链、Solidity 和全栈 Web3 开发
* [MetaMask/metamask-extension](https://github.com/MetaMask/metamask-extension) 浏览器扩展程序支持浏览支持以太坊区块链的网站
* [Rivaill/CryptoVulhub](https://github.com/Rivaill/CryptoVulhub) 分析和重现区块链世界中的攻击事件或漏洞。
* [bitcoinbook/bitcoinbook](https://github.com/bitcoinbook/bitcoinbook) 掌握比特币第 3 版 - 对开放区块链进行编程
* [fltenwall/web3-awesome](https://github.com/fltenwall/web3-awesome) web3百科全书, 打造 web3 全球第一中文资源
* [ethers-io/ethers.js](https://github.com/ethers-io/ethers.js) 在 JavaScript 中完成以太坊库和钱包实现。
* [bkrem/awesome-solidity](https://github.com/bkrem/awesome-solidity) 精选的 Solidity 资源、库、工具等列表
* [bitcoin/bitcoin](https://github.com/bitcoin/bitcoin) 比特币核心代码功能的集成/暂存树
* [OpensourceBooks/blockchain](https://github.com/OpensourceBooks/blockchain) 开源教程:从零开始写区块链
* [anders94/blockchain-demo](https://github.com/anders94/blockchain-demo) 基于网络的区块链概念演示。
* [iptv-org/awesome-iptv](https://github.com/iptv-org/awesome-iptv) 与IPTV相关的资源精选列表。
* [The-Hitchhiker-s-Guide-to-the-Blockchain-Sec](https://github.com/BlockchainSecBook/The-Hitchhiker-s-Guide-to-the-Blockchain-Sec) 《区块链安全入门与实战》
* [Consensys/smart-contract-best-practices](https://github.com/Consensys/smart-contract-best-practices) 智能合约安全最佳实践指南
* [Jeiwan/blockchain_go](https://github.com/Jeiwan/blockchain_go) Golang 中的简化区块链实现
* [FuelLabs/fuels-ts](https://github.com/FuelLabs/fuels-ts) 用于与 Fuel v2 交互的库。
* [ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) 以太坊协议的官方Go实现
* [dvf/blockchain](https://github.com/dvf/blockchain) 一个简单的 Python 区块链
* [sismo-core/sismo-badges](https://github.com/sismo-core/sismo-badges) Sismo 协议的智能合约。
* [imfly/bitcoin-on-nodejs](https://github.com/imfly/bitcoin-on-nodejs) 《Node.js区块链开发》
* [liuchengxu/blockchain-tutorial](https://github.com/liuchengxu/blockchain-tutorial) 简体中文区块链教程
## 后端开发框架及项目
* [kestra-io/kestra](https://github.com/kestra-io/kestra) Kestra是一个开源的事件驱动型工作流编排平台,它简化了**定时**和**事件驱动**工作流的创建。它将**基础设施即代码**的最佳实践应用于数据、流程和微服务编排,使您能够直接从UI中使用几行YAML构建可靠的[工作流](https://kestra.io/docs/getting-started)。主要特点包括:**代码和UI一体化**,支持**Git版本控制**;**事件驱动和定时工作流**,通过简单的`trigger`定义实现自动化;**声明式YAML接口**,使用内置代码编辑器中的简单配置定义工作流;**丰富的插件生态系统**,内置数百个插件,可从任何数据库、云存储或API提取数据,并**以任何语言运行脚本**;**直观的UI和代码编辑器**,提供语法高亮、自动完成和实时语法验证,方便从UI中构建和可视化工作流;**可扩展性**,旨在处理数百万个工作流,并具有高可用性和容错性;**版本控制友好**,从内置代码编辑器编写工作流,并直接从Kestra推送到您首选的Git分支,实现CI/CD管道和版本控制系统的最佳实践;**结构和弹性**,使用**命名空间**、**标签**、**子工作流**、**重试**、**超时**、**错误处理**、**输入**、**输出**(在UI中生成工件)、**变量**、**条件分支**、**高级调度**、**事件触发器**、**回填**等功能,为您的工作流带来秩序和弹性。
* [snowplow/snowplow](https://github.com/snowplow/snowplow) Snowplow是一个面向开发人员的下一代客户数据基础设施,用于收集行为数据。它可以收集各种事件(如页面浏览、点击、视频播放等),并将数据存储在您控制的可扩展数据仓库中,例如 Amazon Redshift、Databricks、Elasticsearch、Google BigQuery 和 Snowflake,或者通过流式传输到 Amazon Kinesis、Google PubSub 和 Kafka 等平台。Snowplow 还提供多种工具来建模和分析行为数据,例如 dbt、Looker、Metabase、Mode、Streamlit、Superset 和 Redash 等。Snowplow 的“玻璃盒”技术架构能够每天处理数十亿个事件,并提供超过 20 个 SDK 来收集来自 Web、移动、服务器端和其他来源的数据。Snowplow 还采用基于模式和验证的独特方法,确保数据尽可能干净,并提供超过 15 种数据增强功能,帮助您充分利用数据。Snowplow 可以轻松地集成到现代数据栈中,并被 Burberry、Strava 和 Auto Trader 等数千家组织使用,以收集、管理和运营实时事件数据,从而获得更深入的客户旅程洞察,预测客户行为,提供差异化的客户体验以及检测欺诈活动。
* [nuclio/nuclio](https://github.com/nuclio/nuclio) Nuclio是一个高性能的“无服务器”框架,专注于数据、I/O和计算密集型工作负载。它与流行的数据科学工具(如Jupyter和Kubeflow)良好集成,支持各种数据和流式源,并支持在CPU和GPU上执行。Nuclio项目始于2017年,并且一直在快速发展;许多初创公司和企业现在在生产中使用Nuclio。您可以将Nuclio用作独立的Docker容器或在现有Kubernetes集群之上使用;请参阅Nuclio文档中的部署说明。您也可以通过Iguazio数据科学平台中的完全托管的应用程序服务(在云端或本地)使用Nuclio。Nuclio非常快:单个函数实例每秒可以处理数十万个HTTP请求或数据记录。这比其他一些框架快10-100倍。要详细了解Nuclio的工作原理,请参阅Nuclio架构文档,阅读Nuclio与AWS Lambda的比较,或观看Nuclio无服务器和AI网络研讨会。您可以在Nuclio网站上找到其他文章和教程的链接。Nuclio是安全的:Nuclio与Kaniko集成,允许在运行时以安全且生产就绪的方式构建Docker镜像。
* [Vonng/ddia](https://github.com/Vonng/ddia) 《设计数据密集型应用》DDIA中文翻译。现今,尤其是在互联网领域,大多数应用都属于数据密集型应用。本书从底层数据结构到顶层架构设计,将数据系统设计中的精髓娓娓道来。其中的宝贵经验无论是对架构师、DBA、还是后端工程师、甚至产品经理都会有帮助。这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击节扼腕。如果能早点读到这本书,该少走多少弯路啊!这也是一本深入浅出的书,讲述概念的来龙去脉而不是卖弄定义,介绍事物发展演化历程而不是事实堆砌,将复杂的概念讲述的浅显易懂,但又直击本质不失深度。每章最后的引用质量非常好,是深入学习各个主题的绝佳索引。本书为数据系统的设计、实现、与评价提供了很好的概念框架。读完并理解本书内容后,读者可以轻松看破大多数的技术忽悠,与技术砖家撕起来虎虎生风。
* [PipedreamHQ/pipedream](https://github.com/PipedreamHQ/pipedream) Pipedream是一款面向开发者的免费集成平台,可用于连接应用程序并构建事件驱动的自动化。平台拥有超过 1000 个完全集成的应用程序,您可以使用预构建组件快速将消息发送到 Slack,将新行添加到 Google Sheets 等等。您也可以在需要自定义逻辑时运行任何 Node.js、Python、Golang 或 Bash 代码。Pipedream 已通过 SOC 2 合规性认证,并可根据要求提供 SOC 2 Type 2报告。Pipedream 的主要功能包括:工作流、事件源、操作和自定义代码。工作流通过一系列步骤(预构建操作或自定义代码)运行自动化,这些步骤由事件(HTTP 请求、计时器、在 Google Sheets 中添加新行等)触发。事件源从 GitHub、Slack、Airtable、RSS 等服务触发工作流。操作是预构建的代码步骤,可用于在 Pipedream 的 1000多个 API 集成中执行常见操作。自定义代码允许您运行任何 Node.js、Python、Golang 或 Bash 代码,以实现自定义逻辑。
* [grafana/grafana](https://github.com/grafana/grafana) 开放且可组合的可观测性和数据可视化平台。可视化来自 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres 等多个来源的指标、日志和跟踪。`可视化`:具有多种选项的快速灵活的客户端图形。`动态仪表板`:使用模板变量创建动态和可重用的仪表板,这些模板变量在仪表板顶部显示为下拉列表。`探索指标`:通过临时查询和动态深入分析来探索数据。拆分视图并并排比较不同的时间范围、查询和数据源。`探索日志`:体验使用保留的标签筛选器从指标切换到日志的魔力。快速搜索所有日志或实时流式传输。`警报`:直观地为最重要的指标定义警报规则。Grafana 将持续评估并向 Slack、PagerDuty、VictorOps、OpsGenie 等系统发送通知。`混合数据源`:在同一张图中混合不同的数据源!您可以基于每个查询指定数据源。这甚至适用于自定义数据源。
* [hasura/graphql-engine](https://github.com/hasura/graphql-engine) 开源产品,通过立即为您提供具有内置数据授权的 GraphQL 或 REST API,将 API 开发速度提高了 10 倍。在一个或多个域上构建、操作、协作和发展企业级 GraphQL API(联合或单体)的最快、最简单的方式。借助 Hasura DDN,您可以毫不费力地将所有数据库、服务和代码连接到一个统一的数据图中,并通过一个强大的超级图 API 将其公开,具有无与伦比的可组合性和速度。特色:使用“连接,而不是代码”的方法,在几分钟内在您的域上构建 API。使用令人难以置信的可组合和标准化 API 简化自助式数据访问和聚合。只有将性能调低到数据库查询的超级图查询规划器。领域团队(子图)可以协作构建和发展超图。在直观的 API 门户中发现、获取和编写所需的数据。提供任何规模的性能、安全性和可靠性,而不会造成 DevOps 负担。
* [falconry/falcon](https://github.com/falconry/falcon) Falcon是一个轻量级的 ASGI/WSGI 框架,专为 Python 开发人员构建可靠、正确且可扩展的 REST API 和微服务而设计。它采用简洁的设计,拥抱 HTTP 和 REST 架构风格,避免了其他框架的繁重依赖和不必要的抽象。Falcon 应用可以与任何 WSGI或 ASGI 服务器配合使用,并在 CPython 3.8+ 和 PyPy 3.8+ 上运行良好。Falcon 的主要特点包括:支持 ASGI、WSGI 和 WebSocket,原生 asyncio 支持,无魔法全局变量,稳定且向后兼容的接口,基于 RESTful 路由的简单 API 建模,高度优化且可扩展的代码库,通过请求和响应类轻松访问头信息和主体,通过中间件组件和钩子实现 DRY 请求处理,严格遵守 RFC 规范,提供直观的 HTTP 错误响应,简化的异常处理,使用 WSGI/ASGI 助手和模拟进行快速测试,支持 CPython 3.8+ 和 PyPy 3.8+。
* [pallets/werkzeug](https://github.com/pallets/werkzeug) 全面的 python WSGI Web 应用程序库。它最初是 WSGI 应用程序的各种实用程序的简单集合,现已成为最先进的 WSGI 实用程序库之一。包括:一个交互式调试器,允许在浏览器中使用堆栈中任何帧的交互式解释器检查堆栈跟踪和源代码。一个功能齐全的请求对象,其中包含用于与标头、查询参数、表单数据、文件和 Cookie 交互的对象。一个响应对象,可以包装其他 WSGI 应用程序并处理流数据。用于将 URL 匹配到端点并为端点生成 URL 的路由系统,以及用于从 URL 捕获变量的可扩展系统。HTTP 实用程序,用于处理实体标记、缓存控制、日期、用户代理、cookie、文件等。在本地开发应用程序时使用的线程 WSGI 服务器。一个测试客户端,用于在测试期间模拟 HTTP 请求,而无需运行服务器。
* [n8n-io/n8n](https://github.com/n8n-io/n8n) 免费和源代码可用的公平代码许可的工作流自动化工具。跨不同服务轻松自动执行任务。N8n 是一个可扩展的工作流程自动化工具。通过公平代码分发模型,n8n 将始终具有可见的源代码,可用于自托管,并允许您添加自己的自定义函数、逻辑和应用程序。 n8n 基于节点的方法使其具有高度的通用性,使您能够将任何东西连接到所有东西。N8n 有 200+ 个不同的节点来自动化工作流程。使用 n8n 的 LangChain 节点,您可以在工作流程中构建 AI 驱动的功能。LangChain节点是可配置的,这意味着您可以选择您喜欢的代理、LLM内存等。除了LangChain节点,您还可以像往常一样连接任何n8n节点:这意味着您可以将LangChain逻辑与其他数据源和服务集成。
* [grafana/k6](https://github.com/grafana/k6) 使用 Go 和 JavaScript 的现代负载测试工具。它功能强大、可扩展且功能齐全。关键设计目标是提供最佳的开发人员体验。其核心功能是:`可配置的负载生成`。即使是低端机器也可以模拟大量流量。`测试即代码`。重用脚本、模块化逻辑、版本控制,并将测试与 CI 集成。`功能齐全的 API`。脚本 API 包含可帮助您模拟真实应用程序流量的功能。嵌入式 JavaScript 引擎。Go 的性能,JavaScript 的脚本熟悉度。多协议支持。HTTP、WebSockets、gRPC 等。大型扩展生态系统。您可以扩展 k6 来支持您的需求。许多人已经与社区分享了他们的扩展!灵活的指标存储和可视化。汇总统计信息或粒度指标,导出到您选择的服务。
* [sartography/SpiffWorkflow](https://github.com/sartography/SpiffWorkflow) SpiffWorkflow是一个用纯Python实现的强大工作流引擎,基于Workflow Patterns initiative,支持BPMN/DMN处理。它旨在支持Python的低代码业务应用开发,允许非开发人员使用BPMN创建可视化工作流流程图,并结合强大的Python脚本引擎在流程图中无缝运行。SpiffWorkflow可以解析这些流程图并执行它们,为企业创建驱动应用程序的清晰、连贯的流程图提供了巨大的潜力。它支持解析BPMN流程图,包括池和泳道、多实例任务、子工作流、定时器事件、信号、消息、边界事件和循环等复杂组件,并提供DMN基本实现,与Python执行引擎集成。此外,它还保留了直接在代码中构建工作流或基于内部JSON数据结构运行工作流的支持。
* [ThreeDotsLabs/watermill](https://github.com/ThreeDotsLabs/watermill) Watermill是一个 Go 库,用于高效地处理消息流,旨在构建事件驱动的应用程序,支持事件溯源、基于消息的 RPC、Saga 以及其他各种用例。它支持 Kafka、RabbitMQ 等传统发布/订阅实现,也支持 HTTP 或 MySQL binlog 等其他方案。Watermill 的目标是易于理解、通用、快速、灵活且具有弹性,并提供中间件、插件和发布/订阅配置等功能。它提供了丰富的示例,涵盖基础应用、发布/订阅用法以及各种真实世界场景,例如实时 HTTP 更新、数据库同步和持久事件日志等。Watermill 的目标是使消息通信像使用 HTTP 路由器一样简单,为构建消息驱动的应用程序提供必要的工具。
* [samber/awesome-prometheus-alerts](https://github.com/samber/awesome-prometheus-alerts) 这是一个收集 Prometheus 报警规则的项目,旨在提供一个集中式资源,方便用户查找各种常见的 Prometheus 报警规则。该项目包含了从基础资源监控到数据库、代理、反向代理、负载均衡器、运行时环境和编排工具等各个方面的报警规则,例如 Prometheus 自监控、主机/硬件、SMART、Docker 容器、Blackbox、Windows、VMware、Netdata、MySQL、PostgreSQL、Redis、MongoDB、RabbitMQ、Elasticsearch、Cassandra、Clickhouse、Zookeeper、Kafka、Pulsar、Nginx、Apache、HaProxy、Traefik、PHP-FPM、JVM、Sidekiq、Kubernetes 等。用户可以根据自己的需求选择合适的规则,并将其应用到自己的 Prometheus 环境中。
* [encode/starlette](https://github.com/encode/starlette) Starlette是一个轻量级的 ASGI 框架/工具包,非常适合用 Python构建异步 Web 服务。它已投入生产,并提供以下功能:轻量级、低复杂度的 HTTP Web 框架;WebSocket 支持;进程内后台任务;启动和关闭事件;基于 `httpx` 的测试客户端;CORS、GZip、静态文件、流式响应;会话和 Cookie 支持;100% 测试覆盖率;100% 类型注释代码库;很少的硬依赖;与 `asyncio` 和 `trio` 后端兼容;在独立基准测试中表现出色。Starlette 可以作为完整的框架或 ASGI 工具包使用,其组件可以独立使用。它还支持模块化,可以构建可重用的组件,这些组件可以在任何 ASGI 框架之间共享。
* [bxcodec/go-clean-arch](https://github.com/bxcodec/go-clean-arch) Go 项目中实现 Clean Architecture 的示例。独立于框架。该体系结构不依赖于某些功能丰富的软件库的存在。这允许您使用此类框架作为工具,而不必将系统塞进其有限的约束中。可测试。可以在没有 UI、数据库、Web 服务器或任何其他外部元素的情况下测试业务规则。独立于 UI。UI 可以轻松更改,而无需更改系统的其余部分。例如,可以在不更改业务规则的情况下将 Web UI 替换为控制台 UI。独立于数据库。可以将 Oracle 或 SQL Server 换成 Mongo、BigTable、CouchDB 或其他东西。您的业务规则未绑定到数据库。独立于任何外部机构。
* [Dokploy/dokploy](https://github.com/Dokploy/dokploy) Dokploy是一个开源的平台即服务(PaaS),可以替代Vercel、Netlify和Heroku,它可以简化应用程序和数据库的部署和管理。Dokploy支持多种应用程序类型(Node.js、PHP、Python、Go、Ruby等)和数据库(MySQL、PostgreSQL、MongoDB、MariaDB和Redis),并提供自动备份、Docker Compose支持、多节点扩展、模板部署、Traefik集成、实时监控、Docker管理、CLI/API、通知、多服务器部署和自托管等功能。用户可以通过一条简单的命令在VPS上安装Dokploy,并参考官方文档进行详细操作。Dokploy的开发和运营得到了Hostinger、LX Aer、Supafort等赞助商的支持。
* [apex/up](https://github.com/apex/up) Up是一个开源工具,可以将无服务器应用程序、API 和静态网站快速部署到 AWS,无需管理或扩展机器,也不需要为闲置服务器付费,只需使用 `$ up` 命令即可部署应用程序。Up 支持 Node.js、Golang、Python、Java、Crystal、Clojure 和静态网站,并提供免费的开源版本和付费的 Pro 版本,Pro 版本提供加密环境变量、错误警报、无限团队成员、无限应用程序、优先邮件支持等功能,每月 19.99 美元。快速入门:安装 Up,创建 `app.js` 文件,使用 `$ up` 命令部署应用程序,然后在浏览器中打开应用程序或将 URL 复制到剪贴板。
* [nsqio/nsq](https://github.com/nsqio/nsq) 实时分布式消息传递平台,旨在大规模运行,每天处理数十亿条消息。它促进了分布式和分散式拓扑结构,没有单点故障,实现了容错和高可用性以及可靠的消息传递保证。查看功能和保证。在操作上,NSQ 易于配置和部署(所有参数都在命令行上指定,编译的二进制文件没有运行时依赖性)。为了获得最大的灵活性,它与数据格式无关(消息可以是 JSON、MsgPack、协议缓冲区或其他任何格式)。官方的 Go 和 Python 库(以及许多其他客户端库)开箱即用,如果您有兴趣构建自己的库,这里有一个协议规范。
* [windmill-labs/windmill](https://github.com/windmill-labs/windmill) Windmill是一个开源的开发平台,可以帮助您构建和管理内部工具,包括 API、后台任务、工作流和 UI。它提供了一个快速的工作流引擎,速度比 Airflow 快 13 倍,并且是 Retool 和 Temporal 的开源替代方案。Windmill 可以将脚本自动转换为可共享的UI,并支持多种脚本语言,包括 Python、TypeScript、Go、Bash、SQL 和 GraphQL。您可以将脚本组合成工作流,或使用低代码构建更丰富的应用程序。Windmill 支持自托管,并提供 Docker Compose、Kubernetes 和二进制文件等部署选项。它还提供了安全沙箱、秘密管理和性能优化等功能。
* [insitro/redun](https://github.com/insitro/redun) redun是一个基于 Python 的工作流引擎,它通过将工作流定义为延迟表达式来实现更灵活、更高效的流程管理。redun 支持增量计算,可以根据数据和代码的变化自动更新工作流,并提供多种计算后端(如线程、进程、AWS Batch 等)。redun还支持数据变化检测、代码变化检测、缓存中间结果以及数据血缘追踪等功能,使其适用于生物信息学、化学信息学、数据科学等领域。用户可以通过 pip install redun 安装 redun,并使用简单的 Python 代码定义工作流。redun 还提供了可视化工具,可以帮助用户理解和调试工作流。
* [encode/uvicorn](https://github.com/encode/uvicorn) Uvicorn是一个用于 Python 的 ASGI web 服务器,它支持 HTTP/1.1 和 WebSockets。它基于 ASGI 规范,允许开发者构建跨异步框架通用的工具。Uvicorn 可以通过 `pip` 安装,并提供多种可选依赖项,例如 `uvloop`、`httptools`和 `websockets`,以提高性能和功能。Uvicorn 的快速入门示例展示了如何创建一个简单的 ASGI 应用并启动服务器。与传统的 WSGI 框架相比,ASGI 允许使用异步并发模型,从而提高性能并支持长连接,例如长轮询 HTTP 或 WebSocket 连接。Uvicorn 并非唯一支持 ASGI 的服务器,其他选择包括Daphne 和 Hypercorn。
* [jpillora/chisel](https://github.com/jpillora/chisel) Chisel是一个快速且安全的 TCP/UDP 隧道工具,通过 HTTP 传输,使用 SSH 进行加密。它是一个单一可执行文件,包含客户端和服务器,用 Go 语言编写。Chisel 主要用于穿透防火墙,但也可用作网络安全端点。它支持多种功能,包括高性能、加密连接、身份验证、自动重连、多隧道端点、代理支持、反向端口转发、反向代理、SOCKS5连接等。用户可以通过二进制文件、Docker 镜像、Fedora 包或源代码进行安装。Chisel 提供了一个 Heroku 演示应用程序,展示了如何使用 Chisel 穿透防火墙访问本地服务器。
* [awesto/django-shop](https://github.com/awesto/django-shop) django-SHOP是一个基于Django的易用、有趣且快速的电子商务系统,旨在与django-CMS无缝集成。它通过构建反映产品物理属性的数据库模型,避免了预定义模型的局限性,并支持复杂的变体层次结构,无需使用容易导致数据库性能问题的Entity-Attribute-Value模型。该系统采用组件化页面构建方式,允许灵活地组合页面布局,并提供HTML和RESTful服务两种视图,以适应不同客户端的需求。此外,它还提供可编程的购物车修改器和订单履行流程,方便定制税费计算、折扣、运费等业务逻辑。
* [apollographql/apollo-server](https://github.com/apollographql/apollo-server) `@apollo/server` 是一个符合规范且生产就绪的 JavaScript GraphQL 服务器,允许您以 Schema-First 的方式进行开发。它适用于 Express、Connect、Hapi、Koa 等框架。它是一个开源项目,提供了一个简单的 API 用于集成任何 Node.js Web 框架或无服务器环境。它提供简洁的设置、增量采用、通用兼容性和生产就绪性,使您能够快速构建生产就绪的、自文档化的 GraphQL API,并使用任何数据源。您可以在文档网站上找到完整的文档,该文档展示了如何运行一个独立服务器以及如何与 Express 集成。
* [graphile/crystal](https://github.com/graphile/crystal) GraphileCrystal 是一个包含 Grafast、PostGraphile、pg-introspection、pg-sql2 等多个项目的单一代码库。Grafast 是一个用于 GraphQL.js 的尖端规划和执行引擎,可以提高 GraphQL 请求的执行效率,减少服务器负载。PostGraphile 则提供了一种低成本的方式,使用 PostgreSQL 数据库构建高性能的 GraphQL API,并支持自动生成最佳实践和可定制性。此外,该项目还包含其他独立的包,例如用于 PostgreSQL 交互的 @dataplan/pg,用于 JSON 编码/解码的 @dataplan/json,以及用于导出 GraphQL 架构的 graphile-export 等。
* [dotansimha/graphql-code-generator](https://github.com/dotansimha/graphql-code-generator) 基于 GraphQL 模式和 GraphQL 操作(查询/变更/订阅)生成代码的工具,灵活支持自定义插件。GraphQL Code Generator 是一种从 GraphQL 模式生成代码的工具。无论您是开发前端还是后端,您都可以利用 GraphQL 代码生成器从 GraphQL 模式和 GraphQL 文档(查询/突变/订阅/片段)生成输出。通过分析模式和文档并对其进行解析,GraphQL Code Generator 可以基于预定义的模板或基于自定义用户定义的模板以多种格式输出代码。无论您使用哪种语言,GraphQL Code Generator 都能满足您的需求。
* [microsoft/cpprestsdk](https://github.com/microsoft/cpprestsdk) C++ REST SDK是微软的一个项目,用于使用现代异步 C++ API 设计在原生代码中进行基于云的客户端-服务器通信。该项目旨在帮助 C++ 开发人员连接并与服务交互。该项目目前处于维护模式,不建议在新的项目中使用。项目提供 HTTP 客户端/服务器、JSON、URI、异步流、WebSocket 客户端、oAuth 等功能,支持 Windows 桌面、Windows Store (UWP)、Linux、OS X、Unix、iOS 和 Android 平台,并支持 Visual Studio2015 和 2017。开发者可以贡献代码,例如添加功能、修复 bug 或提出建议。
* [python-diamond/Diamond](https://github.com/python-diamond/Diamond) Diamond是一个用Python编写的守护进程,用于收集系统指标并发布到Graphite(和其他系统)。它可以收集CPU、内存、网络、I/O、负载和磁盘指标。此外,它还提供了一个API,用于实现自定义收集器,以从几乎任何来源收集指标。Diamond已成功部署到1000台机器的集群中,每分钟推送300万个数据点。它也被部署在Fabric的基础设施中,轮询数百个指标源,每分钟推送数百万个数据点。可以通过`pip install diamond`安装Diamond,并修改`diamond.conf`文件以满足您的需求。
* [django-compressor/django-compressor](https://github.com/django-compressor/django-compressor) DjangoCompressor是一个Django应用,用于压缩和合并项目中的JavaScript和CSS文件,并将它们缓存为单个静态文件,从而提高网站性能。它支持多种编译器(如CoffeeScript、LESS和SASS),并允许自定义处理步骤。通过在模板中使用`{% compress js/css %}`和`{% endcompress %}`标签,Django Compressor会处理其中的代码,并最终输出指向优化后的文件的`u003cscriptu003e`或`u003clinku003e`标签,或者直接内联到模板中。此外,它还提供命令行工具`manage.py compress`用于手动运行压缩过程。
* [interagent/http-api-design](https://github.com/interagent/http-api-design) 本指南介绍了一组 HTTP+JSON API 设计实践,这些实践最初是从 Heroku 平台 API 的工作中提取的。本指南为该 API 的添加提供信息,并为 Heroku 的新内部 API 提供指导。我们希望 Heroku 以外的 API 设计人员也对它感兴趣。我们的目标是保持一致性,专注于业务逻辑,同时避免设计困境。我们正在寻找一种好的、一致的、有据可查的方法来设计 API,但不一定是唯一/理想的方法。我们假设你熟悉 HTTP+JSON API 的基础知识,并且不会涵盖本指南中所有基础知识。
* [keploy/keploy](https://github.com/keploy/keploy) Keploy是一个面向开发人员的 API 测试工具,它可以从实际用户流量中生成测试用例和模拟数据,速度比单元测试更快。Keploy 不仅记录 API 调用,还记录数据库调用并在测试期间回放它们,使其易于使用、功能强大且可扩展。Keploy 还推出了世界上第一个单元测试生成器(ut-gen),它可以理解代码语义并生成有意义的单元测试,旨在自动生成单元测试、改进边缘情况并提高测试覆盖率。用户可以通过安装代理来快速集成 Keploy,无需更改代码。
* [tokio-rs/tracing](https://github.com/tokio-rs/tracing) Rust 的应用程序级跟踪。用于检测 Rust 程序以收集结构化的、基于事件的诊断信息的框架。 tracing 由 Tokio 项目维护,但不需要使用 tokio 运行时。为了记录跟踪事件,可执行文件必须使用与 tracing 兼容的收集器实现。收集器实现一种收集跟踪数据的方法,例如将其记录到标准输出中。 tracing-subscriber 的 fmt 模块提供了一个收集器,用于记录具有合理默认值的跟踪。此外, tracing-subscriber 还能够使用 log 检测库和模块发出的消息。
* [viewflow/viewflow](https://github.com/viewflow/viewflow) Viewflow是一个基于Django的低代码工作流库,它提供可复用的组件,简化了业务应用的开发,包括用户管理、工作流和报表等功能,并支持自定义和与现有系统集成。Viewflow包含轻量级的核心库(Viewflow Core)和功能更全面的商业版本(Viewflow PRO),用户可通过少量代码创建功能完整的应用,并具有现代化的用户界面和内置的CRUD功能。它支持Python3.8+和Django 4.0+,安装方便,并提供快速入门示例,例如创建简单的披萨订单工作流。
* [graphql/graphiql](https://github.com/graphql/graphiql) GraphiQL是一个 GraphQL IDE 的官方项目,包含一个语言服务、LSP 服务器、CLI 服务、CodeMirror 模式和 Monaco 模式,以及一个 GraphiQL实例和扩展示例。它提供了一个图形化的交互式浏览器 GraphQL IDE,支持使用 GraphQL 模式进行查询、突变和订阅,并提供代码补全、语法高亮、错误提示等功能。用户可以尝试在线演示,或使用最新版本构建的 Netlify 演示。GraphiQL 基于React 实现,使用 CodeMirror 和 GraphQL 语言服务,并提供详细的文档。
* [bottlepy/bottle](https://github.com/bottlepy/bottle) Bottle 是一个快速、简单、轻量级的 Python WSGI 微 Web 框架。它作为单个文件模块分发,除了 Python 标准库之外没有其他依赖项。路由:请求函数调用映射,支持干净和动态 URL。模板:快速内置模板引擎,并支持 mako、jinja2 和 cheetah 模板。公用事业:方便地访问表单数据、文件上传、Cookie、标头和其他 HTTP 功能。服务器:内置开发服务器和即用型适配器,适用于各种支持 WSGI 的 HTTP 服务器(例如 gunicorn、paste 或 cheroot)。
* [stephenmcd/mezzanine](https://github.com/stephenmcd/mezzanine) Mezzanine是一个基于Django框架的强大、一致且灵活的内容管理平台,提供简单易扩展的架构,支持多种内容类型管理(页面、博客、表单、产品等),并拥有丰富的功能,例如:WYSIWYG编辑器、拖拽式页面排序、SEO优化、电商模块、多语言支持、社交媒体集成等。它类似于WordPress,但更注重集成性和效率,并拥有活跃的社区和BSD许可证。Mezzanine还提供可配置的仪表盘小部件、自定义模板以及与其他Django应用的无缝集成。
* [karatelabs/karate](https://github.com/karatelabs/karate) Karate是一个开源工具,将 API 测试自动化、模拟、性能测试和 UI 自动化整合到一个统一框架中,语法简洁易懂,即使是非程序员也能轻松上手。它内置断言和 HTML 报告,支持并行测试,并提供跨平台的独立可执行文件,方便团队使用。Karate支持 HTTP、JSON、GraphQL 和 XML,并允许在同一个测试脚本中混合 API 和 UI 测试自动化。此外,它还提供 Java API,方便用户将 Karate 的自动化和数据断言功能集成到自己的程序中。
* [apache/airflow](https://github.com/apache/airflow) 以编程方式编写、调度和监控工作流的平台。当工作流被定义为代码时,它们将变得更加可维护、可版本控制、可测试和协作。使用 Airflow 将工作流创作为任务的有向无环图 (DAG)。Airflow 调度程序在遵循指定依赖项的同时,在一组工作线程上执行任务。丰富的命令行实用程序使在 DAG 上执行复杂的手术变得轻而易举。通过丰富的用户界面,可以轻松可视化生产中运行的管道、监视进度并在需要时解决问题。
* [graphql-rust/juniper](https://github.com/graphql-rust/juniper) GraphQL 是 Facebook 开发的一种数据查询语言,旨在为移动和 Web 应用程序前端提供服务。在 Rust 中编写类型安全且速度极快的 GraphQL 服务器成为可能。我们还尝试使声明和解析 GraphQL 模式在 Rust 允许的范围内尽可能方便。不包括 Web 服务器,而是提供构建块,使与现有服务器的集成变得简单明了。它可以选择为 Actix、Hyper、Rocket 和 Warp 框架提供预构建的集成,包括嵌入式 Graphiql 和 GraphQL Playground,以便于调试。
* [mage-ai/mage-ai](https://github.com/mage-ai/mage-ai) Mage.ai 是一个现代化的 Airflow 替代方案,用于构建、运行和管理数据管道,以整合和转换数据。它提供了一个简单易用的开发体验,支持使用 Python、SQL 和 R 编写代码,并内置了工程最佳实践,例如将每个步骤封装为可重用、可测试的独立文件,避免了 DAG 中出现混乱的代码。Mage.ai 允许您从第三方来源整合和同步数据,构建实时和批处理管道,使用 Python、SQL和 R 转换数据,并运行、监控和编排数千个管道。
* [VulcanJS/Vulcan](https://github.com/VulcanJS/Vulcan) Vulcan是一个基于 React 和 GraphQL 的 Meteor 框架,帮助开发者快速构建应用程序。它提供了一套完整的工具和组件,简化了开发流程,并支持多种功能,例如用户认证、数据管理、路由等。Vulcan 基于 Meteor 的实时特性,可以轻松实现实时数据更新和用户交互。开发者可以使用 Vulcan 创建各种类型的应用程序,例如博客、论坛、社交平台等。此外,Vulcan 还提供了丰富的文档和社区支持,方便开发者学习和使用。
* [TykTechnologies/tyk](https://github.com/TykTechnologies/tyk) Tyk是一个用Go语言编写的开源API网关,支持REST、GraphQL、TCP和gRPC协议。它提供全面的功能,包括速率限制、身份验证、分析收集、微服务模式等,并以“开箱即用”的方式提供,无需额外付费。Tyk是世界上最快的API网关之一,自2014年以来一直处于领先地位。它可以原生运行在Kubernetes上,并提供Kubernetes Operator来简化部署。此外,Tyk还提供企业版API管理平台,包括管理控制面板、仪表盘GUI和开发者门户。
* [broadinstitute/gatk](https://github.com/broadinstitute/gatk) GATK4 是 Genome Analysis Toolkit 的下一代版本,它是一个开源工具集,用于分析基因组数据。该项目整合了 GATK 和 Picard 的工具,并支持在本地集群或云端使用 Apache Spark 进行大规模并行计算。GATK4 包含许多新工具,并提供详细的文档和教程,方便用户快速上手。用户可以通过官网下载预编译的可执行文件,或使用 Docker 镜像来运行 GATK4。该项目还提供详细的开发指南,方便开发者参与贡献。
* [graphql/graphql-playground](https://github.com/graphql/graphql-playground) GraphQLPlayground 是一个用于提升 GraphQL 开发工作流程的 IDE,它支持 GraphQL订阅、交互式文档和协作。它提供上下文感知的自动补全、错误高亮、交互式多列文档、实时 GraphQL 订阅、GraphQL 配置支持、Apollo 追踪支持等功能。需要注意的是,`graphql-playground-html` 和其依赖的四个中间件在 `1.6.22` 版本之前存在 XSS 漏洞,该漏洞仅影响未经消毒的用户输入字符串。该漏洞已在 `1.6.22` 版本中修复。
* [dromara/dynamic-tp](https://github.com/dromara/dynamic-tp) DynamicTp 是一个轻量级动态线程池,内置监控告警功能,可集成三方中间件线程池管理,并基于主流配置中心(支持 Nacos、Apollo、Zookeeper、Consul、Etcd,可通过 SPI 自定义实现)。它可以帮助您解决传统线程池管理的痛点,例如难以动态调整线程池参数、缺乏监控告警机制等。DynamicTp 提供了便捷的配置方式,让您轻松管理线程池,并实时监控线程池运行状态,及时发现问题并采取措施。
* [rememberber/WePush](https://github.com/rememberber/WePush) WePush 是一个专注于批量推送的小而美的工具,支持多种消息类型,包括公众号模板消息、小程序模板消息、微信客服消息、微信企业号/企业微信消息、短信(阿里云、阿里大于、腾讯云、云片网、华为云、百度云、又拍云、七牛云)、邮件、HTTP 请求、钉钉等。WePush 支持 Windows、Linux、macOS 等平台,并提供自定义消息内容、批量推送等功能,方便用户进行高效的通知和信息传递。
* [alvarcarto/url-to-pdf-api](https://github.com/alvarcarto/url-to-pdf-api) 这是一个名为 "URL to PDF Microservice" 的自托管服务,它可以将网页渲染为 PDF 或 PNG 图片。该服务使用 Puppeteer 库,利用无头 Chrome 浏览器进行渲染,并提供易于使用的 API 接口。它支持各种配置选项,例如渲染延迟加载元素、使用默认的 @media print样式等,并提供 Heroku 部署按钮,方便用户快速部署。该项目适用于需要自动生成 PDF 文件的场景,例如生成收据、报表、发票等。
* [trpc/trpc](https://github.com/trpc/trpc) 快速行动,不破坏任何东西。端到端类型安全 API 变得简单。经过充分测试,可投入生产。客户端上的完整静态类型安全和自动完成,用于输入、输出和错误。没有代码生成、运行时膨胀或构建管道。轻量级 - tRPC 具有零 deps 和极小的客户端占用空间。易于添加到您现有的项目中。React.js/Next.js/Express.js/Fastify 适配。订阅支持。请求批处理 - 同时发出的请求可以自动合并为一个。
* [labstack/echo](https://github.com/labstack/echo) 高性能、可扩展、极简的 Go Web 框架。功能:优化的HTTP路由器,智能确定路由优先级、构建强大可扩展的 RESTful API、组 API、可扩展中间件框架、在根组或路由级别定义中间件、JSONXML 和表单有效负载的数据绑定、方便的函数,可发送各种HTTP响应、集中式 HTTP 错误处理、使用任何模板引擎进行模板渲染、定义记录器的格式、高度可定制、通过 Let‘s Encrypt 自动 TLS、HTTP/2 支持
* [apache/tomcat](https://github.com/apache/tomcat) Apache Tomcat是一个开源的 Jakarta Servlet、Jakarta Pages、Jakarta Expression Language 和 Jakarta WebSocket技术的实现,它作为 Jakarta EE 平台的一部分进行开发。Tomcat 被广泛应用于各种行业和组织的众多大型关键任务 Web 应用程序,并提供免费的社区支持,包括邮件列表和 IRC 频道。用户可以通过官方网站获取最新版本下载、文档和安装指南,并通过 CONTRIBUTING.md 文件了解如何参与项目贡献。
* [gitlabhq/gitlabhq](https://github.com/gitlabhq/gitlabhq) GitLab CE 镜像,用于代码协作的开源软件。通过精细的访问控制来管理 Git 存储库,确保代码安全;执行代码审查并通过合并请求增强协作;完整的持续集成 (CI) 和持续部署/交付 (CD) 管道,用于构建、测试和部署应用程序;每个项目还可以有一个问题跟踪器、问题板和一个 Wiki;被超过 100,000 个组织使用,是管理本地 Git 存储库的最流行的解决方案;完全免费和开源
* [Mantle/Mantle](https://github.com/Mantle/Mantle) Mantle是一个用于 Cocoa 和 Cocoa Touch 应用的模型框架,它简化了模型层的编写。Mantle 通过提供一个简单的 API 来处理数据映射、属性验证和编码,使你能够轻松地将 JSON 或其他数据格式转换为模型对象。Mantle 采用一种基于键值编码的机制,通过将字典中的键映射到模型对象的属性,实现数据到模型对象的转换。此外,Mantle 还支持属性验证,确保模型对象的数据完整性。
* [baomidou/mybatis-plus](https://github.com/baomidou/mybatis-plus) MyBatis-Plus是一个 MyBatis 的增强工具包,旨在简化开发。它提供了一些高效、实用、开箱即用的 MyBatis 功能,可以有效地节省开发时间。MyBatis-Plus 与 MyBatis 完全兼容,并提供自动配置、数据库操作接口、灵活的条件包装器、多种主键生成策略、Lambda 风格 API、强大的代码生成器、自动分页功能、SQL 注入防御、Active Record 支持、可插拔自定义接口以及内置的扩展功能。
* [log4js-node/log4js-node](https://github.com/log4js-node/log4js-node) log4js-node是log4js的Node.js版本,提供彩色控制台日志、文件追加器(支持基于文件大小或日期的日志轮转)、Connect/Express服务器日志器以及可配置的日志布局和级别等功能;它还支持SMTP、GELF、Loggly、Logstash、logFaces、RabbitMQ、Redis、Hipchat、Slack、mailgun和InfluxDB等多种可选追加器,方便用户灵活配置日志输出;通过npm install log4js即可安装,并提供详细文档和迁移指南。
* [graphql-go/graphql](https://github.com/graphql-go/graphql) graphql-go/graphql 是一个 Go 语言实现的 GraphQL 库,遵循官方参考实现 `graphql-js`。它支持查询、变异和订阅,并提供完整的文档和示例。可以通过 `go get github.com/graphql-go/graphql` 安装该库,并使用提供的示例代码快速开始使用。该项目还包含一些第三方库,例如 `graphql-go-handler` 用于处理 HTTP 请求中的 GraphQL 查询,`graphql-relay-go` 用于构建支持 React Relay 的 GraphQL 服务器。
* [vectordotdev/vector](https://github.com/vectordotdev/vector) 高性能的端到端(代理和聚合器)可观测性数据管道,可让您控制可观测性数据。收集、转换所有日志和指标,并将其路由到您今天想要的任何供应商以及您明天可能想要的任何其他供应商。Vector 可在您需要的地方实现大幅降低成本、新颖的数据丰富和数据安全性,而不是您的供应商最方便的地方。此外,它是开源的,比该领域的所有替代方案快 10 倍。
* [Suor/django-cacheops](https://github.com/Suor/django-cacheops) django-cacheops是一个高效的ORM缓存应用,支持自动或手动查询集缓存以及基于事件的细粒度自动失效。它使用Redis作为ORM缓存的后端,并支持使用Redis或文件系统进行简单的基于时间的缓存失效。该项目还提供装饰器缓存用户函数或视图、Django和Jinja2模板扩展、事务支持、防止缓存雪崩机制以及一些Django性能优化技巧。 需要Python 3.7+,Django3.2+和Redis 4.0+。
* [emmett-framework/granian](https://github.com/emmett-framework/granian) 用于 Python 应用程序的 Rust HTTP 服务器。Granian设计背后的主要原因是:有一个单一的、正确的 HTTP 实现,支持版本 1、2(最终是 3),为多个平台提供单一软件包,避免 unix 系统上常见的 Gunicorn + uvicorn + http-tools 依赖组合,与现有替代品相比,提供稳定的性能。特征:支持 ASGI/3、RSGI 和 WSGI 接口应用,实现 HTTP/1 和 HTTP/2 协议,支持 HTTPS,支持 Websockets。
* [MoienTajik/AspNetCore-Developer-Roadmap](https://github.com/MoienTajik/AspNetCore-Developer-Roadmap) 该项目提供了一份2024年成为ASP.NET Core开发人员的路线图,涵盖了从基础知识到高级技术的学习路径,包括Git、HTTP协议、C#、SQL、ASP.NET Core基础、MVC、Minimal APIs、REST API、中间件、过滤器等,并提供了一些学习资源和工具推荐,例如Pluralsight、GitHub、ChatGPT等,帮助开发者了解学习方向,并提供了一些学习资源和工具推荐,帮助开发者了解学习方向。
* [koajs/koa](https://github.com/koajs/koa) 富有表现力的 HTTP 中间件框架,用于node.js使 Web 应用程序和 API 编写起来更愉快。Koa 的中间件堆栈以类似堆栈的方式流动,允许您在下游执行操作,然后过滤和操作上游的响应。只有几乎所有 HTTP 服务器通用的方法才会直接集成到 Koa 的小型 ~570 SLOC 代码库中。这包括内容协商、节点不一致的规范化、重定向等。Koa 没有与任何中间件捆绑在一起。
* [wemake-services/wemake-django-template](https://github.com/wemake-services/wemake-django-template) wemake-django-template是一个先进的Django 4.2项目模板,专注于代码质量和安全性。它使用Cookiecutter生成项目,集成了poetry依赖管理、mypy类型检查、pytest单元测试、flake8和wemake-python-styleguide代码风格检查、docker容器化、sphinx文档生成以及Gitlab CI/CD流水线等工具,并默认启用Caddy服务器和HTTPS。该模板旨在简化Django项目搭建,并确保项目遵循最佳实践。
* [remy/nodemon](https://github.com/remy/nodemon) 监视 node.js 应用程序中的任何更改并自动重新启动服务器 - 非常适合开发。特征:自动重新启动应用程序。检测要监视的默认文件扩展名。默认支持节点,但易于运行任何可执行文件,例如 python、ruby、make 等。忽略特定文件或目录。监视特定目录。与服务器应用程序或一次性运行实用程序和 REPL 配合使用。可通过 node require 语句编写脚本。
* [graphql-python/graphene-django](https://github.com/graphql-python/graphene-django) Graphene-Django是一个开源库,它无缝地整合了Django和Graphene,方便开发者快速高效地构建基于Django的GraphQL API。它支持Django模型的无缝集成、自动生成GraphQL schema、Django认证和权限系统集成以及Django分页系统,并提供完善的文档和社区支持,方便测试和扩展。通过简单的配置和代码编写,即可在Django项目中轻松创建和使用GraphQL API。
* [fkromer/best-of-django](https://github.com/fkromer/best-of-django) 这是一个精选的 Django 相关 Python 包列表,包含 230 个开源项目,总共 510K 星,分为 59 个类别。所有项目都根据项目质量评分进行排名,该评分是根据从 GitHub 和不同的包管理器自动收集的各种指标计算得出的。该项目每周更新,欢迎贡献者添加或更新项目,你可以通过提交 issue、pull request 或者直接编辑 projects.yaml 文件来参与。
* [vintasoftware/django-react-boilerplate](https://github.com/vintasoftware/django-react-boilerplate) 这是一个基于Django 5和React的项目模板,集成了TypeScript、Webpack、Bootstrap 5等众多现代化工具,用于快速构建前后端分离的Web应用。它利用Django构建后端REST API,React构建交互式前端UI,并通过Webpack打包静态资源。项目预设了Celery用于后台任务处理,以及PostgreSQL和Redis数据库,并包含方便部署到Render.com的配置,显著提升开发效率。
* [mxsm/rocketmq-rust](https://github.com/mxsm/rocketmq-rust) RocketMQ-Rust是 Apache RocketMQ 消息中间件的 Rust 语言实现,旨在为 Rust 开发者提供高性能、可靠的消息队列服务。它利用 Rust 语言的优势,如内存安全、零成本抽象和高并发性能,并采用异步非阻塞设计,支持高并发消息处理。RocketMQ-Rust 兼容Rust 生态系统,与其他库和框架集成良好,并支持跨平台运行,包括 Linux、Windows 和 macOS。
* [vercel/ncc](https://github.com/vercel/ncc) ncc是一个命令行工具,能将Node.js项目及其所有依赖打包成单个文件,支持TypeScript、二进制插件和动态require。它旨在简化npm包发布、服务器端部署,并提升启动速度和性能,无需复杂的打包器配置。ncc支持多种命令和选项,包括构建、运行、缓存管理以及代码压缩、源映射生成等功能,并提供对TypeScript和各种npm包的支持。
* [amplication/amplication](https://github.com/amplication/amplication) 开源后端开发平台。构建生产就绪型服务,无需在重复编码上浪费时间。强大的开源开发平台,旨在彻底改变可扩展且安全的 .NET 和 Node.js 应用程序的创建。Amplication 是唯一一个在几分钟内将想法转化为生产就绪代码的 AI 平台。我们通过可扩展的代码实现后端应用程序开发自动化,确保一致性、可预测性并遵守最高标准
* [zostera/django-bootstrap3](https://github.com/zostera/django-bootstrap3) django-bootstrap3是一个Django项目,用于无缝集成Bootstrap 3框架。它简化了在Django项目中使用Bootstrap 3的过程,只需安装、添加到INSTALLED_APPS并加载bootstrap3模板库即可使用其提供的模板标签(如bootstrap_form)方便地渲染表单等Bootstrap组件。该项目提供详细文档和示例应用,并支持Python和Django的常用版本,遵循BSD-3-Clause许可证。
* [dfunckt/django-rules](https://github.com/dfunckt/django-rules) django-rules是一个轻量级但功能强大的Django授权应用,无需数据库即可实现对象级权限控制,其核心是一个类似决策树的通用规则系统框架,也可独立用在其他环境。它文档齐全、经过测试、可靠易用,支持多种类型的可调用对象构建复杂的谓词图,并能高效地与Django视图、模板和Admin无缝集成,实现对象级权限管理。
* [curl/curl-cheat-sheet](https://github.com/curl/curl-cheat-sheet) 该项目是一个单页文档,包含了 HTTP 协议中最重要的 curl 命令选项的解释,方便用户快速查找和使用 curl 命令。文档以表格形式呈现,涵盖了常见操作,如设置输出、超时、请求方法、认证、代理、Cookie 操作、压缩、重定向等,并提供了相应的 curl 命令选项。用户可以根据需要选择合适的选项,快速完成 HTTP 请求。
* [wireapp/wire-server](https://github.com/wireapp/wire-server) Wire后端服务,含以下源代码:公共 API 反向代理(带有自定义 libzauth 模块的 Nginx),对话和团队、帐户、推送通知中心、WebSocket 推送通知、资产(图像、文件等)存储、第三方 API 集成,用于音频/视频通话的 STUN/TURN 服务器,单点登录 (SSO),迁移工具(例如,添加新表时),后台工具(基于 Swagger 的基本界面)
* [jaredhanson/passport](https://github.com/jaredhanson/passport) Passport 的唯一目的是对请求进行身份验证,它通过一组可扩展的插件(称为策略)来完成。Passport 不挂载路由或采用任何特定的数据库架构,这最大限度地提高了灵活性,并允许开发人员做出应用程序级决策。API 很简单:您向 Passport 提供身份验证请求,Passport 提供钩子来控制身份验证成功或失败时发生的情况。
* [fkromer/best-of-fastapi](https://github.com/fkromer/best-of-fastapi) "best-of-fastapi" 是一个自动评分的 Python 包列表,用于FastAPI 项目,每周更新。它包含 39 个优秀的开源项目,总共 87K 个星标,分为 11 个类别。每个项目根据从 GitHub 和不同包管理器自动收集的各种指标计算出的项目质量得分进行排名。您可以通过提交问题、拉取请求或直接编辑项目文件来添加或更新项目。
* [dynaconf/dynaconf](https://github.com/dynaconf/dynaconf) Dynaconf是Python的配置管理工具,遵循12-factor app原则,支持多种文件格式(toml, yaml, json, ini, py)及环境变量优先级覆盖,内置对Django和Flask的支持,并提供命令行工具用于初始化、验证和管理配置,还支持HashicorpVault和Redis作为配置和密钥存储。它能够安全地管理默认值、校验、解析和模板化设置,保护敏感信息。
* [vitalik/django-ninja](https://github.com/vitalik/django-ninja) DjangoNinja是一个快速、异步就绪的Django框架,用于基于Python类型提示构建API。它易于使用,性能高,得益于Pydantic和异步支持;通过类型提示和自动文档生成,加快开发速度;遵循OpenAPI和JSON Schema标准,并与Django核心和ORM良好集成。 项目提供交互式API文档,安装方便,只需`pip install django-ninja`即可开始使用。
* [FastEndpoints/FastEndpoints](https://github.com/FastEndpoints/FastEndpoints) FastEndpoints是一个轻量级的 ASP.NET 6 及更高版本 REST API 开发框架,它提供了一种简单易用的方式来创建 REST API,并比 Minimal APIs和 MVC 控制器更快、更节省内存,在基准测试中每秒可处理 35,000 多个请求。FastEndpoints鼓励使用 REPR 设计模式(请求-端点-响应)来创建可维护的端点,并提供丰富的文档和社区支持。
* [timonweb/django-tailwind](https://github.com/timonweb/django-tailwind) django-tailwind项目简化了在Django项目中使用Tailwind CSS的过程,提供热重载功能以避免手动刷新页面,支持CSS导入、Sass变量和嵌套,包含官方Tailwind CSS插件,兼容Tailwind CSS v3.x及Django 3.2+版本,安装方便,可通过pip安装,推荐使用`[reload]`扩展以启用自动页面重载。完整文档请访问https://django-tailwind.readthedocs.io/。
* [milesmcc/shynet](https://github.com/milesmcc/shynet) Shynet是一个现代化、注重隐私且无需Cookie或JavaScript的详细网站分析工具。它自行托管,数据完全属于用户所有,避免了第三方数据泄露和烦人的Cookie通知。Shynet使用轻量级的跟踪脚本,即使JavaScript不可用也能正常工作,并提供访问量、会话数和页面加载时间等多种指标,支持单机部署或扩展至大型集群。
* [YMFE/yapi](https://github.com/YMFE/yapi) YApi 是一个可本地部署的、功能强大、易于使用的 API 管理平台,旨在为开发、产品、测试人员提供高效的接口管理服务。它基于 Json5和 Mockjs 定义接口返回值结构和文档,支持可视化界面设计、自动测试、MockServer 模拟数据、导入导出 Postman、har、Swagger 数据等功能,帮助团队更高效地协作开发和测试 API。
* [apereo/cas](https://github.com/apereo/cas) 面向所有地球人及其他地区的身份和单点登录。面向 Web 的企业多语言单点登录解决方案,旨在成为满足身份验证和授权需求的综合平台。CAS 是一种开放且有据可查的身份验证协议。该协议的主要实现是此处托管的同名开源 Java 服务器组件,支持大量其他身份验证协议和功能,例如 SAML2、OpenID Connect 等。
* [django-guardian/django-guardian](https://github.com/django-guardian/django-guardian) django-guardian是Django框架的权限管理扩展,实现基于对象的细粒度权限控制。它通过在Django的授权后端之上构建,允许对每个对象分别设置权限,例如,用户A可以修改对象X,但不能修改对象Y。安装简单,只需使用pip安装并进行简单的配置即可,支持Django 3.2+版本,并与Django admin集成,方便管理对象权限。
* [sindresorhus/ky](https://github.com/sindresorhus/ky) Ky是一个基于 Fetch API 的轻量级、优雅的 JavaScript HTTP 客户端,它针对现代浏览器、Node.js、Bun 和 Deno。Ky提供了比原生 fetch 更简洁的 API,包括方法快捷方式(如 ky.post())、将非 2xx 状态码视为错误、重试失败请求、JSON 选项、超时支持、URL 前缀选项、自定义默认值的实例、钩子和 TypeScript 友好性等功能。
* [joke2k/django-environ](https://github.com/joke2k/django-environ) django-environ是一个Python包,它允许你使用12-factor方法,通过环境变量来配置Django应用。它简化了从环境文件和操作系统获取环境变量并将其转换为Django设置的过程,支持多种数据库和缓存配置,例如通过解析数据库URL字符串(例如psql://user:[email protected]:8458/db)来配置数据库连接。该项目遵循MIT许可证。
* [evansd/whitenoise](https://github.com/evansd/whitenoise) WhiteNoise是一个极简的Python Web应用静态文件服务库,只需少量配置即可让你的应用自行服务静态文件,无需依赖nginx、Amazon S3等外部服务,特别适用于Heroku和OpenShift等PaaS平台。它支持CDN以提升高流量网站性能,并自动处理gzip/Brotli压缩、缓存头设置等最佳实践,兼容任何WSGI应用,对Django有特殊优化。
* [arialdomartini/Back-End-Developer-Interview-Questions](https://github.com/arialdomartini/Back-End-Developer-Interview-Questions) 该项目是一个后端开发面试问题列表,旨在帮助面试官启发面试问题,测试候选人或作为参考。项目特点是包含了设计模式、代码设计、语言等多个方面的面试问题,并鼓励面试官与候选人进行深入的讨论,而非简单地寻求正确答案。项目灵感来源于前端开发面试问题列表,并提供中文翻译版本。
* [django-commons/django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) DjangoDebug Toolbar是一个可配置的调试工具栏,显示关于当前请求/响应的各种调试信息,点击面板可查看更多细节;它包含内置面板和众多社区贡献的第三方面板;当前稳定版本为5.0.0-alpha,支持Django 4.2.0及以上版本,但不支持Django异步视图;文档和安装指南请访问https://django-debug-toolbar.readthedocs.io/。
* [mjhea0/awesome-fastapi](https://github.com/mjhea0/awesome-fastapi) 这是一个关于 FastAPI的精选资源列表,FastAPI 是一个现代、高性能、包含电池的 PythonWeb 框架,非常适合构建 RESTful API。该项目包含第三方扩展、资源、托管方案、项目示例等内容,涵盖了从数据库集成、身份验证到管理面板、开发工具等多个方面,旨在帮助开发者更轻松地使用 FastAPI 进行开发。
* [fastapi-users/fastapi-users](https://github.com/fastapi-users/fastapi-users) FastAPI Users是一个为FastAPI项目提供可定制用户管理的库,它包含开箱即用的注册、登录、密码重置和邮箱验证路由,支持多种数据库后端(包括SQLAlchemy和MongoDB),并提供多种身份验证策略(JWT、数据库、Redis)和传输方式(Authorization header、Cookie),方便开发者快速构建安全可靠的用户系统。
* [zostera/django-bootstrap4](https://github.com/zostera/django-bootstrap4) django-bootstrap4项目无缝整合Django和Bootstrap 4框架,方便开发者在Django项目中使用Bootstrap 4。通过pip安装后,只需在settings.py中添加"bootstrap4"到INSTALLED_APPS,并在模板中加载bootstrap4库和使用bootstrap_*标签即可轻松使用Bootstrap 4组件,项目提供详细文档和示例应用,遵循BSD-3-Clause许可证。
* [KunMinX/Jetpack-MVVM-Best-Practice](https://github.com/KunMinX/Jetpack-MVVM-Best-Practice) KunMinX/Jetpack-MVVM-Best-Practice 是一个 Jetpack MVVM 最佳实践项目,它以简洁的代码展示了对视图控制器和标准化开发模式的深入理解。该项目旨在帮助开发者更好地理解和应用 Google 开源的 Jetpack MVVM 架构,并提供高品质的应用示例。项目包含详细的文档和示例代码,方便开发者学习和实践。
* [swagger-api/swagger-ui](https://github.com/swagger-api/swagger-ui) HTML、JavaScript 和 CSS 资产的集合,可从符合 Swagger 的 API 动态生成精美的文档。允许任何人(无论是您的开发团队还是最终消费者)可视化 API 的资源并与之交互,而无需任何实现逻辑。它是根据 OpenAPI(以前称为 Swagger)规范自动生成的,带有可视化文档,便于后端实现和客户端使用。
* [Kong/kong](https://github.com/Kong/kong) 一种云原生、与平台无关、可扩展的 API 网关,以其高性能和通过插件的可扩展性而著称。通过提供代理、路由、负载均衡、运行状况检查、身份验证等功能,Kong 充当了轻松编排微服务或传统 API 流量的中心层。Kong在Kubernetes上本地运行,这要归功于其官方的Kubernetes Ingress Controller。
* [imsyy/DailyHotApi](https://github.com/imsyy/DailyHotApi) 今日热榜 API是一个聚合热门数据的 API 接口,支持 RSS 模式和 JSON 模式,并提供 Vercel 部署方案。该项目特点包括快速响应、支持多种部署方式、简洁的路由设计,方便用户扩展。该项目提供多种热门数据源,例如哔哩哔哩、AcFun、微博、知乎、百度等,用户可根据需要选择使用。
* [zostera/django-bootstrap5](https://github.com/zostera/django-bootstrap5) django-bootstrap5是一个用于Django框架的Bootstrap 5集成项目,旨在无缝融合Django和Bootstrap 5,已准备好投入生产环境。它通过pip安装,并在Django的`INSTALLED_APPS`中注册,然后在模板中使用`bootstrap_*`标签即可轻松使用Bootstrap 5组件,项目提供详细文档和示例应用,并遵循BSD-3-Clause许可证。
* [encode/django-rest-framework](https://github.com/encode/django-rest-framework) 适用于 Django 的 Web API。Web 可浏览 API 对您的开发人员来说是一个巨大的可用性胜利。身份验证策略,包括 OAuth1a 和 OAuth2 的可选包。支持 ORM 和非 ORM 数据源的序列化。可一直自定义 - 如果您不需要更强大的功能,只需使用基于功能的常规视图。广泛的文档和强大的社区支持。
* [django-extensions/django-extensions](https://github.com/django-extensions/django-extensions) DjangoExtensions是一个Django框架的扩展集合,提供许多自定义管理命令,例如生成应用模型图、显示URL模式、检查模板错误等。它需要Django3.2或更高版本,可以通过pip安装。安装后,将其添加到项目`settings.py`文件的`INSTALLED_APPS`中即可使用其提供的命令行工具增强Django开发效率。
* [99designs/gqlgen](https://github.com/99designs/gqlgen) gqlgen是一个基于 go generate 的 GraphQL 服务器库,它采用 Schema First 的方法,使用 GraphQL Schema Definition Language 定义 API,并优先考虑类型安全,通过代码生成来简化开发流程。gqlgen 提供了丰富的功能,包括自定义模型、显式解析器等,帮助开发者构建高效、安全的 GraphQL 服务器。
* [facebook/hhvm](https://github.com/facebook/hhvm) 用于执行用Hack编写的程序的虚拟机。一个开源虚拟机,设计用于执行用Hack编写的程序。HHVM 使用实时 (JIT) 编译方法来实现卓越的性能,同时保持惊人的开发灵活性。HHVM应该与内置的Web服务器一起使用,易于部署的Proxygen,或者在nginx或Apache之上基于FastCGI的网络服务器。
* [geektutu/7days-golang](https://github.com/geektutu/7days-golang) 该项目包含7天用Go从零实现系列程序,涵盖了Web框架Gee、分布式缓存GeeCache、对象关系映射ORM框架GeeORM、RPC框架GeeRPC等。每个项目都附带详细的教程和代码示例,帮助开发者快速学习和实践Go语言。项目特色在于从零开始实现,便于理解底层原理,并提供完整代码供参考。
* [jazzband/djangorestframework-simplejwt](https://github.com/jazzband/djangorestframework-simplejwt) djangorestframework-simplejwt是Django REST Framework的一个JSON Web Token认证插件,它简化了JWT认证流程,方便开发者在Django项目中实现安全的基于token的认证。该插件提供了完整的文档和多种语言支持,并支持多种Python版本和Django版本。通过简单的配置即可快速集成到你的项目中。
* [git/git](https://github.com/git/git) 快速、可扩展的分布式版本控制系统,具有异常丰富的命令集,既提供高级操作,又提供对内部的完全访问。受 GNU 通用公共许可证版本 2 的保护(它的某些部分采用不同的许可证,与 GPLv2 兼容)。它最初是由 Linus Torvalds 在网络上的一群黑客的帮助下编写的。
* [denoland/fresh](https://github.com/denoland/fresh) 下一代 Web 框架,专为速度、可靠性和简单性而构建。一些突出的特点:边缘实时渲染。在客户端上无缝渲染某些组件,以实现最大的交互性。零运行时开销:默认情况下不向客户端发送 JS。没有构建步骤。无需配置。TypeScript 支持。文件系统路由 à la Next.js。
* [saltstack/salt](https://github.com/saltstack/salt) 大规模自动管理和配置任何基础架构或应用程序的软件。基于 Python 构建,是一种事件驱动的自动化工具和框架,用于部署、配置和管理复杂的 IT 系统。使用 Salt 自动执行常见的基础架构管理任务,并确保基础架构的所有组件都以一致的所需状态运行。
* [strawberry-graphql/strawberry](https://github.com/strawberry-graphql/strawberry) Strawberry是一个基于Python的GraphQL库,利用类型注解简化GraphQL schema的定义。它基于dataclass,提供简洁易用的API,支持类型检查(通过mypy插件)和与Django、WebSocket的集成,方便快速构建GraphQL服务器。 项目提供debug server和CLI工具,并有丰富的示例和文档。
* [sapegin/jest-cheat-sheet](https://github.com/sapegin/jest-cheat-sheet) Jest cheat sheet是一个 Jest 测试框架的速查表,提供各种匹配器、异步测试、模拟、数据驱动测试、跳过测试等功能的示例代码和说明。它还包含了使用 Babel 和 TypeScript 的指南以及其他资源链接。该项目的目标是帮助开发者快速学习和使用 Jest 进行测试。
* [traefik/traefik](https://github.com/traefik/traefik) 一种现代 HTTP 反向代理和负载均衡器,可轻松部署微服务。Traefik 与您现有的基础设施组件(Docker、Swarm 模式、Kubernetes、Consul、Etcd、Rancher v2、Amazon ECS 等)集成,并自动动态地进行配置。将 Traefik 指向业务流程协调程序应该是您唯一需要的配置步骤。
* [remix-run/remix](https://github.com/remix-run/remix) 建立更好的网站。使用 Web 基础创建现代、有弹性的用户体验。全栈 Web 框架,可让您专注于用户界面并通过 Web 基础知识进行工作,以提供快速、流畅且有弹性的用户体验,可部署到任何 Node.js 服务器甚至非 Node.js 环境像 Cloudflare Workers 一样的边缘。
* [zappa/Zappa](https://github.com/zappa/Zappa) 在 AWS Lambda + API Gateway 上轻松构建和部署无服务器、事件驱动的 Python 应用程序(包括但不限于 WSGI Web 应用程序)。将其视为 Python 应用程序的“无服务器”Web 托管。这意味着无限扩展、零停机时间、零维护 - 而且成本只是您当前部署的一小部分
* [django-oscar/django-oscar](https://github.com/django-oscar/django-oscar) django-oscar是一个基于Django的领域驱动型电商框架,可高度定制以满足各种电商需求,从大型B2C到复杂的B2B网站。其核心功能可灵活调整,拥有完善的文档和活跃的社区支持,并提供Docker镜像方便部署。目前支持3.2 LTS (支持到2026年1月) 和3.1 版本。
* [simov/grant](https://github.com/simov/grant) Grant是一个支持 200 多个提供商的 OAuth 代理库,它提供了一个统一的 API 来处理 OAuth 授权流程,简化了应用程序与不同服务之间的集成。Grant 支持多种授权流程,包括授权码流、隐式流和密码流,并提供了一个 OAuth Playground 用于测试和调试。
* [dbader/schedule](https://github.com/dbader/schedule) 人类的 Python 作业调度。使用友好的语法定期运行 Python 函数(或任何其他可调用函数)。简单易用的 API,用于调度作业,专为人类设计。用于定期作业的进程内调度程序。无需额外的流程,非常轻量级,没有外部依赖。出色的测试覆盖率。
* [etianen/django-reversion](https://github.com/etianen/django-reversion) django-reversion是Django框架的一个扩展,它为模型实例提供版本控制功能,允许回滚到模型实例历史中的任何点,恢复已删除的模型实例,并提供简单的admin集成。它支持Python 3.8+和Django 4.2+。该项目由Dave Hall开发,并由许多其他贡献者参与。
* [pulumi/pulumi](https://github.com/pulumi/pulumi) 只需用您喜欢的语言编写代码,Pulumi 就会使用基础设施即代码方法在 AWS、Azure、Google Cloud Platform、Kubernetes 和 120+ 提供商上自动预置和管理您的资源。跳过 YAML,使用你已经熟悉和喜爱的标准语言功能,如循环、函数、类和包管理。
* [jschneier/django-storages](https://github.com/jschneier/django-storages) django-storages是一个Django项目,提供多种存储后端,方便用户在单个库中管理文件存储。它兼容多个Django版本,支持通过pip安装,并提供详细文档和GitHub issue追踪。该项目由Tidelift部分支持,安全漏洞应通过Tidelift安全联系方式报告。
* [apache/apisix](https://github.com/apache/apisix) 动态、实时、高性能的 API 网关。提供了丰富的流量管理功能,如负载均衡、动态上游、灰度释放、熔断、认证、可观测性等。使用 APISIX API Gateway 来处理传统的南北向流量,以及服务之间的东西向流量。也可用作 k8s 入口控制器。
* [inventree/InvenTree](https://github.com/inventree/InvenTree) InvenTree是一个开源的库存管理系统,提供强大的底层库存控制和零件追踪功能。它基于Python/Django数据库后端,具有Web管理界面和REST API,并支持强大的插件系统以扩展功能。可访问演示站点和文档,并支持错误报告和功能请求。
* [python-social-auth/social-app-django](https://github.com/python-social-auth/social-app-django) 这是一个Django应用,是Python Social Auth生态系统的一部分,它简化了Django项目中多种社交平台的认证和注册流程。该项目支持最新的Django版本,文档齐全,可通过pip安装,并遵循BSD许可证。开发者可通过PayPal捐赠支持项目维护。
* [shuup/shuup](https://github.com/shuup/shuup) Shuup是一个基于Django和Python的开源电子商务平台,提供完整的电商功能。它使用Docker简化部署,并提供详细的文档和开发指南。贡献者需签署CLA协议,项目采用OSL-3.0开源许可证。目前正计划升级到Django 3.x及更新主题系统。
* [LukeMathWalker/zero-to-production](https://github.com/LukeMathWalker/zero-to-production) Zero To Production In Rust 是对使用 Rust 进行后端开发的自以为是的介绍。从零到生产是您作为 Rust 后端开发人员的理想起点。您将边做边学:您将从头开始构建一个功能齐全的电子邮件通讯 API。本书由 11 章组成,共 ~600 页。
* [jazzband/django-simple-history](https://github.com/jazzband/django-simple-history) django-simple-history是一个Django应用,用于记录模型的每次创建、更新和删除操作的历史记录,并允许通过管理界面查看和恢复更改,支持Django 4.2和5.0以及多个Python版本,文档详见https://django-simple-history.readthedocs.io/en/stable/。
* [jazzband/django-oauth-toolkit](https://github.com/jazzband/django-oauth-toolkit) DjangoOAuth Toolkit是一个Django项目,用于轻松地在Django应用中添加OAuth2认证和授权服务器功能,它基于OAuthLib库并遵循RFC标准,支持Python 3.8+和Django 4.2、5.0或5.1版本,可通过pip安装,并提供完整的文档和多种途径参与贡献。
* [temporalio/temporal](https://github.com/temporalio/temporal) 一个持久的执行平台,使开发人员能够在不牺牲生产力或可靠性的情况下构建可扩展的应用程序。临时服务器以弹性方式执行称为工作流的应用程序逻辑单元,该逻辑单元可自动处理间歇性故障,并重试失败的操作。
* [nhost/nhost](https://github.com/nhost/nhost) 使用 GraphQL 的开源 Firebase 替代方案。Nhost 由开源软件组成:数据库:PostgreSQL,Instant GraphQL API:Hasura,身份验证:Hasura Auth,存储:Hasura Storage,无服务器函数:Node.js(JavaScript 和 TypeScript),用于本地开发的 Nhost CLI
* [tiimgreen/github-cheat-sheet](https://github.com/tiimgreen/github-cheat-sheet) Git 和 GitHub 的很酷的隐藏和不那么隐藏的功能的集合。此备忘单的灵感来自于 Zach Holman 在 2012 年 Aloha Ruby 大会上的 Git 和 GitHub Secrets 演讲(幻灯片)以及他在 WDCNZ 2013 上的更多 Git 和 GitHub Secrets 演讲(幻灯片)。
* [ring-clojure/ring](https://github.com/ring-clojure/ring) 受 Python 的 WSGI 和 Ruby 的 Rack 启发的 Clojure Web 应用程序库。通过将 HTTP 的细节抽象为简单、统一的 API,Ring 允许 Web 应用程序由模块化组件构建,这些组件可以在各种应用程序、Web 服务器和 Web 框架之间共享。
* [django/channels](https://github.com/django/channels) 通道增强了 Django,将 WebSocket、长轮询 HTTP、任务卸载和其他异步支持引入到你的代码中,使用熟悉的 Django 设计模式和灵活的底层框架,让你不仅可以自定义行为,还可以为你自己的协议和需求编写支持。
* [openfaas/faas](https://github.com/openfaas/faas) 使开发人员可以轻松地将事件驱动的函数和微服务部署到 Kubernetes,而无需重复的样板编码。将代码或现有二进制文件打包在与 OCI 兼容的映像中,以获得具有自动缩放和指标的高度可扩展的终结点。
* [feathersjs/feathers](https://github.com/feathersjs/feathers) 全栈框架,用于使用 TypeScript 或 JavaScript 创建 Web API 和实时应用程序。可以与任何后端技术交互,支持许多开箱即用的数据库,并适用于任何前端,如 React、VueJS、Angular、React Native、Android 或 iOS。
* [arwes/arwes](https://github.com/arwes/arwes) Web 框架,用于基于未来科幻小说设计、动画和音效构建用户界面。背后的概念受到Cyberprep和Synthwave以及《星际公民》、《光环》和《创:遗产》等作品的影响。它试图激发先进的科学和技术。
* [Tencent/matrix](https://github.com/Tencent/matrix) 微信开发的一款插件式、非侵入式 APM 系统。微信中用于监控、定位和分析性能问题的 APM(应用程序性能管理)。它是一种插件风格的非侵入性解决方案,目前可在 iOS、macOS 和 Android 上使用。
* [hashicorp/terraform](https://github.com/hashicorp/terraform) 使你能够安全且可预测地创建、更改和改进基础结构。它是一种源代码可用的工具,可将 API 编码为声明性配置文件,这些文件可以在团队成员之间共享、视为代码、编辑、审查和版本控制。
* [Tencent/mars](https://github.com/Tencent/mars) 微信开发的跨平台网络组件。跨平台,如果您正在开发多平台或多业务应用程序,则易于部署。适用于小容量数据传输。移动平台友好,低功耗和流量消耗。适合移动应用的网络解决方案。
* [gaia-pipeline/gaia](https://github.com/gaia-pipeline/gaia) 使用任何编程语言构建强大的管道。一个开源自动化平台,它可以轻松有趣地使用任何编程语言构建强大的管道。基于HashiCorp的go-plugin和gRPC,gaia是高效,快速,轻量级和开发人员友好的。
* [go-micro/go-micro](https://github.com/go-micro/go-micro) Go Micro 提供了分布式系统开发的核心需求,包括 RPC 和事件驱动通信。Go Micro 的理念是理智的默认,采用可插拔架构。我们提供默认值以帮助您快速入门,但所有内容都可以轻松更换。
* [ory/hydra](https://github.com/ory/hydra) OpenID 认证的 OpenID Connect 和 OAuth 提供程序,用 Go 编写 - 为您的基础架构提供云原生、安全优先的™开源 API 安全性。适用于任何语言的 SDK。与硬件安全模块配合使用。与 MITREid 兼容。
* [saleor/saleor](https://github.com/saleor/saleor) 高性能、可组合、无头商务 API。现代堆栈上以客户为中心的电子商务。无头的 GraphQL 商务平台,提供超快速、动态、个性化的购物体验。漂亮的在线商店,随时随地,在任何设备上。
* [fuzhengwei/itstack-demo-design](https://github.com/fuzhengwei/itstack-demo-design) 《重学Java设计模式》是一本互联网真实案例实践书籍。以落地解决方案为核心,从实际业务中抽离出,交易、营销、秒杀、中间件、源码等22个真实场景,来学习设计模式的运用。
* [42wim/matterbridge](https://github.com/42wim/matterbridge) 一个简单的聊天桥 ,Mattermost,IRC,gitter,xmpp,Slack,Discord,Telegram,rocketchat,twitch,ssh-chat,zulip,WhatsApp,Keybase,matrix,Microsoft Teams,Nextcloud,Mumble,vk等与REST API之间的桥梁
* [matrix-org/synapse](https://github.com/matrix-org/synapse) 由 Matrix.org Foundation 编写和维护的开源 Matrix 家庭服务器。Synapse 和 Matrix 协议本身的开发今天仍在继续。简而言之,Matrix 是互联网通信的开放标准,支持联盟、加密和 VoIP。
* [nocobase/nocobase](https://github.com/nocobase/nocobase) NocoBase 是一个极易扩展的开源无代码开发平台。 不必投入几年时间、数百万资金研发,花几分钟时间部署 NocoBase,马上拥有一个私有、可控、极易扩展的无代码开发平台。
* [teambit/bit](https://github.com/teambit/bit) 用于开发可组合软件的构建系统。它使来自独立版本控制组件的应用程序组合无缝且快速。将源代码分发到独立版本控制的组件中带来了简单性,这些组件相互依赖。
* [logto-io/logto](https://github.com/logto-io/logto) 帮助您在几分钟内建立登录、身份验证和用户身份。我们为 Web 和本机应用程序提供基于 OIDC 的身份服务和用户名、电话号码、电子邮件和社交登录的最终用户体验。
* [sfyc23/EverydayWechat](https://github.com/sfyc23/EverydayWechat) 微信助手:1.每日定时给好友(女友)发送定制消息。2.机器人自动回复好友。3.群助手功能(例如:查询垃圾分类、天气、日历、电影实时票房、快递物流、PM2.5等)
* [matomo-org/matomo](https://github.com/matomo-org/matomo) Google Analytics(分析)的领先开放替代方案,可让您完全控制数据。Matomo可让您轻松地从网站和应用程序中收集数据,并可视化这些数据并提取见解。隐私是内置的。
* [celery/celery](https://github.com/celery/celery) 分布式任务队列。通过消息进行通信,通常使用代理在客户端和工作线程之间进行调解。为了启动任务,客户端将消息放入队列,然后代理将消息传递给工作线程。
* [ory/kratos](https://github.com/ory/kratos) 下一代身份服务器将您的 Auth0、Okta、Firebase 替换为强化的安全性和 PassKeys、SMS、OIDC、社交登录、MFA、FIDO、TOTP 和 OTP、WebAuthn、无密码等等。Golang、无头、API 优先。
* [grafana/loki](https://github.com/grafana/loki) 受 Prometheus 启发的可水平扩展、高度可用、多租户日志聚合系统。它的设计非常具有成本效益且易于操作。它不索引日志的内容,而是为每个日志流编制一组标签。
* [parse-community/parse-server](https://github.com/parse-community/parse-server) 开源后端,可以部署到任何可以运行 Node.js 的基础架构。Parse Server 与 Express Web 应用程序框架配合使用。它可以添加到现有的 Web 应用程序中,也可以自行运行。
* [authelia/authelia](https://github.com/authelia/authelia) 开源身份验证和授权服务器,通过 Web 门户为您的应用程序提供双因素身份验证和单点登录 (SSO)。它通过允许、拒绝或重定向请求来充当反向代理的伴侣。
* [apache/skywalking](https://github.com/apache/skywalking) APM(应用程序性能监控)系统,专为微服务、云原生和基于容器的架构而设计。开源的 APM 系统,包括云原生架构中分布式系统的监控、追溯、诊断能力。
* [typeorm/typeorm](https://github.com/typeorm/typeorm) 用于TypeScript和JavaScript的ORM。支持MySQL,PostgreSQL,MariaDB,SQLite,MS SQL Server,Oracle,SAP Hana,WebSQL数据库。适用于NodeJS,Browser,Ionic,Cordova和Electron平台。
* [casbin/casdoor](https://github.com/casbin/casdoor) 一个开源的 UI 优先身份和访问管理 (IAM) / 单点登录 (SSO) 平台,具有支持 OAuth 2.0、OIDC、SAML、CAS、LDAP、SCIM、WebAuthn、TOTP、MFA 和 RADIUS 的 Web UI
* [jenkinsci/jenkins](https://github.com/jenkinsci/jenkins) 领先的开源自动化服务器。使用 Java 构建,提供了 1,800 多个插件来支持几乎任何事情的自动化,因此人类可以将时间花在机器无法完成的事情上。
* [jaredwray/keyv](https://github.com/jaredwray/keyv) 简单的键值存储,支持多个后端。它被设计为一种简单且一致的键值存储方式。它支持基于 TTL 的过期时间,使其适合用作缓存或持久键值存储。
* [moleculerjs/moleculer](https://github.com/moleculerjs/moleculer) 快速,现代和强大的Node.js微服务框架。它可以帮助您构建高效,可靠和可扩展的服务。Moleculer 提供了许多用于构建和管理微服务的功能。
* [pallets/jinja](https://github.com/pallets/jinja) 一个非常快速和富有表现力的模板引擎。模板中的特殊占位符允许编写类似于 Python 语法的代码。然后,将模板传递数据以呈现最终文档。
* [adonisjs/core](https://github.com/adonisjs/core) 全栈 Web 框架,专注于人体工程学和速度。它解决了许多 Web 开发的麻烦,为您提供了一个干净稳定的 API 来构建 Web 应用程序和微服务。
* [supertokens/supertokens-core](https://github.com/supertokens/supertokens-core) 为您的应用程序添加安全登录和会话管理。 可用于流行语言和前端框架的 SDK,例如 Node.js、Go、Python、React.js、React Native、Vanilla JS 等。
* [salvo-rs/salvo](https://github.com/salvo-rs/salvo) 一个强大的 Web 框架,采用简化的设计构建。Salvo 是一个非常简单和强大的 Rust Web 后端框架。开发后端服务只需要基本的 Rust 知识。
* [ccfos/nightingale](https://github.com/ccfos/nightingale) 多合一的可观测性解决方案,旨在结合 Prometheus 和 Grafana 的优势。它管理警报规则,并在漂亮的 Web UI 中可视化指标、日志和跟踪。
* [appwrite/appwrite](https://github.com/appwrite/appwrite) 用于开发 Web、Mobile 和 Flutter 应用程序的后端平台。与开源社区一起构建,并针对您喜爱的编码语言的开发人员体验进行了优化。
* [serverless/examples](https://github.com/serverless/examples) 无服务器示例 – 用 AWS Lambda、Microsoft Azure、Google Cloud Functions 等上的无服务器框架构建的无服务器架构的样板和示例集合。
* [digitallyinduced/ihp](https://github.com/digitallyinduced/ihp) 构建类型安全的 Web 应用的最快方法。 IHP 是一个新的包含电池的 Web 框架,针对长期生产力和程序员的幸福感进行了优化
* [smallnest/rpcx](https://github.com/smallnest/rpcx) Go 中最好的微服务框架,就像阿里巴巴 Dubbo,但功能更多,易于扩展。试试吧。Java有dubbo, Golang有rpcx!为云而构建!
* [serverless/serverless](https://github.com/serverless/serverless) 无服务器框架 – 使用 AWS Lambda、Azure Functions、Google CloudFunctions 等,使用无服务器架构构建 Web、移动和 IoT 应用程序
* [webiny/webiny-js](https://github.com/webiny/webiny-js) 开源无服务器企业 CMS。包括无头 CMS、页面构建器、表单构建器和文件管理器。易于定制和扩展。部署到 AWS。
* [aws/serverless-application-model](https://github.com/aws/serverless-application-model) AWS 无服务器应用程序模型 (AWS SAM) 转换是一个 AWS CloudFormation 宏,用于将 SAM 模板转换为 CloudFormation 模板。
* [OpenAPITools/openapi-generator](https://github.com/OpenAPITools/openapi-generator) OpenAPI Generator 允许在给定 OpenAPI 规范(v2、v3)的情况下自动生成 API (SDK 生成)、服务器存根、文档和配置
* [cli/cli](https://github.com/cli/cli) 命令行上的 GitHub。它将拉取请求、问题和其他 GitHub 概念带到您已经在使用 git 的位置和代码旁边的终端。
* [chentsulin/awesome-graphql](https://github.com/chentsulin/awesome-graphql) GraphQL 的精彩列表。GraphQL 是一种针对 Graph(图状数据)进行查询特别有优势的 Query Language(查询语言)。
* [fecshop/yii2_fecshop](https://github.com/fecshop/yii2_fecshop) 多语言多货币多入口的开源电商 B2C 商城,支持移动端vue, app, html5,微信小程序微店,微信小程序商城等
* [tinode/chat](https://github.com/tinode/chat) 即时通讯平台。Go 中的后端。客户端:Swift iOS,Java Android,JS webapp,可编写脚本的命令行;聊天机器人
* [Tencent/APIJSON](https://github.com/Tencent/APIJSON) 零代码、全功能、强安全 ORM 库 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构。
* [oatpp/oatpp](https://github.com/oatpp/oatpp) 轻巧而强大的 C++ Web 框架,用于高度可扩展和资源高效的 Web 应用程序。它是零依赖且易于携带的。
* [pennersr/django-allauth](https://github.com/pennersr/django-allauth) 集成的 Django 应用程序集,用于处理身份验证、注册、帐户管理以及第三方(社交)帐户身份验证。
* [aws/chalice](https://github.com/aws/chalice) 用于在 python 中编写无服务器应用程序的框架。它允许您快速创建和部署使用 AWS Lambda 的应用程序。
* [pcottle/learnGitBranching](https://github.com/pcottle/learnGitBranching) 交互式 git 可视化和教程。有抱负的 git 学生可以使用这个应用程序来教育和挑战自己,以掌握 git!
* [gin-gonic/gin](https://github.com/gin-gonic/gin) 一个用 Go (Golang) 编写的 HTTP Web 框架。它具有类似Martini的API,性能要好得多 - 速度提高了40倍。
* [caronc/apprise](https://github.com/caronc/apprise) 允许您向当今几乎所有最流行的通知服务发送通知,例如:Telegram、Discord、Slack、Amazon SNS、Gotify等
* [AdrienTorris/awesome-blazor](https://github.com/AdrienTorris/awesome-blazor) Blazor 的资源,这是一个使用 C#/Razor 和 HTML 的 .NET Web 框架,可通过 WebAssembly 在浏览器中运行。
* [ossrs/srs](https://github.com/ossrs/srs) SRS是一个简单,高效,实时的视频服务器,支持RTMP,WebRTC,HLS,HTTP-FLV,SRT,MPEG-DASH和GB28181。
* [brettstack/serverless-express](https://github.com/brettstack/serverless-express) 用 AWS 上的现有框架serverless.js Lambda、API Gateway、Lambda@Edge 和 ALB 等技术运行 Node Web 程序和 API。
* [Kong/insomnia](https://github.com/Kong/insomnia) 适用于 GraphQL、REST、WebSockets、SSE 和 gRPC 的开源跨平台 API 客户端。使用云、本地和 Git 存储。
* [davideuler/architecture.of.internet-product](https://github.com/davideuler/architecture.of.internet-product) 互联网公司技术架构,微信/淘宝/微博/腾讯/阿里/美团点评/百度/Google/Facebook/Amazon/eBay的架构
* [nrwl/nx](https://github.com/nrwl/nx) 具有内置工具和高级 CI 功能的构建系统。它可以帮助您在本地和 CI 上维护和扩展 monorepos。
* [tiangolo/fastapi](https://github.com/tiangolo/fastapi) 现代、快速(高性能)的 Web 框架,用于基于标准 Python 类型提示使用 Python 3.7+ 构建 API。
* [netty/netty](https://github.com/netty/netty) 异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。
* [kataras/iris](https://github.com/kataras/iris) 最快的 HTTP/2 Go Web 框架。新颖、现代且易于学习。使用您控制的代码进行快速开发。
* [apollographql/apollo-client](https://github.com/apollographql/apollo-client) 功能齐全、生产就绪的缓存 GraphQL 客户端,适用于每个 UI 框架和 GraphQL 服务器。
* [neondatabase/neon](https://github.com/neondatabase/neon) 无服务器 Postgres。我们将存储和计算分开,以提供自动缩放、分支和无底存储。
* [ashishps1/awesome-system-design-resources](https://github.com/ashishps1/awesome-system-design-resources) 该存储库包含系统设计资源,这些资源在准备面试和学习分布式系统时非常有用
* [xyproto/algernon](https://github.com/xyproto/algernon) 小型独立纯 Go Web 服务器,支持 Lua、Teal、Markdown、HTTP/2、QUIC、Redis 和 PostgreSQL
* [pedroslopez/whatsapp-web.js](https://github.com/pedroslopez/whatsapp-web.js) 一个用于 NodeJS 的 WhatsApp 客户端库,通过 WhatsApp Web 浏览器应用程序进行连接
* [chiraggude/awesome-laravel](https://github.com/chiraggude/awesome-laravel) 来自Laravel生态系统的书签,软件包,教程,视频和其他酷炫资源的精选列表
* [cookiecutter/cookiecutter-django](https://github.com/cookiecutter/cookiecutter-django) 由 Cookiecutter 提供支持,是一个用于快速启动生产就绪的 Django 项目的框架。
* [flosse/rust-web-framework-comparison](https://github.com/flosse/rust-web-framework-comparison) 一些用 Rust 编写的 Web 框架的比较。本概述仅包含适用于稳定 Rust 的框架。
* [gitbucket/gitbucket](https://github.com/gitbucket/gitbucket) 一个由 Scala 提供支持的 Git 平台,易于安装、高度扩展和 GitHub API 兼容性
* [localstack/localstack](https://github.com/localstack/localstack) 功能齐全的本地 AWS 云堆栈。离线开发和测试您的云和无服务器应用程序
* [jhipster/generator-jhipster](https://github.com/jhipster/generator-jhipster) 开发平台,用于快速生成,开发和部署现代Web应用程序和微服务架构。
* [aws/aws-sam-cli](https://github.com/aws/aws-sam-cli) CLI 工具,用于使用 AWS SAM 构建、测试、调试和部署无服务器应用程序
* [SergioBenitez/Rocket](https://github.com/SergioBenitez/Rocket) Rust 的异步 Web 框架,专注于可用性、安全性、可扩展性和速度。
* [swoole/swoole-src](https://github.com/swoole/swoole-src) 一个事件驱动、异步、基于协程的高性能并发库,适用于 PHP。
* [aws-samples/aws-serverless-workshops](https://github.com/aws-samples/aws-serverless-workshops) 为 Wild Rydes 研讨会设置无服务器应用程序的代码和演练实验室
* [withastro/astro](https://github.com/withastro/astro) 现代web网站构建工具 — 强大的开发人员经验,轻量级输出。
* [akka/akka](https://github.com/akka/akka) 在 JVM 上构建高度并发、分布式和弹性的消息驱动型应用程序
* [Ne0nd0g/merlin](https://github.com/Ne0nd0g/merlin) 跨平台的后开发HTTP/2命令和控制服务器和代理,用 go 编写。
* [tokio-rs/axum](https://github.com/tokio-rs/axum) 符合人体工程学的模块化 Web 框架,由Tokio、Tower和Hyper构建
* [poem-web/poem](https://github.com/poem-web/poem) 一个功能齐全且易于使用的 Web 框架,带有 Rust 编程语言。
* [NginxProxyManager/nginx-proxy-manager](https://github.com/NginxProxyManager/nginx-proxy-manager) 用于管理Nginx代理主机的Docker容器,具有简单,强大的界面
* [django/django](https://github.com/django/django) 高级Python Web框架,它鼓励快速开发和干净、实用的设计。
* [plausible/analytics](https://github.com/plausible/analytics) 简单开源轻量级1K和隐私友好的网络分析替代谷歌分析。
* [gorilla/mux](https://github.com/gorilla/mux) 强大的 HTTP 路由器和 URL 匹配器,用于构建 Go Web 服务器
* [casbin/casbin](https://github.com/casbin/casbin) 在 Golang 中支持 ACL、RBAC、ABAC 等访问控制模型的授权库
* [pocketbase/pocketbase](https://github.com/pocketbase/pocketbase) 集数据库、用户管理、UI和API等工具的后端开发框架。
* [miguelgrinberg/flasky](https://github.com/miguelgrinberg/flasky) O‘Reilly书“Flask Web Development”的配套代码,第二版。
* [eggjs/egg](https://github.com/eggjs/egg) 与Node.js & Koa一起构建更好的企业框架和应用程序
* [vercel/micro](https://github.com/vercel/micro) 异步 HTTP 微服务.具有异步方法的简约微服务框架。
* [whyour/qinglong](https://github.com/whyour/qinglong) 支持Python3、JS、Shell、Typescript 的定时任务管理平台
* [ninenines/cowboy](https://github.com/ninenines/cowboy) 用 Erlang/OTP 的小型、快速、现代的 HTTP 服务器。
* [rabbitmq/rabbitmq-server](https://github.com/rabbitmq/rabbitmq-server) 开源 RabbitMQ:核心服务器和第 1 层(内置)插件
* [shieldfy/API-Security-Checklist](https://github.com/shieldfy/API-Security-Checklist) 设计、测试和发布 API 时最重要的安全对策清单
* [avajs/ava](https://github.com/avajs/ava) Node.js 测试运行程序,让你充满信心地进行开发
* [Unitech/pm2](https://github.com/Unitech/pm2) Node.js具有内置负载均衡器的生产进程管理器。
* [yagop/node-telegram-bot-api](https://github.com/yagop/node-telegram-bot-api) Node.js与官方telegram电报机器人API交互的模块。
* [karanpratapsingh/system-design](https://github.com/karanpratapsingh/system-design) 了解如何大规模设计系统并准备系统设计面试
* [capnproto/capnproto](https://github.com/capnproto/capnproto) Cap‘n Proto 序列化/RPC 系统 - 核心工具和 C++ 库
* [humiaozuzu/awesome-flask](https://github.com/humiaozuzu/awesome-flask) 精选的 Flask ( python web 框架) 资源和插件列表
* [actix/actix-web](https://github.com/actix/actix-web) 一个强大、实用且速度极快的 Rust Web 框架。
* [pallets/quart](https://github.com/pallets/quart) 用于构建 Web 应用程序的异步 Python 微框架。
* [revel/revel](https://github.com/revel/revel) 用于 Go 语言的高生产力、全栈 Web 框架。
* [aws/aws-cli](https://github.com/aws/aws-cli) 适用于 Amazon Web Services 的通用命令行界面
* [expressjs/express](https://github.com/expressjs/express) 快速,无配置,极简主义的node Web框架。
* [supabase/realtime](https://github.com/supabase/realtime) 通过 WebSocket 进行广播、状态和发布更改
* [fastify/fastify](https://github.com/fastify/fastify) 适用于 Node.js 的快速且低开销的 Web 框架
* [toutiaoio/awesome-architecture](https://github.com/toutiaoio/awesome-architecture) 架构师技术图谱,助你早日成为架构师
* [SocketCluster/socketcluster](https://github.com/SocketCluster/socketcluster) 高度可扩展的实时发布/订阅和 RPC 框架
* [nexe/nexe](https://github.com/nexe/nexe) 从 Node.js 应用程序创建单个可执行文件
* [helmetjs/helmet](https://github.com/helmetjs/helmet) 使用各种 HTTP 标头帮助保护 Express 应用
* [beego/beego](https://github.com/beego/beego) Go 编程语言的开源、高性能 Web 框架。
* [sdras/awesome-actions](https://github.com/sdras/awesome-actions) 在 GitHub 上使用的精彩操作的精选列表
* [codegangsta/gin](https://github.com/codegangsta/gin) Go Web 服务器的实时重新加载实用程序
* [gofiber/fiber](https://github.com/gofiber/fiber) 用 Go 编写的受 Express 启发的 Web 框架
* [wsvincent/awesome-django](https://github.com/wsvincent/awesome-django) 与 Django 相关的精彩事物的精选列表
* [telegraf/telegraf](https://github.com/telegraf/telegraf) 现代telegram电报机器人API框架 Node.js
* [sst/sst](https://github.com/sst/sst) 在 AWS 上构建现代全栈应用程序。
* [TonnyL/Awesome_APIs](https://github.com/TonnyL/Awesome_APIs) 面向开发人员的 AWESOME API 集合。
* [open-falcon/falcon-plus](https://github.com/open-falcon/falcon-plus) 一个开源的企业级监控系统。
* [louislam/uptime-kuma](https://github.com/louislam/uptime-kuma) 易于使用的自托管监控工具。
* [Redocly/redoc](https://github.com/Redocly/redoc) 从 OpenAPI 生成精美的 API 文档
* [humiaozuzu/awesome-flask](https://github.com/humiaozuzu/awesome-flask) 精选的 Flask 资源和插件列表
* [halo-dev/halo](https://github.com/halo-dev/halo) 强大易用的开源建站工具。
* [meolu/walle-web](https://github.com/meolu/walle-web) Devops开源项目代码部署平台
* [apidoc/apidoc](https://github.com/apidoc/apidoc) RESTful Web API 文档生成器。
* [LMAX-Exchange/disruptor](https://github.com/LMAX-Exchange/disruptor) 高性能线程间消息传递库
* [sanic-org/sanic](https://github.com/sanic-org/sanic) 异步 Python 3.7+ web 框架
* [xingshaocheng/architect-awesome](https://github.com/xingshaocheng/architect-awesome) 后端架构师技术图谱
### JAVA开发
* [kekingcn/kkFileView](https://github.com/kekingcn/kkFileView) 文档在线预览项目解决方案,使用流行的 Spring Boot 框架构建,便于设置和部署。这个多功能的开源项目为各种文档格式提供基本支持,包括:支持 Office 文档,如 doc、docx、xls、xlsx、xlsm、ppt、pptx、csv、tsv、、dotm、xlt、xltm、dot、xlam、dotx、xla、页面等。支持 wps、dps、et、ett、wpt 等国内 WPS Office 文档。支持 OpenOffice、LibreOffice 办公文档,如 odt、ods、ots、odp、otp、six、ott、fodt 和 fods。支持 vsd、vsdx 等 Visio 流程图文件。支持 wmf、emf 等 Windows 系统镜像文件。支持 psd 、eps 等 Photoshop 软件模型文件。支持 pdf、ofd 和 rtf 等文档格式。支持 xmind 等软件模型文件。支持 BPMN 工作流程文件。支持 eml 邮件文件。支持 epub 书籍文档。支持 3D 模型文件,如 obj、3ds、stl、ply、gltf、glb、off、3dm、fbx、dae、wrl、3mf、ifc、brep、step、iges、fcstd、bim 等。支持 dwg、dxf、dwfiges 、 igs、 dwt 、 dng 、 ifc 、 dwfx 、 stl 、 cf2 、 plt 等 CAD 模型文件。支持所有纯文本文件,如 txt、xml(渲染)、md(渲染)、java、php、py、js、css 等。支持 zip、rar、jar、tar、gzip、7z 等压缩包。支持 jpg、jpeg、png、gif、bmp、ico、jfif、webp 等的图像预览(翻转、缩放、镜像)。支持 tif 和 tiff 等图像信息模型文件。支持 tga 等图像格式文件。支持 svg 等矢量图像格式文件。支持 mp3、wav、mp4、flv。支持多种音频和视频格式文件,如 avi、mov、wmv、mkv、3gp 和 rm。支持 dcm、drawio .
* [lihengming/spring-boot-api-project-seed](https://github.com/lihengming/spring-boot-api-project-seed) 基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目,该种子项目已经有过多个真实项目的实践,稳定、简单、快速,使我们摆脱那些重复劳动,专注于业务代码的编写,减少加班。下面是一个简单的使用演示,看如何基于本项目在短短几十秒钟内实现一套简单的API,并运行提供服务。特征&提供:最佳实践的项目结构、配置文件、精简的POM(查看项目结构图);统一响应结果封装及生成工具;统一异常处理;简单的接口签名认证;常用基础方法抽象封装;使用Druid Spring Boot Starter 集成Druid数据库连接池与监控;使用FastJsonHttpMessageConverter,提高JSON序列化速度;集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表业务零SQL;提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller等基础代码,其中Controller模板默认提供POST和RESTful两套,根据需求在CodeGenerator.genController(tableName)方法中自己选择,默认使用POST模板。代码模板可根据实际项目的需求来扩展,由于每个公司业务都不太一样,所以只提供了一些比较基础、通用的模板,主要是提供一个思路来减少重复代码的编写,我在实际项目的使用中,其实根据公司业务的抽象编写了大量的模板。另外,使用模板也有助于保持团队代码风格的统一
* [OpenFeign/feign](https://github.com/OpenFeign/feign) Feign是一个 Java HTTP 客户端绑定器,它简化了编写 Java HTTP客户端的过程,灵感来自 Retrofit、JAXRS-2.0 和 WebSocket。Feign的主要目标是简化将 Denominator 统一绑定到 HTTP API 的过程,无论其是否符合 ReSTful 规范。Feign 利用 Jersey 和 CXF等工具为 ReST 或 SOAP 服务编写 Java 客户端,并允许用户在 Apache HC 等 HTTP 库之上编写自己的代码。Feign 通过可定制的解码器和错误处理将代码连接到 HTTP API,从而实现最小开销和代码,这些解码器和错误处理可以编写到任何基于文本的 HTTP API。Feign 通过将注解处理成模板化的请求来工作,并在输出之前以简单的方式将参数应用于这些模板。尽管 Feign 仅支持基于文本的 API,但它极大地简化了系统方面,例如重放请求。此外,Feign 使得在了解这一点的情况下轻松地对转换进行单元测试。Feign 10.x 及更高版本基于 Java 8,应该可以在 Java 9、10 和 11 上运行。对于需要 JDK 6 兼容性的用户,请使用 Feign 9.x。Feign 的路线图包括响应缓存、完整的 URI 模板表达式支持、Logger API 重构、Retry API 重构、异步执行支持以及 Reactive 执行支持。
* [apache/jmeter](https://github.com/apache/jmeter) Apache JMeter是一个开源的负载测试工具,用于分析和测量各种服务的性能。它是一个用 Java 编写的应用程序,可以模拟服务器、网络或对象上的高负载,以测试其强度或分析不同负载类型下的整体性能。JMeter 支持多种协议,包括 HTTP、HTTPS、FTP、数据库、LDAP、JMS、SMTP、POP3、IMAP、TCP、Java 对象等。它还提供了一个功能齐全的测试 IDE,允许快速记录、构建和调试测试计划,并支持命令行模式(无 GUI/无头模式)以从任何兼容 Java 的操作系统进行负载测试。JMeter 生成动态 HTML 报告,并提供实时报告功能,可以将数据发送到第三方数据库,如 InfluxDB 或 Graphite。JMeter 的核心高度可扩展,支持可插拔的采样器,并允许使用脚本采样器(兼容 JSR223 语言)来扩展其功能。
* [networknt/light-4j](https://github.com/networknt/light-4j) Light-4j是一个快速、轻量级、云原生微服务框架,旨在解决传统Java EE平台的性能和生产力问题。它基于Undertow HTTP核心构建,提供嵌入式网关,通过插件架构处理跨领域问题,包括分布式OAuth2 JWT安全验证、OpenAPI规范运行时验证、指标收集、全局异常处理、敏感数据屏蔽、跨站脚本清理、审计、内容类型解析、标准化响应代码和消息等功能。与SpringBoot相比,Light-4j速度快44倍,内存占用仅为其1/5,并提供基准测试结果和第三方比较数据。
* [xuchengsheng/spring-reading](https://github.com/xuchengsheng/spring-reading) 该项目是一个深入研究 Spring 框架的开源项目,涵盖了 IOC 容器、AOP、事务管理、Spring MVC、数据访问、安全、Boot 自动配置等核心概念和关键功能,还包含 Spring 事件机制、缓存抽象、响应式编程等高级主题,并对 Spring 源码的编程风格与设计模式进行了深入探讨。项目提供代码示例和详细解析,帮助开发者深入理解 Spring 框架的内部机制,并能够更好地应用于实际开发中。
* [spring-projects/spring-boot](https://github.com/spring-projects/spring-boot) Spring Boot 可帮助您以绝对最少的麻烦创建由 Spring 提供支持的生产级应用程序和服务。它对 Spring 平台持自以为是的看法,以便新用户和现有用户都可以快速获得他们需要的位。您可以使用 Spring Boot 创建独立的 Java 应用程序,这些应用程序可以使用更传统的 WAR 部署启动 java -jar`。我们还提供了一个运行 Spring 脚本的命令行工具。
* [playframework/playframework](https://github.com/playframework/playframework) Play 框架结合了生产力和性能,使使用 Java 和 Scala 构建可扩展的 Web 应用程序变得容易。Play 对开发人员友好,具有“只需刷新”的工作流程和内置的测试支持。借助 Play,由于无状态和非阻塞架构,应用程序可以预测地扩展。通过默认的RESTful,包括资产编译器,JSON和WebSocket支持,Play非常适合现代Web和移动应用程序。
* [Nepxion/Discovery](https://github.com/Nepxion/Discovery) Nepxion Discovery是一个针对 Spring Cloud 的解决方案,提供蓝绿灰度发布、路由、限流、熔断、降级、隔离、追踪、流量染色、故障转移、多活等功能,帮助开发者构建高可用、高性能的微服务架构。它基于插件化框架,支持多种注册中心和配置中心,并提供丰富的功能扩展,可满足各种场景下的微服务治理需求。
* [shuzheng/zheng](https://github.com/shuzheng/zheng) 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务模块:集中权限管理(单点登录)、内容管理、支付中心、用户管理(支持三方登录)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。
* [dyc87112/SpringBoot-Learning](https://github.com/dyc87112/SpringBoot-Learning) 该项目是一个 SpringBoot 基础教程,包含 1.x 和 2.x 版本,旨在帮助用户学习 Spring Boot 的基础知识。教程内容丰富,涵盖了 Spring Boot 的各个方面,并提供详细的代码示例。用户可以通过教程目录快速找到所需内容,并通过加入 Spring 技术交流群获得更多学习资源和帮助。
* [azkaban/azkaban](https://github.com/azkaban/azkaban) Azkaban是一个工作流管理系统,使用 Gradle 构建,需要 Java 8或更高版本。它提供了一个可视化的界面来定义、调度和监控工作流,支持多种任务类型,并提供安全控制和日志管理功能。Azkaban 的文档正在更新,新的文档网站正在开发中,开发者可以参与文档的贡献。
* [Activiti/Activiti](https://github.com/Activiti/Activiti) Activiti 是一个轻量级的工作流和业务流程管理 (BPM) 平台,面向业务人员、开发人员和系统管理员。它的核心是用于 Java 的超快速且坚如磐石的 BPMN 2 流程引擎。它是开源的,并在 Apache 许可下分发。Activiti 可以在任何 Java 应用程序、服务器、集群或...
* [zhoutaoo/SpringCloud](https://github.com/zhoutaoo/SpringCloud) 基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目快速进入业务开发,而不需过多时间花费在架构搭建上。
* [apache/curator](https://github.com/apache/curator) Apache Curator是一个 Java/JVM 客户端库,用于 Apache ZooKeeper(一个分布式协调服务)。它提供高级 API 框架和实用程序,简化并提高使用 Apache ZooKeeper 的可靠性。Curator 包含针对常见用例的配方和扩展,例如服务发现和 Java 8 异步 DSL。
* [yangzongzhuan/RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3) 基于SpringBoot+Vue3前后端分离的Java快速开发框架。本仓库为前端技术栈 Vue3 + Element Plus + Vite 版本。配套后端代码仓库地址RuoYi-Vue 或 RuoYi-Vue-fast 版本。前端技术栈(Vue2 + Element + Vue CLI)
* [doocs/source-code-hunter](https://github.com/doocs/source-code-hunter) 从源码层面,剖析挖掘互联网行业主流技术的底层实现原理,为广大开发者 “提升技术深度” 提供便利。目前开放 Spring 全家桶,Mybatis、Netty、Dubbo 框架,及 Redis、Tomcat 中间件等
* [ityouknow/spring-boot-examples](https://github.com/ityouknow/spring-boot-examples) Spring Boot 使用的各种示例,以最简单、最实用为标准,此开源项目中的每个示例都以最小依赖,最简单为标准,帮助初学者快速掌握 Spring Boot 各组件的使用。
* [wuyouzhuguli/SpringAll](https://github.com/wuyouzhuguli/SpringAll) 循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc
* [doocs/advanced-java](https://github.com/doocs/advanced-java) 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
* [JeffLi1993/springboot-learning-example](https://github.com/JeffLi1993/springboot-learning-example) spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。
* [xkcoding/spring-boot-demo](https://github.com/xkcoding/spring-boot-demo) 用来深入学习并实战 Spring Boot 的项目。
* [TooTallNate/Java-WebSocket](https://github.com/TooTallNate/Java-WebSocket) 100% Java 写的准系统 WebSocket 实现。
* [grpc/grpc-java](https://github.com/grpc/grpc-java) Java gRPC 实现。基于 HTTP/2 的 RPC
* [seaswalker/spring-analysis](https://github.com/seaswalker/spring-analysis) Spring源码阅读
### PHP开发
* [php/php-src](https://github.com/php/php-src) PHP 是一种流行的通用脚本语言,特别适合 Web 开发。快速、灵活和实用,PHP 为从您的博客到世界上最受欢迎的网站的一切提供支持。PHP基金会是一个由个人和组织组成的集体,他们团结一致,以确保PHP语言的长期繁荣。PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中,尤其适合 web 开发。PHP 能做任何事。PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成任何其它的 CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。但 PHP 的功能远不局限于此。PHP 脚本主要用于以下三个领域:`服务端脚本`。这是 PHP 最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、web 服务器和 web 浏览器。需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。请查阅安装一章以获取更多信息。`命令行脚本`。可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要 PHP 解析器来执行。这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅 PHP 的命令行模式以获取更多信息。`编写桌面应用程序`,对于有着图形界面的桌面应用程序来说,PHP 或许不是一种最好的语言,但是如果用户非常精通 PHP,并且希望在客户端应用程序中使用 PHP 的一些高级特性,可以利用 PHP-GTK 来编写这些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。如果对 PHP-GTK 感兴趣,请访问其» 网站以获取更多信息。
* [SpartnerNL/Laravel-Excel](https://github.com/SpartnerNL/Laravel-Excel) 在 Laravel 中增强 Excel 导出和导入功能。一个简单但优雅的Laravel包装器,围绕PhpSpreadsheet导出和导入。轻松将集合导出到 Excel,增强您的 Laravel 集合并将其直接导出到 Excel 或 CSV 文档,导出从未如此简单。导出大幅增长,通过自动分块导出查询以获得更好的性能,您向我们提供查询,我们处理性能,导出更大的数据集,Laravel Excel 会为您提供支持,您可以对导出进行排队,以便所有这些都在后台进行。导入增压,通过块读取和批量插入将工作簿和工作表导入有大文件,您可以对文件的每个块进行排队,您的整个导入将在后台进行。
* [flarum/flarum](https://github.com/flarum/flarum) Flarum是一个非常简单的网站讨论平台。它快速且易于使用,具有运行成功社区所需的所有功能。它的设计目的是:快速而简单。没有混乱,没有臃肿,没有复杂的依赖关系。 Flarum 使用 PHP 构建,因此部署起来既快速又简单。该界面由 Mithril 提供支持,这是一个占用空间很小的高性能 JavaScript 框架。美丽且反应灵敏。这是人类的论坛软件。 Flarum 经过精心设计,跨平台一致且直观,开箱即用。功能强大且可扩展。定制、扩展和集成 Flarum 以适合您的社区。 Flarum 的架构非常灵活,具有强大的扩展 API。
* [WordPress/WordPress](https://github.com/WordPress/WordPress) WordPress是一个开源的博客和内容管理系统(CMS),它允许用户创建网站和博客。这个项目是 WordPress 的官方 Git 镜像,用户可以通过它访问 WordPress 的源代码。用户可以通过 WordPress 的官方网站获取更多信息,并提交代码变更到 WordPress 的官方开发仓库。WordPress 支持多种语言,并且提供了多种插件和主题,方便用户定制网站。用户可以通过 WordPress 的自动更新功能或手动更新来更新 WordPress。WordPress 还支持从其他系统导入数据。WordPress 的系统要求包括一个支持 PHP 和 MySQL 的 Web 服务器。
* [PrestaShop/PrestaShop](https://github.com/PrestaShop/PrestaShop) PrestaShop是一个开源的电子商务平台,用于构建您的电商解决方案。它使用 PHP编写,高度可定制,支持所有主要支付服务,并提供多种语言和地区版本,拥有完全响应式设计(前端和后端)。该项目包含 PrestaShop 的源代码,用于开发和预览,最新的稳定版本可在发布页面下载。PrestaShop 9.0 需要 PHP 8.1+ 和 MySQL 5.6+,推荐使用 Apache 或 Nginx服务器。您可以从 GitHub 下载源代码,或从发布页面下载最新版本进行安装。PrestaShop 还支持 Docker Compose 部署。
* [paragonie/random_compat](https://github.com/paragonie/random_compat) PHP 5.x 支持 `random_bytes()` 和 `random_int()` 函数,由 Paragon Initiative Enterprises 创建和维护。虽然该库应在更早版本的 PHP 中运行,但我们仅考虑受支持的 PHP 版本的问题。请勿使用主分支,而是使用稳定版本。如果 PHP 无法安全生成随机数据,该库将抛出异常,绝不会退回到不安全的随机数据。安装方法包括使用 Composer 或手动安装,并提供 ECDSA 签名的 PHP Archive。该库使 PHP 5 项目能够使用 CSPRNG 函数,其行为与 PHP 7 中相同。
* [opencart/opencart](https://github.com/opencart/opencart) 免费的在线购物车系统。OpenCart 是一个基于 PHP 的开源电子商务解决方案,提供专业的可靠基础构建成功的在线商店。安装请参考 INSTALL.md,升级请参考 UPGRADE.md。报告问题前请搜索论坛和 GitHub 问题列表,确保问题与核心代码无关,否则将不予处理。贡献代码请先 Fork 仓库,提交 Pull Request 时请明确说明。OpenCart 版本号分为 4 部分,MAJOR 更新很少,MINOR 有重大结构变化,FEATURE 添加新功能,PATCH 仅修复问题。
* [Dolibarr/dolibarr](https://github.com/Dolibarr/dolibarr) Dolibarr ERP CRM 是一个现代的企业资源规划和客户关系管理软件,用于管理公司或基金会的活动(联系人、供应商、发票、订单、库存、日程、会计等)。它是一个用 PHP 编写的开源 Web 应用程序,适用于各种规模的企业、基金会和自由职业者。你可以免费使用、研究、修改或分发它。你可以将它作为独立应用或网络应用访问。Dolibarr 有一个强大的社区支持,提供免费论坛和商业支持服务。
* [livewire/livewire](https://github.com/livewire/livewire) 一个为Laravel设计的全栈框架,简化动态UI的构建过程。Livewire允许你在PHP中构建动态UI组件而无需离开PHP。更多信息请参阅[Livewire官网文档](https://livewire.laravel.com/docs)。该项目欢迎贡献,请阅读[贡献指南](.github/CONTRIBUTING.md)。遵循[Laravel行为准则](https://laravel.com/docs/contributions#code-of-conduct)。安全漏洞请报告至[安全政策](https://github.com/livewire/livewire/security/policy)。Livewire遵循MIT开源协议。
* [doctrine/orm](https://github.com/doctrine/orm) Doctrine ORM 是 PHP 8.1+ 的对象关系映射器,它为 PHP 对象提供透明的持久性。它位于强大的数据库抽象层 (DBAL) 之上。它的主要功能之一是可以选择使用专有的面向对象的 SQL 方言编写数据库查询,称为 Doctrine Query Language (DQL),其灵感来自 Hibernate 的 HQL。这为开发人员提供了强大的 SQL 替代方案,可以保持灵活性,而无需不必要的代码重复。
* [akaunting/akaunting](https://github.com/akaunting/akaunting) Akaunting是一款面向小型企业和自由职业者的在线会计软件,基于Laravel、VueJS、Tailwind等现代技术构建,具有模块化结构,提供应用商店功能。要求PHP 8.1或更高版本,数据库(如MySQL、PostgreSQL、SQLite)和Web服务器(如Apache、Nginx、IIS)。安装步骤包括克隆仓库、安装依赖和运行安装命令。该项目遵循贡献者行为准则,支持翻译和安全漏洞报告。
* [barryvdh/laravel-debugbar](https://github.com/barryvdh/laravel-debugbar) 将 PHP Debug Bar 与 Laravel 集成的软件包。它包括一个 ServiceProvider,用于注册调试栏并将其附加到输出。您可以通过 Laravel 发布资产并对其进行配置。它引导一些收集器与Laravel一起工作,并实现了几个特定于Laravel的自定义DataCollector。它配置为显示重定向和 (jQuery) Ajax 请求。(显示在下拉列表中)有关更多配置选项,请阅读文档。
* [api-platform/api-platform](https://github.com/api-platform/api-platform) Create REST和GraphQL API,快速构建Jamstack网站应用,实时同步更改。使用简单的PHP类设计数据模型,几分钟内生成hypermedia REST或GraphQL API,支持多种内容协商格式,自动生成API文档,提供Material Design管理界面,生成Progressive-Web-Apps和移动应用,使用Docker和Kubernetes部署,轻松添加OAuth认证,支持API测试,基于Symfony和React构建。
* [fzaninotto/Faker](https://github.com/fzaninotto/Faker) Faker 是一个 PHP 库,用于生成假数据,适用于数据库初始化、XML 文档创建、持久层压力测试和数据脱敏等场景。它受到 Perl 的 Data::Faker 和 Ruby 的 Faker 的启发。Faker 需要 PHP 5.3.3 及以上版本。该项目已存档,请参阅存档原因:[https://marmelab.com/blog/2020/10/21/sunsetting-faker.html](https://marmelab.com/blog/2020/10/21/sunsetting-faker.html)。
* [spatie/laravel-medialibrary](https://github.com/spatie/laravel-medialibrary) Laravel Media Library是一个 Laravel 包,用于将各种文件与 Eloquent 模型关联。它提供了一个简单的 API 来操作文件,例如添加、删除、获取文件信息等。该包支持各种文件类型,并可以利用 Laravel 的 Filesystem 功能,将文件存储在不同的存储系统中,例如本地磁盘、S3 等。此外,该包还支持对图片和 PDF 进行图像处理操作。
* [rectorphp/rector](https://github.com/rectorphp/rector) Rector 是一个可以即时升级和自动化重构任何 PHP 5.3+ 代码的工具。它可以帮你自动处理从 PHP 5.3 到 8.2 的升级,支持 Symfony、PHPUnit、Doctrine 等开源项目。Rector 还可以持续重构代码,保持高质量。安装方法为 `composer require rector/rector --dev`。通过配置规则,Rector 可以在 CI 中自动运行,帮助你保持代码质量。
* [bagisto/bagisto](https://github.com/bagisto/bagisto) 免费和开源的 laravel 电子商务平台,建立在一些最热门的技术之上,例如 Laravel(PHP 框架)和Vue.js渐进式 Javascript 框架。Bagisto 可以帮助您减少建立在线商店或从实体店迁移到要求苛刻的在线世界的时间、成本和劳动力。您的企业(无论规模大小)都可以从中受益。最好的部分是,设置起来很简单!
* [reactphp/reactphp](https://github.com/reactphp/reactphp) Event-driven,非阻塞I/O的PHP库,生产就绪且经实战验证,适用于高效网络服务器和客户端处理大量并发连接,具有丰富的第三方库生态系统。默认非阻塞,支持可选扩展以获得更好的性能,推荐使用最新版本的PHP 7+,支持PHP 5.3+和HHVM以获得最大兼容性。核心组件包括事件循环、流和Promise等。
* [Licoy/wordpress-theme-puock](https://github.com/Licoy/wordpress-theme-puock) Puock是一款基于WordPress开发的高颜值自适应主题,支持白天与黑夜模式、无刷新加载、第三方登录等功能。用户可前往GitHub Releases页面下载最新版本,并根据WordPress管理界面中的“外观-主题”进行安装和启用。Puock主题支持多种语言,并提供QQ群和微信群供用户交流。
* [RSS-Bridge/rss-bridge](https://github.com/RSS-Bridge/rss-bridge) RSS-Bridge是一个PHP网页应用,它为缺少RSS订阅功能的网站生成RSS订阅源。该项目支持多种网站,例如Reddit、YouTube、Mastodon等,并提供多种桥接器(例如CSS选择器、XPath表达式)以抓取数据。官方实例地址为https://rss-bridge.org/bridge01/,最低PHP版本要求为7.4。
* [WiKi-Hub-2023/WiKi-Hub-2023.github.io](https://github.com/WiKi-Hub-2023/WiKi-Hub-2023.github.io) 该项目包含1000个PHP代码审计案例,案例来源为3.8W个已公开的漏洞(截至2016年7月),案例保存在`./bugs`和`./upload`文件夹中。项目使用特征匹配技术,准确率达到95%,可以帮助开发者学习PHP漏洞的原理和修复方法,即使是新手也能快速掌握。
* [reactphp/event-loop](https://github.com/reactphp/event-loop) ReactPHP 的核心反应器事件循环库,供库使用进行异步 I/O 操作。提供统一的 `LoopInterface`,支持多种实现如 `StreamSelectLoop`、`ExtEventLoop` 等。通过单一的 `run()` 方法控制事件循环。适用于构建兼容的异步库。当前支持 v1 和即将发布的 v3 版本。
* [briannesbitt/Carbon](https://github.com/briannesbitt/Carbon) 一个简单的PHP日期时间扩展库,用于处理国际化的日期时间操作。支持超过200种语言和500种地区变体,提供从现在时间、加减时间、时间比较等多种功能。可以通过Composer安装,文档详见[https://carbon.nesbot.com/docs](https://carbon.nesbot.com/docs)。
* [picocms/Pico](https://github.com/picocms/Pico) Pico是一个极其简单、速度极快的平面文件内容管理系统。它使用PHP编写,并依赖于`dom`和`mbstring`扩展。您可以使用Composer安装Pico,也可以下载预编译版本。Pico使用平面文件存储内容,并提供简单的模板引擎,方便您创建网站。
* [cakephp/cakephp](https://github.com/cakephp/cakephp) CakePHP 是一个基于 PHP 的快速开发框架,采用关联数据映射、前端控制器和 MVC 设计模式。它旨在帮助所有水平的 PHP 开发者快速构建稳健的 web 应用,同时保持灵活性。可以通过 Composer 安装,并提供详细的文档和社区支持。
* [itsgoingd/clockwork](https://github.com/itsgoingd/clockwork) PHP开发工具,可在浏览器中使用。可让您深入了解应用程序运行时,包括 HTTP 请求、命令、队列作业和测试的请求数据、性能指标、日志条目、数据库查询、缓存查询、redis 命令、已调度事件、排队作业、呈现视图等
* [mockery/mockery](https://github.com/mockery/mockery) 简单而灵活的PHP模拟对象框架,用于PHPUnit,PHPSpec或任何其他的单元测试。其核心目标是提供一个具有简洁API的测试双重框架,该API能够使用人类可读的领域特定语言(DSL)清楚地定义所有可能的对象操作和交互。
* [dompdf/dompdf](https://github.com/dompdf/dompdf) 适用于 PHP 的 HTML 到 PDF 转换器。用 PHP 编写的符合 CSS 2.1 的 HTML 布局和渲染引擎。一个样式驱动的渲染器:它将下载和读取外部样式表、内联样式标签和单个 HTML 元素的样式属性。它还支持大多数表示 HTML 属性。
* [bcit-ci/CodeIgniter](https://github.com/bcit-ci/CodeIgniter) 一个PHP应用程序开发框架 - 一个工具包 - 适用于使用 PHP 构建网站的人。它的目标是通过为常用任务提供一组丰富的库,以及访问这些库的简单接口和逻辑结构,使你能够比从头开始编写代码更快地开发项目。
* [pestphp/pest](https://github.com/pestphp/pest) Pest 是一个专注于简洁性的 PHP 测试框架,旨在让 PHP 测试变得更加愉快。该项目可以在 pestphp.com 获取文档,关注 @pestphp 在 Twitter 上的更新,加入 Discord 或 Telegram 频道获取更多支持。Pest 使用 MIT 许可证开源。
* [thephpleague/flysystem](https://github.com/thephpleague/flysystem) 本地和远程文件系统的抽象。一个PHP的文件存储库。它提供了一个接口来与多种类型的文件系统进行交互。当您使用 Flysystem 时,您不仅可以免受供应商锁定的影响,还可以获得适合您的一致体验。
* [predis/predis](https://github.com/predis/predis) Predis 是一个支持 PHP 7.2 及以上版本的灵活且功能完备的 Redis 客户端,支持从 Redis 3.0 到 7.4 的版本,具备客户端分片、集群模式、事务处理、Lua 脚本等功能,并支持多种连接方式和安全协议。
* [reactphp/promise](https://github.com/reactphp/promise) ReactPHP 的 Promise 是一个轻量级的 CommonJS Promises/A 实现,用于 PHP,支持 deferred、promise、then、catch、finally 等概念,可以处理异步操作和多个 promise 的组合,适用于需要异步编程的 PHP 项目。
* [bobthecow/psysh](https://github.com/bobthecow/psysh) PsySH 是一个 PHP 运行时开发者控制台、交互式调试器和读取-评估-打印循环(REPL),更多信息请参见 psysh.org 和手册。该项目包含安装、使用、命令、配置和集成等内容。
* [PHP-CS-Fixer/PHP-CS-Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) 自动修复PHP编码标准问题的工具;无论您是想遵循PSR-1,PSR-2等中定义的PHP编码标准,还是其他社区驱动的标准,如Symfony。您还可以通过配置来定义(团队)的风格。
* [barryvdh/laravel-ide-helper](https://github.com/barryvdh/laravel-ide-helper) 适用于 Laravel 的 IDE 帮助程序,此软件包会生成帮助程序文件,使 IDE 能够提供准确的自动完成功能。生成是根据项目中的文件完成的,因此它们始终是最新的。
* [YOURLS/YOURLS](https://github.com/YOURLS/YOURLS) YOURLS 是一组 PHP 脚本,允许您在服务器上运行您自己的 短链接,URL 缩短器。您将可以完全控制您的数据、详细统计数据、分析、插件等。它是免费和开源的。
* [php-fig/simple-cache](https://github.com/php-fig/simple-cache) PHP FIG Simple Cache PSR 是一个描述缓存实现接口的标准,不是具体的缓存实现,可以通过查找提供 psr/simple-cache-implementation 虚拟包的包来找到其实现。
* [filp/whoops](https://github.com/filp/whoops) PHP 的错误处理程序框架。开箱即用,它提供了一个漂亮的错误界面,可以帮助您调试Web项目,但本质上它是一个简单而强大的堆叠错误处理系统。
* [laravel/laravel](https://github.com/laravel/laravel) PHP Web应用程序框架,具有富有表现力,优雅的语法。我们已经为您的下一个大创意奠定了基础——让您自由地进行创作,而不会为小事出汗。
* [swiftmailer/swiftmailer](https://github.com/swiftmailer/swiftmailer) Swift Mailer是一个基于组件的PHP邮件解决方案,支持现代PHP代码和第三方提供商,但已于2021年11月底停止维护,请转向使用Symfony Mailer。
* [yiisoft/yii2](https://github.com/yiisoft/yii2) 快速、安全和专业的 PHP 框架。开箱即用,预配置了合理的默认值。该框架很容易调整以满足您的需求,因为 Yii 被设计得很灵活。
* [symfony/var-dumper](https://github.com/symfony/var-dumper) 提供任意PHP变量的遍历机制,包含一个更好的`dump()`函数替代`var_dump()`。资源包括文档、贡献指南及问题提交和Pull Request指引。
* [serbanghita/Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) 一个轻量级的 PHP 类,用于检测移动设备(包括平板电脑)。它使用用户代理字符串与特定 HTTP 标头相结合来检测移动环境。
* [symfony/symfony](https://github.com/symfony/symfony) 用于Web和控制台应用程序的PHP框架以及一组可重用的PHP组件。Symfony被成千上万的Web应用程序和大多数流行的PHP项目使用。
* [phpredis/phpredis](https://github.com/phpredis/phpredis) phpredis 扩展提供了一个 API,用于与 Redis 键值存储进行通信。它还支持 KeyDB 和 Valkey,它们是 Redis 的开源替代品。
* [DesignPatternsPHP/DesignPatternsPHP](https://github.com/DesignPatternsPHP/DesignPatternsPHP) PHP 8.x 中几种设计模式的示例代码,这些模式大致可以分为三个不同的类别,Creational、Structural、Behavioral。
* [filamentphp/filament](https://github.com/filamentphp/filament) Laravel 的精美全栈组件集合。使用 Livewire、Alpine.js 和 Tailwind CSS 为您的下一个应用程序提供完美的起点。
* [codeguy/php-the-right-way](https://github.com/codeguy/php-the-right-way) 一个易于阅读的快速参考,包括 PHP 最佳实践、公认的编码标准以及指向 Web 上权威教程的链接
* [walkor/workerman](https://github.com/walkor/workerman) 异步事件驱动的 PHP 套接字框架。支持HTTP,Websocket,SSL和其他自定义协议。
* [vlucas/phpdotenv](https://github.com/vlucas/phpdotenv) 自动将环境变量从“.env”加载到“getenv()”,`$_ENV`和“$_SERVER”。
* [composer/composer](https://github.com/composer/composer) PHP 依赖管理器。Composer 帮助您声明、管理和安装 PHP 项目的依赖项。
* [sebastianbergmann/phpunit](https://github.com/sebastianbergmann/phpunit) PHP 单元测试框架。它是单元测试框架的 xUnit 体系结构的一个实例。
* [roadrunner-server/roadrunner](https://github.com/roadrunner-server/roadrunner) 高性能PHP应用程序服务器,用Go编写的进程管理器,由插件提供支持
* [slimphp/Slim](https://github.com/slimphp/Slim) PHP 微框架,可帮助您快速编写简单而强大的 Web 应用程序和 API。
* [squizlabs/PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) 对PHP文件进行标记,并检测违反一组定义的编码标准的行为。
* [octobercms/october](https://github.com/octobercms/october) 基于 Laravel PHP 框架的自托管 CMS (Content Management System) 平台。
* [guzzle/guzzle](https://github.com/guzzle/guzzle) 可以轻松发送HTTP请求的PHP库,并且与Web服务集成变得简单。
* [nikic/PHP-Parser](https://github.com/nikic/PHP-Parser) 用PHP编写的PHP解析器。其目的是简化静态代码分析和操作。
* [ziadoz/awesome-php](https://github.com/ziadoz/awesome-php) 一个精选的列表,包含令人赞叹的 PHP 库、资源和东西。
* [phpstan/phpstan](https://github.com/phpstan/phpstan) PHP 静态分析工具 - 无需运行即可发现代码中的错误!
* [Seldaek/monolog](https://github.com/Seldaek/monolog) PHP将日志发送到文件、套接字、数据库和各种Web服务
* [ramsey/uuid](https://github.com/ramsey/uuid) 用于生成通用唯一标识符 (UUID) 的 PHP 库。
* [top-think/think](https://github.com/top-think/think) ThinkPHP Framework ——十年匠心的高性能PHP框架
* [vimeo/psalm](https://github.com/vimeo/psalm) 用于查找PHP应用程序中错误的静态分析工具
* [tymondesigns/jwt-auth](https://github.com/tymondesigns/jwt-auth) 适用于PHP Laravel&Lumen的JSON 网络令牌认证
* [deployphp/deployer](https://github.com/deployphp/deployer) PHP部署工具,开箱即用,支持流行的框架
* [PHPOffice/PhpSpreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) 用于读取和写入电子表格文件的纯 PHP 库
* [phalcon/cphalcon](https://github.com/phalcon/cphalcon) 高性能、全栈 PHP 框架作为 C 扩展提供。
* [laradock/laradock](https://github.com/laradock/laradock) 适用于 Docker 的完整 PHP 开发环境。
* [typecho/typecho](https://github.com/typecho/typecho) 一个PHP博客平台。简单而强大。
* [laravel/framework](https://github.com/laravel/framework) 包含PHP Laravel框架的核心代码。
* [erusev/parsedown](https://github.com/erusev/parsedown) PHP 中更好的 Markdown 解析器。
* [spatie/laravel-permission](https://github.com/spatie/laravel-permission) PHP将用户与角色和权限关联
* [PHPMailer/PHPMailer](https://github.com/PHPMailer/PHPMailer) PHP 的经典电子邮件发送库
* [egulias/EmailValidator](https://github.com/egulias/EmailValidator) PHP 电子邮件地址验证器
* [phacility/phabricator](https://github.com/phacility/phabricator) php Web应用程序的集合。
* [Intervention/image](https://github.com/Intervention/image) PHP图像处理
### 后端项目_其他
* [uNetworking/uWebSockets](https://github.com/uNetworking/uWebSockets) 简单、安全且符合标准的 Web 服务器,适用于要求最苛刻的应用程序。μWebSockets 针对速度和内存占用进行了精心优化,速度足够快,可以比大多数替代服务器更快地完成加密的 TLS 1.3 消息传递,甚至可以执行未加密的明文消息传递。μWebSockets完全是用C&C++编写的,但与Node.js后端无缝集成。这允许使用广泛的能力快速编写功能强大的应用程序的脚本。请参见μWebSockets.js。μWebSockets 为世界上许多最大的加密货币交易所提供支持,每天处理数十亿美元的交易量。如果您交易加密货币,您很有可能通过μWebSockets进行交易。围绕一个方便的URL路由器设计,支持通配符和参数 - 与WebSockets的高效发布/订阅功能配对。μWebSockets 应该是任何具有高要求的实时 Web 项目的明显、完整的起点。μWebSockets 建立在 μSockets 之上,μSockets 是一个在三个不同层中实现事件、网络和加密的基础库。每一层都有多个实现,您可以使用标志控制编译后的组合。目前有五个事件循环集成;libuv、ASIO、GCD 和原始 epoll/kqueue。
* [yanzhenjie/AndServer](https://github.com/yanzhenjie/AndServer) AndServer是一个运行在 Android 平台上的 HTTP 和反向代理服务器,提供类似SpringMVC 的注解,方便开发者快速上手。它支持静态网页部署、动态HTTP API 部署以及反向代理服务器功能。用户可以通过简单的代码创建 Web 服务器,并使用注解定义 API 接口,例如使用 `@RestController`、`@RequestMapping`、`@PostMapping` 等注解。AndServer 还支持获取客户端连接信息,方便开发者进行定制化操作。此外,AndServer 也能作为反向代理服务器,将请求转发到指定的地址。开发者可以通过 Gradle 构建工具添加 AndServer 依赖,并根据项目需求选择相应的版本。
* [expressjs/expressjs.com](https://github.com/expressjs/expressjs.com) expressjs.com是 Express.js 官方网站的代码仓库,使用 Jekyll 静态网站生成器构建,并直接托管在 GitHub Pages 上。该项目提供本地搭建和 Docker 容器两种方式方便开发者预览网站。网站内容使用 Kramdown 标记语言编写,并使用 Liquid 模板引擎进行渲染。开发者可以自由修改模板文件和文档文件,并使用 GFM 语法块展示 JavaScript 代码。项目还提供详细的贡献指南,欢迎开发者参与翻译和改进文档。选择 Jekyll 而不是 Express.js 解决方案是因为 Jekyll 与 GitHub Pages 无缝集成,能够充分利用 GitHub Pages 的功能。
* [osohq/oso](https://github.com/osohq/oso) Oso是一个全功能的授权框架,帮助你在应用中构建授权系统。它支持多种编程语言(包括Node.js、Python、Go、Rust、Ruby和Java),并使用声明式策略语言Polar来建模常见的权限模式(如RBAC)以及自定义权限。Oso不仅能进行简单的yes/no授权,还能对集合进行过滤,例如“显示Juno能看到的记录”。此外,Oso还提供测试工具和调试器,方便开发者编写单元测试并排查问题。目前该开源库已弃用,但仍提供支持和关键错误修复,未来将发布新的开源版本。
* [s3rius/FastAPI-template](https://github.com/s3rius/FastAPI-template) 这是一个功能丰富的、健壮的FastAPI项目模板,支持多种数据库(SQLAlchemy 2.0, TortoiseORM, Piccolo, Ormar, Beanie)和ORM,并可选择生成REST或GraphQL API。它提供命令行界面(CLI)和TUI,具有良好的代码文档和测试覆盖率(近90%),还支持多种集成选项,例如Redis、RabbitMQ、Prometheus、Sentry、Opentelemetry和Taskiq,并可自定义CI/CD配置(Gitlab CI, Github Actions)和Kubernetes配置。 通过pip安装`fastapi_template`后,运行`python3 -m fastapi_template`即可根据命令行参数生成新项目。
* [zfoo-project/zfoo](https://github.com/zfoo-project/zfoo) Zfoo是一个极速异步的企业级服务器框架,采用无锁Actor设计,原生支持GraalVM,可用于RPC、游戏服务器和Web服务器。它支持热更新代码和配置,内置CPU、内存、硬盘和网络监控,并提供丰富的功能,例如事件总线、时间任务调度和MongoDB ORM。其自研协议支持多种语言(C++、Rust、Java/Kotlin/Scala、JavaScript/TypeScript/ES、C#、Go、Php、Ruby、Lua、GDScript、Python、Dart、Swift),适用于对性能要求极高的项目,例如游戏服务器和网站后端。
* [letsencrypt/boulder](https://github.com/letsencrypt/boulder) Boulder是一个用Go语言编写的基于ACME协议的证书颁发机构(CA),运行着Let's Encrypt。它由Web前端、注册机构、验证机构、证书机构、存储机构、发布者、OCSP响应器和CRL更新器等组件构成,通过gRPC进行组件间通信,以安全上下文分离CA功能。Boulder的核心逻辑围绕账户、授权、挑战、订单和证书这五种对象展开,并使用MariaDB进行持久化存储。开发环境推荐使用Docker Compose,而Pebble则更适合持续集成和快速实验。
* [dexidp/dex](https://github.com/dexidp/dex) Dex是一个可扩展的OpenID Connect身份提供商和OAuth 2.0提供商,通过插件式连接器连接LDAP服务器、SAML提供商以及GitHub、Google和Active Directory等身份提供商,将身份验证委托给这些后端。Dex使用JSON Web Tokens (JWT)签署并返回ID Tokens,这些令牌包含标准声明,可被Kubernetes和AWS STS等系统用作服务间凭据,简化了应用程序的身份验证流程。Dex原生运行于Kubernetes集群之上,可通过OpenID Connect插件驱动API服务器身份验证。
* [fastapiutils/fastapi-utils](https://github.com/fastapiutils/fastapi-utils) fastapi-utils是一个用于加速FastAPI开发的Python工具包,提供多种可复用的实用程序,例如简化CRUD操作的Resource类、基于类的视图、定时任务触发器、以及OpenAPI规范简化工具等。它还包含许多基础工具,例如API模型基类、环境变量配置类、字符串枚举类和大小写转换函数等,旨在减少样板代码并提高代码复用性,支持Python 3.8+及最新FastAPI版本。 通过pip安装,并根据需要选择安装不同功能模块。
* [twitchtv/twirp](https://github.com/twitchtv/twirp) Twirp 是一个强调简洁和极简主义的 RPC 框架,通过 Protobuf 服务定义生成路由和序列化,让你专注于应用逻辑而非 HTTP 方法和 JSON。它基于标准库的高性能 `net/http` 服务器,支持 HTTP 1.1 和 JSON 序列化,还提供自动生成的客户端和简单的错误传递框架。该项目包含 Go 实现的生成器和运行库,已有多种语言的第三方实现,如 Crystal、Dart、Elixir、Java、JavaScript、Kotlin、PHP、Python、Ruby、Rust 和 Scala。
* [build-trust/ockam](https://github.com/build-trust/ockam) Ockam是一个开源项目,提供一系列库和命令行工具,用于在分布式应用之间大规模编排端到端加密、相互认证、密钥管理和授权策略。它能够确保数据在传输过程中的真实性、完整性和机密性,并允许应用对每个信任和访问决策进行精细控制,从而构建安全可靠的应用。Ockam支持使用命令行工具或编程库快速搭建安全通信,例如通过端到端加密的云中继实现私有网络中的应用间安全通信。
* [Sylius/Sylius](https://github.com/Sylius/Sylius) Sylius 是基于 Symfony 的开源电子商务框架,具有高质量代码、强大的测试文化、内置的敏捷开发流程和高度灵活性,支持 REST API 便于集成和多设备上的独特客户体验。它使用全栈行为驱动开发(BDD),包括 phpspec 和 Behat。Sylius Plus 提供模块化功能如一键结账和B2B套件等高级能力。项目在 Slack 和 Stack Overflow 上提供支持,也可购买 Sylius Plus 获得专业支持。Sylius 完全免费并遵循 MIT 许可证。
* [purpleidea/mgmt](https://github.com/purpleidea/mgmt) mgmt是一个新一代分布式、事件驱动、并行的配置管理工具,它能够构建实时闭环反馈系统。使用简洁的mcl语言,可以轻松实现例如根据日期动态调整文件服务器权限等功能。mgmt支持持续运行、间歇运行或按需运行模式,并能作为去中心化集群在网络中运行,实时交换信息以响应变化的需求,例如动态分配资源到最多两台主机。 该项目包含一个引擎和一门语言,目前处于开发中。
* [tumobi/nideshop](https://github.com/tumobi/nideshop) NideShop 是一个开源微信小程序商城服务端 API,基于 Node.js + ThinkJS,支持微信小程序五星级购物(主要为2016年wap版),包含测试数据的在线商城五星级购物,功能和数据库支持ecshop,服务端API基于Node.js+ThinkJS+MySQL,架构基于Vue.js的后台管理系统、PC版、H5版。该项目旨在支持微信小程序使用,GitHub地址:[https://github.com/tumobi/nideshop-mini-program](https://github.com/tumobi/nideshop-mini-program)。
* [astaxie/beego](https://github.com/astaxie/beego) beego是一个用于Go语言的高性能开源Web框架,用于快速开发企业级应用,包括RESTful APIs、Web应用和后台服务,其设计灵感源于Tornado、Sinatra和Flask,并具有Go特有的特性。beego由基础模块(日志、配置、限流)、任务调度、客户端(ORM、httplib、缓存)和服务器(Web模块,未来支持gRPC)四个部分组成,并支持MVC架构、自动API文档生成、注解路由等特性,提供强大的开发工具。
* [ory/oathkeeper](https://github.com/ory/oathkeeper) ORYOathkeeper是一个云原生身份与访问代理(IAP)和访问控制决策API,用于认证、授权和修改传入的HTTP(s)请求,其设计灵感源自BeyondCorp/零信任白皮书,使用Go语言编写。它可以作为API网关部署在面向web的应用前面,并与Ambassador、Envoy、AWS API Gateway、Nginx等多种API网关或反向代理集成,实现基于访问规则的请求授权。该项目稳定但仍在积极开发中,未来版本可能包含重大变更。
* [y123456yz/reading-code-of-nginx-1.9.2](https://github.com/y123456yz/reading-code-of-nginx-1.9.2) 该项目是对 Nginx 1.9.2 源码进行通读分析并添加中文注释,包含详尽的函数中文分析注释以及相关函数流程调用注释,旨在帮助开发者更深入地理解 Nginx 的工作原理。项目特色是提供最全面的 Nginx 源码阅读分析中文注释,并已更新完毕。该项目适用于希望深入学习 Nginx 源码、了解其内部机制的开发者,以及需要进行 Nginx 性能优化或定制开发的工程师。
* [uriyyo/fastapi-pagination](https://github.com/uriyyo/fastapi-pagination) fastapi-pagination是一个用于简化FastAPI应用分页的Python库,它提供工具函数和数据模型来帮助分页数据库查询并返回分页响应。该库支持多种分页策略(如游标和页数分页),兼容多种数据库框架(包括SQLAlchemy、Tortoise ORM和PyMongo),支持异步/等待语法,并与Python 3.8及更高版本兼容,只需使用`Page`类作为端点返回类型并调用`paginate`函数即可实现分页。
* [openapi-generators/openapi-python-client](https://github.com/openapi-generators/openapi-python-client) openapi-python-client项目利用OpenAPI 3.0和3.1规范生成现代化的Python客户端,它采用Python和Jinja2模板编写,充分利用类型注解和dataclass等Python特性,提供良好的开发者体验和易于扩展的特性,支持自定义模板,但目前尚处于开发中,并非所有OpenAPI功能都已支持。 通过命令行工具,用户可轻松生成客户端代码,并可指定OpenAPI规范的URL或本地文件路径。
* [HangfireIO/Hangfire](https://github.com/HangfireIO/Hangfire) Hangfire是一个易于使用的.NET和.NET Core后台作业处理库,无需单独的Windows服务或进程即可实现fire-and-forget、延迟和循环作业。它支持CPU和I/O密集型任务,并提供可靠的编程模型,兼容Redis、SQL Server、SQL Azure和MSMQ等存储,可用于各种场景,例如批量导入、发送通知和数据库维护等。Hangfire提供直观的仪表盘界面,方便监控和管理后台任务。
* [koding/kite](https://github.com/koding/kite) Kite是一个用Go语言编写的微服务框架,它本身也是一个微服务,充当RPC服务器和客户端。Kite通过Kontrol服务进行服务发现,并使用WebSocket或XHR进行双向通信,允许Web应用直接连接。Kite之间通过dnode协议在socket会话上交换消息,客户端可直接连接已知URL的服务器,或通过Kontrol获取URL。Kontrol是Kites的服务注册和认证服务,本身也是一个Kite。
* [coleifer/huey](https://github.com/coleifer/huey) Huey是一个轻量级的Python任务队列,支持Redis、SQLite、文件系统或内存存储。它具有简洁易用的API,可以执行多进程、多线程或协程任务,并支持任务调度(包括定时和周期性任务)、重试、优先级、结果存储、过期和锁定等功能,方便用户管理和执行后台任务。通过简单的装饰器即可定义任务,并提供命令行工具来运行消费者。
* [micro/micro](https://github.com/micro/micro) Micro是一个API优先的开发平台,它通过提供一系列作为任何平台构建块的API来解决云中构建服务的核心需求,简化分布式系统复杂性,提供更简单的可编程抽象。其特色包括微内核架构、HTTP和gRPC API、Go SDK和CLI以及环境支持,方便服务创建、管理和本地/云端无缝切换。通过简单的命令即可安装和启动服务器,并使用CLI管理服务。
* [fagongzi/manba](https://github.com/fagongzi/manba) Manba是一个基于HTTP的RESTful API网关,作为统一的API访问层,提供流量控制、熔断器、负载均衡、服务发现等功能,并支持插件扩展、路由配置、API聚合、权限控制、结果缓存、JWT认证等特性。它包含proxy和apiserver两个组件,分别负责客户端服务和元数据管理,并提供Docker镜像和Web UI方便部署和管理。项目提供详细教程和文档。
* [tsuru/tsuru](https://github.com/tsuru/tsuru) Tsuru是一个开源可扩展的平台即服务(PaaS),它使应用程序部署更快更容易。开发者无需关心服务器,可以使用自己选择的编程语言编写应用,并通过附加资源(如SQL和NoSQL数据库)支持应用,使用tsuru命令行工具管理应用,支持多种流行编程语言(如Python、Node.js、Go、Ruby等)。Tsuru基于Kubernetes,提供Minikube和GKE等安装指南。
* [hyperdxio/hyperdx](https://github.com/hyperdxio/hyperdx) HyperDX是一个开源可观测性平台,整合会话回放、日志、指标、跟踪和错误,由Clickhouse和OpenTelemetry支持,帮助工程师快速解决生产问题。主要特点包括端到端关联、Clickhouse驱动的高性能、直观的全文搜索和属性搜索、健康和性能监控、自动事件模式聚类、无复杂查询语言的仪表盘、一键设置告警和自动结构化日志解析。
* [brick-design/brick-design](https://github.com/brick-design/brick-design) 低代码框架,支持流式布局与自由布局拖拽编排,可视化拖拽、随意嵌套组合、实时渲染、实时辅助线展示、自由布局支持辅助对齐、支持自动吸附、实时组件间距展示、实时拖拽排序、状态域管理,可视化属性配置、可视化样式配置、多设备适配展示,支持逻辑渲染、模板字符变量、表达式、自定义方法、自定义状态
* [afex/hystrix-go](https://github.com/afex/hystrix-go) hystrix-go是Netflix Hystrix库的Go语言实现,用于隔离对远程系统和服务的访问,防止级联故障,提升复杂分布式系统的弹性。它允许Go程序员轻松构建具有类似Java Hystrix库执行语义的应用程序,通过定义回退函数处理服务中断,并提供同步和异步API以及可配置的健康检查和超时设置,还支持Hystrix Dashboard集成监控指标。
* [long2ice/fastapi-cache](https://github.com/long2ice/fastapi-cache) fastapi-cache是一个用于缓存FastAPI响应和函数结果的工具,支持Redis、Memcached和Amazon DynamoDB后端。它易于集成到FastAPI中,支持HTTP缓存头(如ETag和Cache-Control)以及条件请求(如If-Match-None),并通过`@cache`装饰器方便地缓存FastAPI端点和普通函数的结果,可自定义缓存过期时间、命名空间、编码器和键构建器等参数。
* [NYTimes/gizmo](https://github.com/NYTimes/gizmo) 纽约时报的Gizmo微服务工具包(已进入维护模式,2021年4月之后不再更新)提供标准化配置、日志记录、健康检查、pprof端点和日志级别配置等功能,支持优雅关机和多种服务实现,包含用于构建服务器和发布/订阅守护程序的包,并整合了go-kit,方便与谷歌云平台集成,提供监控、追踪和指标等可观测性功能。
* [goadesign/goa](https://github.com/goadesign/goa) Goa是一个Go语言框架,采用设计优先的方法构建API,使用简单的Go DSL描述服务API设计,自动生成服务辅助代码、客户端代码和文档,支持HTTP和gRPC,并可通过插件扩展功能,例如集成Go kit库。它将服务设计描述为独立于传输层的简单方法,并定义了不同传输方式下的数据序列化方式,从而实现清晰的层次分离。
* [laurents/slowapi](https://github.com/laurents/slowapi) SlowApi是一个针对Starlette和FastAPI框架的速率限制库,基于flask-limiter并支持同步和异步HTTP端点,可使用redis、memcached和内存作为后端存储限制信息。它支持在端点函数上使用单一或多个限制装饰器,并允许跨多个路由共享限制,但目前不支持websocket端点,且需要在端点函数中显式传入request参数才能正常工作。
* [awtkns/fastapi-crudrouter](https://github.com/awtkns/fastapi-crudrouter) fastapi-crudrouter是一个FastAPI扩展库,能自动为你的数据模型创建CRUD(创建、读取、更新、删除)路由,极大加快开发速度。它支持多种数据库后端(包括内存数据库、SQLAlchemy、Databases等),并提供分页、自定义Schema、路由控制等高级功能,且已准备好用于生产环境。只需几行代码,即可生成完整的CRUD接口。
* [ycd/manage-fastapi](https://github.com/ycd/manage-fastapi) manage-fastapi是一个FastAPI项目生成和管理的命令行工具,可以轻松创建可定制的FastAPI项目和应用模板,包括项目结构搭建、Dockerfile和docker-compose文件生成以及pre-commit钩子生成等功能,支持交互式模式和丰富的命令行选项,通过`pipinstall manage-fastapi`安装,使用`fastapi startproject [name]`命令即可快速启动项目。
* [keycloak/keycloak](https://github.com/keycloak/keycloak) Keycloak是一个开源的身份和访问管理系统,旨在为现代应用和服务简化身份验证和授权流程,无需自行管理用户和身份验证。它提供用户联合、强身份验证、用户管理、细粒度授权等功能,方便开发者快速集成身份认证系统。用户可通过官网下载或Docker镜像运行Keycloak,并参考文档进行部署和使用。
* [rudderlabs/rudder-server](https://github.com/rudderlabs/rudder-server) RudderStack是一个开源的客户数据平台(CDP),使用Go和React开发,注重隐私和安全。它提供易于使用的SDK和集成,帮助你收集来自各种应用、网站和SaaS平台的数据,并将其发送到你的数据仓库和业务工具中,构建更智能的客户数据管道,支持近实时同步和数据转换。RudderStack Cloud提供免费试用。
* [RichardKnop/machinery](https://github.com/RichardKnop/machinery) Machinery是一个基于分布式消息传递的异步任务队列/作业队列,支持多种消息代理和结果存储后端(如Redis、AMQP、DynamoDB和GCP Pub/Sub)。它允许定义、发送和管理任务,包括延迟任务、重试任务以及支持工作流功能(如组、和弦和链)。 V2版本推荐使用依赖注入方式,提高了灵活性。
* [open-policy-agent/opa](https://github.com/open-policy-agent/opa) OpenPolicy Agent (OPA)是一个开源的通用策略引擎,用于在整个技术栈中实现统一的、上下文感知的策略执行。它使用Rego语言编写策略,并提供丰富的文档、示例和社区支持,方便用户快速上手和集成到各种系统中,目前已成为CNCF毕业项目。OPA通过REST API或Go SDK等方式与其他服务集成。
* [go-martini/martini](https://github.com/go-martini/martini) Martini是一个已不再维护的Go语言轻量级Web框架,以其简单易用、模块化设计和强大的路由功能而闻名,它允许开发者快速构建模块化的Web应用或服务,并兼容`http.HandlerFunc`接口,提供默认的日志记录、错误恢复和静态文件服务等功能,更多扩展功能可通过martini-contrib项目获得。
* [0xJacky/nginx-ui](https://github.com/0xJacky/nginx-ui) Nginx UI是一个由 0xJacky 和 Hintay 开发的 Nginx Web界面,提供多种语言版本,支持从可执行文件、systemd和 Docker 等方式启动,并提供详细的文档和演示。用户可以通过 Nginx UI 界面查看 Nginx 的状态信息、配置信息、日志信息等,并进行一些简单的操作,例如重启 Nginx、修改配置等。
* [hoisie/web](https://github.com/hoisie/web) web.go是一个轻量级的Go语言Web框架,以其简单易用著称,非常适合构建高性能的简单后端Web服务。它支持基于正则表达式的路由、安全Cookie、FastCGI和SCGI,并能将Web应用编译成原生代码,从而实现快速执行和页面渲染速度。该项目提供简洁的API和示例,方便开发者快速上手。
* [zitadel/zitadel](https://github.com/zitadel/zitadel) ZITADEL是一个简化的开源身份基础设施,提供多租户用户管理、安全登录、自助服务等开箱即用功能,支持OpenIDConnect、OAuth2.x、SAML2、LDAP、Passkeys/FIDO2和OTP等多种认证方式,并具有无限审计跟踪功能,旨在快速搭建类似Auth0的易用性和Keycloak的开源性相结合的用户管理工具。
* [tiangolo/uvicorn-gunicorn-fastapi-docker](https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker) 该项目是一个已弃用的Docker镜像,用于构建高性能的FastAPI应用,它使用Gunicorn管理Uvicorn,并具有性能自动调整功能。现在已不再需要此镜像,可以直接使用Uvicorn的`--workers`参数。该项目曾提供多种Python版本(包括3.6到3.11)的镜像,但目前仅支持3.9, 3.10和3.11及其精简版。
* [netlify/gotrue](https://github.com/netlify/gotrue) GoTrue是一个用Go语言编写的开源API服务,用于管理用户和颁发SWT令牌,主要面向Jamstack项目。它基于OAuth2和JWT,处理用户注册、身份验证和自定义用户数据,支持通过配置文件或环境变量配置,包括数据库连接、API设置、日志记录和追踪等,并需要手动运行迁移。
* [typicode/hotel](https://github.com/typicode/hotel) typicode/hotel 是一个简单的开发者进程管理工具,可以从浏览器启动应用程序并使用本地域名访问。它支持多种服务器(如Node、PHP、Ruby、Python等),无需修改端口、hosts文件或使用sudo,且默认使用 `.localhost` 域名。安装方法为 `npm install -g hotel && hotel start`。
* [prometheus/client_python](https://github.com/prometheus/client_python) PrometheusPython Client是Prometheus官方提供的Python客户端库,用于将Python应用指标数据导出到Prometheus监控系统。通过pip install prometheus-client安装,详细文档见https://prometheus.github.io/client_python。该库帮助开发者轻松集成Prometheus监控,实现应用性能和状态的监控和告警。
* [Kludex/awesome-fastapi-projects](https://github.com/Kludex/awesome-fastapi-projects) 该项目是一个收集优秀FastAPI项目的列表网站,使用React和Next.js构建前端,并通过GitHub Pages静态托管;后端基于FastAPI,项目提供详细的本地开发环境搭建指南,包括Python 3.11.4环境配置、依赖安装和前端运行等步骤,方便开发者学习和参考优秀FastAPI项目。
* [taskforcesh/bullmq](https://github.com/taskforcesh/bullmq) BullMQ是一个基于Redis的快速可靠的分布式消息队列,支持Node.js和Python,旨在提供强大的稳定性和原子性。它具有高性能,并提供用于监控和管理队列的专业前端,一些知名组织如微软也在使用它。BullMQ还提供BullMQ Proxy,支持在Node.js以外的平台上使用。
* [jasontaylordev/CleanArchitecture](https://github.com/jasontaylordev/CleanArchitecture) 利用干净体系结构和 ASP.NET 核心的强大功能,为企业应用程序开发提供一种简单有效的方法。使用此模板,您可以毫不费力地创建具有 ASP.NET Core和Angular或React的单页应用程序(SPA),同时遵守清洁架构的原则。入门很简单 - 只需安装 .NET 模板。
* [doorkeeper-gem/doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) Doorkeeper是一个用于Ruby on Rails和Grape应用的强大OAuth 2提供程序gem,支持授权码流程、访问令牌范围、刷新令牌、隐式授权、资源所有者密码凭据、客户端凭据等多种OAuth 2.0特性,并包含令牌撤销和自省功能,方便开发者轻松集成OAuth 2.0功能。
* [stalniy/casl](https://github.com/stalniy/casl) CASL是一个用于JavaScript的同构授权库,限制用户可以访问的资源。它支持声明式规则,易于扩展,可用于前后端,并提供与多种前端框架和后端ORM的集成包(如Angular, React, Vue, Mongoose, Prisma),核心库仅6KB,具有类型安全和树状结构等特性。
* [ory/keto](https://github.com/ory/keto) OryKeto是一个高度可扩展和可定制的开源权限服务器,基于Google的“Zanzibar”方法,支持ACL、RBAC等多种权限模型,使用Go语言编写,支持云原生部署和本地自托管,并提供Ory Network上的服务。它能够快速解决缓慢或故障的权限系统问题。
* [Netflix/dispatch](https://github.com/Netflix/dispatch) Netflix的Dispatch项目是一个事件管理平台,它整合了Slack、GSuite、Jira等现有工具,自动化处理安全事件的各个阶段,包括资源创建、人员召集、通知发送、任务追踪和事后复盘,从而帮助团队更高效地解决问题并减少人为操作。
* [huginn/huginn](https://github.com/huginn/huginn) 用于构建代理的系统,这些代理可以为您在线执行自动化任务。他们可以阅读网络、监视事件并代表您采取行动。Huginn 的代理创建和使用事件,并沿有向图传播它们。将其视为您自己的服务器上 IFTTT 或 Zapier 的可破解版本。
* [twitter/finagle](https://github.com/twitter/finagle) 容错、与协议无关的 RPC 系统。JVM 的可扩展 RPC 系统,用于构建高并发服务器。Finagle 为多种协议实现了统一的客户端和服务器 API,专为高性能和并发性而设计。Finagle 的大部分代码都与协议无关,从而简化了新协议的实现。
* [drizzle-team/drizzle-orm](https://github.com/drizzle-team/drizzle-orm) TypeScript ORM。在 Node、Bun 和 Deno 上运行。也是一个 JavaScript ORM。支持所有 PostgreSQL、MySQL 和 SQLite 数据库,包括 Turso、Neon、Xata、PlanetScale、Cloudflare D1、FlyIO LiteFS、Vercel Postgres、Supabase 和 AWS Data API 等无服务器数据库。
* [calcom/cal.com](https://github.com/calcom/cal.com) 为所有人安排基础设施。Calendly 和其他调度工具很棒。它使我们的生活变得非常轻松。我们用它来参加商务会议、研讨会、瑜伽课,甚至与家人通话。但是,大多数工具在控制和定制方面都非常有限。
* [locustio/locust](https://github.com/locustio/locust) 易于使用、可编写脚本且可扩展的性能测试工具。在常规 Python 代码中定义负载测试,而不是受仅假装为真实代码的 UI 或域特定语言的约束。这使得 Locust 可以无限扩展并且对开发人员非常友好。
* [go-macaron/macaron](https://github.com/go-macaron/macaron) Go-Macaron是一个高生产力、模块化的Go语言Web框架,具有强大的路由功能、灵活的中间件机制以及依赖注入等特性,方便扩展和集成现有服务;目前处于维护模式,建议尝试其继任者Flamego。
* [hashicorp/vagrant](https://github.com/hashicorp/vagrant) 用于构建和分发开发环境的工具。由Vagrant管理的开发环境可以在本地虚拟化平台(如VirtualBox或VMware)上运行,通过AWS或OpenStack在云中运行,或者在容器(如Docker或原始LXC)上运行。
* [jeecgboot/jeecg-boo](https://github.com/jeecgboot/jeecg-boot) 「企业级低代码平台」前后端分离架构SpringBoot,SpringCloud,Ant Design&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码。
* [grpc/grpc](https://github.com/grpc/grpc) 现代、开源、高性能的远程过程调用 框架,可以在任何地方运行。gRPC 使客户端和服务器应用程序能够透明地进行通信,并简化连接系统的构建。
* [FiloSottile/mkcert](https://github.com/FiloSottile/mkcert) 一个简单的零配置工具,用于使用您想要的任何名称创建本地信任的开发证书。用于制作本地信任的开发证书的简单工具。它不需要任何配置。
* [ripienaar/free-for-dev](https://github.com/ripienaar/free-for-dev) SaaS、PaaS 和 IaaS 产品列表,这些产品对 DevOps 和 infradev 部分免费。现在有许多服务提供免费套餐,但找到它们都需要时间来做出明智的决定。
* [illacloud/illa-builder](https://github.com/illacloud/illa-builder) 健壮的开源低代码平台,开发人员可以使用它来构建内部工具。通过使用ILLA的组件和动作库,开发人员可以保存大量构建工具的时间。
* [YaoApp/yao](https://github.com/YaoApp/yao) 高性能低代码应用引擎,可在数分钟内创建Web服务和应用,适用于AI、IoT、工业互联网、车联网、DevOps、能源、金融和许多其他用例。
* [wagtail/wagtail](https://github.com/wagtail/wagtail) 基于 Django 的开源内容管理系统,拥有强大的社区和商业支持。它专注于用户体验,并为设计人员和开发人员提供精确的控制。
* [Budibase/budibase](https://github.com/Budibase/budibase) 用于在几分钟内创建内部工具、工作流和管理面板的低代码平台。支持 PostgreSQL、MySQL、MSSQL、MongoDB、Rest API、Docker、K8s 等
* [lowdefy/lowdefy](https://github.com/lowdefy/lowdefy) 开源、自托管、低代码的框架,用于使用YAML或JSON构建内部工具、Web应用、管理面板、BI仪表板、工作流和CRUD应用。
* [activepieces/activepieces](https://github.com/activepieces/activepieces) 您最友好的开源多合一自动化工具 工作流自动化工具 ✨ 100+ 集成 / 企业自动化工具 / ChatBot / Zapier相关应用
* [Netflix/conductor](https://github.com/Netflix/conductor) Netflix 创建的一个平台,用于编排跨微服务的工作流程。Conductor 由 Netflix 的媒体工作流基础设施团队维护。
* [hoppscotch/hoppscotch](https://github.com/hoppscotch/hoppscotch) 开源 API 开发生态系统。轻量级:采用简约的 UI 设计精心打造。快速:实时发送请求和获取/复制响应。
* [reactioncommerce/reaction](https://github.com/reactioncommerce/reaction) 使用 Node.js、MongoDB 和 GraphQL 构建的 API 优先、无头商务平台。它与 npm、Docker 和 Kubernetes 配合得很好。
* [caprover/caprover](https://github.com/caprover/caprover) 最简单的应用程序/数据库部署平台和 Web 服务器包,适用于 NodeJS、Python、PHP、Ruby、Go 应用程序。
* [apache/brpc](https://github.com/apache/brpc) 使用C++语言的工业级RPC框架,通常用于高性能系统,如搜索,存储,机器学习,广告,推荐等。
* [nwjs/nw.js](https://github.com/nwjs/nw.js) 直接从 DOM/WebWorker 调用所有 Node.js 模块,并启用一种使用所有 Web 技术编写应用程序的新方法。
* [dastergon/awesome-sre](https://github.com/dastergon/awesome-sre) 站点可靠性和生产工程资源的精选列表。站点可靠性工程(SRE)是 IT 运维的软件工程方案。
* [apitable/apitable](https://github.com/apitable/apitable) 面向 API 的低代码平台,用于构建协作应用程序,比所有其他 Airtable 开源替代品都要好。
* [allinurl/goaccess](https://github.com/allinurl/goaccess) 一个实时 Web 日志分析器和交互式查看器,可在 *nix 系统的终端中或通过浏览器运行。
* [directus/directus](https://github.com/directus/directus) 即时 REST+GraphQL API 和直观的无代码数据协作应用程序,适用于任何 SQL 数据库。
* [dokku/dokku](https://github.com/dokku/dokku) 基于 Docker 的 PaaS,可帮助您构建和管理应用程序的生命周期
* [zeromicro/go-zero](https://github.com/zeromicro/go-zero) 带有 cli 工具的云原生 Go 微服务框架,可提高工作效率。
* [pinpoint-apm/pinpoint](https://github.com/pinpoint-apm/pinpoint) APM,用于大规模分布式系统的应用程序性能管理工具。
* [netdata/netdata](https://github.com/netdata/netdata) 以高分辨率和实时监控您的服务器、容器和应用程序!
* [baidu/amis](https://github.com/baidu/amis) 前端低代码框架,通过 JSON 配置就能生成各种页面。
* [baidu/amis](https://github.com/baidu/amis) 前端低代码框架,通过 JSON 配置就能生成各种页面。
* [typicode/json-server](https://github.com/typicode/json-server) 在不到 30 秒的时间内获得零编码的完整伪造 REST API
* [RunaCapital/awesome-oss-alternatives](https://github.com/RunaCapital/awesome-oss-alternatives) 知名 SaaS 产品的开源初创公司替代品的超棒列表
* [alibaba/lowcode-engine](https://github.com/alibaba/lowcode-engine) 一套面向扩展设计的企业级低代码技术体系
* [awesome-foss/awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) 非常棒的开源系统管理员资源的精选列表。
* [mfornos/awesome-microservices](https://github.com/mfornos/awesome-microservices) 微服务架构相关原则和技术的精选列表。
* [go-kratos/kratos](https://github.com/go-kratos/kratos) 面向云原生时代的终极 Go 微服务框架。
* [digitalocean/nginxconfig.io](https://github.com/digitalocean/nginxconfig.io) 配置NGINX服务器所需的唯一工具。
* [node-red/node-red](https://github.com/node-red/node-red) 事件驱动应用程序的低代码编程
* [phanan/htaccess](https://github.com/phanan/htaccess) 有用的 .htaccess 代码段的集合。
* [taowen/awesome-lowcode](https://github.com/taowen/awesome-lowcode) 国内低代码平台从业者交流
* [openblocks-dev/openblocks](https://github.com/openblocks-dev/openblocks) 开源低代码替代方案
## 网络信息服务
### 信息沟通
* [stalwartlabs/mail-server](https://github.com/stalwartlabs/mail-server) 安全且现代的一体化邮件服务器(IMAP、JMAP、POP3、SMTP)。开源邮件服务器解决方案,支持 JMAP、IMAP4、POP3 和 SMTP 以及广泛的现代功能。它是用 Rust 编写的,旨在安全、快速、健壮和可扩展。主要特点: JMAP、IMAP4、POP3 和 ManageSieve 服务器: 具有 Sieve 脚本、WebSocket、Blob 管理和 Quotas 扩展的 JMAP 服务器。 IMAP4rev2 和 IMAP4rev1 服务器,支持多种扩展。 具有扩展、STLS 和 SASL 支持的 POP3 服务器。 用于管理 Sieve 脚本的 ManageSieve 服务器。 SMTP 服务器: 内置 DMARC、DKIM、SPF 和 ARC 支持邮件身份验证。 通过 DANE、MTA-STS 和 SMTP TLS 报告实现强大的传输安全性。 使用精细配置规则、sieve 脚本、MTA 钩子和更精细的集成进行入站限制和过滤。 分布式虚拟队列,支持延迟交付、优先交付、配额、路由规则和限制。 信封重写和消息修改。 内置垃圾邮件和网络钓鱼过滤器: 与流行的解决方案相当的全面过滤规则集。 LLM 驱动的垃圾邮件过滤和邮件分析。 具有自动训练功能的统计垃圾邮件分类器。 DNS 阻止列表 (DNSBL) 检查 IP 地址、域和哈希值。 使用 Pyzor 进行基于摘要的协作式垃圾邮件筛选。 针对同形 URL 攻击、发件人欺骗和其他技术的网络钓鱼防护。 可信回复跟踪,用于识别真实的电子邮件回复并确定其优先级。 按 IP 地址、ASN、域和电子邮件地址监控发件人声誉。 灰名单,暂时推迟未知发件人。 垃圾邮件陷阱,用于设置诱饵电子邮件地址,以捕获和分析垃圾邮件。 灵活且可扩展: 支持 RocksDB、FoundationDB、PostgreSQL、mySQL、SQLite、S3-Compatible、Redis 和 ElasticSearch 的可插拔存储后端。 集群支持节点自动发现和分区容忍故障检测。 提供 17 种语言的全文搜索。 Sieve 脚本语言,支持所有已注册的扩展。 电子邮件别名、邮件列表、子地址和无限别名地址支持。 使用 autoconfig 和 autodiscover 自动配置和发现账户。 通过域和租户隔离实现多租户支持。 每个用户和租户的磁盘配额。 安全可靠: 使用 S/MIME 或 OpenPGP 进行静态加密。 使用 TLS-ALPN-01、DNS-01 或 HTTP-01 质询通过 ACME 自动配置 TLS 证书。 自动阻止攻击、滥用或扫描服务器以查找漏洞的 IP 地址。 速率限制。 安全审计(阅读报告)。 内存安全(感谢 Rust)。 身份验证和授权: OpenID Connect 身份验证。 使用授权代码和设备授权流程的 OAuth 2.0 授权。 LDAP、OIDC、SQL 或内置身份验证后端支持。 使用基于时间的一次性密码 (2FA-TOTP) 进行双重身份验证 应用程序密码 (App Passwords)。 角色和权限。 访问控制列表 (ACL)。 可观测性: 使用 OpenTelemetry、journald、日志文件和控制台支持进行日志记录和跟踪。 使用 OpenTelemetry 和 Prometheus 集成的指标。 用于事件驱动型自动化的 Webhook。 电子邮件和 Webhook 通知的警报。 实时跟踪和指标。 基于 Web 的管理: 具有实时统计信息和监控的仪表板。帐户、域、群组和邮件列表管理。邮件和出站 DMARC 和 TLS 报告的 SMTP 队列管理。用于接收的 DMARC、TLS-RPT 和故障 (ARF) 报告的报告可视化界面。配置邮件服务器的各个方面。具有搜索和筛选功能的日志查看器。用于密码重置和静态加密密钥管理的自助服务门户。
* [tdlib/td](https://github.com/tdlib/td) TDLib(Telegram 数据库库)是一个用于构建 Telegram 客户端的跨平台库。它几乎可以在任何编程语言中轻松使用。TDLib 有很多优点。值得注意的是 TDLib :跨平台: TDLib 可在 Android、iOS、Windows、macOS、Linux、FreeBSD、OpenBSD、NetBSD、illumos、Windows Phone、WebAssembly、watchOS、tvOS、visionOS、Tizen、Cygwin 上使用。它还应该在其他 *nix 系统上工作,无论是否付出最小的努力。多语言: TDLib 可以很容易地与任何能够执行 C 函数的编程语言一起使用。此外,它已经具有本机 Java(使用 JNI )绑定和 .NET(使用 C++/CLI 和 C++/CX )绑定。易于使用: TDLib 负责所有网络实施细节、加密和本地数据存储。高性能:在 Telegram Bot API 中,每个 TDLib 实例同时处理超过 24000 个活动机器人。有据可查:所有 TDLib API 方法和公共接口都有完整的文档记录。一致性: TDLib 保证所有更新都以正确的顺序交付。可靠: TDLib 在缓慢且不可靠的 Internet 连接上保持稳定。安全:所有本地数据都使用用户提供的加密密钥进行加密。完全异步:请求 TDLib 不要相互阻止或其他任何内容,响应在可用时发送。
* [TKkk-iOSer/WeChatPlugin-MacOS](https://github.com/TKkk-iOSer/WeChatPlugin-MacOS) MacOS微信小助手 v2.0,消息自动回复、消息防撤回、远程控制(已支持语音)、微信多开、第二次登录免认证、聊天置底功能(类似置顶)、微信窗口置顶、会话多选删除、自动登录开关、通知中心快捷回复、聊天窗口表情包复制 & 存储、小助手检测更新提醒、alfred 快捷发送消息 & 打开窗口 (需安装:wechat-alfred-workflow)、会话一键已读、一键清除空会话、支持国际化、新增一键更新、新增关于小助手、去除微信url转链、史上最强 alfred 扩展、新增移除会话(不删除聊天记录)、菜单栏(关于小助手)新增 alfred 开关、新增是否使用微信自带浏览器开关、新增LaunchBar 扩展、新增禁止微信检测更新开关(非App Store版本)、新增小助手.app安装方式、支持退群监控,撤回消息定位
* [modoboa/modoboa](https://github.com/modoboa/modoboa) Modoboa是一个简化的邮件托管和管理平台,提供现代化的 Web 用户界面,包含管理面板和 Webmail 等实用组件。它与 Postfix 或 Dovecot等知名软件集成,并使用 SQL 数据库(MySQL、PostgreSQL 或 SQLite)作为所有组件之间通信的中心点。Modoboa 以模块化设计,易于扩展,所有现有功能都是扩展。它使用 Python 3 编写,并使用 Django、jQuery 和 Bootstrap 框架。主要功能包括管理面板、声誉保护(DNSBL 检查、DMARC 报告等)、Amavis 前端、Webmail、日历、通讯录、用户级 Sieve 过滤器、Postfix 自动回复消息和电子邮件流量统计图表。可以通过官方安装程序轻松安装,详细文档可帮助用户安装、使用或扩展 Modoboa。提供演示安装供试用,并通过 Discord 和 Github 提供社区支持。
* [berty/berty](https://github.com/berty/berty) 安全的点对点消息传递应用程序,无论是否具有互联网访问、蜂窝数据或网络信任,都可以使用。建立在 Wesh 协议之上的隐私优先消息传递应用程序。安全和私密:默认情况下,消息是端到端加密的;元数据保持在最低限度;创建帐户不需要电话号码或电子邮件地址;即使在对抗性网络上使用时,也能保留其属性;具有审查弹性;去中心化、分布式、点对点和无服务器;由于采用了 BLE 技术和 mDNS,因此不需要互联网连接。;永久免费和开源Berty 被设计为在所有其他传统信使失败时用作通信工具。Berty Messenger 提供以下用例:当您需要通过不受信任的网络共享敏感信息时,例如在旅行时;
* [antirez/botlib](https://github.com/antirez/botlib) Botlib是一个用 C 语言编写的 Telegram 机器人框架,它提供了一个Telegram 机器人 API 的子集实现,并通过事件循环等待 Telegram API事件,在新的线程中调用回调函数。回调函数可以访问各种 API 来执行 Telegram 操作。此外,它还提供了一组高级包装器,用于SQLite3、JSON 和动态字符串(SDS 库)。该库选择用 C 语言编写,因为它提供了一个比预期更高级的机器人编写体验,并确保了代码的稳定性和可移植性,使其能够在任何支持 `libcurl` 和 `libsqlite3` 的平台上运行。该库还利用线程来处理长时间运行的请求,并提供了一个简单的示例,展示了如何使用该框架开发一个简单的机器人。
* [Jinnrry/PMail](https://github.com/Jinnrry/PMail) PMail是一个轻量级的个人邮件服务器,仅需一个文件即可运行,支持发送/接收邮件和网页管理功能。它支持 DKIM、SPF校验,并可自动获取和更新 Let's Encrypt 证书。用户只需一个服务器、一个域名和几分钟的配置时间,即可拥有自己的域名邮箱。PMail 支持多种协议,如 POP3、SMTP,用户可以使用任何邮件客户端。它还支持多域名、多用户,并提供完整的邮件发送和接收功能。用户可以通过浏览器访问 `http://127.0.0.1` 或服务器公网 IP 进行配置,并使用 [https://www.mail-tester.com/](https://www.mail-tester.com/) 检查邮箱安全配置。
* [roundcube/roundcubemail](https://github.com/roundcube/roundcubemail) 基于浏览器的多语言 IMAP 客户端,具有类似应用程序的用户界面。它提供了您期望从电子邮件客户端获得的全部功能,包括 MIME 支持、地址簿、文件夹管理、邮件搜索和拼写检查。Roundcube Webmail 是用 PHP 编写的,需要 MySQL、PostgreSQL 或 SQLite 数据库。凭借其插件 API,它很容易扩展,并且用户界面可以使用皮肤完全自定义。设计用于在 Web 服务器上运行的代码主要用 PHP 和 Javascript 编写。它包括一个自定义框架,其中包含派生自 IlohaMail 的 IMAP 库,并且需要一组外部库(请参阅 composer.json 和 jsdeps.json 文件)。
* [chatwoot/chatwoot](https://github.com/chatwoot/chatwoot) 开源实时聊天、电子邮件支持、全渠道服务台。Intercom、Zendesk、Salesforce Service Cloud 等的替代品。支持以下对话渠道:网站:使用我们的实时聊天小部件与您的客户交谈,并利用我们的 SDK 来识别用户并提供上下文支持。Facebook、Instagram、Twitter、Telegram、WhatsApp、Line、Twilio 短信、API 通道、电子邮件。其他功能包括:CRM、自定义属性、共享多品牌收件箱、私人笔记、预制回复、对话标签、自动分配:根据可用性和负载智能地分配给有权访问收件箱的座席、对话连续性、多语言支持、强大的 API 和 Webhook
* [owncast/owncast](https://github.com/owncast/owncast) 通过自行运行实时流视频来控制它。开箱即用的流媒体 + 聊天。Owncast 是一个开源、自托管、去中心化、单用户实时视频流和聊天服务器,用于运行您自己的实时流,其风格类似于大型主流选项。它提供对您的内容、界面、审核和受众的完全所有权。通常,Owncast 与任何使用 RTMP 向远程服务器广播的软件兼容。RTMP 是所有主要直播流媒体服务都使用的,因此,如果您当前正在使用其中一种,则可以将现有软件指向您的 Owncast 实例。
* [axllent/mailpit](https://github.com/axllent/mailpit) Mailpit是一个轻量级、快速、零依赖的跨平台邮件测试工具和API,专为开发者设计。它充当SMTP服务器,提供现代化的Web界面用于查看和测试捕获的邮件,并包含一个API用于自动化集成测试。Mailpit的灵感来源于MailHog,但MailHog已经不再维护。Mailpit支持多种功能,包括:静态二进制文件或多架构Docker镜像部署、现代化的Web UI、SMTP服务器、REST API、实时Web UI更新、POP3服务器、HTML检查、链接检查、垃圾邮件检查以及创建截图。
* [mfts/papermark](https://github.com/mfts/papermark) Papermark是 DocSend 的开源替代方案,提供内置分析功能和自定义域名。它允许您安全地共享文档,通过自定义链接进行访问,并添加自定义品牌和域名。Papermark 还提供文档跟踪和页面级分析功能,并允许您自托管和自定义。项目使用 Next.js、TypeScript、Tailwind CSS、Prisma ORM、PostgreSQL 数据库等技术构建,并集成 NextAuth.js 用于身份验证、Tinybird 用于分析、Resend 用于电子邮件发送、Stripe 用于支付以及 Vercel 用于托管。
* [liiight/notifiers](https://github.com/liiight/notifiers) Notifiers是一个简单易用的 Python 库,它提供了一个统一的接口,让你可以轻松地向各种通知服务发送通知,例如 Pushover、SimplePush、Slack、Gmail、Telegram、Gitter、Pushbullet、Join、Zulip、Twilio、Pagerduty、Mailgun、PopcornNotify、StatusPage.io、iCloud、VictorOps 和 Notify。Notifiers 使用 requests、jsonschema 和 click 等稳定依赖库,避免了安装第三方 SDK 的麻烦。它支持所有新添加的提供商,并通过全面测试确保代码和通知的稳定性。
* [useplunk/plunk](https://github.com/useplunk/plunk) Plunk是一个基于 AWS SES 的开源邮件平台,提供自托管的电子邮件发送服务,类似于 SendGrid、Resend 或 Mailgun。它支持发送事务性邮件、创建基于用户行为的自动化邮件和发送广播邮件,方便用户从应用程序中轻松发送电子邮件。用户可以通过 Docker 镜像 `driaug/plunk` 自行部署 Plunk,详细部署指南可在官方文档中找到。项目鼓励贡献者参与,贡献指南可在 CONTRIBUTING.md 中找到。
* [ngc660sec/NGCBot](https://github.com/ngc660sec/NGCBot) NGCBot V2.2 是一个基于 HOOK 机制的微信机器人,拥有丰富的功能,包括安全新闻定时推送、Kfc 文案、备案查询、手机号归属地查询、WHOIS 信息查询、星座查询、天气查询、摸鱼日历、微步威胁情报查询、美女视频、美女图片、帮助菜单等。它还支持积分功能、自动拉人、检测广告、自动群发、Ai 回复等功能,并拥有高度的自定义程度,即使是小白也能轻松上手!
* [novuhq/novu](https://github.com/novuhq/novu) 面向开发人员的开源通知基础结构。使用单个 API 管理多渠道通知的终极服务。适用于所有消息传递提供商的单一 API(应用内、电子邮件、短信、推送、聊天)。轻松管理多个渠道的通知。配备CMS,用于高级布局和设计管理。内置对缺失变量的保护。易于设置和集成。在单个仪表板中调试和分析多渠道消息。具有实时更新的嵌入式通知中心。社区驱动。
* [bluesky-social/social-app](https://github.com/bluesky-social/social-app) Bluesky Social应用是一个基于Web、iOS和Android的去中心化社交媒体应用,使用React Native和TypeScript开发。它基于AT Protocol协议,该协议提供了一套去中心化的社交媒体标准。该项目欢迎贡献,但要求贡献者遵守特定的规则和指南。用户可以通过bsky.app访问Web版本,在App Store或Google Play商店下载iOS或Android版本。该项目鼓励开发者探索和扩展AT Protocol生态系统。
* [centrifugal/centrifugo](https://github.com/centrifugal/centrifugo) 以与语言无关的方式扩展实时消息服务器。Pubnub、Pusher、Ably 的自托管替代品。设置一次,永远设置。开源、可扩展的实时消息服务器。Centrifugo可以即时向通过支持的传输(WebSocket、HTTP-streaming、SSE/EventSource、GRPC、SockJS、WebTransport)连接的应用程序在线用户发送消息。具有频道订阅的概念——因此它是一个面向用户的 PUB/SUB 服务器。
* [songquanpeng/message-pusher](https://github.com/songquanpeng/message-pusher) message-pusher是一个基于 Golang 的消息推送服务,支持多种推送方式,包括微信、钉钉、企业微信、Bark、Telegram 等,支持 Markdown 格式,仅单可执行文件,开箱即用。用户可以轻松搭建专属于自己的消息推送服务,方便地将消息推送至不同的平台。该项目使用数据库来存储推送信息,并提供 Web 界面进行配置和管理。
* [mastodon/mastodon](https://github.com/mastodon/mastodon) 基于 ActivityPub 的免费开源社交网络服务器,用户可以在其中关注并发现新朋友。 在 Mastodon 上,用户可以发布他们想要的任何东西:链接、图片、文本、视频。 所有服务器都可以作为联合网络进行互操作(一台服务器上的用户可以与另一台的用户无缝通信,包括实现 ActivityPub 的非 Mastodon 软件)
* [Terry-Mao/goim](https://github.com/Terry-Mao/goim) goim是一个用Go语言编写的轻量级、高性能即时通讯服务器,支持单播、多播和广播,并提供基于Kafka的异步推送通知;它支持多种协议(WebSocket、TCP、HTTP),可扩展架构允许动态添加作业和逻辑模块,并包含身份验证和心跳机制,具备百万级在线用户的处理能力。
* [oxen-io/session-android](https://github.com/oxen-io/session-android) SessionAndroid是一款私密的安卓端即时通讯应用,它利用去中心化的Oxen服务节点实现端到端加密和洋葱路由,保护用户IP地址,确保信息安全。该项目已迁移至Session Technology Foundation维护,可在Google Play商店、F-Droid或GitHub下载。项目采用GPLv3许可证。
* [nostr-protocol/nostr](https://github.com/nostr-protocol/nostr) 真正抗审查的 Twitter 替代品。最简单的开放协议,一劳永逸地创建抗审查的全球“社交”网络。 不依赖于任何受信任的中央服务器,因此具有弹性; 基于加密密钥和签名,防篡改; 它不依赖于 P2P 技术,因此可以正常工作。
* [JeffreySu/WeiXinMPSDK](https://github.com/JeffreySu/WeiXinMPSDK) 微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 8.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.
* [JackJiang2011/MobileIMSDK](https://github.com/JackJiang2011/MobileIMSDK) 原创多端IM通信层框架,轻量级、高度提炼,历经8年、久经考验。可能是市面上唯一同时支持UDP + TCP + WebSocket三种协议的同类开源框架,支持 iOS、Android、Java、H5、小程序、Uniapp,服务端基于Netty。
* [OpenIMSDK/Open-IM-Server](https://github.com/OpenIMSDK/Open-IM-Server) 由前微信技术专家打造的基于 Go 实现的即时通讯(IM)项目,从服务端到客户端SDK开源即时通讯(IM)整体解决方案,可以轻松替代第三方IM云服务,打造具备聊天、社交功能的app。
* [wechaty/wechaty](https://github.com/wechaty/wechaty) 面向微信聊天机器人制造商的RPA(机器人流程自动化)SDK,可以帮助您在JavaScript,Python,Go和Java的6行中创建机器人,并提供跨平台支持,包括Linux,Windows,MacOS和Docker。
* [aljazceru/awesome-nostr](https://github.com/aljazceru/awesome-nostr) 用于抗审查全球网络的开放协议nostr的项目和资源的精选列表,包括:协议、中继、客户端、程序库、网桥和网关、工具、NIP-05身份服务、浏览器扩展、社区、教程
* [mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized) 一个基于 Docker 的开源群件/电子邮件套件。Mailcow 依赖于许多众所周知且长期使用的组件,这些组件结合在一起形成了一个全方位的无忧电子邮件服务器。
* [hubotio/hubot](https://github.com/hubotio/hubot) 构建聊天机器人的框架,以 GitHub 的同名 Campfire 机器人 hubot 为蓝本。他很酷。可以使用脚本进行扩展,并且可以在许多不同的聊天服务上工作。
* [DrKLO/Telegram](https://github.com/DrKLO/Telegram) 一款专注于速度和安全性的消息传递应用程序。它超快速、简单且免费。此存储库包含适用于Android的Telegram应用程序的官方源代码。
* [RocketChat/Rocket.Chat](https://github.com/RocketChat/Rocket.Chat) 将数据保护放在首位的通信平台。开源的完全可定制的通信平台,用JavaScript开发,适用于具有高标准数据保护的组织。
* [localsend/localsend](https://github.com/localsend/localsend) AirDrop 的开源跨平台替代方案,可让您通过本地网络安全地与附近的设备共享文件和消息,而无需互联网连接。
* [InstaPy/InstaPy](https://github.com/InstaPy/InstaPy) 自动执行社交媒体交互以“耕种”Instagram 上的点赞、评论和关注者的工具 使用 Selenium 模块在 Python 中实现。
* [docker-mailserver/docker-mailserver](https://github.com/docker-mailserver/docker-mailserver) 生产就绪的全栈但简单的邮件服务器(SMTP、IMAP、LDAP、反垃圾邮件、防病毒等)在容器内运行。
* [Wechat-Group/WxJava](https://github.com/Wechat-Group/WxJava) 微信开发 Java SDK ,支持包括微信支付,开放平台,小程序,企业微信,公众号等的后端开发
* [simplex-chat/simplex-chat](https://github.com/simplex-chat/simplex-chat) 第一个没有任何类型的用户标识符的消息传递平台 - 设计100%私有!iOS和安卓应用程序发布
* [telegramdesktop/tdesktop](https://github.com/telegramdesktop/tdesktop) 官方Telegram messenger桌面客户端的完整源代码和构建说明,基于Telegram API和MTProto安全协议。
* [adam-p/markdown-here](https://github.com/adam-p/markdown-here) Google Chrome,Firefox和Thunderbird扩展程序可让您在Markdown中编写电子邮件并在发送前呈现。
* [littlecodersh/ItChat](https://github.com/littlecodersh/ItChat) 微信个人号接口、微信机器人及命令行微信,三十行即可自定义个人号机器人。
* [mailpile/Mailpile](https://github.com/mailpile/Mailpile) 一个免费开放的现代,快速的电子邮件客户端,具有用户友好的加密和隐私功能
* [cluic/wxauto](https://github.com/cluic/wxauto) Windows版本微信客户端(非网页版)自动化,可实现简单的发送、接收微信消息
* [processone/ejabberd](https://github.com/processone/ejabberd) 强大、无处不在且可大规模扩展的消息传递平台(XMPP、MQTT、SIP 服务器)
* [papercups-io/papercups](https://github.com/papercups-io/papercups) 开源实时客户聊天。用Elixir编写的开源实时客户支持工具Web应用程序。
* [Privoce/vocechat-server-rust](https://github.com/Privoce/vocechat-server-rust) 超轻量级的rust编写的社交服务器。轻松集成到您的网站/应用程序。
* [Foundry376/Mailspring](https://github.com/Foundry376/Mailspring) 适用于 Mac、Windows 和 Linux 的美观、快速且完全开源的邮件客户端。
* [knadh/listmonk](https://github.com/knadh/listmonk) 高性能、自托管、时事通讯和邮件列表管理器,具有现代仪表板。
* [heyxyz/hey](https://github.com/heyxyz/hey) 使用 Lens Protocol 构建的去中心化且无需许可的社交媒体应用程序
* [nats-io/nats-server](https://github.com/nats-io/nats-server) 适用于 NATS.io、云和边缘原生消息传递系统的高性能服务器。
* [mamoe/mirai](https://github.com/mamoe/mirai) 在全平台下运行,提供 QQ Android 协议支持的高效率机器人库
* [iredmail/iRedMail](https://github.com/iredmail/iRedMail) 适用于Linux/BSD 发行版的全功能开源邮件服务器解决方案。
* [postalserver/postal](https://github.com/postalserver/postal) 功能齐全的开源邮件传递平台,用于传入和传出电子邮件
* [gotify/server](https://github.com/gotify/server) 简单的服务器,用于每个 WebSocket 实时发送和接收消息。
* [aiogram/aiogram](https://github.com/aiogram/aiogram) 现代且完全异步的Telegram Bot API框架,使用asyncio用Py编写
* [w7corp/easywechat](https://github.com/w7corp/easywechat) 一个 PHP 微信 SDK,开源 SaaS 平台提供商微擎开源产品。
* [Mailu/Mailu](https://github.com/Mailu/Mailu) 孤立的电子邮件分发 - 作为 Docker 映像的邮件服务器
* [damus-io/damus](https://github.com/damus-io/damus) 类似twitter的nostr客户端,适用于iPhone、iPad和MacOS。
* [LonamiWebs/Telethon](https://github.com/LonamiWebs/Telethon) 纯 Py3 MTProto API Telegram 客户端库,也适用于机器人
* [web1n/wechat-universal-flatpak](https://github.com/web1n/wechat-universal-flatpak/tree/main) 基于微信 Linux Universal 版打包,无发行版限制。
* [nylas/nylas-mail](https://github.com/nylas/nylas-mail) 基于现代 Web 构建的可扩展桌面邮件应用程序。
* [python-telegram-bot/python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) 为 Telegram Bot API 提供了一个纯 Python 异步接口。
* [wildfirechat/im-server](https://github.com/wildfirechat/im-server) 专业级的即时通讯和实时音视频整体解决方案
* [eternnoir/pyTelegramBotAPI](https://github.com/eternnoir/pyTelegramBotAPI) 简单但可扩展的 Py实现,用于 Telegram Bot API。
* [diaspora/diaspora](https://github.com/diaspora/diaspora) 一个具有隐私意识的分布式开源社交网络。
* [discordjs/discord.js](https://github.com/discordjs/discord.js) 一个强大的JavaScript库,用于与Discord API交互
* [tweepy/tweepy](https://github.com/tweepy/tweepy) 易于使用的 Python 库,用于访问 Twitter API。
* [mlandauer/cuttlefish](https://github.com/mlandauer/cuttlefish) 具有可爱Web界面的事务性电子邮件服务器
* [MustangYM/WeChatExtension-ForMac](https://github.com/MustangYM/WeChatExtension-ForMac) Mac微信功能拓展/微信插件/微信小助手
* [Rapptz/discord.py](https://github.com/Rapptz/discord.py) 用 Python 编写的 Discord 的 API 包装器。
* [koishijs/koishi](https://github.com/koishijs/koishi) 用爱制作的跨平台聊天机器人框架
* [itgoyo/TelegramGroup](https://github.com/itgoyo/TelegramGroup) 悄咪咪收集的1000+个Telegram群合集
* [irislib/iris-messenger](https://github.com/irislib/iris-messenger) 更好的社交网络Nostr的客户端。
* [foxcpp/maddy](https://github.com/foxcpp/maddy) 可组合的多合一邮件服务器。
* [jeffthibault/python-nostr](https://github.com/jeffthibault/python-nostr) 用于创建Nostr客户端的Python库
* [antirez/smallchat](https://github.com/antirez/smallchat) 聊天服务器的最小C编程示例
* [BlueMatthew/WechatExporter](https://github.com/BlueMatthew/WechatExporter) 微信聊天记录导出备份程序
* [go-telegram-bot-api/telegram-bot-api](https://github.com/go-telegram-bot-api/telegram-bot-api) Telegram Bot API 的 Golang 绑定
* [Privoce/vocechat-web](https://github.com/privoce/vocechat-web) VoceChat 的 Web 客户端
* [dovecot/core](https://github.com/dovecot/core) 邮件服务器
### 网络代理
* [cloudflare/boringtun](https://github.com/cloudflare/boringtun) Rust 中的用户空间 WireGuard® 实现,专为便携性和速度而设计。BoringTun 已成功部署在数百万台 iOS 和 Android 消费类设备以及数千台 Cloudflare Linux 服务器上。可执行文件 boringtun-cli ,用于 Linux 和 macOS 的用户空间 WireGuard 实现。该库 boringtun 可用于在各种平台(包括 iOS 和 Android)上实现快速高效的 WireGuard 客户端应用程序。它实现了底层的 WireGuard 协议,没有网络或隧道堆栈,这些协议可以以平台惯用的方式实现。WireGuard ® 是一款极其简单但快速且现代的 VPN,它利用了最先进的加密技术。它旨在比 IPsec 更快、更简单、更精简、更有用,同时避免了令人头疼的问题。它打算比OpenVPN性能高得多。WireGuard 被设计为通用 VPN,可在嵌入式接口和超级计算机上运行,适用于许多不同的情况。它最初是为 Linux 内核发布的,现在是跨平台(Windows、macOS、BSD、iOS、Android)并可广泛部署的。它目前正在大量开发中,但它已经被认为是业内最安全、最容易使用和最简单的 VPN 解决方案。
* [OpenVPN/openvpn](https://github.com/OpenVPN/openvpn) OpenVPN 是一个开源 VPN 守护进程。混合劳动力、迁移到云的工作负载、SaaS 的增长以及分布在多个环境中的应用程序。您的安全、IT 和网络团队面临的复杂性超乎想象。幸运的是,答案并不一定很复杂。OpenVPN 旨在为各种规模的公司提供简单、灵活且经济高效的安全远程访问,无论其资源位于何处。OpenVPN 是一款功能齐全的 SSL VPN,它使用行业标准 SSL/TLS 协议实现 OSI 第 2 层或第 3 层安全网络扩展,支持基于证书、智能卡和/或用户名/密码凭据的灵活客户端身份验证方法,并允许用户或使用应用于 VPN 虚拟接口的防火墙规则的特定于组的访问控制策略。 OpenVPN 不是 Web 应用程序代理,也不通过 Web 浏览器运行。OpenVPN 2.0 通过提供可扩展的客户端/服务器模式扩展了OpenVPN 1.x的功能,允许多个客户端通过单个 TCP 或 UDP 端口连接到单个 OpenVPN 服务器进程。 OpenVPN 2.3 包含大量改进,包括完整的 IPv6 支持和 PolarSSL 支持。
* [ekzhang/bore](https://github.com/ekzhang/bore) bore是一个用Rust编写的简单命令行工具,用于创建到本地主机的隧道,绕过标准的NAT连接防火墙,将本地端口暴露给远程服务器。它类似于localtunnel和ngrok,但bore旨在成为一个高效、无意见的工具,用于转发TCP流量,易于安装和自托管,没有多余的功能。bore的代码量约为400行安全、异步的Rust代码,设置非常简单,只需运行一个客户端和服务器二进制文件即可。bore可以通过Homebrew、预构建的二进制文件或从源代码构建来安装。它还提供Docker镜像,允许用户从一个最小的“scratch”容器运行静态链接的bore二进制文件。bore支持本地转发和自托管,用户可以通过命令行选项配置本地端口、远程服务器地址、端口号、本地主机等参数。
* [haad/proxychains](https://github.com/haad/proxychains) ProxyChains是一个Unix程序,它通过预加载的动态链接库(DLL)钩住动态链接程序中与网络相关的libc函数,并将连接重定向到SOCKS4a/5或HTTP代理。它支持多种代理类型,包括SOCKS4、SOCKS5和HTTP,并支持用户/密码身份验证(SOCKS4/5)和基本身份验证(HTTP)。ProxyChains可以用于各种场景,例如绕过防火墙、使用多个代理链、为不支持代理的程序提供代理功能,以及通过代理访问内网。该项目最新版本(4.x)去除了需要动态链接的"dig"二进制文件的dnsresolver脚本,从而提高了DNS操作速度,并允许使用.onion地址。它还添加了通过命令行开关/环境变量传递配置文件的支持。
* [inconshreveable/ngrok](https://github.com/inconshreveable/ngrok) ngrok是一个全球分布式的反向代理,它可以安全、保护并加速您的应用程序和网络服务,无论您在何处运行它们。ngrok就像您应用程序的前门,它将您的反向代理、防火墙、API 网关和全局负载均衡器整合到一个系统中。ngrok 可以捕获并分析所有到您 Web 服务的流量,以便您稍后进行检查和重放。该项目已存档,不再开发、支持或维护,但 ngrok 的云服务仍在运行,您可以注册使用。ngrok 还继续在开源生态系统中贡献,例如 ngrok kubernetes 运算符、ngrok 代理 SDK 等。ngrok 可以用于多种场景,例如站点到站点的连接、开发者预览、Webhook 测试、API 网关、设备网关等。
* [Loyalsoldier/clash-rules](https://github.com/Loyalsoldier/clash-rules) 该项目是一个 Clash Premium 规则集 (RULE-SET),兼容 ClashX Pro、Clash forWindows 等基于 Clash Premium 内核的客户端。规则集数据源自 [@Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat)和 [@v2fly/domain-list-community](https://github.com/v2fly/domain-list-community),并使用 [@felixonmars/dnsmasq-china-list](https://github.com/felixonmars/dnsmasq-china-list) 和 [@17mon/china_ip_list](https://github.com/17mon/china_ip_list) 提供的中国大陆 IPv4 地址信息。该项目仅适用于 Clash Premium 版本,并支持 TUN 加速模式,提供 TCP 和 UDP 流量转发。项目规则集每天 6:30 自动更新,确保规则集最新。
* [Dreamacro/clash](https://github.com/Dreamacro/clash) Go 中基于规则的隧道。入站:HTTP,HTTPS,SOCKS5服务器,TUN设备。出站: Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S), Wireguard。基于规则的路由:动态脚本、域、IP 地址、进程名称等。假 IP DNS:最大限度地减少对 DNS 污染的影响并提高网络性能。透明代理:通过自动路由表/规则管理重定向 TCP 和 TProxy TCP/UDP。代理组:自动回退、负载平衡或延迟测试。远程提供程序:动态加载远程代理列表。RESTful API:通过全面的 API 就地更新配置。
* [SagerNet/sing-box](https://github.com/SagerNet/sing-box) 通用代理平台,一款功能强大的跨平台代理客户端软件,支持多种代理协议,如 Shadowsocks、Trojan、VMess 等。它整合了多种代理协议,支持跨平台使用,并提供灵活的流量控制功能,可用于改善网络连接、绕过网络限制以及优化网络流量路由。此外,Sing-box 还可以创建网络代理服务器、客户端和透明代理,并允许用户管理和使用本地、iCloud 和远程配置文件。
* [ginuerzh/gost](https://github.com/ginuerzh/gost) GO语言实现的安全隧道。特性:多端口监听、可设置转发代理,支持多级转发(代理链)、支持标准HTTP(2)(S)/SOCKS4(A)(5)代理协议、Web代理支持探测防御、支持多种隧道类型、SOCKS5代理支持TLS协商加密、基于 TCP 的隧道 UDP、TCP/UDP透明代理、本地/远程TCP/UDP转发、支持Shadowsocks(TCP/UDP)协议、支持SNI代理、权限控制、负载均衡、路由控制、DNS解析和代理、TUN/TAP设备
* [pomerium/pomerium](https://github.com/pomerium/pomerium) Pomerium是一个身份和上下文感知的访问代理,它无需企业VPN即可构建到内部Web应用程序和服务的安全、无客户端连接。Pomerium通过无客户端访问、无隧道部署以及持续验证来实现更轻松、更快、更安全的访问,并通过集成所有数据实现上下文感知访问,从而保护您的业务。它提供托管控制平面和管理GUI,并有完善的文档和贡献指南。
* [LibNyanpasu/clash-nyanpasu](https://github.com/LibNyanpasu/clash-nyanpasu) Clash Nyanpasu是一款基于Tauri的Clash图形界面,支持Clash Premium、Mihomo和Clash Rust。它提供配置文件管理和增强功能,支持提供商管理,并采用Google Material You设计语言。用户可以通过YAML、JavaScript和Lua来定制配置文件,并享受流畅的动画体验。项目还提供安装指南、常见问题解答和开发环境配置说明,欢迎用户提交问题和代码贡献。
* [Z-Siqi/Clash-for-Windows_Chinese](https://github.com/Z-Siqi/Clash-for-Windows_Chinese) Clash for Windows汉化版项目提供Clash for Windows的汉化版、汉化补丁以及汉化版安装程序。该项目支持多种Clash版本,用户可通过安装程序直接安装汉化版,或使用补丁对现有版本进行汉化。项目特色包括:使用安装程序安装汉化版可自动更新汉化内容,使用补丁则需要手动更新。该项目已于2023年11月3日存档,不再提供更新。
* [cloudflare/cloudflared](https://github.com/cloudflare/cloudflared) 包含 Cloudflare Tunnel 的命令行客户端,这是一个隧道守护程序,用于代理从 Cloudflare 网络到源的流量。此守护程序位于 Cloudflare 网络和您的源(例如 Web 服务器)之间。Cloudflare 吸引客户端请求并通过此守护程序将其发送给您,而无需您在防火墙上戳洞,---您的源可以尽可能保持关闭状态。
* [firezone/firezone](https://github.com/firezone/firezone) 基于 WireGuard® 的可扩展远程访问平台,与您的 IdP 集成,无需开放端口。开源平台,可安全地管理任何规模组织的远程访问。与大多数 VPN 不同,Firezone 采用精细、最低权限的访问管理方法,采用基于组的策略来控制对单个应用程序、整个子网以及介于两者之间的所有内容的访问。
* [Anankke/SSPanel-Uim](https://github.com/Anankke/SSPanel-Uim) SSPanel-UIM是一个多功能代理服务管理系统,支持 Shadowsocks(2022) / V2Ray / Trojan / TUIC 等协议,集成多种支付系统,支持自定义节点配置、模块化订阅系统、多种订阅格式,并提供智能回复、文档生成等 AI 功能,需要 Git、Nginx、PHP 8.2+、MariaDB 10.11+、Redis 7.0+ 等软件环境。
* [netchx/netch](https://github.com/netchx/netch) Netch是一个简单的代理客户端,支持多种代理协议,包括 Socks5、Shadowsocks、ShadowsocksR、WireGuard、Trojan、VMess 和 VLESS。它提供多种模式,包括进程模式、共享模式、隧道模式和 Web 代理模式,并支持 UDP NAT FullCone 功能。Netch 使用.NET 6.0 x64 开发,并遵循 GPLv3 许可协议。
* [Alvin9999/new-pac](https://github.com/Alvin9999/new-pac) 翻墙-科学上网、自由上网、免费科学上网、免费翻墙、油管youtube、fanqiang、VPN、一键翻墙浏览器,vps一键搭建翻墙服务器脚本/教程,免费shadowsocks/ss/ssr/v2ray/goflyway账号/节点,翻墙梯子,电脑、手机、iOS、安卓、windows、Mac、Linux、路由器翻墙、科学上网
* [getlantern/lantern](https://github.com/getlantern/lantern) Lantern是一款免费的网络审查规避工具,支持Windows、Android、macOS和iOS系统。它通过多种技术手段绕过网络审查,提供快速、安全可靠的互联网访问,帮助用户访问被屏蔽的网站和内容。用户可从官网下载稳定版或测试版。
* [yinghuocho/firefly-proxy](https://github.com/yinghuocho/firefly-proxy) Firefly是一款帮助绕过防火墙的代理软件,提供Windows、Android、iOS和OSX等多个平台的客户端下载。它基于lantern和tun2socks swift项目,通过用户交流群提供技术支持,并分别提供安装包和单文件版本。
* [Pawdroid/Free-servers](https://github.com/Pawdroid/Free-servers) 免费订阅地址,免费节点,6小时更新一次,共享节点,节点质量高可用,完全免费。免费clash订阅地址,免费翻墙、免费科学上网、免费梯子、免费ss/v2ray/trojan节点、谷歌商店、翻墙梯子。
* [XX-net/XX-Net](https://github.com/XX-net/XX-Net) 绕过 GFW 的代理工具。不去研究墙有什么缺陷,因为所有的缺陷都会被慢慢的补上。 我们的策略是化身为普通流量,完全无法区分,最终隐身在茫茫的网络连接中。
* [snail007/goproxy](https://github.com/snail007/goproxy) golang实现的高性能http,https,websocket,tcp,socks5代理服务器,支持内网穿透,链式代理,通讯加密,智能HTTP,SOCKS5代理,黑白名单,限速,限流量,限连接数,跨平台,KCP支持,认证API。
* [msgbyte/tailchat](https://github.com/msgbyte/tailchat) 不仅是 IM。相反,它为个人/团队设计了一个以IM为中心的高度定制化的应用平台,以第三方应用作为增强功能,以插件系统作为中间的胶水连接层。
* [Qv2ray/Qv2ray](https://github.com/Qv2ray/Qv2ray) Linux / Windows / macOS 跨平台 V2Ray 客户端 | 支持 VMess / VLESS / SSR / Trojan / Trojan-Go / NaiveProxy / HTTP / HTTPS / SOCKS5 | 使用 C++ / Qt 开发 | 可拓展插件式设计
* [vernesong/OpenClash](https://github.com/vernesong/OpenClash) 可运行在 OpenWrt 上的 Clash 客户端。兼容 Shadow socks、ShadowsocksR、Vmess、Trojan、Snell 等协议,根据灵活的规则配置实现策略代理
* [hiddify/hiddify-next](https://github.com/hiddify/hiddify-next) 多平台自动代理客户端,支持Sing-box、X-ray、TUIC、Hysteria、Reality、Trojan、SSH等。它是开源的、安全的、无广告的。
* [trailofbits/algo](https://github.com/trailofbits/algo) 一组 Ansible 脚本,可简化个人 WireGuard 和 IPsec VPN 的设置。使用最安全的默认值,并与常见的云提供商合作。
* [freefq/free](https://github.com/freefq/free) 翻墙、免费翻墙、免费科学上网、免费节点、免费梯子、免费ss/v2ray/trojan节点、蓝灯、谷歌商店、翻墙梯子
* [juanfont/headscale](https://github.com/juanfont/headscale) 建立在 Wireguard 之上的现代 VPN。它的工作方式类似于网络计算机之间的覆盖网络 - 使用 NAT 遍历。
* [Nyr/openvpn-install](https://github.com/Nyr/openvpn-install) 适用于 Ubuntu、Debian、AlmaLinux、Rocky Linux、CentOS 和 Fedora 的 OpenVPN road warrior 安装程序
* [rustdesk/rustdesk](https://github.com/rustdesk/rustdesk) 远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。
* [cyfdecyf/cow](https://github.com/cyfdecyf/cow) 用 Go 编写的 HTTP 代理。COW 可以自动识别被阻止的站点并使用父代理进行访问。
* [hwdsl2/setup-ipsec-vpn](https://github.com/hwdsl2/setup-ipsec-vpn) 使用 IPsec/L2TP、Cisco IPsec 和 IKEv2 构建您自己的 IPsec VPN 服务器的脚本
* [chimurai/http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) 用于连接、快速、next.js等的单行node.js http 代理中间件
* [v2rayA/v2rayA](https://github.com/v2rayA/v2rayA) Web GUI,支持 V2Ray、Xray、SS、SSR、Trojan 和 Pingtunnel
* [bannedbook/fanqiang](https://github.com/bannedbook/fanqiang) 翻墙-科学上网、翻墙工具、翻墙教程项目库
* [v2fly/v2ray-core](https://github.com/v2fly/v2ray-core) 一个用于构建代理以绕过网络限制的平台。
* [wulabing/Xray_onekey](https://github.com/wulabing/Xray_onekey) Xray 基于 Nginx 的 VLESS + XTLS 一键安装脚本
* [SoftEtherVPN/SoftEtherVPN](https://github.com/SoftEtherVPN/SoftEtherVPN) 跨平台多协议 VPN 软件。
* [grpc/grpc-web](https://github.com/grpc/grpc-web) 适用于 Web 客户端的 gRPC
* [shadowsocks/ShadowsocksX-NG](https://github.com/shadowsocks/ShadowsocksX-NG) 下一代 ShadowsocksX
### 网络协议
* [safing/portmaster](https://github.com/safing/portmaster) 免费的开源应用程序防火墙,可以为您完成繁重的工作。恢复隐私并收回对所有计算机网络活动的控制。通过良好的默认设置,您的隐私可以毫不费力地得到改善。如果您想配置和控制一切细节 - Portmaster 也能满足您的需求。特征:监控所有网络活动;完全控制:阻止任何内容;自动阻止跟踪器和恶意软件;设置全局和每个应用程序设置;安全 DNS (Doh/DoT);记录和搜索网络活动;每个应用程序的带宽使用量 ;SPN,我们的下一代隐私网络。Portmaster 是适用于 Windows 和 Linux 桌面的隐私套件。基础技术:在 Linux 上使用 nfqueue 并在 Windows 上使用内核驱动程序 (WFP) 集成到网络堆栈中。数据包在原始数据包级别被拦截 - 每个数据包都会被看到并可以被阻止。连接的所有权是在 Linux 上使用 eBPF 和/proc以及在 Windows 上使用内核驱动程序和 IP Helper API ( iphlpapi.dll ) 来找到的。大多数设置可以为每个应用程序定义,可以通过不同的方式进行匹配。支持具有奇怪或隐藏路径/参与者的特殊进程:Linux 上的 Snap、AppImage 和脚本支持。Windows 上的 Windows 应用商店应用程序和 svchost.exe 系统服务支持。您设备上的一切都是 100% 本地化。 (当然,SPN 除外)更新已完全签名并自动下载。自动下载并应用情报数据(阻止列表、geoip)。Portmaster 核心服务作为系统服务运行,UI 元素(应用程序、通知程序)在用户上下文中运行。也可以在浏览器中打开UI。DNS 功能:安全 DNS,拦截“误入歧途”的 DNS 查询并将其重新路由到自身以实现无缝集成。DNS 查询由默认或配置的 DoT/DoH 解析器解析。完全支持水平分割和水平验证,以防御重新绑定攻击。隐私过滤器:定义允许的网络范围:本地主机、LAN、Internet、P2P、入站。基于互联网实体的简单规则:域、IP、国家/地区等。过滤器列表阻止常见的恶意软件、广告、跟踪器域等。网络历史记录:在本地数据库中记录连接及其详细信息,并在以后搜索所有内容,自动删除旧历史记录或按需删除。带宽可见性:监控每个连接和应用程序的带宽使用情况。SPN - 安全隐私网络:针对 VPN 和 Tor“之间”用例的隐私网络。就像 Tor 一样,在多跳上使用洋葱加密。选择的路线可以覆盖网络内的大部分距离,以增强隐私性。选靠近目标服务器的出口。在许多情况下,这会自动解除地理封锁。排除应用程序和域/实体使用 SPN。更改每个应用程序的路由算法和焦点。节点由 Safing(Portmaster 背后的公司)和社区托管。速度相当不错(>100MBit/s)。
* [netbox-community/netbox](https://github.com/netbox-community/netbox) 用于建模和记录现代网络的领先解决方案。通过将 IP 地址管理 (IPAM) 和数据中心基础设施管理 (DCIM) 的传统规则与强大的 API 和扩展相结合,NetBox 为网络自动化提供了理想的“事实来源”。NetBox 作为 Apache 2.0 许可下的开源软件提供,是数千个组织网络自动化的基石。`物理基础设施`:精确地模拟物理世界,从全球区域到单个设备机架。然后连接一切 - 网络、控制台和电源!`现代 IPAM`:您期望的所有标准 IPAM 功能,以及 VRF 导入/导出跟踪、VLAN 管理和覆盖网络支持。`数据电路`:自信地管理来自各种服务提供商的关键电路的交付,并与您自己的基础设施无缝建模。`功率跟踪`:将上游电源的功率分布映射到各个馈电和插座。`组织`:以本机方式管理租户和联系人分配。`强大的搜索功能`:使用单一的全局搜索功能轻松找到您需要的任何内容。`全面的日志记录`:利用自动更改日志记录和用户提交的日志条目来跟踪网络随时间推移的增长情况。`无尽的自定义`:自定义字段、自定义链接、标签、导出模板、自定义验证、报告、脚本等!`灵活的权限`:高级权限系统可实现非常灵活的权限委派。`集成`:通过其REST和GraphQL API轻松将NetBox连接到您的其他工具。`插件`:尝试众多社区插件之一 - 或构建自己的插件!
* [pfsense/pfsense](https://github.com/pfsense/pfsense) pfSense是一个基于 FreeBSD 的免费网络防火墙发行版,它使用自定义内核并包含第三方免费软件包来提供额外的功能。pfSense 软件通过其软件包系统能够提供与常见商业防火墙相同或更强大的功能,且没有人工限制。它已成功替代了全球众多安装中的所有知名商业防火墙,包括 Check Point、Cisco PIX、Cisco ASA、Juniper、Sonicwall、Netgear、Watchguard、Astaro 等。pfSense 软件包含一个 Web 界面,用于配置所有包含的组件,无需任何 UNIX 知识,无需使用命令行,也无需手动编辑任何规则集。熟悉商业防火墙的用户可以快速上手 Web 界面,但对于不熟悉商业级防火墙的用户来说可能需要一定的学习曲线。pfSense 项目始于 2004 年,是 [m0n0wall](http://m0n0.ch/wall/index.php "m0n0wall project homepage") 项目的衍生项目(该项目于 2015 年 2 月 15 日结束),但自那时起已发生了重大变化。pfSense 的版权归 [Rubicon Communications, LLC (Netgate)](https://pfsense.org/license "License Information") 所有,并根据开源许可证发布。更多信息请访问 [https://pfsense.org/](https://pfsense.org/ "The pfSense homepage"),并通过购买捆绑硬件设备或商业支持来支持团队。
* [mininet/mininet](https://github.com/mininet/mininet) 软件定义网络的快速原型设计。在笔记本电脑上模拟几乎任何网络的最佳方式!Mininet 在一台计算机上模拟由主机、链路和交换机组成的完整网络。要创建双主机、单交换机网络示例,只需运行:Mininet 对于交互式开发、测试和演示非常有用,尤其是那些使用 OpenFlow 和 SDN 的开发、测试和演示。在 Mininet 中构建原型的基于 OpenFlow 的网络控制器通常可以传输到硬件,只需进行最少的更改即可实现全线速执行。Mininet 使用基于进程的虚拟化和网络命名空间创建虚拟网络,这些功能在最近的 Linux 内核中可用。在 Mininet 中,主机被模拟为在网络命名空间中运行的 bash 进程,因此通常在 Linux 服务器(如 Web 服务器或客户端程序)上运行的任何代码都应该在 Mininet“主机”中运行良好。Mininet “Host” 将拥有自己的私有网络接口,并且只能看到自己的进程。Mininet 中的交换机是基于软件的交换机,如 Open vSwitch 或 OpenFlow 参考交换机。链路是虚拟以太网对,它们位于 Linux 内核中,并将我们的模拟交换机连接到模拟主机(进程)。
* [scottlamb/moonfire-nvr](https://github.com/scottlamb/moonfire-nvr) Moonfire NVR是一款开源的安全摄像头网络视频录像机,它可以将 IP摄像头的 H.264-over-RTSP 流保存到磁盘,并使用混合格式存储:视频帧存储在旋转磁盘上的目录中,其他数据存储在闪存上的 SQLite3 数据库中。它可以根据需要构建 `.mp4` 文件,并且不需要解码、分析或重新编码视频帧,因此对 CPU 的要求很低。它可以在一台 Raspberry Pi 2 上处理六个 1080p/30fps 流,并且 CPU 使用率不到 10%。目前,Web 界面比较基础,包含一个可过滤的视频片段列表,支持将片段修剪到任意时间范围。还提供了一个实验性的实时视图 UI。Moonfire NVR 尚未支持运动检测、https/TLS 支持,并且只有基于控制台的(而非基于 Web 的)配置 UI。Moonfire NVR 仍处于1.0 之前的版本,不保证兼容性:配置和存储格式可能会在不同版本之间发生变化。它提供了一个升级过程,但操作难度较大。未来计划添加视频分析等功能,最终目标是构建一个功能齐全的、面向爱好者的多摄像头 NVR,只需要一台廉价的机器和一个大硬盘即可。
* [AlexxIT/go2rtc](https://github.com/AlexxIT/go2rtc) go2rtc是一个功能强大的摄像头流媒体应用程序,支持 RTSP、WebRTC、HomeKit、FFmpeg、RTMP 等多种协议。它具有零依赖、零配置的特点,可以在 Windows、macOS、Linux、ARM 等多种操作系统上运行。go2rtc 支持从 RTSP、RTMP、HTTP、USB 摄像头以及其他来源进行流媒体传输,并可以将流媒体传输到 RTSP、WebRTC、MSE/MP4、HomeKit、HLS 或 MJPEG 等目标。go2rtc 还支持将任何来源发布到流行的流媒体服务(如 YouTube、Telegram 等),并支持 H265 WebRTC 浏览器播放(仅限 Safari)。go2rtc 可以通过 FFmpeg 进行实时转码,并支持在某些摄像头播放音频文件和直播流。此外,go2rtc 还支持多源双向编解码器协商,可以将来自不同来源的音轨混合到单个流中,并自动匹配客户端支持的编解码器。go2rtc 还支持通过 ngrok 从私有网络进行流媒体传输,可以集成到任何智能家居平台或作为独立应用程序使用。
* [grpc-ecosystem/awesome-grpc](https://github.com/grpc-ecosystem/awesome-grpc) gRPC 有用资源的精选列表。gRPC 是一个现代开源高性能远程过程调用 (RPC) 框架,可以在任何环境中运行。它可以有效地连接数据中心内和数据中心之间的服务,并提供对负载均衡、跟踪、运行状况检查和身份验证的可插拔支持。它也适用于分布式计算的最后一英里,将设备、移动应用程序和浏览器连接到后端服务。简单的服务定义:使用协议缓冲区定义服务,这是一种强大的二进制序列化工具集和语言。快速启动并扩展:使用单行安装运行时和开发环境,并使用该框架扩展到每秒数百万个 RPC。跨语言和平台工作:以各种语言和平台为您的服务自动生成惯用的客户端和服务器存根。双向流式处理和集成身份验证:双向流式处理和完全集成的可插拔身份验证,具有基于 HTTP/2 的传输。
* [ValdikSS/GoodbyeDPI](https://github.com/ValdikSS/GoodbyeDPI) GoodbyeDPI是一款针对 Windows 系统的深层数据包检测绕过工具,旨在绕过许多互联网服务提供商使用的深层数据包检测系统,这些系统会阻止访问特定网站。它可以处理使用光纤分路器或端口镜像(被动 DPI)连接的 DPI,这些 DPI 不会阻止任何数据,但会比请求的目标更快地回复,以及顺序连接的主动 DPI。它需要 Windows 7、8、8.1、10 或 11以及管理员权限。该工具提供快速启动脚本,例如针对俄罗斯的 `1_russia_blacklist_dnsredir.cmd` 和针对其他国家的 `2_any_country_dnsredir.cmd`,这些脚本将 GoodbyeDPI 启动在推荐模式下,并将 DNS 解析器重定向到 Yandex DNS 的非标准端口,以防止 DNS 污染。此外,它还提供多种配置选项,例如 HTTP 分片、HTTPS 分片、DNS重定向、黑名单等,用户可以根据需要进行配置。
* [apache/thrift](https://github.com/apache/thrift) 一个轻量级、独立于语言的软件堆栈,用于点对点 RPC 实现。Thrift 为数据传输、数据序列化和应用程序级处理提供了干净的抽象和实现。代码生成系统将简单的定义语言作为输入,并跨编程语言生成代码,这些编程语言使用抽象堆栈来构建可互操作的 RPC 客户端和服务器。Thrift 使用不同编程语言编写的程序可以轻松共享数据和调用远程过程。由于支持 28 种编程语言,Thrift 很可能支持您当前使用的语言。Thrift 专门设计用于支持跨客户端和服务器代码的非原子版本更改。这允许您升级服务器,同时仍然能够为旧客户端提供服务;或者让较新的客户端向较旧的服务器发出请求。社区提供的关于对 API 进行版本控制时的节俭和兼容性的优秀文章可以在节俭缺失指南中找到。
* [secdev/scapy](https://github.com/secdev/scapy) 基于Python的交互式数据包操作程序和库。它能够伪造或解码各种协议的数据包,通过网络发送它们,捕获它们,使用 pcap 文件存储或读取它们,匹配请求和回复等等。它旨在通过使用有效的默认值来允许快速数据包原型设计。它可以轻松处理大多数经典任务,如扫描、跟踪路由、探测、单元测试、攻击或网络发现(它可以替换 hping 、 等的 85% nmap arpspoof arp-sk arping tcpdump wireshark p0f 的 、它在大多数其他工具无法处理的许多其他特定任务中也表现得很好,例如发送无效帧、注入您自己的 802.11 帧、组合技术(VLAN 跳跃 + ARP 缓存中毒、WEP 受保护信道上的 VoIP 解码等)等。Scapy 支持 Python 3.7+。它旨在跨平台运行,并在许多不同的平台(Linux、OSX、*BSD 和 Windows)上运行。
* [jeessy2/ddns-go](https://github.com/jeessy2/ddns-go) 简单易用的DDNS。自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。支持阿里云、腾讯云、Dnspod、Cloudflare、回调、华为云、百度云、Porkbun、GoDaddy、Namecheap、NameSilo...支持Mac、Windows、Linux系统,支持ARM、x86架构。支持的域名服务商 阿里云 腾讯云 Dnspod Cloudflare 华为云 Callback 百度云 Porkbun GoDaddy Namecheap NameSilo Dynadot。支持接口/网卡/命令获取IP。支持以服务的方式运行。默认间隔5分钟同步一次。支持同时配置多个DNS服务商。支持多个域名同时解析。支持多级域名。网页中配置,简单又方便,默认勾选禁止从公网访问。网页中方便快速查看最近50条日志。支持Webhook通知。支持TTL。支持部分DNS服务商传递自定义参数,实现地域解析/多IP等功能。
* [xykt/IPQuality](https://github.com/xykt/IPQuality) 用于 IP 质量检测的脚本。中英文双语言支持。支持IPv4/IPv6双栈查询;精美排版,直观显示,多终端单屏优化展示,便于截图分享;基础信息、IP类型、风险评分、风险因子、流媒体解锁、邮局检测六大模块;基础数据源自Maxmind数据库;风险信息 IPinfo / ipregistry / ipapi / AbuseIPDB / IP2LOCATION / IPQS / DB-IP / SCAMALYTICS / IPWHOIS 多数据库整合;流媒体及AI多个服务商 TikTok / Disney+ / Netflix / Youtube / AmazonPrimeVideo / Spotify / ChatGPT 解锁及解锁类型检测;多邮局服务商 Gmail / Outlook / Yahoo / Apple / QQ / Mail.ru / AOL / GMX / Mail.com / 163 / Sohu / Sina 连通性检测;多邮局服务商 Gmail / Outlook / Yahoo / Apple / QQ / Mail.ru / AOL / GMX / Mail.com / 163 / 搜狐 / Sina 连通性检测;IP地址黑名单400+数据库检测
* [GyulyVGC/sniffnet](https://github.com/GyulyVGC/sniffnet) 跨平台、直观、可靠地用于轻松监控您的互联网流量的应用程序。特征:选择您电脑的网络适配器进行检查;选择一组过滤器应用于观察到的流量;查看有关您的互联网流量的总体统计数据;查看有关交通强度的实时图表;即使应用程序最小化,也要密切关注您的网络;将全面的捕获报告导出为PCAP 文件;识别6000 多个上层服务、协议、木马和蠕虫;找出与您交换流量的主机的域名和ASN;识别本地网络中的连接;获取有关远程主机所在国家/地区的信息( IP 地理位置);保存您最喜爱的网络主机;实时搜索和检查您的每个网络连接;设置自定义通知以在发生定义的网络事件时通知您;选择最适合您的风格,包括自定义主题支持。
* [squeaky-pl/japronto](https://github.com/squeaky-pl/japronto) Japronto是一个超高速、可扩展的异步 Python 3.5+ HTTP工具包,集成了基于 uvloop 和 picohttpparser 的管道式 HTTP服务器。它针对速度爱好者、喜欢底层编程的人和早期采用者。Japronto 的性能非常出色,能够处理每秒数百万个请求。它使用手写优化的 C 代码,利用现代 CPU 的优势,并结合了 picohttpparser 进行头和分块编码解析,以及 uvloop 提供的异步 I/O。它还尝试通过尽可能地将写入操作组合在一起来减少系统调用。目前 Japronto 处于早期预览阶段,API 可能在不同版本之间发生变化,需要更多测试。它不适合用于生产环境,但可以尝试使用并提供反馈。如果你正在寻找下一个项目的框架,建议使用 Sanic。
* [skywind3000/kcp](https://github.com/skywind3000/kcp) 快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP。 连时钟都需要外部传递进来,内部不会有任何一次系统调用。CP是为流量设计的(每秒内可以传输多少KB的数据),讲究的是充分利用带宽。而 KCP是为流速设计的(单个数据包从一端发送到一端需要多少时间),以10%-20%带宽浪费的代价换取了比 TCP快30%-40%的传输速度。TCP信道是一条流速很慢,但每秒流量很大的大运河,而KCP是水流湍急的小激流。
* [livekit/livekit](https://github.com/livekit/livekit) WebRTC的端到端堆栈。交换网板介质服务器和SDK。LiveKit 是一个开源项目,提供基于 WebRTC 的可扩展的多用户会议。它旨在提供在应用程序中构建实时视频音频数据功能所需的一切。LiveKit 的服务器是用 Go 编写的,使用出色的 Pion WebRTC 实现。特征:可扩展的分布式WebRTC SFU(选择性转发单元);现代、功能完备的客户端 SDK;专为生产而打造,支持 JWT 身份验证;强大的网络和连接性,UDP/TCP/TURN;易于部署:单个二进制文件、Docker 或 Kubernetes;高级功能包括:说话人检测、联播、端到端优化、选择性订阅、审核 API、端到端加密、SVC 编解码器(VP9、AV1)、Webhook、分布式和多区域
* [xtaci/kcp-go](https://github.com/xtaci/kcp-go) kcp-go是一个基于 Golang 的可靠 UDP 库,它提供了一种在 UDP 数据包上实现平滑、弹性、有序、错误检查和匿名传输流的方式。该库已在开源项目 kcptun 中得到验证,并被数百万台设备(从低端 MIPS 路由器到高端服务器)用于各种应用,包括在线游戏、直播、文件同步和网络加速。kcp-go 针对延迟敏感场景设计,具有缓存友好和内存优化设计,提供高性能核心,能够处理单个商品服务器上的 5000 多个并发连接。它与 net.Conn 和 net.Listener 兼容,可以作为 net.TCPConn 的直接替代品。kcp-go支持 FEC(前向纠错)和包级加密,并利用 sendmmsg 和 recvmmsg 等平台特定优化来提高性能。
* [henrypp/simplewall](https://github.com/henrypp/simplewall) simplewall是一个轻量级工具,用于配置 Windows 过滤平台 (WFP),可以控制计算机上的网络活动。它体积不到 1MB,兼容 Windows 7 SP1 及更高版本操作系统。simplewall 提供简单的界面,支持自定义规则创建、内置阻止列表(用于阻止 Windows 监控和遥测)、丢弃数据包信息通知和日志记录(Win7+)、允许数据包信息日志记录(Win8+)、Windows 子系统 Linux (WSL) 支持、Windows 服务支持、Windows 应用商店支持等功能。它免费开源,支持本地化和 IPv6。注意,simplewall 不是 Windows 防火墙的控制界面,它独立于 Windows 防火墙工作,通过 Windows过滤平台 (WFP) 实现网络过滤。
* [zerotier/ZeroTierOne](https://github.com/zerotier/ZeroTierOne) 用于地球的智能可编程以太网交换机。它允许所有联网设备、虚拟机、容器和应用程序进行通信,就好像它们都驻留在同一个物理数据中心或云区域中一样。这是通过将加密寻址的安全对等网络(称为 VL1)与有点类似于 VXLAN(称为 VL2)的以太网仿真层相结合来实现的。我们的 VL2 以太网虚拟化层包括高级企业 SDN 功能,例如用于网络微分段和安全监控的细粒度访问控制规则。所有 ZeroTier 流量都使用只有您才能控制的密钥进行端到端加密。大多数流量都是点对点的,但我们为无法建立点对点连接的用户提供免费(但速度慢)的中继。
* [kasmtech/KasmVNC](https://github.com/kasmtech/KasmVNC) KasmVNC是一个现代化的基于 Web 的 VNC 服务器和客户端,提供安全可靠的远程桌面访问。它突破了传统的 VNC 协议规范,支持现代技术,并增强了安全性。用户可以通过任何现代浏览器访问 KasmVNC,无需使用传统的 VNC 客户端应用程序。KasmVNC 使用现代的 YAML 配置,方便管理。Kasm Technologies 开发了 Kasm Workspaces,一个容器化的流媒体平台,并开源了 Workspace 镜像,包括容器化的桌面和应用程序以及基础镜像,供开发者创建自定义的流媒体容器。这些容器可以独立使用,也可以在 Kasm Workspaces 平台中使用,该平台提供完整的企业级功能。
* [julienschmidt/httprouter](https://github.com/julienschmidt/httprouter) HttpRouter是一个轻量级、高性能的 HTTP 请求路由器,专为Go 语言设计,提供比 Go 默认路由器更强大的功能和性能。它支持路由模式中的变量匹配,并能根据请求方法进行匹配。 HttpRouter 使用压缩动态 Trie 树结构进行高效匹配,并针对高性能和低内存占用进行了优化。它支持显式匹配,避免了多个路由模式匹配同一 URL 的问题,并提供自动处理尾部斜杠、路径自动修正、路径参数提取等功能。 HttpRouter 还能处理请求处理过程中出现的 panic,并提供自定义错误处理、OPTIONS 请求支持和 RESTful API 设计等功能。
* [real-logic/aeron](https://github.com/real-logic/aeron) Aeron是一个高效可靠的UDP单播、多播和IPC消息传输库,提供Java、C和C++客户端,以及.NET客户端。Aeron支持跨机器或同一机器上的IPC高效消息交换,并通过Archive模块将消息流记录到持久存储以供以后或实时重放。AeronCluster提供基于Raft共识算法的容错服务。Aeron以性能为核心,旨在提供最高吞吐量和最低、最可预测的延迟。它与Simple Binary Encoding (SBE)集成,以实现最佳的消息编码和解码性能。许多用于创建Aeron的数据结构已分解到Agrona项目中。
* [ogham/dog](https://github.com/ogham/dog) dog是一个命令行 DNS 客户端,类似于 `dig`,它拥有彩色输出、支持标准命令行参数语法、支持 DNS-over-TLS 和DNS-over-HTTPS 协议,并可以输出 JSON 格式。dog 可以查询域名、指定查询类型、使用特定名称服务器、使用 TCP 协议、设置 EDNS、自定义交易 ID 等。用户可以通过下载预编译的二进制文件或从源代码编译安装 dog,也可以使用 Arch Linux、Homebrew或 NixOS 的包管理器安装。dog 使用 Rust 语言编写,需要 Rustc 版本 1.45.0 或更高版本。
* [curl/trurl](https://github.com/curl/trurl) trurl是一个命令行工具,用于解析和操作 URL。它可以用于替换 URL的主机名、创建 URL、重定向 URL、更改端口号、提取URL 的路径和端口、追加路径和查询参数、从标准输入读取 URL、输出 JSON 格式的 URL 信息、移除查询参数中的跟踪信息、显示查询参数的特定键值、排序查询参数的键值对、处理使用分号分隔的查询参数、接受 URL 路径中的空格等。trurl 需要 libcurl 7.62.0 或更高版本,并且在 Linux 和 Windows 系统上都可以使用。
* [benoitc/gunicorn](https://github.com/benoitc/gunicorn) Gunicorn是一个用于 UNIX 的 Python WSGI HTTP 服务器,它基于 Ruby 的 Unicorn项目的预分叉工作模型。Gunicorn 与各种 Web 框架兼容,实现简单,资源占用少,速度快。它支持 Python 3.7 及更高版本,可以通过 `pip install gunicorn` 安装。使用方式为 `gunicorn [OPTIONS] APP_MODULE`,其中 `APP_MODULE` 格式为 `$(MODULE_NAME):$(VARIABLE_NAME)`,例如 `gunicorn --workers=2 test:app`。项目文档位于 https://docs.gunicorn.org,代码遵循 MIT 许可协议。
* [filecxx/FileCentipede](https://github.com/filecxx/FileCentipede) FileCentipede是一款跨平台的互联网文件上传/下载管理器,支持 HTTP(S)、FTP(S)、SSH、磁力链接、BitTorrent、m3u8、ed2k 和在线视频等多种协议。它还包含 WebDAV 客户端、FTP 客户端和 SSH 客户端。FileCentipede旨在快速、可定制且用户友好,并支持多种协议,包含 HTTP 请求器、文件合并和编码器等多种辅助工具。通过浏览器集成,您可以从网站下载音频和视频,甚至加密视频。FileCentipede 免费且无广告。
* [hatoo/oha](https://github.com/hatoo/oha) Oha是一个轻量级的 HTTP 负载生成器,灵感来自 rakyll/hey,并带有 TUI 动画。它使用 Rust 编写,并由tokio 和 ratatui 提供支持,可以实时显示负载测试结果。Oha 支持多种平台,包括 Linux、Windows 和 macOS,并提供多种安装方式,包括 Cargo、Arch Linux、Homebrew、winget 和 x-cmd。用户可以使用命令行参数设置请求数量、并发连接数、HTTP/2并发请求数、持续时间等,并通过 TUI 动画直观地观察测试结果。
* [versatica/mediasoup](https://github.com/versatica/mediasoup) 尖端的 WebRTC 视频会议。MediaSoup 及其客户端库旨在实现以下目标:成为 SFU(选择性转发单元)。支持 WebRTC 和普通 RTP 输入和输出。是服务器端的Node.js模块或 Rust crate。成为客户端的小型 TypeScript 和 C++ 库。极简主义:只需处理媒体层即可。信令不可知:不要强制要求任何信令协议。是超低级别的 API。支持所有现有的 WebRTC 端点。启用与知名多媒体库/工具的集成。
* [lexiforest/curl_cffi](https://github.com/lexiforest/curl_cffi) curl_cffi是一个基于 cffi 的 Python 库,它使用 curl-impersonate分支来实现一个能够模拟浏览器 TLS/JA3 和 HTTP/2指纹的 HTTP 客户端。与其他纯 Python HTTP 客户端(如 httpx 或 requests)不同,curl_cffi 可以模拟浏览器的指纹,这使得它能够绕过一些网站的封锁。它比 requests/httpx 快,与 aiohttp/pycurl 相当,支持 asyncio 和代理轮换,并支持 HTTP 2.0 和 websocket。
* [Tencent/tquic](https://github.com/Tencent/tquic) TQUIC是一个高性能、轻量级、跨平台的 QUIC 库,由腾讯开发。它支持多种拥塞控制算法(CUBIC、BBR、BBRv3、COPA),支持多路径 QUIC,并提供 Rust/C/C++ API。TQUIC 经过严格测试,包括单元测试、模糊测试、集成测试、性能基准测试、互操作性测试等,并通过了 IETF 互操作性测试。TQUIC 符合 QUIC 和 HTTP/3 RFC 规范,并提供详细的文档和社区支持。
* [jagt/clumsy](https://github.com/jagt/clumsy) clumsy是一款 Windows 网络模拟工具,它可以人为地降低您的网络连接速度,并模拟各种网络问题,例如延迟、丢包和数据篡改。clumsy 基于 WinDivert 库,能够拦截并修改网络数据包,无需安装或配置代理,适用于任何应用程序,甚至可以在离线状态下模拟网络问题。clumsy 提供交互式控制面板,让您可以实时调整网络状况并观察效果。
* [webhooksite/webhook.site](https://github.com/webhooksite/webhook.site) Webhook.site是一个方便的工具,可以立即显示 HTTP 请求,方便测试和调试 Webhook。它提供一个独特的随机 URL,无需互联网服务器即可接收 Webhook,并支持将 Webhook 转换为其他格式,以及通过自定义操作图形编辑器或 WebhookScript 脚本语言进行处理。该项目开源,提供自托管版本和云版本,云版本提供更多功能,部分需要付费订阅。
* [trojan-gfw/trojan](https://github.com/trojan-gfw/trojan) 一种无法识别的机制,可以帮助你绕过 GFW。特洛伊木马通过 TLS 提供多种协议,以避免主动/被动检测和 ISP QoS 限制。特洛伊木马程序不是固定的程序或协议。这是一个想法,一个模仿最常见的服务,在某种程度上它的行为相同,可以帮助你永久地穿过防火长城,而不会被识别出来。我们是 GreatER Fire;我们运送特洛伊木马。
* [mr-karan/doggo](https://github.com/mr-karan/doggo) doggo 是用 Golang 编写的现代命令行 DNS 客户端(如 dig)。它以简洁明了的方式输出信息,并支持 DoH、DoT、DoQ 和 DNSCrypt 等协议。它完全受到用 Rust 编写的 dog 的启发。我想向它添加一些功能,但由于我不了解 Rust,我发现这是一个很好的机会,可以自己尝试在 Go 中从头开始编写 DNS 客户端。因此名称 dog + go => doggo。
* [ktbyers/netmiko](https://github.com/ktbyers/netmiko) Netmiko是一个多厂商库,简化了使用Paramiko通过SSH连接网络设备的过程,它能高效地执行show命令获取输出和进行配置更改,并支持多种平台,避免了低级状态控制(例如复杂的正则表达式匹配)。通过pip安装后,只需提供设备类型、主机名、用户名、密码等信息即可建立连接,并使用send_command()方法执行命令。
* [httpie/http-prompt](https://github.com/httpie/http-prompt) HTTP Prompt是一个基于 HTTPie 和 prompt_toolkit 的交互式命令行 HTTP 客户端,它支持自动补全、语法高亮等功能,方便用户进行API 测试和调试。用户可以通过 HTTP Prompt 发送 HTTP 请求,查看响应内容,并进行交互式操作,提升 API 开发效率。项目主页:https://http-prompt.com,文档地址:https://docs.http-prompt.com。
* [gwuhaolin/livego](https://github.com/gwuhaolin/livego) livego是一个用 Go 语言编写的简单高效的直播服务器,支持 RTMP、HLS、HTTP-FLV 等传输协议,FLV 和 TS容器格式,以及 H264、AAC、MP3 等编码格式。用户可以通过 RTMP 协议将视频流推送到服务器,然后通过RTMP、FLV 或 HLS 协议进行播放。livego 易于安装和使用,支持 Docker 部署,并提供丰富的配置选项。
* [ducaale/xh](https://github.com/ducaale/xh) xh是一个友好且快速的 HTTP 请求工具,它借鉴了 HTTPie 的优秀设计,并专注于提升性能。它支持多种安装方式,包括使用 cURL、Powershell、各种包管理器以及预编译二进制文件。xh 可以通过命令行发送 HTTP 请求,并支持多种请求方法、数据格式和选项,例如 JSON、表单、多部分表单等。
* [pymumu/smartdns](https://github.com/pymumu/smartdns) SmartDNS是一个本地 DNS 服务器,它通过查询多个上游 DNS 服务器,获取最快的网站 IP 地址,从而提升上网速度。它支持 DoH 和 DoT 协议,提供更高的安全性和隐私保护。SmartDNS 可以部署在 OpenWrt、路由器、Windows 等多种平台上,并提供网页版管理界面,方便用户配置和使用。
* [fortra/impacket](https://github.com/fortra/impacket) 用于处理网络协议的 Python 类的集合。专注于提供对数据包的低级编程访问,对于某些协议(例如 SMB1-3 和 MSRPC),协议实现本身。数据包可以从头开始构建,也可以从原始数据中解析,面向对象的 API 使使用协议的深层层次结构变得简单。该库提供了一组工具作为示例。
* [jason5ng32/MyIP](https://github.com/jason5ng32/MyIP) MyIP是一个功能强大的 IP 工具箱,提供多种功能,包括查看本地 IP 地址、IP 地理位置信息、网站可用性测试、WebRTC 连接检测、DNS 泄漏测试、速度测试、ping 测试、MTR 测试、DNS 解析、Whois 查询、MAC 地址查询等。该项目支持多种语言,并提供网页版和 Docker 部署方式。
* [pallets/itsdangerous](https://github.com/pallets/itsdangerous) 将可信数据安全地传递到不受信任的环境并返回。各种帮助程序将数据传递到不受信任的环境,并使其安全无恙地恢复。数据经过加密签名,以确保令牌未被篡改。可以自定义数据序列化的方式。根据需要压缩数据。加载令牌时,可以自动添加和验证时间戳。
* [fabiolb/fabio](https://github.com/fabiolb/fabio) Fabio是一个快速、现代、零配置的HTTP(S)和TCP路由负载均衡器,用于部署由Consul管理的应用程序。只需在Consul中注册服务并提供健康检查,Fabio就能自动开始路由流量,无需任何配置。它易于部署、升级和重构,并已成功应用于大型网站,每天处理数万次请求。
* [cjdelisle/cjdns](https://github.com/cjdelisle/cjdns) cjdns是一个使用公钥加密进行地址分配和分布式哈希表进行路由的加密 IPv6 网络。它提供近乎零配置的网络,并避免了现有网络中存在的许多安全和可扩展性问题。cjdns 使用 Rust 语言编写,并提供跨平台支持。项目拥有活跃的社区,并提供丰富的文档和教程。
* [libp2p/rust-libp2p](https://github.com/libp2p/rust-libp2p) rust-libp2p是libp2p网络协议栈的Rust实现,提供核心组件如传输层、多路复用器和应用层协议。其代码库包含核心模块、多种传输协议实现、多路复用器实现、网络层实现以及应用层协议示例,并遵循IPFS行为准则。开发者可通过文档、示例和社区论坛获取支持。
* [smartping/smartping](https://github.com/smartping/smartping) SmartPing是一个综合性网络质量检测工具,提供正反向PING绘图、互PING拓扑图及报警、全国PING延迟地图和在线检测工具等功能。它基于分布式架构,通过多个监测点收集数据,从而实现精准的网络质量监控和故障定位,并支持自定义延迟、丢包率等报警阈值。
* [evilsocket/opensnitch](https://github.com/evilsocket/opensnitch) OpenSnitch 是一个受 Little Snitch 启发的 GNU/Linux 交互式应用程序防火墙。主要特点:交互式出站连接过滤。在整个系统范围内阻止广告、跟踪器或恶意软件域。能够从 GUI (nftables)配置系统防火墙。配置输入策略、允许入站服务等。从集中式 GUI 管理多个节点。
* [coredns/coredns](https://github.com/coredns/coredns) DNS 服务器/转发器,用 Go 编写,用于链接插件。每个插件都执行一个(DNS)功能。快速灵活的DNS服务器。这里的关键词是灵活:使用CoreDNS,您可以通过使用插件对DNS数据做任何您想做的事情。如果某些功能没有开箱即用,您可以通过编写插件来添加它。
* [rakyll/hey](https://github.com/rakyll/hey) hey是一个轻量级的HTTP负载生成器,可替代ApacheBench (ab),用于对web应用进行压力测试。它支持并发请求、HTTP/2、自定义HTTP请求头、以及多种输出格式(包括CSV),并允许设置请求数、并发数、速率限制、超时时间等参数,方便用户模拟各种负载场景。
* [paramiko/paramiko](https://github.com/paramiko/paramiko) Paramiko是一个用纯Python编写的SSHv2协议库,支持客户端和服务器功能,是Fabric库的基础。它适用于需要高级/底层功能或运行Python SSH服务器的用户,但对于普通SSH客户端使用场景,建议使用Fabric。Paramiko依赖于cryptography库,并以OpenSSH为主要参考实现。
* [reactphp/socket](https://github.com/reactphp/socket) Async, streaming plaintext TCP/IP和TLS安全套接字服务器和客户端连接库,基于ReactPHP的EventLoop和Stream组件,支持异步、非阻塞的多连接处理。项目包含快速入门示例、服务器和客户端使用方法、高级用法及安装指南。当前稳定版本为v1,开发版本为v3。
* [chenshuo/muduo](https://github.com/chenshuo/muduo) Event-driven网络库,基于Reactor模式为多线程Linux服务器提供C++11支持,适用于Linux内核2.6.28及以上版本,GCC 4.7或Clang 3.5及以上,已测试在Debian 7、Ubuntu 14.04、CentOS 7及以上版本上,安装所需包后运行./build.sh即可编译,更多使用教程参见官方文档。
* [riemann/riemann](https://github.com/riemann/riemann) Riemann是一个用Clojure编写的网络事件流处理系统,它可以聚合来自服务器和应用程序的事件,并使用强大的流处理语言进行分析。Riemann通过监控分布式系统,帮助用户及时发现问题并采取行动。项目主页为:https://riemann.io。
* [gatling/gatling](https://github.com/gatling/gatling) Gatling是一个现代化的负载测试工具,使用代码编写测试脚本,支持HTTP、WebSocket、Server-Sent-Events和JMS协议,它采用非阻塞IO和多用户架构,避免了传统工具的性能瓶颈,并提供友好的DSL,方便测试脚本的编写和版本控制。
* [mqtt/mqtt.org](https://github.com/mqtt/mqtt.org) mqtt.org网站是 MQTT 协议的官方网站,使用 Jekyll 框架构建。该网站提供有关 MQTT 协议的最新信息、文档、资源和社区论坛。用户可以通过 `bundle exec jekyll serve` 命令启动本地服务器,并使用 `bundle update` 命令更新项目依赖。
* [oxen-io/lokinet](https://github.com/oxen-io/lokinet) Lokinet是一个基于IP的匿名、去中心化互联网覆盖网络,它是低延迟匿名路由协议(LLARP)的参考实现,使用三层洋葱路由技术,提供匿名通信。安装说明及更多信息请参考项目文档。该项目采用GPLv3开源许可证。
* [curl/curl](https://github.com/curl/curl) 用URL语法传输数据的命令行工具和库,支持DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET、TFTP、WS 和 WSS。提供了无数强大的功能
* [wg/wrk](https://github.com/wg/wrk) 现代 HTTP 基准测试工具,能够在单个多核 CPU 上运行时产生大量负载。它将多线程设计与可扩展的事件通知系统(如 epoll 和 kqueue)相结合。可选的 LuaJIT 脚本可以执行 HTTP 请求生成、响应处理和自定义报告。
* [http4s/http4s](https://github.com/http4s/http4s) Http4s是一个简洁易用的Scala HTTP服务接口,类似于其他语言的Rack、WSGI、WAI和Servlets。它提供一个简洁的API,例如`HttpRoutes.of`,方便构建HTTP服务。其Blaze后端需要JDK8u252或更高版本。项目遵循Apache2许可证。
* [cloudflare/quiche](https://github.com/cloudflare/quiche) IETF 指定的 QUIC 传输协议和 HTTP/3 的实现。它提供了一个低级 API,用于处理 QUIC 数据包和处理连接状态。该应用程序负责提供 I/O(例如套接字处理)以及支持计时器的事件循环。
* [haproxy/haproxy](https://github.com/haproxy/haproxy) HAProxy Load Balancer 的开发分支(git.haproxy.org 镜像)。高性能的负载均衡软件。因为其专注于负载均衡这一些事情,因此与nginx比起来在负载均衡这件事情上做更好,更专业。
* [Mrs4s/go-cqhttp](https://github.com/Mrs4s/go-cqhttp) cqhttp的golang实现,轻量、原生跨平台.容 [OneBot-v11](https://github.com/botuniverse/onebot-11) 绝大多数内容,并在其基础上做了一些扩展,详情请看 go-cqhttp 的文档。
* [buger/goreplay](https://github.com/buger/goreplay) 用于捕获实时 HTTP 流量并将其重放到测试环境中,以便使用真实数据持续测试您的系统。可用于增强对代码部署、配置更改和基础结构更改的信心。
* [asciimoo/wuzz](https://github.com/asciimoo/wuzz) 用于 HTTP 检查的交互式 cli 工具。类似于 cURL 的参数,因此它可用于检查/修改从浏览器的网络检查器复制的请求,并具有“复制为 cURL”功能。
* [cloudflare/pingora](https://github.com/cloudflare/pingora) Rust 框架,用于构建快速、可靠和可编程的网络系统。Pingora 经过了实战考验,因为它已经为每秒超过 4000 万个互联网请求提供服务了几年多。
* [novnc/noVNC](https://github.com/novnc/noVNC) HTML VNC 客户端 JS库,也是一个基于该库构建的应用程序。noVNC 在任何现代浏览器(包括移动浏览器(iOS 和 Android))中都能正常运行。
* [http-party/http-server](https://github.com/http-party/http-server) 一个简单的零配置命令行 HTTP 服务器,它足够强大,可用于生产用途,但它足够简单且易于破解,可用于测试、本地开发和学习。
* [EZLippi/Tinyhttpd](https://github.com/EZLippi/Tinyhttpd) J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质。
* [ionsoul2014/ip2region](https://github.com/lionsoul2014/ip2region) 离线IP地址定位库和IP定位数据管理框架,10微秒级别查询效率,提供众多主流编程语言的 xdb 数据生成和查询客户端实现。
* [session-replay-tools/tcpcopy](https://github.com/session-replay-tools/tcpcopy) 在线请求复制工具,也是tcp流重放工具,适用于真实测试,性能测试,稳定性测试,压力测试,负载测试,冒烟测试等
* [encode/httpx](https://github.com/encode/httpx) 用于 Python 3 的全功能 HTTP 客户端库。它包括一个集成的命令行客户端,支持 HTTP/1.1 和 HTTP/2,并提供同步和异步 API。
* [ZLMediaKit/ZLMediaKit](https://github.com/ZLMediaKit/ZLMediaKit) 基于 C++11 的 WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT 服务器和客户端框架
* [lionsoul2014/ip2region](https://github.com/lionsoul2014/ip2region) 一个离线IP地址管理器框架和定位器,支持数十亿个数据段,十微秒搜索性能。适用于多种编程语言的 XDB 引擎实现
* [tiangolo/uwsgi-nginx-flask-docker](https://github.com/tiangolo/uwsgi-nginx-flask-docker) 带有uWSGI和Nginx的Docker镜像,用于在单个容器中运行的Python中的Flask应用程序。(可选)使用 Alpine Linux。
* [cloudflare/cfssl](https://github.com/cloudflare/cfssl) Cloudflare 的 PKI 和 TLS 工具包。既是命令行工具,又是用于签名、验证和捆绑 TLS 证书的 HTTP API 服务器。
* [StevenBlack/hosts](https://github.com/StevenBlack/hosts) 整合和扩展来自多个精心策划的来源的主机文件。(可选)选择色情、社交媒体和其他类别的扩展。
* [httpie/cli](https://github.com/httpie/cli) 适用于 API 时代的现代、用户友好的命令行 HTTP 客户端。JSON支持,颜色,会话,下载,插件等。
* [LibVNC/libvncserver](https://github.com/LibVNC/libvncserver) LibVNCServer/LibVNCClient 是跨平台的 C 库,可让您在程序中轻松实现 VNC 服务器或客户端功能。
* [XIU2/CloudflareSpeedTest](https://github.com/XIU2/CloudflareSpeedTest) 「自选优选 IP」测试 Cloudflare CDN 延迟和速度,获取最快 IP !当然也支持其他 CDN / 网站 IP
* [drakkan/sftpgo](https://github.com/drakkan/sftpgo/) 功能齐全且高度可配置的 SFTP、HTTP/S、FTP/S 和 WebDAV 服务器 - S3、Google Cloud Storage、Azure Blob
* [valyala/fasthttp](https://github.com/valyala/fasthttp) Go 的快速 HTTP 包。针对高性能进行了调整。热路径中的内存分配为零。比 net/http 快 10 倍
* [alex/what-happens-when](https://github.com/alex/what-happens-when) 试图回答古老的面试问题“当您在浏览器中输入 google.com 并按回车键时会发生什么?
* [artilleryio/artillery](https://github.com/artilleryio/artillery) 云规模的负载测试,就像 1-2-3 一样简单。开箱即用的无服务器和分布式。永不扩展
* [oldj/SwitchHosts](https://github.com/oldj/SwitchHosts) 用于管理hosts文件的应用程序,它基于Electron,React,Jotai,Chakra UI,CodeMirror等。
* [vasanthk/how-web-works](https://github.com/vasanthk/how-web-works) 网络如何运作 当我们在浏览器中输入 google.com 时,幕后会发生什么?
* [rrweb-io/rrweb](https://github.com/rrweb-io/rrweb) “记录和重放网络”,用于记录和重放用户在网络上的交互的工具。
* [drogonframework/drogon](https://github.com/drogonframework/drogon) 基于C++14/17/20的HTTP Web应用程序框架,运行在Linux/macOS/Unix/Windows上。
* [caddyserver/caddy](https://github.com/caddyserver/caddy) 具有自动 HTTPS 功能的快速且可扩展的多平台 HTTP/1-2-3 Web 服务器
* [gorilla/websocket](https://github.com/gorilla/websocket) 一个快速、经过充分测试和广泛使用的 Go. WebSocket 实现。
* [go-chi/chi](https://github.com/go-chi/chi) 轻量级、惯用且可组合的路由器,用于构建 Go HTTP 服务
* [vishnubob/wait-for-it](https://github.com/vishnubob/wait-for-it) 纯 bash 脚本,用于测试和等待 TCP 主机和端口的可用性
* [square/okhttp](https://github.com/square/okhttp) Square 适用于 JVM、Android 和 GraalVM 的细致 HTTP 客户端。
* [aio-libs/aiohttp](https://github.com/aio-libs/aiohttp) 用于 asyncio 和 Python 的异步 HTTP 客户端/服务器框架。
* [zu1k/nali](https://github.com/zu1k/nali) 一个查询IP地理信息和CDN服务提供商的离线终端工具.
* [apernet/OpenGFW](https://github.com/apernet/OpenGFW) Linux 上 GFW(中国防火墙)的灵活、易用的开源实现
* [adnanh/webhook](https://github.com/adnanh/webhook) 轻量级的传入 Webhook 服务器,用于运行 shell 命令
* [cdnjs/cdnjs](https://github.com/cdnjs/cdnjs) 免费和开源 CDN,旨在让开发人员的生活更轻松。
* [tailscale/tailscale](https://github.com/tailscale/tailscale) 使用 WireGuard 和 2FA 的最简单、最安全的方式。
* [haraka/Haraka](https://github.com/haraka/Haraka) 快速、高度可扩展且事件驱动的 SMTP 服务器
* [square/retrofit](https://github.com/square/retrofit) 适用于 Android 和 JVM 的类型安全 HTTP 客户端
* [gfwlist/gfwlist](https://github.com/gfwlist/gfwlist) 阻止和干扰包含敏感或不需要信息的网站
* [ekzhang/sshx](https://github.com/ekzhang/sshx) 通过网络进行快速、协作的实时终端共享
* [AdguardTeam/AdGuardHome](https://github.com/AdguardTeam/AdGuardHome) 网络范围的广告和跟踪器阻止DNS服务器
* [yhirose/cpp-httplib](https://github.com/yhirose/cpp-httplib) 仅C++标头的 HTTP/HTTPS 服务器和客户端库
* [microsoft/IoT-For-Beginners](https://github.com/microsoft/IoT-For-Beginners) 12 周,24 节课,面向所有人的物联网!
* [element-hq/element-web](https://github.com/element-hq/element-web) 一个光鲜亮丽的 Web Matrix 协作客户端。
* [grpc/grpc-go](https://github.com/grpc/grpc-go) gRPC 的 Go 语言实现。基于 HTTP/2 的 RPC
* [cilium/cilium](https://github.com/cilium/cilium) 基于 eBPF 的网络、安全性和可观测性
* [openresty/openresty](https://github.com/openresty/openresty) 基于 Nginx 和 LuaJIT 的高性能 Web 平台
* [tsenart/vegeta](https://github.com/tsenart/vegeta) HTTP 负载测试工具和库。超过9000!
* [yuesong-feng/30dayMakeCppServer](https://github.com/yuesong-feng/30dayMakeCppServer) 30天自制C++服务器,教程和源代码
* [go-resty/resty](https://github.com/go-resty/resty) Go 的简单 HTTP 和 REST 客户端库
* [sockjs/sockjs-client](https://github.com/sockjs/sockjs-client) WebSocket 仿真 - Javascript 客户端
* [sogou/workflow](https://github.com/sogou/workflow) C++ 并行计算和异步网络引擎
* [Moya/Moya](https://github.com/Moya/Moya) 用 Swift 编写的网络抽象层。
* [txthinking/brook](https://github.com/txthinking/brook) 一个跨平台可编程网络工具.
* [pion/webrtc](https://github.com/pion/webrtc) WebRTC API 的纯 Go 实现
### 网络服务_其他
* [m1k1o/neko](https://github.com/m1k1o/neko) 欢迎使用 Neko,这是一个在 Docker 中运行并使用 WebRTC 技术的自托管虚拟浏览器。Neko 是一个强大的工具,可让您在虚拟环境中运行功能齐全的浏览器,使您能够从任何地方安全、私密地访问互联网。使用 Neko,您可以像在常规浏览器上一样浏览 Web、运行应用程序和执行其他任务,所有这些都在一个安全隔离的环境中进行。无论您是希望测试 Web 应用程序的开发人员,还是寻求安全浏览体验的注重隐私的用户,或者只是想要利用虚拟浏览器的便利性和灵活性的人,Neko 都是完美的解决方案。除了安全和隐私功能外,Neko 还允许多个用户同时访问它。这使其成为需要共享浏览器访问权限的团队或组织,以及希望使用多个设备访问同一虚拟环境的个人的理想解决方案。使用 Neko,您可以轻松安全地与他人共享对浏览器的访问权限,而无需担心维护单独的配置或设置。无论您是需要协作处理项目、访问共享资源,还是只想与朋友或家人共享对浏览器的访问权限,Neko 都能轻松实现。Neko 也是举办观看派对和交互式演示的绝佳工具。凭借其虚拟浏览器功能,Neko 允许您举办可从任何地方访问的观看派对和演示,而无需面对面的聚会。这使得您很容易与朋友和同事保持联系,即使您无法亲自见面。使用 Neko,您可以轻松举办观看派对或进行互动演示,无论是休闲还是工作。只需邀请您的客人加入虚拟环境,您就可以共享屏幕并与他们实时互动。
* [pre-commit/pre-commit](https://github.com/pre-commit/pre-commit) 一个用于管理和维护多语言 pre-commit hook 的框架。Git 钩子脚本可用于在提交代码审查之前识别简单问题。我们在每次提交时都运行钩子,以自动指出代码中的问题,例如缺少分号、尾随空格和 debug 语句。通过在代码审查之前指出这些问题,这允许代码审查者专注于更改的架构,而不会浪费时间在琐碎的风格吹毛求疵上。随着我们创建更多的库和项目,我们认识到在项目之间共享我们的 pre-commit 钩子是很痛苦的。我们从一个项目复制并粘贴了笨拙的 bash 脚本,并且必须手动更改钩子以适用于不同的项目结构。我们认为您应该始终使用最好的行业标准 Linter。一些最好的 Linter 是用您在项目中未使用的语言编写的,或者您计算机上没有安装的语言。例如,scss-lint 是用 Ruby 编写的 SCSS 的 Linter。如果您在 Node 中编写项目,您应该能够将 scss-lint 用作预提交钩子,而无需将 Gemfile 添加到您的项目或了解如何安装 scss-lint。我们构建了 pre-commit 来解决我们的 hook 问题。它是一个用于 pre-commit 钩子的多语言包管理器。你指定一个你想要的钩子列表,pre-commit 在每次提交之前管理用任何语言编写的任何钩子的安装和执行。pre-commit 经过专门设计,不需要 root 访问权限。如果你的某个开发人员没有安装 node,但修改了 JavaScript 文件,pre-commit 会自动处理下载和构建 node 以在没有 root 的情况下运行 eslint。
* [hyperknot/openfreemap](https://github.com/hyperknot/openfreemap) OpenFreeMap是一个免费开源的地图托管解决方案,使用 OpenStreetMap 数据为网站和应用程序提供自定义地图样式。它可以自托管或使用其公共实例。所有内容都是开源的,包括完整的生产设置,没有“开源核心”模式。地图数据来自 OpenStreetMap。使用其公共实例完全免费,没有地图视图或请求数量限制,无需注册、用户数据库、API 密钥或 cookie。它通过捐赠来支付公共实例的运行成本。它还提供每周完整的地球下载,包括 Btrfs 和 MBTiles 格式。该项目的目标是使用现有工具提供免费的生产级矢量瓦片托管,这些工具包括 OpenStreetMap、OpenMapTiles、Planetiler、MapLibre、Natural Earth 和Wikidata。该项目专注于瓦片生成、Web 服务器和每周自动更新,并提供公共实例,自 2024 年 6 月起成为 MapHub 的生产基础地图服务。该项目不提供搜索、地理编码、路线计算、导航、静态图像生成、栅格瓦片托管、卫星图像托管、高程查找或自定义瓦片或数据集托管。它也不是一个可以本地安装的项目,而是专门用于设置干净的 Ubuntu 服务器或虚拟机的部署脚本。它使用 Fabric 并通过 SSH运行命令,可以一键设置生产就绪的服务器,用于瓦片托管和生成。该项目有意不使用 Docker,但欢迎其他人创建基于 Docker 的版本。它不承诺为自托管者提供无忧的自动更新。
* [git-ecosystem/git-credential-manager](https://github.com/git-ecosystem/git-credential-manager) 安全的跨平台 Git 凭据存储,可对 GitHub、Azure Repos 和其他常用 Git 托管服务进行身份验证。Git 凭据管理器 (GCM) 是基于 .NET 构建的安全 Git 凭据帮助程序,可在 Windows、macOS 和 Linux 上运行。它旨在为每个主要的源代码控制托管服务和平台提供一致且安全的身份验证体验,包括多因素身份验证。GCM 支持(按字母顺序排列)Azure DevOps、Azure DevOps Server(以前称为 Team Foundation Server)、Bitbucket、GitHub 和 GitLab。与 Git 的内置凭据帮助程序(Windows:wincred,macOS:osxkeychain,Linux:gnome-keyring/libsecret)相比,它们仅为用户名/密码提供单因素身份验证支持。GCM 取代了基于 .NET Framework 的 Git Credential Manager(适用于 Windows)和基于 Java 的 Git Credential Manager(适用于 Mac 和 Linux)。
* [jopohl/urh](https://github.com/jopohl/urh) Universal Radio Hacker(URH) 是一款用于无线协议分析的完整工具套件,支持多种常见的软件定义无线电(SDR)。URH 可以轻松解调信号并自动检测调制参数,方便识别空中传输的比特和字节。由于数据在传输前通常会进行编码,URH 提供可自定义的解码功能,可以破解复杂的编码,例如 CC1101 数据白化。在协议逆向工程方面,URH 可以通过手动分配协议字段和消息类型,或使用基于规则的智能自动推断协议字段来帮助用户。此外,URH 还包含一个针对无状态协议的模糊测试组件和一个用于有状态攻击的模拟环境。用户可以查看安装说明、官方用户指南、演示视频和维基百科页面了解更多信息。
* [github/docs](https://github.com/github/docs) GitHub Docs是 docs.github.com 的开源代码仓库,包含网站代码和 Markdown源文件。GitHub 文档团队在私有仓库中进行预发布内容工作,并定期同步到此公共仓库。你可以通过点击页面底部的“Make a contribution”按钮提交拉取请求,进行快速修复,例如拼写错误、更新或链接修复。你也可以通过创建本地环境或打开 Codespace 来贡献。对于更复杂的贡献,请使用最合适的 issue模板打开 issue,描述你想要看到的更改。如果你想贡献,可以查看我们的“help wanted board”以查找已获准进行工作的开放 issue。所有代码都已获得 MIT 许可,GitHub 产品文档已获得 CC-BY许可。
* [conan-io/conan](https://github.com/conan-io/conan) Conan是一个开源的 C/C++ 包管理器,它完全去中心化,用户可以在自己的服务器上私密地托管包。Conan 支持跨平台使用,包括 Linux、OSX、Windows、Solaris、FreeBSD 等,并提供对 Docker 和 WSL 的支持。Conan 可以创建、上传和下载任何配置和平台的二进制文件,包括交叉编译,节省开发和持续集成的时间。Conan 可以与任何构建系统集成,包括 CMake、MSBuild、Makefiles、Meson 等。Conan 基于 Python 的配方和扩展点,使其具有强大的灵活性和可扩展性。Conan 拥有一个活跃的社区,在 GitHub 和 Slack 上提供支持。Conan 稳定可靠,被许多公司用于生产环境。
* [x-wrt/x-wrt](https://github.com/x-wrt/x-wrt) 该项目是 OpenWrt 的一个分支,OpenWrt 是一个针对嵌入式设备的 Linux 操作系统。与提供单一静态固件不同,OpenWrt 提供一个完全可写的文件系统和包管理系统,允许用户通过包自定义设备以满足各种应用需求。对于开发者来说,OpenWrt 是构建应用程序的框架,而对于用户来说,这意味着可以完全自定义设备,以实现超出预期用途的功能。项目提供预编译的固件镜像,并提供一个固件选择器帮助用户快速找到可用于从厂商固件迁移到 OpenWrt 的镜像。该项目还提供开发指南,帮助用户构建自己的固件。
* [yarnpkg/berry](https://github.com/yarnpkg/berry) 现代的包管理器,分为各种包。其新颖的架构允许完成目前使用现有解决方案无法完成的事情:Yarn 支持插件;添加插件就像将其添加到存储库中一样简单;Yarn 默认支持 Node,插件可以添加对其他语言的支持;Yarn 原生支持工作区,其 CLI 利用了这一点;Yarn 使用类似 bash 的可移植 shell 脚本可跨 Windows、Linux 和 macOS 移植;Yarn 首先是一个 Node API,可以通过编程方式(通过 @yarnpkg/core)使用;Yarn 是用 TypeScript 编写的,并且经过了完全的类型检查
* [cobaltdisco/Google-Chinese-Results-Blocklist](https://github.com/cobaltdisco/Google-Chinese-Results-Blocklist) 这是一个用于屏蔽 Google 搜索结果中中文垃圾信息的项目,该项目通过维护一个黑名单列表,阻止特定网站或域名出现在搜索结果中,从而帮助用户获得更优质的搜索体验。该项目使用 uBlacklist 技术,可以有效屏蔽各种垃圾信息,例如“小 X 网”或“小X 资讯网”,并提供更准确、更可靠的搜索结果。该项目与 Google Hit Hider by Domain 和 AC-baidu 等类似项目相比,具有更强大的屏蔽功能,可以更有效地过滤中文垃圾信息。
* [wechatsync/Wechatsync](https://github.com/wechatsync/Wechatsync) Wechatsync 是一款一键同步文章到多个内容平台的工具,支持今日头条、WordPress、知乎、简书、掘金、CSDN、typecho等平台,一次发布,多平台同步发布,解放个人生产力。它基于 Safari 浏览器阅读模式提取文章内容,并支持 Markdown 编辑器,可以将文章同步到多个平台,提高写作效率。目前已支持微信公众号、知乎、微博、Bilibili、豆瓣、百家号、简书等平台,并计划支持本地 Markdown 同步和 Markdown 支持公众号样式定制。
* [TortoiseGit/TortoiseGit](https://github.com/TortoiseGit/TortoiseGit) TortoiseGit是一个基于 TortoiseSVN 的 Windows Shell 接口,用于操作 Git 版本控制系统。它是一款开源软件,使用免费软件构建。TortoiseGit 提供了直观的图形界面,方便用户进行常见的 Git 操作,例如提交、查看日志、比较版本、创建分支和标签、创建补丁等。用户可以通过官网获取最新版本、文档、支持信息和问题跟踪。用户也可以参与项目贡献,例如改进文档、翻译、测试、帮助其他用户、改进用户界面或编写代码。
* [Chocobozzz/PeerTube](https://github.com/Chocobozzz/PeerTube) PeerTube是一个免费、去中心化、联邦化的视频平台,旨在替代 YouTube、Dailymotion 或 Vimeo 等中心化平台,提供更自由、更开放的视频分享体验。它使用 ActivityPub 协议实现联邦化,允许用户在不同 PeerTube 实例之间互相关注和分享视频。PeerTube 还支持 P2P技术,直接在用户的浏览器中进行视频传输,减少对服务器的依赖,提高视频播放效率。用户可以创建自己的视频频道,上传、分享和观看视频,并与其他用户互动。
* [gelstudios/gitfiti](https://github.com/gelstudios/gitfiti) gitfiti是一个利用GitHub提交历史记录来创作“涂鸦”的工具。它通过生成脚本(powershell或bash)来修改提交日期,从而在GitHub提交历史日历上绘制图案。由于会修改仓库历史记录,建议在使用gitfiti时创建一个新的GitHub仓库。gitfiti提供了多种预设图案,用户也可以自定义图案。此外,gitfiti支持从文件加载图案,并提供文本和字母选项。需要注意的是,使用gitfiti需要等待一段时间才能在提交图中看到效果。
* [mislav/hub](https://github.com/mislav/hub) hub是一个命令行工具,它扩展了git,提供额外的功能和命令,使与GitHub的交互更加便捷。它可以用于克隆仓库、创建pullrequest、管理issue等操作,并支持使用SSH或HTTPS协议。hub可以与git命令无缝衔接,也可以直接与GitHub API交互,方便脚本编写。hub可在多种平台上安装,包括macOS、Linux、Windows等,并提供多种安装方式,如Homebrew、Nix、Scoop、Chocolatey等。此外,hub还可以在GitHub Actions中使用,方便自动化操作。
* [TeamPiped/Piped](https://github.com/TeamPiped/Piped) Piped是一个开源的 YouTube 前端替代方案,旨在高效且注重隐私。它不使用官方 YouTube API,而是通过 NewPipeExtractor 提取信息,并提供无广告、无追踪、轻量级、无限滚动、主题切换、登录、订阅、播放列表等功能,还支持 SponsorBlock、LBRY和 Return YouTube Dislike 集成。Piped 采用多区域负载均衡,设计高效,能够同时处理数千用户,并提供公开的 JSON API和基于 Matrix 的联邦协议,允许不同实例之间协作。
* [actions/starter-workflows](https://github.com/actions/starter-workflows) 这些是帮助人们开始使用 GitHub Actions 的工作流程文件。每当您开始创建新的 GitHub Actions 工作流程时,都会显示它们。如果您想开始使用 GitHub Actions,可以通过单击要创建工作流程的存储库中的“Actions”选项卡来使用这些入门工作流程。每个工作流都必须用 YAML 编写,并且具有 .yml 扩展。他们还需要一个相应的 .properties.json 文件,其中包含有关工作流的额外元数据(显示在 GitHub.com UI 中)。
* [google/seesaw](https://github.com/google/seesaw) Seesaw v2是一个基于Linux虚拟服务器(LVS)的负载均衡平台,支持从相同网络上的服务器的基本负载均衡到高级功能,例如anycast、直接服务器返回(DSR)、多VLAN支持和集中式配置。它可靠易于维护,需要两个Seesaw节点(物理机或虚拟机),每个节点需两个网络接口(一个用于主机,另一个用于集群VIP),所有接口连接到同一二层网络。该项目使用Go语言开发,依赖多个Go包和libnl库。
* [KoriIku/luxirty-search](https://github.com/KoriIku/luxirty-search) Luxirty Search是一款基于 Google 的搜索引擎,它屏蔽内容农场,无广告,无跟踪,干净,简洁,快速。它通过屏蔽特定网站(如 CSDN、知乎、百度等)和使用 `site:` 运算符来过滤掉垃圾信息,并优先展示高质量网站(如 GitHub、Stackoverflow、v2ex、cnblog)的内容。此外,它还支持搜索 v2ex 和 Reddit 等平台。Luxirty Search 旨在提供一个干净、高效的搜索体验,帮助用户快速找到所需信息。
* [Spotifyd/spotifyd](https://github.com/Spotifyd/spotifyd) Spotifyd是一个开源的Spotify客户端,以UNIX守护进程的形式运行,它像官方客户端一样流式传输音乐,但更轻量级,支持更多平台。Spotifyd还支持Spotify Connect协议,使其可以作为设备显示,并可以通过官方客户端进行控制。Spotifyd需要Spotify Premium帐户才能使用。该项目基于librespot的逆向工程工作,并欢迎开发者参与贡献,特别是针对标记为“good first issue”的简单任务。
* [o2sh/onefetch](https://github.com/o2sh/onefetch) Onefetch是一个用 Rust 编写的命令行 Git 信息工具,可以显示本地 Git仓库的项目信息和代码统计信息,无需网络连接。它可以自动检测开源许可证,并提供代码分布、待处理变更、依赖项数量、主要贡献者、磁盘大小、创建日期、代码行数等信息。支持超过 100 种编程语言,并可以通过命令行参数进行自定义配置,例如格式、信息行、忽略文件和目录、输出格式等。
* [IonicaBizau/git-stats](https://github.com/IonicaBizau/git-stats) `git-stats` 是一个本地 Git 统计工具,可以生成类似 GitHub 的贡献日历,并提供其他统计信息。它支持导入和删除提交,以及从 GitHub 和 BitBucket 导入所有提交。用户可以通过命令行工具或 Node.js 模块使用它,并自定义数据存储文件、主题和日期范围。默认情况下,它会将提交历史记录保存在 `~/.git-stats` 文件夹中,也可以通过 `~/.git-stats-config.js` 文件配置默认设置。
* [qier222/YesPlayMusic](https://github.com/qier222/YesPlayMusic) YesPlayMusic 是一个高颜值的第三方网易云音乐播放器,支持 Windows、macOS 和 Linux。它使用 Vue.js 全面开发,支持网易云音乐账号登录、MV 播放、歌词显示、私人 FM 和每日推荐歌单等功能。此外,它还支持 UnblockNeteaseMusic,可以自动使用代理服务器解锁网易云音乐的限制,播放更多歌曲。用户可以通过官方网站下载使用,并加入 Telegram 交流群获取最新信息。
* [arslanbilal/git-cheat-sheet](https://github.com/arslanbilal/git-cheat-sheet) 这是一个 Git和 Git Flow 的速查表,旨在帮助你快速掌握常用的 Git 命令,无需死记硬背。该项目包含了 Git 的基本操作,包括设置、创建、本地更改、搜索、提交历史、移动/重命名、分支和标签、更新和发布、合并和变基、撤销操作以及 Git Flow 工作流程。你可以自由地贡献、更新语法错误,并添加你的语言文件。
* [fangzesheng/free-api](https://github.com/fangzesheng/free-api) 这是一个收集免费 API 接口的项目,旨在为开发者提供便捷的 API 资源。项目收集了网络上众多免费 API,并提供统一的接入方式,方便开发者快速使用。项目会定期更新新的 API 接口,并提供相关文档和示例代码,方便开发者快速上手。开发者可以通过项目网站或 GitHub仓库获取 API 列表和相关信息。
* [danielkummer/git-flow-cheatsheet](https://github.com/danielkummer/git-flow-cheatsheet) 这是一个关于Git Flow 使用的速查表,提供 Vincent Driessen 分支模型的高级仓库操作扩展,帮助开发者更好地管理代码版本。该项目包含了 Git Flow 的基本命令和使用方法,包括初始化、创建特性分支、发布版本、修复紧急问题等操作,并提供详细的命令说明和示例,方便开发者快速上手 Git Flow。
* [agis/git-style-guide](https://github.com/agis/git-style-guide) 这是一个 Git风格指南,受 Linux 内核提交补丁指南、git 手册页和社区流行实践的启发。它提供了一套关于分支命名、提交信息、合并等方面的最佳实践,旨在帮助开发者保持代码库整洁、易于理解和维护。该指南包含中文简体、繁体等多种语言版本,并鼓励开发者积极贡献。
* [nektos/act](https://github.com/nektos/act) 在本地运行 GitHub Actions,快速反馈 - 无需在每次要测试对 `.github/workflows/` 文件所做的更改(或对嵌入式 GitHub 操作的任何更改)时都提交/推送,而是可以在 `act` 本地运行操作。环境变量和文件系统都配置为与 GitHub 提供的内容相匹配。
* [git-tips/tips](https://github.com/git-tips/tips) 这是一个收集了常用 Git 命令和技巧的项目,包含日常使用、分支管理、历史操作、远程仓库操作等方面的技巧,并提供了一个名为 `git-tip` 的 CLI 工具来方便使用这些技巧。项目还提供多种语言的版本,方便不同语言背景的用户使用。
* [MichaelCade/90DaysOfDevOps](https://github.com/MichaelCade/90DaysOfDevOps) 正在使用这个存储库来记录我学习 DevOps 的旅程。我于 2022 年 1 月 1 日开始了这个过程,并计划持续到 3 月 31 日。我每天(包括周末)将花一个小时来获得对DevOps各个方面的基本理解。这将是一个为期 90 天的强化学习期。
* [orhun/git-cliff](https://github.com/orhun/git-cliff) 一个高度可定制的更新日志生成器,遵循传统的提交规范。git-cliff 可以通过利用常规提交以及正则表达式驱动的自定义解析器从 Git 历史记录生成更改日志文件。可以使用配置文件自定义 changelog 模板以匹配所需的格式。
* [supabase/supabase](https://github.com/supabase/supabase) 开源Firebase替代品。Firebase 是一家实时后端数据库创业公司,它能帮助开发者很快的写出 Web 端和移动端的应用。于 2014 年 Google 收购了 Firebase,之后把 Firebase 结合到 Google 云服务中。
* [jhuangtw/xg2xg](https://github.com/jhuangtw/xg2xg) 一个方便的类似技术和服务的查找表,帮助前谷歌员工在现实世界中生存,系统设计入门、Hadoop 生态系统表、将 AWS 服务映射到 GCP 产品、数据库数据库、Google 开源词汇表
* [alexcasalboni/aws-lambda-power-tuning](https://github.com/alexcasalboni/aws-lambda-power-tuning) 开源工具,可帮助您可视化和微调 Lambda 函数的内存/电源配置。它在您自己的 AWS 账户中运行(由 AWS Step Functions 提供支持),并支持三种优化策略:成本、速度和平衡。
* [mikeroyal/Self-Hosting-Guide](https://github.com/mikeroyal/Self-Hosting-Guide) 自托管指南。了解有关本地托管(本地和专用 Web 服务器)以及由您自己或您的组织管理软件应用程序的所有信息。包括云、LLMs、WireGuard、自动化、家庭助理和网络。
* [jonas/tig](https://github.com/jonas/tig) Tig 是一个基于 ncurses 的 git 文本模式接口。它主要用作 Git 存储库浏览器,但也可以帮助在 chunk 级别暂存提交的更改,并充当各种 Git 命令输出的寻呼机。
* [signalwire/freeswitch](https://github.com/signalwire/freeswitch) 一种软件定义的电信堆栈,可实现从专有电信交换机到可在任何商用硬件上运行的多功能软件实施的数字化转型。可以释放任何设备的电信潜力。
* [521xueweihan/git-tips](https://github.com/521xueweihan/git-tips) Git的奇技淫巧。Git是分布式版本管理工具,版本管理工具能记录每次的修改,只要提交到版本仓库,就可找到之前任何时刻状态(文本状态)。
* [wasmerio/wasmer](https://github.com/wasmerio/wasmer) 领先的 WebAssembly 运行时,支持 WASIX、WASI 和 Emscripten,它使令人难以置信的轻量级容器能够在任何地方运行:从桌面到云,边缘甚至浏览器。
* [PyGithub/PyGithub](https://github.com/PyGithub/PyGithub) 用于访问 GitHub REST API 的 Python 库。此库使您能够管理 Python 应用程序中的 GitHub 资源,例如存储库、用户配置文件和组织。
* [dotnetcore/FastGithub](https://github.com/dotnetcore/FastGithub) github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题
* [DIYgod/RSSHub](https://github.com/DIYgod/RSSHub) 一切都是可RSS的,一个开源、易于使用且可扩展的 RSS 源生成器。它能够从几乎所有内容生成RSS提要。
* [go-gitea/gitea](https://github.com/go-gitea/gitea) 轻松自托管的一体化软件开发服务,包括 Git 托管、代码审查、团队协作、包注册表和 CI/CD
* [makeplane/plane](https://github.com/makeplane/plane) 开源JIRA,线性和高度替代。Plane 可帮助您以最简单的方式跟踪问题、史诗和产品路线图。
* [cooderl/wewe-rss](https://github.com/cooderl/wewe-rss) 更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)v2.x
* [astrada/google-drive-ocamlfuse](https://github.com/astrada/google-drive-ocamlfuse) Google Drive 的 FUSE 文件系统(Filesystem in Userspace,用户空间中的文件系统),用 OCaml 编写。
* [makeplane/plane](https://github.com/makeplane/plane) 开源自托管项目规划工具,可帮助您以最简单的方式跟踪问题、历史和产品路线图。
* [KRTirtho/spotube](https://github.com/KRTirtho/spotube) 开源 Spotify 客户端,不需要 Premium,也不使用 Electron,适用于桌面和移动设备
* [koodo-reader/koodo-reader](https://github.com/koodo-reader/koodo-reader) 具有 Windows、macOS、Linux 和 Web 同步和备份功能的现代电子书管理器和阅读器
* [localForage/localForage](https://github.com/localForage/localForage) 改进了离线存储。使用简单但功能强大的API包装IndexedDB,WebSQL或localStorage。
* [PostHog/posthog](https://github.com/PostHog/posthog) 提供开源产品分析、会话录制、功能标记和 A/B 测试,您可以自行托管。
* [goharbor/harbor](https://github.com/goharbor/harbor) 开源的受信任的云原生注册表项目,用于存储、签名和扫描内容。
* [monicahq/monica](https://github.com/monicahq/monica) 个人客户关系管理。记住你的朋友、家人和业务关系的一切。
* [iamadamdev/bypass-paywalls-chrome](https://github.com/iamadamdev/bypass-paywalls-chrome) 绕过适用于 Chrome 和 Firefox 的付费墙 Web 浏览器扩展程序。
* [mattermost/mattermost](https://github.com/mattermost/mattermost) 开源平台,用在整个软件开发生命周期中实现安全协作。
* [gorhill/uBlock](https://github.com/gorhill/uBlock) 适用于 Chromium 和 Firefox 的有效拦截器。快速而精益。
* [umami-software/umami](https://github.com/umami-software/umami) Google Analytics 的一款简单快速、注重隐私的替代品。
* [pavlobu/deskreen](https://github.com/pavlobu/deskreen) 将带有网络浏览器的设备变成您计算机的辅助屏幕
* [movie-web/movie-web](https://github.com/movie-web/movie-web) 一个小型网络应用程序,可轻松观看电影和节目
* [navidrome/navidrome](https://github.com/navidrome/navidrome) 现代音乐服务器和流媒体与亚音速/Airsonic 兼容
* [ajayyy/SponsorBlock](https://github.com/ajayyy/SponsorBlock) 跳过 YouTube 视频赞助商(浏览器扩展程序)
* [TeamNewPipe/NewPipe](https://github.com/TeamNewPipe/NewPipe) 适用于 Android 的自由轻量级流媒体前端。
* [nukeop/nuclear](https://github.com/nukeop/nuclear) 为您查找免费音乐的流媒体音乐播放器
* [daltoniam/Starscream](https://github.com/daltoniam/Starscream) 适用于 iOS 和 OSX 的 swift 中的 Websockets
* [libre-tube/LibreTube](https://github.com/libre-tube/LibreTube) 适用于 Android 的 YouTube 的替代前端。
* [getsentry/sentry](https://github.com/getsentry/sentry) 开发人员优先的错误跟踪和性能监控
* [Rigellute/spotify-tui](https://github.com/Rigellute/spotify-tui) 用 Rust 编写的终端的 Spotify 客户端
* [extrawurst/gitui](https://github.com/extrawurst/gitui) 用rust编写的,终端中提供了git GUI
* [FreeTubeApp/FreeTube](https://github.com/FreeTubeApp/FreeTube) 用于隐私的开源 YouTube 应用程序
* [google/go-github](https://github.com/google/go-github) 用于访问 GitHub v3 API 的 Go 库
* [radishes-music/radishes](https://github.com/radishes-music/radishes) 跨平台的无版权的音乐平台
* [Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) 网易云音乐 Node.js API service
* [gogs/gogs](https://github.com/gogs/gogs) 一个无痛的自托管 Git 服务
### 网络爬虫
* [apify/crawlee](https://github.com/apify/crawlee) 一个 Web 抓取和浏览器自动化库,供Node.js构建可靠的爬虫。在 JavaScript 和 TypeScript 中。提取 AI、LLMsRAG 或 GPT 的数据。 从网站下载 HTML、PDF、JPG、PNG 和其他文件。适用于 Puppeteer、Playwright、Cheerio、JSDOM 和原始 HTTP。有头和无头模式。使用代理轮换。Crawlee 端到端地覆盖您的爬行和抓取,并帮助您构建可靠的抓取工具。快。即使使用默认配置,您的爬虫也会看起来像人类一样,并在现代机器人保护的雷达下飞行。Crawlee 为您提供了抓取 Web 链接、抓取数据并将其存储到磁盘或云中的工具,同时保持可配置以满足您的项目需求。特征:用于 HTTP 和无头浏览器爬虫的单一界面、要抓取的 URL 的持久队列(广度和深度优先)、表格数据和文件的可插拔存储、使用可用系统资源自动扩展、集成代理轮换和会话管理、可通过钩子自定义的生命周期、CLI 引导项目、可配置的路由错误处理和重试、Dockerfile 已准备好部署、用泛型的 TypeScript 编写。 HTTP 爬虫:零配置 HTTP2 支持,即使对于代理也是如此、自动生成类似浏览器的标题、复制浏览器 TLS 指纹、集成了快速 HTML 解析器。Cheerio 和 JSDOM、是的,您也可以抓取 JSON API。真正的浏览器抓取:JavaScript 呈现和屏幕截图、无头和有头支持、零配置生成类人指纹、自动浏览器管理、使用具有相同界面的 Playwright 和 Puppeteer、Chrome、Firefox、Webkit 等。
* [adbar/trafilatura](https://github.com/adbar/trafilatura) 发现和提取网络上的文本数据,Python和命令行工具,用于收集Web上的文本和元数据:抓取,抓取,提取,输出为CSV,JSON,HTML,MD,TXT,XML。旨在收集 Web 上的文本并简化将原始 HTML 转换为结构化、有意义的数据的过程。它包括所有必要的发现和文本处理组件,以执行 Web 爬虫、下载、抓取和提取主要文本、元数据和注释。它旨在保持方便和模块化:不需要数据库,输出可以转换为常用格式。从 HTML 批量到基本部分可以缓解许多与文本质量相关的问题,通过关注实际内容,避免重复出现的元素(页眉、页脚等)引起的噪音,并使用选定的信息理解数据。提取器设计为强大且速度相当快,可在数百万个文档上运行。该工具的多功能性使其可用于定量和数据驱动的方法。它用于学术领域及其他领域(例如自然语言处理、计算社会科学、搜索引擎优化和信息安全)。
* [rapiz1/rathole](https://github.com/rapiz1/rathole) 一个轻量级和高性能的反向代理,用于 NAT 遍历,用 Rust 编写。frp 和 ngrok 的替代品。与 frp 和 ngrok 一样,rathole 可以帮助通过具有公共 IP 的服务器将 NAT 后面设备上的服务暴露给 Internet。高性能 可以实现比 frp 高得多的吞吐量,并且在处理大量连接时更稳定。低资源消耗 与类似工具相比,消耗的内存要少得多。请参阅基准测试。二进制文件可以小至 ~500KiB,以适应设备(如路由器等嵌入式设备)的约束。服务的安全令牌是强制性的,并且是服务方面的。服务器和客户端负责自己的配置。使用可选的噪声协议,可以轻松配置加密。无需创建自签名证书!还支持 TLS。可以通过热重载配置文件来动态添加或删除热重载服务。HTTP API 是 WIP。
* [apify/crawlee-python](https://github.com/apify/crawlee-python) Crawlee是一个用于 Python 的网页抓取和浏览器自动化库,帮助你构建可靠的爬虫。它可以用于提取数据,例如用于 AI、LLM、RAG或 GPT,以及从网站下载 HTML、PDF、JPG、PNG 等文件。Crawlee 支持 BeautifulSoup、Playwright 和原始 HTTP,并提供头部和无头模式,以及代理轮换功能。它可以帮助你构建类似于人类行为的爬虫,并绕过现代的机器人保护措施。Crawlee 提供了丰富的配置选项,可以满足各种项目的需要。你可以访问 Crawlee 项目网站获取完整的文档、指南和示例。Crawlee 还提供了一个 TypeScript 版本,你可以在 GitHub 仓库中找到更多信息。
* [tryolabs/requestium](https://github.com/tryolabs/requestium) Requestium是一个 Python 库,将 Requests、Selenium 和 Parsel 的功能整合到一个工具中,用于自动化网页操作。它允许在 Requests 会话和 Selenium浏览器之间无缝切换,并保持当前的网页会话。Requestium 还增强了 Requests 和 Selenium 的功能,例如更灵活的 cookie 处理、更可靠的点击元素操作,以及对动态加载元素的改进处理。用户可以使用 `pip install requestium` 安装该库,并使用 `Session` 对象进行网页操作,例如获取网页内容、执行 XPath 查询、使用正则表达式提取信息等。Requestium 还可以使用 Selenium-Wire 等第三方库来获取网页的 XHR 请求。
* [browserbase/stagehand](https://github.com/browserbase/stagehand) Stagehand是一个基于 AI 的网页浏览框架,专注于简洁性和可扩展性。它提供三个简单的 API (`act`、`extract` 和 `observe`),用于构建自然语言驱动的网页自动化。Stagehand 使用 Playwright 作为底层引擎,并支持 OpenAI、Anthropic 等多种模型提供商。你可以使用自然语言指令,例如 `act("点击登录按钮")` 或 `extract("找到红色的鞋子")`,Stagehand 会自动生成相应的 Playwright代码并执行。Stagehand 旨在提供一个轻量级、可配置的框架,并支持不同的模型和模型提供商。它是一个开源项目,由 Browserbase 团队维护。
* [instaloader/instaloader](https://github.com/instaloader/instaloader) Instaloader是一个 Python 库,用于从 Instagram 下载图片、视频及其元数据,例如标题、地理位置和评论。它支持下载公开和私有资料、话题、用户故事、动态和已保存的媒体,并能自动检测资料名称变更并相应地重命名目标目录。Instaloader允许您自定义下载过滤器和存储位置,并能自动恢复先前中断的下载过程。您只需使用 pip 安装 Instaloader,并使用命令行工具下载内容,例如:`instaloader profile [profile ...]`。 此外,Instaloader 还支持使用 `--login` 选项登录您的 Instagram 帐户,以下载私有资料。
* [spider-rs/spider](https://github.com/spider-rs/spider) Spider是一个用 Rust 编写的网页爬虫和抓取工具,它提供了一套用于数据收集工作负载的构建块。Spider 支持并发、流式处理、去中心化、无头 Chrome 渲染、HTTP 代理、Cron 作业、订阅、智能模式、反机器人缓解措施、黑名单、白名单和预算深度,并支持使用 spider_utils 进行 CSS/Xpath 抓取,以及使用 spider_transformations 将 HTML 转换为 markdown、文本等格式。您可以使用 Spider Cloud 托管服务快速上手,也可以通过本地安装或使用 spider-nodejs 和 spider-py 在 Node.js 和 Python 中使用 Spider。
* [javinizer/Javinizer](https://github.com/javinizer/Javinizer) Javinizer是一个命令行和图形界面 (GUI) 的 PowerShell 模块,用于抓取元数据并将本地日本成人视频 (JAV) 文件整理到媒体库兼容格式。它支持多种刮削器,包括 Javlibrary、R18、Dmm (Fanza)、JavBus、Jav321、AVEntertainment、MGStage 和 DLGetchu,并提供可定制的设置文件以进一步调整元数据。Javinizer 还支持多种语言,包括英语、日语和中文,并提供机器翻译模块。它为每个 JAV 文件创建 _.nfo_ 文件,以便媒体库应用程序读取,因此即使在线刮削器消失,您仍然可以保留元数据。
* [mvdbos/php-spider](https://github.com/mvdbos/php-spider) PHP-Spider是一个可配置和可扩展的PHP网页爬虫,支持广度优先和深度优先两种遍历算法,并提供多种限制选项(爬取深度、队列大小、最大下载量等)。它允许自定义URI发现逻辑(XPath、CSS选择器或PHP代码)、URI过滤器(robots.txt、域名限制等)、请求处理逻辑和持久化处理器,支持多种HTTP认证方式,并收集爬取统计信息及自定义事件分发。通过Composer安装即可使用,示例代码展示了如何创建、配置和运行爬虫,以及处理下载资源。
* [jaypyles/Scraperr](https://github.com/jaypyles/Scraperr) Scraperr是一个自托管的网页抓取应用程序,允许用户通过XPath指定元素来抓取网页数据。用户可以提交URL和要抓取的相应元素,结果将显示在表格中。用户可以从表格中下载抓取结果的Excel表格,以及重新运行抓取任务的选项。该项目使用FastAPI、Next.js、TailwindCSS和MongoDB构建,并提供用户管理、日志查看、统计信息查看以及与Ollama和OpenAI等AI模型集成的功能。用户可以通过Docker Compose进行安装,并配置环境变量和标签。
* [grangier/python-goose](https://github.com/grangier/python-goose) Python-Goose是一个用于提取网页内容和文章的 Python 库,它可以从任何新闻文章或文章类型的网页中提取主要内容,包括文章主体、元数据和最可能的图片候选。它支持提取文章的主要文本、主要图片、嵌入的 YouTube/Vimeo 视频、元描述和元标签。用户可以通过配置对象或字典来设置 Goose 的参数,例如更改用户代理、选择解析器(html 或 soup)以及指定目标语言。Goose 能够识别网页的语言,并根据语言进行内容提取。
* [BruceDone/awesome-crawler](https://github.com/BruceDone/awesome-crawler) Awesome-crawler 是一个收集了不同语言的优秀网页爬虫和资源的项目。它包含了 Python、Java、C#、JavaScript、PHP、C++、C、Ruby、Rust、R、Erlang、Perl、Go 和 Scala 等语言的爬虫库和框架。项目特色在于它提供了多种语言的爬虫工具,方便用户根据自己的需求选择合适的工具。此外,项目还包含了 Scrapy、Pyspider、Apache Nutch、Crawler4j等知名爬虫框架,以及一些其他优秀的爬虫工具,可以帮助用户快速搭建自己的爬虫系统。
* [flairNLP/fundus](https://github.com/flairNLP/fundus) 静态新闻爬虫。Fundus 让您只需几行 Python 代码即可抓取在线新闻文章!无论是来自实时网站还是CC-NEWS数据集。支持:抓取一堆英语新闻文章;对特定新闻源进行爬取;抓取 100 万篇文章,为了抓取如此大量的数据,Fundus 依赖于 CommonCrawl Web 存档,尤其是 新闻抓取 CC-NEWS 。如果您不熟悉 CommonCrawl 或 CC-NEWS 查看他们的网站。评估基准中最高的F1分数。[dobbersc/fundus-evaluation](https://github.com/dobbersc/fundus-evaluation)
* [dessant/search-by-image](https://github.com/dessant/search-by-image) Search by Image是一款浏览器扩展,支持 Chrome、Edge 和 Safari,可以轻松进行反向图片搜索,并支持超过 30 个搜索引擎。它可以帮助记者和研究人员验证图片的真实性,识别社交媒体上的虚假信息,也方便摄影师了解自己的作品在网络上的传播情况,以及购物者寻找类似商品的折扣。该扩展支持多种搜索模式,包括从网页上选定区域的图片、从设备上传的图片、来自私有网站的图片以及网页截图。
* [mendableai/firecrawl](https://github.com/mendableai/firecrawl) 将整个网站变成 LLM-ready Markdown 或结构化数据。使用单个 API 进行抓取、抓取和提取。抓取任何网站并将其转换为LLM就绪的 Markdown 或结构化数据。由 Mendable.ai 和 Firecrawl 社区构建。包括强大的抓取、抓取和数据提取功能。Firecrawl 是一种 API 服务,它获取 URL、抓取它并将其转换为干净的 markdown 或结构化数据。我们会抓取所有可访问的子页面,并为每个子页面提供干净的数据。无需站点地图。
* [kangvcar/InfoSpider](https://github.com/kangvcar/InfoSpider) 集众多数据源于一身的爬虫工具箱,旨在安全快捷的帮助用户拿回自己的数据,工具代码开源,流程透明。支持数据源包括GitHub、QQ邮箱、网易邮箱、阿里邮箱、新浪邮箱、Hotmail邮箱、Outlook邮箱、京东、淘宝、支付宝、中国移动、中国联通、中国电信、知乎、哔哩哔哩、网易云音乐、QQ好友、QQ群、生成朋友圈相册、浏览器浏览历史、12306、博客园、CSDN博客、开源中国博客、简书。
* [DropsDevopsOrg/ECommerceCrawlers](https://github.com/DropsDevopsOrg/ECommerceCrawlers) 实战多种网站、电商数据爬虫。包含:淘宝商品、微信公众号、大众点评、企查查、招聘网站、闲鱼、阿里任务、博客园、微博、百度贴吧、豆瓣电影、包图网、全景网、豆瓣音乐、某省药监局、搜狐新闻、机器学习文本采集、fofa资产采集、汽车之家、国家统计局、百度关键词收录数、蜘蛛泛目录、今日头条、豆瓣影评、携程、小米应用商店、安居客、途家民宿。
* [mishushakov/llm-scraper](https://github.com/mishushakov/llm-scraper) 将任何网页转换为结构LLMs化数据,特征:支持本地(Ollama、GGUF)、OpenAI、Vercel AI SDK 提供商;使用 Zod 定义的架构;使用 TypeScript 实现完全的类型安全;基于Playwright框架;流式处理对象;代码生成;支持 4 种格式化模式:用于加载原始 HTML 的 html、markdown 用于加载 markdown、用于加载提取文本的文本(使用 Readability.js)、用于加载屏幕截图的图像(仅限多模式)
* [Neet-Nestor/Telegram-Media-Downloader](https://github.com/Neet-Nestor/Telegram-Media-Downloader) 这是一个 Telegram网页版媒体下载脚本,它可以解锁并启用从聊天、故事,甚至下载被禁用或限制的私人频道中的图片、GIF、音频和视频的下载功能。该脚本通过用户脚本实现,无需任何额外的软件,只需安装浏览器扩展(如 Tampermonkey 或 Violentmonkey)即可使用。该脚本还支持不同 Telegram 网页版版本的功能,例如音频消息下载仅适用于 K 网页版。
* [jae-jae/QueryList](https://github.com/jae-jae/QueryList) QueryList是一个基于phpQuery的优雅PHP爬虫框架,它使用与jQuery相同的CSS3选择器和DOM操作API,提供强大的HTTP请求功能(例如模拟登录、自定义浏览器等),并支持列表式抓取和内容过滤。通过插件,QueryList可以实现多线程爬取、JavaScript动态页面抓取、图片下载等功能,方便用户进行各种网络数据采集。它支持PHP 8.1及以上版本,可通过Composer安装。
* [Nv7-GitHub/googlesearch](https://github.com/Nv7-GitHub/googlesearch) googlesearch是一个 Python 库,用于轻松地搜索 Google。它使用 requests 和 BeautifulSoup4库来抓取 Google 搜索结果。该库支持多种搜索选项,包括结果数量、语言、地区、安全搜索、高级搜索等。用户可以通过简单的 Python 代码调用该库,获取搜索结果并提取标题、URL、描述等信息。该库还支持使用代理服务器进行搜索,并提供选项控制请求间隔时间。
* [JoeanAmier/XHS-Downloader](https://github.com/JoeanAmier/XHS-Downloader) 这是一个小红书链接提取和作品采集工具,可以提取账号发布、收藏、点赞、专辑作品链接,以及搜索结果作品和用户链接,并采集作品信息和下载地址,最终下载小红书无水印作品文件。该工具支持 Python 3.12,并提供用户脚本(UserScript)版本,方便用户使用。注意:由于小红书平台规则更新,建议更新用户脚本版本以获得最佳使用体验。
* [persepolisdm/persepolis](https://github.com/persepolisdm/persepolis) Persepolis是一个用 Python 编写的下载管理器,它是一款免费开源软件,适用于 GNU/Linux发行版、BSD、macOS 和 Microsoft Windows。它支持多段下载(64 个连接)、下载调度、下载排队,以及从 YouTube 等网站下载视频等功能。项目名称源于古代波斯帝国的首都波斯波利斯,其寓意是强大、稳定和高效。用户可以通过官方网站或 Wiki 页面获取安装信息。
* [AJay13/ECommerceCrawlers](https://gitee.com/AJay13/ECommerceCrawlers) 实战多种网站、电商数据爬虫。包含:淘宝商品、微信公众号、大众点评、招聘、闲鱼、阿里任务、scrapy博客园、微博、百度贴吧、豆瓣电影、包图网、全景网、豆瓣音乐、某省药监局、搜狐新闻、机器学习文本采集、fofa资产采集、汽车之家、国家统计局、百度关键词收录数、蜘蛛泛目录、今日头条、豆瓣影评️️️。微信爬虫展示项目
* [JoeanAmier/TikTokDownloader](https://github.com/JoeanAmier/TikTokDownloader) TikTokDownloader是一个基于 HTTPX 库的 Python 工具,可以完整地抓取 TikTok主页、合集、直播、视频、图集、原声,以及抖音主页、视频、图集、收藏、直播、原声、合集、评论、账号、搜索、热榜数据。它可以获取 TikTok账号的视频、直播流、合集等信息,并支持下载视频、音频和图片。该工具使用简单易懂,可以方便地进行数据采集和分析。
* [wistbean/learn_python3_spider](https://github.com/wistbean/learn_python3_spider) python爬虫教程系列、从0到1学习python爬虫,包括浏览器抓包,手机APP抓包,如 fiddler、mitmproxy,各种爬虫涉及的模块的使用,如:requests、beautifulSoup、selenium、appium、scrapy等,以及IP代理,验证码识别,Mysql,MongoDB数据库的python使用,多线程多进程爬虫的使用,css 爬虫加密逆向破解,JS爬虫逆向,分布式爬虫,爬虫项目实战实例等
* [VinciGit00/Scrapegraph-ai](https://github.com/VinciGit00/Scrapegraph-ai) 网络抓取 python 库,它使用LLM和指导图形逻辑为网站和本地文档(XML、HTML、JSON 等)创建抓取管道。有三种主要的抓取管道可用于从网站(或本地文件)中提取信息:只需要用户提示和输入源的单页抓取工具;从搜索引擎的前 n 个搜索结果中提取信息的多页抓取工具;从网站中提取信息并生成音频文件的单页抓取工具。
* [andeya/pholcus](https://github.com/andeya/pholcus) Pholcus是一个用Go语言编写的分布式高并发爬虫软件,仅用于学术研究。它支持单机、服务端和客户端三种运行模式,拥有简单的规则配置、强大的并发处理能力以及多种数据输出格式(如MySQL、MongoDB、Kafka、CSV、Excel等),并支持自定义请求模式和任务调度,具备一系列高级功能。请勿用于任何非法用途。
* [acl-org/acl-anthology](https://github.com/acl-org/acl-anthology) ACL Anthology项目是一个用于构建ACL Anthology网站的数据和软件仓库,包含所有论文、作者和会议场所的元数据,以及用于生成网站的代码和说明,并提供一个Python包用于访问元数据,该包可在PyPI上获取。该项目使用Hugo构建网站,需要Python 3.8或更高版本以及其他依赖项,可以通过GitHub进行构建和部署。
* [nilaoda/BBDown](https://github.com/nilaoda/BBDown) BBDown是一款命令行式的哔哩哔哩视频下载器,支持多种视频类型下载,包括番剧、动画、音乐等。它使用.NET Core开发,并提供Dotnet Tool安装方式,方便用户快速使用。BBDown支持多种下载选项,包括使用TV API、APP API、国际版 API,以及使用MP4Box 进行合并等。用户可以根据需要选择合适的选项进行下载。
* [fhamborg/news-please](https://github.com/fhamborg/news-please) News-Please 是一个开源、易于使用的新闻爬虫,几乎可以从任何新闻网站中提取结构化信息。它可以递归地跟踪内部超链接并读取 RSS 源,以获取最新和旧的存档文章。您只需要提供新闻网站的根 URL 即可完全抓取它。news-please 结合了多个最先进的库和工具的强大功能,例如 scrapy、报纸和可读性。
* [bookstairs/bookhunter](https://github.com/bookstairs/bookhunter) bookhunter 是一个用于从互联网抓取电子书的下载工具,支持从Talebook、SoBooks、中小學教材、Telegram 频道等多个网站下载书籍,并提供多种安装方式,包括 Homebrew、Scoop 和手动下载。该项目是 hellojukay/dl-talebook 的完全重写版本,并支持阿里云盘、蓝奏云、电信云盘等多种云盘下载。
* [wzdnzd/aggregator](https://github.com/wzdnzd/aggregator) 这是一个用于爬取和聚合代理的平台,它可以一键获取多个来源的代理,方便用户使用。该项目仅供学习交流,不保证稳定性和安全性,用户需自行承担使用风险,且禁止用于任何非法活动。项目使用Python编写,核心功能包括代理爬取和处理,用户可参考配置文件进行配置。
* [coursera-dl/coursera-dl](https://github.com/coursera-dl/coursera-dl) Coursera Downloader是一个Python脚本,用于下载Coursera课程的视频和其他资源。它可以根据课程名称和账户凭据,自动获取课程和周次信息,并下载相关材料到相应命名的文件和目录中。该脚本比wget更方便,因为它可以根据课程大纲页面信息为视频命名,并避免下载重复视频。
* [spatie/crawler](https://github.com/spatie/crawler) Spatie/crawler是一个易于使用且功能强大的PHP网络爬虫,能够执行JavaScript。它利用Guzzle并发抓取多个URL,并使用Chrome和Puppeteer支持JavaScript渲染的网站抓取。开发者可以通过自定义观察者类来处理抓取过程中的事件,例如成功抓取、抓取失败等,并支持添加多个观察者。
* [hardikvasa/google-images-download](https://github.com/hardikvasa/google-images-download) 这是一个Python 脚本,可以从 Google 图片搜索结果中下载数百张图片到本地硬盘,无需额外配置即可运行。该项目提供详细的文档,包括安装说明、参数解释和代码示例。请注意,该脚本仅供学习使用,用户需遵守版权法律,避免下载和使用侵犯版权的图片。
* [seleniumbase/SeleniumBase](https://github.com/seleniumbase/SeleniumBase) Python 用于网络爬虫、抓取、测试和报告的一体化框架。多合一浏览器自动化框架。支持 pytest。UC 模式提供隐身功能。包括许多工具。SeleniumBase 是用于 Web 自动化活动的专业工具包。专为测试网站、绕过 CAPTCHA、提高生产力、完成任务和扩展业务而构建。
* [qd-today/qd](https://github.com/qd-today/qd) QD是一个基于HAR编辑器和Tornado服务器的HTTP请求定时任务自动执行框架,它可以帮助你轻松地创建和管理HTTP请求定时任务,并提供可视化的界面进行操作。QD支持多种功能,包括任务管理、日志记录、任务监控等,并提供Docker镜像方便部署。
* [codelucas/newspaper](https://github.com/codelucas/newspaper) 新闻、全文和文章元数据提取。由 lxml 提供速度支持。特征:多线程文章下载框架、新闻网址识别、从 html 中提取文本、图像、关键字、摘要、作者、Google 趋势词提取、支持 10+ 种语言(英语、中文、德语、阿拉伯语等)。
* [dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) 最好和最简单的免费开源网站更改检测、网站观察器、补货监控和通知服务。补货监控,变化检测。为简单而设计 - 只需免费监控哪些网站有文本更改。免费开源网页变更检测、网站污损监控、价格变更通知
* [opendatalab/magic-html](https://github.com/opendatalab/magic-html) magic-html - 通用HTML数据提取器。magic-html提供了一套工具,能够轻松地从HTML中提取主体区域内容。无论您处理的是复杂的HTML结构还是简单的网页,这个库都旨在为您的HTML抽取需求提供一个便捷高效的接口。
* [miso-belica/jusText](https://github.com/miso-belica/jusText) 用于从 HTML 页面中删除样板内容(如导航链接、页眉和页脚)的工具。它旨在主要保留包含完整句子的文本,因此非常适合创建语言资源,例如 Web 语料库。
* [scrapy/scrapy](https://github.com/scrapy/scrapy) 用于Python的快速高级Web爬行和抓取框架。用于抓取网站并从其页面中提取结构化数据。它可以用于广泛的目的,从数据挖掘到监控和自动化测试。
* [TeamWiseFlow/wiseflow](https://github.com/TeamWiseFlow/wiseflow) Wiseflow 是一种敏捷的信息挖掘工具,可从网站、微信公众号、社交平台等各种来源提取简洁的消息。它会自动对它们进行分类并上传到数据库。
* [shengqiangzhang/examples-of-web-crawlers](https://github.com/shengqiangzhang/examples-of-web-crawlers) 一些非常有趣的python爬虫例子,对新手比较友好,主要爬取淘宝、天猫、微信、微信读书、豆瓣、QQ等网站。
* [NaiboWang/EasySpider](https://github.com/NaiboWang/EasySpider) 易采集:一个可视化浏览器自动化测试/数据采集/爬虫软件,可以无代码图形化的设计和执行爬虫任务。
* [Jack-Cherish/python-spider](https://github.com/Jack-Cherish/python-spider) Python3网络爬虫实战:淘宝、京东、网易云、B站、12306、抖音、笔趣阁、漫画小说下载、音乐电影下载等
* [Jack-Cherish/python-spider](https://github.com/Jack-Cherish/python-spider) Python3网络爬虫实战:淘宝、京东、网易云、B站、12306、抖音、笔趣阁、漫画小说下载、音乐电影下载等
* [shengqiangzhang/examples-of-web-crawlers](https://github.com/shengqiangzhang/examples-of-web-crawlers) 有趣的python爬虫例子,对新手比较友好,主要爬取淘宝、天猫、微信、微信读书、豆瓣、QQ等网站。
* [unclecode/crawl4ai](https://github.com/unclecode/crawl4ai) Crawl4AI 简化了 Web 爬虫和数据提取,使其可用于大型语言模型 (LLMs) 和 AI 应用程序。
* [supermemoryai/markdowner](https://github.com/supermemoryai/markdowner) 一个将任何网站转换为 LLM 就绪的 markdown 数据的快速工具。由 https://supermemory.ai 构建.
* [jhy/jsoup](https://github.com/jhy/jsoup) Java HTML 解析器,专为 HTML 编辑、清理、抓取和 XSS 安全而构建。
* [crawlab-team/crawlab](https://github.com/crawlab-team/crawlab) 分布式爬虫管理平台,支持任何语言和框架
* [psf/requests-html](https://github.com/psf/requests-html) 使解析 HTML(例如抓取 Web)尽可能简单直观
* [dataabc/weiboSpider](https://github.com/dataabc/weiboSpider) 新浪微博爬虫,用python爬取新浪微博数据
* [binux/pyspider](https://github.com/binux/pyspider) Python中强大的蜘蛛(网络爬虫)系统。
* [elebumm/RedditVideoMakerBot](https://github.com/elebumm/RedditVideoMakerBot) 爬取Reddit帖子并合成视频工具
* [gocolly/colly](https://github.com/gocolly/colly) 优雅的 Golang 爬虫框架
* [shengqiangzhang/examples-of-web-crawlers](https://github.com/shengqiangzhang/examples-of-web-crawlers) python爬虫例子
* [facert/awesome-spider](https://github.com/facert/awesome-spider) 收集各种爬虫
### 资源传输下载
* [vastsa/FileCodeBox](https://github.com/vastsa/FileCodeBox) 文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件。主要特色: 轻量简洁: 项目基于Fastapi + Sqlite3 + Vue3 + ElementUI。轻松上传: 支持复制粘贴和拖拽选择。多种类型: 支持文本和文件。防止爆破: 错误次数限制。防止滥用: IP限制上传次数。口令分享: 随机口令,存取文件,自定义次数及有效期。国际化: 支持中文简体、繁体以及英文等。匿名分享: 无需注册,无需登录。管理面板: 查看和删除文件。一键部署: 支持Docker一键部署。自由拓展: 支持S3协议和本地文件流,可根据需求在storage文件中新增存储引擎。简单明了: 适合新手练手项目。 终端下载: 终端命令wget https://share.lanol.cn/share/select?code=83432
* [cloudreve/Cloudreve](https://github.com/cloudreve/Cloudreve) 自托管文件管理系统,支持多云。特征:支持将文件存储到本地存储、远程存储、七牛、阿里云 OSS、腾讯 COS、Upyun、OneDrive、S3 兼容 API。直接传输上传/下载,支持限速。与 Aria2 集成以离线下载文件,使用多个下载节点来分担负载。压缩/解压文件,批量下载文件。涵盖所有存储提供商的 WebDAV 支持。拖放以上传文件或文件夹,并具有流式上传处理功能。拖放以管理您的文件。多用户与多组。为具有到期日期的文件和文件夹创建共享链接。在线预览视频、图像、音频、ePub 文件;在线编辑文本、Office 文档。自定义主题颜色、深色模式、PWA 应用程序、SPA、i18n。多合一包装,所有功能开箱即用。
* [zfile-dev/zfile](https://github.com/zfile-dev/zfile) 在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载。ZFile 是一个适用于个人的在线网盘(列目录)程序,可以将你各个存储类型的存储源,统一到一个网页中查看、预览、维护,再也不用去登录各种各样的网页登录后管理文件,现在你只需要在 ZFile 中使用。你只需要填写存储源相关信息,其他的令牌刷新,授权都是尽量自动化的,且有完善的文档帮助你使用。支持对接 S3、OneDrive、SharePoint、Google Drive、多吉云、又拍云、本地存储、FTP、SFTP 等存储源。支持在线浏览图片、播放音视频,文本文件、Office、obj(3d)等文件类型。
* [shiyanhui/dht](https://github.com/shiyanhui/dht) 该项目使用Go 语言实现了 BitTorrent DHT 协议,包含了 BEP-3、BEP-5、BEP-9 和 BEP-10协议的实现,支持标准模式和爬取模式。标准模式遵循 BEP 协议,可作为标准 DHT 服务器使用;爬取模式旨在尽可能多地爬取元数据信息,不遵循标准 BEP 协议,可用于构建类似 BTDigg 的 BT 搜索引擎。项目提供示例代码,并提供已编译的二进制文件供下载。需要注意的是,默认爬取模式配置需要约 300M 内存,可根据需要调整 MaxNodes 和 BlackListMaxSize 参数。目前项目尚不支持局域网运行,因为存在 NAT 穿透问题。未来计划包括实现 NAT 穿透、完成 BEP-3 协议实现以及优化性能。
* [anacrolix/torrent](https://github.com/anacrolix/torrent) 这是一个用 Go 语言编写的功能完备的 BitTorrent 客户端库和命令行工具,重点在于作为库供其他项目使用。它支持协议加密、DHT、PEX、uTP 和各种扩展,并提供多种数据存储后端,例如 blob、文件、bolt、mmap 和 sqlite。该库还支持直接从 BitTorrent 网络流式传输数据,并提供各种 Go 惯用的 `io` 包接口来访问 torrent 和其文件。它还包含一些用于其他目的的依赖包,例如 `go-libutp`、`dht`、`bencode` 和 `tracker`。该项目已被多个下游项目使用,例如 cove、confluence、Gopeed、Erigon、exatorrent、bitmagnet、TorrServer、distribyted、Mangayomi 和 Simple Torrent。
* [ipfs/ipfs-desktop](https://github.com/ipfs/ipfs-desktop) IPFS Desktop是一个适用于 Windows、Mac 和 Linux 的 IPFS 桌面应用程序,提供用户友好的界面,无需命令行即可使用 IPFS。它包含一个完整的 IPFS 节点,并提供便捷的操作系统菜单栏/任务栏快捷方式,以及一个集成的文件管理器、对等节点地图和内容浏览器。IPFS Desktop允许用户轻松地将文件、文件夹和截图导入 IPFS,管理节点内容,可视化全球 IPFS 对等节点,探索 IPFS 文件的“Merkle 森林”,并享受操作系统范围内的 IPFS 文件和链接支持。用户可以在使用过程中学习 IPFS 命令。
* [nextcloud/server](https://github.com/nextcloud/server) Nextcloud 服务器,您所有数据的安全家园。功能:访问您的数据 您可以将文件、联系人、日历等存储在您选择的服务器上。同步您的数据 您可以在设备之间保持文件、联系人、日历等的同步。分享您的数据...通过让其他人访问您希望他们查看或协作的内容。可扩展数百个应用程序...例如日历、通讯录、邮件、视频聊天以及您可以在我们的 App Store 中发现的所有内容。通过我们的加密机制、HackerOne 赏金计划和双因素身份验证确保安全性。
* [imputnet/cobalt](https://github.com/imputnet/cobalt) Cobalt 是一个不会惹你生气的媒体下载器。它快速、友好,并且没有任何现代网络充斥的废话:没有广告、跟踪器或侵入性分析。粘贴链接,获取文件,继续前进。就是这么简单。它应该是什么样的。cobalt 不是盗版工具,不能用作盗版工具。它只能下载免费的、可公开访问的内容。此类内容可以通过任何浏览器的开发工具轻松下载。按下一个按钮更容易,因此我为此类重复操作制作了一个方便、无广告的工具。
* [lizongying/my-tv](https://github.com/lizongying/my-tv) 这是一个名为“我的电视”的电视直播软件,安装即可使用。用户可以通过GitHub或Gitee下载安装包,并使用手机或平板电脑安装使用。该软件支持多种机型,包括小米电视、海信电视等。用户可以通过ADB命令安装软件,也可以使用手机自带的安装功能。该软件提供了丰富的直播频道,包括央视、卫视、地方台等,用户可以根据自己的需求选择观看。该软件仍在开发中,未来将支持更多频道和功能。
* [ente-io/ente](https://github.com/ente-io/ente) Ente是一个完全开源的端到端加密云存储平台,提供替代Google Photos和ApplePhotos的Ente Photos应用,以及替代Authy的2FA应用Ente Auth。该项目由Cure53、Symbolic Software和Fallible等机构进行安全审计,并提供5GB免费存储空间。Ente Photos支持3倍数据复制、设备端机器学习、跨平台、私密分享、协作相册、家庭计划等功能,并提供桌面和网页版。Ente Auth则是一个免费的开源端到端加密身份验证器应用。
* [johang/btfs](https://github.com/johang/btfs) BTFS是一个基于FUSE的BitTorrent文件系统,它允许你将任何.torrent文件或磁力链接挂载为一个只读目录,并在需要时按需下载文件内容,支持ls、cat、cp等工具以及vlc、mplayer等应用程序。你只需使用btfs命令将torrent文件或磁力链接挂载到指定目录,然后就可以像访问普通目录一样使用它。BTFS支持Debian/Ubuntu、Arch Linux、Gentoo、Fedora、OpenSUSE和macOS等系统,并依赖于fuse、libtorrent和libcurl等库。
* [Jackett/Jackett](https://github.com/Jackett/Jackett) 您最喜欢的 torrent 跟踪器,Jackett 用作代理服务器:它将来自应用程序(Sonarr、Radarr、SickRage、CouchPotato、Mylar3、Lidarr、DuckieTV、qBittorrent、Nefarious 等)的查询转换为特定于跟踪器站点的 http 查询,解析 html 或 json 响应,然后将结果发送回请求软件。这允许获取最近上传的内容(如 RSS)并执行搜索。Jackett 是维护索引器抓取和翻译逻辑的单一存储库 - 消除了其他应用程序的负担。
* [sigoden/dufs](https://github.com/sigoden/dufs) Dufs是一个功能丰富的文件服务器,支持静态文件服务、上传、搜索、访问控制、WebDAV等功能。它提供命令行界面,支持多种安装方式,包括使用cargo、Docker和Homebrew。Dufs可以配置访问权限,支持HTTPS和CORS,并提供多种日志记录选项。用户可以通过简单的命令行参数控制Dufs的行为,例如指定服务路径、端口号、访问权限等。Dufs还支持单页应用程序(SPA)和静态网站的部署。
* [RsyncProject/rsync](https://github.com/RsyncProject/rsync) Rsync是一个开源工具,提供快速增量文件传输功能,并支持备份和恢复操作等多种用例。它使用增量传输算法,仅传输文件差异,无需在链接两端都存在完整文件。Rsync通常使用ssh或rsh与远程系统通信,无需特殊权限,但需要一个可用的ssh或rsh系统。Rsync也可以在守护进程模式下运行,监听套接字,通常用于公开文件分发。更多信息请访问官方网站:https://rsync.samba.org/。
* [nyaadevs/nyaa](https://github.com/nyaadevs/nyaa) NyaaV2是一个面向猫的 Bittorrent 软件,使用 Python 3.7 开发。它支持 MySQL/MariaDB 数据库,并提供数据库迁移功能。项目使用 Flask-Migrate 和 Alembic 进行数据库迁移,并提供测试用例。用户可以使用 `pyenv` 管理 Python 版本,并通过 `pip` 安装依赖项。项目提供开发服务器,方便开发者进行测试和开发。此外,项目还支持 Elasticsearch,可以实现高级搜索功能。
* [webtorrent/instant.io](https://github.com/webtorrent/instant.io) 通过 WebTorrent 传输流式文件(网络上的种子)。使用 WebTorrent 协议(基于 WebRTC 的 BitTorrent)下载/上传文件。由 WebTorrent 提供支持,这是第一个无需插件即可在浏览器中运行的 torrent 客户端。WebTorrent 由 JavaScript 和 WebRTC 提供支持。支持 Chrome、Firefox、Opera(桌面和 Android)。在控制台中运行 localStorage.debug = ‘*‘ 并刷新以获取详细的日志输出。
* [timvisee/ffsend](https://github.com/timvisee/ffsend) ffsend是一个命令行工具,可以轻松安全地分享文件。它使用 FirefoxSend 服务,支持文件加密和密码保护,并提供下载限制、文件过期时间等功能。ffsend 支持上传和下载文件和目录,并提供 URL 短链接和 QR 码生成等功能。用户可以自定义 Send 主机,并查看和删除共享文件。该工具适用于脚本化操作,具有低内存占用和准确的错误报告。
* [HerbertHe/iptv-sources](https://github.com/HerbertHe/iptv-sources) 该项目是一个自动更新 IPTV 来源的工具,它整合了多个来源,包括epg.pw、iptv.org、YueChan/Live、YanG-1989/m3u 等,并提供 EPG 数据。项目支持多种部署方式,包括 GitHub Pages、Docker 和 Node.js,并提供环境变量配置,例如自定义回滚 URL、关闭来源代理、自定义 GitHub Raw 来源代理 URL 等。项目还提供 IPTV 检查功能,可以检查 IPTV 来源的有效性。
* [wkentaro/gdown](https://github.com/wkentaro/gdown) gdown是一个命令行和Python库,用于下载Google Drive上的公开文件和文件夹,克服了curl/wget在下载Google Drive大文件时遇到的安全提示问题。它支持跳过安全提示、递归下载文件夹中的文件(每个文件夹最多50个文件)以及指定Google Slides/Sheet/Docs等文件的下载格式(如PDF/XML/CSV)。gdown可通过pip安装,并提供命令行和Python API两种使用方法。
* [filecoin-project/lotus](https://github.com/filecoin-project/lotus) Lotus是 Filecoin 分布式存储网络的 Go 语言实现,它提供了完整的 Filecoin 功能,包括数据存储、检索和交易。Lotus 项目包含了完整的文档和构建指南,并提供独立的模块,例如 go-fil-markets 和 builtin-actors,方便开发者进行二次开发。Lotus 致力于打造安全、可靠、高效的分布式存储网络,为用户提供更加便捷的存储和数据访问服务。
* [Tribler/tribler](https://github.com/Tribler/tribler) Tribler是一个增强隐私的 BitTorrent 客户端,旨在提供匿名访问内容。它通过实现一个类似于 Tor 的匿名网络,使用隐藏服务进行种子和端到端加密,以实现匿名下载和流媒体。Tribler 的目标是让隐私、强大的加密和身份验证成为互联网的规范,自 2004 年以来一直致力于确保“唯一能关闭 Tribler 的方法是关闭互联网”。
* [Radarr/Radarr](https://github.com/Radarr/Radarr) Usenet 和 BitTorrent 用户的电影收藏管理器。它可以监控新电影的多个 RSS 源,并将与客户端和索引器交互以抓取、排序和重命名它们。它还可以配置为在有更好的质量格式可用时自动升级库中现有文件的质量。请注意,仅支持给定影片的一种类型。如果您想要给定电影的 4k 版本和 1080p 版本,则需要多个实例。
* [streamlink/streamlink](https://github.com/streamlink/streamlink) Streamlink是一个命令行工具,可以将来自各种服务的视频流导入视频播放器。它基于插件系统,支持 Twitch、YouTube 等大多数流行的流媒体服务。用户可以使用 Streamlink 将流媒体内容保存到本地文件或获取流媒体元数据。Streamlink 是 Livestreamer 项目的衍生项目,并提供 Python API 和 CLI 文档。
* [filecoin-project/venus](https://github.com/filecoin-project/venus) Venus是用Go语言实现的Filecoin分布式存储网络全节点,具有安全易用和分布式存储池等关键特性,其架构与Lotus不同。Venus项目包含多个模块协同工作,实现Filecoin的完整功能,并欢迎代码、文档等方面的贡献,但建议遵循其贡献指南,例如先提交Filecoin改进提案(FIP)再进行代码修改。
* [popcorn-official/popcorn-desktop](https://github.com/popcorn-official/popcorn-desktop) Popcorn Time是一个跨平台的免费 BitTorrent 客户端,包含集成媒体播放器,支持 Windows、Mac 和 Linux 系统。它是 Butter-Project 的分支,你可以从项目网站 popcorn-time.site 或 GitHub 发布页面下载最新版本。项目还提供最新开发版本供测试人员使用,可以通过 GitHub Actions 页面获取。
* [c0re100/qBittorrent-Enhanced-Edition](https://github.com/c0re100/qBittorrent-Enhanced-Edition) qBittorrent 增强,基于 qBittorrent。特征:Auto Ban 迅雷、QQ、百度、Xfplay、DLBT和离线下载器;自动禁止来自中国的未知对等方选项(默认:关闭);自动更新公共跟踪器列表(默认:关闭);自动禁止 BitTorrent 媒体播放器对等选项(默认:关闭);对等白名单/黑名单
* [arvidn/libtorrent](https://github.com/arvidn/libtorrent) libtorrent是一个开源的 C++ 库,实现了 BitTorrent 协议以及大多数流行的扩展,使其适用于现实世界的部署。它可以配置以适应服务器和嵌入式设备。libtorrent 的主要目标是高效和易于使用。更多详细的构建和使用说明请参见 libtorrent.org网站。
* [nilaoda/N_m3u8DL-RE](https://github.com/nilaoda/N_m3u8DL-RE) N_m3u8DL-RE 是一个跨平台的 MPD/M3U8/ISM 流媒体下载工具,支持简体中文、繁体中文和英文。它可以下载 DASH/HLS/MSS 流媒体,并提供多种功能,例如自定义下载路径、多线程下载、断点续传等。用户可以通过命令行或图形界面使用该工具。
* [rakshasa/rtorrent](https://github.com/rakshasa/rtorrent) rTorrent是一个命令行BitTorrent客户端,以其高性能和可扩展性著称。该项目提供稳定版和开发版,并提供相关工具,如rbedit,用于编辑bencode文件。用户可以通过Paypal、Patreon、SubscribeStar等方式捐赠支持rTorrent的开发。
* [wwb521/live](https://github.com/wwb521/live) 这是一个提供高质量电视直播源的项目,永久免费,包含 IPTV 和 TvBox两种类型,并提供相应的 txt 和 m3u 地址,支持 IPV6 地址,方便用户使用。项目还提供一些推荐的播放器和网站,方便用户观看直播。
* [qbittorrent/qBittorrent](https://github.com/qbittorrent/qBittorrent) 用C++ / Qt编程的bittorrent客户端,它使用Arvid Norberg的libtorrent(有时称为libtorrent-rasterbar)。它旨在成为所有其他 bittorrent 客户端的良好替代品。qBittorrent 快速、稳定,并提供 unicode 支持以及许多功能。
* [foamzou/melody](https://github.com/foamzou/melody) 帮助你更好地管理音乐。帮助你将喜欢的歌曲或者音频上传到音乐平台的云盘。支持在各大音乐和视频网站检索歌曲。支持一键下载到本地,一键上传到云盘。一键“解锁”无法播放的歌曲。
* [dutchcoders/transfer.sh](https://github.com/dutchcoders/transfer.sh) 从命令行轻松快速地共享文件。此代码包含服务器,其中包含创建自己的实例所需的一切。目前支持 s3 (Amazon S3)、gdrive (Google Drive)、storj (Storj) 提供程序和本地文件系统 (local)。
* [syhyz1990/baiduyun](https://github.com/syhyz1990/baiduyun) 这是一个免费开源的网盘下载助手,支持百度网盘和腾讯微云等网盘,基于PCSAPI,支持Windows、Mac、Linux等平台,可配合IDM、XDown、Aria2等下载工具使用,还支持JSON-RPC和cURL命令行下载。
* [Sonarr/Sonarr](https://github.com/Sonarr/Sonarr) Usenet 和 BitTorrent 用户的 PVR。它可以监控您喜欢的节目的新剧集的多个 RSS 提要,并会抓取、排序和重命名它们。它还可以配置为在质量更好的格式可用时自动升级已下载文件的质量。
* [filebrowser/filebrowser](https://github.com/filebrowser/filebrowser) 指定目录下提供了一个文件管理界面,可用于上传、删除、预览、重命名和编辑您的文件。它允许创建多个用户,每个用户都可以拥有自己的目录。它可以用作独立应用程序。
* [rclone/rclone](https://github.com/rclone/rclone) 命令行程序,用于将文件和目录与不同的云存储提供商同步。如Google Drive、S3、Dropbox、Backblaze B2、One Drive、Swift、Hubic、Wasabi、Google Cloud Storage、Yandex Files
* [syncthing/syncthing](https://github.com/syncthing/syncthing) 连续的文件同步程序。它在两台或多台计算机之间同步文件。我们努力实现以下目标。目标按重要性顺序列出,最重要的目标排在最前面。
* [IceWhaleTech/CasaOS](https://github.com/IceWhaleTech/CasaOS) 简单、易用、优雅的开源个人云系统。与社区建立联系,建立自主权,降低 SaaS 的成本,并最大限度地发挥个性化副驾驶的潜力。
* [leiurayer/downkyi](https://github.com/leiurayer/downkyi) 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。
* [soimort/you-get](https://github.com/soimort/you-get) 很小的命令行实用程序,用于从 Web 下载媒体内容(视频、音频、图像),以防没有其他方便的方法可以做到这一点。
* [aria2/aria2](https://github.com/aria2/aria2) 轻量级的多协议和多源、跨平台的下载实用程序,在命令行中运行。它支持 HTTP/HTTPS、FTP、SFTP、BitTorrent 和 Metalink。
* [yt-dlp/yt-dlp](https://github.com/yt-dlp/yt-dlp) youtube-dl 分支,基于现在不活跃的 youtube-dlc。该项目的主要重点是添加新功能和补丁,同时与原始项目保持同步
* [caorushizi/mediago](https://github.com/caorushizi/mediago) m3u8[m3u8-downloader] 视频在线提取工具 流媒体下载 、视频下载 、 m3u8下载 、 B站视频下载 桌面客户端 windows mac
* [lingochamp/FileDownloader](https://github.com/lingochamp/FileDownloader) Android多任务文件下载引擎。多任务、多线程(MultiConnection)、断点-恢复、高并发、简单易用、单/非单进程
* [Evil0ctal/Douyin_TikTok_Download_API](https://github.com/Evil0ctal/Douyin_TikTok_Download_API) 开箱即用的高性能异步抖音、快手、TikTok、Bilibili数据爬取工具,支持API调用,在线批量解析及下载。
* [spotDL/spotify-downloader](https://github.com/spotDL/spotify-downloader) 下载您的 Spotify 播放列表和歌曲以及专辑封面和元数据(如果找到匹配项,则从 YouTube 下载)。
* [ArchiveBox/ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) 开源自托管 Web 存档。获取 URL/浏览器历史记录/书签/Pocket/Pinboard/等,保存 HTML、JS、PDF、媒体等
* [mickael-kerjean/filestash](https://github.com/mickael-kerjean/filestash) 用于 SFTP、S3、FTP、WebDAV、Git、Minio、LDAP、CalDAV、CardDAV、Mysql、Backblaze 等的现代 Web 客户端。
* [pytube/pytube](https://github.com/pytube/pytube) 一个轻量级、无依赖的 Python 库(和命令行实用程序),用于下载 YouTube 视频。
* [sergiotapia/magnetissimo](https://github.com/sergiotapia/magnetissimo) 为所有流行的 torrent 站点编制索引并将其保存到本地数据库的 Web 应用程序。
* [Shabinder/SpotiFlyer](https://github.com/Shabinder/SpotiFlyer) Kotlin 多平台音乐下载器,支持 Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud。
* [tgbot-collection/YYeTsBot](https://github.com/tgbot-collection/YYeTsBot) 人人影视 机器人和网站,包含人人影视全部资源以及众多网友的网盘分享
* [transmission-remote-gui/transgui](https://github.com/transmission-remote-gui/transgui) 功能丰富的跨平台传输BitTorrent客户端。比内置的 Web GUI 更快,功能更多。
* [janeczku/calibre-web](https://github.com/janeczku/calibre-web) 用于浏览、阅读和下载存储在 Calibre 数据库中的电子书的 Web 应用程序
* [agalwood/Motrix](https://github.com/agalwood/Motrix) 功能齐全的下载管理器,支持下载 HTTP、FTP、BitTorrent、Magnet 等。
* [iptv-org/iptv](https://github.com/iptv-org/iptv) 收集来自世界各地的公开可用的IPTV(互联网协议电视)频道。
* [KurtBestor/Hitomi-Downloader](https://github.com/KurtBestor/Hitomi-Downloader) 桌面实用程序,用于从各种网站下载图像/视频/音乐/文本等。
* [szimek/sharedrop](https://github.com/szimek/sharedrop) 由 WebRTC 提供支持的轻松 P2P 文件传输 - 灵感来自 Apple AirDrop
* [GopeedLab/gopeed](https://github.com/GopeedLab/gopeed) 支持所有平台的现代下载管理器。使用 Go 和 Flutter 构建。
* [ytdl-org/youtube-dl](https://github.com/ytdl-org/youtube-dl) 用于从 YouTube.com 和其他视频网站下载视频的命令行程序
* [webtorrent/webtorrent-desktop](https://github.com/webtorrent/webtorrent-desktop) 流媒体 torrent 应用程序。适用于 Mac、Windows 和 Linux。
* [schollz/croc](https://github.com/schollz/croc) 轻松安全地将内容从一台计算机发送到另一台计算机
* [iawia002/lux](https://github.com/iawia002/lux) 用 Go 编写的快速简单的视频下载库和 CLI 工具
* [lingochamp/okdownload](https://github.com/lingochamp/okdownload) 可靠、灵活、快速、强大的Android下载引擎。
* [mayswind/AriaNg](https://github.com/mayswind/AriaNg) 一个现代的 Web 前端,使 aria2 更易于使用。
* [liupan1890/aliyunpan](https://github.com/liupan1890/aliyunpan) 阿里云盘小白羊版 阿里云盘PC版 aliyundriver
* [vooidzero/B23Downloader](https://github.com/vooidzero/B23Downloader) Qt C++开发的B站视频、直播、漫画下载器。
* [cryptomator/cryptomator](https://github.com/cryptomator/cryptomator) 对云中的文件进行多平台透明客户端加密
* [BiglySoftware/BiglyBT](https://github.com/BiglySoftware/BiglyBT) 基于Azureus的功能丰富的 Bittorrent 客户端
* [YueChan/Live](https://github.com/YueChan/Live) 收集于互联网上的一些高清直播源。
* [PanDownloadServer/Server](https://github.com/PanDownloadServer/Server) 百度云PanDownload的个人维护版本
* [zonemeen/musicn](https://github.com/zonemeen/musicn) 下载高品质音乐的命令行工具
* [XIU2/TrackersListCollection](https://github.com/XIU2/TrackersListCollection) 全网热门 BT Tracker 列表
* [itgoyo/Aria2](https://github.com/itgoyo/Aria2) 突破百度云限速合集
* [messense/aliyundrive-webdav](https://github.com/messense/aliyundrive-webdav) 阿里云盘 WebDAV 服务
* [soimort/you-get](https://github.com/soimort/you-get) youtube下载
# A04_机器视觉
## 3D视觉生成重建
* [graphdeco-inria/gaussian-splatting](https://github.com/graphdeco-inria/gaussian-splatting) “用于实时辐射场渲染的 3D 高斯飞溅”的原始参考实现,摘要:光辉场方法最近彻底改变了用多张照片或视频拍摄的场景的新颖视图合成。然而,实现高视觉质量仍然需要神经网络,而神经网络的训练和渲染成本很高,而最近的更快方法不可避免地会以速度换取质量。对于无界和完整的场景(而不是孤立的对象)和 1080p 分辨率渲染,目前没有一种方法可以实现实时显示速率。我们介绍了三个关键要素,使我们能够在保持有竞争力的训练时间的同时实现最先进的视觉质量,重要的是,它们允许在 1080p 分辨率下进行高质量的实时(≥ 30 fps)新颖视图合成。首先,从相机校准过程中产生的稀疏点开始,我们用 3D 高斯来表示场景,它保留了连续体积辐射场的理想属性以进行场景优化,同时避免了在空白空间中不必要的计算;其次,我们对三维高斯进行交错优化/密度控制,特别是优化各向异性协方差,以实现场景的准确表示;第三,我们开发了一种快速可见性感知渲染算法,该算法支持各向异性飞溅,既能加速训练,又能实现实时渲染。我们在几个已建立的数据集上展示了最先进的视觉质量和实时渲染。
* [Tencent/Hunyuan3D-1](https://github.com/Tencent/Hunyuan3D-1) 腾讯开源了Hunyuan3D-1.0,这是一个用于文本到3D和图像到3D生成的统一框架。它采用两阶段方法,包括一个轻量级版本和一个标准版本,都支持文本和图像条件生成。第一阶段使用多视图扩散模型,在约4秒内高效生成多视图RGB图像,这些图像从不同视角捕捉到3D资产的丰富细节,将任务从单视图重建放松到多视图重建。第二阶段引入了一个前馈重建模型,在约7秒内快速准确地重建3D资产,该模型学习处理多视图扩散引入的噪声和不一致,并利用条件图像中的可用信息来有效地恢复3D结构。该框架包含文本到图像模型,即Hunyuan-DiT,使其成为支持文本和图像条件3D生成的统一框架。标准版本的参数比轻量级版本和其他现有模型多3倍。Hunyuan3D-1.0在速度和质量之间取得了令人印象深刻的平衡,显著减少了生成时间,同时保持了生成资产的质量和多样性。
* [chrxh/alien](https://github.com/chrxh/alien) ALIEN是一个基于CUDA的,使用专门的二维粒子引擎模拟软体和流体的,强大的生命模拟程序。每个模拟的生物体由一个粒子网络组成,可以升级为更高级的功能,从纯粹的信息处理能力到物理设备(如传感器、肌肉、武器、构造器等),其执行由神经网络协调。这些生物体可以被认为是在共同环境中运行的代理或数字生物。它们的蓝图可以存储在基因组中,并传递给后代。该模拟代码完全用CUDA编写,并针对具有数百万个粒子的实时大规模模拟进行了优化。开发的驱动力是希望更好地理解(前)生物进化的条件以及生物系统日益增长的复杂性。一个重要的目标是通过现代用户界面、视觉吸引人的渲染和一种玩乐的方式使模拟器变得用户友好。
* [jagenjo/webglstudio.js](https://github.com/jagenjo/webglstudio.js) WebGLStudio.js是一个基于浏览器的开源 3D 图形编辑器,它集成了场景编辑器、代码编辑器、图形编辑器、虚拟文件系统等功能,使用标准的 Web 技术,允许用户在浏览器中编辑场景和材质、设计特效和着色器、编写行为代码并分享作品。它基于LiteScene.js 3D 图形引擎,支持多种灯光、阴影贴图、实时反射、自定义材质、后期处理、蒙皮动画等功能,并使用 LiteGraph.js 提供图形编辑功能来控制行为、着色器和后期处理效果。此外,它还支持 LiteFileSystem.js 虚拟文件系统,允许用户通过拖放方式在 Web 上存储资源,并支持可配置的配额、用户和共享文件夹。用户可以通过单个链接导出和分享作品。当前版本缺少网格编辑、FBX 支持和物理功能。
* [g-truc/glm](https://github.com/g-truc/glm) OpenGL 数学 (GLM) 是基于 OpenGL 着色语言 (GLSL) 规范的图形软件的纯头文件 C++ 数学库。GLM 提供的类和函数的设计和实现具有与 GLSL 相同的命名约定和功能,因此任何了解 GLSL 的人都可以在 C++ 中使用 GLM。该项目不仅限于 GLSL 功能。基于 GLSL 扩展约定的扩展系统提供扩展功能:矩阵变换、四元数、数据打包、随机数、噪声等。该库与 OpenGL 完美配合,但也确保了与其他第三方库和 SDK 的互操作性。它非常适合软件渲染(光线跟踪/光栅化)、图像处理、物理模拟和任何需要简单方便的数学库的开发上下文。GLM 是用 C++98 编写的,但在编译器支持时可以利用 C++11。它是一个独立于平台的库,没有依赖性。
* [junshutang/Make-It-3D](https://github.com/junshutang/Make-It-3D) Make-It-3D是一个基于扩散先验的单图像高保真3D重建项目,它利用预训练的2D扩散模型作为3D重建的监督信息。该项目采用两阶段优化流程:第一阶段优化神经辐射场,结合参考图像的前视图约束和新视图的扩散先验;第二阶段将粗略模型转换为纹理点云,并利用扩散先验和参考图像的高质量纹理进一步提升真实感。实验表明,该方法显著优于现有方法,实现了逼真的重建和令人印象深刻的视觉效果。Make-It-3D是首次尝试从单张图像中为通用物体创建高质量3D模型,并支持文本到3D创建和纹理编辑等应用。该项目已发布粗略阶段和精炼阶段的训练代码,以及用于论文中所有结果的测试alpha数据。
* [HeliosZhao/GenXD](https://github.com/HeliosZhao/GenXD) GenXD是一个用于生成任意3D和4D场景的框架,它利用日常生活中常见的摄像机和物体运动来共同研究3D和4D生成。由于缺乏真实世界的4D数据,该项目首先提出了一种数据整理流程,从视频中获取摄像机姿态和物体运动强度,并基于此流程构建了一个大型真实世界4D场景数据集CamVid-30K。GenXD通过多视图时间模块,解耦摄像机和物体运动,从3D和4D数据中无缝学习,并利用掩码潜在条件来支持各种条件视图。GenXD可以生成遵循摄像机轨迹的视频,以及可以提升到3D表示的连贯3D视图。该项目在各种真实世界和合成数据集上进行了广泛的评估,证明了GenXD在3D和4D生成方面的有效性和多功能性。
* [vispy/vispy](https://github.com/vispy/vispy) VisPy是一个高性能的交互式二维/三维数据可视化库,利用现代图形处理单元(GPU)的计算能力,通过OpenGL库显示大型数据集。它可以用于创建高质量的交互式科学绘图、实时数据的直接可视化、3D模型的快速交互式可视化、OpenGL可视化演示以及使用Qt或IPython Notebook(通过WebGL)构建具有快速、可扩展可视化小部件的科学GUI。VisPy提供了一个面向对象的Python接口,名为gloo,它简化了OpenGL ES 2.0的使用,并提供了一个名为scene的系统,用于构建高层可视化接口。VisPy目前处于积极开发中,其API可能会发生变化,但app和gloo模块相对稳定。
* [salesforce/ULIP](https://github.com/salesforce/ULIP) ULIP是一个模型无关的多模态预训练框架,它可以利用其他模态(图像、语言)的信息来提高理解3D数据的性能,而不会引入额外的延迟。该项目包含两个版本:ULIP和ULIP-2,分别在CVPR2023和CVPR2024被接受。ULIP-2是一个可扩展的多模态预训练框架,它可以利用语言、图像和点云信息来学习3D数据的统一表示。ULIP-2在多个3D点云分类任务上取得了最先进的结果。该项目提供了详细的安装说明和代码,用户可以轻松地将任何3D骨干模型集成到框架中,并使用该框架进行预训练,以获得各种下游任务的优势。
* [baldurk/renderdoc](https://github.com/baldurk/renderdoc) RenderDoc 是一个基于帧捕获的图形调试器,目前可用于 Windows、Linux、Android 和 Nintendo Switch™ 上的 Vulkan、D3D11、D3D12、OpenGL 和 OpenGL ES 开发。它在 MIT 许可下是完全开源的。RenderDoc 仅用于调试您自己的程序。任何官方公共 RenderDoc 设置(包括问题跟踪器、Discord 或电子邮件)都不允许讨论捕获您未创建的程序。例如,这包括捕获并非由您创建的商业游戏,或者捕获 Google Maps 或 Google Earth。注意:捕获您创建的使用第三方引擎(如 Unreal 或 Unity)或开源和免费项目的项目是完全可以的,并且受支持。
* [GigaAI-research/DriveDreamer4D](https://github.com/GigaAI-research/DriveDreamer4D) DriveDreamer4D 是一款利用世界模型先验来增强 4D 驾驶场景表示的系统,它能够基于真实驾驶数据合成新的轨迹视频。该项目利用世界模型作为数据机器,通过结构化条件控制前景和背景元素的时空一致性,从而生成符合交通约束的视频。DriveDreamer4D 是首个将视频生成模型应用于驾驶场景中 4D 重建的系统,在生成质量、时空一致性等方面均取得了显著提升。例如,与 PVG、S3Gaussian 和 Deformable-GS 相比,DriveDreamer4D 在新轨迹视图下的 FID 方面分别提高了 24.5%、39.0% 和10.5%。
* [isl-org/MiDaS](https://github.com/isl-org/MiDaS) 单目深度估计的成功依赖于大量且多样化的数据集。但是由于深度的真实值在不同的环境尺度下获取的,大量数据具有不同的特征和偏差。本文提出了一种对于深度的范围和尺度具有不变性的训练方法,从而可以在训练期间混合多个数据集。因此,本文利用3D电影构建了一个数据集并进行训练,然后在训练期间未见过的数据集上进行评测。实验证明,混合训练来自不同的数据集可以改善深度估计的效果,特别是针对训练时未见过的数据集(zero-shot dataset)。
* [geospace-code/pymap3d](https://github.com/geospace-code/pymap3d) pymap3d是一个纯 Python 库,用于进行地球空间三维坐标转换,无需依赖 NumPy,但可选用 NumPy 来提高性能。它提供了一套类似于 Matlab Mapping Toolbox 的函数,用于在 ECEF、ENU、ECI 和大地坐标系之间进行转换。pymap3d 适用于高性能计算 (HPC) 和嵌入式系统,其算法基于 Vallado 和 Meeus 的著作。用户可以通过 pip 安装 pymap3d,并使用其丰富的函数集进行坐标转换,例如 geodetic2ecef、aer2geodetic 等。此外,pymap3d 还包含 Vincenty 函数,用于计算大地线距离和方位角。
* [VAST-AI-Research/TripoSR](https://github.com/VAST-AI-Research/TripoSR) TripoSR是一个开源的快速前馈单图像三维重建模型,由 Tripo AI 和Stability AI 联合开发。它利用大型重建模型 (LRM) 的原理,在速度和质量上都取得了显著进步。TripoSR 在不到 0.5 秒内即可在 NVIDIA A100 GPU 上生成高质量的三维模型,在多个公共数据集上优于其他开源模型。该项目提供源代码、预训练模型和交互式在线演示,并采用 MIT 许可证。用户可以使用 Python 运行脚本进行手动推理,或使用本地 Gradio 应用程序进行交互式体验。
* [google/nerfies](https://github.com/google/nerfies) Nerfies是一个使用可变形神经辐射场(Deformable Neural Radiance Fields)来重建和渲染3D场景的项目,它基于JAX和JaxNeRF实现。该项目提供了一个易于上手的Google Colab演示,可用于训练基本版本的Nerfies模型。该项目还提供了多种配置选项,包括用于生成论文中表格的GPU配置、高分辨率模型配置、低分辨率模型配置以及用于测试代码运行的配置。用户可以通过配置参数来训练Nerfies模型,并使用Tensorboard进行可视化和评估。
* [tensorflow/graphics](https://github.com/tensorflow/graphics) TensorFlow Graphics是一个 TensorFlow 库,提供可微分的图形和几何层,例如相机、反射模型、空间变换、网格卷积等,以及 3D视图功能,例如 3D TensorBoard。该库旨在通过将计算机视觉和计算机图形技术相结合,利用大量易获得的无标签数据,来训练能够解决复杂 3D 视觉任务的机器学习系统。它利用分析合成的方法,通过视觉系统提取场景参数,然后使用图形系统根据这些参数渲染图像,从而实现自监督训练。
* [naver/mast3r](https://github.com/naver/mast3r) MASt3R是一个用于将图像匹配与 3D 场景理解相结合的开源项目,其核心是将图像匹配任务转化为 3D 空间中的几何问题,并利用 3D 信息来提升匹配精度。该项目提供了一个基于 PyTorch 的实现,并包含预训练模型和交互式演示,方便用户快速上手。MASt3R 的关键特色在于其将图像匹配与 3D 重建相结合,并利用 3D 信息来提升匹配精度,同时该项目还提供了预训练模型和交互式演示,方便用户快速上手。
* [ZzZZCHS/Chat-Scene](https://github.com/ZzZZCHS/Chat-Scene) Chat-Scene是一个用于3D场景理解的多模态大型语言模型,在3D定位、字幕生成和问答等任务中表现出色。它在ScanRefer和Scan2Cap基准测试中排名第一,并被NeurIPS 2024收录。Chat-Scene能够处理3D点云和2D多视图图像,通过引入对象标识符来增强对象引用和定位,并利用DINOv2从多视图图像中提取2D表示。该项目还提供了一个经过优化的实现版本(v2.1),在定位、字幕生成和问答任务中取得了更好的性能。
* [snap-research/NeROIC](https://github.com/snap-research/NeROIC) 来自在线图像集合的神经对象捕获和渲染,两阶段模型将来自不同条件的对象图像作为输入。利用其他最先进方法获取的图像的相机位姿和对象前景蒙版,我们首先通过训练基于 NeRF 的网络优化扫描对象的几何形状并细化相机位姿;然后我们使用我们的法线提取层从几何体(由密度函数表示)计算表面法线;最后,我们的第二阶段模型分解了物体的材料属性,并解决了每个图像的光照条件。
* [nteract/semiotic](https://github.com/nteract/semiotic) Semiotic是一个将React和D3结合在一起的数据可视化框架,它提供了一套易于使用的API,可以帮助开发者快速创建各种类型的图表和可视化效果。Semiotic支持多种数据格式,并提供丰富的配置选项,可以满足各种可视化需求。Semiotic还提供了丰富的示例和文档,方便开发者学习和使用。该项目由nteract团队维护,并获得了Susie Lu、Jason Reid、James Womack、Matt Herman、ShelbySturgis和Tristan Reid等人的贡献。
* [MichaelGrupp/evo](https://github.com/MichaelGrupp/evo) evo是一个用于评估里程计和 SLAM 算法的 Python 包,支持多种轨迹格式,包括 TUM、KITTI、EuRoC MAV 和 ROS/ROS2 包文件。它提供了一系列工具,用于处理、评估和比较里程计和 SLAM 算法的轨迹输出,并支持多种输出选项,例如绘图和导出。evo 的优势在于其通用性、灵活性、可配置性、模块化和速度。它可以用于各种应用场景,并提供了一个强大的命令行界面和可扩展的库。
* [nv-tlabs/LLaMa-Mesh](https://github.com/nv-tlabs/LLaMa-Mesh) LLaMA-Mesh是一个将大型语言模型(LLM)与三维网格生成相结合的项目,它通过将网格的顶点坐标和面定义表示为纯文本,直接与LLM集成,无需扩展词汇表。该模型可以根据文本提示生成3D网格,并生成交织的文本和3D网格输出,还能理解和解释3D网格,其生成质量与从零开始训练的模型相当,同时保持强大的文本生成性能。项目已发布模型权重和在线演示。
* [zju3dv/4K4D](https://github.com/zju3dv/4K4D) 4K4D是一个实时 4K 分辨率 4D 视图合成项目,该项目基于 EasyVolcap 架构,并提供预训练模型和最小数据集。它使用基于 CUDA 的瓦片渲染器,并提供 WebSocket 服务器和客户端,支持实时渲染和交互式体验。4K4D已被 CVPR 2024 接收,并提供训练和推理代码,方便用户进行模型训练和渲染。用户需要安装 PyTorch、PyTorch3D、tiny-cuda-nn 和 Open3D 等依赖库。
* [facebookresearch/vfusion3d](https://github.com/facebookresearch/vfusion3d) VFusion3D是一个可扩展的3D生成模型,它利用少量3D数据和大量合成多视角数据进行训练。它是首个探索可扩展3D生成/重建模型的项目,旨在构建一个3D基础模型。该项目提供了预训练模型,用户可以使用提供的推理代码生成3D资产,包括视频和网格模型。VFusion3D支持各种视角的输入图像,但建议使用正面或接近正面的图像以获得最佳效果。
* [ziyc/drivestudio](https://github.com/ziyc/drivestudio) 用于全向城市场景重建和模拟的 3DGS 框架。DriveStudio 是用于城市场景重建/仿真的 3DGS 代码库。它提供了一个具有多个高斯表示的系统,用于从驾驶日志中联合重建背景、车辆和非刚性类别(行人、骑行者等)。DriveStudio 还提供了一个统一的数据系统,支持各种流行的驾驶数据集,包括 Waymo、PandaSet、Argoverse2、KITTI、NuScenes 和 NuPlan。
* [pyvista/pyvista](https://github.com/pyvista/pyvista) 通过 Visualization Toolkit (VTK) 的简化界面进行 3D 绘图和网格分析。PyVista 是可视化工具包 (VTK) 的帮助程序模块,它通过 NumPy 包装 VTK 库,并通过各种方法和类直接访问数组。该软件包提供了一个 Pythonic、文档齐全的接口,公开了 VTK 强大的可视化后端,以促进空间参考数据集的快速原型设计、分析和可视化集成。
* [magicleap/SuperGluePretrainedNetwork](https://github.com/magicleap/SuperGluePretrainedNetwork) 强力胶:使用图神经网络学习特征匹配 。一个图神经网络,与最佳匹配层相结合,经过训练以对两组稀疏图像特征执行匹配。包括 PyTorch 代码和预训练权重,用于在 SuperPoint 关键点和描述符之上运行 SuperGlue 匹配网络。给定一对图像,可以使用此存储库提取图像对中的匹配特征。
* [cartographer-project/cartographer](https://github.com/cartographer-project/cartographer) Cartographer是一个实时二维和三维同步定位与建图 (SLAM) 系统,支持多种平台和传感器配置。它能够在各种环境中构建地图并同时跟踪自身位置。该项目不再积极维护,但仍可用于ROS 1/ROS 2,相关资源可在其ROS分支中找到。用户可通过官方文档学习使用,并通过创建问题进行提问。
* [chenhonghua/MvDrag3D](https://github.com/chenhonghua/MvDrag3D) MvDrag3D是一个基于多视图生成重建先验的3D拖拽编辑框架,它利用多视图扩散模型作为强大的生成先验,在多个渲染视图上进行一致的拖拽编辑,然后使用重建模型重建编辑对象的3D高斯分布。该框架能够处理各种对象类别和3D表示的拖拽编辑,并支持更灵活的编辑效果。
* [ProjectPhysX/FluidX3D](https://github.com/ProjectPhysX/FluidX3D) FluidX3D是一个基于 OpenCL 的 GPU 加速格子 Boltzmann 计算流体动力学(CFD) 软件,它速度快、内存效率高,可用于非商业用途。该软件利用 OpenCL 在所有 GPU 上运行,并提供快速且高效的体素化算法,支持多 GPU 并行计算,并提供多种可视化功能,例如流线、速度场和压力场。
* [PointCloudLibrary/pcl](https://github.com/PointCloudLibrary/pcl) 点云库 (PCL) 是一个独立的、大规模的、开放的项目,用于 2D/3D 图像和点云处理。已发布模块如下:filters 过滤器、features 特征、keypoints 关键点、registration注册、kdtree 、octree八叉树、segmentation 分割 、sample_consensus 、surface表面、recognition识别、io、visualization可视化
* [ssloy/tinyrenderer](https://github.com/ssloy/tinyrenderer) 简短的计算机图形学/渲染课程,通过编写 OpenGL 的克隆(一个简化得多的克隆)来展示 OpenGL 的工作方式。令人惊讶的是,我经常遇到无法克服学习 OpenGL / DirectX 的最初障碍的人。因此,我准备了一系列简短的讲座,之后我的学生展示了相当不错的渲染器。
* [patriciogonzalezvivo/glslViewer](https://github.com/patriciogonzalezvivo/glslViewer) 基于控制台的 OpenGL 沙盒,无需 UI 即可显示 2D/3D GLSL 着色器。 您绝对可以使用 Python 模块(包括)或任何其他通过标准 POSIX 控制台输入/输出或 OSC 与 glslViewer 来回通信的工具来制作自己的 UI 或包装器。
* [timzhang642/3D-Machine-Learning](https://github.com/timzhang642/3D-Machine-Learning) 近年来,3D机器学习领域取得了巨大的进展,这是一个融合了计算机视觉、计算机图形学和机器学习的跨学科领域。这个 repo 源自我的学习笔记,将用作对新研究论文进行分类的地方。
* [glfw/glfw](https://github.com/glfw/glfw) 用于 OpenGL、OpenGL ES 和 Vulkan 应用程序开发的开源多平台库。它提供了一个简单的、独立于平台的 API,用于创建窗口、上下文和图面、读取输入、处理事件等。
* [torch-points3d/torch-points3d](https://github.com/torch-points3d/torch-points3d) 用于在点云上进行深度学习的 Pytorch 框架。用于根据经典基准运行用于点云分析任务的常见深度学习模型。它严重依赖 Pytorch Geometric 和 Facebook Hydra。
* [isl-org/Open3D](https://github.com/isl-org/Open3D) 支持快速开发处理 3D 数据的软件。Open3D 前端在 C++ 和 Python 中公开了一组精心挑选的数据结构和算法。后端经过高度优化,并设置为并行化。
* [doitsujin/dxvk](https://github.com/doitsujin/dxvk) 基于 Vulkan 的 D3D9、D3D10 和 D3D11 for Linux / Wine 实现。适用于 Direct3D 9/10/11 的基于 Vulkan 的转换层,允许使用 Wine 在 Linux 上运行 3D 应用程序。
* [AiuniAI/Unique3D](https://github.com/AiuniAI/Unique3D) Unique3D的官方实现:从单张图像生成高质量、高效的3D网格。Unique3D 在 30 秒内从单视图野生图像生成高保真且多样化的纹理网格。
* [blender/blender](https://github.com/blender/blender) Blender的官方镜像,免费的开源 3D 创作套件。它支持整个 3D 管线建模、绑定、动画、模拟、渲染、合成、运动跟踪和视频编辑。
* [3DTopia/LGM](https://github.com/3DTopia/LGM) 用于高分辨率 3D 内容创建的大型多视图高斯模型。推理大约需要 10GB GPU 内存(加载所有 imagedream、mvdream 和我们的 LGM)。
* [NVlabs/instant-ngp](https://github.com/NVlabs/instant-ngp) 即时神经图形基元:闪电般快速的 NeRF 等 。Neural Radiance Fields(神经辐射场),是一项利用多目图像重建三维场景的技术。
* [google-research/jax3d](https://github.com/google-research/jax3d) Jax 中用于神经渲染的库,旨在成为一个灵活的 NeRF 生态系统,以支持快速原型设计、轻松协作以及研究代码的发布。
* [kovacsv/Online3DViewer](https://github.com/kovacsv/Online3DViewer) 在浏览器中可视化和探索 3D 模型的解决方案。在线 3D 查看器 (https://3dviewer.net) 是一种免费的开源 Web 解决方案。
* [POSTECH-CVLab/PeRFception](https://github.com/POSTECH-CVLab/PeRFception) 隐式3D表示(即神经辐射场(NeRFs))的最新进展使得以可微分方式进行精确和逼真的3D重建成为可能。
* [Jittor/JNeRF](https://github.com/Jittor/JNeRF) 基于 Jittor 的 NeRF 基准测试。JNeRF 重新实现了 Instant-ngp 并达到了与原始论文相同的性能。
* [xiaobiaodu/DreamCar](https://github.com/xiaobiaodu/DreamCar) 可以在给定几张图像甚至单个图像的情况下,在前进的场景中重建完整的 3D 汽车模型。
* [alicevision/meshroom](https://github.com/alicevision/meshroom) 3D 重建软件,一款基于 AliceVision 摄影测量计算机视觉框架的免费开源 3D 重建软件。
* [lukasHoel/text2room](https://github.com/lukasHoel/text2room) Text2Room 使用 2D 文本到图像模型 (ICCV2023) 从给定的文本提示生成纹理 3D 网格。
* [SaschaWillems/Vulkan](https://github.com/SaschaWillems/Vulkan) 适用于 Vulkan® 的开源 C++ 示例的全面集合,Khronos 的新一代图形和计算 API。
* [raulmur/ORB_SLAM2](https://github.com/raulmur/ORB_SLAM2) 单目、立体和RGB-D相机的实时SLAM,具有环路检测和重新定位功能
* [JoeyDeVries/LearnOpenGL](https://github.com/JoeyDeVries/LearnOpenGL) 本书及其随附网站中所有 OpenGL 章节的代码存储库 learnopengl.com
* [TencentARC/InstantMesh](https://github.com/TencentARC/InstantMesh) 使用稀疏视图大型重建模型从单个图像生成高效的 3D 网格
* [dreamgaussian/dreamgaussian](https://github.com/dreamgaussian/dreamgaussian) [ICLR 2024 Oral]用于高效 3D 内容创建的生成式高斯展开。
* [facebookresearch/pytorch3d](https://github.com/facebookresearch/pytorch3d) 基于PyTorch将深度学习与3D进行结合的研究框架。
* [luost26/diffusion-point-cloud](https://github.com/luost26/diffusion-point-cloud) 基于非平衡态热力学的全新三维点云生成模型
* [ashawkey/stable-dreamfusion](https://github.com/ashawkey/stable-dreamfusion) 文本到3D和图像到3D和网格导出与NeRF +扩散。
* [Moguri/awesome-panda3d](https://github.com/Moguri/awesome-panda3d) 使用Panda3D(py 3D库)的优秀资源的精选列表
## 人像_姿势_3D人脸
* [KwaiVGI/LivePortrait](https://github.com/KwaiVGI/LivePortrait) 有拼接和重定向控制的高效肖像动画。摒弃了主流的基于扩散的方法,探索并扩展了基于隐式关键点的框架的潜力,该框架有效地平衡了计算效率和可控性。在此基础上,我们开发了一个名为 LivePortrait 的视频驱动人像动画框架,重点是在实际使用中实现更好的泛化、可控性和效率。为了提高生成质量和泛化能力,我们将训练数据放大到约6900万帧的高质量帧,采用混合图视频训练策略,升级网络架构,设计更好的运动变换和优化目标。此外,我们发现紧凑的隐式关键点可以有效地表示一种混合形状,并精心提出了一个拼接模块和两个重定向模块,这些模块利用一个计算开销可以忽略不计的小 MLP 来增强可控性。实验结果表明,与基于扩散的方法相比,我们的框架也具有有效性。在配备 PyTorch 的 RTX 4090 GPU 上,生成速度显着达到 12.8ms。第一阶段的流水线:基础模型训练,优化了外观和运动提取器、变形模块和解码器,在此阶段,模型是从头开始训练的;第二阶段的管道:拼接和重定向模块培训,在第一阶段训练基础模型后,我们冻结了外观和运动提取器、变形模块和解码器,在第二阶段,只有拼接模块和重定向模块进行了优化。
* [williamyang1991/Rerender_A_Video](https://github.com/williamyang1991/Rerender_A_Video) 重新呈现视频:零样本的文本引导视频到视频翻译。大型文本到图像扩散模型在生成高质量图像方面表现出令人印象深刻的熟练程度。然而,当将这些模型应用于视频域时,确保视频帧之间的时间一致性仍然是一项艰巨的挑战。本文提出了一种新的零镜头文本引导视频到视频翻译框架,以使图像模型适应视频。该框架包括关键帧翻译和全视频翻译两部分。第一部分使用经过调整的扩散模型来生成关键帧,并应用分层跨帧约束来加强形状、纹理和颜色的连贯性。第二部分通过时间感知 Patch 匹配和帧混合将关键帧传播到其他帧。我们的框架以低成本实现了全局样式和局部纹理时间一致性(无需重新训练或优化)。该调整与现有的图像扩散技术兼容,使我们的框架能够利用它们,例如使用 LoRA 自定义特定主题,以及使用 ControlNet 引入额外的空间指导。广泛的实验结果表明,我们提出的框架在渲染高质量和时间相干视频方面优于现有方法。 特征:时间一致性:用于低级别时间一致性的跨帧约束。零样本:无需培训或微调。灵活性:与现成的模型(例如 ControlNet、LoRA)兼容,用于自定义翻译。
* [fudan-generative-vision/hallo](https://github.com/fudan-generative-vision/hallo) Hallo:用于肖像图像动画的分层音频驱动视觉合成。在语音音频输入的驱动下,肖像图像动画领域在生成逼真和动态的肖像方面取得了重大进展。这项研究深入研究了同步面部运动以及在基于扩散的方法框架内创建视觉上吸引人、时间一致的动画的复杂性。摆脱依赖参数模型进行中间面部表示的传统范例,我们的创新方法采用端到端扩散范例,并引入分层音频驱动的视觉合成模块,以提高音频输入和视觉输出之间的对齐精度,包括嘴唇、表情和姿势动作。我们提出的网络架构无缝集成了基于扩散的生成模型、基于 UNet 的降噪器、时间对齐技术和参考网络。所提出的分层音频驱动视觉合成提供了对表达和姿势多样性的自适应控制,从而能够针对不同身份进行更有效的个性化定制。通过定性和定量分析的综合评估,我们的方法显示了图像和视频质量、唇形同步精度和运动多样性的明显增强。
* [google/mediapipe](https://github.com/google/mediapipe) 适用于直播和流媒体的跨平台、可定制的 ML 解决方案。包括:人脸、面网、虹膜手、姿势、整体姿势、人脸检测、头发分割、物体检测、箱子追踪、即时运动追踪、日常物体的实时 3D 物体检测、关键点神经不变特征变换。人脸检测模型:检测是否存在具有一些关键面部特征的人脸。人脸网格模型:添加人脸的完整映射。模型会输出 478 个三维人脸特征点的估计值。Blendshape 预测模型:接收人脸网格模型的输出,并预测 52 个融合变形分数,这些分数是代表不同面部表情的系数。手部特征点模型包可检测已检测到的手部区域内 21 个指节坐标的关键点定位。该模型基于大约 3 万张真实图像以及对各种背景施加的几个渲染合成手部模型进行了训练。
* [Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB](https://github.com/Linzaer/Ultra-Light-Fast-Generic-Face-Detector-1MB) 超轻-快速-通用-人脸检测器-1MB,超轻量级人脸检测模型。模型大小方面,默认FP32精度(.pth)文件大小为1.04~1.1MB,推理框架int8量化大小约为300KB。就模型的计算量而言,320x240的输入分辨率约为90~109 MFlops。该模型有两个版本,version-slim(网络骨干简化,稍快)和version-RFB(带有修改后的RFB模块,精度更高)。提供320x240和640x480不同输入分辨率的Widerface训练预训练模型,以更好地在不同应用场景下工作。支持 onnx 导出,便于迁移和推理。提供 NCNN C++ 推理代码。提供MNN C++推理代码,MNN Python推理代码,FP32/INT8量化模型。提供 Caffe 型号和 onnx2caffe 转换代码。Caffe python 推理代码和 OpencvDNN 推理代码。
* [Cogito2012/DEAR](https://github.com/Cogito2012/DEAR) DEAR (DeepEvidential Action Recognition) 是一个用于开放世界动作识别的深度证据学习方法,该方法将动作识别问题从证据深度学习的角度进行建模,并提出了一种新的模型校准方法来规范 EDL 训练。此外,为了减轻视频表示的静态偏差,DEAR 提出了一个即插即用的模块,通过对比学习对学习到的表示进行去偏。在 UCF-101 数据集上训练的 DEAR 模型,基于多个动作识别模型(如 I3D、TSM、SlowFast、TPN)取得了显著且一致的性能提升,以 HMDB-51 或 MiT-v2 数据集作为未知。该项目提供了模型库、测试和训练代码,以及演示结果。
* [ipazc/mtcnn](https://github.com/ipazc/mtcnn) MTCNN是一个基于TensorFlow的强大的人脸检测和对齐库,它使用多任务级联卷积网络来检测人脸及其关键点。该库对原始实现进行了改进,提供了完整的重构,简化了使用,提高了性能,并支持批处理。MTCNN使用三个网络级联来检测人脸和面部关键点:PNet(Proposal Network)、RNet(Refine Network)和ONet(Output Network)。所有网络都使用TensorFlow的功能API实现,并经过优化以避免不必要的操作,例如转置,从而确保更快速、更高效的执行。该库非常适合需要人脸检测和对齐的应用程序,支持边界框和关键点预测。
* [OpenTalker/video-retalking](https://github.com/OpenTalker/video-retalking) VideoReTalking是一个基于音频的唇形同步系统,用于对现实世界中说话人头部视频进行编辑。该项目通过三个步骤实现:首先,使用表情编辑网络将视频中每个帧的表情修改为统一模板,生成具有规范表情的视频;然后,将该视频与输入音频一起输入唇形同步网络,生成唇形同步视频;最后,通过身份感知人脸增强网络和后期处理,提高合成人脸的真实感。所有三个步骤都采用基于学习的方法,并可以通过流水线操作,无需用户干预。该项目在SIGGRAPH Asia 2022上发表,并提供代码和演示。
* [yerfor/MimicTalk](https://github.com/yerfor/MimicTalk) MimicTalk是一个基于 PyTorch 的开源项目,可以在几分钟内训练出个性化的、富有表现力的 3D 会说话的头像。该项目基于 NeurIPS 2024 论文,利用 NeRF 技术,并借鉴了 ICLR 2024 的 Real3D-Portrait 项目,实现了快速训练和高质量的头像生成。用户可以通过项目提供的演示页面观看演示视频,并阅读论文了解技术细节。项目提供简单的命令行工具和 Gradio WebUI用于训练和推断,支持音频驱动特定人物的会说话的头像生成,并可选地提供风格视频以增强生成效果。
* [switchablenorms/CelebAMask-HQ](https://github.com/switchablenorms/CelebAMask-HQ) CelebAMask-HQ 是一个大规模的人脸图像数据集,其中包含从 CelebA 数据集中选择的 30,000 张高分辨率人脸图像,遵循 CelebA-HQ。每个图像都有与 CelebA 相对应的面部属性的分割蒙版。CelebAMask-HQ 的面具以 512 x 512 的大小和 19 个类别手动注释,包括所有面部组件和配件,例如皮肤、鼻子、眼睛、眉毛、耳朵、嘴巴、嘴唇、头发、帽子、眼镜、耳环、项链、脖子和布料。CelebAMask-HQ 可用于训练和评估人脸解析、人脸识别和人脸生成和编辑的 GAN 算法。
* [modelscope/facechain](https://github.com/modelscope/facechain) 深度学习工具链,用于生成数字孪生。FaceChain是一个新颖的框架,用于生成身份保存的人类肖像。在最新的 FaceChain FACT(带解耦训练的面部适配器)版本中,只需 1 张照片和 10 秒,您就可以生成不同设置的个人肖像(现在支持多种样式!FaceChain在人像生成方面具有高度的可控性和真实性,包括基于文本到图像和修复的流水线,并与ControlNet和LoRA无缝兼容。您可以通过 FaceChain 的 Python 脚本、熟悉的 Gradio 界面或 sd webui 生成肖像。
* [TencentARC/PhotoMaker](https://github.com/TencentARC/PhotoMaker) PhotoMaker是一个基于 CVPR 2024 论文的项目,它提供了一种快速定制人像照片的方法,无需额外的 LoRA 训练。PhotoMaker 通过堆叠 ID 嵌入来确保高度的 ID 保真度,同时保持多样性、文本可控性和高质量生成。PhotoMaker可以作为适配器与其他基础模型和 LoRA 模块协同工作,并支持 Replicate、Windows、ComfyUI 和 WebUI 等多种实现方式。PhotoMaker V2 进一步提升了 ID 保真度,并提供了与 ControlNet、T2I-Adapter 和 IP-Adapter 的集成脚本,以增强控制能力。
* [yerfor/GeneFace](https://github.com/yerfor/GeneFace) GeneFace是一个用于生成高保真度音频驱动3D说话人脸的开源项目,其代码已在ICLR 2023上发表。该项目使用RAD-NeRF渲染器,能够实时推理并可在10小时内完成训练。GeneFace还提供预训练模型和处理后的数据集,方便用户快速开始使用。用户可以通过4个步骤完成推理:创建python环境、下载预训练模型、处理数据集以及运行推理脚本。此外,GeneFace还提供了一些其他功能,例如姿势感知音频到运动模块,用于生成更准确的唇部运动。
* [alimama-creative/SDXL_EcomID_ComfyUI](https://github.com/alimama-creative/SDXL_EcomID_ComfyUI) 这是一个为 ComfyUI 提供原生 SDXL-EcomID 支持的扩展,它直接集成 EcomID,无需使用 diffusers。EcomID 增强了肖像的表达能力,在保持语义一致性和更高内部 ID 相似性的同时,呈现出更真实、更美观的肖像,例如,即使年龄、发型、眼镜或其他身体特征发生变化,肖像的本质特征也能保持一致。该扩展提供了多种示例,展示了 EcomID 在不同场景下的效果,例如,生成不同年龄、发型、服饰的肖像,以及不同人物特征的肖像。
* [RenderMe-360/RenderMe-360](https://github.com/RenderMe-360/RenderMe-360) RenderMe-360是一个大型数字资产库和基准测试,旨在推动高保真头部头像算法的发展。它包含超过2.5亿个完整的头部帧和来自500个不同身份的80万个视频序列,这些序列由同步的HD多视角相机以30fps的速度捕获。该数据集具有高保真度、高多样性和丰富的注释,可用于新视角合成、新表情合成、头发渲染、头发编辑和说话头生成等任务。该项目已发布基准代码、训练数据和模型,并提供数据下载链接。
* [zju3dv/GVHMR](https://github.com/zju3dv/GVHMR) GVHMR是一个基于重力视角坐标的世界级人类运动恢复方法,该项目在SIGGRAPH Asia 2024上发表。GVHMR利用重力视角坐标来推断人类运动,并通过深度视觉里程计估计相机运动。该项目提供了Google Colab和HuggingFace演示,并支持3DPW、RICH和EMDB数据集的测试和训练。用户可以使用提供的命令进行测试和训练,并可通过提供的脚本进行演示。该项目还提供了完整的代码和预训练模型,方便用户进行研究和应用。
* [USTC3DV/PortraitGen-code](https://github.com/USTC3DV/PortraitGen-code) 由多模态生成先验提供支持的人像视频编辑。正式实施 SIGGRAPH Asia 2024 论文“Portrait Video Editing Empowered by Multimodal Generative Priors”。此存储库包含代码、数据和已发布的预训练模型。PortraitGen 是一种强大的人像视频编辑方法,可通过多模态提示实现一致且富有表现力的风格化。给定一个单目 RGB 视频,我们的模型可以执行高质量的文本驱动编辑、图像驱动编辑和重新照明。
* [layumi/Person_reID_baseline_pytorch](https://github.com/layumi/Person_reID_baseline_pytorch) 这是一个基于 PyTorch 的行人重识别 (ReID) 基线代码库,它小巧、友好且性能强大,支持多种最新的 ReID 技术,并提供详细的教程和示例。该库使用 softmax 损失函数,在多个数据集上取得了领先的性能,例如 Rank@1=88.24%,mAP=70.68%。该库还支持使用 fp16 进行训练,仅需 2GB 的 GPU内存,非常适合资源有限的开发者。此外,该库还提供中文教程和视频讲解,方便用户快速上手。
* [damo/cv_mobilenet_face-2d-keypoints_alignment](https://modelscope.cn/models/damo/cv_mobilenet_face-2d-keypoints_alignment/summary) 106点人脸关键点检测模型,该模型主要用于人脸关键点检测和对齐任务,从包含人脸的图片中检测出人脸框、人脸关键点坐标和人脸姿态角。主要借鉴MobileNetV1和MobileNetV2的思路(如下图),MobileNetV1速度快,放在浅层用于提取特征图,MobileNetV2速度相对慢但是信息保存好,用于提取深层语义信息,模型参数量少速度快,能良好应用在移动端实时人脸关键点检测场景。
* [ZhaoJ9014/face.evoLVe](https://github.com/ZhaoJ9014/face.evoLVe) face.evoLVe 是一个基于 PaddlePaddle 和 PyTorch 的高性能人脸识别库,旨在为与人脸相关的分析和应用提供更全面、更有效和更高效的解决方案。该项目由 Jian Zhao 开发,并于 2021 年 9 月被百度 PaddlePaddle 官方合并,以促进人脸相关分析的研究和应用。项目提供训练代码、公开数据集、特征提取 API 等功能,并支持多 GPU 分布式训练,以应对大规模人脸识别场景。
* [NVlabs/DG-Net](https://github.com/NVlabs/DG-Net) DG-Net是一个用于行人重识别的联合判别式和生成式学习模型,在 CVPR 2019 上以口头报告形式发表。该模型结合了判别式学习和生成式学习,通过生成对抗网络 (GAN) 学习行人的特征表示,并使用判别式损失函数来优化特征提取器,从而提高行人重识别的准确率。该项目提供多 GPU 训练、APEX 支持、多查询评估等功能,并提供预训练模型和数据集准备脚本。
* [1adrianb/face-alignment](https://github.com/1adrianb/face-alignment) 这是一个基于 PyTorch 的 2D 和 3D 人脸对齐库,使用最先进的深度学习方法 FAN 进行人脸关键点检测,可以检测2D 和 3D 坐标的人脸关键点。该库支持使用 SFD、dlib 或 BlazeFace 进行人脸检测,并允许用户在 CPU 或 GPU 上运行。用户可以使用该库检测图片中的人脸关键点,并可以处理整个目录的图片。此外,该库还支持使用预先存在的边界框进行人脸检测。
* [timesler/facenet-pytorch](https://github.com/timesler/facenet-pytorch) 这是一个基于 PyTorch 的人脸识别库,包含预训练的人脸检测(MTCNN)和人脸识别(InceptionResnet)模型。该库使用从 David Sandberg 的 TensorFlow facenet 库移植的参数初始化 PyTorch 模型权重,并提供高效的 MTCNN 实现,使其成为最快的 MTCNN 实现之一。该库还包含用于人脸检测和识别、视频流人脸跟踪、使用新数据微调预训练模型等功能的示例笔记本。
* [Zeyi-Lin/HivisionIDPhotos](https://github.com/Zeyi-Lin/HivisionIDPhotos) 一款轻量级高效的 AI 证件照工具。一个轻量级的AI证件照制作算法。它利用一套完善的AI模型工作流程,实现对多种用户拍照场景的识别、抠图与证件照生成。 HivisionIDPhoto 可以做到: 轻量级抠图(纯离线,仅需 CPU 即可快速推理) 根据不同尺寸规格生成不同的标准证件照、六寸排版照 支持 纯离线 或 端云 推理 美颜 智能换正装
* [warmshao/FasterLivePortrait](https://github.com/warmshao/FasterLivePortrait) FasterLivePortrait是一个基于 LivePortrait 的实时肖像驱动项目,它利用 TensorRT 和Onnxruntime-GPU 实现了实时运行,并在 RTX 3090上达到了 30+ FPS 的速度。该项目支持将 LivePortrait 模型转换为 Onnx 模型,并提供 Gradio 应用,支持多脸和动物模型的实时推理。项目还提供 Windows 一键运行的集成包,无需安装,支持 TensorRT 和 OnnxruntimeGPU。
* [jhj0517/AdvancedLivePortrait-WebUI](https://github.com/jhj0517/AdvancedLivePortrait-WebUI) 这是一个基于 Gradio 的 WebUI,专门用于 ComfyUI-AdvancedLivePortrait项目,允许用户从图像中编辑面部表情。该项目提供多种安装和运行方式,包括本地运行、使用 PowerShell 脚本运行以及使用 Docker 运行。该项目基于 LivePortrait 论文,并使用 ultralytics进行人脸检测,并借鉴了 ComfyUI-AdvancedLivePortrait 的各种面部表情功能。
* [X-LANCE/AniTalker](https://github.com/X-LANCE/AniTalker) AniTalker是一个基于身份解耦的面部运动编码,能够生成生动且多样的说话人面部动画的项目。该项目利用身份解耦技术,将身份信息和运动信息分离,从而实现更自然、更逼真的面部动画效果。项目提供详细的安装教程和模型库,并支持多种语言,包括中文。用户可以通过提供的Colab示例代码快速上手体验。
* [Zz-ww/SadTalker-Video-Lip-Sync](https://github.com/Zz-ww/SadTalker-Video-Lip-Sync) 本项目基于SadTalkers实现视频唇形合成的Wav2lip。通过以视频文件方式进行语音驱动生成唇形,设置面部区域可配置的增强方式进行合成唇形(人脸)区域画面增强,提高生成唇形的清晰度。使用DAIN 插帧的DL算法对生成视频进行补帧,补充帧间合成唇形的动作过渡,使合成的唇形更为流畅、真实以及自然。
* [nenadmarkus/pico](https://github.com/nenadmarkus/pico) 对标准 Viola-Jones 方法的修改。基本思想是在所有合理的位置和尺度上用级联的二元分类器扫描图像。如果图像区域成功通过级联的所有成员,则将其分类为感兴趣对象。每个二元分类器由一组决策树组成,其中像素强度比较作为其内部节点中的二元测试。这使检测器能够以非常高的速度处理图像区域。
* [boltgolt/howdy](https://github.com/boltgolt/howdy) Howdy是Linux系统上的Windows Hello风格面部认证工具,利用内置红外发射器和摄像头进行面部识别,实现无需密码登录、解锁屏幕、sudo和su等操作。它基于PAM认证系统工作,支持Debian/Ubuntu、Arch Linux、Fedora和openSUSE等发行版,并提供源码编译安装方式。安装后需要进行面部注册才能使用。
* [InstantID/InstantID](https://github.com/InstantID/InstantID) 在数秒内实现零样本人身份保留生成,最先进的免调谐方法,只需一张图像即可实现 ID 保留生成,支持各种下游任务。InstantID 实现了更好的保真度,并保留了良好的文本可编辑性(面孔和样式融合得更好)。[InstantX/InstantID](https://huggingface.co/InstantX/InstantID)
* [lipku/metahuman-stream](https://github.com/lipku/metahuman-stream) 实时互动流式数字人,实现音视频同步对话。基本可以达到商业效果。特征:支持多种数字人模型, ernerf、musetalk、wav2lip;支持声音克隆;支持数字人说话被打断;支持全身视频拼接;支持rtmp和webrtc;支持视频编排,不说话时播放自定义视频
* [jinwchoi/awesome-action-recognition](https://github.com/jinwchoi/awesome-action-recognition) 这是一个精选的动作识别和相关领域资源列表,包括动作识别、物体识别和姿态估计等,灵感来源于 awesome-computer-vision 项目。该项目包含动作识别和视频理解方面的综述文章、视频表示方法、动作识别数据集、动作识别模型等资源。
* [TheRamU/Fay](https://github.com/TheRamU/Fay) Fay是一个完整的开源项目,包含Fay控制器及数字人模型,可灵活组合出不同的应用场景:虚拟主播、现场推销货、商品导购、语音助理、远程语音助理、数字人互动、数字人面试官及心理测评、贾维斯、Her。
* [DirtyHarryLYL/Activity2Vec](https://github.com/DirtyHarryLYL/HAKE-Action-Torch/tree/Activity2Vec) 基于HAKE数据的通用人类活动特征提取器和人体PaSta(部分状态)检测器。它的工作原理类似于 ImageNet/COCO 预训练的主干,旨在为下游任务(如 VQA、字幕、聚类等)提取多模态活动表示。
* [alievk/avatarify-python](https://github.com/alievk/avatarify-python) Zoom、Skype 和其他视频会议应用程序的头像。基于一阶运动模型( First Order Motion Model)。Avatarify 附带了一组标准的名人头像,但您只需将头像复制到 avatars 文件夹中即可扩展此集。
* [PowerHouseMan/ComfyUI-AdvancedLivePortrait](https://github.com/PowerHouseMan/ComfyUI-AdvancedLivePortrait) 编辑照片中的面部表情。在视频中插入面部表情。使用多种面部表情创建动画。从示例照片中提取面部表情。AdvancedLivePortrait 速度更快,并且具有实时预览功能。
* [shahroudy/NTURGB-D](https://github.com/shahroudy/NTURGB-D) “NTU RGB+D”动作识别数据集、“NTU RGB+D 120”动作识别数据集、“NTU RGB+D”是用于人类动作识别的大规模数据集。“NTU RGB+D 120”是“NTU RGB+D”数据集的扩展版本。
* [人脸识别常用开源数据集大全](https://mp.weixin.qq.com/s/bcYmSh6cli7kPeEOgmw3mg) 哥伦比亚大学公众人物脸部数据、CelebA、美国国防部、MTFL、BioID、PersonID人脸识别数据集、CMU PIE人脸库、Youtube视频人脸、CASIA 人脸图像、Caltech人脸数据库
* [ID-Animator/ID-Animator](https://github.com/ID-Animator/ID-Animator) 该存储库是ID-Animator的官方实现。它是一个零样本 ID 保留人类视频生成框架。它可以仅以一张 ID 图像作为参考,生成高质量的 ID 特定人体视频。
* [magic-research/magic-animate](https://github.com/magic-research/magic-animate) 使用扩散模型进行时间一致的人体图像动画,基于扩散的人体图像动画框架,旨在增强时间一致性,忠实地保留参考图像,并提高动画保真度。
* [YadiraF/DECA](https://github.com/YadiraF/DECA) 详细的表情捕捉和动画(SIGGRAPH 2021).从单个输入图像重建具有详细面部几何形状的 3D 头部模型。生成的 3D 头部模型可以轻松制作动画。
* [CelebA](https://mmlab.ie.cuhk.edu.hk/projects/CelebA.html) 大型人脸属性数据集,包含超过 200K 张名人图片,每张图片有 40 个属性注释。此数据集中的图像涵盖了较大的姿势变化和背景杂乱。
* [s0md3v/roop](https://github.com/s0md3v/roop) 一键换脸,拍摄一个视频,并将其中的面孔替换为您选择的面孔。您只需要一张所需人脸的图像。没有数据集,就没有训练。
* [facefusion/facefusion](https://github.com/facefusion/facefusion) 下一代换脸器和增强器。人脸分析:年龄、性别、人脸检测器、尺寸、分数。口罩。面部增强。换脸。唇型同步器。
* [iPERDance/iPERCore](https://github.com/iPERDance/iPERCore) 处理人体图像合成任务。其中包括人体运动模仿、外观转换和新视角合成等。并且,该项目的代码、数据集已开源。
* [mayuelala/FollowYourPose](https://github.com/mayuelala/FollowYourPose) [AAAI 2024]Follow-Your-Pose:此存储库是“Follow-Your-Pose:使用无姿势视频生成姿势引导的文本到视频”的官方实现
* [ziwei-zh/CorrPM](https://github.com/ziwei-zh/CorrPM) 关联人体边缘,人体姿态解析.研究了人的语义边界和关键点位置如何共同改善人的部件解析性能。
* [cleardusk/3DDFA_V2](https://github.com/cleardusk/3DDFA_V2) Towards Fast 的官方 PyTorch 实现,准确稳定的3D密集人脸对齐,ECCV 2020。预测出图片人脸的3D结构。
* [OpenTalker/SadTalker](https://github.com/OpenTalker/SadTalker) [CVPR 2023年]SadTalker:学习逼真的3D运动系数,用于风格化的音频驱动的单图像说话人脸动画
* [AliaksandrSiarohin/first-order-model](https://github.com/AliaksandrSiarohin/first-order-model) 图像动画的一阶运动模型,实现静态图像到动态图像的转换.人脸、人物动作姿势模拟
* [sicxu/Deep3DFaceRecon_pytorch](https://github.com/sicxu/Deep3DFaceRecon_pytorch) 具有弱监督学习的准确 3D 人脸重建:从单张图像到图像集 (CVPRW 2019)。PyTorch 实现。
* [justadudewhohacks/face-api.js](https://github.com/justadudewhohacks/face-api.js) JavaScript API,用于浏览器中的人脸检测和人脸识别,以及带有 tensorflow 的 nodejs.js
* [wzmsltw/PaintTransformer](https://github.com/wzmsltw/PaintTransformer) Paint Transformer:具有笔画预测的前馈神经绘画网络。预测图片如何用画笔画出。
* [aigc-apps/sd-webui-EasyPhoto](https://github.com/aigc-apps/sd-webui-EasyPhoto) 一个 Webui UI 插件,用于生成 AI 肖像,可用于训练与您相关的数字分身。
* [ibaiGorordo/ONNX-Mobile-Human-Pose-3D](https://github.com/ibaiGorordo/ONNX-Mobile-Human-Pose-3D) 使用 ONNX 中的移动人体姿势模型执行 3D 人体姿势估计的 Python 脚本。
* [RameenAbdal/StyleFlow](https://github.com/RameenAbdal/StyleFlow) 使用条件连续归一化流对 StyleGAN 生成的面部图像进行属性条件探索
* [DrMahdiRezaei/DeepSOCIAL](https://github.com/DrMahdiRezaei/DeepSOCIAL) DeepSOCIAL:COVID-19 大流行中的社会人物距离监测和感染风险评估。
* [shliang0603/Yolov4_DeepSocial](https://github.com/shliang0603/Yolov4_DeepSocial) DeepSOCIAL:COVID-19 大流行中的社会人物距离监测和感染风险评估。
* [serengil/deepface](https://github.com/serengil/deepface) 轻量级人脸识别和人脸属性分析(年龄、性别、情感和种族)库
* [ShiqiYu/libfacedetection](https://github.com/ShiqiYu/libfacedetection) 用于图像中人脸检测的开源库。人脸检测速度可以达到1000FPS。
* [hellojialee/OffsetGuided](https://github.com/hellojialee/OffsetGuided) Bottom-up人体姿态估计最优网络,多人关键点坐标的编解码方法.
* [fengq1a0/FOF](https://github.com/fengq1a0/FOF) 学习傅里叶占有场(Fourier Occupancy Fields)用于单目实时人体重建
* [yoyo-nb/Thin-Plate-Spline-Motion-Model](https://github.com/yoyo-nb/Thin-Plate-Spline-Motion-Model) 用于图像动画的薄板样条运动模型 人脸、人物动作姿势模拟
* [CMU-Perceptual-Computing-Lab/openpose](https://github.com/CMU-Perceptual-Computing-Lab/openpose) 用于身体、面部、手和脚估计的实时多人关键点检测库。
* [FACEGOOD-Audio2Face](https://github.com/FACEGOOD/FACEGOOD-Audio2Face) 将音频转换为混合形状权重,并在UE中驱动数字人小美。
* [anandpawara/Real_Time_Image_Animation](https://github.com/anandpawara/Real_Time_Image_Animation) 实时图像动画,使原图的人像与新图上的人脸动作一致。
* [open-mmlab/mmskeleton](https://github.com/open-mmlab/mmskeleton) 用于人体姿势估计,基于骨骼的动作识别和动作合成。
* [fudan-generative-vision/hallo2](https://github.com/fudan-generative-vision/hallo2) Hallo2:长持续时间和高分辨率的音频驱动人像图像动画
* [changgyhub/deepsketch2face](https://github.com/changgyhub/deepsketch2face) 用于 3D 面部和漫画建模的基于深度学习的草图系统。
* [YuliangXiu/ICON](https://github.com/YuliangXiu/ICON) 从图片法线获得的隐式穿衣人类的3D姿态(CVPR 2022)
* [TencentARC/GFPGAN](https://github.com/TencentARC/GFPGAN) GFPGAN 旨在开发用于真实世界面部恢复的实用算法。
* [xierc/Semi_Human_Pose](https://github.com/xierc/Semi_Human_Pose) 半监督二维人体姿态估计中折叠问题的实证研究。
* [SangbumChoi/MobileHumanPose](https://github.com/SangbumChoi/MobileHumanPose) 在移动设备中实现实时 3D 人体姿态估计,PyTorch。
* [deepinsight/insightface](https://github.com/deepinsight/insightface) 最先进的2D和3D人脸分析项目 人脸识别检测对齐
* [MobileStyleGAN.pytorch](https://github.com/bes-dev/MobileStyleGAN.pytorch) 用于高保真图像合成的轻量级卷积神经网络
* [facebookresearch/pifuhd](https://github.com/facebookresearch/pifuhd) 使用AI从2D图像生成人的3D高分辨率重建
* [iperov/DeepFaceLive](https://github.com/iperov/DeepFaceLive) 用于 PC 流媒体或视频通话的实时换脸
* [PeterL1n/RobustVideoMatting](https://github.com/PeterL1n/RobustVideoMatting) 可在任意视频上做实时高清人物抠像.
* [open-mmlab/mmpose](https://github.com/open-mmlab/mmpose) OpenMMLab 姿势估计工具箱和基准测试。
* [kennymckormick/pyskl](https://github.com/kennymckormick/pyskl) 用于基于骨架的动作识别的工具箱。
* [leap-ai/headshots-starter](https://github.com/leap-ai/headshots-starter) 可在几分钟内生成专业的 AI 头像。
* [GuyTevet/motion-diffusion-model](https://github.com/guytevet/motion-diffusion-model) 人体运动扩散模型的PyTorch官方实现
* [jby1993/SelfReconCode](https://github.com/jby1993/SelfReconCode) 从单目视频自我重建你的数字化身
* [wmcnally/evopose2d](https://github.com/wmcnally/evopose2d) 神经架构搜索推动2D姿态识别边界
* [anibali/margipose](https://github.com/anibali/margipose) 基于2D边缘热图的3D人体姿态估计
* [exadel-inc/CompreFace](https://github.com/exadel-inc/CompreFace) 领先的免费开源人脸识别系统
* [tencent-ailab/hifi3dface](https://github.com/tencent-ailab/hifi3dface) RGB-D 的高保真3D 数字人类创建
* [thepowerfuldeez/facemesh.pytorch](https://github.com/thepowerfuldeez/facemesh.pytorch) 单目实时人脸表面3D点云提取
* [davidsandberg/facenet](https://github.com/davidsandberg/facenet) 使用 TensorFlow 进行人脸识别
* [IGLICT/DeepFaceDrawing-Jittor](https://github.com/IGLICT/DeepFaceDrawing-Jittor) 从草图中深度生成人脸图像
* [Mukosame/Anime2Sketch](https://github.com/Mukosame/Anime2Sketch) 动画/插图的草图提取器。
* [sallymmx/ActionCLIP](https://github.com/sallymmx/ActionCLIP) 视频动作识别的新范式
* [minivision-ai/photo2cartoon](https://github.com/minivision-ai/photo2cartoon) 人像卡通化探索项目
* [minivision-ai/photo2cartoon](https://github.com/minivision-ai/photo2cartoon) 人像卡通化探索项目
## 光学字符识别OCR
* [FudanVI/benchmarking-chinese-text-recognition](https://github.com/FudanVI/benchmarking-chinese-text-recognition) 该存储库包含用于对中文文本识别进行基准测试的数据集和基线。收集公开可用的场景数据集,包括**RCTW**、**ReCTS**、**LSVT**、**ArT**、**CTW** ,得到 636,455 个样本,这些样本被随机打乱,然后按 8:1:1 的比例划分,以构建训练、验证和测试数据集。六种具有代表性的方法作为基线:CRNN是典型的基于 CTC 的方法,在学术界和工业界得到广泛应用,它首先将文本图像发送到 CNN 以提取图像特征,然后采用两层 LSTM 对序列特征进行编码,最后,LSTM 的输出被馈送到 CTC解码器,以最大化所有路径通往基本事实的概率。ASTER 是典型的基于校正的方法,旨在处理不规则的文本图像,引入了空间变换器网络 (STN),将给定的文本图像纠正为易于识别的外观,然后将校正后的文本图像发送到 CNN 和两层 LSTM 提取特征,ASTER 利用注意力机制来预测最终的文本序列。MORAN 是基于整流的方法,它首先采用多对象校正网络(MORN)以弱监督方式预测校正后的像素偏移(与利用 STN 的 ASTER 不同),输出像素偏移进一步用于生成校正后的图像,该图像进一步发送到基于注意力的解码器(ASRN)进行文本识别。SAR 利用二维特征图进行更稳健的解码,特别是,它主要是针对不规则文本提出的,一方面,SAR 在 CNN 编码器中采用更强大的残差块来学习更强的图像表示,另一方面,与 CRNN、ASTER 和 MORAN 将给定图像压缩成一维特征图不同,SAR 对特征图的空间维度采用二维注意力进行解码,从而在弯曲和斜体文字。SEED是基于语义的方法,它引入了一个语义模块来提取全局语义嵌入并利用它来初始化解码器的第一个隐藏状态,SEED的解码器在继承ASTER结构的同时,吸收语义嵌入为识别过程提供先验,从而在识别低质量文本图像方面表现出优越性。TransOCR 是基于 Transformer 的方法之一,它最初旨在为超分辨率任务提供文本先验,它使用 ResNet-34 作为编码器,使用自注意力模块作为解码器,与基于 RNN 的解码器不同,自注意力模块更有效地捕获给定文本图像的语义特征。
* [sirfz/tesserocr](https://github.com/sirfz/tesserocr) tesserocr是一个 Python 库,它为 tesseract-ocr API 提供了一个简单易用的包装器,用于光学字符识别 (OCR)。它直接与 Tesseract的 C++ API 集成,使用 Cython 实现,提供简单易读的 Python 代码。tesserocr 支持与 Pillow 库协同工作,也可以直接使用图像文件。它支持多线程并发执行,在处理图像时释放 GIL,提高效率。tesserocr 需要 libtesseract (u003e=3.04) 和 libleptonica (u003e=1.71) 库,可以通过 pip 安装。在 Windows 平台上,可以使用 Conda 或 pip 安装预编译的 wheel 文件。tesserocr 可以自动检测 tessdata 路径,也可以通过环境变量 `TESSDATA_PREFIX` 或 `PyTessBaseAPI` 的 `path` 参数指定。
* [CatchTheTornado/pdf-extract-api](https://github.com/CatchTheTornado/pdf-extract-api) pdf-extract-api 是一个使用最先进的 OCR 和 Ollama 支持的模型来提取和解析 PDF 文档的 API。它可以将任何文档或图片转换为结构化的 JSON 或 Markdown,并具有高精度识别表格数据、数字和数学公式的能力。该 API 使用 FastAPI 构建,并使用 Celery 进行异步任务处理,Redis 用于缓存 OCR 结果。它支持将 PDF 转换为 Markdown 和 JSON,并利用 LLama 模型来提高 OCR 结果的准确性,还能够去除 PDF 中的个人身份信息 (PII)。该项目提供 Docker Compose 配置,无需云端依赖,所有必要组件都包含在内。用户可以通过 CLI 工具发送任务并处理结果。
* [alibabaresearch/advancedliteratemachinery](https://github.com/alibabaresearch/advancedliteratemachinery) 一系列原创的、创新的想法和算法,旨在实现先进的识字机械。该项目由阿里巴巴集团通益实验室语言技术实验室的OCR团队进行维护。我们研究的最终目标是建立一个具有高级智能的系统,即拥有阅读、思考和创造的能力,这些能力如此先进,以至于在未来的某一天甚至可能超过人类的智力。我们将这种系统命名为高级识字机械(ALM)。首先,我们目前专注于教机器从图像和文档中读取。在未来的岁月里,我们将探索赋予机器思考和创造的智力能力的可能性,赶上并超越GPT-4和GPT-4V。
* [lumina-ai-inc/chunkr](https://github.com/lumina-ai-inc/chunkr) Chunkr是一个基于视觉模型的文档解析工具,由Lumina开发,它利用最先进的视觉模型进行段落提取和光学字符识别(OCR),并通过 Rust Actix 服务器统一输出。Chunkr 可以以每秒 5 页的速度处理 PDF 文件,提供高效、可扩展的解决方案,适用于高精度边界框段落提取和 OCR。它支持 GPU 和 CPU 环境,并提供一个用户界面(UI)供用户体验。用户可以通过Chunkr 的 API 创建任务,并使用 API 查询任务状态。Chunkr 提供开源许可(AGPL-3.0)和商业许可,用户可以选择适合自己的许可方案。
* [adeline-cs/GTR](https://github.com/adeline-cs/GTR) 场景文字识别 现有的场景文本识别(STR)方法通常使用语言模型来优化视觉识别(VR)模型预测的一维字符序列的联合概率,忽略字符实例内部和之间的视觉语义的二维空间上下文,使它们不能很好地推广到任意形状的场景文本。为了解决这个问题,本文中首次尝试基于视觉语义进行文本推理。给定 VR 模型预测的字符分割图,为每个实例构建子图,节点表示其中的像素,根据它们的空间相似性在节点之间添加边。然后,子图通过根节点顺序连接成一个完整的图。
* [madmaze/pytesseract](https://github.com/madmaze/pytesseract) pytesseract是一个 Python OCR 工具,它使用 Google 的 Tesseract-OCR 引擎识别图像中的文本。它可以处理 Pillow 和 Leptonica 图像库支持的所有图像类型,包括 jpeg、png、gif、bmp、tiff 等。pytesseract 可以作为独立脚本使用,也可以作为 Python 库使用。它提供多种功能,包括图像转文本、获取边界框、获取详细数据、获取方向和脚本检测信息以及生成可搜索的 PDF 文件。用户可以通过配置 `tesseract_cmd` 参数指定 Tesseract 可执行文件的路径。
* [emedvedev/attention-ocr](https://github.com/emedvedev/attention-ocr) 这是一个基于注意力的光学字符识别 (OCR) 模型,使用 Tensorflow 实现,并提供 Python 包和 Google Cloud ML Engine 支持。该模型结合了卷积神经网络 (CNN) 和序列到序列 (seq2seq) 架构,并利用视觉注意力机制来识别图像中的文本。它支持创建 TFRecords 数据集,并将训练后的模型导出为 SavedModel 或冻结图。该项目基于 Qi Guo 和 Yuntian Deng 的原始模型,并提供命令行工具用于创建数据集、训练模型、测试模型和导出模型。
* [microsoft/table-transformer](https://github.com/microsoft/table-transformer) Table Transformer (TATR) 是一个基于深度学习的模型,用于从非结构化文档(PDF 和图像)中提取表格。该项目还包含 PubTables-1M 数据集和 GriTS 评估指标的官方代码库。TATR 利用目标检测技术识别表格,并提供预训练模型用于 PubTables-1M 数据集。用户可以训练自己的模型,并使用提供的推理代码将表格转换为 HTML 或 CSV 格式。该项目还包含用于创建训练数据和规范化现有数据集的脚本。
* [pot-app/pot-desktop](https://github.com/pot-app/pot-desktop) Pot是一款跨平台的划词翻译和OCR软件,支持 Windows、macOS和 Linux 系统。它可以快速识别和翻译选中的文本,并支持多种语言。Pot 还集成了多种外部工具,例如词典、翻译网站等,方便用户进行更深入的学习和使用。Pot 使用 Tauri 框架构建,以 Rust 和 JavaScript 为核心,并提供丰富的功能,例如自定义翻译引擎、快捷键设置、OCR 识别等。
* [open-mmlab/mmocr](https://github.com/open-mmlab/mmocr) OpenMMLabMMOCR 是一个开源的文本检测、识别和理解工具箱,包含了多种先进的算法模型,可以用于各种文本相关任务,例如场景文本检测、识别、端到端文本识别等。MMOCR 基于 PyTorch 构建,提供易于使用的接口和丰富的功能,包括模型训练、评估、推理和部署等。该项目还提供了一系列预训练模型和数据集,方便用户快速上手。
* [faustomorales/keras-ocr](https://github.com/faustomorales/keras-ocr) keras-ocr是一个基于 Keras 的 OCR 工具包,它整合了 CRAFT 文本检测模型和 CRNN 文本识别模型,提供了一个高层 API 用于训练文本检测和 OCR 管道。它支持 Python 3.6+ 和 TensorFlow 2.0+,并提供预训练的模型,方便用户快速使用。该项目还提供了一些性能指标,与其他云 OCR API 进行比较,用户可以根据自己的需求选择合适的工具。
* [mindee/doctr](https://github.com/mindee/doctr) docTR是一个基于深度学习的OCR库,提供高效且易于访问的OCR相关任务解决方案。它采用两阶段方法:文本检测(定位单词)和文本识别(识别单词中的所有字符)。用户可以选择不同的文本检测和文本识别架构,并使用预训练模型进行端到端OCR。该库支持从PDF或图像中读取文档,并提供处理旋转文档的功能。
* [chineseocr/chineseocr](https://github.com/chineseocr/chineseocr) 这是一个基于YOLO3和CRNN的中文自然场景文字识别项目,支持文字方向识别、文字检测和识别、不定长OCR识别等功能,并提供Darknet、OpenCV DNN、Keras等多种框架的模型训练和部署方案。项目提供预训练模型,并支持CPU和GPU部署,方便用户快速上手使用。
* [VikParuchuri/surya](https://github.com/VikParuchuri/surya) 90+ 种语言的 OCR、布局分析、读取顺序、表格识别。它做到了:90+ 种语言的 OCR,与云服务相比具有优势;任何语言的行级文本检测;布局分析(表格、图像、标题等检测);读取顺序检测;表识别(检测行/列)。
* [conjuncts/gmft](https://github.com/conjuncts/gmft) GMFT 是一个用于将 PDF 转换为多种格式的表格的工具包。它是轻量级、模块化和高性能的。它依赖于 Microsoft 的 Table Transformers,从质量上讲,它是众多替代方案中性能最高、最可靠的。
* [PaddlePaddle/PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) 很棒的基于PaddlePaddle的多语言OCR工具包(实用的超轻量级OCR系统,支持80+语言识别,提供数据标注和合成工具,支持服务器、移动、嵌入式和物联网设备之间的训练和部署)
* [JiaquanYe/TableMASTER-mmocr](https://github.com/JiaquanYe/TableMASTER-mmocr) 将表格内容识别任务分为四个子任务:表格结构识别、文本行检测、文本行识别和框分配。 基于 MASTER,我们提出了一种新颖的表结构识别架构,我们称之为 TableMASTER。
* [lukas-blecher/LaTeX-OCR](https://github.com/lukas-blecher/LaTeX-OCR) pix2tex:使用ViT将方程式图像转换为LaTeX代码。目标是创建一个基于学习的系统,该系统获取数学公式的图像并返回相应的LaTeX代码。
* [phamquiluan/PubLayNet](https://github.com/phamquiluan/PubLayNet) PubLayNet数据集上的MaskRCNN。段落检测、表格检测、图形检测... 个大型文档图像数据集,其布局使用边界框和多边形分割进行标注。
* [hiroi-sora/Umi-OCR](https://github.com/hiroi-sora/Umi-OCR) 开源、免费的离线OCR软件。支持截屏/粘贴/批量导入图片,段落排版/排除水印,扫描/生成二维码。内置多国语言库。
* [JaidedAI/EasyOCR](https://github.com/JaidedAI/EasyOCR) 即用型 OCR,支持 80 多种语言和所有流行的书写脚本,包括拉丁文、中文、阿拉伯文、天城文、西里尔文等。
* [JiaquanYe/MASTER-mmocr](https://github.com/JiaquanYe/MASTER-mmocr) 本项目是 MMOCR 对 MASTER: Multi-Aspect Non-local Network for Scene Text Recognition (场景文本识别)的重新实现。
* [breezedeus/Pix2Text](https://github.com/breezedeus/Pix2Text) Pix 输入、Latex 和文本输出。从图像中识别中文、英文文本和数学公式。支持80+种语言。
* [Layout-Parser/layout-parser](https://github.com/Layout-Parser/layout-parser) 基于深度学习的文档图像分析的统一工具包,旨在简化文档图像分析 (DIA) 任务。
* [Ucas-HaoranWei/GOT-OCR2.0](https://github.com/Ucas-HaoranWei/GOT-OCR2.0) 通用 OCR 理论的官方代码实现:通过统一的端到端模型迈向 OCR-2.0
* [ocrmypdf/OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF) 为扫描的 PDF 文件添加OCR 文本图层,允许对其进行搜索
* [RapidAI/RapidOCR](https://github.com/RapidAI/RapidOCR) 基于 PaddleOCR & OnnxRuntime & OpenVINO 的跨平台 OCR
* [naptha/tesseract.js](https://github.com/naptha/tesseract.js) 支持 100 多种语言的纯 Javascript OCR
* [ouyanghuiyu/chineseocr_lite](https://github.com/ouyanghuiyu/chineseocr_lite) 超轻量级中文ocr
* [breezedeus/cnocr](https://github.com/breezedeus/cnocr) cnocr
## 其他_机器视觉
* [alyssaxuu/screenity](https://github.com/alyssaxuu/screenity) 免费且隐私友好的屏幕录像机,没有限制。功能强大的隐私友好型屏幕录像机和注释工具,可为工作、教育等制作更好的视频。您可以创建令人惊叹的产品演示、教程、演示文稿或与您的团队分享反馈 - 所有这些都是免费的。特征:对您的选项卡、特定区域、桌面、任何应用程序或相机进行无限制的记录;录制麦克风或内部音频,并使用一键通等功能;通过在屏幕上的任意位置绘图、添加文本、箭头、形状等进行注释;使用 AI 驱动的相机背景或模糊来增强您的录制效果;平滑放大录音以专注于特定区域;模糊任何页面的任何敏感内容以保持其私密性;使用全面的编辑器删除或添加音频、剪切、修剪或裁剪您的录音;突出显示您的点击和光标,然后进入聚光灯模式;设置闹钟以自动停止录制;导出为 mp4、gif 和 webm,或将视频直接保存到 Google 云端硬盘以共享链接;设置倒计时、隐藏 UI 的某些部分或将其移动到任何位置;只有您可以看到您的视频,我们不会收集您的任何数据。您甚至可以离线;没有限制,随心所欲地制作任意数量的视频;还有更多 - 全部免费,无需登录
* [sz3/libcimbar](https://github.com/sz3/libcimbar) libcimbar是一个优化实现的彩色图标矩阵条码库,它可以实现高达 850kb/s (~106KB/s) 的数据传输速度,仅需使用电脑显示器和手机摄像头。该库使用彩色图标矩阵作为编码方式,并结合 Reed Solomon 纠错码来处理视频解码过程中的数据丢失。libcimbar 还包含一个简单的文件编码协议,基于喷泉码 (wirehair) 和 zstd 压缩,可以编码高达 33MB 的文件(压缩后),并通过一系列 cimbar 码输出为图像或实时视频流。即使图像接收顺序混乱,或部分图像损坏或丢失,也可以成功重建和解压缩文件。该库使用 C++ 编写,并在 amd64+linux、arm64+android(仅解码器)和 emscripten+WASM(仅编码器)上开发和测试。由于编码器可以编译为 asmjs 和wasm,因此可以在任何具有现代 Web 浏览器的地方运行。该库依赖于 OpenCV、GLFW、base、catch2、concurrentqueue、cxxopts、fmt、intx、libcorrect、libpopcnt、PicoSHA2、stb_image、wirehair 和 zstd 等库。
* [facebookresearch/NeuralCompression](https://github.com/facebookresearch/NeuralCompression) NeuralCompression是一个专注于神经网络数据压缩研究的Python库,包含JAX熵编码器、图像压缩模型、视频压缩模型以及图像和视频评估指标等工具。该项目处于积极开发阶段,提供PyPI和开发模式安装方式。项目采用双层结构,`neuralcompression` 包含核心工具,`projects`包含用于复现论文和训练基线的代码,方便快速迭代和复现。`neuralcompression` 包含数据加载器、概率模型扩展、图像扭曲方法、信息成本计算、模型构建块、性能评估指标、完整压缩模型和优化工具等模块。`projects` 包含使用扩散模型进行bits-back编码的代码、基于JAX的算术编码和ANS实现、以及用于视频压缩的VCT和用于图像压缩的MS-ILLM等模型的代码。
* [epezent/implot](https://github.com/epezent/implot) ImPlot是一个基于 Dear ImGui 的即时模式 GPU 加速绘图库,旨在为 ImGui 用户提供一流的 API。它非常适合实时可视化程序数据或创建交互式图表,并且只需很少的代码即可集成。与 ImGui 一样,它不依赖于 GUI 状态管理,避免使用 STL容器和 C++ 头文件,并且除了 ImGui 本身之外没有其他外部依赖项。ImPlot 支持多种绘图类型,包括折线图、阴影图、散点图、条形图、误差条、茎叶图、阶梯图、饼图、热图、直方图、图像等,并提供缩放、平移、框选、自动拟合数据等交互功能。它还支持自定义数据获取器和数据跨步,以及多种样式选项,例如标记类型、标记大小、线宽、轮廓颜色、填充颜色等。
* [JohannesBuchner/imagehash](https://github.com/JohannesBuchner/imagehash) ImageHash是一个用 Python 编写的图像哈希库,支持多种哈希算法,包括平均哈希、感知哈希、差值哈希、小波哈希、HSV 颜色哈希和抗裁剪哈希。这些算法分析图像的亮度结构(不包含颜色信息)或颜色分布(不包含位置信息),用于判断两张图像是否相似。该库基于 PIL/Pillow Image、numpy 和 scipy.fftpack,可以通过 `pip install imagehash`安装。可以通过 `hash = imagehash.average_hash(Image.open('tests/data/imagehash.png'))` 获取图像的哈希值,并使用 `hash - otherhash` 计算两个哈希值的汉明距离,以判断图像的相似程度。该库还提供了一个演示脚本 `find_similar_images` 用于查找目录中相似的图像。
* [GraphiteEditor/Graphite](https://github.com/GraphiteEditor/Graphite) Graphite是一个免费开源的2D矢量和光栅图形编辑器,它结合了传统的图层和工具,并采用了现代的基于节点的非破坏性程序化工作流程。目前,Graphite是一个轻量级的矢量图形编辑器,可在浏览器中运行。其基于节点的合成器允许您应用图像效果,并与生成式AI共同创作艺术作品。Graphite的路线图包括照片编辑、数字绘画、桌面出版、VFX合成和动态图形等功能,使其成为一款功能强大的内容创作工具。您可以在Graphite编辑器的网站上查看最新版本,并加入Discord社区与开发团队交流。如果您是Rust或Web开发人员,可以参与项目开发,并通过捐赠支持项目。
* [ImageMagick/ImageMagick](https://github.com/ImageMagick/ImageMagick) ImageMagick® 是一个免费的开源软件套件,用于编辑和操作数字图像。它可用于创建、编辑、合成或转换位图图像,并支持多种文件格式,包括 JPEG、PNG、GIF、TIFF 和 PDF。ImageMagick 广泛应用于 Web 开发、平面设计和视频编辑等行业,以及科学研究、医学成像和天文学。其多功能性和可定制性,以及强大的图像处理能力,使其成为各种图像相关任务的热门选择。ImageMagick 包括一个用于执行复杂图像处理任务的命令行界面,以及用于将其功能集成到软件应用程序中的 API。它是用 C 语言编写的,可以在各种操作系统上使用,包括 Linux、Windows 和 macOS。
* [thumbor/awesome-thumbor](https://github.com/thumbor/awesome-thumbor) awesome-thumbor是一个每周更新的精选列表,包含 66 个开源的 Thumbor 扩展项目,总计拥有 13K 个星标。项目根据项目质量评分进行排名,该评分基于从 GitHub 和不同包管理器自动收集的各种指标计算得出。如果您想添加或更新项目,可以随时打开一个 issue、提交一个 pull request 或直接编辑 projects.yaml 文件。贡献者非常欢迎!该列表涵盖了 Thumbor 的核心项目、图像存储、图像加载器、图像引擎、人脸和特征检测、过滤器、优化器、指标提供者、Python、PHP、Javascript、Java、Ruby 集成和 URL 生成、自定义 URL 签名器、托管 Thumbor 以及其他项目。
* [imageio/imageio](https://github.com/imageio/imageio) Imageio是一个成熟的 Python 库,用于简化图像和视频数据的读写操作,支持动画图像、视频、体积数据和科学格式等多种类型。它跨平台,支持 Python 3.9+,易于安装。Imageio 提供简洁的 API,只需记住几个核心函数:imread()用于读取,imwrite() 用于写入,imiter() 用于迭代图像序列,improps() 用于获取标准化元数据,immeta() 用于获取格式特定元数据,imopen() 用于高级用法。Imageio 支持超过 295 种格式,并能读取/写入各种资源(文件、URL、字节、类文件对象等)。它具有高代码质量和大型测试套件,包括功能测试、回归测试和集成测试。
* [wang-bin/QtAV](https://github.com/wang-bin/QtAV) QtAV是一个基于Qt和FFmpeg的跨平台高性能音视频播放框架,支持硬件解码(DXVA2、VAAPI、VDA/VideoToolbox、CedarX、CUDA)、OpenGL和ES2渲染,提供实时预览、视频捕获、OSD、自定义滤镜、字幕轨道选择、逐帧播放、播放速度控制、多种流媒体协议支持、音频通道和轨道选择、动态渲染引擎切换、动态视频解码器切换、多视频输出、视频均衡器、QML支持等功能,并可扩展解码器、音频输出等组件。QtAV支持Qt4和Qt5,FFmpeg(u003e=1.0)和Libav(u003e=9.0),推荐使用最新版本的FFmpeg。开发者可以使用QtAV轻松编写媒体播放器,并可将其应用于QML项目。
* [gyroflow/gyroflow](https://github.com/gyroflow/gyroflow) Gyroflow是一款使用陀螺仪数据稳定视频的应用程序。它利用现代相机(如 GoPro、Sony、Insta360 等)内置的运动数据,通过精确的算法稳定拍摄的画面。它还可以使用来自外部来源的陀螺仪数据(例如,来自 Betaflight 黑匣子)。该软件支持实时预览、参数调整、GPU 处理和渲染、滚动快门校正、视频编辑插件、索尼元数据支持、GoPro 超级稳定视频支持、10 位视频渲染、镜头校正、渲染队列、关键帧、自定义设置预设、陀螺仪数据可视化图表、水下视频支持、现代响应式用户界面、自适应缩放、缩放限制、图像序列支持等功能。
* [HandBrake/HandBrake](https://github.com/HandBrake/HandBrake) HandBrake是一个开源的视频转码器,可在 Linux、Mac 和 Windows 上使用,它基于 GNU 通用公共许可证 (GPL) 版本 2。HandBrake可以将您现有的视频转换为适用于手机、平板电脑、电视媒体播放器、游戏机、电脑或网页浏览器等设备的格式。HandBrake支持大多数常见的视频文件和格式,包括消费级和专业视频摄像机、手机和平板电脑等移动设备、游戏和电脑屏幕录制以及 DVD 和蓝光光盘。HandBrake 利用 FFmpeg、x264 和 x265 等工具从这些来源创建新的 MP4 或 MKV 视频文件。有关下载、构建/安装和使用 HandBrake 的信息,请参阅官方 HandBrake 文档。
* [photoview/photoview](https://github.com/photoview/photoview) Photoview是一款简单易用的自托管照片库,专为摄影师设计,旨在提供一种快速简便的方式来浏览包含数千张高分辨率照片的目录。您可以配置 Photoview 在文件系统上的目录中查找照片和视频。扫描器会自动识别您的媒体并开始生成缩略图,从而实现超快的浏览速度。扫描完媒体后,它们会显示在网站上,并按照与文件系统相同的组织方式排列。 Photoview 支持用户管理,每个用户都与本地文件系统上的路径相关联,该用户可以访问该路径中的照片。此外,Photoview 还支持共享功能,可以轻松地与他人共享相册和单个媒体。
* [rhsimplex/image-match](https://github.com/rhsimplex/image-match) image-match是一个用于从海量图像库中快速查找近似匹配图像的Python包,类似于pHash,但它包含一个数据库后端,可以轻松扩展到数十亿张图像,并支持高达10,000张图像/秒的持续高图像插入速率。该算法旨在查找几乎重复的图像,例如版权侵权检测,不适合查找概念上相似的图像。基于Wong et al.的论文《_An image signaturefor any kind of image_》,并提供一个现有的[参考实现](https://www.pureftpd.org/project/libpuzzle)。[Pavlov](https://usepavlov.com/)团队发布了一个优秀的[image-match容器化版本](https://github.com/pavlovml/match),方便扩展和部署。
* [luispedro/mahotas](https://github.com/luispedro/mahotas) Mahotas是一个用Python编写的快速计算机视觉库,底层算法使用C++实现,以提高速度。它基于NumPy数组进行操作,提供超过100个图像处理和计算机视觉函数,并不断更新。Mahotas支持Python 2.7和3.4+版本,包含诸如分水岭算法、凸点计算、形态学操作、特征提取(Zernike、Haralick、LBP、TAS)、SURF特征、阈值化、卷积、Sobel边缘检测、样条插值和SLIC超像素等功能。它以每月发布新版本,并提供稳定且高效的接口,即使是多年以前的代码也能在最新版本中正常运行。如果你在出版物中使用Mahotas,请引用相关论文。
* [libvips/pyvips](https://github.com/libvips/pyvips) pyvips是一个使用 cffi 为 libvips 图像处理库提供的 Python 绑定,它允许用户通过构建图像处理操作管道来高效地处理图像。pyvips利用 libvips 的并行处理能力,可以快速处理图像,并且由于它不需要将整个图像存储在内存中,因此内存占用量很小。pyvips 支持 API 模式和 ABI 模式,API 模式需要 libvips 开发头文件和 C 编译器,而 ABI 模式仅需要 libvips 共享库。pyvips 经过测试,可以在 Windows、macOS 和 Linux 上与 Python3 和 pypy3 兼容。用户可以通过 pip 安装预编译的二进制包或手动安装 libvips 共享库来使用 pyvips。
* [lightly-ai/lightly](https://github.com/lightly-ai/lightly) Lightly是一个用于图像自监督学习的Python库。它提供了一个模块化的框架,包含低级构建块,如损失函数和模型头,易于使用,并支持自定义主干模型进行自监督预训练。该库支持使用PyTorch Lightning进行分布式训练,并提供各种自监督学习模型,包括AIM、Barlow Twins和BYOL,并提供PyTorch、PyTorch Lightning和PyTorch Lightning分布式示例。此外,Lightly还提供了一个完整的平台,包含用于主动学习和数据整理的额外功能,以及用于轻松处理数百万个样本和运行强大算法的Lightly Worker解决方案。
* [kakaobrain/fast-autoaugment](https://github.com/kakaobrain/fast-autoaugment) Fast AutoAugment是一个基于 PyTorch 的开源项目,它使用一种更有效的基于密度匹配的搜索策略来学习数据增强策略,并显著加快了搜索速度,同时保持了与 AutoAugment 相当的性能。该项目在 CIFAR-10/100 和 ImageNet 数据集上进行了测试,与 AutoAugment相比,搜索时间分别缩短了 1428 倍和 33 倍,同时取得了相当的性能。例如,在 CIFAR-10 数据集上,使用 Wide-ResNet-40-2 模型,Fast AutoAugment 的搜索时间仅为 3.5 个 GPU 小时,而 AutoAugment 则需要 5000 个 GPU 小时。该项目还提供了预训练模型供下载。
* [brutella/hkcam](https://github.com/brutella/hkcam) hkcam是一个开源的 HomeKit IP 摄像头实现,它使用 ffmpeg访问摄像头流,并通过 hap 库将流发布到 HomeKit。摄像头流可以在 HomeKit 应用中查看,例如 Home+ 应用。它支持实时流、多流、持久快照、内置 Web 界面,可在 Raspberry Pi OS和 macOS 等多个平台上运行。您可以使用内置摄像头或 USB 摄像头,例如 ELP 1080P USB 摄像头,在 Raspberry Pi上创建自己的监控摄像头。安装步骤包括下载并运行 Raspberry Pi Imager,连接摄像头和电源,通过 SSH 连接到 Raspberry Pi,安装 ffmpeg 和 v4l2loopback 模块。
* [GuidoBartoli/sherloq](https://github.com/GuidoBartoli/sherloq) Sherloq是一个开源的数字图像取证工具集,旨在提供一个完整的集成环境,用于数字图像取证分析。它不是一个自动判断图像真伪的工具,而是一个辅助工具,用于实验最新的研究论文和研讨会中发现的各种算法。Sherloq旨在成为一个可扩展的框架,也是一个起点,供任何对数字信号处理的特定应用感兴趣的人进行实验。该工具集提供现代的Qt-based GUI,支持多种图像格式,并包含许多最先进的算法,可用于交互式实验。用户可以导出分析结果,包括视觉和文本形式。
* [jitsi/jitsi-meet](https://github.com/jitsi/jitsi-meet) Jitsi Meet是一个开源视频会议平台,提供高质量的视频会议体验,支持所有主流浏览器和移动设备,并提供 Web 和原生 SDK 以便集成到其他应用程序。用户可以使用 Jitsi Meet 进行高清音频和视频通话,共享内容,进行投票,使用虚拟背景等。用户可以免费使用 JitsiMeet 的公共服务,也可以自行部署 Jitsi Meet 实例,并通过 JaaS (Jitsi as a Service) 服务获得企业级视频会议解决方案。JitsiMeet 致力于安全性和隐私保护,提供端到端加密功能,并提供详细的文档和安全信息。
* [openvinotoolkit/openvino_notebooks](https://github.com/openvinotoolkit/openvino_notebooks) OpenVINO™ Notebooks 是一个包含可运行 Jupyter 笔记本的资源库,用于学习和实验OpenVINO™ 工具包。这些笔记本提供了 OpenVINO 基础知识的介绍,并指导开发者如何利用 OpenVINO API 来优化深度学习推理。该项目提供 Windows、Ubuntu、macOS、Red Hat、CentOS、Azure ML、Docker 和 Amazon SageMaker 等平台的安装指南,并包含详细的运行说明和故障排除指南。用户可以通过 GitHub Pages 应用程序浏览OpenVINO™ Notebooks 内容,并访问所有笔记本的索引文件。
* [keras-team/keras-cv](https://github.com/keras-team/keras-cv) KerasCV是一个基于 Keras 3 的模块化计算机视觉库,支持 TensorFlow、JAX 和 PyTorch,可用于数据增强、分类、目标检测、分割、图像生成等常见计算机视觉任务。它提供了一系列预训练模型和组件,可帮助开发者快速构建生产级的计算机视觉应用。用户可以通过设置 `KERAS_BACKEND` 环境变量来选择使用不同的深度学习框架。KerasCV 的组件与 Keras API 相兼容,并提供与核心 Keras API 相同的质量保证和向后兼容性。
* [ImageOptim/ImageOptim](https://github.com/ImageOptim/ImageOptim) ImageOptim是一款 Mac 平台的图形界面图像优化工具,它整合了 Zopfli、PNGOUT、OxiPNG、AdvPNG、PNGCrush、JPEGOptim、Jpegtran、Guetzli、Gifsicle、SVGO、svgcleaner 和 MozJPEG 等无损图像优化工具,可以有效地减小图片文件大小,同时保持图片质量。该项目使用 Rust 语言开发,需要 Xcode 和 Rustup 环境。用户可以通过 Xcode 打开项目进行编译,如果遇到构建错误,可以尝试更新子模块或清理并重新编译相关工具。
* [TagStudioDev/TagStudio](https://github.com/TagStudioDev/TagStudio) TagStudio是一个以用户为中心的图片和文件管理系统,它提供了一种灵活自由的组织方式,不依赖于专有程序或格式,也不需要创建大量的辅助文件或改变文件系统结构。它支持标签组合功能,可以创建可被标记的标签,并能有效地管理大型文件库。TagStudio目前仍处于早期开发阶段,但它承诺不会修改或移动用户的文件,并确保数据在不同版本之间安全无缝地迁移。
* [kornelski/pngquant](https://github.com/kornelski/pngquant) pngquant是一个无损 PNG 压缩工具,通过将图像转换为更有效的 8 位PNG 格式(通常比 24/32 位 PNG 文件小60-80%)来显著减小文件大小。压缩后的图像完全符合标准,并受所有 Web 浏览器和操作系统的支持。该项目提供命令行工具和可嵌入库 libimagequant,支持高品质调色板生成、可配置的质量级别、快速现代代码,并提供多种选项控制压缩速度、质量、抖动等参数。
* [NVIDIA/warp](https://github.com/NVIDIA/warp) Warp 是一个用于编写高性能模拟和图形代码的 Python 框架。Warp 采用常规的 Python 函数,并对其进行 JIT 编译为可以在 CPU 或 GPU 上运行的高效内核代码。Warp 专为空间计算而设计,并附带一组丰富的基元,使编写用于物理模拟、感知、机器人和几何处理的程序变得容易。此外,Warp 内核是可微分的,可以用作具有 PyTorch 和 JAX 等框架的机器学习管道的一部分。
* [hybridgroup/gocv](https://github.com/hybridgroup/gocv) GoCV是一个 Go 语言库,它为 OpenCV 4 及更高版本提供绑定,支持 DNN、CUDA、OpenCV Contrib 和 OpenVINO。GoCV 支持在 Linux、macOS 和 Windows 上使用最新的 Go 和 OpenCV 版本,旨在使 Go 语言成为 OpenCV 生态系统中的一流客户端。GoCV 支持 CUDA,利用 Nvidia GPU 进行硬件加速,并支持 Intel OpenVINO。GoCV 提供了丰富的示例,包括视频读取、人脸检测等,方便用户快速上手。
* [darktable-org/darktable](https://github.com/darktable-org/darktable) Darktable 是一个开源摄影工作流程应用程序和 RAW 开发人员。Darktable 是一个开源摄影工作流程应用程序和非破坏性 RAW 开发人员 - 摄影师的虚拟 LightTable 和暗室。它在数据库中管理您的数字底片,让您可以通过可缩放的光照表查看它们,并使您能够开发原始图像、增强它们并将它们导出到本地或远程存储。darktable 不是免费的 Adobe® Lightroom® 替代品。
* [LibrePhotos/librephotos](https://github.com/LibrePhotos/librephotos) LibrePhotos是一个自托管的开源照片管理服务,支持各种照片和视频类型,包括原始照片。它通过扫描文件系统,利用面部识别、反向地理编码、对象/场景检测等技术,自动生成相册(例如“柏林周四”),并提供时间轴视图、多用户支持和语义图像搜索等功能。其底层技术栈包括ImageMagick、FFmpeg、ExifTool、face_recognition、scikit-learn等。
* [opencv/opencv-python](https://github.com/opencv/opencv-python) 该项目提供预编译的 opencv-python、opencv-python-headless、opencv-contrib-python 和 opencv-contrib-python-headless 包,方便用户在不同环境下使用 OpenCV 库。项目支持多种平台,包括 Windows、macOS 和 Linux,并提供 headless 版本,适用于服务器或无 GUI 环境。用户可以通过 pip 安装对应版本的包,并使用 `import cv2` 导入库,即可开始使用 OpenCV 的各种功能。
* [ArduPilot/ardupilot](https://github.com/ArduPilot/ardupilot) 最先进、功能最全、最可靠的开源自动驾驶软件。自 2010 年以来,它一直由专业工程师、计算机科学家和社区贡献者组成的多元化团队开发。我们的自动驾驶软件能够控制几乎任何可以想象的车辆系统,从传统飞机、四架飞机、多旋翼和直升机到漫游车、船只、平衡机器人,甚至潜艇。它正在不断扩展,为新的车辆类型提供支持。
* [emcconville/wand](https://github.com/emcconville/wand) Wand是一个基于 ctypes 的简单 ImageMagick Python 绑定,支持 Python 2.7、3.3 及以上版本以及 PyPy。它实现了 MagickWandAPI 的所有功能,可以方便地使用 Python 进行图像处理。用户可以通过 pip 安装 Wand 包,也可以从 GitHub 仓库获取最新版本。Wand 提供了丰富的文档和社区支持,包括网站、GitHub、Discord 频道、Stack Overflow 标签、持续集成平台等。
* [facebookresearch/dinov2](https://github.com/facebookresearch/dinov2) 在没有监督的情况下学习强大的视觉特征,DINOv2 模型可产生高性能的视觉特征,这些特征可以直接与分类器一起使用,就像在各种计算机视觉任务中执行线性层一样简单;这些视觉功能非常强大,并且在各个领域中表现良好,无需任何微调。这些模型在包含 142 M 张图像的数据集上进行了预训练,没有使用任何标签或注释。
* [nimiq/qr-scanner](https://github.com/nimiq/qr-scanner) 这是一个轻量级JavaScript二维码扫描器,基于Google的ZXing库,支持摄像头扫描和单张图片扫描,并利用浏览器原生BarcodeDetector API(如果可用)提高性能和准确率。相比其他同类库,它具有更高的检测率和更低的误读率,体积小巧,运行在WebWorker中,保持主线程响应迅速,并可配置以优化彩色二维码的扫描效果。
* [rom1504/img2dataset](https://github.com/rom1504/img2dataset) img2dataset是一个Python库,能高效地将大量的图片URL转换成图像数据集,支持下载、调整大小和打包,单机可在20小时内处理1亿个URL。它还支持保存图片的描述信息,并提供多种预设数据集下载示例,例如MS-COCO、LAION-400M等,方便用户快速构建大型图像数据集,并可通过设置忽略包含特定HTTP头的图片。
* [kornia/kornia](https://github.com/kornia/kornia) 基于 PyTorch 的可微分(differentiable)的计算机视觉开源库, 实现了:可微的基础计算机视觉算子、可微的数据增广。OpenCV 和 PIL 都是不可微的,所以这些处理都只可以作为图像的预处理而无法通过观察梯度的变化来对这些算子进行优化 (gradient-based optimization),因此Kornia 便应运而生。
* [libvips/libvips](https://github.com/libvips/libvips) 一个需求驱动的水平线程图像处理库。与类似的库相比,libvips 运行速度快,占用内存很少。涵盖算术、直方图、卷积、形态操作、频率过滤、颜色、重采样、统计等。它支持从 8 位 int 到 128 位复数的大量数值类型。影像可以具有任意数量的波段。它支持多种图像格式。
* [holoviz/datashader](https://github.com/holoviz/datashader) Datashader是一个用于将大型数据集快速准确地渲染成图像的库,它将图像创建过程分为三个步骤:投影、聚合和转换。Datashader可用于创建各种数据可视化,并可以与其他绘图库结合使用,以处理更大的数据集。Datashader 支持 Python 3.9及更高版本,并可通过 pip 或 conda 安装。
* [CapSoftware/Cap](https://github.com/CapSoftware/Cap) Cap 是一个开源的 Loom 替代品,允许你快速录制、编辑和分享屏幕视频。该项目目前处于公测阶段,支持 macOS 和 Web 版本,Windows 和 Linux 版本正在开发中。Cap 使用 Rust、React、TypeScript、Tauri、Drizzle ORM、MySQL 和 TailwindCSS 构建。你可以通过 Discord 加入社区帮助测试和贡献。
* [Thinklab-SJTU/ThinkMatch](https://github.com/Thinklab-SJTU/ThinkMatch) 深度图匹配算法 图形匹配(GM)是计算机视觉,模式识别和数据挖掘中一个基本但具有挑战性的问题。GM旨在通过解决称为二次分配问题(QAP)的NP硬组合问题来找到多个图之间的节点到节点对应关系。应用:桥接电影和简介、图像对应、分子匹配
* [open-mmlab/mmcv](https://github.com/open-mmlab/mmcv) MMCV 是计算机视觉研究的基础库,它提供以下功能:通用 IO API、图像/视频处理、图像和注释可视化、有用的实用程序(进度条,计时器,...)、具有挂钩机制的 PyTorch runner、各种CNN架构、CPU 和 CUDA 操作的高质量实现。
* [thumbor/thumbor](https://github.com/thumbor/thumbor) globo.com 的开源照片缩略图服务,智能成像服务,可实现按需裁剪、调整大小、应用滤镜和优化图像。自动裁剪照片可能是一种令人沮丧的体验,涉及断头。thumbor 使用 AI 进行智能检测。
* [image-rs/image](https://github.com/image-rs/image) 在 Rust 中编码和解码图像,提供了基本的图像处理功能和方法,用于在各种图像格式之间进行转换。提供的所有图像处理函数都对实现 GenericImageView 和 GenericImage 特征并返回 ImageBuffer .
* [taichi-dev/taichi](https://github.com/taichi-dev/taichi) 高效且可移植的 Python 高性能编程。该语言具有广泛的应用,包括实时物理模拟、数字计算、增强现实、人工智能、视觉和机器人技术、电影和游戏中的视觉效果、通用计算等等。
* [Charmve/computer-vision-in-action](https://github.com/Charmve/computer-vision-in-action) 学习闭环《计算机视觉实战演练:算法与应用》中文电子书、源码、读者交流社区 [计算机视觉实战演练:算法与应用🌱](https://charmve.github.io/computer-vision-in-action/)
* [xbmc/xbmc](https://github.com/xbmc/xbmc) 屡获殊荣的免费开源家庭影院/媒体中心软件和数字媒体娱乐中心。凭借其漂亮的界面和强大的皮肤引擎。
* [python-pillow/Pillow](https://github.com/python-pillow/Pillow) Jeffrey A. Clark (Alex) 和贡献者推出的友好 PIL 叉。PIL 是 Fredrik Lundh 和贡献者开发的 Python 图像库。
* [spmallick/learnopencv](https://github.com/spmallick/learnopencv) 此存储库包含博客 LearnOpenCV.com 上共享的计算机视觉、深度学习和 AI 文章的代码。
* [WangWenhao0716/ISC-Track2-Submission](https://github.com/WangWenhao0716/ISC-Track2-Submission) [NeurIPS Challenge Rank 3rd] 重现 Image Similarity Challenge Track 2 结果的代码和相关文件。
* [extreme-assistant/CVPR2021-Paper-Code-Interpretation](https://github.com/extreme-assistant/CVPR2021-Paper-Code-Interpretation) cvpr2021 cvpr2020 cvpr2019 cvpr2018 cvpr2017 论文/代码/解读/直播合集,极市团队整理
* [esimov/caire](https://github.com/esimov/caire) 基于 Seam Carving for Content-Aware Image Adjustment 的内容感知图像大小调整库。
* [pytorch/vision](https://github.com/pytorch/vision) 由流行的数据集、模型架构和用于计算机视觉的常见图像转换组成。
* [google-research/scenic](https://github.com/google-research/scenic) Scenic:用于计算机视觉研究及其他领域的 Jax 库
* [facebookresearch/AugLy](https://github.com/facebookresearch/AugLy) 用于音频、图像、文本和视频的数据增强库。
* [neutraltone/awesome-stock-resources](https://github.com/neutraltone/awesome-stock-resources) 免费图库摄影、视频和插图网站的链接集合
* [kjw0612/awesome-deep-vision](https://github.com/kjw0612/awesome-deep-vision) 用于计算机视觉的深度学习资源精选列表
* [Curzibn/Luban](https://github.com/Curzibn/Luban) 可能是最接近微信朋友圈的图片压缩算法
* [jbhuang0604/awesome-computer-vision](https://github.com/jbhuang0604/awesome-computer-vision) 令人敬畏的计算机视觉资源的精选列表
* [vdumoulin/conv_arithmetic](https://github.com/vdumoulin/conv_arithmetic) 深度学习背景下卷积算法的技术报告
* [cbh123/emoji](https://github.com/cbh123/emoji) 使用 AI 为 Slack 制作表情符号
* [amusi/CVPR2023-Papers-with-Code](https://github.com/amusi/CVPR2023-Papers-with-Code) CVPR 2023 论文和开源项目合集
* [opencv/opencv](https://github.com/opencv/opencv) 开源计算机视觉库
## 图像恢复
* [k4yt3x/video2x](https://github.com/k4yt3x/video2x) 基于机器学习的无损视频超分辨率框架。Est. Hack the Valley II,2018 年。版本 6.0.0 是该项目用 C/C++ 完全重写的版本。它:这次实际上有效,痛苦更少(与 5.0.0 测试版相比);得益于重新设计的高效管道和 C/C++ 的速度,速度极快;是跨平台的,现在可用于 Windows 和 Linux;使用 Anime4K v4 和 RealESRGAN 提供更好的输出质量;支持 Anime4K v4 和所有其他兼容 MPV 的自定义 GLSL 着色器;通过 ncnn 和 Vulkan 支持 RealESRGAN(所有三种型号);需要 0 磁盘空间来处理视频,只需要存储空间来存储最终输出;导出一个标准的 C 函数,可以轻松集成到您自己的项目中!
* [CompVis/taming-transformers](https://github.com/CompVis/taming-transformers) Taming Transformers forHigh-Resolution Image Synthesis是一个用于高分辨率图像合成的项目,它将卷积方法的效率与Transformer的表达能力相结合。该项目引入了卷积VQGAN,它学习一个包含丰富上下文信息的视觉部件代码本,并使用自回归Transformer对这些部件的组合进行建模。该项目提供了预训练模型,包括用于ImageNet、FFHQ和CelebA-HQ的模型,并支持图像补全等功能。用户可以使用conda创建名为taming的环境来安装项目所需的依赖项。该项目还提供了一个Colab快速入门笔记本,方便用户快速上手。
* [catcathh/UltraPixel](https://github.com/catcathh/UltraPixel) UltraPixel 是一个专注于生成超高分辨率图像的项目。它利用一种名为 StableCascade 的技术进行图像合成,使其能够以各种分辨率创建细节丰富且高质量的图像。您可以使用 UltraPixel 进行文本到图像的生成,并提供 Gradio 界面以方便推理。该项目还为不同的分辨率和图像样式提供了预先训练的模型。要开始使用,请安装依赖项,下载预先训练的模型,然后运行推理脚本。为了获得最佳效果,请使用详细的描述性提示,其中包含有关所需图像的具体细节。
* [wwang2/CoarseGrainingVAE](https://github.com/wwang2/CoarseGrainingVAE) 该项目提出了一种基于变分自编码器 (VAE) 的几何生成模型,用于将粗粒化坐标映射回精细坐标,实现分子几何的超分辨率。该模型适用于任意粗粒化映射协议,可以从非常简化的表示中恢复精细结构,并包含必要的几何约束。项目提供了用于 alanine dipeptide和 chignolin 轨迹的实验脚本,支持多种粗粒化方法,可根据需要调整粗粒化分辨率。该模型已在更大的系统和蛋白质上进行测试,例如新冠病毒刺突蛋白。
* [yeates/PromptFix](https://github.com/yeates/PromptFix) PromptFix是一个基于扩散模型的图像修复工具,它可以根据用户的文字描述来修复损坏的图像,例如去除水印、增强低光照、去除物体等。该项目提供了预训练模型、训练和推理代码以及用于训练的图像数据集。PromptFix 使用 20 步去噪过程,能够有效地修复图像缺陷并保留原始结构,并能适应不同比例的图像。该项目还提供了一个包含超过 100 万个样本的训练数据集,每个样本包含配对的图像和文字描述。
* [bytedance/res-adapter](https://github.com/bytedance/res-adapter) ResAdapter是一个即插即用的分辨率适配器,可以使任何扩散模型生成任意分辨率的图像,无需额外训练、推理或风格迁移。该项目提供了一个独立的示例代码,方便用户快速使用 ResAdapter 与扩散模型进行图像生成。ResAdapter 的主要优势在于它能够生成与原始模型一致的图像,并保持其风格和细节。例如,ResAdapter 可以使 DreamShaper XL 生成 640x384 分辨率的图像,而不会影响其图像质量和风格。
* [XPixelGroup/DiffBIR](https://github.com/XPixelGroup/DiffBIR) DiffBIR是一个基于生成扩散先验的盲图像修复模型,它能够处理各种盲图像修复任务,例如去噪、去模糊、超分辨率等。该项目提供预训练模型、推理代码和训练代码,并支持多种设备,包括CPU、CUDA和MPS。DiffBIR采用了一种基于补丁的采样策略,可以有效地降低GPU内存使用,并提供在线演示,方便用户体验。该项目还支持背景上采样,可以进一步提升人脸增强效果。
* [keyu-tian/SparK](https://github.com/keyu-tian/SparK) SparK是首个成功在任意卷积神经网络上进行 BERT/MAE 风格预训练的项目,其 PyTorch 实现基于 ICLR 论文 "Designing BERT forConvolutional Networks: Sparse and Hierarchical Masked Modeling"。该项目以 BERT 风格的自监督方式对任意 CNN(例如 ResNet)进行预训练,代码库简洁、易读、易于理解,并仅依赖于最少的依赖项。SparK 在 ImageNet 上的自监督图像分类方面取得了最先进的结果。
* [bilibili/ailab](https://github.com/bilibili/ailab) 使用百万级动漫数据进行训练的,结构与Waifu2x兼容的通用动漫图像超分辨率模型。它支持2xxx倍超分辨率,其中2倍模型支持4种降噪强度与保守修复,3倍/4倍模型支持2种降噪强度与保守修复。
* [AaronFeng753/Waifu2x-Extension-GUI](https://github.com/AaronFeng753/Waifu2x-Extension-GUI) 视频、图像和GIF放大/放大(超分辨率)和视频帧插值。通过 Waifu2x、Real-ESRGAN、Real-CUGAN、RTX Video Super Resolution VSR、SRMD、RealSR、Anime4K、RIFE、IFRNet、CAIN、DAIN 和 ACNet 实现。
* [sczhou/CodeFormer](https://github.com/sczhou/CodeFormer) 使用 Codebook Lookup Transformer 实现强大的盲脸恢复,增强旧照片/修复 AI 艺术,面部修复,面部颜色增强和修复。[sczhou/CodeFormer](https://huggingface.co/spaces/sczhou/CodeFormer)
* [Sanster/lama-cleaner](https://github.com/Sanster/lama-cleaner) 由 SOTA AI 模型提供支持的图像修复工具。 从照片中删除任何不需要的物体、缺陷、人或擦除和替换(由稳定扩散驱动)你照片上的任何东西。
* [xinntao/Real-ESRGAN-ncnn-vulkan](https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan) Real-ESRGAN 的 NCNN 实现。Real-ESRGAN 旨在开发用于通用图像修复的实用算法。我们还针对动漫图像对其进行了优化。
* [yangxy/GPEN](https://github.com/yangxy/GPEN) 用于脸部高清增强,还能将黑白人物照转成彩色照片。GPEN模型明显优于其他的修复人脸的GAN模型。
* [upscayl/upscayl](https://github.com/upscayl/upscayl) 可让您使用先进的 AI 算法放大和增强低分辨率图像。在不损失质量的情况下放大图像。
* [andreas128/RePaint](https://github.com/andreas128/RePaint) 官方 PyTorch 代码和“重绘:使用去噪扩散概率模型进行修复”模型,CVPR 2022
* [TaoWangzj/Awesome-Face-Restoration](https://github.com/TaoWangzj/Awesome-Face-Restoration) 深层面部修复资源的完整列表 去噪、超分辨率、去模糊和去除伪影
* [saic-mdal/lama](https://github.com/saic-mdal/lama) LaMa 图像修复,具有傅里叶卷积的分辨率稳健的大型蒙版修复
* [JingyunLiang/SwinIR](https://github.com/JingyunLiang/SwinIR) 使用 Swin Transformer 的图像恢复,图像SR图像去噪伪影减少
* [zhangmozhe/Deep-Exemplar-based-Video-Colorization](https://github.com/zhangmozhe/Deep-Exemplar-based-Video-Colorization) 基于深层范例的视频着色,着色时间的连贯性与稳定性
* [xinntao/Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) 旨在开发通用图像恢复的实用算法。
* [nagadomi/waifu2x](https://github.com/nagadomi/waifu2x) 动漫风格艺术的图像超分辨率
* [NVlabs/stylegan2](https://github.com/NVlabs/stylegan2) 分析和改进StyleGAN的图像质量
* [aleju/imgaug](https://github.com/aleju/imgaug) 机器学习实验的图像增强。
* [danielgatis/rembg](https://github.com/danielgatis/rembg) 去除图像背景的工具
* [microsoft/Bringing-Old-Photos-Back-to-Life](https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life) 旧照片修复
## 图像生成
* [Acly/krita-ai-diffusion](https://github.com/Acly/krita-ai-diffusion) 在 Krita 中使用 AI 生成图像的简化界面。使用可选的文本提示进行 Inpaint 和 Outpaint,无需调整。该项目的主要目标是:精度和控制,从文本创建整个图像可能是不可预测的,为了获得您设想的结果,您可以将生成限制为选区,以可变程度的强度优化现有内容,将文本集中在图像区域,并使用参考图像、草图、线条图、深度图等引导生成。工作流集成,大多数图像生成工具都非常关注 AI 参数,该项目旨在成为一个不显眼的工具,与 Krita 中的图像编辑工作流程集成和协同,无缝绘制、绘画、编辑和生成,无需担心分辨率和技术细节。本地、开放、免费,我们致力于开源模型,自定义预设,自带模型,并在您的硬件上本地运行所有内容,云生成也可用于快速启动,无需大量投资。特征:修复:使用选区进行生成式填充、扩展,以添加或删除对象;实时绘画:让 AI 实时解释您的画布以获得即时反馈;放大:在不耗尽内存的情况下将图像放大和丰富到 4k、8k 及以上;Stable Diffusion:支持 Stable Diffusion 1.5 和 XL,对 SD3 的部分支持;ControlNet:涂鸦、线条图、Canny edge、姿势、深度、法线、分割、+更多;IP 适配器:参考图像、样式和构图传输、面部交换;区域:将单个文本描述分配给由图层定义的图像区域;Job Queue:在处理映像时排队和取消生成作业;历史记录:随时预览结果并浏览前几代和提示;强默认值:多功能默认样式预设允许简化 UI;自定义:创建您自己的预设 - 自定义检查点、LoRA、采样器等。
* [Stability-AI/StableCascade](https://github.com/Stability-AI/StableCascade) 该模型建立在 Würstchen 架构之上,它与其他模型(如 Stable Diffusion)的主要区别在于它在更小的潜在空间上工作。为什么这很重要?潜在空间越小,推理运行速度就越快,训练成本就越低。潜空间有多小?Stable Diffusion 使用 8 的压缩系数,导致 1024x1024 图像被编码为 128x128。Stable Cascade 实现了 42 的压缩系数,这意味着可以将 1024x1024 图像编码为 24x24,同时保持清晰的重建。然后,在高度压缩的潜在空间中训练文本条件模型。该架构的早期版本比 Stable Diffusion 1.5 降低了 16 倍的成本。因此,这种模型非常适合效率重要的用途。此外,所有已知的扩展,如微调、LoRA、ControlNet、IP 适配器、LCM 等也可以使用这种方法。其中一些已经在训练和推理部分提供(微调、ControlNet、LoRA)。此外,Stable Cascade 在视觉和评估方面都取得了令人印象深刻的结果。根据我们的评估,在几乎所有比较中,Stable Cascade 在快速对齐和美学质量方面都表现最佳。Stable Cascade 对效率的关注体现在其架构和更高的压缩潜在空间上。模型概述:稳定级联由三个模型组成:A级、B级和C级,代表用于生成图像的级联,因此得名“稳定级联”。A阶段和B阶段用于压缩图像,类似于VAE在稳定扩散中的工作。但是,如前所述,通过此设置,可以实现更高的图像压缩。此外,阶段 C 负责在给定文本提示的情况下生成小型 24 x 24 潜伏。请注意,阶段A是VAE,阶段B和C都是扩散模型。
* [instantX-research/CSGO](https://github.com/instantX-research/CSGO) CSGO:文本到图像生成中的内容样式合成。扩散模型在受控图像生成方面表现出卓越的能力,这进一步激发了人们对图像风格迁移的兴趣。由于特定数据的稀缺性,现有工作主要集中在训练基于自由的方法(例如图像反转)上。在这项研究中,我们提出了一个用于内容风格化图像三元组的数据构建管道,该管道可生成并自动清理风格化数据三元组。基于这个管道,我们构建了一个数据集 IMAGStyle,这是第一个包含 210k 图像三元组的大规模样式迁移数据集,可供社区探索和研究。配备 IMAGStyle,我们提出了 CSGO,这是一种基于端到端训练的风格迁移模型,它通过独立的特征注入显式地解耦内容和风格特征。统一的 CSGO 实现了图像驱动的样式迁移、文本驱动的风格化合成和文本编辑驱动的风格化合成。广泛的实验证明了我们的方法在增强图像生成中的样式控制能力方面的有效性。给定任何内容图像 C 和样式图像 S,CSGO 旨在通过将一张图像的内容与另一张图像的样式相结合来生成合理的目标图像,确保目标图像在采用所需样式的同时保持原始内容的语义。下图概述了我们的方法。它由两个关键组件组成:(1) 用于提取内容信息的内容控制,通过 Controlnet 和解耦的交叉注意力模块注入到基础模型中;(2) 用于提取样式信息的样式控制,分别使用解耦的交叉注意力模块将其注入到 Controlnet 和基本模型中。
* [black-forest-labs/flux](https://github.com/black-forest-labs/flux) FLUX.1 模型的官方推理仓库。FLUX.1 是由 Stable Diffusion 创始团队推出的开源 AI 图像生成模型,拥有 120 亿参数,是迄今为止最大的文生图模型。该模型包含三种变体:顶级性能的 FLUX.1 [pro]、开源非商业用途的 FLUX.1 [dev] 和快速高效的 FLUX.1 [schnell] 。FLUX.1 模型采用了创新的混合架构,融合了多模态处理能力和并行扩散机制的 Transformer 技术,并将其扩展至高达 120 亿个参数。这些模型在训练生成模型时表现出色,能够生成逼真的图像和高度逼真的人体解剖学表现。此外,FLUX.1 在文字生成、复杂指令遵循和人手生成上具备优势。FLUX.1 [pro] 版本专为商业用途设计,提供最先进的图像生成性能,包括顶级的提示词遵循、视觉质量、图像细节和输出多样性。而 FLUX.1 [dev] 版本则以非商业许可的方式开源,适合开发者和研究者使用。FLUX.1 [schnell] 版本则是面向个人开发者使用的极速版本,支持独立部署。总体而言,FLUX.1 在图像质量、提示词的准确跟随、尺寸适应性、排版以及输出的多样性方面,已经超越了市场上的其他流行模型如 Midjourney v6.0、DALL·E 3 (HD) 和 SD3-Ultra 等。这一新模型不仅继承了 Stable Diffusion 的优良基因,更在多个方面实现了重大突破。
* [comfyanonymous/ComfyUI](https://github.com/comfyanonymous/ComfyUI) 功能最强大、模块化最稳定的扩散 GUI,带有图形/节点界面。特征:节点/图形/流程图界面,无需编写任何代码即可试验和创建复杂的稳定扩散工作流程。完全支持 SD1.x、SD2.x、SDXL 和稳定的视频扩散。许多优化:仅重新执行在执行之间更改的工作流部分。命令行选项: --lowvram 使其在 vram 小于 3GB 的 GPU 上运行(在 vram 较低的 GPU 上自动启用)。即使您没有具有以下功能的 GPU,也能正常工作: --cpu (慢速)。可以加载 ckpt、safetensor 和扩散器模型/检查点。独立的 VAE 和 CLIP 型号。嵌入/文本反转。Loras(常规、locon 和 loha)。超网络。从生成的 PNG 文件加载完整的工作流(带有种子)。将工作流保存/加载为 Json 文件。节点接口可用于创建复杂的工作流程,例如用于 Hires 修复或更高级的工作流程。区域构成。使用常规模型和修复模型进行修复。ControlNet 和 T2I 适配器。高档型号(ESRGAN、ESRGAN 变体、SwinIR、Swin2SR 等)。unCLIP 型号。GLIGEN。模型合并。LCM 模型和 Loras。SDXL 涡轮增压。使用 TAESD 进行潜在预览。启动速度非常快。完全离线工作:永远不会下载任何内容。配置文件来设置模型的搜索路径。
* [PixArt-alpha/PixArt-alpha](https://github.com/PixArt-alpha/PixArt-alpha) PixArt-α:用于逼真文本到图像合成的 Diffusion Transformer 的快速训练。提出了三个核心设计:(1) 训练策略分解:我们设计了三个不同的训练步骤,分别优化像素依赖性、文本图像对齐和图像审美质量;(2) 高效的 T2I Transformer:我们将交叉注意力模块整合到 Diffusion Transformer (DiT) 中,以注入文本条件并简化计算密集型类条件分支;(3) 信息量大的数据:我们强调文本-图像对中概念密度的重要性,并利用大型视觉-语言模型自动标记密集的伪标题,以辅助文本-图像对齐学习。因此,PIXART-α 的训练速度明显超过现有的大规模 T2I 模型,例如,PIXART-α 仅占用 Stable Diffusion v1.5 训练时间的 10.8%(~675 对 ~6,250 个 A100 GPU 日),节省了近 300,000 美元(26,000 美元对 320,000 美元),并减少了 90% 的二氧化碳排放。此外,与更大的 SOTA 模型 RAPHAEL 相比,我们的训练成本仅为 1%。大量实验表明,PIXART-α 在图像质量、艺术性和语义控制方面表现出色。 我们希望 PIXART-α 能为 AIGC 社区和初创公司提供新的见解,以加速从头开始构建自己的高质量、低成本的生成模型。PixArt-alpha/PixArt-LCM-XL-2-1024-MS 检查点,
* [lllyasviel/Omost](https://github.com/lllyasviel/Omost) Omost是一个将大型语言模型的编码能力转化为图像生成(更准确地说是图像合成)能力的项目。项目名称“Omost”有两个含义:1)每次使用 Omost 后,你的图像几乎就完成了;2)“O”代表“omni”(多模态),“most”代表我们希望充分利用它。Omost 提供大型语言模型,这些模型将编写代码以使用 Omost 的虚拟“Canvas”代理合成图像视觉内容。这个“Canvas”可以通过图像生成器的特定实现来渲染以实际生成图像。目前,我们提供了 3 个基于 Llama3 和 Phi3 变体的预训练大型语言模型。所有模型都使用以下混合数据进行训练:(1)包括 Open-Images 在内的多个数据集的真实标注,(2)通过自动标注图像提取的数据,(3)来自 DPO(直接偏好优化,“代码是否可以被 python 3.10 编译”作为直接偏好)的强化,以及(4)来自 OpenAI GPT4o 的多模态能力的一小部分微调数据。用户可以通过 HuggingFace 空间或本地部署使用 Omost。项目提供了示例图像和代码,展示了 Omost 的图像合成能力。
* [jina-ai/dalle-flow](https://github.com/jina-ai/dalle-flow) DALL·E Flow 是一种交互式工作流,用于从文本提示生成高清图像。首先,它利用 DALL·E-Mega、GLID-3 XL 和 Stable Diffusion 生成候选图像,然后调用 CLIP-as-service 对候选图像进行排名。首选候选材料被送入 GLID-3 XL 进行扩散,这通常可以丰富纹理和背景。最后,通过 SwinIR 将候选图像放大到 1024x1024。DALL·E Flow 是在客户端-服务器架构中使用 Jina 构建的,这赋予了它高可扩展性、无阻塞流和现代 Pythonic 接口。客户端可以通过 gRPC/Websocket/HTTP 和 TLS 与服务器交互。为什么选择 Human-in-the-loop?生成艺术是一个创造性的过程。虽然 DALL·E 释放人们的创造力,拥有单一提示单一输出的 UX/UI 将想象力锁定在单一的可能性上,无论这个单一的结果多么精细,这都是糟糕的。DALL·E Flow 是单行代码的替代方案,通过将生成艺术正式化为迭代过程。
* [ByteDance/Hyper-SD](https://huggingface.co/ByteDance/Hyper-SD) Hyper-SD是最先进的扩散模型加速技术之一。在这个存储库中,我们发布了从 SDXL Base 1.0 和 Stable-Diffusion v1-5 中提炼出来的模型。协同融合了 ODE 轨迹保留和重新制定的优点,同时在阶跃压缩期间保持近乎无损的性能。首先,我们引入了轨迹分段一致性蒸馏,在预定义的时间步长段内逐步进行一致蒸馏,这有助于从高阶角度保留原始常微分方程轨迹。其次,我们结合了人工反馈学习,以提高模型在低步长状态下的性能,并减轻蒸馏过程产生的性能损失。第三,我们集成了分数蒸馏,以进一步提高模型的低步长生成能力,并首次尝试利用统一的 LoRA 来支持所有步骤的推理过程。大量的实验和用户研究表明,Hyper-SD 在 SDXL 和 SD1.5 上都能实现 1 到 8 个推理步骤的 SOTA 性能。
* [tyxsspa/AnyText](https://github.com/tyxsspa/AnyText) 多语言视觉文本生成和编辑,近年来,随着AIGC的爆火,图片生成技术得到飞速发展,当前AI生成的图片已达到真假难辨的高保真度。不过,当合成图片中出现文字内容时,仍能够使AI露出马脚,因为当前主流方法尚无法在图片中生成准确可读的字符。最近半年来已有学者开始研究文本生成的问题,但这些方法大多以英文为主,无法解决中文这种字形繁杂、字符数以万计的文字生成。因此,我们提出了一种新颖的文字生成方法AnyText,通过创新性的算法设计,可以支持中文、英语、日语、韩语等多语言的文字生成,还支持对输入图片中的文字内容进行编辑。本模型所涉及的文字生成技术为电商海报、Logo设计、创意涂鸦、表情包等新型AIGC应用提供了可能性。
* [TencentARC/Open-MAGVIT2](https://github.com/TencentARC/Open-MAGVIT2) Open-MAGVIT2 是一个开源项目,旨在使自回归视觉生成模型更易于使用。该项目包含一系列自回归图像生成模型,规模从 3 亿到 15 亿参数不等。Open-MAGVIT2 项目复制了 Google 的 MAGVIT-v2 标记器,该标记器具有超大码本(即 2^18 个码),并在 ImageNet 256x256 上实现了最先进的重建性能(1.17 rFID)。此外,该项目还探索了该标记器在普通自回归模型中的应用,并验证了其可扩展性。为了帮助自回归模型预测超大词汇表,该项目通过非对称标记分解将词汇表分解为两个不同大小的子词汇表,并进一步引入了“下一个子标记预测”来增强子标记交互,从而提高生成质量。该项目发布了所有模型和代码,以促进自回归视觉生成领域的技术创新。
* [Stability-AI/StableSwarmUI](https://github.com/Stability-AI/StableSwarmUI) StableSwarmUI,一个模块化的稳定扩散 Web 用户界面,重点是使工具易于访问、高性能和可扩展性。此项目处于 Beta 状态。这意味着对于大多数任务,Swarm 都为您提供了出色的工具,但还有更多计划。Swarm 被推荐为大多数用户、初学者和专业人士的理想 UI。还有一些事情需要解决。初学者用户会喜欢 Swarm 的主要 Generate 选项卡界面,它可以轻松生成具有各种强大功能的任何内容。高级用户可能更喜欢 Comfy Workflow 选项卡来获取不受限制的原始图形,但仍有理由返回到 Generate 选项卡以获得便利功能(图像编辑器、自动工作流生成等)和电动工具(例如 Grid Generator)。
* [rickrender/FluxLatentDetailer](https://github.com/rickrender/FluxLatentDetailer) 此工作流程使用潜在空间操作和插值等混合技术来试验图像细节。我一直在尝试多个通道来增强细节,同时尽量避免过度处理的外观。该过程涉及结合使用各种方法,例如使用 unsampler 处理 latents、LUT 应用程序和颗粒添加。这是一个似乎有效的实验,我真的不知道怎么做或为什么。似乎用 Flux 对 latent 进行插值可以在图像中产生更精细的细节。要更实质性地改变图像,您可以尝试添加一个节点来为第 2 次传递设置另一个种子,这样您就可以更改图像细节,同时保持质量和大部分合成。除了照片之外,我还没有用这个工作流程探索其他类型的样式。
* [VectorSpaceLab/OmniGen](https://github.com/VectorSpaceLab/OmniGen) OmniGen是一个统一的图像生成模型,可以根据多模态提示生成各种图像。它设计简单、灵活、易于使用。我们提供了推理代码,让每个人都能探索OmniGen的更多功能。与需要加载额外模块和进行预处理的现有图像生成模型不同,OmniGen旨在通过任意多模态指令直接生成各种图像,类似于GPT在语言生成中的工作方式。OmniGen仍在不断优化,希望它能启发更多通用的图像生成模型。用户可以轻松地微调OmniGen,只需准备相应的数据并运行脚本即可。想象力不再受限,每个人都可以构建任何图像生成任务,或许能实现有趣、奇妙、富有创意的事情。
* [lllyasviel/Paints-UNDO](https://github.com/lllyasviel/Paints-UNDO) Paints-Undo 是一个旨在提供人类绘画行为基础模型的项目,希望未来的人工智能模型能够更好地符合人类艺术家的真实需求。“Paints-Undo”这个名称的灵感来自于相似之处,即模型的输出看起来就像在数字绘画软件中多次按下“撤消”按钮(通常是 Ctrl+Z)。Paints-Undo 提供了一系列模型,这些模型将图像作为输入,然后输出该图像的绘图序列。该模型展示了各种人类行为,包括但不限于素描、着墨、着色、着色、变换、左右翻转、颜色曲线调整、改变图层的可见性,甚至改变绘图过程中的整体想法。
* [cumulo-autumn/StreamDiffusion](https://github.com/cumulo-autumn/StreamDiffusion) 用于实时交互生成图片的流水线级解决方案,创新的扩散管道,专为实时交互式生成而设计。它为当前基于扩散的图像生成技术引入了显著的性能增强。主要特点:流批处理,通过高效的批处理操作简化数据处理。无残差分类器指南,改进的引导机制,可最大限度地减少计算冗余。随机相似性过滤器,通过高级过滤技术提高 GPU 利用率。队列,高效管理输入和输出操作,实现更顺畅的执行。KV 缓存的预计算,优化缓存策略以加速处理。模型加速工具,利用各种工具进行模型优化和性能提升。
* [gojasper/flash-diffusion](https://github.com/gojasper/flash-diffusion) Flash Diffusion是一个高效、快速、通用且兼容 LoRA 的蒸馏方法,用于加速预训练扩散模型的图像生成。该方法在 COCO2014 和 COCO 2017 数据集上实现了最先进的 FID 和 CLIP-Score 性能,仅需几小时的 GPU 训练时间,且可训练参数比现有方法少。除了效率之外,该方法还适用于多种任务,例如文本到图像、修复、人脸交换、超分辨率,以及使用 UNet 基于降噪器(SD1.5、SDXL)或 DiT(Pixart-α)以及适配器的不同扩散模型骨干。在所有情况下,该方法都能显著减少采样步骤,同时保持高质量的图像生成。
* [Research/NLP/UNIMO](https://github.com/PaddlePaddle/Research/tree/master/NLP/UNIMO) UNIfied-MODal 预训练架构,即UNIMO,可以有效地适应单模态和多模态的理解和生成任务。利用大规模的自由文本语料库和图像集合来提高视觉和文本理解能力,并利用跨模态对比学习(CMCL)将文本和视觉信息对齐到图像语料库上的统一语义空间中。用相关图像和文本增强的文本对。在丰富的非配对单模态数据的帮助下,我们的模型能够通过允许文本知识和视觉知识在统一的语义空间中相互增强来学习更多的泛化表示。实验结果表明,大大提高了几个单模态和多模态下游任务的性能。
* [open-mmlab/mmgeneration](https://github.com/open-mmlab/mmgeneration) 一个强大的生成模型工具包,基于PyTorch和MMCV。`高质量的训练`:支持无条件 GAN、内部 GAN 和图像翻译模型的培训。对条件模型的支持即将推出。`强大的工具包`:为用户提供了包含GAN中多个应用程序的丰富工具包。GAN 插值、GAN 投影和 GAN 操作已集成到我们的框架中。`高效分布式训练`:对于生成模型中的高动态训练,采用了一种新的方法来训练动态模型 MMDDP 。`灵活组合的新模块化设计`:针对复杂损耗模块的定制链接,提出一种新的设计,可以实现不同模块之间的灵活组合。
* [zituitui/BELM](https://github.com/zituitui/BELM) BELM是一个用于扩散模型精确反转的双向显式线性多步采样器,该项目是NeurIPS 2024论文的官方实现,它通过引入双向显式约束,将现有的启发式精确反转采样器作为特例,并从变步长变公式线性多步法推导出BELM公式,从而实现精确反转。BELM框架中的局部截断误差分析表明,现有的启发式设计会导致次优的LTE,因此该项目提出了通过LTE最小化方法的最佳BELM (O-BELM) 采样器,并通过实验验证了O-BELM在精确反转和高质量采样方面的优势,以及在图像编辑和插值等应用中的潜力。
* [16131zzzzzzzz/EveryoneNobel](https://github.com/16131zzzzzzzz/EveryoneNobel) EveryoneNobel是一个基于ComfyUI的灵活框架,用于生成个性化的诺贝尔奖图像。它利用ComfyUI进行图像生成,并使用HTML模板在图像上显示文本。该项目不仅是一个生成诺贝尔奖图像的流程,也是一个潜在的通用框架。该框架将ComfyUI生成的视觉效果转换为最终产品,为进一步的应用和定制提供结构化的方法。用户可以通过该项目生成包含文本的诺贝尔奖图像,也可以生成不包含文本的图像。该项目还提供详细的安装和使用指南,以及一个QQ群供用户交流。
* [Stability-AI/generative-models](https://github.com/Stability-AI/generative-models) 文本到图像模型图像到视频的模型。发布 SDXL-Turbo,这是一款闪电般快速的文本到图像模型。 Stable Video Diffusion,一种图像到视频的模型。SDXL-base-0.9 :在分辨率为 1024^2 的图像上,对基础模型进行了各种纵横比的训练。基本模型使用 OpenCLIP-ViT/G 和 CLIP-ViT/L 进行文本编码,而精简模型仅使用 OpenCLIP 模型。SDXL-refiner-0.9 :精简器已经过训练,可以对高质量数据的小噪声水平进行降噪,因此不应用作文本到图像模型;相反,它只能用作图像到图像模型。
* [compphoto/Intrinsic](https://github.com/compphoto/Intrinsic) 论文“通过序数着色进行内禀图像分解”(TOG 2023) 的存储库。我们提出了一种为野外图像生成高分辨率固有图像分解的方法。我们的方法由多个阶段组成。我们首先使用序数着色管道估计灰度着色图层。然后,我们估计低分辨率色度信息,以解释彩色照明效果,同时保持全局一致性。使用这种初始的彩色分解,我们估计了一个高分辨率的稀疏反照率层。我们表明,我们的分解允许我们仅使用单个渲染的室内数据集来训练漫反射阴影估计网络。
* [facebookresearch/DiT](https://github.com/facebookresearch/DiT) 带变压器的可扩展扩散模型 (DiT)。我们训练潜扩散模型,用在潜伏补丁上运行的变压器取代常用的U-Net主干网。我们通过Gflops测量的前向传递复杂性来分析扩散变压器(DiTs)的可扩展性。我们发现,具有较高 Gflops 的 DiT---通过增加转换器深度/宽度或增加输入令牌数量---始终具有较低的 FID。除了良好的可扩展性外,我们的 DiT-XL/2 模型在类条件 ImageNet 512×512 和 256×256 基准测试上优于所有先前的扩散模型,在后者上实现了 2.27 的先进 FID。
* [lllyasviel/IC-Light](https://github.com/lllyasviel/IC-Light) IC-Light是一个用于图像照明操控的项目,旨在通过文本或背景条件来改变图像的照明效果。项目包含两种模型:文本条件重照明模型和背景条件模型,两者都以前景图像作为输入。文本条件模型可以通过文本描述来控制照明方向和风格,例如“温暖的氛围”、“阳光从窗户照进来”等。背景条件模型则可以通过提供背景图像来生成与背景一致的照明效果。用户可以通过简单的命令行指令运行项目,并通过提供的示例代码和界面进行体验。
* [OPTML-Group/AdvUnlearn](https://github.com/OPTML-Group/AdvUnlearn) AdvUnlearn是一个用于防御性反学习的框架,通过对抗训练增强扩散模型的鲁棒性,使其在对抗性提示攻击下更安全,并实现概念擦除和图像生成质量之间的平衡。该项目基于Stable Diffusion和Erasing的代码库,提供预训练的文本编码器模型,并提供使用指南,用户可以轻松使用AdvUnlearn文本编码器进行概念擦除,例如去除图像中的裸露内容、风格或特定物体。此外,项目还提供了用于评估的基准数据集和代码,方便用户进行实验和比较。
* [ali-vilab/In-Context-LoRA](https://github.com/ali-vilab/In-Context-LoRA) In-Context LoRA (IC-LoRA) 是一个用于微调文本到图像模型的开源项目,它可以生成具有可定制内在关系的图像集,并可以根据另一幅图像集进行条件生成,适用于各种任务。该项目提供了训练和推理代码,以及示例训练数据和配置文件,方便用户快速上手。用户可以使用 AI-Toolkit 工具进行训练,并通过提供的示例提示生成多场景图像的描述。项目还计划发布更多 IC-LoRA模型,并使用 FLUX 作为基础模型,用户需遵守 FLUX 的许可协议。
* [Fictiverse/Redream](https://github.com/Fictiverse/Redream) Redream是一个基于 Automatic1111 Stable Diffusion API 的实时扩散工具,它允许用户从屏幕区域实时生成图像。用户可以选择屏幕区域,绘制遮罩,并调整扩散参数,例如种子值、步骤数、去噪强度和 CFG 比例。Redream 还支持保存预设,以方便用户快速加载常用的扩散设置。Redream 需要 Windows 操作系统、Automatic1111 stable-diffusion-webui、ControlNet扩展和 .NET 6.0 框架。用户可以通过 Redream 的界面轻松控制扩散过程,并保存生成的图像帧。
* [lllyasviel/stable-diffusion-webui-forge](https://github.com/lllyasviel/stable-diffusion-webui-forge) Stable Diffusion WebUIForge 是基于 Stable Diffusion WebUI 的一个平台,旨在简化开发、优化资源管理、加速推理并探索实验性功能。它借鉴了 Minecraft Forge 的理念,目标是成为 SD WebUI 的 Forge。Forge 目前基于 SD-WebUI 1.10.1,并定期与原版 WebUI同步。Forge 提供了多种功能,包括对 Flux BitsandBytes 模型、NF4、GGUF 等的支持,以及 GPU Weight 滑块、队列/异步交换切换等功能。Forge 还提供了易于使用的安装包,包含 Git、Python 和 CUDA/PyTorch。
* [linzhiqiu/t2v_metrics](https://github.com/linzhiqiu/t2v_metrics) VQAScore是一个用于评估文本到图像/视频/3D模型的自动评估工具,只需一行Python代码即可使用。它利用图像到文本生成模型来评估文本到视觉生成模型,在合成文本提示方面显著优于CLIPScore和PickScore等现有指标,并且比使用人类反馈或ChatGPT和GPT-4Vision等专有模型的现有技术(例如ImageReward、HPSv2、TIFA、Davidsonian、VPEval、VIEScore)更简单。该项目还包含GenAI-Bench,一个用于评估和改进合成文本到视觉生成的基准。
* [ToTheBeginning/PuLID](https://github.com/ToTheBeginning/PuLID) PuLID是一个用于纯净和闪电般快速的 ID 定制的对比对齐方法,该项目已在 NeurIPS 2024 上发表。PuLID通过对比学习来学习图像的潜在表征,从而实现对图像 ID 的精确控制。该项目提供代码、模型和演示,支持用户在本地或云端进行快速推理。PuLID-FLUX 是 PuLID 的一个变体,它可以运行在消费级 GPU 上,并提供在线和本地演示。该项目还提供了一系列示例和应用,展示了 PuLID 在图像生成和编辑方面的强大功能。
* [muzishen/IMAGDressing](https://github.com/muzishen/IMAGDressing) 用于虚拟着装的交互式模块化服装生成。主要特点:简单的架构:IMAGDressing-v1 生成栩栩如生的服装,并有助于轻松进行用户驱动的场景编辑。新增任务、指标和数据集:引入虚拟敷料 (VD) 任务,设计全面的亲和指标指数 (CAMI),并发布 IGPair 数据集。灵活的插件兼容性:与 IP 适配器、ControlNet、T2I 适配器和 AnimateDiff 等扩展插件无缝集成。快速定制:允许在几秒钟内快速定制,无需额外的 LoRA 培训。
* [segmind/SSD-1B](https://huggingface.co/segmind/SSD-1B) Segmind Stable Diffusion Model (SSD-1B) 是 Stable Diffusion XL (SDXL) 的精炼 50% 缩小版本,提供 60% 的加速,同时保持高质量的文本到图像生成功能。它已经在各种数据集上进行了训练,包括 Grit 和 Midjourney 抓取数据,以增强其基于文本提示创建各种视觉内容的能力。该模型采用知识蒸馏策略,先后利用多个专家模型(包括 SDXL、ZavyChromaXL 和 JuggernautXL)的教学,结合它们的优势并产生令人印象深刻的视觉输出。
* [Kwai-Kolors/Kolors](https://github.com/Kwai-Kolors/Kolors) Kolors:用于逼真文本到图像合成的扩散模型的有效训练。Kolors是一个基于潜扩散的大规模文本转图像生成模型,由快手Kolors团队开发。经过数十亿个文本-图像对的训练,Kolors 在视觉质量、复杂语义准确性和中英文字符的文本渲染方面与开源和闭源模型相比都表现出显着优势。此外,Kolors支持中文和英文输入,在理解和生成中文特定内容方面表现出强大的表现。有关详细信息,请参阅此技术报告。
* [modelscope/DiffSynth-Studio](https://github.com/modelscope/DiffSynth-Studio) 享受 Diffusion 模型的魔力!DiffSynth Studio 是一个扩散引擎。我们重组了包括 Text Encoder、UNet、VAE 等在内的架构,保持了与开源社区模型的兼容性,同时提高了计算性能。我们提供了许多有趣的功能。享受 Diffusion 模型的魔力!到目前为止,DiffSynth Studio 支持以下模型:ExVideo,Kolors,Stable Diffusion 3,Stable Video Diffusion,Hunyuan-DiT,RIFE,ESRGAN,Ip-Adapter,AnimateDiff,ControlNet,Stable Diffusion XL,Stable Diffusion
* [aneeshnaik/lintsampler](https://github.com/aneeshnaik/lintsampler) `lintsampler` 是一个 Python 库,用于通过线性插值进行高效的随机采样。它利用密度函数在区间端点或超立方体顶点的评估值,通过线性插值生成随机样本。该库提供了一个简单的接口,可以用于从各种密度函数中采样,例如一维高斯混合模型。它还包含详细的文档和示例,方便用户使用和理解。`lintsampler` 已经被 JOSS(Journal of Open SourceSoftware)评审并发表,用户可以在研究出版物中引用该库。
* [ostris/ai-toolkit](https://github.com/ostris/ai-toolkit) 这是一个名为“AI工具包”的GitHub项目,主要包含各种AI脚本,特别是针对Stable Diffusion的工具。该项目由Ostris开发,包含许多实验性内容,可能存在不稳定因素。项目支持使用FLUX.1模型进行训练,但需要至少24GB显存的Nvidia GPU,并提供FLUX.1-dev和FLUX.1-schnell两种版本,分别对应非商业和Apache 2.0许可。项目提供详细的安装步骤和使用教程,并强调了使用FLUX.1-schnell版本需要特殊的训练适配器。
* [nerdyrodent/VQGAN-CLIP](https://github.com/nerdyrodent/VQGAN-CLIP) VQGAN-CLIP是一个用于在本地运行VQGAN+CLIP的项目,源于Katherine Crowson的VQGAN+CLIP Google Colab笔记本。该项目提供了一个Replicate演示和Docker镜像,并包含一些示例图像。该项目已在Ubuntu 20.04上测试,需要Nvidia RTX 3090等GPU,并根据图像大小有不同的VRAM需求。用户需要使用Anaconda创建虚拟Python环境,安装Pytorch、其他Python包以及VQGAN预训练模型。该项目还提供了下载模型的脚本和视频教程。
* [adobe-research/custom-diffusion](https://github.com/adobe-research/custom-diffusion) 自定义扩散允许您为新概念的几张图像 (~4-20) 微调文本到图像的扩散模型,例如稳定扩散。我们的方法速度很快(在 2 个 A100 GPU 上需要 ~6 分钟),因为它只微调交叉注意力层中的模型参数子集,即键和值投影矩阵。这也将每个额外概念的额外存储空间减少到 75MB。我们的方法进一步允许您使用多个概念的组合,例如新对象 + 新艺术风格、多个新对象和新对象 + 新类别。
* [VisualComputingInstitute/diffusion-e2e-ft](https://github.com/VisualComputingInstitute/diffusion-e2e-ft) 该项目研究了对图像条件扩散模型进行微调的简易方法,并发布了相应的代码和模型。项目特色在于利用端到端微调技术,通过在特定任务损失上进行训练,将预训练的扩散模型或Stable Diffusion模型微调为单步确定性模型,从而实现更高效的推理。项目提供了多个微调后的模型,涵盖深度、法线等不同模态,并提供了相应的推理代码,方便用户进行测试和应用。
* [dvlab-research/ControlNeXt](https://github.com/dvlab-research/ControlNeXt/) 可控视频和图像生成、SVD、Animate Anyone 、ControlNet、ControlNeXt、LoRA。ControlNeXt 是我们用于可控生成的官方实现,支持图像和视频,同时包含多种形式的控制信息。在这个项目中,我们提出了一种新方法,与ControlNet相比,该方法将可训练参数减少了90%,实现了更快的收敛和出色的效率。这种方法可以直接与其他LoRA技术结合使用,以改变样式并确保更稳定的生成。
* [Moonvy/OpenPromptStudio](https://github.com/Moonvy/OpenPromptStudio) 这是一个旨在把 AIGC 提示词(现在支持 Midjourney)可视化并提供编辑功能的工具,有以下特性:显示英文提示词的中文翻译;翻译输入的中文提示词到英文(因为 Midjourney 仅支持英文提示词);为提示词进行分类(普通、样式、质量、命令);轻松的排序、隐藏提示词;把提示词可视化结果导出为图片;常用提示词词典;通过 Notion 管理提示词词典
* [geekyutao/Inpaint-Anything](https://github.com/geekyutao/Inpaint-Anything) 使用 Segment Anything 和 inpainting 模型绘制任何内容。用户可以通过单击来选择图像中的任何对象。凭借强大的视觉模型,例如 SAM、LaMa 和稳定扩散 (SD),Inpaint Anything 能够顺利地去除物体(即去除任何东西)。此外,在用户输入文本的提示下,Inpaint Anything 可以用任何所需的内容填充对象(即 Fill Anything)或任意替换它的背景(即 Replace Anything)。
* [alimama-creative/FLUX-Controlnet-Inpainting](https://github.com/alimama-creative/FLUX-Controlnet-Inpainting) 该项目提供了一个用于 FLUX.1-dev 模型的 Inpainting ControlNet检查点,由阿里妈妈创意团队的研究人员发布。该检查点可用于ComfyUI,并支持使用 ControlNet 进行图像修复。用户可以根据需要调整参数,例如控制强度、控制结束百分比和 CFG,以获得最佳效果。项目还提供了使用示例,展示了如何使用 ControlNet 进行图像修复,以及修复后的图像效果。
* [6174/comflowy](https://github.com/6174/comflowy) 借助 ComfyUI 和 Stable Diffusion 释放无限可能,致力于打造精炼的 AI-Gen 工具,并为开发者和用户培养一个充满活力的社区。这个社区可以提供什么:更全面、更系统的 Stable Diffusion & ComfyUI 教程;通过 Discord 社区进行互动讨论;工作流和模型内容的数据库:ComfyUI 的重要价值在于它能够共享或导入工作流。Better ComfyUI 的开源版本Comflowyspace。
* [lucidrains/imagen-pytorch](https://github.com/lucidrains/imagen-pytorch) 在 Pytorch 中实现谷歌的文本到图像神经网络 Imagen ,谷歌的文本到图像神经网络,击败了 DALL-E2。 它是文本到图像合成的新 SOTA。在架构上上比 DALL-E2 简单得多。 它由一个级联 DDPM 组成,该 DDPM 以来自大型预训练 T5 模型(注意网络)的文本嵌入为条件。 它还包含用于改进分类器自由引导、噪声级调节和内存高效 unet 设计的动态裁剪。
* [PixArt-alpha/PixArt-sigma](https://github.com/PixArt-alpha/PixArt-sigma) PixArt-Σ:用于 4K 文本到图像生成的 Diffusion Transformer 的弱到强训练。PixArt-Σ的一个关键特点是其训练效率。它利用PixArt-α的基础预训练,通过加入高质量数据,从较弱的基线模型进化到更强的模型。通过利用Transformer Latent Diffusion模型和高质量数据,实现了从较弱的基线模型到更强模型的进化,从而能够生成4K分辨率的高质量图像。
* [XLabs-AI/x-flux](https://github.com/XLabs-AI/x-flux) 该项目提供用于微调 Black Forest Labs 的 Flux 模型的训练脚本,包括 LoRA 和 ControlNet。项目提供 IP-Adapter、Canny ControlNet、Depth ControlNet、HED ControlNet 和 LoRA 检查点,用户可以在 HuggingFace 和 civit.ai 上下载。项目使用 DeepSpeed 进行训练,支持 1024x1024 分辨率,并提供 Gradio 演示和 ComfyUI 工作流程以进行推理。
* [levihsu/OOTDiffusion](https://github.com/levihsu/OOTDiffusion) OOTDiffusion是一个基于服装融合的潜在扩散模型,用于可控虚拟试衣。该项目提供了模型权重和推理代码,支持半身和全身试衣。用户可以使用提供的代码和模型,将服装图像与人体图像融合,生成逼真的虚拟试衣效果。该项目还提供了一个Hugging Face 空间,方便用户体验 OOTDiffusion。
* [bcmi/libcom](https://github.com/bcmi/libcom) Libcom(图像合成库)是一个图像合成工具箱。图像合成(对象插入)的目标是通过解决前景和背景之间的不一致(外观、几何图形和语义不一致),将一个前景插入背景图像以获得逼真的合成图像。一般来说,图像合成可用于组合来自不同图像的视觉元素。
* [nuno-faria/tiler](https://github.com/nuno-faria/tiler) 使用各种其他较小图像(图块)创建图像的工具。它不同于其他马赛克工具,因为它可以适应多种形状和大小的瓷砖(即不限于正方形)。图像可以由圆圈、线条、波浪、十字绣、乐高积木、我的世界积木、回形针、字母等组成…
* [FoundationVision/VAR](https://github.com/FoundationVision/VAR) 一种新的视觉生成方法将 GPT 风格的模型提升到超越扩散和缩放定律。视觉自回归建模 (VAR) 将图像上的自回归学习重新定义为从粗到细的“下一尺度预测”或“下一分辨率预测”,与标准光栅扫描的“下一标记预测”不同。
* [rinongal/textual_inversion](https://github.com/rinongal/textual_inversion) 使用个性化文本反转到图像生成 。仅使用提供的概念(如对象或样式)的 3-5 张图像,通过学习冻结文本到图像模型的嵌入空间中的新“词”来表示它。 这些“词”可以组合成自然语言句子,以直观的方式指导个性化创作。
* [invoke-ai/InvokeAI](https://github.com/invoke-ai/InvokeAI) 这个版本的 Stable Diffusion 具有流畅的 WebGUI、交互式命令行脚本,它在“dream bot”风格的界面中结合了 text2img 和 img2img 功能,以及多个功能和其他增强功能。可以在 Win、Mac 和 Linux 机器上运行,GPU 卡只有 4 GB 的 RAM。
* [SAWARATSUKI/KawaiiLogos](https://github.com/SAWARATSUKI/KawaiiLogos) KawaiiLogos是一个使用 AI 生成可爱卡通风格 Logo 的项目,它可以帮助你快速创建个性化的 Logo,但请注意,项目内容并非由 AI 生成,仅供参考和娱乐使用。该项目提供多种语言的 README 文件,方便不同语言用户使用。
* [Nutlope/roomGPT](https://github.com/Nutlope/roomGPT) 上传您的房间照片,使用 AI 生成您的梦想房间。使用称为ControlNet的ML模型来生成房间的变化。此应用程序使您能够上传任何房间的照片,该照片将使用 Next.js API 路由通过此 ML 模型发送照片,并返回生成的房间。
* [kuprel/min-dalle](https://github.com/kuprel/min-dalle) DALL·E Mini 到 PyTorch 的快速、最小的接口。DALL-E是一个可以通过文本描述中生成图像的AI程序。 通过120亿参数版本的GPT-3 Transformer模型来理解自然语言输入并生成相应的图片。可生成现实、现实中不存在的对象。
* [lllyasviel/Fooocus](https://github.com/lllyasviel/Fooocus) 图像生成软件(基于Gradio)。对 Stable Diffusion 和 Midjourney 设计的重新思考:从 Stable Diffusion 中学习,该软件是离线、开源和免费的。从Midjourney中学习,不需要手动调整,用户只需要专注于提示和图像。
* [LuChengTHU/dpm-solver](https://github.com/LuChengTHU/dpm-solver) 用于扩散概率模型采样的快速 ODE 求解器。DPM-Solver 适用于离散时间和连续时间扩散模型,无需任何进一步训练。 实验结果表明,仅需对各种数据集进行 10 到 20 次函数评估即可生成高质量样本。
* [openai/glide-text2im](https://github.com/openai/glide-text2im) 基于扩散的文本条件图像合成模型。以文本提示为条件的图像;填充图像的蒙版区域,以文本提示为条件;使用 GLIDE(过滤)+ 过滤噪声感知 CLIP 模型来生成以文本提示为条件的图像。
* [hindupuravinash/the-gan-zoo](https://github.com/hindupuravinash/the-gan-zoo) 每周都有新的GAN论文问世,很难全部跟踪,更不用说研究人员为这些GAN命名的令人难以置信的创造性方式了!所以,这里有一个列表,最初是一个有趣的活动,汇编了所有命名的 GAN!
* [openai/consistency_models](https://github.com/openai/consistency_models) 一致性模型的官方存储库。Diffusion Models 在生成一张图片时需要多次进行模型推理,对于实时性较强的应用,就很难让人满意了。这篇文章所claim的一步采样即能达到较好的效果。
* [open-mmlab/mmagic](https://github.com/open-mmlab/mmagic) OpenMMLab 多模态高级、生成和智能创建工具箱。解锁魔法:生成AI(AIGC),易于使用的API,awsome模型库,扩散模型,用于文本到图像生成,图像/视频恢复/增强等。
* [cmdr2/stable-diffusion-ui](https://github.com/cmdr2/stable-diffusion-ui) 在pc上安装和使用稳定扩散的最简单方式。提供用于从文本提示和图像生成图像的浏览器 UI。只需输入您的文本提示,然后查看生成的图像。
* [Stability-AI/StableStudio](https://github.com/Stability-AI/StableStudio) Stability AI 的官方开源版本 DreamStudio,这是我们用于生成式 AI 的用户界面。基于 Web 的应用程序,允许用户创建和编辑生成的图像。
* [ShineChen1024/MagicClothing](https://github.com/ShineChen1024/MagicClothing) Magic Clothing正式实现:可控服装驱动的图像合成。Magic Clothing 是 OOTDiffusion 的一个分支版本,专注于可控服装驱动的图像合成。
* [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion) 潜在的文本到图像的扩散模型。凭借其860M UNet和 123M文本编码器,该模型相对轻量级,并在具有至少10GB 的 GPU 上运行。
* [jina-ai/discoart](https://github.com/jina-ai/discoart) DiscoArt 是一种优雅的方式,可以为生成艺术家、AI 爱好者和铁杆开发人员创建引人注目的 Disco Diffusion艺术作品。
* [PixArt-alpha/PixArt-LCM](https://huggingface.co/spaces/PixArt-alpha/PixArt-LCM) LCM 是一种扩散蒸馏方法,可直接在潜在空间中预测 PF-ODE 的解决方案,只需几个步骤即可实现超快速推理。
* [divamgupta/diffusionbee-stable-diffusion-ui](https://github.com/divamgupta/diffusionbee-stable-diffusion-ui) Diffusion Bee 是在 M1 Mac 上本地运行 Stable Diffusion 的最简单方法。附带一键安装程序。无需依赖或技术知识。
* [ChenyangSi/FreeU](https://github.com/ChenyangSi/FreeU) 免费大幅提高扩散模型样本质量的方法:无需训练,无需引入其他参数,也不会增加内存或采样时间。
* [willwulfken/MidJourney-Styles-and-Keywords-Reference](https://github.com/willwulfken/MidJourney-Styles-and-Keywords-Reference) 包含可用于 MidJourney AI 的样式和关键字的参考。还有一些页面显示分辨率比较、图像权重等等!
* [hua1995116/awesome-ai-painting](https://github.com/hua1995116/awesome-ai-painting) AI绘画资料合集(包含国内外可使用平台、使用教程、参数教程、部署教程、业界新闻等等)
* [hua1995116/awesome-ai-painting](https://github.com/hua1995116/awesome-ai-painting) AI绘画资料合集(包含国内外可使用平台、使用教程、参数教程、部署教程、业界新闻等等)
* [lllyasviel/ControlNet](https://github.com/lllyasviel/ControlNet) 让我们控制扩散模型!ControlNet 是一种神经网络结构,通过添加额外条件来控制扩散模型。
* [THUDM/CogView](https://github.com/THUDM/CogView) 文本到图像的生成。NeurIPS 2021 论文“CogView: Mastering Text-to-Image Generation via Transformers”
* [tencent-ailab/IP-Adapter](https://github.com/tencent-ailab/IP-Adapter) 图像提示适配器旨在使预训练的文本到图像扩散模型能够生成具有图像提示的图像。
* [salesforce/BLIP](https://github.com/salesforce/BLIP) 用于 BLIP 的 PyTorch 代码:用于统一视觉语言理解和生成的引导语言图像预训练
* [saharmor/dalle-playground](https://github.com/saharmor/dalle-playground) 使用 Stable Diffusion 从任何文本提示生成图像的游乐场(过去:使用 DALL-E Mini)
* [luban-agi/Awesome-AIGC-Tutorials](https://github.com/luban-agi/Awesome-AIGC-Tutorials) 收集了关于AIGC的各种精选教程和资源,既适合初学者也适合进阶AI爱好者。
* [alembics/disco-diffusion](https://github.com/alembics/disco-diffusion) 用于生成 AI 艺术和动画的笔记本、模型和技术的科学怪人融合。
* [piskelapp/piskel](https://github.com/piskelapp/piskel) 易于使用的精灵编辑器。 可用于创建精灵、动画、像素艺术。
* [lucidrains/DALLE2-pytorch](https://github.com/lucidrains/DALLE2-pytorch) 在 Pytorch 中实现 DALL-E 2,OpenAI 更新的文本到图像合成神经网络
* [snap-research/CAT](https://github.com/snap-research/CAT) 用于压缩”图像到图像模型”CycleGAN Pix2pix的压缩和教学框架.
* [jexom/sd-webui-depth-lib](https://github.com/jexom/sd-webui-depth-lib) 深度图库,用于 Automatic1111/stable-diffusion-webui 的控制网扩展
* [luosiallen/latent-consistency-model](https://github.com/luosiallen/latent-consistency-model) 潜在一致性模型:使用几步推理合成高分辨率图像。
* [lucidrains/DALLE-pytorch](https://github.com/lucidrains/DALLE-pytorch) 在Pytorch中实现/复制DALL-E,OpenAI的文本到图像转换器
* [PeterWang512/GANSketching](https://github.com/PeterWang512/GANSketching) 绘制您自己的 GAN:用手绘草图自定义 GAN 模型。
* [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui) 稳定的扩散(文本到图像的扩散模型)网页界面
* [divamgupta/stable-diffusion-tensorflow](https://github.com/divamgupta/stable-diffusion-tensorflow) Stable Diffusion 稳定扩散的 Keras Tensorflow 实现。
* [XingangPan/DragGAN](https://github.com/XingangPan/DragGAN) 拖动 GAN:基于点操作的交互式图像流形生成
* [cloneofsimo/lora](https://github.com/cloneofsimo/lora) 用于快速文本到图像扩散微调的低秩适配。
* [FreedomIntelligence/ALLaVA](https://github.com/FreedomIntelligence/ALLaVA) 利用 GPT4V 合成数据构建精简视觉语言模型
* [apple/ml-stable-diffusion](https://github.com/apple/ml-stable-diffusion) 在 Apple 芯片上使用 Core ML 实现稳定扩散
* [divamgupta/diffusionbee-stable-diffusion-ui](https://github.com/divamgupta/diffusionbee-stable-diffusion-ui) 适用于 MacOS 的Stable Diffusion GUI 应用程序
* [bytedance/OMGD](https://github.com/bytedance/OMGD) 用于 GAN 压缩的在线多粒度蒸馏 (ICCV2021)
* [Stability-AI/stablediffusion](https://github.com/Stability-AI/stablediffusion) 具有潜在扩散模型的高分辨率图像合成
* [phillipi/pix2pix](https://github.com/phillipi/pix2pix) 使用条件对抗网络进行图像到图像转换
* [CompVis/latent-diffusion](https://github.com/CompVis/latent-diffusion) 基于潜在扩散模型的高分辨率图像合成
* [YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy](https://github.com/YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy) 扩散模型:方法和应用的综合调查
* [j-min/VL-T5](https://github.com/j-min/VL-T5) 通过文本生成统一视觉和语言任务
* [borisdayma/dalle-mini](https://github.com/borisdayma/dalle-mini) DALL·E Mini - 从文本提示生成图像
* [fnzhan/MISE](https://github.com/fnzhan/MISE) 多模态图像合成和编辑:调查
* [heejkoo/Awesome-Diffusion-Models](https://github.com/heejkoo/Awesome-Diffusion-Models) 关于扩散模型的资源和论文集
* [eriklindernoren/PyTorch-GAN](https://github.com/eriklindernoren/PyTorch-GAN) 生成对抗网络的 PyTorch 实现。
* [YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy](https://github.com/YangLing0818/Diffusion-Models-Papers-Survey-Taxonomy) 扩散模型论文、调查和分类法
* [diff-usion/Awesome-Diffusion-Models](https://github.com/diff-usion/Awesome-Diffusion-Models) 关于扩散模型的资源和论文集
* [princeton-vl/infinigen](https://github.com/princeton-vl/infinigen) 使用程序生成的无限逼真世界
* [jbilcke-hf/ai-comic-factory](https://github.com/jbilcke-hf/ai-comic-factory) 使用 LLM + SDXL 生成漫画面板。
* [Mikubill/sd-webui-controlnet](https://github.com/Mikubill/sd-webui-controlnet) 适用于 ControlNet 的 WebUI 扩展
* [NVlabs/stylegan](https://github.com/NVlabs/stylegan) StyleGAN - 官方 TensorFlow 实现
* [camenduru/stable-diffusion-webui-colab](https://github.com/camenduru/stable-diffusion-webui-colab) 稳定的扩散 Webui colab
* [junyanz/pytorch-CycleGAN-and-pix2pix](https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix) 图像到图像的转换
* [jonhare/DifferentiableSketching](https://github.com/jonhare/DifferentiableSketching) 微分绘图和素描
## 图像风格
* [fogleman/primitive](https://github.com/fogleman/primitive) 使用几何基元再现图像。提供目标图像作为输入。该算法试图找到可以绘制的单个最佳形状,以最大程度地减少目标图像和绘制图像之间的误差。它重复此过程,一次添加一个形状。大约需要 50 到 200 个形状才能达到可识别但又具有艺术性和抽象性的结果。由于该算法具有随机组件,因此您可以多次针对同一输入图像运行它,以使静态图像栩栩如生。特征:爬坡或模拟退火进行优化(爬坡多个随机形状几乎与退火一样好,而且速度更快);在纯 Go 中对形状进行扫描线光栅化(更适合实现以下功能);基于每个形状的受影响像素的最佳颜色计算(颜色是直接计算的,而不是优化的);部分图像差异,可加快评分速度(仅需要考虑变化的像素);抗锯齿输出渲染。
* [PaddlePaddle/PaddleGAN](https://github.com/PaddlePaddle/PaddleGAN/) 飞桨生成对抗网络开发套件--PaddleGAN,为开发者提供经典及前沿的生成对抗网络高性能实现,并支撑开发者快速构建、训练及部署生成对抗网络,以供学术、娱乐及产业应用。包括:人脸属性编辑之年龄变换 一键实现变老变年轻;视频超分SOTA算法PP-MSVSR;StyleGAN V2人脸属性编辑之性别转换;LapStyle风格迁移;人脸融合能力,结合新版Frirst Order Motion,实现人脸完美融合并带有丰富表情;真实照片转油画风格;人脸融合、风格迁移、老视频修复、人脸动作迁移、超分辨率、妆容迁移、人脸动漫化、写实人像卡通化、照片动漫化、唇形同步
* [NVlabs/SPADE](https://github.com/NVlabs/SPADE) SPADE是一种用于语义图像合成的模型,它通过空间自适应归一化(SPADE)来控制生成图像的风格和内容。该模型可以根据给定的语义标签生成逼真的图像,例如将草地替换为沙滩,或将白天场景转换为夜晚场景。SPADE 的优势在于它能够生成高质量、多样化的图像,并且可以根据用户的输入进行灵活控制。该项目提供了用于训练和测试 SPADE 模型的代码,以及预训练模型和数据集。用户可以通过安装依赖项并准备数据集来使用该模型。该项目还提供了在线交互式演示,用户可以体验 SPADE 的功能。
* [ZHO-ZHO-ZHO/ComfyUI-InstantID](https://github.com/ZHO-ZHO-ZHO/ComfyUI-InstantID) ComfyUI-InstantID 是一个非官方的 ComfyUI 插件,它实现了 InstantID,允许用户使用 InstantID 模型进行图像生成。该插件支持多种功能,包括从 huggingface hub 自动加载基础模型、加载本地模型、加载 InsightFace 模型、加载 ID ControlNet 模型、加载 Ipadapter_instantid模型,以及使用 ID Prompt_Styler 对生成的图像进行风格化。该插件还提供了多种风格选项,例如水彩、黑色电影、霓虹灯等。
* [fofr/cog-face-to-many](https://github.com/fofr/cog-face-to-many) 该项目名为“face-to-many”,可以将任何面部图像转换为3D模型、像素艺术、游戏角色、黏土动画或玩具。项目使用ComfyUI框架,并集成ControlNet、InstantID等技术,用户可以通过Replicate平台或ComfyUI界面运行模型。项目提供了一系列Loras模型,由artificialguybr制作,可实现不同风格的转换。用户可以本地部署项目,并通过Cog容器运行Web UI,实现远程访问和使用。
* [SHI-Labs/Versatile-Diffusion](https://github.com/SHI-Labs/Versatile-Diffusion) 多功能扩散:文本、图像和变体合二为一的扩散模型,可以原生支持图像到文本、图像变体、文本到图像和文本变体,并且可以进一步扩展到其他应用,例如语义式解缠、图像-文本双引导生成、潜在图像到文本到图像编辑等。
* [lengstrom/fast-style-transfer](https://github.com/lengstrom/fast-style-transfer) TensorFlow CNN 用于快速样式变换,在几分之一秒内将名画的风格添加到任何照片中!您甚至可以设置视频样式!
* [bryandlee/animegan2-pytorch](https://github.com/bryandlee/animegan2-pytorch) AnimeGANv2 的 PyTorch 实现 基于 CartoonGAN 的改进,并提出了一个更加轻量级的动漫风格效果生成器架构.
* [mchong6/GANsNRoses](https://github.com/mchong6/GANsNRoses) 多样化的 im2im 和 vid2vid 自拍到动漫转换。从人脸面部图像映射动漫风格图像。
* [junyanz/CycleGAN](https://github.com/junyanz/CycleGAN) 可以从绘画中生成照片、将马变成斑马、执行风格转换等的软件。
* [mchong6/JoJoGAN](https://github.com/mchong6/JoJoGAN) JoJoGAN 的官方 PyTorch 存储库:One Shot Face Stylization 人脸风格化
* [williamyang1991/VToonify](https://github.com/williamyang1991/vtoonify) SIGGRAPH Asia 2022 可控高分辨率人像视频风格迁移
* [TachibanaYoshino/AnimeGANv2](https://github.com/TachibanaYoshino/AnimeGANv2) AnimeGAN的改进版本。风景照片/视频到动漫风格
* [orpatashnik/StyleCLIP](https://github.com/orpatashnik/StyleCLIP) 文本驱动的StyleGAN风格生成图像处理
* [FrozenBurning/Text2Light](https://github.com/frozenburning/text2light) 零样本的文本驱动的HDR全景图生成
* [NVIDIA/FastPhotoStyle](https://github.com/NVIDIA/FastPhotoStyle) 风格迁移、深度学习、特征变换
* [syz825211943/Multi-Style-Photo-Cartoonization](https://github.com/syz825211943/Multi-Style-Photo-Cartoonization) 多风格照片卡通化
* [lllyasviel/style2paints](https://github.com/lllyasviel/style2paints) 草图 + 风格 = 绘画
## 多模态大模型
* [LargeWorldModel/LWM](https://github.com/LargeWorldModel/LWM) 大世界模型(LWM)是一种通用的大上下文多模态自回归模型。它使用 RingAttention 在包含各种长视频和书籍的大型数据集上进行训练,可以执行语言、图像和视频的理解和生成。当前的语言模型在理解世界不容易用语言描述的方面存在不足,并且难以完成复杂的长篇任务。视频序列提供了语言和静态图像中不存在的有价值的时间信息,使其对于与语言的联合建模具有吸引力。这样的模型可以发展对人类文本知识和物理世界的理解,从而实现更广泛的人工智能能力来协助人类。然而,由于内存限制、计算复杂性和有限的数据集,从数以百万计的视频和语言序列中学习带来了挑战。为了应对这些挑战,我们策划了一个包含各种视频和书籍的大型数据集,利用 RingAttention 技术对长序列进行可扩展的训练,并逐渐将上下文大小从 4K 增加到 1M 令牌。本文做出了以下贡献:(a)最大的上下文大小神经网络:我们在长视频和语言序列上训练了最大的上下文大小转换器之一,在困难的检索任务和长视频理解方面设定了新的基准。(b) 克服视觉语言训练挑战的解决方案,包括使用掩码序列打包来混合不同的序列长度,使用失权来平衡语言和视觉,以及使用模型生成的QA数据集进行长序列聊天。(c) 高度优化的实现,具有 RingAttention、屏蔽序列打包和其他关键功能,用于训练数百万长度的多模态序列。(d) 完全开源的7B参数模型系列,能够处理超过100万个令牌的长文本文档(LWM-Text、LWM-Text-Chat)和视频(LWM、LWM-Chat)。 这项工作为在长视频和语言的海量数据集上进行训练铺平了道路,以发展对人类知识和多模态世界的理解,以及更广泛的能力。
* [VITA-MLLM/VITA](https://github.com/VITA-MLLM/VITA) VITA ,这是第一个开源的多模态大语言模型(MLLM),擅长同时处理和分析视频、图像、文本和音频模态,同时具有先进的多模态交互能力经验。我们的工作通过三个关键特征与现有的开源 MLLM 区分开来:全方位多模式理解。 VITA 展示了多语言、视觉和音频理解方面强大的基础能力,其在一系列单模态和多模态基准测试中的强劲表现就证明了这一点。非觉醒互动。 VITA 可以在环境中被激活并响应用户的音频问题,无需唤醒词或按钮。音频中断交互。 VITA 能够同时实时跟踪和过滤外部查询。这允许用户随时用新问题中断模型的生成,VITA 将相应地响应新查询。VITA 能够处理纯文本/音频形式的输入,以及与文本/音频结合的视频/图像形式的输入。此外,还采用了两项关键技术来提升多模态交互体验:状态令牌。我们为不同的查询输入设置不同的状态标记。 <1> 对应于有效的查询音频,例如“世界上最大的动物是什么?”,我们期望模型对此做出响应。 <2> 对应于嘈杂的音频,例如环境中有人叫我吃饭,我们期望模型不会回复。 <3>对应查询文本,即用户以文本形式给出的问题。在训练阶段,我们尝试训练模型自动区分不同的输入查询。在部署阶段,通过<2>我们可以实现非唤醒交互。复式方案。我们进一步介绍了音频中断交互的双工方案。两个模型同时运行,其中生成模型负责处理用户查询。当生成模型开始工作时,另一个模型监视环境。如果用户因另一个有效的音频查询而中断,则监控模型会聚合历史上下文以响应最新的查询,而生成模型则暂停并调整以进行监控,即两个模型交换身份。
* [opendatalab/WanJuan1.0](https://github.com/opendatalab/WanJuan1.0) Intern·万卷1.0是Intern·万卷多模态语料库的第一个开源版本,包括文本数据集、图文数据集、视频数据集三部分,总数据量超过2TB。上海人工智能实验室基于大模型数据联盟构建的语料库,对部分数据进行了细粒度清洗、去重、价值对齐,形成了实习生·万卷1.0,具有多重融合、精细化处理、价值对齐、易用性和效率等。在多元融合方面,实习生·万卷1.0包含文本、图像、视频等多模态数据,涵盖科技、文学、传媒、教育、法律等多个领域。对提高知识内容、逻辑推理能力和泛化能力有显着效果。在精细化处理方面,实习生·万卷1.0经历了语言筛选、文本提取、格式标准化、基于规则和模型的数据过滤清洗、多尺度去重、数据质量评估等精细化数据处理环节。能够更好的满足后续模型训练的需求。在价值对齐方面,《实习生·万卷1.0》建设过程中,研究人员注重内容与中国主流价值观的对齐,通过算法与人工评估相结合,提高语料的纯度。在易用性和效率方面,研究人员在Intern·万卷1.0中采用了统一的格式,并提供了详细的领域描述和工具指导,使其易于使用和高效。让它可以快速应用到多模态大语言模型(MLLMs)或者大语言模型( LLM )的训练中。目前,Intern·万卷1.0已应用于Intern Multimodal、Intern Puyu等大型模型的训练。通过对优质语料库的“消化”,Intern系列模型在语义理解、知识问答、视觉理解、视觉问答等各种生成任务中展现出了优异的表现。
* [zjunlp/EasyDetect](https://github.com/zjunlp/EasyDetect) EasyDetect 是一个系统包,被提议作为研究实验中 GPT-4V、Gemini、LlaVA 等多模态大型语言模型 (MLLM) 的易于使用的幻觉检测框架。统一检测的先决条件是对 MLLM 中幻觉的主要类别进行连贯的分类。我们的论文从一个统一的角度对以下幻觉分类法进行了肤浅的研究:图 1:统一多模态幻觉检测旨在识别和检测物体、属性和场景文本等各个层面的模态冲突幻觉,以及图像到文本和文本到图像生成中的事实冲突幻觉。模态冲突幻觉。MLL 有时会生成与其他模式的输入冲突的输出,从而导致对象、属性或场景文本不正确等问题。上图 (a) 中的示例包括 MLLM 错误地描述了运动员的制服,展示了由于 MLLM 实现细粒度文本图像对齐的能力有限而导致的属性级冲突。事实冲突的幻觉。MLLM 的输出可能与已建立的事实知识相矛盾。图像到文本模型可以通过结合不相关的事实来生成偏离实际内容的叙述,而文本到图像模型可能会产生无法反映文本提示中包含的事实知识的视觉效果。这些差异凸显了 MLLM 难以保持事实的一致性,这是该领域的重大挑战。为了推进这一研究轨迹,我们引入了元评估基准 MHaluBench,它涵盖了从图像到文本和文本到图像生成的内容,旨在严格评估多模态幻觉检测器的进步。
* [invictus717/MetaTransformer](https://github.com/invictus717/MetaTransformer) Meta-Transformer 框架与多模态大型语言模型相结合,该模型执行多模态联合训练,支持更多模态,包括 fMRI、深度图和法线图,并在 25 个基准测试中展示了非常令人印象深刻的性能。作为基础模型,Meta-Transformer 可以处理来自 12 种模态的数据,这决定了它可以支持广泛的应用程序。如图所示,Meta-Transformer可以为下游任务提供服务,包括股票分析、天气预报、遥感、自动驾驶、社交网络、语音识别等。表 1:Meta-Transformer 能够处理多达 12 种模态,包括自然语言 、RGB 图像 、点云 、音频 、视频 、表格数据 、图形 、时间序列数据 、高光谱图像 、IMU 、医学图像 和红外图像 。此存储库旨在探索 transformer 在多模态学习中的潜力和可扩展性。我们利用 Transformer 的优势来处理长度变化序列。然后,我们按照元方案提出数据到序列的标记化,然后将其应用于 12 种模态,包括文本、图像、点云、音频、视频、红外、超光谱、X 射线、表格、图形、时间序列和惯性测量单元 (IMU) 数据。在获得令牌序列后,我们采用模态共享编码器来提取不同模态的表示。借助特定于任务的磁头,Meta-Transformer 可以处理不同模态的各种任务,例如:分类、检测和分割。
* [YangLing0818/RPG-DiffusionMaster](https://github.com/YangLing0818/RPG-DiffusionMaster) RPG采用先进的大语言模型(LLM)来提升对图像生成的文字提示的理解,将图像分解为不同的部分或区域。RPG是一种强大的免训练范式,可以利用专有的MLLM(如GPT-4、Gemini-Pro)或开源的本地MLLM(如miniGPT-4)作为提示的字幕重配和区域规划器,通过我们的互补区域扩散来实现SOTA文本到图像的生成和编辑。我们的框架非常灵活,可以推广到任意MLLM架构和扩散主干网。RPG还能够生成超高分辨率的图像。高度准确的图像生成: RPG框架能够根据复杂的描述生成高度准确和详细的图像,尤其在处理包含多个对象、属性和关系的场景时表现出色,生成的图像与文本描述高度一致。超越现有技术: 与现有的文本到图像模型相比,RPG框架展现了更好的性能,尤其在处理多元素组合和文本-图像语义对齐方面。灵活性和广泛适用性: 实验表明,RPG框架能够与不同的多模态大型语言模型和扩散模型兼容,适用于多种图像生成场景。提升质量和细节: 生成的图像不仅在视觉上吸引人,而且细节丰富,对于艺术创作、设计和娱乐等领域至关重要。RPG框架还能够处理复杂的交互和环境,生成的图像在构图和细节方面表现出色。
* [VPGTrans/VPGTrans](https://github.com/VPGTrans/VPGTrans) 跨LLM传输视觉提示生成器,实现极低成本训练一个高性能多模态大模型。从头开始训练一个视觉-语言模型(VL-LLM)往往需要消耗大量的资源,所以现有的解决方案都是把语言模型和视觉提示生成模型(Visual Prompt Generator, VPG)连接起来,但即便如此,继续调整VPG仍然需要几千个GPU小时和数百万的训练数据。通过我们提出的VPGTrans方法,可以快速(少于10%训练时间)将已有的多模态对话模型的视觉模块迁移到新的语言模型,且达到类似或更优效果。现有的常用的VL-LLM基本采取的架构:VPG(比如1.2B)->Projector(4M)->LLM(比如11B),在一个基座LLM基础上训练一个视觉soft prompt生成模块(Visual Prompt Generator, VPG),以及一个进行维度变换的线性层(Projector)。在训练过程中,LLM参数一般不会被更新,或者仅仅更新非常少量的参数。可训练参数主要来自于VPG和projector。VPGTrans框架: (1) 一阶段:projector的warm-up (2) 二阶段: 整体微调。(1)第一阶段:我们首先使用词向量转化器和原有projector进行融合作为新projector的初始化,然后用5倍学习率训练新projector一个epoch。(2)第二阶段:直接正常训练VPG和projector。
* [zhipeixu/FakeShield](https://github.com/zhipeixu/FakeShield) “FakeShield:通过多模态大型语言模型进行可解释的图像伪造检测和定位”的正式实现。生成式 AI 的快速发展是一把双刃剑,它不仅促进了内容创建,还使图像处理更容易和更难被检测。尽管目前的图像伪造检测和定位 (IFDL) 方法通常有效,但它们往往面临两个挑战:1) 具有未知检测原理的黑盒性质,2) 不同篡改方法(例如 Photoshop、DeepFake、AIGC-Editing)的泛化有限。为了解决这些问题,我们提出了可解释的 IFDL 任务并设计了 FakeShield,这是一个多模态框架,能够评估图像真实性,生成篡改区域掩码,并提供基于像素级和图像级篡改线索的判断依据。此外,我们利用 GPT-4o 来增强现有的 IFDL 数据集,创建多模态篡改描述数据集 (MMTD-Set) 来训练 FakeShield 的篡改分析能力。同时,我们整合了域标签引导的可解释伪造检测模块 (DTE-FDM) 和多模态伪造本地化模块 (MFLM),以解决各种类型的篡改检测解释,并实现由详细文本描述指导的伪造本地化。大量实验表明,FakeShield 可以有效地检测和定位各种篡改技术,与以前的 IFDL 方法相比,提供了一种可解释的卓越解决方案。
* [OpenBMB/VisCPM](https://github.com/OpenBMB/VisCPM) 基于CPM基础模型的中英双语多模态大模型系列。支持面向图像进行中英双语多模态对话。该模型使用Muffin视觉编码架构,使用CPM-Bee(10B)作为语言基座模型,并通过语言建模训练目标融合视觉和语言模型。模型训练包括预训练和指令精调两阶段:`1.预训练`:我们使用约100M高质量英文图文对数据对VisCPM-Chat进行了预训练,数据包括CC3M、CC12M、COCO、Visual Genome、Laion等。在预训练阶段,语言模型参数保持固定,仅更新视觉编码器的参数,以支持大规模视觉-语言表示的高效对齐。`2.指令精调`:采用LLaVA-150K英文指令精调数据,并混合相应翻译后的中文数据对模型进行指令精调,以对齐模型多模态基础能力和用户使用意图。在指令精调阶段,更新全部模型参数,以提升指令精调数据的利用效率。有趣的是,发现即使仅采用英文指令数据进行指令精调,模型也可以理解中文问题,但仅能用英文回答。表明模型的多语言多模态能力已得到良好泛化。在指令精调阶段进一步加入少量中文翻译数据,可以将模型回复语言和用户问题语言对齐。
* [QwenLM/Qwen2-VL](https://github.com/QwenLM/Qwen2-VL) Qwen2-VL 是由阿里云 Qwen 团队开发的多模态大型语言模型系列。 主要增强功能:SoTA对各种分辨率和比例的图像的理解:Qwen2-VL在视觉理解基准上达到了最先进的性能,包括MathVista、DocVQA、RealWorldQA、MTVQA等。理解 20min+ 视频:Qwen2-VL 具备在线推流功能,通过高质量的视频问答、对话、内容创作等方式,可以理解 20 分钟以上的视频。可以操作您的手机、机器人等的代理:Qwen2-VL 具有复杂的推理和决策能力,可以与手机、机器人等设备集成,根据视觉环境和文本指令进行自动操作。多语言支持:为了服务全球用户,除了英文和中文外,Qwen2-VL 现在还支持理解图像中不同语言的文本,包括大多数欧洲语言、日语、韩语、阿拉伯语、越南语等。模型架构更新:朴素的动态分辨率:与以前不同,Qwen2-VL 可以处理任意图像分辨率,将它们映射到动态数量的视觉标记中,从而提供更接近人类的视觉处理体验。多模态旋转位置嵌入 (M-ROPE):将位置嵌入分解到零件中,以捕获 1D 文本、2D 视觉和 3D 视频位置信息,从而增强其多模态处理能力。
* [harry0703/MoneyPrinterTurbo](https://github.com/harry0703/MoneyPrinterTurbo) 利用AI大模型,一键生成高清短视频。只需提供一个视频主题或 关键词 ,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然后合成一个高清的短视频。功能特性:完整的MVC架构,代码 结构清晰,易于维护,支持API和Web界面; 支持视频文案 AI自动生成,也可以自定义文案; 支持多种高清视频尺寸; 竖屏 9:16,1080x1920、 横屏 16:9,1920x1080; 支持 批量视频生成,可以一次生成多个视频,然后选择一个最满意的; 支持 视频片段时长 设置,方便调节素材切换频率; 支持中文和英文视频文案; 支持 多种语音 合成,可实时试听效果; 支持 字幕生成,可以调整;字体、位置、颜色、大小,同时支持字幕描边设置; 支持 背景音乐,随机或者指定音乐文件,可设置背景音乐音量; 视频素材来源 高清,而且 无版权,也可以使用自己的 本地素材; 支持 OpenAI、Moonshot、Azure、gpt4free、one-api、通义千问、Google Gemini、Ollama、 DeepSeek、 文心一言 等多种模型接入;中国用户建议使用 DeepSeek 或 Moonshot 作为大模型提供商。
* [lichao-sun/Mora](https://github.com/lichao-sun/Mora) Mora:更像是 Sora 的通才视频生成。Mora 是一个多智能体框架,旨在利用与多个视觉智能体的协作方法,促进通用视频生成任务。它旨在复制和扩展 OpenAI 的 Sora 的功能。受 OpenAI Sora: First Impressions 的启发,我们利用 Mora 制作了害羞的儿童视频。尽管 Mora 在视频时长 80 秒方面已经达到了与 Sora 相似的水平,但 Mora 在分辨率、物体一致性、运动流畅度等方面仍然存在很大差距。Mora:用于视频生成的多智能体框架:多代理协作: 利用多个高级视觉 AI 代理,每个代理都专注于视频生成过程的不同方面,以在各种任务中实现高质量的结果。任务范围广: 能够执行文本到视频生成、文本条件图像到视频生成、扩展生成的视频、视频到视频编辑、连接视频和模拟数字世界,从而涵盖广泛的视频生成应用程序。开源和可扩展:Mora 的开源性质促进了社区内的创新和协作,从而允许持续改进和定制。经过验证的性能:实验结果表明,Mora 能够在各种任务中实现接近 Sora 的性能,使其成为视频生成领域引人注目的开源替代方案。
* [Skyvern-AI/skyvern](https://github.com/Skyvern-AI/skyvern) 使用LLMs计算机视觉自动执行基于浏览器的工作流。Skyvern 使用LLMs计算机视觉自动执行基于浏览器的工作流程。它提供了一个简单的 API 端点,可以完全自动化大量网站上的手动工作流程,取代脆弱或不可靠的自动化解决方案。Skyvern 不仅依赖于代码定义的 XPath 交互,还依赖于计算机视觉和LLMs混合的提示来实时解析视口中的项目,创建交互计划并与之交互。这种方法为我们提供了一些优点:Skyvern 可以在以前从未见过的网站上运行,因为它能够将视觉元素映射到完成工作流程所需的操作,而无需任何自定义代码;Skyvern 可以抵抗网站布局更改,因为在尝试导航时,我们的系统没有预先确定的 XPaths 或其他选择器;Skyvern 能够采用单个工作流程并将其应用于大量网站,因为它能够通过完成工作流程所需的交互进行推理;Skyvern LLMs 利用交互进行推理,以确保我们能够涵盖复杂的情况。
* [baaivision/Emu](https://github.com/baaivision/Emu) BAAI的生成式多模态模型,人类在上下文中轻松解决多模态任务的能力(即,只需一些演示或简单的指令),是当前的多模态系统在很大程度上难以模仿的。在这项工作中,我们证明了大型多模态模型的任务无关的上下文学习能力可以通过有效的扩展得到显着增强。我们引入了 Emu2,这是一个具有 370 亿个参数的生成多模态模型,在具有统一自回归目标的大规模多模态序列上进行训练。Emu2 表现出强大的多模态上下文学习能力,甚至可以解决需要即时推理的任务,例如视觉提示和基于对象的生成。该模型在少样本设置下的多个多模态理解任务上创造了新纪录。当指令调整为遵循特定指令时,Emu2 在具有挑战性的任务上进一步实现了新的最先进的技术,例如大型多模态模型的问答基准和开放式主题驱动的生成。这些成就表明,Emu2可以作为各种多模态任务的基础模型和通用接口。
* [CaraJ7/MMSearch](https://github.com/CaraJ7/MMSearch) 对大型模型作为多模式搜索引擎的潜力进行基准测试。大型多模态模型(LMM)在多模态搜索中的能力仍未得到充分的探索和评估。为了填补LMM进行多模态人工智能搜索引擎框架的空白,我们首先设计了一个精致的管道MMSearch-Engine,以方便任何LMM充当多模态人工智能搜索引擎。为了进一步评估 LMM 在多模态搜索领域的潜力,我们引入了MMSearch ,这是一个专为评估多模态搜索性能而设计的全方位多模态搜索基准。该基准测试包含 300 个手动收集的实例,跨越 14 个子领域,与当前 LMM 的训练数据不存在重叠,确保只有在搜索中才能获得正确答案。此外,我们提出了一种逐步评估策略,以更好地理解 LMM 的搜索能力。通过执行三项单独的任务(重新查询、重新排序和汇总)以及一项具有完整搜索过程的具有挑战性的端到端任务来评估模型。最终得分由四项任务加权。
* [baaivision/Emu3](https://github.com/baaivision/Emu3) 一套新的最先进的多模态模型,仅使用 next-token 预测进行训练!通过将图像、文本和视频分词到一个离散空间中,我们在多模态序列的混合上从头开始训练单个转换器。Emu3 在生成和感知任务方面都优于几个成熟的任务特定模型,超越了 SDXL、LLaVA-1.6 和 OpenSora-1.2 等旗舰开放模型,同时消除了对扩散或组合架构的需求。Emu3 能够通过简单地预测下一个视觉标记,在文本输入后生成高质量的图像。该模型自然支持灵活的分辨率和样式。Emu3 表现出强大的视觉语言理解能力,可以看到物理世界并提供连贯的文本响应。值得注意的是,此功能是在没有依赖 CLIP 和预训练LLM的。Emu3 只是通过预测视频序列中的下一个标记来因果生成视频,这与 Sora 中的视频扩散模型不同。通过将视频置于上下文中,Emu3 还可以自然地扩展视频并预测接下来会发生什么。
* [NExT-GPT/NExT-GPT](https://github.com/NExT-GPT/NExT-GPT) 任意多模态大语言模型,第一个端到端MM-LLM,可感知输入并以文本,图像,视频和音频等的任意组合(任意对任意)生成输出。NExt-GPT建立在现有的预训练LLM,多模态编码器和SoTA扩散模型之上,具有足够的端到端指令调谐。`1. 多模态编码阶段。`利用已建立的编码器以各种模式对输入进行编码,其中这些表示通过投影层投影为LLM可理解的类似语言的表示。`2. LLM理解和推理阶段。`利用现有的开源LLM作为核心来处理语义理解和推理的输入信息。LLM不仅直接生成文本标记,而且还生成独特的“模态信号”标记,这些令牌作为指令来指示解码层是否以及相应地输出什么模态内容。`3. 多模式生成阶段。`基于变压器的输出投影层通过来自LLM(如果有)的特定指令接收多模态信号,将信号令牌表示映射到以下多模态解码器可以理解的表示中。
* [camenduru/ShareGPT4V-colab](https://github.com/camenduru/ShareGPT4V-colab) 使用更好的字幕改进大型多模态模型。一个开创性的大规模资源,拥有 120 万个高度描述性的标题,在多样性和信息内容方面超越了现有的数据集,涵盖了世界知识、物体属性、空间关系和美学评估。具体来说,ShareGPT4V 起源于从高级 GPT4-Vision 收集的精选 100K 高质量字幕,并已扩展到 120 万,并在这个子集上训练了出色的字幕模型。ShareGPT4V 首先证明了其在监督微调 (SFT) 阶段的有效性,方法是用我们的高质量字幕子集替换现有 SFT 数据集中等量的详细字幕,显着增强了 MME 和 MMBench 基准测试上的 LLaVA-7B、LLaVA-1.5-13B 和 Qwen-VL-Chat-7B 等 LMM,分别获得了 222.8/22.0/22.3 和 2.7/1.3/1.5。我们进一步将 ShareGPT4V 数据整合到预训练和 SFT 阶段,获得了 ShareGPT4V-7B,这是一款基于简单架构的卓越 LMM,在大多数多模态基准测试中具有卓越的性能。
* [OpenMOSS/AnyGPT](https://github.com/OpenMOSS/AnyGPT) 一种任意对任意的多模态语言模型,它利用离散表示来统一处理各种模态,包括语音、文本、图像和音乐。基本模型对齐了四种模态,允许在不同模态和文本之间进行多模态转换。此外,我们构建了基于各种生成模型的 AnyInstruct 数据集,其中包含任意模态互换的指令。在这个数据集上训练,我们的聊天模型可以进行自由的多模态对话,其中可以随意插入多模态数据。AnyGPT 提出了一种生成训练方案,该方案将所有模态数据转换为统一的离散表示,使用 Next Token Prediction 任务在大型语言模型 (LLM) 上进行统一训练。从“压缩就是智能”的角度来看:当 Tokenizer 的质量足够高,而 Tokenizer 的困惑度 (PPL) LLM 足够低时,就可以将互联网上的大量多模态数据压缩到同一个模型中,从而涌现出纯文本中LLM不存在的功能。
* [jina-ai/clip-as-service](https://github.com/jina-ai/clip-as-service) 使用 CLIP 对图像和句子进行可扩展的嵌入、推理和排名。一种低延迟、高可扩展性的服务,用于嵌入图像和文本。它可以作为微服务轻松集成到神经搜索解决方案中。`快速`:使用 TensorRT、ONNX 运行时和 PyTorch 提供 CLIP 模型,而无需 JIT,速度为 800QPS。请求和响应的无阻塞双工流,专为大数据和长时间运行的任务而设计。`弹性`:在单个 GPU 上水平扩展和缩减多个 CLIP 模型,并具有自动负载均衡功能。`易于使用`:没有学习曲线,客户端和服务器上的极简设计。直观且一致的 API,用于图像和句子嵌入。`新式`:异步客户端支持。使用 TLS 和压缩在 gRPC、HTTP、WebSocket 协议之间轻松切换。`集成`:与神经搜索生态系统(包括 Jina 和 DocArray)平滑集成。立即构建跨模式和多模式解决方案。
* [dnhkng/GlaDOS](https://github.com/dnhkng/GlaDOS) 这是一个致力于打造现实版GLaDOS的项目,旨在实现Valve《传送门》系列游戏中的AI。该项目包括硬件和软件部分,旨在创造一个有意识、互动且具象的GLaDOS。项目目标包括训练GLaDOS语音生成器、生成一个逼真的“人格核心”、为GLaDOS提供基于MemGPT的短期和长期记忆、通过LLaVA赋予GLaDOS视觉能力、创建3D打印部件以及设计动画系统。软件架构基于低延迟平台,GLaDOS可以在600毫秒内对语音交互做出反应,并通过语音识别、文本转语音等技术实现实时对话。硬件系统将基于伺服电机和步进电机,并提供3D打印模型,使GLaDOS能够进行动画表达,并通过视觉系统追踪和转向感兴趣的人和物。该项目提供简化的Windows和macOS安装流程,方便用户快速体验GLaDOS。
* [Leoleojames1/ollama_agent_roll_cage](https://github.com/Leoleojames1/ollama_agent_roll_cage) ollama_agent_roll_cage (OARC) 是一个本地 Python 代理,它将ollama LLM 与 Coqui-TTS 语音模型、Keras 分类器、Llava 视觉、Whisper 识别等结合在一起,创建一个用于本地自定义自动化的统一聊天机器人代理。该程序通过对话历史、模型管理、函数调用以及最终定义一个基础现实来管理和自动化聊天机器人的创建,让您的代理通过交互空间(用于 Windows 软件、本地文件和可调用屏幕截图)构建其世界观,从而让用户通过多模态代理链式思维和外部软件工具的混合来更好地控制代理的可能输出。OARC 包括 /create 命令,允许用户通过文本和语音命令为自定义模型文件定义模型和系统提示。OARC 还提供视频演示,展示其语音到语音、视觉和代理库功能。
* [xxxnell/how-do-vits-work](https://github.com/xxxnell/how-do-vits-work) “视觉转换器如何工作?(ICLR 2022 )”的 PyTorch 实现。CV的多头自注意力 (MSA) 的成功并不在于弱归纳偏差以及捕获远程依赖项。 MSA 不仅是广义的 Convs,而是补充 Convs 的广义空间平滑。特别是,MSA 通过拉平损失情况来改进 NN。一个关键特征是它的数据特异性(数据依赖性),而不是远程依赖性。另一方面,ViTs 遭受非凸损失。MSA 和 Convs 表现出相反的行为,MSA 是低通滤波器,而 Convs 是高通滤波器。MSA 是形状偏向的,而 Convs 是纹理偏向的。因此,MSAs 和 Convs 是互补的。阶段末尾的 MSA(不是模型)显着提高了准确性。我们通过用 MSA 替换阶段结束时的 Convs 来引入 AlterNet。 AlterNet 在大小数据领域都优于 CNN。
* [NVlabs/VILA](https://github.com/NVlabs/VILA) VILA - 一种具有训练、推理和评估配方的多图像视觉语言模型,可从云部署到边缘(Jetson Orin 和笔记本电脑)。VILA 是一种视觉语言模型 (VLM),使用大规模交错的图文数据进行预训练,可实现视频理解和多图像理解能力。VILA 可通过 AWQ 4bit 量化和 TinyChat 框架在边缘部署。我们发现:(1)图文对是不够的,交错的图文是必不可少的;(2)交错图文预训练中的解冻LLM使上下文学习成为可能;(3)重新混合纯文本指令数据对于提高VLM和纯文本性能至关重要;(4) 令牌压缩扩展 #video 帧。VILA展示了吸引人的功能,包括:视频推理、上下文学习、视觉思维链和更好的世界知识。
* [opendilab/LMDrive](https://github.com/opendilab/LMDrive) 使用大型语言模型实现闭环端到端驾驶。一个端到端、闭环、基于语言的自动驾驶框架,通过多模态多视图传感器数据和自然语言指令与动态环境进行交互。我们的目标是开发一种智能驾驶智能体,该智能体可以基于三个输入源生成驾驶动作:1)传感器数据(多视角摄像头和激光雷达),使智能体能够生成感知并符合当前场景的动作;2)导航指令(例如变道、转弯),以便智能体可以驾驶以满足自然语言的要求(来自人类或导航软件的指令);3)人类注意指令,使智能体能够与人类互动,适应人类的建议和偏好(例如注意对抗性事件,处理长尾事件等)。
* [mlfoundations/open_clip](https://github.com/mlfoundations/open_clip) CLIP (对比语言-图像预训练)的开源实现。在各种数据源和计算预算上训练了多个模型,从小规模实验到大型运行,包括在 LAION-400M、LAION-2B 和 DataComp-1B 等数据集上训练的模型。在论文中详细研究了我们的许多模型及其缩放特性,用于对比语言图像学习的可重复缩放定律。此存储库专注于训练 CLIP 模型。要在下游分类任务(如 ImageNet)上微调经过训练的零样本模型,请参阅我们的其他存储库:WiSE-FT。WiSE-FT 存储库包含我们关于零样本模型的鲁棒微调的论文的代码,其中我们介绍了一种微调零样本模型的技术,同时在分布偏移下保持鲁棒性。
* [TinyLLaVA/TinyLLaVA_Factory](https://github.com/TinyLLaVA/TinyLLaVA_Factory) TinyLLaVAFactory是一个开源的模块化代码库,用于构建小型的大型多模态模型(LMM),它使用PyTorch和HuggingFace实现,并专注于代码实现的简洁性、新功能的可扩展性和训练结果的可重复性。该项目提供了多种模型和方法,包括OpenELM、TinyLlama、StableLM、Qwen、Gemma和Phi等语言模型,CLIP、SigLIP、Dino等视觉模型,以及MLP、Qformer和Resampler等连接器。用户可以使用TinyLLaVA Factory自定义自己的大型多模态模型,并通过冻结/完全/部分微调和LoRA/QLoRA微调等训练方法进行训练。该项目还提供了一个演示网站,用户可以体验TinyLLaVA模型的功能。
* [huggingface/diffusers](https://github.com/huggingface/diffusers) 用于在 PyTorch 中生成图像和音频的最先进的扩散模型,用于生成分子的图像、音频甚至 3D 结构。无论您是在寻找简单的推理解决方案还是训练自己的扩散模型,扩散器都是一个支持两者的模块化工具箱。我们的库的设计侧重于可用性而不是性能,简单而不是简单,以及可定制性而不是抽象。扩散器提供三个核心组件:最先进的扩散管道,只需几行代码即可在推理中运行。可互换的噪声调度器,用于不同的扩散速度和输出质量。预训练模型,可用作构建块,并与调度程序结合使用,用于创建您自己的端到端扩散系统。
* [ShannonAI/OpenViDial](https://github.com/ShannonAI/OpenViDial) 一个大规模多模态对话数据集.当人类交谈时,说话者接下来会说什么很大程度上取决于他所看到的。OpenViDial 是用于此目的的大型多模块对话数据集。这些对话回合和视觉上下文是从电影和电视剧中提取的,其中每个对话回合都与它发生的相应视觉上下文配对。对于OpenViDial 1.0,共包含 110 万个对话轮次,因此图像中存储了 110 万个视觉上下文。对于OpenViDial 2.0,包含 560 万个对话轮次以及 560 万个存储在图像中的视觉上下文。基于OpenViDial,同时提出了三个模型,以不同的粒度融合视觉信息,预测下一句的对话内容。
* [Liuziyu77/MIA-DPO](https://github.com/Liuziyu77/MIA-DPO) MIA-DPO是一个用于大型视觉语言模型的视觉偏好对齐方法,它通过将单图像数据扩展到无关图像的网格拼贴或画中画格式来解决多图像任务中训练数据稀缺的问题,从而有效地处理多图像输入。MIA-DPO利用模型的注意力机制来识别和过滤掉模型可能错误关注的拒绝响应,从而在不依赖人工标注、额外数据或外部模型的情况下构建选择/拒绝对。MIA-DPO与各种架构兼容,在五个多图像基准测试中优于现有方法,在LLaVA-v1.5和最近的InternLM-XC2.5上平均性能提升分别为3.0%和4.3%。此外,MIA-DPO对模型理解单图像的能力影响很小。
* [THUDM/Android-Lab](https://github.com/THUDM/Android-Lab) AndroidLab是一个用于训练和系统性评估 Android 自动代理的框架,包含操作环境和可复现的基准测试。基准测试包括预定义的 Android 虚拟设备和 138 个跨 9 个应用程序的任务。该项目提供两种执行模式:Mac 上的 AVD (arm64) 和 Linux 上的Docker (x86_64),支持添加或修改新任务或 Android 镜像。它提供了一个完整的评估框架,可用于评估各种 Android代理的性能。该项目使用 Android Instruct 数据集训练了六个开源文本和多模态模型,在 LLM 和 LMM 中分别取得了 4.59% 到 21.50%和 1.93% 到 13.28% 的平均成功率,性能水平与专有模型相当。
* [facebookresearch/mmf](https://github.com/facebookresearch/mmf) MMF是 Facebook AI Research 开发的一个模块化框架,用于视觉和语言多模态研究。它包含最先进的视觉和语言模型的参考实现,并已为 Facebook AI Research的多个研究项目提供支持。MMF 基于 PyTorch,支持分布式训练,并具有无偏见、可扩展和快速的特点。你可以使用 MMF来快速启动你的下一个视觉和语言多模态研究项目,并查看 MMF 的功能列表。MMF 也是视觉和语言数据集(The Hateful Memes、TextVQA、TextCaps 和 VQA 挑战)的入门代码库。MMF 以前被称为 Pythia。你可以查看 MMF 的视频概述,了解数据集和模型在 MMF 中的工作原理。
* [shikiw/Modality-Integration-Rate](https://github.com/shikiw/Modality-Integration-Rate) 该项目是论文 "Deciphering Cross-Modal Alignment in Large Vision-Language Models with Modality Integration Rate" 的官方代码实现。它提供了一个名为 Modality Integration Rate(MIR) 的指标,用于衡量视觉语言模型中跨模态对齐程度,并提出了一种名为 MoCa 的方法,通过在预训练过程中加入 MIR 损失函数来提高模型的跨模态对齐能力。项目包含 MIR 的计算代码和 MoCa 的训练代码,并提供预训练模型的权重。用户可以根据自己的模型进行调整,使用 MIR 指标评估模型的跨模态对齐能力,并使用 MoCa 方法提升模型的跨模态对齐性能。
* [Sally-SH/VSP-LLM](https://github.com/sally-sh/vsp-llm) 视觉语音处理与LLMs(VSP-LLM)相结合,通过带来压倒性的LLMs功率来最大限度地提高上下文建模能力。具体来说,VSP-LLM旨在执行视觉语音识别和翻译的多任务,其中给定的指令控制任务的类型。通过采用自监督视觉语音模型,将输入视频映射到 LLM 的输入潜在空间。针对输入帧中存在冗余信息的事实,我们提出了一种新颖的重复数据删除方法,该方法通过采用视觉语音单元来减少嵌入的视觉特征。通过所提出的重复数据删除和低秩适配器 (LoRA),VSP-LLM 可以以计算高效的方式进行训练。
* [sthalles/SimCLR](https://github.com/sthalles/SimCLR) 这是一个使用 PyTorch 实现的 SimCLR 库,它提供了一个简单框架用于对比学习视觉表示。该库包含一个完整的文档博客文章,以及一个用于BYOL 的 PyTorch 实现。用户可以使用 conda 命令安装该库,并通过配置文件调整运行配置。SimCLR 通过线性模型协议评估特征,该协议在 STL10 和 CIFAR10 数据集上取得了良好的结果,例如在 STL10 数据集上使用 ResNet-18 架构,训练 100 个 epoch 后,Top1 准确率达到 74.45%。该库还支持 16 位精度 GPU 训练,无需安装 NVIDIA apex,只需使用 `--fp16_precision`标志即可。
* [HuiGuanLab/ms-sl](https://github.com/HuiGuanLab/ms-sl) 基于传统的跨模态文本-视频检索(Video-to-Text Retrieval, T2VR)任务,提出了部分相关的视频检索(Partially Relevant Video Retrieval, PRVR)。PRVR 旨在从大量未剪辑的长视频中检索出与查询文本部分相关的对应视频。作者设计了多尺度多示例模型,该模型分别对视频进行片段尺度和帧尺度的特征表示,并引入了以关键片段为向导的注意力聚合方法,模型整体以从粗到细的方式学习文本-视频间的相似度关系。该模型也可用于提高视频库片段检索(Video Corpus Moment Retrieval,VCMR)模型的性能。
* [semperai/amica](https://github.com/semperai/amica) Amica是一个开源的交互式 3D 角色通信界面,它支持语音合成和语音识别。你可以与高度可定制的 3D 角色进行对话,角色可以通过自然语音聊天和视觉进行交流,并带有情感引擎,使 Amica 能够表达情感等。你可以使用任何 AI 技术以任何你想要的方式定制它。Amica 使用了多种技术,包括 three.js、@pixiv/three-vrm、Transformers.js、Whisper、Silero VAD、Llama.cpp 服务器、ChatGPT API、Eleven Labs API、Speech T5、OpenAI 等。你可以导入 VRM 文件,调整声音以适应角色,并生成包含情感表达的响应文本。
* [Ma-Lab-Berkeley/CRATE](https://github.com/Ma-Lab-Berkeley/CRATE) CRATE (CodingRAte reduction TransformEr) 是一个基于稀疏率压缩的 Transformer 模型,旨在通过减少模型的编码率来提高白盒可解释性。该项目包含了 CRATE 的 PyTorch 实现,并提供了预训练模型、训练脚本以及示例代码。CRATE 通过在 Transformer 架构中引入编码率压缩机制,使得模型能够学习到更稀疏的特征表示,从而提高模型的可解释性。同时,CRATE 在图像分类、语义分割和自监督学习等任务上取得了显著的性能。该项目还提供了一篇综述论文,涵盖了 CRATE 在不同领域的研究成果。
* [livekit/agents](https://github.com/livekit/agents) LiveKitAgents是一个用于构建实时多模态 AI 应用的框架,它允许你创建能够实时看到、听到和说话的 AI 驱动的服务器程序。Agents 通过 LiveKit 会话与最终用户设备连接,处理来自用户设备的文本、音频、图像或视频流,并使用 AI 模型生成这些模态的组合作为输出,并将其流回用户。它支持 OpenAI 实时 API,提供高层抽象来构建语音代理或助手,并与 LiveKit 的电话系统兼容。Agents 框架还包括各种插件,用于处理流式输入或生成输出,例如文本转语音或运行流行的 LLM 推理。
* [facebookresearch/vizseq](https://github.com/facebookresearch/vizseq) VizSeq是一个用于自然语言生成任务(机器翻译、摘要、图像字幕等)的视觉分析工具包。它可以将多模态来源、文本参考以及文本预测作为输入,并通过 Jupyter Notebook 或内置 Web 应用程序进行可视化分析。VizSeq 还提供了一系列多进程评分器,作为标准 Python 包使用。VizSeq 支持多种任务,包括机器翻译、文本摘要、图像字幕、语音识别、语音翻译和视频描述,并涵盖了 BLEU、METEOR、ROUGE、BERTScore 等多种指标。用户可以通过 pip 安装 VizSeq,并参考官方文档进行使用。
* [OpenBMB/MiniCPM-V](https://github.com/OpenBMB/MiniCPM-V) 面向图文理解的开源多模态大模型系列。该系列模型接受图像和文本输入,并提供高质量的文本输出。我们发布了两个版本的模型,旨在实现领先的性能和高效的部署:MiniCPM-V 2.8B:可在终端设备上部署的先进多模态大模型。最新发布的 MiniCPM-V 2.0 可以接受 180 万像素的任意长宽比图像输入,实现了和 Gemini Pro 相近的场景文字识别能力以及和 GPT-4V 相匹的低幻觉率。OmniLMM-12B:相比同规模其他模型在多个基准测试中具有领先性能,实现了相比 GPT-4V 更低的幻觉率。
* [alpha-vllm/lumina-t2x](https://github.com/alpha-vllm/lumina-t2x) Lumina-T2X是一个统一的框架,用于文本到任何模态生成。一系列文本条件扩散转换器 (DiT),能够将文本描述转换为生动的图像、动态视频、详细的多视图 3D 图像和合成语音。Lumina-T2X的核心是基于流量的大扩散变压器(Flag-DiT)——一个强大的引擎,支持多达70亿个参数,并将序列长度扩展到128,000个令牌。Lumina-T2X从Sora中汲取灵感,将图像,视频,3D对象的多视图和语音频谱图集成在时空潜在标记空间中,并且可以生成任何分辨率,纵横比和持续时间的输出。
* [princeton-nlp/WebShop](https://github.com/princeton-nlp/WebShop) WebShop是一个模拟的电子商务网站环境,包含118万个真实产品和12087条由众包收集的文本指令。在这个环境中,代理需要在多种类型的网页中导航,并执行各种操作来查找、定制和购买产品,以满足给定的指令。WebShop提供了几个挑战,包括理解组合指令、查询(重新)公式化、处理网页中的噪声文本以及执行策略性探索。该项目提供代码用于复现论文结果,并提供了一个Hugging Face演示,用户可以输入自然语言查询,让训练好的代理在亚马逊或eBay上查找产品。
* [simular-ai/Agent-S](https://github.com/simular-ai/Agent-S) Agent S是一个开源框架,旨在通过Agent-Computer Interface实现与计算机的自主交互。该项目的目标是构建能够从过往经验中学习并自主完成复杂任务的智能GUI代理。Agent S使用图像和可访问性树作为输入,在OSWorld测试集上取得了成功的成果,能够在369个测试用例中成功率达到90%以上。用户可以轻松安装Agent S,并通过设置LLM API密钥和环境变量来使用OpenAI、Azure OpenAI、Anthropic和vLLM等模型。此外,Agent S还集成了Perplexica API,为用户提供搜索引擎功能,提升用户体验。
* [HITsz-TMG/UMOE-Scaling-Unified-Multimodal-LLMs](https://github.com/HITsz-TMG/UMOE-Scaling-Unified-Multimodal-LLMs) Uni-MoE是基于MoE的统一多模态模型,可以处理包括音频、语音、图像、文本和视频在内的多种模态。Uni-MoE的模型架构如下图所示。三个训练阶段包括:1)利用来自不同模态和语言的配对来构建连接器,将这些元素映射到统一的语言空间,为多模态理解奠定基础;2)使用跨模态数据培养特定模态专家,以确保深入理解,为有凝聚力的多专家模型做好准备;3) 将多名训练有素的专家纳入LLMs并使用 LoRA 技术对混合多模态数据进行统一的多模态模型进行改进。
* [imageclef.org](https://www.imageclef.org/) ImageCLEF 旨在为图像的跨语言注释和检索提供一个评估论坛。由于需要支持来自全球社区的多语言用户访问不断增长的视觉信息体,ImageCLEF 的主要目标是支持视觉媒体分析、索引、分类和检索领域的进步,通过开发必要的用于评估在单语、跨语言和与语言无关的上下文中运行的视觉信息检索系统的基础设施。ImageCLEF 旨在为此类基准测试提供可重用资源。包括:(视觉)信息检索、跨语言信息检索、计算机视觉和模式识别、医学信息学、人机交互等。
* [OpenAdaptAI/OpenAdapt](https://github.com/OpenAdaptAI/OpenAdapt) OpenAdapt是一个开源的生成式流程自动化软件,它将大型多模态模型 (LMMs) 与传统的桌面和 Web 图形用户界面 (GUIs)连接起来。OpenAdapt 通过学习人类演示来自动生成提示,将基础模型 (例如 GPT-4、ACT-1) 变成强大的自动化工具,用于处理重复的 GUI 工作流程。OpenAdapt 与所有类型的桌面 GUI 兼容,包括虚拟化 (例如 Citrix) 和 Web,并且是开源的 (MIT 许可证)。它与 Adept.ai 类似,但具有以下关键区别:模型无关性、自动提示生成、对所有类型 GUI 的支持以及开源。
* [yxuansu/PandaGPT](https://github.com/yxuansu/PandaGPT) 第一个能够跨六种模式的指令遵循数据的基础模型,而无需明确的监督。它展示了多种多模态功能,例如复杂的理解/推理、基于知识的描述和多回合对话。PandaGPT 是一种通用的指令遵循模型,既能看又能听。可以执行复杂的任务,例如生成详细的图像描述、编写受视频启发的故事以及回答有关音频的问题。更有趣的是,PandaGPT 可以同时接受多模态输入并自然地组成它们的语义。例如,PandaGPT 可以连接对象在照片中的外观以及它们在音频中的声音。
* [salesforce/LAVIS](https://github.com/salesforce/LAVIS) 用于语言和视觉智能研究和应用的 Python 深度学习库。 该库旨在为工程师和研究人员提供一站式解决方案,以针对其特定的多模式场景快速开发模型,并跨标准和定制数据集对它们进行基准测试。 它具有统一的界面设计以访问:10 多个任务(检索、字幕、视觉问答、多模态分类等);20 多个数据集(COCO、Flickr、Nocaps、Conceptual Commons、SBU 等);30 多个最先进的基础语言视觉模型的预训练权重及其特定于任务的改编,包括 ALBEF、BLIP、ALPRO、CLIP。
* [AILab-CVC/GPT4Tools](https://github.com/AILab-CVC/GPT4Tools) GPT4Tools是一个智能系统,可以自动决定、控制和利用不同的视觉基础模型,允许用户在对话中与图像进行交互。它基于Vicuna(LLaMA)和71K个自建指令数据。通过分析语言内容,GPT4Tools能够自动决定、控制和利用不同的视觉基础模型,允许用户在对话中与图像进行交互。与之前的工作不同,GPT4Tools支持用户通过自指令和LoRA对自己的LLM进行简单的微调,使其能够使用工具。该项目提供了预训练的GPT4Tools模型(Vicuna-13B)和用于自指令的数据集。
* [zjysteven/lmms-finetune](https://github.com/zjysteven/lmms-finetune) lmms-finetune是一个用于微调大型多模态模型的简易代码库,支持LLaVA-1.5/1.6、LLaVA-Interleave、LLaVA-NeXT-Video、LLaVA-Onevision、Qwen-VL、Qwen2-VL、Phi3-V等模型。该代码库的设计目标是提供一个统一、简洁的结构,方便用户快速集成最新的多模态模型并进行微调。它使用Hugging Face官方实现,并保持代码简洁轻量,易于理解和修改。目前支持多种类型的模型,包括单图像模型、多图像模型、视频模型和统一模型,并支持全微调、LoRA和Q-LoRA等训练策略。
* [showlab/computer_use_ootb](https://github.com/showlab/computer_use_ootb) 这是一个无需 Docker 的 Anthropic Claude 计算机使用 API 开箱即用 (OOTB) 解决方案,支持任何平台(目前已在 Windows 上测试),并提供基于 Gradio 的用户友好界面。该项目允许用户通过手机远程控制电脑,无需安装任何移动应用程序。用户可以通过网站输入 Anthropic API 密钥,并向 AI 发送指令,让其执行各种任务。该项目目前支持 Windows 系统,并计划未来支持 Mac 和移动设备的控制功能,同时也将支持其他大型语言模型,如 GPT-4o 和 Qwen2-VL。
* [etched-ai/open-oasis](https://github.com/etched-ai/open-oasis) OpenOasis 500M 是一个基于扩散 Transformer 的交互式世界模型,由 Decart 和 Etched 共同开发,它接受用户键盘输入并以自回归方式生成游戏玩法。该项目发布了 Oasis 500M 的模型权重,这是一个缩小版的模型,以及用于动作条件帧生成的推理代码。用户可以使用提供的推理脚本加载视频中的提示帧并生成其他帧,并可以指定自定义图像提示。生成的视频将保存到 `video.mp4` 文件中。该项目还提供了两个示例视频,展示了 500M 模型的生成效果。
* [apple/ml-mgie](https://github.com/apple/ml-mgie) 该项目名为 MGIE,旨在通过多模态大型语言模型 (MLLM)来指导基于指令的图像编辑。MGIE 利用 MLLM 的跨模态理解能力,从简短的指令中推导出更详细的编辑指令,并通过端到端训练,使编辑模型能够捕捉到这种视觉想象并进行图像操作。项目提供预训练模型和快速入门指南,用户可使用预训练模型进行图像编辑,并可通过提供的代码和数据进行自定义训练。该项目使用 CC-BY-NC 许可证,并使用第三方软件 LLaMa,用户需遵守其使用条款。
* [0nutation/SpeechGPT](https://github.com/0nutation/SpeechGPT) 为大型语言模型提供内在的跨模态对话能力。具有固有跨模态对话能力的大型语言模型,能够按照人类指令感知和生成多模型内容。对于离散语音表示,我们首先构建了SpeechInstruct,这是一个大规模的跨模态语音指令数据集。此外,我们采用三阶段训练策略,包括模态适应预训练、跨模态指令微调和模态链指令微调。实验结果表明,SpeechGPT具有令人印象深刻的遵循多模态人类指令的能力,并突出了用一个模型处理多种模态的潜力。
* [xverse-ai/XVERSE-V-13B](https://github.com/xverse-ai/XVERSE-V-13B) XVERSE-V-13B 是一个由深度学习技术驱动的多模态大模型,它结合了视觉编码器 openai/clip-vit-large-patch14-224 和文本模型 XVERSE-13B-Chat,并使用两个高效的 MLP 结构进行融合。该模型在 2.1B 图像数据和 8.2M 指令数据上进行训练,能够理解图像和文本,并执行各种任务,例如图像描述、问答和图像生成。与其他模型不同,XVERSE-V-13B 将图像分割成 224x224 的多个区域,并将这些区域分别输入视觉编码器,这使得它能够更好地处理高分辨率图像。
* [YehLi/xmodaler](https://github.com/YehLi/xmodaler) X-modaler是一个功能强大且高性能的跨模态分析代码库,支持图像字幕、视频字幕、视觉语言预训练、视觉问答、视觉常识推理和跨模态检索等任务。该代码库整合了最先进的视觉语言技术的全面高质量模块,并以标准化和用户友好的方式进行组织。项目提供了一套基线结果和训练模型,包含图像字幕、视频字幕、视觉问答、视觉常识推理和跨模态检索等任务的模型。用户可以根据自己的需求选择合适的模型进行训练和评估。
* [Alibaba-MIIL/STAM](https://github.com/Alibaba-MIIL/STAM) 受NLP中Transformer成功的启发,我们尝试将一个标准Transformer直接应用到图像上,尽可能少的修改。为此,我们将图像分割成小块,并将这些块转化为线性嵌入序列,作为Transformer的输入。图像块(image patches)就相当于NLP任务中的单词(token)来做处理。并以有监督的方式训练图像分类模型。大规模的训练可以克服归纳偏置(inductive biases)。当ViT在足够规模上进行预先训练,并迁移到较少数据量的任务时,可以获得出色结果。
* [ChenRocks/UNITER](https://github.com/ChenRocks/UNITER) 支持在 [NLVR2](http://lil.nlp.cornell.edu/nlvr/)、[VQA](https://visualqa.org/)、[VCR](https://visualcommonsense.com/)、 [SNLI-VE 、](https://github.com/necla-ml/SNLI-VE) [COCO](https://cocodataset.org/#home)和 [Flickr30k](http://shannon.cs.illinois.edu/DenotationGraph/)的图像文本检索以及 [引用表达式理解](https://github.com/lichengunc/refer)(RefCOCO、RefCOCO+ 和 RefCOCO-g)上微调 UNITER。UNITER-base 和 UNITER-large 的预训练检查点均已发布。还可以使用域内数据进行基于 UNITER 的预训练。
* [om-ai-lab/OmAgent](https://github.com/om-ai-lab/OmAgent) OmAgent是一个多模态智能体框架,旨在利用多模态大型语言模型和其他多模态算法来完成复杂任务。它包含一个轻量级的智能体框架omagent_core,用于解决多模态挑战。该框架构建了一个复杂的视频理解系统,可用于实现各种创新想法。OmAgent包含三个核心组件:Video2RAG、DnCLoop和Rewinder Tool,分别用于将视频理解转化为多模态RAG任务、通过递归任务处理逻辑分解复杂任务,以及通过“进度条”工具Rewinder解决信息丢失问题。
* [apple/ml-ferret](https://github.com/apple/ml-ferret) Ferret是一个端到端的 MLLM 项目,能够接受任何形式的引用并相应地定位任何内容。它包含一个混合区域表示和空间感知视觉采样器,支持在 MLLM 中进行细粒度和开放词汇的引用和定位。项目还包含一个名为 GRIT 的大型、分层、鲁棒的 ground-and-refer 指令微调数据集,以及一个名为 Ferret-Bench 的多模态评估基准,它需要引用/定位、语义、知识和推理。项目提供代码、预训练模型和数据集,并提供安装、训练和评估指南。
* [deepseek-ai/Janus](https://github.com/deepseek-ai/Janus) Janus 是一种新颖的自回归框架,它统一了多模态理解和生成。它通过将视觉编码解耦为单独的路径来解决以前方法的局限性,同时仍然使用单一、统一的 transformer 架构进行处理。解耦不仅缓解了视觉编码器在理解和生成中的角色冲突,还增强了框架的灵活性。Janus 超越了以前的统一模型,并达到或超过特定于任务的模型的性能。Janus 的简单性、高度灵活性和有效性使其成为下一代统一多模态模型的有力候选者。
* [clementchadebec/benchmark_VAE](https://github.com/clementchadebec/benchmark_VAE) Pythae是一个基于PyTorch的变分自编码器(VAE)库,提供统一的实现,方便进行基准测试和比较。它支持多种VAE模型,并允许用户自定义编码器和解码器网络结构。Pythae集成了实验监控工具,如wandb、mlflow和comet-ml,并支持模型共享和加载到HuggingFace Hub。它还支持使用PyTorch的DDP进行分布式训练,以加速训练过程。用户可以轻松地使用Pythae训练模型、生成数据、定义自定义网络架构,以及进行分布式训练和模型共享。
* [salesforce/ALBEF](https://github.com/salesforce/ALBEF) ALBEF是一种新的视觉-语言预训练方法,它在融合之前先对视觉和语言表示进行对齐,并在 NeurIPS 2021 上获得了 Spotlight 奖。该项目提供了预训练和微调模型,支持自定义数据集的预训练,以及在 VQA、SNLI-VE、NLVR2、MSCOCO 和 Flickr30k 上的图像-文本检索,以及在 RefCOCO+ 上的视觉定位。该项目还提供代码来可视化图像中每个词语的重要区域。ALBEF 现已正式集成到 LAVIS 库中,该库是语言和视觉研究及应用的一站式库。
* [wan-h/awesome-digital-human-live2d](https://github.com/wan-h/awesome-digital-human-live2d) AwesomeDigital Human 是一个用于快速构建数字人的开源项目,支持 Docker 部署,资源占用低,仅需 2 核 2G 内存即可运行。该项目支持 Dify/FastGPT 等编排平台接入,并集成 ASR、LLM、TTS、Agent 等模型,可实现数字人形象展示、语音交互、知识问答等功能,支持 PC 端和移动端 Web 访问。项目基于 Dify 等平台构建应用模型,简化了数字人开发流程。该项目提供多种交互模式,包括文本交互、数字人交互和沉浸式交互。
* [CMMMU-Benchmark/CMMMU](https://github.com/CMMMU-Benchmark/CMMMU) CMMMU是一个包含12,000个手动收集的多模态问题的中文大规模多学科多模态理解基准,涵盖艺术与设计、商业、科学、健康与医学、人文与社会科学、科技与工程六个核心学科,包含30个科目和39种高度异质的图像类型,例如图表、图表、地图、表格、乐谱和化学结构。该项目提供评估代码,并提供EvalAI测试服务器供用户提交模型进行评估。项目还提供了一个迷你排行榜,展示了不同模型在CMMMU上的性能。
* [PallavAg/claude-computer-use-macos](https://github.com/PallavAg/claude-computer-use-macos) 该项目是一个 MacOS 上的 Claude 计算机使用演示,它使用 Python 脚本,无需 Docker 容器即可模拟鼠标和键盘操作以及运行 bash 命令,从而让 Claude 3.5 Sonnet 在你的 Mac 上执行任务。该项目基于 Anthropic 的计算机使用演示,经过优化以适应 MacOS。该项目允许你通过命令行或编辑 `main.py` 文件来向 Claude 发送指令,并通过 `Ctrl+C` 退出脚本。请注意,该脚本可能存在安全风险,使用前请谨慎,并自行承担所有责任。
* [CJReinforce/JOWA](https://github.com/CJReinforce/JOWA) 该项目是论文 "Scaling Offline Model-Based RL via Jointly-Optimized World-ActionModel Pretraining" 的官方代码库。该项目提出了一种名为 JOWA的方法,通过联合优化世界模型和动作模型来提高离线模型的性能。JOWA-150M 模型在 15 款 Atari游戏中取得了 84.7% 的人类水平和 119.5% 的 DQN 水平,并且仅需约 4 个专家演示即可适应新的游戏。该项目提供了模型权重下载、评估脚本和结果复现脚本,方便用户进行实验和验证。
* [mediar-ai/screenpipe](https://github.com/mediar-ai/screenpipe) 24/7 本地人工智能屏幕和麦克风录音。从今天开始录制您的屏幕...否则就会被抛在后面。用于构建由您所看到、所说或听到的内容提供支持的个性化人工智能。Rewind.ai 和 Zapier 的替代品。超级智能 + 来自你的生活和团队的活动数据 = 魔法。人工智能的进步如此之快,到明年它将能够采集您数月的生活和业务记录,我们正在为实现这一目标奠定基础。从今天开始录制您的屏幕...否则就会被抛在后面。
* [AkimotoAyako/VisionTasker](https://github.com/AkimotoAyako/VisionTasker) VisionTasker是一款利用视觉理解和大型语言模型(LLM)进行手机任务自动化的框架。它采用两阶段方法:首先通过视觉理解将手机界面截图转换为自然语言描述,然后利用 LLM 进行分步任务规划。该框架无需依赖手机界面层次结构,能够理解并自动执行复杂任务,例如在 147 个真实世界任务中超越了人类的表现。用户可以通过提供任务描述和截图,让 VisionTasker 自动完成任务,并支持中文交互。
* [PKU-YuanGroup/Video-LLaVA](https://github.com/PKU-YuanGroup/Video-LLaVA) Video-LLaVA 是一个基于对齐前投影学习统一视觉表示的视频问答模型,它在多个视频问答基准测试中取得了最先进的性能。该模型通过在投影到统一空间之前对来自不同模态(文本和视频)的特征进行对齐,学习了一种更强大的视觉表示,从而能够更好地理解视频内容并回答相关问题。Video-LLaVA 在零样本视频问答任务上取得了显著的成果,例如在MSR-VTT 和 MSVD 数据集上取得了最先进的性能。
* [dvlab-research/MGM](https://github.com/dvlab-research/MGM) 多模态大语言模型Mini-Gemini,它采用双视觉编码器,分别提供低分辨率的视觉嵌入和高分辨率的候选区域;提出了一种区域信息挖掘方法,用于在高分辨率区 域与低分辨率视觉查询之间进行像素级挖掘;利用大规模语言模型(MLM) 同时实现文本与图像的理解和生成。该框架支持从2B到34B的一系列密集和MoE大型语言模型(LLMs),同时进行图像理解、推理和生成。我们基于 LLaVA 构建此存储库。
* [shihongl1998/LLM-as-a-blackbox-optimizer](https://github.com/shihongl1998/LLM-as-a-blackbox-optimizer) 该项目名为"LLM-as-a-blackbox-optimizer",是 CVPR 2024 论文 "Language Models as Black-Box Optimizers for Vision-Language Models" 的代码实现。它使用大型语言模型 (LLM) 和提示反转技术来自动优化视觉语言模型(VLM)。项目包含两种优化方法:文本到图像优化和提示反转,分别对应不同的优化目标和流程。该项目还提供了详细的环境配置、数据集安装和使用方法说明,并提供了相应的引用信息。
* [fairseq/examples/MMPT](https://github.com/facebookresearch/fairseq/tree/main/examples/MMPT) 用于多模态视频理解的工具包!包含两篇多模态视频理解论文[VideoCLIP](https://arxiv.org/pdf/2109.14084.pdf) (EMNLP, 2021) 和[VLM](https://aclanthology.org/2021.findings-acl.370.pdf) (ACL Findings, 2021) 的实现。VideoCLIP 是一种对比学习模型,用于将零样本迁移到检索/分类/序列标记样式任务。VLM 是一种掩码语言模型样式预训练,仅使用一个带有掩码模态模型 (MMM) 的编码器来执行检索/生成/序列标签样式任务。
* [luogen1996/LaVIN](https://github.com/luogen1996/LaVIN) 提出了一种新颖且经济实惠的视觉语言教学调整解决方案,即模态混合自适应(MMA)。MA是一种端到端的优化机制,它通过轻量级适配器连接图像编码器和LLM。同时,还提出了MMA路由算法,可以帮助模型自动移动单模态和多模态指令的推理路径。基于MMA,开发了LaVIN的大型视觉语言指导模型,该模型在各种指令遵循任务中表现出比现有多模态LLM更高的训练效率和更好的推理能力。
* [gpt-omni/mini-omni2](https://github.com/gpt-omni/mini-omni2) Mini-Omni2是一个开源的、多模态交互模型,能够理解图像、音频和文本输入,并与用户进行端到端的语音对话。它具有实时语音输出、多模态理解和灵活的交互能力,包括在说话时中断机制。该项目提供模型、技术报告、推理和聊天演示代码。用户可以通过图像、音频和文本与模型进行交互,并获得实时语音回复。项目还提供了一个交互式演示,用户可以通过它与模型进行对话。
* [jingyaogong/minimind-v](https://github.com/jingyaogong/minimind-v) MiniMind-V是一个轻量级视觉多模态语言模型(VLM),仅需3小时即可从零开始训练27M参数,个人显卡即可进行推理和训练。它与GPT3 相比,模型大小仅为其1/7000,但仍能提供强大的视觉多模态能力。MiniMind-V 旨在为研究人员和开发者提供一个易于使用、资源消耗低的VLM,可用于探索视觉多模态领域。该项目还提供了一个入门教程,帮助用户快速上手,并为VLM研究提供一个新的起点。
* [RunpeiDong/DreamLLM](https://github.com/RunpeiDong/DreamLLM) 一个学习框架,它首先实现了多功能的多模态大语言模型(MLLM),它赋予了多模态理解和创造之间经常被忽视的协同作用。DreamLLM基于两个基本原则运作。第一个侧重于通过在原始多模态空间中直接采样来对语言和图像后验进行生成建模。其次,DreamLLM促进了原始交错文档的生成,对文本和图像内容以及非结构化布局进行了建模。一个零样本多模态通才,能够理解和创造。
* [open-compass/VLMEvalKit](https://github.com/open-compass/VLMEvalKit) 大型视觉语言模型 (LVLM) 的开源评估工具包,支持 ~100 个 VLM,30+ 基准测试。VLMEvalKit(python 包名称为 vlmeval)是大型视觉语言模型 (LVLM) 的开源评估工具包。它支持在各种基准测试下对 LVLM 进行单命令评估,而无需在多个存储库下进行繁重的数据准备工作量。在VLMEvalKit中,我们对所有LVLM都采用基于生成的评估,并提供通过精确匹配和LLM基于答案提取获得的评估结果。
* [TEN-framework/ten_framework](https://github.com/TEN-framework/ten_framework) TEN(Transformative Extensions Network) 是全球首个真正实时的多模态 AI代理框架,它提供下一代 AI 代理框架。TEN 具有以下特点:支持高性能、实时多模态交互,并提供多种语言和平台支持,包括 C++、Go、Python 等。TEN 还支持边缘云集成,可以将部署在边缘和云环境中的扩展轻松组合,以创建各种应用和场景。此外,TEN 框架超越了大型模型的局限性,允许创建复杂的 AI 应用。
* [SHI-Labs/CuMo](https://github.com/SHI-Labs/CuMo) LLM通过共同升级再造的专家组合扩展多模式。将 Co-upcycled Top-K 稀疏门控专家混合模块整合到视觉编码器和 MLP 连接器中,从而增强了多模态的能力LLMs。我们进一步采用辅助损失的三阶段培训方法,以稳定培训过程并保持专家的平衡负载。CuMo 在开源数据集上进行了专门训练,LLMs并在多个 VQA 和可视化指令跟踪基准上实现了与其他最先进的多模态相当的性能。
* [cambrian-mllm/cambrian](https://github.com/cambrian-mllm/cambrian) Cambrian-1是一个以视觉为中心的、完全开放的多模态大型语言模型家族。它包含三个尺寸的模型(8B、13B 和 34B),并提供了训练数据、TPU 训练脚本,以及用于评估的 26 个基准测试。该项目还发布了一个专门的数据引擎,用于生成高质量的训练数据。Cambrian-1 的设计灵感来自寒武纪时期动物的视觉进化,旨在探索视觉信息在多模态语言模型中的重要作用。
* [PKU-YuanGroup/LanguageBind](https://github.com/PKU-YuanGroup/LanguageBind) LanguageBind是一个基于语言语义对齐的跨模态预训练框架,它将视频-语言预训练扩展到 N 模态,并在多个跨模态任务上取得了最优性能,包括音频分类、文本到音频检索和场景分类等。该框架通过语言作为桥梁,将不同模态的语义信息进行对齐,从而实现跨模态的知识迁移和信息融合。LanguageBind 在 ICLR 2024 上被接收,并已开源,欢迎大家使用和改进。
* [zjukg/KG-MM-Survey](https://github.com/zjukg/KG-MM-Survey) 该项目是一个关于知识图谱与多模态学习的综述,涵盖了两种主要方向:KG4MM(知识图谱驱动多模态学习)和MM4KG(多模态知识图谱)。项目收集了相关论文,并按任务类型进行分类,例如视觉问答、图像分类、跨模态检索等。此外,项目还包括多模态知识图谱的构建、融合和推理等方面的研究。用户可以通过添加问题或提交请求来推荐遗漏的论文。
* [SkyworkAI/Vitron](https://github.com/SkyworkAI/Vitron) Vitron是一个统一的像素级视觉LLM,它可以理解、生成、分割和编辑静态图像和动态视频内容。它能够进行深度理解,例如感知和推理,并支持多种视觉任务,包括生成、分割(包括地面和跟踪)以及编辑(例如修复)。Vitron克服了现有视觉LLM的局限性,例如对实例级理解的浅层理解、缺乏对图像和视频的统一支持以及对各种视觉任务的覆盖不足。
* [beichenzbc/Long-CLIP](https://github.com/beichenzbc/Long-CLIP) Long-CLIP是一个基于 CLIP 的模型,它能够处理更长的文本输入,将 CLIP 的最大输入长度从 77 扩展到 248。该模型在长文本图像检索任务中取得了显著的提升,R@5 指标提高了 20%,并且在传统文本图像检索任务中也提高了 6%。Long-CLIP 具有很强的通用性,可以应用于任何需要长文本能力的任务。该项目已开源,并提供了训练和评估代码以及预训练模型。
* [microsoft/SimMIM](https://github.com/microsoft/SimMIM) 用作掩码图像建模的简单框架。通过系统研究,我们发现每个组件的简单设计都显示出非常强的表示学习性能:1)用中等大小的掩码补丁大小(例如,32)对输入图像进行随机掩码,这是一个强大的前置任务;2) 通过直接回归预测 RGB 值的原始像素的性能并不比设计复杂的补丁分类方法差;3)预测头可以像线性层一样轻,性能不比较重的层差。
* [THUDM/CogVLM2](https://github.com/THUDM/CogVLM2) 基于 Llama3-8B 的 GPT4V 级开源多模态模型。我们推出了新一代的 CogVLM2 系列模型并开源了两款基于 Meta-Llama-3-8B-Instruct 开源模型。与上一代的 CogVLM 开源模型相比,CogVLM2 系列开源模型具有以下改进:在许多关键指标上有了显著提升,例如 TextVQA, DocVQA。支持 8K 文本长度。支持高达 1344 * 1344 的图像分辨率。提供支持中英文双语的开源模型版本。
* [AmberSahdev/Open-Interface](https://github.com/AmberSahdev/Open-Interface) Open Interface是一个利用大型语言模型(LLM)实现全自动计算机控制的项目。它通过将用户指令发送到 LLM 后端(如 GPT-4V)来确定执行步骤,并通过模拟键盘和鼠标输入自动执行这些步骤。为了纠正执行过程中的偏差,Open Interface 会根据需要将当前电脑屏幕截图发送给 LLM。该项目支持 macOS、Linux 和 Windows 操作系统,并提供详细的安装指南。
* [ObservedObserver/claude-minecraft-use](https://github.com/ObservedObserver/claude-minecraft-use) 这是一个使用Claude计算机使用功能玩Minecraft的演示项目,它基于Anthropic提供的快速入门模板,并进行了一些修改,例如直接控制本地MacOS和允许AI控制Minecraft。该项目旨在展示Claude计算机使用功能的潜力,并感谢Claude团队和BlueM的贡献。项目目前存在一些局限性,例如坐标控制精度不足和无法处理复杂任务,但它仍然是一个有趣的尝试。
* [airaria/Visual-Chinese-LLaMA-Alpaca](https://github.com/airaria/Visual-Chinese-LLaMA-Alpaca) 基于中文LLaMA&Alpaca模型开发的多模态中文大模型。VisualCLA在中文LLaMA/Alpaca模型上增加了图像编码等模块,使LLaMA模型可以接收视觉信息。在此基础上,使用了中文图文对数据进行了多模态预训练,对齐图像与文本表示,赋予其基本的多模态理解能力;并使用多模态指令数据集精调,增强其对多模态指令的理解、执行和对话能力。
* [Alibaba-MIIL/ImageNet21K](https://github.com/Alibaba-MIIL/ImageNet21K) 该项目是论文 "ImageNet-21K Pretraining for the Masses" 的官方 PyTorch 实现,旨在通过利用 WordNet 层级结构和语义Softmax 训练方案,使 ImageNet-21K 预训练更易于使用,并提升各种模型在不同数据集和任务上的性能。项目提供了预训练模型,并实现了高效的预训练流程,在多个基准数据集上取得了最先进的性能。
* [e2b-dev/desktop](https://github.com/e2b-dev/desktop) E2B DesktopSandbox 是一个基于 E2B 的隔离云环境,提供桌面图形界面,可安全连接任何 LLM 进行计算机操作。它支持鼠标控制、键盘输入、截图、文件操作和运行命令,并可通过 PyAutoGUI 编程控制整个环境。E2B Desktop Sandbox 基于 Linux 和 Xfce,可自定义桌面环境,并提供沙盒模板供用户创建自己的桌面环境。
* [GameGen-X/GameGen-X](https://github.com/GameGen-X/GameGen-X) GameGen-X是一个专门用于生成开放世界游戏内容的扩散变换模型,它通过模拟游戏引擎的各种功能,例如创新角色、动态环境、复杂动作和多样化事件,能够生成高质量、开放域的游戏内容。该项目将发布预训练的 GameGen-X 开放域生成检查点和推理脚本,以及 GameGen-X 开放域生成训练脚本和 OGameData。
* [facebookresearch/ImageBind](https://github.com/facebookresearch/ImageBind) 一个嵌入空间以绑定图像的所有内容,ImageBind 学习跨六种不同模式的联合嵌入 - 图像、文本、音频、深度、热量和 IMU 数据(惯性测量单元,是用来测量物体加速度、角速度、磁场,高度等)。它支持“开箱即用”的新型紧急应用,包括跨模态检索、使用算术组合模态、跨模态检测和生成。
* [microsoft/Oscar](https://github.com/microsoft/Oscar) 跨模态预训练方法Oscar(Object-Semantics Aligned Pre-training)。它利用在图像中检测到的对象标签作为锚点来显着简化图像-文本对齐的学习。在 650 万个文本图像对的公共语料库上对 Oscar 进行预训练,并在下游任务上对其进行微调,在六项成熟的视觉语言理解和生成任务上创造新的最新技术。
* [vikhyat/moondream](https://github.com/vikhyat/moondream) Moondream是一个轻量级的视觉语言模型,它能够在任何地方运行并提供出色的性能。它可以根据图像回答问题,例如描述图像内容、识别图像中的物体或回答关于图像的具体问题。Moondream支持批量推理,并提供基于Transformers的简单易用的使用方法。用户可以通过Hugging Face访问模型和演示。
* [X-PLUG/mPLUG-Owl](https://github.com/X-PLUG/mPLUG-Owl) 模块化赋能多模态大型语言模型,一种针对大型多模态语言模型的模块化设计的新训练范式。学习视觉知识,同时支持由不同形式(图像/视频/文本)组成的多回合对话。观察能力,如多图像关联和场景文本理解,基于视觉的文档理解。发布与视觉相关的指令评估集 OwlEval。
* [SoraWebui/SoraWebui](https://github.com/SoraWebui/SoraWebui) SoraWebui 是一个开源的 Sora Web 客户端,使用户能够使用 OpenAI 的 Sora 模型轻松地从文本创建视频。简化视频创建,具有简单的一键式网站部署功能。使用SoraWebui,任何人都可以通过简单地输入文本来创建视频,使其成为视频制作和AI技术的专业人士和爱好者的可访问工具。
* [haltakov/natural-language-image-search](https://github.com/haltakov/natural-language-image-search) 该项目使用OpenAI的CLIP模型和Unsplash数据集,通过自然语言描述搜索Unsplash上的照片。项目预先处理了近200万张Unsplash照片,并将它们与CLIP模型生成的特征向量进行匹配,以便根据自然语言查询找到最匹配的照片。用户可以通过Colab笔记本或在本地运行代码来体验该项目。
* [OthersideAI/self-operating-computer](https://github.com/OthersideAI/self-operating-computer) 使多模态模型能够操作计算机的框架。使用与人类操作员相同的输入和输出,模型查看屏幕并决定一系列鼠标和键盘操作以达到目标。主要特点:兼容性:专为各种多模式模型而设计。集成:目前与 GPT-4v、Gemini Pro Vision、Claude 3 和 LLaVa 集成。未来计划:支持其他型号。
* [sail-sg/poolformer](https://github.com/sail-sg/poolformer) PoolFormer:MetaFormer 实际上是您的视觉所需要的。transformer/MLP-like 模型的能力主要源于通用架构 MetaFormer,而不是配备的特定令牌混合器。作者独树一帜提出视觉Transformer及其变种的成功原因主要是架构的设计,并且将token mixer换为了简单的池化获得了相当好的效果。
* [Henry-23/VideoChat](https://github.com/Henry-23/VideoChat) 基于开源技术的数字人对话demo,首包延迟3-5s。基于开源项目的数字人对话 Demo,首包延迟为 3-5 秒。ASR(自动语音识别):FunASR;LLM(大型语言模型):Qwen;TTS(文本到语音):GPT-SoVITS、CosyVoice、edge-tts;THG(Talking Head Generation):MuseTalk。
* [google-research/remixmatch](https://github.com/google-research/remixmatch) 改进了最近提出的MixMatch半监督学习算法,引入了两种新技术:分布对齐和增强锚定。分布对齐鼓励未标记数据预测的分布接近标签的分布。增强锚定为模型提供多个强增强版本的输入,并鼓励每个输出接近同一输入的弱增强版本的预测。
* [silverriver/MMChat](https://github.com/silverriver/MMChat) 大规模的对话数据集,其中包含以图像为基础的中文对话。 MMChat 中的每个对话都与一个或多个图像相关联(每个对话最多 9 张图像)。 我们设计了各种策略来确保 MMChat 中对话的质量。 数据集中的图像托管在微博的静态图像服务器上。
* [TencentARC/SEED-Story](https://github.com/TencentARC/SEED-Story) 我们介绍了 SEED-Story,这是一种基于 SEED-X 的 MLLM,能够生成多模态长篇故事,由丰富而连贯的叙述文本以及字符和风格一致的图像组成。我们还发布了 StoryStream,这是一个专为训练和基准测试多模态故事生成而设计的大规模数据集。
* [OFA-Sys/OFA](https://github.com/OFA-Sys/OFA) 统一的序列到序列预训练模型(支持中英文),它统一了模态(即跨模态、视觉、语言)和任务(支持微调和提示调优):图像字幕(MSCOCO 第一) ), VQA (链接),视觉基础,文本到图像生成,文本分类,文本生成,图像分类等。
* [YifanXu74/Evo-ViT](https://github.com/YifanXu74/Evo-ViT) 腾讯优图提出高性能Transformer加速方法.Evo-ViT: Slow-Fast Token Evolution for Dynamic Vision Transformer,能在保证分类准确率损失较小的情况下,大幅提升推理速度,如在ImageNet 1K数据集下,可提升DeiT-S 60%推理速度的同时仅损失0.4%的精度。
* [microsoft/NUWA](https://github.com/microsoft/NUWA) 一个统一的多模态预训练模型,可以为8个视觉合成任务(文本转图像、模板转图像、图像补全、图像操纵、文本转视频、模板转视频、视频帧预测、视频操纵) 生成新的或操纵现有的视觉数据(即图像和视频)。待开放源码。
* [jina-ai/clip-as-service](https://github.com/jina-ai/clip-as-service) 一种用于嵌入图像和文本的低延迟、高可伸缩性的服务。它可以作为一个微服务轻松集成到神经搜索解决方案中。有四种基本的视觉推理技能:对象识别、对象计数、颜色识别和空间关系理解。文本到图像跨模态搜索。
* [google-research/big_vision](https://github.com/google-research/big_vision) 用于开发 Vision Transformer、SigLIP、MLP-Mixer、LiT 等的官方代码库。此代码库专为使用 Cloud TPU VM 或 GPU 机器训练大规模视觉模型而设计。它基于 Jax/Flax 库,并使用 tf.data 和 TensorFlow 数据集实现可扩展和可重现的输入管道。
* [swordlidev/Efficient-Multimodal-LLMs-Survey](https://github.com/swordlidev/Efficient-Multimodal-LLMs-Survey) 高效的多模态大型语言模型:一项调查 [arXiv] 我们将积极维护这个存储库,并在出现新研究时纳入它。如果您有任何问题,请联系 [email protected]。欢迎合作进行学术研究和撰写论文。(欢迎学术合作)。
* [jackroos/VL-BERT](https://github.com/jackroos/VL-BERT) 用于视觉语言任务的简单而强大的可预训练通用表示。它在大规模字幕数据集和纯文本语料库上进行了预训练,可以针对各种下游视觉语言任务进行微调,例如视觉常识推理、视觉问答和参考表达理解。
* [zhegan27/VILLA](https://github.com/zhegan27/VILLA) 视觉和语言对抗训练 (NeurIPS 2020 Spotlight) 的官方库。 目前支持 UNITER 在 VQA、VCR、NLVR2 和 SNLI-VE 上的对抗微调。 使用域内数据的对抗性预训练将很快可用。 VILLA-base 和 VILLA-large 预训练检查点均已发布。
* [uclanlp/visualbert](https://github.com/uclanlp/visualbert) 视觉和语言的简单且高效的基线 arxiv.org/abs/1908.03557 预训练一个 Transformer,用于处理图像字幕数据的视觉和语言 (V&L) 任务。 无监督 VisualBERT,预训练了没有对齐的图像字幕对的 V&L 转换器。
* [deepseek-ai/DeepSeek-VL](https://github.com/deepseek-ai/DeepSeek-VL) 专为真实世界视觉和语言理解应用而设计的开源视觉语言 (VL) 模型。DeepSeek-VL具备通用的多模态理解能力,能够在复杂场景下处理逻辑图、网页、公式识别、科学文献、自然图像和具身智能。
* [OFA-Sys/Chinese-CLIP](https://github.com/OFA-Sys/Chinese-CLIP) 中文版CLIP,实现中文跨模态检索和表示生成。使用大规模中文数据进行训练(~2亿图文对),旨在帮助用户快速实现中文领域的图文特征&相似度计算、跨模态检索、零样本图片分类等任务。
* [LinkSoul-AI/LLaSM](https://github.com/LinkSoul-AI/LLaSM) 第一个支持中英文语音-文本多模态对话的开源可商用对话模型。便捷的语音输入将大幅改善以文本为输入的大模型的使用体验,同时避免了基于 ASR 解决方案的繁琐流程以及可能引入的错误。
* [Noah-Wukong Dataset](https://wukong-dataset.github.io/wukong-dataset/) 大规模的多模态中文数据集。数据集包含1 亿个image, text对。数据集中的图像根据大小(两个维度 > 200px)和纵横比(1/3 ~ 3)进行过滤。数据集中的文本根据其语言、长度和频率进行过滤。
* [google-research-datasets/conceptual-captions](https://github.com/google-research-datasets/conceptual-captions) 包含(图像URL、字幕)对的数据集,用于机器学习图像字幕系统的训练和评估。数据集有约330万张图像(CC3M)和1200万张图像(CC12M)两个版本,并通过过滤程序从网络自动收集弱相关描述。
* [microsoft/unilm/layoutlm](https://github.com/microsoft/unilm/tree/master/layoutlm) 多模态预训练模型 LayoutLM 2.0,不仅考虑了文本和页面布局信息,还将图像信息融合到了多模态框架内。下游任务微调:表单理解 票据理解 复杂布局长文档理解 文档图像分类 视觉问答
* [bytedance/TextHarmony](https://github.com/bytedance/TextHarmony) TextHarmony是字节跳动发布的NeurIPS 2024论文“Harmonizing VisualText Comprehension and Generation”的官方代码,该项目旨在协调视觉文本理解和生成,目前尚未发布推理代码、模型权重和训练代码。
* [nikheelpandey/TAUP-PyTorch](https://github.com/nikheelpandey/TAUP-PyTorch) 任务不可知的无监督预训练。simCLR 论文的粗略实现。 如论文中所述,在对比损失函数上使用 LARS 优化器来训练对比模型。 将此模型用作编码器并添加全连接层以创建分类器。
* [isl-org/DPT](https://github.com/isl-org/DPT) 用于密集预测的Transformers,图像语义分割的目标是将图像的每个像素所属类别进行标注。因为是预测图像中的每个像素,这个任务通常被称为**密集预测**(dense prediction)。
* [mlfoundations/open_flamingo](https://github.com/mlfoundations/open_flamingo) 用于训练大型多模态模型的开源框架。DeepMind Flamingo模型的开源版本。提供了用于训练和评估模型的PyTorch 实现。还提供了在新的多模式 C4 数据集上训练的初始 9B 模型。
* [yangjianxin1/CLIP-Chinese](https://github.com/yangjianxin1/CLIP-Chinese) 中文多模态对比学习预训练模型 ,可获取140w中文图文对预训练数据,以及中文CLIP预训练权重。下游任务:图文相似度计算、文本相似度计算、图片相似度计算
* [MMInstruction/M3IT](https://huggingface.co/datasets/MMInstruction/M3IT) 我们的数据集汇集了经典视觉语言任务的各种任务,包括字幕、视觉问答~(VQA)、视觉条件生成、推理和分类。英文和中文。80 翻译版本可在 M3IT-80 找到。
* [CosmosShadow/gptpdf](https://github.com/CosmosShadow/gptpdf) 使用 VLLM(如 GPT-4o)将 PDF 解析为 markdown。我们的方法非常简单(只有 293 行代码),但几乎可以完美地解析排版、数学公式、表格、图片、图表等。
* [Kevinz-code/SeVa](https://github.com/Kevinz-code/SeVa) 自我监督的视觉偏好调整,我们首次尝试在大视觉语言模型中实现无监督偏好对齐。整个管道不需要任何 GPT-4 或人类注释标签来进行偏好对齐。
* [Luodian/Otter](https://github.com/Luodian/Otter) 基于 OpenFlamingo(DeepMind 的 Flamingo 的开源版本)的多模态模型,在 MIMIC-IT 上进行了训练,并展示了改进的指令遵循和上下文学习能力。
* [China-UK-ZSL/ZS-F-VQA](https://github.com/China-UK-ZSL/ZS-F-VQA) 一种适用于零样本视觉问答(ZS-VQA)的基于知识图谱的掩码机制,更好结合外部知识的同时,缓解了误差传播对于模型性能的影响。
* [AIDC-AI/Ovis](https://github.com/AIDC-AI/Ovis) Ovis (Open VISion) 是一种新颖的多模式大语言模型 (MLLM) 架构,旨在在结构上对齐视觉和文本嵌入。全面的介绍可以参考Ovis论文。
* [PKU-YuanGroup/MoE-LLaVA](https://github.com/PKU-YuanGroup/MoE-LLaVA) 大型视觉语言模型的专家组合,MoE-LLaVA-Qwen1.5,更好地支持汉语。在更高的图像分辨率下训练更强的模型(例如768×768)。
* [rwightman/pytorch-image-models](https://github.com/rwightman/pytorch-image-models) PyTorch图像类模型库,包括:ResNet, ResNeXT, EfficientNet, EfficientNetV2, NFNet, Vision Transformer, MixNet, MobileNet-V3/V2, RegNet, DPN, CSPNet
* [Kuaipedia/Kuaipedia](https://github.com/Kuaipedia/Kuaipedia) 全球首个大规模多模态短视频百科,以条目、方面、短视频为基本单位。亿级别多模态短视频百科体系。
* [DAMO-NLP-SG/M3Exam](https://github.com/DAMO-NLP-SG/M3Exam) 一种新颖的基准,来自真实和官方的人类考试问题,用于在多语言,多模态和多层次的背景下评估LLM。
* [RUCAIBox/HADES](https://github.com/RUCAIBox/HADES) [ECCV'24 Oral]“图像是对齐的致命弱点:利用视觉漏洞进行越狱多模式大型语言模型”的官方 GitHub 页面
* [Tencent/Lichee](https://github.com/Tencent/Lichee) 一个多模态内容理解算法框架,其中包含数据处理、预训练模型、常见模型以及模型加速等模块。
* [unum-cloud/uform](https://github.com/unum-cloud/uform) 袖珍型多模态 AI,用于跨多语言文本、图像和视频的内容理解和生成,比 OpenAI CLIP 和 LLaVA 快 5 倍
* [ashkamath/mdetr](https://github.com/ashkamath/mdetr) 用于端到端多模态理解的调制检测。输入描述文本及图片,识别出文字描述的对应物体。
* [Yuliang-Liu/Monkey](https://github.com/Yuliang-Liu/Monkey) 【CVPR 2024亮点】Monkey (LMM):图像分辨率和文本标签对于大型多模态模型来说很重要。
* [DLYuanGod/TinyGPT-V](https://github.com/DLYuanGod/TinyGPT-V) 通过小骨干网实现高效的多模态大型语言模型,性能已经达到了 InstructBLIP 性能的 98%
* [Mengzi/Mengzi-Oscar](https://github.com/Langboat/Mengzi/blob/main/Mengzi-Oscar.md) 中文多模态预训练 Mengzi-Oscar 模型 下游任务模型: 中文图像摘要. 中文图文互检.
* [google-research/vision_transformer](https://github.com/google-research/vision_transformer) 视觉Transformer和 MLP-混合器架构,Transformer应用于视觉,纯多层感知机视觉架构。
* [yfzhang114/MME-RealWorld](https://github.com/yfzhang114/MME-RealWorld) MME-RealWorld:您的多模式LLM能否挑战人类难以应对的高分辨率现实世界场景?
* [mlfoundations/MINT-1T](https://github.com/mlfoundations/MINT-1T) MINT-1T:将开源多模态数据扩展 10 倍:具有 1 万亿词元的多模态数据集。
* [SawyerHood/draw-a-ui](https://github.com/SawyerHood/draw-a-ui) 使用 tldraw 和 gpt-4-vision api 根据您绘制的线框生成 html 的应用程序。
* [microsoft/i-Code](https://github.com/microsoft/i-Code) 构建集成和可组合的多模态人工智能。“i”代表综合多模态学习。
* [yuhuan-wu/P2T](https://github.com/yuhuan-wu/P2T) 基于金字塔池化的视觉Transformer,可用于各类下游场景理解任务。
* [thuiar/Self-MM](https://github.com/thuiar/Self-MM) 多模态情感分析的自监督多任务学习学习模态特定表示中的代码
* [AIAC_qq_browser_2021_task1_rank11](https://github.com/cgxcompetition/AIAC_qq_browser_2021_task1_rank11) 2021年 qq浏览器AI 算法大赛 赛道一 多模态视频相似度 决赛第11名
* [fengpanhe/MT-ORL](https://github.com/fengpanhe/MT-ORL) PyTorch 实现论文“MT-ORL:多任务遮挡关系学习”(ICCV 2021)
* [FreedomIntelligence/LongLLaVA](https://github.com/FreedomIntelligence/LongLLaVA) LongLLaVA:通过混合架构将多模态LLMs有效扩展至 1000 张图像
* [opendilab/InterFuser](https://github.com/opendilab/InterFuser) 使用可解释传感器融合Transformer实现安全增强型自动驾驶
* [haotian-liu/LLaVA](https://github.com/haotian-liu/LLaVA) 面向多模态 GPT-4 级别功能构建的大型语言和视觉助手。
* [dk-liang/Awesome-Visual-Transformer](https://github.com/dk-liang/Awesome-Visual-Transformer) 收集一些关于Transformer变压器与计算机视觉的VIT论文。
* [X-PLUG/mPLUG-DocOwl](https://github.com/X-PLUG/mPLUG-DocOwl) mPLUG-DocOwl:用于文档理解的模块化多模态大语言模型.
* [HobbitLong/SupContrast](https://github.com/HobbitLong/SupContrast) “监督对比学习”的 PyTorch 实现(顺便提一下 SimCLR)
* [kywen1119/Video_sim](https://github.com/kywen1119/Video_sim) 2021年qq浏览器AI算法大赛 多模态视频相似度 第四名
* [facebookresearch/dino](https://github.com/facebookresearch/dino) 使用PyTorch的自监督学习进行视觉转换器训练的代码
* [KaiyangZhou/CoOp](https://github.com/KaiyangZhou/CoOp) 通过快速学习将CLIP等视觉语言模型适应下游数据集
* [mczhuge/Kaleido-BERT](https://github.com/mczhuge/Kaleido-BERT) (CVPR2021) Kaleido-BERT:时尚领域的视觉语言预训练。
* [zengyan-97/X-VLM](https://github.com/zengyan-97/X-VLM) 多粒度视觉语言预训练 将文本与视觉概念对齐。
* [google-research/mixmatch](https://github.com/google-research/mixmatch) 集成了自洽正则化的超强半监督学习 MixMatch
* [yuewang-cuhk/awesome-vision-language-pretraining-papers](https://github.com/yuewang-cuhk/awesome-vision-language-pretraining-papers) 视觉和语言预训练模型 (VL-PTM) 的最新进展
* [facebookresearch/SLIP](https://github.com/facebookresearch/SLIP) SLIP 自监督代码发布符合语言-图像预训练
* [PKU-DAIR/2021_AIAC_Task2_1st](https://github.com/PKU-DAIR/2021_AIAC_Task2_1st) QQ浏览器2021多模态视频相似度 第1名 方案
* [BradyFU/Awesome-Multimodal-Large-Language-Models](https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models) 多模态大型语言模型的最新论文和数据集
* [yuxie11/R2D2](https://github.com/yuxie11/R2D2) 大规模中文跨模式基准和视觉语言框架
* [TorchSSL/TorchSSL](https://github.com/TorchSSL/TorchSSL) 基于 PyTorch 的半监督学习库 (NeurIPS‘21)
* [facebookresearch/vilbert-multi-task](https://github.com/facebookresearch/vilbert-multi-task) 12 合 1:多任务视觉和语言表征学习
* [airsplay/lxmert](https://github.com/airsplay/lxmert) 从 Transformers 学习跨模态编码器表示
* [ChasingStar95/AIAC2021_task1_rank6](https://github.com/ChasingStar95/AIAC2021_task1_rank6) 2021QQ浏览器 多模态视频相似度 rank6
* [tonybeltramelli/pix2code](https://github.com/tonybeltramelli/pix2code) 从图形用户界面屏幕截图生成代码
* [pliang279/awesome-multimodal-ml](https://github.com/pliang279/awesome-multimodal-ml) 多模态机器学习研究课题阅读清单
* [THUDM/VisualGLM-6B](https://github.com/THUDM/VisualGLM-6B) 多模态中英双语对话语言模型
* [OpenAI/CLIP](https://github.com/OpenAI/CLIP) 对比语言图像预训练
## 对象检测_分割
* [THU-MIG/yolov10](https://github.com/THU-MIG/yolov10) YOLOv10:实时端到端目标检测 [NeurIPS 2024],在过去的几年里,YOLO 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领域的主要范例。研究人员对 YOLO 的架构设计、优化目标、数据增强策略等进行了探索,取得了显着进展。然而,后处理对非极大值抑制(NMS)的依赖阻碍了 YOLO 的端到端部署,并对推理延迟产生不利影响。此外,YOLO中各个组件的设计缺乏全面彻底的检查,导致明显的计算冗余并限制了模型的能力。它提供了次优的效率,以及相当大的性能改进潜力。在这项工作中,我们的目标是从后处理和模型架构方面进一步提升 YOLO 的性能效率边界。为此,我们首先提出了 YOLO 的无 NMS 训练的一致双重任务,它同时带来了有竞争力的性能和低推理延迟。此外,我们还介绍了 YOLO 的整体效率-准确性驱动模型设计策略。我们从效率和准确性角度全面优化YOLO的各个组件,大大降低了计算开销并增强了能力。我们努力的成果是用于实时端到端目标检测的新一代 YOLO 系列,称为 YOLOv10。大量实验表明,YOLOv10 在各种模型规模上都实现了最先进的性能和效率。比如我们的YOLOv10-S是1.8 × COCO上同类AP下比RT-DETR-R18更快,同时享受2.8 × 更少的参数和 FLOP 数量。与 YOLOv9-C 相比,在相同性能下,YOLOv10-B 的延迟减少了 46%,参数减少了 25%。
* [Zhuzi24/SGG-ToolKit](https://github.com/Zhuzi24/SGG-ToolKit) STAR:首个数据集和大型卫星图像场景图生成的大型基准。卫星图像 (SAI) 中的场景图生成 (SGG) 有助于促进对地理空间场景从感知到认知的理解。在SAI中,物体在尺度和纵横比上表现出巨大的变化,并且物体之间(甚至空间上不相交的物体之间)存在丰富的关系,这使得在大尺寸超高分辨率(VHR)SAI中整体进行SGG具有吸引力。然而,缺乏这样的SGG数据集。由于大型 SAI 的复杂性,挖掘三元组 <subject、relationship、object> 严重依赖于远程上下文推理。因此,为小尺寸自然图像设计的 SGG 模型并不直接适用于大尺寸 SAI。本文为大尺寸VHR SAI中的SGG构建了一个大规模数据集,图像尺寸范围从512×768到27,860×31,096像素,命名为STAR ( Scene graphgenera T ion in l A rge-size卫星图像R y) ,包含超过210K个对象和超过400K个三元组。为了在大型 SAI 中实现 SGG,我们提出了一个上下文感知级联认知(CAC)框架来理解 SAI 中有关 SGG 的对象检测(OBD)、对剪枝和关系预测的内容。我们还发布了一个面向 SAI 的 SGG 工具包,其中包含约30 个OBD 和10 个SGG 方法,这些方法需要我们设计的模块在我们具有挑战性的 STAR 数据集上进一步适应。 STAR 数据集将在STAR上公开提供。
* [MIC-DKFZ/nnUNet](https://github.com/MIC-DKFZ/nnUNet) 图像数据集非常多样化:图像维度(2D、3D)、模态/输入通道(RGB 图像、CT、MRI、显微镜等)、图像大小、体素大小、类比、目标结构属性等之间的显着变化数据集。传统上,面对新问题,需要手动设计和优化量身定制的解决方案——这个过程容易出错、不可扩展,而且成功很大程度上取决于实验者的技能。即使对于专家来说,这个过程也绝非简单:不仅需要考虑许多设计选择和数据属性,而且它们还紧密互连,几乎不可能实现可靠的手动管道优化!nnU-Net 是一种自动适应给定数据集的语义分割方法。它将分析提供的训练案例并自动配置匹配的基于 U-Net 的分割管道。您无需任何专业知识!您可以简单地训练模型并将其用于您的应用程序。发布后,nnU-Net 在属于生物医学领域竞赛的 23 个数据集上进行了评估。尽管与每个数据集的手工解决方案竞争,nnU-Net 的全自动管道在开放排行榜上获得了多个第一名!从那时起,nnU-Net 经受住了时间的考验:它继续被用作基线和方法开发框架( MICCAI 2020 的 10 名挑战获胜者中有 9 名,MICCAI 2021 的 7 名挑战者中有 5 名在 nnU 之上构建了他们的方法 - Net,我们凭借 nnU-Net 赢得了 AMOS2022 )!
* [Project-MONAI/MONAILabel](https://github.com/Project-MONAI/MONAILabel) MONAI Label是一款智能开源图像标注和学习工具,它允许用户创建带注释的数据集并构建 AI 标注模型用于临床评估。MONAI Label允许应用程序开发人员以无服务器的方式构建标注应用程序,其中自定义标注应用程序通过 MONAI Label 服务器以服务形式公开。MONAI Label 是一个服务器-客户端系统,它通过使用 AI 来促进交互式医学图像标注。它是一个开源且易于安装的生态系统,可以在具有单个或多个GPU 的机器上本地运行。服务器和客户端可以在同一台或不同的机器上运行。它与 [MONAI](https://github.com/Project-MONAI) 共享相同的原则。有关更多详细信息,请参阅完整的 [MONAI Label 文档](https://docs.monai.io/projects/label/en/latest/index.html) 或查看我们的 [MONAI Label 深入视频系列](https://www.youtube.com/playlist?list=PLtoSVSQ2XzyD4lc-lAacFBzOdv5Ou-9IA)。有关不同医学图像任务的应用程序和查看器工作流程,请参阅 [MONAI Label 教程](https://github.com/Project-MONAI/tutorials/tree/main/monailabel) 系列。为详细说明创建了类似笔记本的教程。
* [NVlabs/FoundationPose](https://github.com/NVlabs/FoundationPose) CVPR 2024 亮点 FoundationPose:新物体的统一 6D 姿态估计和跟踪,我们提出了 FoundationPose,这是一个用于 6D 物体姿态估计和跟踪的统一基础模型,支持基于模型和无模型的设置。我们的方法可以在测试时立即应用于新物体,而无需进行微调,只要给出其CAD模型,或者捕获少量参考图像即可。我们通过神经隐式表示弥合了这两种设置之间的差距,该表示允许有效的新视图合成,使下游姿态估计模块在相同的统一框架下保持不变。通过大规模合成训练,借助大型语言模型LLM新颖的基于transformer的架构和对比学习公式,实现了强大的泛化性。对涉及具有挑战性的场景和对象的多个公共数据集的广泛评估表明,我们的统一方法大大优于专门针对每项任务的现有方法。此外,尽管减少了假设,但它甚至可以获得与实例级方法相当的结果。
* [caoyunkang/GPT4V-for-Generic-Anomaly-Detection](https://github.com/caoyunkang/GPT4V-for-Generic-Anomaly-Detection) 异常检测是跨不同领域和数据类型的一项关键任务。但是,现有的异常检测模型通常是针对特定领域和模式设计的。本研究探讨了使用 GPT-4V(ision),一种强大的视觉语言模型,以通用方式处理异常检测任务。我们研究了GPT-4V在多模态、多域异常检测任务中的应用,包括图像、视频、点云和时间序列数据,涉及工业、医疗、逻辑、视频、3D异常检测和定位等多个应用领域。为了提高 GPT-4V 的性能,我们加入了不同类型的附加提示,例如班级信息、人类专业知识和参考图像作为提示。根据我们的实验,GPT-4V 被证明在检测和解释零/单次异常检测中的全局和细粒度语义模式方面非常有效。这样可以准确区分正常和异常实例。总体而言,GPT-4V在通用异常检测和理解方面表现出良好的性能,从而为异常检测开辟了一条新的途径。
* [CVHub520/X-AnyLabeling](https://github.com/CVHub520/X-AnyLabeling) 借助 Segment Anything 和其他出色模型的 AI 支持,轻松进行数据标记。X-AnyLabeling 是一款基于AI推理引擎和丰富功能特性于一体的强大辅助标注工具,其专注于实际应用,致力于为图像数据工程师提供工业级的一站式解决方案,可自动快速进行各种复杂任务的标定。关键功能:支持GPU推理加速;支持图像和视频处理;支持单帧和批量预测所有任务;支持自定义模型和二次开发设计;支持一键导入和导出主流的标签格式,如COCOVOCYOLODOTAMOTMASK;支持多种图像标注样式,包括 :多边形、矩形、旋转框、圆形、线条、点,以及 文本检测、识别 和 KIE 标注;支持各类视觉任务,如图像分类、目标检测、实例分割、姿态估计、旋转检测、多目标跟踪、光学字符识别、图像文本描述、车道线检测、分割一切系列等。
* [autodistill/autodistill](https://github.com/autodistill/autodistill) Autodistill是一个无需人工标注就能将图像转换为推理结果的项目,它使用大型基础模型来训练小型、快速监督模型。Autodistill可以将未标注的图像直接转换为在边缘运行的自定义模型,无需人工干预。Autodistill目前支持目标检测和实例分割等视觉任务,未来可以扩展到支持语言和其他模型。Autodistill通过将未标注数据输入基础模型,利用本体进行标注,生成用于训练目标模型的数据集,最终输出经过微调的蒸馏模型来完成特定任务。Autodistill定义了几个基本元素,包括任务、基础模型、本体、目标模型和蒸馏模型。
* [ytongbai/ViTs-vs-CNNs](https://github.com/ytongbai/ViTs-vs-CNNs) 变形金刚比 CNN 更强大吗 在测量对抗鲁棒性时,Transformers 胜过 CNN。CNN 在防御对抗性攻击方面很容易像 Transformers 一样强大,如果它们正确采用 Transformers 的训练方法的话。虽然关于分布外样本的泛化,我们表明在(外部)大规模数据集上进行预训练并不是使 Transformer 能够获得比 CNN 更好的性能的基本要求。此外,我们的消融表明,这种更强的泛化在很大程度上得益于 Transformer 本身的类似自我注意的架构,而不是其他训练设置。希望这项工作可帮助社区更好地理解和衡量 Transformer 和 CNN 的鲁棒性。
* [microsoft/Swin-Transformer](https://github.com/microsoft/Swin-Transformer) 基于Masked Image Modeling的预训练方法,适用于 Swin 和 SwinV2(也适用于 ViT 和 ResNet)。它可作为CV的通用主干。它基本上是一个分层变换器,其表示是用移位窗口计算的。移位窗口方案通过将 self-attention 计算限制在不重叠的本地窗口上,同时还允许跨窗口连接,从而带来更高的效率。将 CLIP 预训练的 ViT-L 提高了 +1.6%,以达到ImageNet-1K 图像分类,这是最准确的 ViT-L 模型。在 COCO 对象检测(58.7 box AP和51.1 mask APtest-dev)和 ADE20K 语义分割(53.5 mIoU在 val)上实现了强大的性能,大大超过了以前的模型。
* [xingyizhou/CenterNet](https://github.com/xingyizhou/CenterNet) CenterNet是一个基于中心点检测的物体检测、3D检测和姿态估计框架,它将物体视为其边界框的中心点,并使用关键点估计来找到这些中心点。CenterNet是一个端到端的可微分模型,比基于边界框的检测器更简单、更快、更准确。它在MS COCO数据集上取得了最佳的速度-精度权衡,在KITTI基准测试中用于估计3D边界框,在COCO关键点数据集上用于人体姿态估计。CenterNet具有简单、通用、快速、强大和易于使用的特点。该项目提供了图像、视频和网络摄像头演示,以及模型库和安装说明。
* [adambielski/siamese-triplet](https://github.com/adambielski/siamese-triplet) 该项目使用 PyTorch 实现孪生网络和三元组网络,用于学习图像嵌入。孪生网络和三元组网络可以将图像映射到一个紧凑的欧几里得空间,在这个空间中,距离对应于相似性的度量,从而可以用于分类或少样本学习任务。项目包含多种损失函数,例如对比损失和三元组损失,并提供在线对/三元组挖掘方法,以及多种对/三元组选择器,用于从一个 mini-batch 中选择合适的正负样本对或三元组。项目还包含 MNIST 数据集上的示例代码,展示了如何使用不同的损失函数训练嵌入模型。
* [MaybeShewill-CV/lanenet-lane-detection](https://github.com/MaybeShewill-CV/lanenet-lane-detection) 这是一个基于 TensorFlow 实现的实时车道线检测模型,该模型基于 IEEE IV会议论文 "Towards End-to-End Lane Detection: an Instance Segmentation Approach",使用编码器-解码器结构、二元语义分割阶段和实例语义分割(使用判别损失函数)来实现实时车道线检测。该项目提供了一个在 Tusimple 车道线数据集上训练的预训练模型,并支持在单个图像和整个 Tusimple 测试数据集上进行测试。用户也可以使用自己的数据集训练模型,需要将数据组织成特定的文件夹结构并生成训练和验证文件。
* [infinitered/nsfwjs](https://github.com/infinitered/nsfwjs) NSFWJS是一个基于 TensorFlow.js 的客户端库,用于识别图像中的不雅内容。它在浏览器中运行,无需服务器端处理。NSFWJS 的准确率很高,小模型约为 90%,中型模型约为 93%,并且随着时间的推移不断提升。你可以使用它来构建内容过滤系统,例如在社交媒体平台上过滤不雅内容。NSFWJS 提供了简单的 API,可以轻松加载模型并对图像进行分类。它支持多种分类类别,包括绘画、色情漫画、中性、色情和性感。你可以访问 NSFWJS 网站体验演示,或查看 GitHub 仓库了解更多信息。
* [obss/sahi](https://github.com/obss/sahi) SAHI是一个轻量级的视觉库,用于执行大规模目标检测和实例分割。它通过将图像切片成更小的部分,然后在每个部分上进行独立的推理,最后将结果合并,来解决传统方法在处理大图像和识别小目标时遇到的问题。SAHI 提供了多种命令行工具,例如预测、切片、评估和分析,方便开发者进行模型训练和测试,并提供可视化界面,帮助开发者更好地理解模型性能。SAHI 支持多种主流目标检测框架,如 Ultralytics、MMDetection、Detectron2、Hugging Face 和 Torchvision。
* [baaivision/EVA](https://github.com/baaivision/EVA) EVA系列项目是BAAI视觉团队开发的一系列视觉表示模型,旨在探索大规模视觉表示学习的极限。该项目包含EVA-01、EVA-02、EVA-CLIP等多个模型,涵盖了图像分类、目标检测、文本图像匹配等多种视觉任务。EVA-CLIP-18B是该系列中参数规模最大的模型,拥有180亿个参数。该项目代码已开源,并与Hugging Face和timm等平台集成,方便用户使用。BAAI视觉团队正在招聘全职研究员、工程师和实习生,欢迎对基础模型、自监督学习和多模态学习感兴趣的人才加入。
* [Mark12Ding/SAM2Long](https://github.com/Mark12Ding/SAM2Long) SAM2Long是一个基于 SAM 2 的长视频分割增强方法,它通过引入一个无训练记忆树来解决 SAM 2 在长视频场景中存在的误差累积问题,从而提高了在物体遮挡和再现等挑战性场景下的分割精度。该方法通过维护多种分割假设并动态剪枝非最佳路径,在不增加参数或额外训练的情况下,最大限度地发挥了 SAM 2 的潜力,并在多个视频目标分割基准测试中取得了优于 SAM 2 的性能,尤其是在 SA-V 和 LVOS 等长视频数据集上,J & F 分数平均提高了 3 分。
* [opendatacam/opendatacam](https://github.com/opendatacam/opendatacam) OpenDataCam是一个开源工具,使用计算机视觉来识别和统计视频中移动的物体,例如车辆、行人等。它可以用于交通流量分析、人群统计等场景。用户可以通过简单的设置,使用OpenDataCam来统计来自摄像头和视频的移动物体。OpenDataCam支持多种物体识别,并提供易于使用的界面和API,用户也可以训练自定义模型。它可以在小型设备上运行,也可以在云端运行,并且用户拥有数据的所有权。用户可以通过Docker镜像快速安装和使用OpenDataCam。
* [Jun-CEN/SegmentAnyRGBD](https://github.com/Jun-CEN/SegmentAnyRGBD) Segment Any RGBD项目是一个基于 SAM 的工具箱,用于分割渲染深度图像。它利用深度图的几何信息,通过颜色映射将其转换为 RGB 图像,然后输入 SAM 进行分割。与传统的 RGB 图像相比,渲染深度图像忽略了纹理信息,更能突出几何特征。该项目提供了两种模式:使用 RGB 图像或渲染深度图像进行分割,并能生成语义掩码和带类别信息的 SAM 掩码。该项目是首个将 SAM 用于直接提取几何信息的研究,并利用 OVSeg 进行零样本语义分割。
* [Peterande/D-FINE](https://github.com/Peterande/D-FINE) D-FINE是一个实时目标检测器,它将 DETR 中的边界框回归任务重新定义为细粒度分布细化 (FDR),并引入了全局最优定位自蒸馏 (GO-LSD),在不引入额外推理和训练成本的情况下取得了优异的性能。D-FINE 在复杂场景中展现出强大的目标检测能力,例如在背光、运动模糊和密集人群等挑战性条件下,D-FINE 能够成功检测到几乎所有目标,包括背包、自行车和交通灯等细微的小物体。其置信度得分和模糊边缘的定位精度显著高于 YOLO11。
* [Hawkeye-FineGrained/Hawkeye](https://github.com/Hawkeye-FineGrained/Hawkeye) 基于开源深度学习的细粒度图像识别工具箱构建于PyTorch。基于深度滤波器:S3N (ICCV 2019) Interp-Parts (CVPR 2020) ProtoTree (CVPR 2021)。基于注意力机制:OSME+MAMC (ECCV 2018) MGE-CNN (ICCV 2019) APCNN (IEEE TIP 2021) 。基于高阶特征交互: BCNN (ICCV 2015) CBCNN (CVPR 2016) Fast MPN-COV (CVPR 2018) 。基于特殊损失函数: Pairwise Confusion (ECCV 2018) API-Net (AAAI 2020) CIN (AAAI 2020) 。基于网络数据: Peer-Learning (ICCV 2021) 其他方法 NTS-Net (ECCV 2018) CrossX (ICCV 2019) DCL (CVPR 2019)。
* [albumentations-team/albumentations](https://github.com/albumentations-team/albumentations) 用于图像增强的 Python 库。图像增强用于深度学习和计算机视觉任务,以提高训练模型的质量。图像增强的目的是从现有数据创建新的训练样本。支持所有常见的计算机视觉任务,例如分类、语义分割、实例分割、对象检测和姿态估计。提供了一个简单的统一 API 来处理所有数据类型:图像(RBG 图像、灰度图像、多光谱图像)、分割掩码、边界框和关键点。该库包含 70 多种不同的增强,用于从现有数据生成新的训练样本。
* [tryolabs/norfair](https://github.com/tryolabs/norfair) Norfair是一个轻量级实时多目标跟踪库,使用Python编写。它允许你通过几行代码将跟踪功能添加到任何检测器,支持各种检测器,包括目标检测和关键点检测。Norfair具有模块化设计,可以轻松集成到复杂的视频处理管道中,并支持移动摄像头、外观嵌入重识别和N维目标跟踪等高级功能。它还提供多种预定义的距离函数,用户也可以自定义距离函数,实现不同的跟踪策略。Norfair速度很快,不会影响检测网络的推理速度。
* [airctic/icevision](https://github.com/airctic/icevision) IceVision是一个与训练库无关的计算机视觉框架,支持 Fastai、Pytorch-Lightning 等库,并提供数百个来自 Torchvision、MMDetection、YOLOv5、EfficientDet 等库的预训练模型。它简化了端到端深度学习工作流程,使用 PyTorch-Lightning和 Fastai 等库进行高效训练。IceVision 的特色包括数据整理和自动修复、探索性数据分析仪表板、可插拔的转换以提高模型泛化能力、多种训练循环库以及多任务训练以高效地组合目标检测、分割和分类模型。
* [shenyunhang/APE](https://github.com/shenyunhang/APE) APE是一个通用视觉感知模型,它在160个数据集上取得了最先进的性能,并支持对数千个词汇或语言描述的物体进行检测和分割。APE可以灵活地支持前景物体和背景内容的实例分割和语义分割,并且能够在各种场景中识别和理解视觉信息。该项目提供了训练代码、推理代码和演示,并支持本地和在线演示。用户可以参考项目中的数据集准备指南,使用COCO、LVIS、Objects365、Openimages等数据集进行训练和测试。
* [shallowdream204/DreamClear](https://github.com/shallowdream204/DreamClear) DreamClear是一个用于真实世界图像恢复的高容量模型,它通过隐私安全的训练数据集构建来实现。该项目在NeurIPS 2024上发表,并提供预训练模型和代码,可用于图像分割、检测和恢复任务。DreamClear通过构建一个包含250张真实世界低质量图像的RealLQ250基准数据集,并使用PixArt-XL-2-1024模型进行训练,实现了高容量的图像恢复能力。该项目还提供方便的推理代码和演示,并支持多种分辨率的训练和推理。
* [WeitaiKang/SegVG](https://github.com/WeitaiKang/SegVG) SegVG是一个用于视觉定位的模型,它将目标边界框作为分割信号,为视觉定位提供额外的像素级监督。该模型通过提出的三重对齐模块,对查询、文本和视觉令牌进行三角形更新,以减轻域差异。SegVG在RefCOCO、RefCOCO+、RefCOCOg和ReferItGame等多个数据集上取得了显著的性能提升。该项目提供了PyTorch实现,并包含训练和评估脚本。用户可以根据需要调整参数,并使用提供的模型权重进行测试。
* [JDAI-CV/fast-reid](https://github.com/JDAI-CV/fast-reid) FastReID是一个基于 PyTorch 的开源重识别算法研究平台,它提供了多种最先进的重识别算法实现,并支持多种任务,例如图像检索和人脸识别。它基于之前的 reid-strong-baseline 项目进行重写,并包含了更多功能,例如循环损失、丰富的可视化方法和评估指标,以及在传统、跨域、部分和车辆重识别上的最优结果。FastReID 可以作为库来支持其他项目,并提供模型库、部署脚本和详细文档。
* [roflcoopter/viseron](https://github.com/roflcoopter/viseron) Viseron是一个本地自托管的 NVR 和 AI 计算机视觉软件,提供物体检测、运动检测、人脸识别等功能,帮助你监控家、办公室或其他任何你想监控的地方。它使用 Docker 容器运行,并通过内置的 Web 界面进行配置。你可以通过官方文档和组件资源库了解 Viseron 的功能和使用方法,并参与项目贡献,例如实现新功能、改进文档或回答问题。你也可以通过赞助或捐赠来支持 Viseron 的发展。
* [qqlu/Entity](https://github.com/qqlu/Entity) EntitySeg工具箱是一个开源工具箱,旨在实现开放世界和高质量的图像分割。该工具箱包含了该团队在图像分割领域的所有研究成果,包括开放世界实体分割(TPAMI2022)、超高分辨率图像高质量分割(CVPR2022)、类别无关半监督学习(ECCV2022)、高质量实体分割(ICCV2023)、开放词汇分割评估指标(Arxiv)等。每个项目都提供了独立的README文件,并将在未来整合在一起以相互支持。
* [open-mmlab/OpenPCDet](https://github.com/open-mmlab/OpenPCDet) OpenPCDet是一个用于基于LiDAR的3D目标检测的开源项目,代码清晰简洁,自包含。该项目是PointRCNN、Part-A2-Net、PV-RCNN、Voxel R-CNN、PV-RCNN++和MPPNet等论文的官方代码发布。项目特点包括:支持PV-RCNN++和MPPNet模型,支持Nuscenes数据集上的多模态3D检测,支持Waymo Open Dataset上的多帧训练/测试,以及支持自定义数据集教程和模板。该项目还提供了模型库、安装指南、快速演示和入门指南。
* [microsoft/OmniParser](https://github.com/microsoft/OmniParser) OmniParser是一个用于解析用户界面截图的工具,它将截图转换为结构化元素,帮助 GPT-4V 生成与界面区域相匹配的准确操作。该项目包含交互式区域检测模型和图标功能描述模型,并提供 Huggingface 空间演示和模型权重。用户可以安装环境,下载模型权重并运行示例代码,体验 OmniParser 的功能。该项目已在 Windows Agent Arena 上取得最佳性能,并已发布在 Huggingface 模型库中。
* [Jingkang50/OpenOOD](https://github.com/Jingkang50/OpenOOD) OpenOOD是一个用于基准测试广义分布外检测的开源项目,它包含了各种用于异常检测、新颖性检测、开放集识别和分布外检测的方法,旨在进行公平的跨方法比较。该项目目前仍在建设中,并不断添加更多方法。OpenOOD v1.5版本已发布,支持包括零样本CLIP和DINOv2线性探测在内的基础模型的分布外检测。该项目还提供了教程、论坛和排行榜,方便用户学习和使用。
* [jolibrain/deepdetect](https://github.com/jolibrain/deepdetect) 用 C++11 编写的机器学习 API 和服务器。使最先进的机器学习易于使用并集成到现有应用程序中。它支持训练和推理,并可通过 TensorRT 和 NCNN (ARM CPU) 自动转换为嵌入式平台。它实现了对图像、文本、时间序列和其他数据的有监督和无监督深度学习的支持,重点是简单易用、测试和连接到现有应用程序。它支持分类、对象检测、分割、回归、自动编码器......
* [mikel-brostrom/boxmot](https://github.com/mikel-brostrom/boxmot) 用于分割、目标检测和姿态估计模型的可插拔 SOTA 跟踪模块。此存储库包含一组可插拔的最先进的多目标跟踪器,用于分割、对象检测和姿态估计模型。对于使用外观描述的方法,重型(CLIPReID)和轻型最先进的ReID模型(LightMBN,OSNet等)都可以自动下载。我们提供了有关如何将此软件包与流行的对象检测模型(例如:Yolov8、Yolo-NAS 和 YOLOX)一起使用的示例。
* [rwightman/gen-efficientnet-pytorch](https://github.com/rwightman/gen-efficientnet-pytorch) 这是一个针对PyTorch的通用高效网络实现,包含EfficientNet、MixNet、MobileNetV3等模型,涵盖了大多数基于MobileNet V1/V2块序列的高效架构,包括那些通过自动神经架构搜索得到的架构。所有模型都通过GenEfficientNet或MobileNetV3类实现,使用基于字符串的架构定义来配置块布局。该项目已不再维护,建议使用timm库,它包含所有这些模型定义(兼容权重)以及更多功能。
* [francois-rozet/piqa](https://github.com/francois-rozet/piqa) PIQA是一个 PyTorch 图像质量评估库,包含多种图像质量评估指标,可用于图像生成、降噪、超分辨率、插值等任务。它注重效率、简洁性和可理解性,方便用户轻松复用或调整其模块。PIQA 提供了多种常见的图像质量评估指标,包括 PSNR、SSIM、MS-SSIM、LPIPS、GMSD、MS-GMSD、MDSI、HaarPSI、VSI 和 FSIM,每个指标都对应一个可实例化的 PyTorch 模块,支持 CPU 和 GPU 计算。
* [z-x-yang/Segment-and-Track-Anything](https://github.com/z-x-yang/Segment-and-Track-Anything) 这是一个开源项目,专注于视频中任何物体的自动或交互式分割和跟踪。项目主要使用Segment Anything Model (SAM)进行关键帧分割,并使用Associating Objects withTransformers (AOT)进行高效的跟踪和传播。SAM-Track管道能够通过SAM动态自动检测和分割新物体,而DeAOT负责跟踪所有识别到的物体。项目还提供交互式WebUI,支持文本提示和图像序列输入,并提供在线演示和教程。
* [WongKinYiu/yolov9](https://github.com/WongKinYiu/yolov9) YOLOv9是基于论文 "YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information" 的实现,它通过可编程梯度信息学习来提升目标检测性能。该项目提供了不同尺寸的模型,如 YOLOv9-T、YOLOv9-S、YOLOv9-M、YOLOv9-C 和 YOLOv9-E,在 MS COCO 数据集上取得了优异的检测精度,并提供了一些实用链接,包括自定义训练、ONNX 导出、TensorRT 推理、TFLite 和 OpenVINO 等。
* [chrieke/awesome-satellite-imagery-datasets](https://github.com/chrieke/awesome-satellite-imagery-datasets) 这是一个收集了带标注的卫星图像数据集的列表,用于计算机视觉和深度学习。该项目已存档,但提供了两个更近期的资源链接,分别为卫星图像深度学习数据集和卫星基准数据集。该列表涵盖了实例分割、目标检测、语义分割、场景分类和其他类别,并包含最新的数据集和正在进行的竞赛信息,例如 FloodNet、PASTIS 和 xView3 Dark Vessel Detection 2021等。
* [pytorch-labs/segment-anything-fast](https://github.com/pytorch-labs/segment-anything-fast) segment-anything-fast 是一个基于 Segment Anything 的快速离线推理版本,旨在加速生成式 AI。该项目通过一系列优化技术,包括使用 bfloat16、torch.compile、自定义 Triton 内核等,显著提升了推理速度。用户可以使用 `sam_model_fast_registry` 快速加载模型并进行推理。该项目已在 A100 上测试,并提供了详细的性能对比结果。用户可以在 GitHub 上提交问题或反馈。
* [libffcv/ffcv](https://github.com/libffcv/ffcv) FFCV是一个数据加载系统,可以显著提高模型训练的数据吞吐量,使训练速度更快,成本更低。它可以将 ImageNet 模型的训练时间缩短至 35 分钟,CIFAR-10 模型的训练时间缩短至 36 秒。FFCV 提供预先打包的代码,用于标准视觉基准测试,并支持多种平台,包括 Linux 和 Windows。用户只需将数据加载器替换为 FFCV,即可获得显著的加速效果。
* [roboflow/inference](https://github.com/roboflow/inference) 用于计算机视觉的快速、易于使用、生产就绪的推理服务器,支持许多流行的模型架构和微调模型的部署。Roboflow Inference 是一个开源平台,旨在简化计算机视觉模型的部署。它使开发人员能够执行对象检测、分类和实例分割,并通过 Python 原生包、自托管推理服务器或完全托管的 API 利用 CLIP、Segment Anything 和 YOLO-World 等基础模型。
* [google-research/deeplab2](https://github.com/google-research/deeplab2) 用于深度标记的 TensorFlow 库,旨在为密集像素标记任务提供统一且最先进的 TensorFlow 代码库。旨在为密集像素标注任务提供统一的、最先进的 TensorFlow 代码库,包括但不限于语义分割、实例分割、全景分割、深度估计,甚至 视频全景分割。深度标记是指通过深度神经网络为图像中的每个像素分配预测值来解决计算机视觉问题。
* [UX-Decoder/Segment-Everything-Everywhere-All-At-Once](https://github.com/UX-Decoder/Segment-Everything-Everywhere-All-At-Once) 这是一个名为 SEEM 的图像分割模型,它可以利用多种类型的提示(包括视觉提示和语言提示)来分割图像中的任何内容。该模型能够处理多种提示组合,并可以扩展到自定义提示。SEEM 的代码已开源,并提供训练日志、模型检查点以及演示代码。该项目在 NeurIPS2023 上发表,并被应用于 LLaVA-Interactive 和 Set-of-Mark Prompting 等项目。
* [PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas) 飞桨图像识别套件 PaddleClas 是飞桨为工业界和学院所准备的一个图像任务的工具集,桌面和用户训练出更好的图像分类和应用落地。PaddleClas 前沿分类、识别相关支持算法,发布行业级特色骨算法PP-HGNet、PP-LCNetv2、PP-LCNet和SSLD 半监督干式网络知识模型等模型,在此基础上打造PULC 超轻量级分类分类方案和PP-ShiTu图像识别系统。
* [soruly/trace.moe](https://github.com/soruly/trace.moe) trace.moe是一个基于图像搜索的动漫场景识别引擎,它可以根据你提供的截图,告诉你该场景来自哪部动漫、哪一集以及具体的时间点。该项目包含网页版、浏览器插件、Telegram 机器人等客户端,以及 API 服务器、媒体服务器、图像分析和搜索插件等服务端组件。你也可以通过 Docker 镜像在本地搭建自己的 trace.moe 系统。
* [zalandoresearch/fashion-mnist](https://github.com/zalandoresearch/fashion-mnist) 类似MNIST的时尚产品数据库。Zalando 文章图像的数据集,由包含 60,000 个示例的训练集和包含 10,000 个示例的测试集组成。每个示例都是一个 28x28 灰度图像,与来自 10 个类的标签相关联。我们打算 `Fashion-MNIST` 直接替代原始MNIST数据集,用于对机器学习算法进行基准测试。它与训练和测试拆分的图像大小和结构相同。
* [AngeLouCN/SAM-2_Surgical_Video](https://github.com/AngeLouCN/SAM-2_Surgical_Video) 该项目利用Segment Anything Model 2(SAM-2)模型,实现单目手术视频中零样本手术工具分割。该项目特色在于无需训练即可对不同手术场景中的工具进行分割,并提供多个数据集的示例,例如EndoNeRF、EndoVis'17、SurgToolLoc和Cochlear Implant数据集。用户可通过交互式提示进行分割,并可通过提供的代码直接使用。
* [Deci-AI/super-gradients](https://github.com/Deci-AI/super-gradients) SuperGradients是一个开源的深度学习训练库,可以轻松训练或微调最先进的计算机视觉模型。它包含 Yolo-NAS 架构,提供最先进的性能,超越了 YOLOv5、YOLOv6、YOLOv7 和 YOLOv8 等模型。SuperGradients 支持各种计算机视觉任务,包括目标检测、图像分类、语义分割和姿态估计,并提供预训练的模型,可直接部署。
* [qubvel/segmentation_models](https://github.com/qubvel/segmentation_models) SegmentationModels是一个基于Keras和TensorFlow Keras的图像分割神经网络Python库,它提供高层API,只需两行代码即可创建分割模型。该库包含4种模型架构,包括著名的Unet,并支持25种预训练的backbone,可用于二元和多类图像分割。它还提供有用的分割损失函数(如Jaccard、Dice、Focal)和指标(如IoU、F-score)。
* [cvat-ai/cvat](https://github.com/cvat-ai/cvat) 使用 CVAT(行业领先的机器学习数据引擎)更好地进行注释。任何规模的团队都可以使用和信任任何规模的数据。用于计算机视觉的交互式视频和图像注释工具。它被全球数以万计的用户和公司使用。我们的使命是帮助世界各地的开发人员、公司和组织使用以数据为中心的 AI 方法解决实际问题。
* [qubvel/segmentation_models.pytorch](https://github.com/qubvel/segmentation_models.pytorch) 具有预训练骨干的分割模型。PyTorch 的。主要功能是:高级 API(只需两行即可创建神经网络)、用于二进制和多类分割的 9 种模型架构(包括传奇的 Unet)、124 种可用编码器(以及 TIMM 的 500+ 种编码器)、所有编码器都具有预先训练的权重,以实现更快更好的收敛、训练例程的流行指标和损失
* [aim-uofa/AdelaiDet](https://github.com/aim-uofa/AdelaiDet) AdelaiDet是一个基于 Detectron2 的开源工具箱,用于多个实例级识别任务,包含 FCOS、BlendMask、MEInst、ABCNet、CondInst、SOLOv2、BoxInst 等算法。项目提供多种模型,例如 FCOS 的 COCO 目标检测基线模型,BlendMask 和 MEInst的 COCO 实例分割基线模型,以及其他模型,用户可以根据自己的需求选择合适的模型。
* [voxel51/fiftyone](https://github.com/voxel51/fiftyone) FiftyOne是一个开源工具,用于构建高质量的数据集和计算机视觉模型。它通过可视化数据集和解释模型来加速机器学习工作流程,帮助用户更快速、更有效地进行数据分析和模型评估。用户可以使用FiftyOne来可视化复杂标签、评估模型、探索感兴趣的场景、识别故障模式、查找标注错误等。
* [facebookresearch/detr](https://github.com/facebookresearch/detr) 使用Transformer进行端到端目标检测。适用于 DETR (DEtection TRansformer) 的 PyTorch 训练代码和预训练模型。我们用 Transformer 替换了整个复杂的手工目标检测管道,并将 Faster R-CNN 与 ResNet-50 匹配,使用一半的计算能力 (FLOP) 和相同数量的参数在 COCO 上获得 42 个 AP。在 50 行 PyTorch 中进行推理。
* [ERNIE/ernie-vil](https://github.com/PaddlePaddle/ERNIE/tree/repro/ernie-vil) 视觉语言任务的知识增强联合表示,第一个引入结构化知识以增强视觉语言预训练的工作。利用从场景图中获得的结构化知识,ERNIE-ViL 构造了三个场景图预测任务,即对象预测、属性预测和关系预测任务。因此,可以学习更好的联合视觉语言表示,表征跨视觉和语言的详细语义的对齐。
* [microsoft/GLIP](https://github.com/microsoft/GLIP) 将目标检测任务转换为短语定位任务。对待任意一张训练图片,把标签用句号隔开,拼接成一句话。通过这种方式,所有的目标检测数据集都可转化为短语定位数据集。至此,便有了文字-重点区域对(word-region pair)。然后,对文字和图片分别进行编码,获得了文字与图片各自的特征。
* [CASIA-IVA-Lab/FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM) FastSAM 是一个快速分割一切模型,它使用仅 2% 的 SAM-1B 数据集进行训练,在保持与 SAM 相当的性能的同时,运行速度提升了 50 倍。FastSAM 的设计基于 CNN 架构,并利用了轻量级网络和高效的推理策略。该项目提供 HuggingFace 演示、Colab 演示和 Replicate 演示,并支持文本提示和点提示模式。
* [wvangansbeke/Unsupervised-Classification](https://github.com/wvangansbeke/Unsupervised-Classification) 该项目包含了SCAN模型的Pytorch实现,该模型无需标签即可学习对图像进行分类,并在四个基准测试中取得了最先进的性能。SCAN利用自监督学习技术,通过对比学习和聚类方法,将图像分组到语义上有意义的类别中。项目还提供了教程和模型库,方便用户进行实验和学习。
* [ultralytics/ultralytics](https://github.com/ultralytics/ultralytics) Ultralytics YOLOv8 是一种尖端的、最先进的 (SOTA) 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新功能和改进,以进一步提高性能和灵活性。YOLOv8 旨在快速、准确且易于使用,使其成为各种目标检测和跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。
* [satellite-image-deep-learning/techniques](https://github.com/satellite-image-deep-learning/techniques) 用于分析卫星和航空图像的各种深度学习技术,包括用于分类、分割和对象检测等任务的架构、模型和算法。对于研究人员、从业者和任何对深度学习的最新进展及其对计算机视觉和遥感的影响感兴趣的人来说,它都是宝贵的资源。
* [ultralytics/yolov3](https://github.com/ultralytics/yolov3) 全球最受欢迎的视觉 AI,代表了 Ultralytics 对未来视觉 AI 方法的开源研究,融合了数千小时研发的经验教训和最佳实践。可用于执行检测、分割、obb(定向物体检测)、分类和姿态估计,这些任务中的每一个都有不同的目标和用例。
* [HumanSignal/labelImg](https://github.com/HumanSignal/labelImg) 在数十名贡献者的帮助下创建的流行图像注释工具,现已不再积极开发,而是已成为 Label Studio 社区的一部分。查看 Label Studio,这是一款最灵活的开源数据标注工具,适用于图像、文本、超文本、音频、视频和时间序列。
* [facebookresearch/segment-anything](https://github.com/facebookresearch/segment-anything) Segment Anything Model从输入提示(如点或框)生成高质量的对象遮罩,并且可用于为图像中的所有对象生成遮罩。它已经在1100万张图像和11亿个掩码的数据集上进行了训练,并且在各种分割任务上具有强大的零样本性能。
* [yangle15/RANet-pytorch](https://github.com/yangle15/RANet-pytorch) 提出的分辨率自适应网络 (RANet) 通过利用spatial redundancy输入图像的分辨率来进行自适应推理。动机是低分辨率表示足以对包含具有原型特征的大对象的简单样本进行分类,只有一些困难样本需要空间详细信息。
* [ibm-aur-nlp/PubLayNet](https://github.com/ibm-aur-nlp/PubLayNet) 大型文档图像数据集,其布局用边界框和多边形分割进行了注释。 文件来源是 PubMed Central Open Access Subset(商业用途合集)。 注释是通过匹配 PubMed Central Open Access 子集中文章的 PDF 格式和 XML 格式自动生成的。
* [microsoft/computervision-recipes](https://github.com/microsoft/computervision-recipes) 计算机视觉的最佳做法、代码示例和文档。应用包括人脸识别、图像理解、搜索、无人机、测绘、半自动和自动驾驶汽车。其中许多应用的关键部分是视觉识别任务,例如图像分类、对象检测和图像相似性。
* [bytedance/ibot](https://github.com/bytedance/ibot) 自我监督预训练框架,通过自蒸馏执行蒙版图像建模。iBOT 显示了局部语义特征,有助于模型在全局范围和局部范围内很好地转移到下游任务。iBOT在 COCO 对象检测和 ADE20K 语义分割上实现了强大的性能。
* [jizhishutong/YOLOU](https://github.com/jizhishutong/YOLOU) 收集更多关于YOLO系列的算法,让小伙伴们更好的学习物体检测的知识。同时,为了更好的应用AI技术,YOLOU也将加入相应的Deploy技术,加速我们所学算法的落地,实现价值。
* [PeterL1n/BackgroundMattingV2](https://github.com/PeterL1n/BackgroundMattingV2) 论文 Real-Time High-Resolution Background Matting 的官方存储库。我们的模型需要捕获额外的背景图像,并在 Nvidia RTX 2080 TI GPU 上以 4K 30fps 和 HD 60fps 的速度产生最先进的抠图效果。
* [JosephKJ/OWOD](https://github.com/JosephKJ/OWOD) (CVPR 2021 Oral) 开放世界目标检测.引入了强大的评估协议并提供了一种新颖的解决方案,我们称之为 ORE:开放世界对象检测器,基于对比聚类和基于能量的未知识别。
* [Megvii-BaseDetection/YOLOX](https://github.com/Megvii-BaseDetection/YOLOX) 高性能目标检测器YOLOX。并将YOLO检测器切换到anchor-free的方式,并结合其他先进的检测技术,如decouple head和标签分配策略SimOTA,实现了当前目标检测最优性能。
* [alibaba/EasyCV](https://github.com/alibaba/EasyCV) 基于Pytorch的计算机视觉工具,聚焦自监督学习和视觉transformer关键技术,覆盖主流的视觉建模任务例如图像分类,度量学习,目标检测,关键点检测等。
* [yuantn/MI-AOD](https://github.com/yuantn/MI-AOD) 用于目标检测的多示例主动学习方法, 提出多示例主动目标检测MI-AOD,通过观察示例级的不确定性来选择信息量最大的图像用于检测器的训练。
* [photoprism/photoprism](https://github.com/photoprism/photoprism) 基于人工智能的去中心化网络照片应用程序。利用最新技术自动标记和查找图片,而不会妨碍您。您可以在家中、私人服务器或云端运行它。
* [HRNet/HRFormer](https://github.com/HRNet/HRFormer) 高分辨率变换器(HRFormer),它学习用于密集预测任务的高分辨率表示,而原始的视觉变换器产生低分辨率表示并且具有高内存和计算成本。
* [Sense-X/UniFormer](https://github.com/Sense-X/UniFormer) 统一卷积和自注意的视觉识别统一变压器,实现高效的时空表示学习 可用于: 图像分类、 视频分类、 物体检测、 语义分割、 姿势估计
* [ultralytics/yolov5](https://github.com/ultralytics/yolov5) 在 COCO 数据集上预训练的对象检测模型,代表 Ultralytics 对未来视觉 AI 方法的开源研究,结合了数千小时的研究和经验教训和最佳实践。
* [hustvl/QueryInst](https://github.com/hustvl/QueryInst) Instances as Queries是一种简单有效的基于查询的实例分割方法,由动态掩码头的并行监督驱动,在准确性和速度方面均优于以前的技术。
* [roboflow/supervision](https://github.com/roboflow/supervision) 为您编写可重复使用的计算机视觉工具。无论您是需要从硬盘加载数据集、在图像或视频上绘制检测,还是计算区域中的检测数量。
* [PaddlePaddle/PaddleSeg](https://github.com/PaddlePaddle/PaddleSeg) 易于使用的图像分割库,具有出色的预训练模型库,支持语义分割、交互式分割、全景分割、图像叠加、3D 分割等广泛的实际任务。
* [microsoft/AutoML/iRPE](https://github.com/microsoft/AutoML/tree/main/iRPE) 视觉位置编码,在ImageNet和COCO上,与原始版相比,分别获得了1.5%(top-1 Acc)和1.3%(mAP)的性能提升(无需任何调参)。
* [xuebinqin/U-2-Net](https://github.com/xuebinqin/U-2-Net) 我们在 Pattern Recognition 2020 上新接受的论文的代码:“U^2-Net:使用嵌套 U 结构进行突出对象检测的深入发展”。
* [iscyy/yoloair](https://github.com/iscyy/yoloair) 基于PyTorch的YOLO算法库。统一模型代码框架、统一应用、统一改进、易于模块组合、构建更强大的网络模型。
* [google-research/kubric](https://github.com/google-research/kubric) 一个数据生成管道,用于创建具有丰富注释的半真实合成多对象视频,例如实例分割掩码、深度图和光流。
* [ttengwang/Caption-Anything](https://github.com/ttengwang/Caption-Anything) 一款结合了图像分割、视觉字幕和 ChatGPT 的多功能工具,可根据用户偏好生成具有不同控件的定制字幕。
* [lucidrains/vit-pytorch](https://github.com/lucidrains/vit-pytorch) 在 Pytorch 中实现 Vision Transformer,一种仅使用单个 Transformer 编码器即可在视觉分类中实现 SOTA 的简单方法
* [PaddlePaddle/PaddleDetection](https://github.com/PaddlePaddle/PaddleDetection) 基于 PaddlePaddle 的目标检测工具包。它支持目标检测、实例分割、多目标跟踪和实时多人关键点检测。
* [IDEA-Research/Grounded-Segment-Anything](https://github.com/IDEA-Research/Grounded-Segment-Anything) 将Grounding-DINO与Segment Anything & Stable Diffusion相结合,识别任何内容-自动检测、分割和生成任何内容
* [sun-xl/ISC2021](https://github.com/sun-xl/ISC2021) Facebook AI 组织的图像相似度挑战赛Image Similarity Challenge (ISC) 2021 匹配赛道的第三名解决方案的源代码
* [jacobgil/pytorch-grad-cam](https://github.com/jacobgil/pytorch-grad-cam) 计算机视觉的高级 AI 可解释性。支持 CNN、视觉变压器、分类、对象检测、分割、图像相似性等。
* [facebookresearch/ConvNeXt](https://github.com/facebookresearch/ConvNeXt) 一个完全由标准 ConvNet 模块构建的纯 ConvNet 模型。ConvNeXt 准确、高效、可扩展且设计非常简单。
* [nadermx/backgroundremover](https://github.com/nadermx/backgroundremover) Background Remover 可让您使用 AI 通过免费和开源的简单命令行界面从图像和视频中删除背景。
* [Cadene/pretrained-models.pytorch](https://github.com/Cadene/pretrained-models.pytorch) pytorch 预训练的 ConvNet:NASNet、ResNeXt、ResNet、InceptionV4、InceptionResnetV2、Xception、DPN 等。
* [wkentaro/labelme](https://github.com/wkentaro/labelme) 使用 Python 的图像多边形注释(多边形、矩形、圆形、直线、点和图像级标志注释)。
* [RangiLyu/nanodet](https://github.com/RangiLyu/nanodet) 超快速和轻量级的无锚物体检测模型。 仅 980 KB(int8) / 1.8MB (fp16) 并在手机上运行 97FPS.
* [lucasjinreal/yolov7_d2](https://github.com/lucasjinreal/yolov7_d2) 早期的 YOLOv7 不是官方的,YOLO 具有 Transformer 和实例分割功能,具有 TensorRT 加速功能
* [vietanhdev/anylabeling](https://github.com/vietanhdev/anylabeling) 借助 YOLO、Segment Anything、MobileSAM 的 AI 支持,轻松实现 AI 辅助数据标注!!
* [visualcommonsense](https://visualcommonsense.com/) 视觉常识推理 ( VCR ) 是一项用于认知级视觉理解的新任务和大规模数据集
* [facebookresearch/Detectron](https://github.com/facebookresearch/Detectron) FAIR用于对象检测研究的研究平台,实现了Mask R-CNN和RetinaNet等流行算法。
* [facebookresearch/detectron2](https://github.com/facebookresearch/detectron2) 用于对象检测、分割和其他视觉识别任务的下一代平台。
* [LeonLok/Multi-Camera-Live-Object-Tracking](https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking) 多摄像头实时目标跟踪和计数,使用YOLOv4,Deep SORT和Flask
* [zongdai/AutoShape](https://github.com/zongdai/AutoShape) ICCV2021 论文:AutoShape:实时形状感知单目 3D 对象检测
* [WZMIAOMIAO/deep-learning-for-image-processing](https://github.com/WZMIAOMIAO/deep-learning-for-image-processing) 用于图像处理的深度学习,包括分类和对象检测等。
* [lyakaap/ISC21-Descriptor-Track-1st](https://github.com/lyakaap/ISC21-Descriptor-Track-1st) Facebook AI 图像相似度挑战赛 (ISC21) 的第一名解决方案
* [RangiLyu/nanodet](https://github.com/RangiLyu/nanodet) NanoDet 轻量级1.8MB、超快(移动端97fps)目标检测项目
* [raoyongming/DenseCLIP](https://github.com/raoyongming/DenseCLIP) DenseCLIP:具有上下文感知提示的语言引导密集预测
* [hkchengrex/XMem](https://github.com/hkchengrex/XMem) [ECCV 2022]使用 Atkinson-Shiffrin 进行长期视频对象分割
* [realtime-semantic-segmentation](https://github.com/hugozanini/realtime-semantic-segmentation) 用TF.js实施RefineNet以在浏览器中执行实时实例分割
* [microsoft/SoftTeacher](https://github.com/microsoft/SoftTeacher) ICCV2021 使用软教师进行端到端的半监督目标检测
* [AlexeyAB/darknet](https://github.com/AlexeyAB/darknet) 用于对象检测的神经网络 YOLOv4 / Scaled-YOLOv4 / YOLO
* [megvii-model/YOLOF](https://github.com/megvii-model/YOLOF) 一个没有FPN的简单、快速、高效的目标检测器。
* [researchmm/CKDN](https://github.com/researchmm/CKDN) 用于退化参考图像质量评估的学习条件知识提炼
* [MediaBrain-SJTU/RegAD](https://github.com/MediaBrain-SJTU/RegAD) 基于注册的少样本异常检测”(RegAD) 的官方实现
* [NVlabs/MinVIS](https://github.com/nvlabs/minvis) 无需基于视频的培训的最小视频实例分割框架
* [cfzd/Ultra-Fast-Lane-Detection](https://github.com/cfzd/Ultra-Fast-Lane-Detection) 论文“超快速结构感知深度车道检测”的实现
* [dddzg/up-detr](https://github.com/dddzg/up-detr) 使用 Transformers 进行目标检测的无监督预训练
* [yihongXU/TransCenter](https://github.com/yihongXU/TransCenter) TransCenter:用于多对象跟踪的密集查询转换器
* [SysCV/pcan](https://github.com/SysCV/pcan) 用于多对象跟踪和分割的原型交叉注意网络
* [EBazarov/nsfw_data_source_urls](https://github.com/EBazarov/nsfw_data_source_urls) 收集NSFW 图像 URL,用于训练NSFW图像分类器
* [meituan/YOLOv6](https://github.com/meituan/YOLOv6) 专用于工业应用的单阶段目标检测框架。
* [hoya012/deep_learning_object_detection](https://github.com/hoya012/deep_learning_object_detection) 使用深度学习进行对象检测的纸质列表。
* [open-mmlab/mmdetection](https://github.com/open-mmlab/mmdetection) OpenMMLab基于PyTorch的开源对象检测工具箱
* [open-mmlab/mmrotate](https://github.com/open-mmlab/mmrotate) 基于 PyTorch 的旋转框检测的开源工具箱
* [open-mmlab/mmsegmentation](https://github.com/open-mmlab/mmsegmentation) OpenMMLab语义分割工具箱和基准测试。
* [alex000kim/nsfw_data_scraper](https://github.com/alex000kim/nsfw_data_scraper) 训练 NSFW 图像分类器的脚本集合
* [phecy/SSL-FEW-SHOT](https://github.com/phecy/SSL-FEW-SHOT) 小样本图像分类的自监督学习
* [Megvii-BaseDetection/DeFCN](https://github.com/Megvii-BaseDetection/DeFCN) 全卷积网络的端到端目标检测
* [willard-yuan/awesome-cbir-papers](https://github.com/willard-yuan/awesome-cbir-papers) 经典图像检索论文合集
* [architras/Advanced_Lane_Lines](https://github.com/architras/Advanced_Lane_Lines) 基于阈值的车道标记
* [mrgloom/awesome-semantic-segmentation](https://github.com/mrgloom/awesome-semantic-segmentation) 令人敬畏的语义分割
* [studiomoniker/Quickdraw-appendix](https://github.com/studiomoniker/Quickdraw-appendix) 25k 阴茎涂鸦数据集
## 视频生成_补帧_摘要
* [MCG-NJU/VideoMAE](https://github.com/MCG-NJU/VideoMAE) 简单高效的视频自监督预训练新范式。提出了极高的掩蔽率 (90%-95%) 和管掩蔽策略,为自监督视频预训练创建具有挑战性的任务。VideoMAE 可以作为未来自监督视频预训练研究的简单但强大的基线。适用于不同规模的视频数据集,在 Kinects-400 上可以达到 87.4%(Kinetics-400是一个大规模,高质量的YouTube视频网址数据集,其中包含各种以人为本的行动。该数据集包含 400 个人类动作类,每个动作至少有 400 个视频剪辑。每个剪辑持续大约 10 秒,并且取自不同的 YouTube 视频。这些动作以人类为中心,涵盖广泛的类别,包括演奏乐器等人与物体的交互,以及握手等人与人的交互。),在 Something-Something V2 (大型的带有标签的记录了人类与日常生活中的一些物体之间的动作数据集)上可以达到 75.4%,在 UCF101 上可以达到 91.3%(UCF-101(2012)包含13,320个视频(共27个小时),101个人类行为类别,如运动、乐器和人物交互等。),在 HMDB51(HMDB51包含51类动作,共有6849个视频,每个动作至少包含51个视频,分辨率320*240,。来自于YouTube,google视频等,共2G) 上可以达到 62.6%。
* [guoyww/animatediff](https://github.com/guoyww/animatediff) 该存储库是AnimateDiff [ICLR2024 Spotlight] 的官方实现。它是一个即插即用模块,可将大多数社区文本到图像模型转变为动画生成器,无需额外培训。随着文本到图像模型(例如稳定扩散)和相应的个性化技术(例如LoRA和DreamBooth)的进步,每个人都可以以可承受的成本将他们的想象力转化为高质量的图像。 随后,对图像动画技术的需求很大,以进一步将生成的静止图像与运动动态相结合。 在这个项目中,我们提出了一个有效的框架,可以一次性对大多数现有的个性化文本到图像模型进行动画处理,从而节省模型特定调整的工作量。所提出框架的核心是将新初始化的运动建模模块附加到基于冻结的文本到图像模型,并随后在视频剪辑上对其进行训练,以提取合理的运动先验。一旦经过训练,通过简单地注入这个运动建模模块,所有源自同一基础的个性化版本很容易成为文本驱动的模型,产生多样化和个性化的动画图像。
* [jbilcke-hf/clapper](https://github.com/jbilcke-hf/clapper) Clapper是一个开源的 AI 故事可视化工具,旨在通过交互式、迭代和直观的流程,让任何人都能使用 AI 创建视频,无需外部工具、电影制作或 AI 工程技能。Clapper 的理念是通过抽象概念(如角色、地点、天气、时间段、风格等)来迭代你的故事,而不是直接编辑视频和音频文件序列。它还提供了一个导演模式,让你可以全屏观看视频,并通过语音命令 AI助理来制作电影。Clapper 的公开实例托管在 Hugging Face 上,你可以在 Clapper.app 上尝试。该项目完全开源,你可以加入 Discord 社区参与其中。Clapper 的路线图也是公开的,你可以查看 GitHub 项目页面了解详情。Clapper 使用 GPL v3 许可证,类似于 ComfyUI 或 Blender 等应用程序。要安装 Clapper,你需要安装 git lfs 和 Bun,并使用 Node 20.17.0 版本。
* [ali-vilab/VGen](https://github.com/ali-vilab/VGen) VGen是由阿里巴巴集团同义实验室开发的开源视频合成代码库,采用最先进的视频生成模型。此存储库包括以下方法的实现:I2VGen-xl:通过级联扩散模型实现高质量图像到视频合成;VideoComposer:具有运动可控性的合成视频合成;面向文本转视频生成的分层时空解耦;使用无文本视频扩大文本到视频生成的秘诀;InstructVideo:使用人工反馈指导视频扩散模型;DreamVideo:使用自定义主题和动作组成您的梦想视频;VideoLCM:视频潜在一致性模型;Modelscope文字转视频技术报告。VGen 可以从输入文本、图像、所需的运动、所需的主题甚至提供的反馈信号中生成高质量的视频。它还提供了各种常用的视频生成工具,例如可视化、采样、训练、推理、使用图像和视频的联接训练、加速等。
* [PKU-YuanGroup/Open-Sora-Plan](https://github.com/PKU-YuanGroup/Open-Sora-Plan) 本项目旨在重现 Sora(Open AI T2V 模型),我们希望开源社区为本项目做出贡献。推出 Open-Sora-Plan v1.1.0,它显着增强了视频生成质量和文本控制功能。该项目旨在创建一个简单且可扩展的存储库,以重现 Sora(OpenAI,但我们更愿意将其称为“ClosedAI”)。我们希望开源社区能够为这个项目做出贡献。欢迎拉取请求!!本项目希望通过开源社区的力量复现Sora,由北大-兔展AIGC联合实验室共同发起,当前版本离目标差距仍然较大,仍需持续完善和快速迭代。项目阶段:设置代码库并在landscape景观数据集上训练无条件模型。训练可提高分辨率和持续时间的模型。在landscape景观数据集上进行text2video实验。在 video2text 数据集上训练 1080p 模型。具有更多条件的控制模型。
* [linjieli222/HERO](https://github.com/linjieli222/HERO) 用于视频+语言全表示预训练的分层编码器 该存储库目前支持在 [TVR](https://tvr.cs.unc.edu/)、[TVQA](http://tvqa.cs.unc.edu/)、[TVC](https://tvr.cs.unc.edu/tvc.html)、 [VIOLIN](https://github.com/jimmy646/violin)、 [DiDeMo](https://github.com/LisaAnne/TemporalLanguageRelease)和 [MSR-VTT Retrieval](http://ms-multimedia-challenge.com/2017/challenge)上微调 HERO 。发布了最好的预训练检查点(在[HowTo100M](https://www.di.ens.fr/willow/research/howto100m/)和[TV](http://tvqa.cs.unc.edu/)数据集上)。还提供了在 TV 数据集上进行 HERO 预训练的代码。
* [continue-revolution/sd-webui-animatediff](https://github.com/continue-revolution/sd-webui-animatediff) AnimateDiff for AUTOMATIC1111 Stable Diffusion WebUI 扩展将 AnimateDiff 集成到AUTOMATIC1111 Stable Diffusion WebUI 中,并与 ControlNet结合,提供易于使用的 AI 视频制作工具。该扩展通过在运行时将运动模块插入 UNet,无需重新加载模型权重,并支持ControlNet 补全、IP-Adapter 提示旅行、稀疏控制、ControlNet 关键帧等功能。此外,还支持 FreeInit 和 AnimateLCM,提供更灵活的视频生成方式。该扩展致力于将有趣的研究成果整合到 WebUI 和 Forge 中,并持续更新以提供更强大的视频生成能力。
* [AdaCache-DiT/AdaCache](https://github.com/AdaCache-DiT/AdaCache) AdaCache是一个用于加速视频扩散模型 (DiTs) 的无训练方法,它利用视频生成过程中不同视频所需的去噪步骤数量差异,通过缓存计算并根据视频内容定制缓存计划,从而实现显著的推理加速,同时保持生成质量。该方法还引入了运动正则化 (MoReg) 方案,利用视频信息来控制计算分配,进一步提高效率。AdaCache 可以在多个视频 DiT 基线上实现即插即用,无需牺牲生成质量即可显著提高推理速度。该项目基于 Open-Sora 实现,并提供详细的安装指南和推理示例。
* [hpcaitech/Open-Sora](https://github.com/hpcaitech/Open-Sora) 致力于高效制作高质量视频并使所有人都可以使用模型、工具和内容的计划。通过采用开源原则,Open-Sora 不仅使对高级视频生成技术的访问民主化,而且还提供了一个简化且用户友好的平台,简化了视频制作的复杂性。通过Open-Sora,我们的目标是在内容创作领域激发创新、创造力和包容性。Open-Sora 1.1,它支持 2s~15s、144p 到 720p、任意宽高比的文本到图像、文本到视频、图像到视频、视频到视频、无限时间生成。此外,还发布了完整的视频处理流水线。
* [RayVentura/ShortGPT](https://github.com/RayVentura/ShortGPT) 用于自动创建短视频内容的实验性 AI 框架。它简化了视频创建、素材获取、画外音合成和编辑任务。自动编辑框架:使用面向LLM的视频编辑语言简化视频创建过程。脚本和提示:为各种LLM自动编辑过程提供即用型脚本和提示。画外音/内容创作:支持多种语言。字幕生成:自动生成视频字幕。资产来源:从互联网上获取图像和视频片段,并根据需要与网络和 Pexels API 连接。内存和持久性:使用 TinyDB 确保自动编辑变量的长期持久性。
* [OpenGVLab/video-mamba-suite](https://github.com/OpenGVLab/video-mamba-suite) Video Mamba Suite是一个使用Mamba模型进行视频理解的工具集,它包含14个模型/模块,涵盖了视频时间建模、时空建模、跨模态交互等多个方面,并在12个视频理解任务上进行了评估。该项目旨在探索Mamba在视频理解领域中的应用潜力,并与Transformer进行比较,以评估其作为一种可行替代方案的可能性。该项目已发布代码,并支持包括动作定位、动作识别、长视频问答等多个任务。
* [PolyU-ChenLab/ETBench](https://github.com/PolyU-ChenLab/ETBench) E.T.Bench是一个面向开放式事件级视频-语言理解的综合解决方案,包含三个主要贡献:一个大规模高质量的事件级和时间敏感视频理解基准测试,一个专门用于时间敏感视频条件聊天的多模态大型语言模型,以及一个专门针对时间敏感视频理解场景的精心收集的指令微调数据集。该项目专注于时间敏感视频理解的四个关键能力:引用、定位、密集字幕和复杂理解。
* [Ikaros-521/AI-Vtuber](https://github.com/Ikaros-521/AI-Vtuber) AI Vtuber是一个由 【ChatterBot/ChatGPT/claude/langchain/chatglm/text-gen-webui/闻达/千问/kimi/ollama】 驱动的虚拟主播【Live2D/UE/xuniren】,可以在 【Bilibili/抖音/快手/微信视频号/拼多多/斗鱼/YouTube/twitch/TikTok】 直播中与观众实时互动 或 直接在本地进行聊天。它使用TTS技术【edge-tts/VITS/elevenlabs/bark/bert-vits2/睿声】生成回答并可以选择【so-vits-svc/DDSP-SVC】变声;指令协同SD画图。
* [VectorSpaceLab/Video-XL](https://github.com/VectorSpaceLab/Video-XL) Video-XL是一个用于理解长视频的视觉语言模型,它能够处理长达一小时的视频。该模型在 MLVU、VideoMME、VNBench 和LongVideoBench 等基准测试中,在 7B 模型中取得了领先的性能。Video-XL 可以高效地处理长视频,并在80G GPU 上处理 2048 帧,同时在 Needle-in-a-haystack 评估中达到近 95% 的准确率。该模型在电影摘要、监控异常检测和广告放置识别等现实场景中表现出色。
* [CryhanFang/CLIP2Video](https://github.com/CryhanFang/CLIP2Video) 基于CLIP (ViT-B/32)的视频文本检索模型,将图像语言预训练模型以端到端的方式转换为视频文本检索。模型包括一个时间差异块来捕捉精细时间视频帧的运动,以及时间对齐块来重新对齐视频剪辑和短语的标记并增强多模态相关性。在主要的文本到视频和视频到文本检索基准上取得了最先进的性能,包括 MSR-VTT、MSVD 和 VATEX 检索准确性的新记录。
* [AILab-CVC/CV-VAE](https://github.com/AILab-CVC/CV-VAE) CV-VAE是一个兼容预训练图像和视频模型(如SD 2.1和SVD)的视频变分自编码器(VAE),用于构建潜在生成视频模型。该项目已在NeurIPS 2024上发表,并提供了模型权重和推理代码,可用于视频重建等任务。用户可通过Hugging Face平台下载模型权重,并使用提供的Python代码进行视频重建。该项目还提供了详细的依赖项和使用说明,方便用户快速上手。
* [HVision-NKU/StoryDiffusion](https://github.com/HVision-NKU/StoryDiffusion) StoryDiffusion是一个能够生成一致性图像和视频的项目,它通过自注意力机制实现长序列图像生成,并使用运动预测器生成长视频。该项目可以用于生成漫画、图像转视频等,并支持SD1.5和SDXL模型。用户需要提供至少3个文本提示,建议提供5-6个提示以获得更好的布局。该项目还提供了一个两阶段的长视频生成方法,可以生成高质量的AIGC视频。
* [NUS-HPC-AI-Lab/VideoSys](https://github.com/NUS-HPC-AI-Lab/VideoSys) VideoSys 是一个开源项目,为视频生成提供用户友好且高性能的基础设施。这个综合工具包将支持从训练和推理到服务和压缩的整个流程。我们致力于不断集成尖端的开源视频模型和技术。请继续关注即将推出的令人兴奋的增强功能和新功能!VideoSys 通过我们的各种加速技术支持许多扩散模型,使这些模型运行得更快并消耗更少的内存。
* [Vchitect/Vchitect-2.0](https://github.com/Vchitect/Vchitect-2.0) Vchitect-2.0:用于放大视频扩散模型的并联变压器。支持20秒长视频生成,兼容4:3、16:9等多种分辨率、支持2K分辨率、24fps帧率的一体化视频超分插帧增强模型、推出首个支持20秒以上长视频的评测框架。筑梦是由上海人工智能实验室自研打造的视频生成大模型,具备强大的视频生成能力 让用户可以轻松高效地完成艺术视频创作。
* [Vchitect/LaVie](https://github.com/Vchitect/LaVie) LaVie是一个基于级联潜在扩散模型的文本到视频生成框架,是视频生成系统 Vchitect 的核心部分。它可以根据文本描述生成高质量的视频,并提供预训练模型供用户使用。LaVie 还支持图像到视频的生成,并提供名为 SEINE 的微调模型。项目提供详细的安装指南和预训练模型下载地址,用户可以轻松使用 LaVie 生成各种风格的视频。
* [abhiTronix/vidgear](https://github.com/abhiTronix/vidgear) 高性能视频处理 Python 库,它提供了一个易于使用、高度可扩展、彻底优化的多线程 + Asyncio API 框架,它基于许多最先进的专业库,如 OpenCV、FFmpeg、ZeroMQ、picamera、starlette、yt_dlp、pyscreenshot、dxcam、aiortc 和 python-mss 在其后端服务,使我们能够灵活地利用它们的内部参数和方法,同时静默地提供强大的错误处理和实时性能
* [IndigoPurple/cube](https://github.com/IndigoPurple/cube) CUBE项目是一个可控的无监督事件驱动视频生成项目,该项目利用事件流信息来生成视频。项目包含预训练的Stable Diffusion模型和ControlNet模型,以及RIFE模型用于视频帧插值。用户可以通过输入文本提示和事件流信息来生成视频,并控制视频内容和运动。项目提供预训练模型和代码,用户可以轻松地进行视频生成实验。
* [facebookresearch/SlowFast](https://github.com/facebookresearch/SlowFast) PySlowFast是 FAIR 开源的视频理解代码库,提供高效训练的最新视频分类模型。它包含了 SlowFast 网络、非局部神经网络、多网格训练、X3D、多尺度视觉Transformer 等模型的实现,旨在为视频研究提供高性能、轻量级的 PyTorch 代码库,支持快速实现和评估新的视频研究想法。该项目还提供了各种模型库和基准结果。
* [Vision-CAIR/LongVU](https://github.com/Vision-CAIR/LongVU) LongVU是一个用于长视频语言理解的时空自适应压缩模型。它可以根据视频内容动态调整压缩率,从而在保证理解能力的同时提高效率。LongVU支持图像和视频两种模态,并提供 Hugging Face 空间演示和模型检查点下载。用户可以通过简单的代码示例在本地运行 LongVU 模型,并使用其进行视频描述、问答等任务。
* [sczhou/ProPainter](https://github.com/sczhou/ProPainter) ProPainter是一个用于视频修复的深度学习模型,它在ICCV 2023上发表。该模型通过改进传播和Transformer机制,在视频修复任务中取得了显著的性能提升。ProPainter能够有效地修复视频中的缺失区域,例如物体移除、视频补全等。项目提供代码和模型,并提供在线演示,用户可以在Hugging Face和OpenXLab平台上体验。
* [TachibanaYoshino/AnimeGANv3](https://github.com/TachibanaYoshino/AnimeGANv3) AnimeGANv3是一个基于生成对抗网络 (GAN) 的模型,可以将照片或视频转换为动画风格。该项目提供模型和代码,用户可以轻松地使用它进行动画风格转换。项目特色包括:快速转换速度、多种动画风格选择、支持照片和视频转换等。该项目还提供了在线演示、模型下载和相关论文,方便用户学习和使用。
* [farewellthree/PPLLaVA](https://github.com/farewellthree/PPLLaVA) PPLLaVA项目是一个基于提示引导的多样化视频序列理解模型的GPU实现,其论文已发表在arXiv(2411.02327),该项目提供Hugging Face模型权重和Apache 2.0许可证,并支持NPU代码。PPLLaVA通过提示指导,实现对不同视频序列的理解,并在多个视频理解基准测试中取得了领先的性能。
* [gabeur/mmt](https://github.com/gabeur/mmt) 用于视频检索的多模态变压器 提出的多模态转换器 (MMT) 从视频中聚合多模态特征序列(例如外观、运动、音频、OCR 等)。然后,它将聚合的多模式特征嵌入到带有文本的共享空间中以进行检索。它在 MSRVTT、ActivityNet 和 LSMDC 数据集上实现了最先进的性能。
* [IVGSZ/Flash-VStream](https://github.com/IVGSZ/Flash-VStream) 这是《Flash-VStream:基于内存的长视频流实时理解》的官方实现。我们提出了Flash-VStream ,这是一种新颖的 LMM,能够实时处理极长的视频流并同时响应用户查询。我们还提出了VStream-QA ,这是一种专门为在线视频流理解而设计的新型问答基准。
* [TMElyralab/MuseTalk](https://github.com/TMElyralab/MuseTalk) MuseTalk:具有潜在空间修复的实时高质量嘴部同步。我们介绍了 MuseTalk,这是一种实时高质量口型同步模型(在 NVIDIA Tesla V100 上为 30fps+)。MuseTalk 可以与输入视频(例如由 MuseV 生成)一起应用,作为一个完整的虚拟人解决方案。
* [MooreThreads/Moore-AnimateAnyone](https://github.com/MooreThreads/Moore-AnimateAnyone) 基于 AnimateAnyone 管道的人脸重演方法:使用驾驶视频的面部特征点来控制给定源图像的姿势,并保持源图像的身份。特别地,我们将头部姿态(包括眨眼)和嘴巴动作与行车视频的地标解开,可以精确控制源人脸的表情和动作。
* [Zulko/moviepy](https://github.com/Zulko/moviepy) 用于视频编辑的 Python 库:剪切、串联、标题插入、视频合成(又名非线性编辑)、视频处理和创建自定义效果。可以读取和写入所有最常见的音频和视频格式,包括 GIF,并使用 Python 3.6+ 在 Windows/Mac/Linux 上运行。
* [damo/cv_googlenet_pgl-video-summarization](https://modelscope.cn/models/damo/cv_googlenet_pgl-video-summarization/summary) 输入一段长视频,算法对视频进行镜头切割得到视频片段,评估视频帧的重要性,输出重要视频帧的帧号,根据帧号可以合成一段短视频(摘要视频)。采用local和global的多头注意力构成的transformer模型
* [ArrowLuo/CLIP4Clip](https://github.com/ArrowLuo/CLIP4Clip) CLIP4Clip 是基于CLIP (ViT-B)的视频文本检索模型。在这项工作中,我们研究了三种相似度计算方法:无参数类型、顺序类型和紧密类型。该模型在 MSR-VTT、MSVC、LSMDC、ActivityNet 和 DiDeMo 上实现了 SOTA 结果。
* [TMElyralab/MusePose](https://github.com/TMElyralab/MusePose) MusePose:用于虚拟人生成的姿势驱动的图像到视频框架。MusePose 是一个图像到视频的生成框架,用于虚拟人体受控信号,例如姿势。当前发布的模型是通过优化 Moore-AnimateAnyone 实现的 AnimateAnyone。
* [360CVGroup/FancyVideo](https://github.com/360CVGroup/FancyVideo) 通过跨帧文本指导实现动态且一致的视频生成。我们的代码基于AnimateDiff构建,我们还结合了CV-VAE 、 Res-Adapter和Long-CLIP的见解来增强我们的项目。我们感谢这些作品的开源贡献。
* [NatronGitHub/Natron](https://github.com/NatronGitHub/Natron) 一款免费的开源(GPLv2 许可证)视频合成器,其功能类似于 Adobe After Effects、Foundry 的 Nuke 或 Blackmagic Fusion。 它是可移植的和跨平台的(GNU/Linux、macOS 和 Microsoft Windows)。
* [genmoai/models](https://github.com/genmoai/models) Mochi 1 预览版是一种开放的最先进的视频生成模型,具有高保真度运动和初步评估中的强烈提示依从性。该模型极大地缩小了封闭式和开放式视频生成系统之间的差距。
* [facebookresearch/Motionformer](https://github.com/facebookresearch/Motionformer) 训练和测试我们提出的 Motionformer 模型。Motionformer 使用提议的*轨迹注意*在几个视频动作识别基准(例如 Kinetics-400 和Something-Something V2)上实现最先进的结果。
* [Tencent/libpag](https://github.com/Tencent/libpag) 动画文件的渲染 SDK,降低或消除动画研发相关的成本,打通设计师创作到素材交付上线的极简流程,不断输出运行时可编辑的高质量动画内容。
* [tnfe/FFCreator](https://github.com/tnfe/FFCreator) 基于Node.js的轻量级灵活的短视频处理库。您只需要添加一些图片、音乐或视频剪辑,就可以使用它快速创建非常令人兴奋的视频相册。
* [hzwer/arXiv2020-RIFE](https://github.com/hzwer/arXiv2020-RIFE) 视频帧插值的实时中级流量估计.旷视和北大提出的一种实时中间流估计算法。用于视频帧插值,能够改善伪影、让视频更丝滑。
* [mfarre/fineVideo](https://github.com/mfarre/fineVideo) 我们最近发布了 FineVideo,这是一个包含 43k+ 视频/3.4k 小时的数据集,并带有丰富的描述、叙述细节、场景分割和 QA 对的注释。
* [google-research/magvit](https://github.com/google-research/magvit) 官方 JAX 实现:掩码生成视频转换器 .引入 MAGVIT 以使用单一模型处理各种视频合成任务,并展示了其质量、效率和灵活性。
* [xyzforever/BEVT](https://github.com/xyzforever/BEVT) 视频转换器的BERT预训练。BEVT首先对图像数据进行蒙版图像建模,然后对视频数据进行蒙版图像建模和蒙版视频建模。
* [google-research/mint](https://github.com/google-research/mint) 多模式内容创建模型训练基础设施,包括 FACT 模型(AI Choreographer)实现。带有 AIST++ 的音乐条件 3D 舞蹈生成。
* [Video-as-Agent/VideoAgent](https://github.com/Video-as-Agent/VideoAgent) 用于在 VideoAgent 中训练视频策略的官方代码库。Official implementation of "Self-Improving Video Generation as Agent"
* [nihui/dain-ncnn-vulkan](https://github.com/nihui/dain-ncnn-vulkan) DAIN 的 ncnn 实现,深度感知视频帧插值。dain-ncnn-vulkan 使用 ncnn 项目作为通用神经网络推理框架。
* [OpenShot/libopenshot](https://github.com/OpenShot/libopenshot) 致力于为全世界提供高质量的视频编辑、动画和播放解决方案。 API 目前支持 C++、Python 和 Ruby。
* [jantic/DeOldify](https://github.com/jantic/DeOldify) 基于NoGAN技术,保证视频着色的稳定性,例如,视频中的同一件衣服,不至于转换成多种颜色。
* [ossrs/srs](https://github.com/ossrs/srs) SRS是一个简单、高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181。
* [0voice/audio_video_streaming](https://github.com/0voice/audio_video_streaming) 音视频流媒体权威资料整理,500+份文章,论文,视频,实践项目,协议,业界大神名单。
* [VALUE-Leaderboard/StarterCode](https://github.com/VALUE-Leaderboard/StarterCode) VALUE 基准测试的入门代码 。用于训练、评估和分析系统以理解视频和字幕的资源集合。
* [facebookresearch/AnimatedDrawings](https://github.com/facebookresearch/AnimatedDrawings) 旨在成为一个有用的创意工具,让您可以灵活地创建以自己绘制的角色为主角的动画。
* [leandromoreira/digital_video_introduction](https://github.com/leandromoreira/digital_video_introduction) 视频技术的实践介绍:图像、视频、编解码器(av1、vp9、h265)等(ffmpeg 编码)
* [nateraw/stable-diffusion-videos](https://github.com/nateraw/stable-diffusion-videos) 通过探索潜在空间和文本提示之间的变形来实现稳定扩散(stable diffusion)的视频
* [ShareGPT4Omni/ShareGPT4Video](https://github.com/ShareGPT4Omni/ShareGPT4Video) [NeurIPS 2024] ShareGPT4Video 的正式实现:通过更好的字幕提高视频理解和生成
* [obsproject/obs-studio](https://github.com/obsproject/obs-studio) 专为高效捕获、合成、编码、录制和流式传输视频内容而设计的软件。
* [TMElyralab/MuseV](https://github.com/TMElyralab/MuseV) MuseV:具有视觉条件并行降噪的无限长度和高保真虚拟人类视频生成。
* [HumanAIGC/AnimateAnyone](https://github.com/HumanAIGC/AnimateAnyone) 为任何人制作动画:用于角色动画的一致且可控的图像到视频合成
* [erikalu/omnimatte](https://github.com/erikalu/omnimatte) 提取视频中的前、背景。精确蒙版(matte)操作,分离前景背景。
* [HumanAIGC/EMO](https://github.com/HumanAIGC/EMO) 在弱条件下使用 Audio2Video 扩散模型生成富有表现力的人像视频
* [baowenbo/DAIN](https://github.com/baowenbo/DAIN) DAIN(深度感知视频帧插值)可以把30fps的进一步插帧到480fps。
* [leandromoreira/ffmpeg-libav-tutorial](https://github.com/leandromoreira/ffmpeg-libav-tutorial) FFmpeg libav 教程 - 了解媒体如何从基础到转换、转码等工作
* [Vchitect/Latte](https://github.com/Vchitect/Latte) Latte:用于视频生成的潜在扩散转换器官方 PyTorch 实现。
* [nihui/rife-ncnn-vulkan](https://github.com/nihui/rife-ncnn-vulkan) RIFE,视频帧插值的实时中级流量估计与 ncnn 库一起实现
* [starmemda/CAMoE](https://github.com/starmemda/CAMoE) 通过多流语料库对齐和双 Softmax 损失改进视频文本检索
* [THUDM/CogVideo](https://github.com/THUDM/CogVideo) 文本到视频生成的代码和模型,只支持简体中文输入。
* [nihui/cain-ncnn-vulkan](https://github.com/nihui/cain-ncnn-vulkan) CAIN,使用 ncnn 库实现的视频帧插值只需要频道注意力
* [olive-editor/olive](https://github.com/olive-editor/olive) 适用于 Win、macOS 和 Linux 的免费非线性视频编辑器。
* [Breakthrough/PySceneDetect](https://github.com/Breakthrough/PySceneDetect) 基于 Py 和 OpenCV 的场景剪切/过渡检测程序和库。
* [lucidrains/nuwa-pytorch](https://github.com/lucidrains/nuwa-pytorch) 用于文本到视频合成的最先进的注意力网络
* [mltframework/shotcut](https://github.com/mltframework/shotcut) 跨平台 (Qt)、开源 (GPLv3) 视频编辑器
* [zr2021/2021_QQ_AIAC_Tack1_1st](https://github.com/zr2021/2021_QQ_AIAC_Tack1_1st) QQ浏览器2021多模态视频相似度 第1名 方案
* [pencil2d/pencil](https://github.com/pencil2d/pencil) 制作二维手绘动画的简单、直观的工具。
* [joelibaceta/video-to-ascii](https://github.com/joelibaceta/video-to-ascii) 可以使用字符作为像素在终端中播放视频
* [remotion-dev/remotion](https://github.com/remotion-dev/remotion) 使用 React 以编程方式创建视频的框架。
* [facebookresearch/pytorchvideo](https://github.com/facebookresearch/pytorchvideo) 为视频理解研究打造的深度学习库。
* [FujiwaraChoki/MoneyPrinter](https://github.com/FujiwaraChoki/MoneyPrinter) 使用 MoviePy 自动创建 YouTube Shorts。
* [NVlabs/stylegan3](https://github.com/NVlabs/stylegan3) 更适合视频和动画的生成模型。
* [myungsub/CAIN](https://github.com/myungsub/CAIN) 视频帧插值只需要频道注意力
* [Justin62628/Squirrel-RIFE](https://github.com/Justin62628/Squirrel-RIFE) 基于RIFE算法的中文补帧软件.
* [microsoft/VideoX](https://github.com/microsoft/VideoX/) 跨模态视频内容理解
# A05_语音识别与合成
## 语音合成
* [fishaudio/fish-speech](https://github.com/fishaudio/fish-speech) 由Fish Audio开发的开源文本转语音(TTS)解决方案,旨在提供高效、多语言支持的语音合成技术。以下是Fish Speech的主要功能和特点:高效的文本到语音转换:Fish Speech利用先进的算法,能够迅速将输入的文本信息转换成听起来自然、流畅的语音。多语言支持:该工具支持中文、英文和日文,经过大量数据的训练,能够生成高质量的语音内容。具体来说,Fish Speech使用了约十五万小时的三语数据进行训练,对中文的支持非常完美。高效生成速度:Fish Speech是唯一一个能够以每秒20个标记生成语音的开源TTS模型。零样本语音克隆:用户只需录制说话人短时间的语音样本,即可迅速进行语音克隆,无需繁琐的训练过程。高保真语音合成:采用最新的AI算法,生成接近真人的语音,提供自然流畅的听觉体验。高度可定制性:Fish Speech提供了极高的自定义性和灵活性,以满足用户的个性化需求。用户可以根据自己的需求进行设置,并且支持本地化部署。低显存需求:该工具对显存的需求极低,仅需4GB,可以在个人设备上轻松运行和微调。模型轻量化:尽管模型参数仅为亿级,但其设计高效轻量,可以在个人设备上轻松运行和微调。情感表达:Fish Speech不仅能够生成自然和富有表现力的语音,还支持带有情感的语音合成。开源和社区支持:Fish Speech是一个开源项目,用户可以在GitHub上找到其代码并进行贡献。Fish Speech凭借其高效的文本到语音转换能力、多语言支持、零样本语音克隆、高保真语音合成、高度可定制性、低显存需求和模型轻量化等特点,成为了一个在文本转语音领域具有重要影响力的开源项目。
* [suno-ai/bark](https://github.com/suno-ai/bark) 由Suno创建的基于变压器的文本到音频模型。Bark可以生成高度逼真的多语言语音以及其他音频 - 包括音乐,背景噪音和简单的音效。该模型还可以产生非语言交流,如笑、叹息和哭泣。为了支持研究社区,我们正在提供对预训练模型检查点的访问,这些检查点已准备好进行推理并可用于商业用途。完全生成的文本到音频模型,用于研究和演示目的。它遵循类似于AudioLM和Vall-E的GPT风格架构以及EnCodec的量化音频表示。它不是传统的 TTS 模型,而是一个完全生成的文本到音频模型,能够以意想不到的方式偏离任何给定的脚本。与以前的方法不同,输入文本提示直接转换为音频,而无需中间使用音素。因此,它可以推广到语音以外的任意指令,例如音乐歌词、音效或其他非语音声音。
* [Plachtaa/VALL-E-X](https://github.com/Plachtaa/VALL-E-X) Microsoft的VALL-E X零样本TTS模型的开源实现。`多语言TTS`:用英语,中文和日语进行自然而富有表现力的语音合成。`零样本语音克隆`:注册一个看不见的演讲者的短短 3~10 秒录音, VALL-E X 即可创建听起来像他们的个性化、高质量的语音!`言语情绪控制`:可以合成具有与提供的声学提示相同的情感的语音,为您的音频添加额外的表现力。`零样本跨语言TTS`:让单语使用者踏上语言之旅!VALL-E X可以用另一种语言生成个性化的语音,而不会影响流利度或口音。`口音控制`:利用口音发挥创意!允许您尝试不同的口音,例如说带有英语口音的中文,反之亦然。`声学环境维护`:无需完全干净的音频提示!可适应输入的声学环境,使语音生成感觉自然而身临其境。
* [2noise/ChatTTS](https://github.com/2noise/ChatTTS) 专为LLM助手等对话场景设计的文本转语音模型。它支持英文和中文。我们的模型训练了 100,000+ 小时,由中文和英文组成。HuggingFace 上的开源版本是一个 40,000 小时的预训练模型,没有 SFT。特色:对话式 TTS:ChatTTS 针对基于对话的任务进行了优化,可实现自然和富有表现力的语音合成。它支持多个扬声器,促进交互式对话。细粒度控制:该模型可以预测和控制细粒度的韵律特征,包括笑声、停顿和感叹词。更好的韵律:ChatTTS 在韵律方面超过了大多数开源 TTS 模型。我们提供预训练模型来支持进一步的研究和开发。
* [YatingMusic/ddsp-singing-vocoders](https://github.com/yatingmusic/ddsp-singing-vocoders) 声码器是一种条件音频生成模型,可将声学特征(如 mel 频谱图)转换为波形。从可微分数字信号处理(DDSP)中汲取灵感,提出SawSing新型声码器,用于歌声。SawSing使用线性时变有限脉冲响应滤波器过滤锯齿波源信号来合成歌唱声音的谐波部分,该滤波器的系数由神经网络根据输入的mel频谱图估计。加强了相位连续性,因此可以生成歌声,不会出现许多现有声码器的相位不连续性故障。在资源有限的场景中,收敛速度更快,且优于最先进的生成对抗网络和基于扩散的声码器,只有3个训练录音和3小时的训练时间。
* [open-mmlab/Amphion](https://github.com/open-mmlab/Amphion) Amphion是一个开源的音频、音乐和语音生成工具包,旨在支持可重复的研究,并帮助初级研究人员和工程师入门音频、音乐和语音生成研究与开发。它提供了一个独特的特性:经典模型或架构的可视化,帮助用户更好地理解模型。Amphion的目标是提供一个平台来研究将任何输入转换为音频,支持文本转语音、歌唱语音合成、语音转换、歌唱语音转换、文本转音频、文本转音乐等多种生成任务,还包括声码器和评估指标,并致力于推进音频生成在现实世界中的应用,例如构建用于语音合成的**大型数据集**。
* [PlayVoice/Grad-SVC](https://github.com/PlayVoice/Grad-SVC) 该项目名为Grad-SVC,是一个基于华为诺亚方舟实验室的Grad-TTS的扩散语音转换模型。它利用Grad-TTS和whisper-vits-svc的代码,并结合了whisper-vits-svc的特性。Grad-SVC的特点包括:易于阅读的代码、基于说话人编码的多说话人支持、通过扰动、实例归一化和梯度反转层实现无说话人泄露、无电子音、集成DPM Solver-k和快速最大似然采样方案以减少步骤、首次在SVC中使用条件流匹配(V3)以及计划使用修正流匹配(TODO)。项目提供预训练模型和详细的安装步骤,用户可以轻松进行推理和使用。
* [metavoiceio/metavoice-src](https://github.com/metavoiceio/metavoice-src) MetaVoice-1B 是一个拥有 12 亿参数的文本转语音模型,使用 10 万小时的语音数据进行训练。它专注于生成具有情感的语音节奏和语调,并支持零样本克隆美国和英国口音,只需 30 秒的参考音频即可。此外,它还支持通过微调进行跨语言语音克隆,即使只有 1 分钟的训练数据也能成功克隆印度口音。MetaVoice-1B 可以合成任意长度的文本,并采用 Apache 2.0 许可证发布,可自由使用。该项目提供 Docker Compose 部署方式,并支持使用 Poetry 或 pip/conda 进行安装,并附带快速推理的参考实现。
* [wenet-e2e/west](https://github.com/wenet-e2e/west) WeST 是一个基于大语言模型 (LLM) 的语音转录项目,代码量仅 300 行。它利用 LLM、语音编码器和投影器 (语音适配器) 进行语音识别和转录,其中只有投影器可训练。该项目灵感来自 SLAM-ASR 和 LLaMA 3.1,支持使用各种 LLM(如 LLaMA、QWen)和语音编码器(如 Whisper)。WeST 在AIShell 数据集上取得了良好的结果,例如使用 QWen2 1.5B 和 Whisper Large 1.5G 时,字符错误率 (CER) 为 7.45%。项目还提供了训练和解码示例,以及不同 LLM、语音编码器和解码束大小对结果的影响分析。
* [huggingface/parler-tts](https://github.com/huggingface/parler-tts) Parler-TTS 是一种轻量级文本转语音 (TTS) 模型,可以按照给定说话者的风格(性别、音调、说话风格等)生成高质量、自然的语音。它复制了 Dan Lyth 和 Simon King 分别来自 Stability AI 和爱丁堡大学的论文 Natural language guidance of high-fidelity text-to-speech with synthetic annotations 的工作。与其他 TTS 模型相反,Parler-TTS 是一个完全开源的版本。所有数据集、预处理、训练代码和权重都在宽松许可下公开发布,使社区能够在我们的工作基础上开发自己强大的 TTS 模型。
* [r9y9/wavenet_vocoder](https://github.com/r9y9/wavenet_vocoder) 该项目提供了一个WaveNet语音合成器(vocoder)的实现,可以根据语言或声学特征生成高质量的原始语音样本。该项目重点关注WaveNet的局部和全局条件,支持混合分布(混合逻辑、混合高斯和单高斯)进行16位原始音频建模,并提供各种音频样本和预训练模型。通过缓存卷积中的中间状态,该项目实现了快速推理,并与ESPnet集成。该项目还提供预训练模型,但用户需要使用mel谱预测模型(如Tacotron2)才能将这些模型用于文本转语音(TTS)。
* [shivammehta25/Matcha-TTS](https://github.com/shivammehta25/Matcha-TTS) Matcha-TTS是一个基于条件流匹配的快速神经文本转语音 (TTS) 架构,它利用条件流匹配技术(类似于修正流)来加速基于常微分方程 (ODE) 的语音合成。该项目提供了一个概率模型,具有紧凑的内存占用,合成速度快,并能生成高度自然的语音。用户可以通过 CLI、Gradio 界面或 Jupyter Notebook 运行该项目,并使用预训练模型或使用自己的数据集进行训练。该项目还提供了一个演示页面和 ICASSP 2024 论文,详细介绍了 Matcha-TTS 的原理和应用。
* [mozilla/TTS](https://github.com/mozilla/TTS) TTS是一个基于深度学习的文本转语音库,它使用最新的研究成果,旨在平衡训练的简易性、速度和质量。该库包含预训练模型,可用于 20 多种语言,并提供用于评估数据集质量的工具。TTS 已经应用于产品和研究项目中,并提供英文语音样本、训练配方和论文集。用户可以通过 GitHub 问题跟踪器、Discourse 论坛和 Matrix 频道获取帮助和讨论。该项目还提供安装指南、教程、预训练模型、Docker 镜像、演示服务器和终端运行示例。
* [archinetai/audio-diffusion-pytorch](https://github.com/archinetai/audio-diffusion-pytorch) 在 PyTorch 中使用扩散模型生成音频。包括用于无条件音频生成、文本条件音频生成、扩散自动编码、上采样和声编码的模型。提供的模型是基于波形的,但是,U-Net(使用 a-unet )、 DiffusionModel 、扩散方法和扩散采样器构建,对于任何维度都是通用的,并且高度可定制以适用于其他格式。注意:(1)这里没有提供预训练的模型,(2)显示的配置是指示性的,未经测试,参见Moûsai了解论文中使用的配置。
* [RVC-Boss/GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS) 1分钟的语音数据也可以用来训练一个好的TTS模型。零样本 TTS:输入 5 秒的人声样本,体验即时文本到语音转换。Few-shot TTS:仅使用 1 分钟的训练数据对模型进行微调,以提高语音相似度和真实感。跨语言支持:使用与训练数据集不同的语言进行推理,目前支持英语、日语和中文。WebUI工具:集成工具包括语音伴奏分离、自动训练集分割、中文ASR和文本标注,协助初学者创建训练数据集和GPT/SoVITS模型。
* [enhuiz/vall-e](https://github.com/enhuiz/vall-e) 音频LM VALL-E的非官方PyTorch实现。3 秒音频可模仿人说话的语音大模型。使用了 Meta 提出的 [Audio Codec](https://link.zhihu.com/?target=https%3A//github.com/facebookresearch/encodec%23extracting-discrete-representations) 提取离散的音频码本,作为训练标签,其包含8(音频码维数)个 Decoder Block,每个 Block 含有 12 层 TransformerDecoder 层,第一个 block 为自回归结构,其余 block 为非自回归结构。[lifeiteng/vall-e](https://github.com/lifeiteng/vall-e)
* [SWivid/F5-TTS](https://github.com/SWivid/F5-TTS) F5-TTS是一个基于扩散Transformer和ConvNeXt V2的语音合成模型,它使用流匹配技术来生成流畅且逼真的语音。该项目提供了一个快速训练和推理的模型,并支持多种功能,包括基础文本转语音、多风格/多说话人语音生成以及基于Qwen2.5-3B-Instruct的语音聊天。用户可以通过Gradio应用程序或命令行界面进行推理,并可以根据需要进行模型训练和微调。项目还提供详细的指导和常见问题解答,方便用户使用。
* [myshell-ai/OpenVoice](https://github.com/myshell-ai/OpenVoice) MyShell的即时语音克隆。OpenVoice 的优势有三个方面:1.准确的色调颜色克隆。OpenVoice可以准确克隆参考音色,生成多种语言和口音的语音。2.灵活的语音风格控制。OpenVoice 支持对语音风格(如情感和口音)以及其他风格参数(包括节奏、停顿和语调)进行精细控制。3.零样本跨语言语音克隆。生成的语音的语言和参考语音的语言都不需要在大规模说话人多语言训练数据集中呈现。
* [iver56/audiomentations](https://github.com/iver56/audiomentations) Audiomentations是一个用于音频数据增强的 Python 库,灵感来自 albumentations,适用于机器学习。它可以在 CPU 上运行,支持单声道和多声道音频,可以集成到TensorFlow/Keras 或 PyTorch 等训练管道中。该库提供了多种音频增强变换,例如添加噪声、时间拉伸、音调变化、移位等,并提供详细的文档和示例代码。它已被用于 Kaggle 比赛中取得世界级成绩,并被用于开发下一代音频产品。
* [musescore/MuseScore](https://github.com/musescore/MuseScore) MuseScore是一款开源免费的乐谱编排软件,支持WYSIWYG设计、TrueType字体、快速便捷的音符输入、多种编辑功能、MusicXML/MIDI/MEI/MuseData导入导出、MIDI输入、内置音序器和软件合成器,可用于演奏乐谱,并支持打印或生成PDF文件。该项目遵循GPL v3.0许可协议,用户可访问MuseScore.org获取支持、贡献或报告错误,并可通过fork和pull requests参与项目开发。
* [edwko/OuteTTS](https://github.com/edwko/OuteTTS) OuteTTS是一个实验性的文本转语音模型,它使用纯语言建模方法生成语音。该项目提供了一个简单易用的接口,支持 Hugging Face 和 GGUF模型。用户可以通过接口生成语音,并使用自定义音频文件创建和保存语音克隆。该模型还支持多种参数调整,例如温度、重复惩罚和最大长度。项目代码基于WavTokenizer和CTC Forced Alignment等技术。
* [haoheliu/voicefixer](https://github.com/haoheliu/voicefixer) VoiceFixer是一个通用的语音修复工具,可以处理各种类型的语音降质,包括噪声、混响、低分辨率和削波。它基于神经声码器,提供了一个预训练的VoiceFixer模型和一个预训练的44.1kHz通用说话人无关神经声码器。用户可以通过命令行、桌面应用程序或Python代码使用VoiceFixer,它还支持多种运行模式,可以根据需要选择最佳模式。
* [MaxMax2016/Grad-TTS-Chinese](https://github.com/MaxMax2016/Grad-TTS-Chinese) 这是一个基于华为 Grad-TTS 的中文语音合成项目,集成了 Bert 和 BigVGAN,并使用 diffusion 模型进行语音生成。该项目提供预训练模型和代码,方便用户进行语音合成实验。用户可以下载预训练模型,并使用提供的代码进行推理,生成高质量的中文语音。项目还提供数据预处理脚本,方便用户使用自己的数据进行训练。
* [C-Loftus/QuickPiperAudiobook](https://github.com/C-Loftus/QuickPiperAudiobook) QuickPiperAudiobook是一款命令行工具,只需一个命令即可将各种格式的文本内容(epub、mobi、txt、PDF、HTML 等)转换为自然听起来的有声读物。它支持离线转换,使用 Piper 模型进行语音合成,并支持多种语言。用户可以指定默认模型和输出路径,并通过配置文件进行自定义配置。该项目目前仅在 Linux 系统上测试过。
* [LokerL/tts-vue](https://github.com/LokerL/tts-vue) TTS-Vue 是一个基于 Electron + Vue + ElementPlus + Vite 构建的微软语音合成工具,提供便捷的语音合成功能。用户可以通过该工具将文本转换为语音,并支持多种语言和音调。该项目旨在为个人学习和测试提供便利,不适用于商业用途。项目代码开源,用户可以自由学习和使用,但请勿用于商业目的。
* [lenML/Speech-AI-Forge](https://github.com/lenML/Speech-AI-Forge) Speech-AI-Forge 是一个围绕 TTS 生成模型开发的项目,它实现了 API 服务器和基于 Gradio 的 WebUI。您可以通过多种方式体验和部署 Speech-AI-Forge,包括 HuggingFace Spaces、Colab、Docker 和本地部署。项目提供 TTS 模型功能,包括说话人切换,支持内置多种说话人,以及上传自定义说话人音频文件的功能。
* [ming024/FastSpeech2](https://github.com/ming024/FastSpeech2) 该项目是微软FastSpeech 2文本转语音系统的PyTorch实现,基于FastSpeech的实现,支持单/多说话人、英语/普通话TTS,并提供MelGAN和HiFi-GAN声码器。项目提供了预训练模型,用户可直接进行推理,并支持批量推理和控制合成语音的音调、音量和语速。项目支持LJSpeech和AISHELL-3等数据集。
* [thuhcsi/LightGrad](https://github.com/thuhcsi/LightGrad) LightGrad是一个轻量级的文本转语音扩散概率模型,它基于Grad-TTS并使用HiFi-GAN作为声码器。项目提供了BZNSYP和LJSpeech数据集的预处理和训练脚本,以及一个用于推理的Jupyter Notebook。用户可以通过修改配置文件和脚本参数来进行模型训练和推理,并使用提供的演示网站进行体验。
* [lihuithe/podlm-public](https://github.com/lihuithe/podlm-public) 该项目名为“URL-to-主播-to-小程序”,提供中文 NotebookLM最佳实践,将 URL 转换为主播,再推送到小程序平台。项目包含服务器端代码、API 接口、UI 页面等,并提供详细的安装部署说明。用户需要安装 Python 3.11.5及其依赖库,并配置 LLM 模型和 TTS 服务信息,即可运行该项目。
* [lucidrains/e2-tts-pytorch](https://github.com/lucidrains/e2-tts-pytorch) 该Pytorch项目实现了E2-TTS模型,这是一个基于多流Transformer的完全非自回归零样本TTS系统。它利用文本和音频的多流Transformer,并在每个Transformer块中进行E2方式的条件化,并包含文本长度插值改进。该项目易于安装和使用,提供了完整的训练代码和示例。
* [bytedance/SALMONN](https://github.com/bytedance/SALMONN) 支持语音、音频事件和音乐输入的大型语言模型(LLM),由清华大学电子工程系和字节跳动开发。SALMONN可以感知和理解各种音频输入,而不是仅语音输入或仅音频事件输入,从而获得新兴功能,例如多语言语音识别和翻译以及音频 - 语音协同推理。
* [netease-youdao/EmotiVoice](https://github.com/netease-youdao/EmotiVoice) 功能强大且现代的开源文本转语音引擎,可供您免费使用。EmotiVoice 会说英语和中文,并有超过 2000 种不同的声音(有关详细信息,请参阅语音列表)。最突出的特点是情绪合成,让你创造出具有广泛情绪的语音,包括快乐、兴奋、悲伤、愤怒等。
* [OlaWod/FreeVC](https://github.com/OlaWod/FreeVC) 迈向高质量的无文本一次性语音转换。采用VITS端到端框架进行高质量波形重建,并提出了无文本标注的干净内容信息提取策略。通过对WavLM特征施加信息瓶颈来解开内容信息,并提出基于频谱图调整大小的数据增强,以提高提取内容信息的纯度。
* [NATSpeech/NATSpeech](https://github.com/NATSpeech/NATSpeech) 非自回归文本转语音 (NAR-TTS) 框架,包括 PortaSpeech (NeurIPS 2021) 和 DiffSpeech (AAAI 2022) 的官方 PyTorch 实现。PortaSpeech:便携式和高质量的生成文本到语音转换(NeurIPS 2021)。DiffSinger:通过浅扩散机制合成歌唱声音(DiffSpeech)(AAAI 2022)。
* [coqui-ai/TTS](https://github.com/coqui-ai/TTS) 用于文本到语音的深度学习工具包,在研究和生产中经过实战测试。TTS 带有预训练模型、用于测量数据集质量的工具,并且已经在 20 多种语言中用于产品和研究项目。实例:`tts --model_name tts_models/zh-CN/baker/tacotron2-DDC-GST --text ”你好。”`
* [jing332/tts-server-android](https://github.com/jing332/tts-server-android) 这是一个AndroidTTS应用,内置微软演示接口,可自定义HTTP请求,支持导入本地TTS引擎,并根据中文双引号识别旁白/对话进行朗读,还提供自动重试、备用配置、文本替换等功能。项目提供稳定版和开发版下载,并附带JS语音规则示例。
* [haoheliu/AudioLDM](https://github.com/haoheliu/AudioLDM) 生成语音、音效、音乐等。文本到音频生成:生成给定文本输入的音频。音频到音频生成:给定一个音频,生成另一个包含相同类型声音的音频。文本引导式音频到音频风格传输:使用文本描述将音频的声音传输到另一个音频中。
* [feizc/FluxMusic](https://github.com/feizc/FluxMusic) 使用 Rectified Flow Transformer 生成文本到音乐官方 PyTorch 实现。此存储库包含 PyTorch 模型定义、预先训练的权重以及播放音乐的 paper Flux 的训练/采样代码。它探索了基于扩散的整流 Transformer 的简单扩展,用于文本到音乐的生成。
* [jianchang512/clone-voice](https://github.com/jianchang512/clone-voice) 带web界面的声音克隆工具,使用你的音色或任意声音来录制音频。支持 中、英、日、韩、法、德、意等语言,可在线从麦克风录制声音。为保证合成效果,建议录制时长5秒到20秒,发音清晰准确,不要存在背景噪声。
* [w-okada/voice-changer](https://github.com/w-okada/voice-changer) 实时语音转换器。客户端软件,使用各种语音转换AI(VC,语音转换)执行实时音频转换。 支持的语音转语音 AI 包括:MMVC、so-vits-svc 、RVC(Retrieval-based-Voice-Conversion 基于检索的语音转换)、DDSP-SVC、Beatrice JVS Corpus Edition
* [alaskasquirrel/Chinese-Podcasts](https://github.com/alaskasquirrel/Chinese-Podcasts) 这是一个收集整理中文播客的GitHub项目,包含编程、设计、Vlog、音乐、访谈、博客等多种类型的播客资源,所有内容仅供娱乐使用,不保证其技术水平及观点立场与项目维护者无关,欢迎贡献和反馈。
* [jaywalnut310/vits](https://github.com/jaywalnut310/vits) 一种用于端到端文本语音转换的条件变分自编码器,它比现有的两阶段模型产生更自然的声音。该方法采用变分推理和归一化流以及对抗式训练过程,提高了生成式建模的表达能力。
* [facebookresearch/audiocraft](https://github.com/facebookresearch/audiocraft) 一个用于通过深度学习进行音频处理和生成的库。它具有最先进的 EnCodec 音频压缩器/分词器,以及 MusicGen,这是一种简单且可控的音乐生成 LM,具有文本和旋律调节功能。
* [ga642381/SpeechGen](https://github.com/ga642381/SpeechGen) 用提示解锁语音语言模型的生成能力,探索了在称为SpeechGen的统一框架内应用提示调谐来刺激语音LM用于各种生成任务,该框架具有大约10M的可训练参数。
* [collabora/WhisperSpeech](https://github.com/collabora/WhisperSpeech) 通过反转 Whisper 构建的开源文本转语音系统。以前称为 spear-tts-pytorch。我们希望这个模型像 Stable Diffusion 一样,但适用于语音 - 既强大又易于定制。
* [Rongjiehuang/ProDiff](https://github.com/Rongjiehuang/ProDiff) ProDiff (ACM-MM 22) 的 PyTorch 实现,具有极快的扩散语音合成管道。条件扩散概率模型,能够有效地生成高保真语音。[demo page](https://prodiff.github.io/)
* [svc-develop-team/so-vits-svc](https://github.com/svc-develop-team/so-vits-svc) SoftVC VITS 歌声转换。这个项目与 Vits 有着根本的不同。 Vits 是 TTS,这个项目是 SVC。本项目不能进行TTS,Vits不能进行SVC,两种项目模型不通用。
* [voicepaw/so-vits-svc-fork](https://github.com/voicepaw/so-vits-svc-fork) so-vits-svc fork 歌唱语音转换 具有实时支持、改进的界面和更多功能。实时语音转换、更准确的音调估计、2x 更快的训练
* [KoljaB/RealtimeTTS](https://github.com/KoljaB/RealtimeTTS) 专为实时应用程序设计的最先进的文本转语音 (TTS) 库。它以最小的延迟将文本流快速转换为高质量的听觉输出。
* [CjangCjengh/MoeGoe](https://github.com/CjangCjengh/MoeGoe) 用于 VITS 推理的可执行文件,包括上海方言模型。VITS:用于语音合成带有对抗学习的条件变分自编码器。
* [RVC-Project/Retrieval-based-Voice-Conversion-WebUI](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) 小于10分钟的语音数据也可以用来训练一个好的VC模型 一个基于VITS的简单易用的语音转换(变声器)框架
* [KuangDD/zhrtvc](https://github.com/KuangDD/zhrtvc) 好用的中文语音克隆兼中文语音合成系统,包含语音编码器、语音合成器、声码器和可视化模块。
* [rhasspy/piper](https://github.com/rhasspy/piper) 快速的本地神经文本到语音系统,听起来很棒,并针对 Raspberry Pi 4 进行了优化。支持多种语言。
* [myshell-ai/MeloTTS](https://github.com/myshell-ai/MeloTTS) MyShell.ai 的高质量多语言文本转语音库。支持英语、西班牙语、法语、中文、日语和韩语。
* [jianchang512/ChatTTS-ui](https://github.com/jianchang512/ChatTTS-ui) 一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。
* [rany2/edge-tts](https://github.com/rany2/edge-tts) 从Python使用Microsoft Edge的在线文本到语音服务(无需Microsoft Edge/Windows或API密钥)
* [neonbjb/tortoise-tts](https://github.com/neonbjb/tortoise-tts) 以质量为重点的多语音TTS系统,强大的多声部功能。高度逼真的韵律和语调。
* [ben-hayes/neural-waveshaping-synthesis](https://github.com/ben-hayes/neural-waveshaping-synthesis) 波形域中的高效神经音频合成.使用神经网络有效合成音频波形的方法。
* [MoonInTheRiver/DiffSinger](https://github.com/MoonInTheRiver/DiffSinger) DiffSinger:通过浅扩散机制(SVS和TTS)进行歌声合成;AAAI 2022年;官方代码
* [alibaba-damo-academy/KAN-TTS](https://github.com/alibaba-damo-academy/KAN-TTS) 来自阿里达摩院的TTS框架,使用 KAN-TTS,您可以训练自己的 TTS 模型
* [see2023/Bert-VITS2-ext](https://github.com/see2023/Bert-VITS2-ext) 基于Bert-VITS2做的表情、动画测试,比如TTS同步产生脸部表情数据。
* [yl4579/StyleTTS2](https://github.com/yl4579/StyleTTS2) 通过大型语音语言模型的风格扩散和对抗训练实现人级文本转语音
* [haoheliu/AudioLDM2](https://github.com/haoheliu/AudioLDM2) 支持文本到音频(包括音乐)、文本到语音生成和超分辨率修复。
* [keithito/tacotron](https://github.com/keithito/tacotron) 使用预训练模型的Google的Tacotron语音合成的TensorFlow实现(非官方)
* [yxlllc/DDSP-SVC](https://github.com/yxlllc/DDSP-SVC) 基于DDSP(微分数字信号处理)的实时端到端歌唱语音转换系统
* [pndurette/gTTS](https://github.com/pndurette/gTTS) Python 库和 CLI 工具,用于与 Google 翻译的文本转语音 API 交互
* [Plachtaa/VITS-fast-fine-tuning](https://github.com/Plachtaa/VITS-fast-fine-tuning/tree/main) 用于快速扬声器适配 TTS 和多对多语音转换的 VITS 微调管道
* [kan-bayashi/ParallelWaveGAN](https://github.com/kan-bayashi/ParallelWaveGAN) Parallel WaveGAN (+ MelGAN Multi-band MelGAN) implementation with Pytorch
* [r9y9/deepvoice3_pytorch](https://github.com/r9y9/deepvoice3_pytorch) 基于卷积神经网络的文本到语音合成模型的Torch 实现
* [Edresson/YourTTS](https://github.com/Edresson/YourTTS) 面向所有人的零样本多扬声器 TTS 和零样本语音转换
* [lturing/tacotronv2_wavernn_chinese](https://github.com/lturing/tacotronv2_wavernn_chinese) tacotronV2 + wavernn 实现中文语音合成(Tensorflow + pytorch)
* [marytts/marytts](https://github.com/marytts/marytts) 用纯 Java 编写的开源、多语言文本到语音合成系统
* [babysor/MockingBird](https://github.com/babysor/MockingBird) AI拟声: 5秒内克隆您的声音并生成任意语音内容。
* [PlayVoice/vits_chinese](https://github.com/PlayVoice/vits_chinese) 基于BERT和VITS结合微软自然语音特征的最佳TTS支持
* [innnky/emotional-vits](https://github.com/innnky/emotional-vits) 无需情感标注的情感可控语音合成模型,基于VITS
* [tulasiram58827/TTS_TFLite](https://github.com/tulasiram58827/TTS_TFLite) TFLite中广泛流行的文本语音转换TTS模型的集合。
* [p0p4k/pflowtts_pytorch](https://github.com/p0p4k/pflowtts_pytorch) 通过语音提示实现快速且数据高效的零样本 TTS
* [espeak-ng/espeak-ng](https://github.com/espeak-ng/espeak-ng) 开源语音合成器,支持一百多种语言和口音。
* [AIGC-Audio/AudioGPT](https://github.com/AIGC-Audio/AudioGPT) 理解和生成语音、音乐、声音和说话的头部
* [cnlinxi/book-text-to-speech](https://github.com/cnlinxi/book-text-to-speech) 一本关于中文文本到语音转换 (TTS) 的书。
* [openai/jukebox](https://github.com/openai/jukebox) 论文“点唱机:音乐的生成模型”的代码
* [Rongjiehuang/FastDiff](https://github.com/Rongjiehuang/FastDiff) 用于高质量语音合成的快速条件扩散模型
* [ivcylc/qa-mdt](https://github.com/ivcylc/qa-mdt) OpenMusic:SOTA 文本到音乐 (TTM) 生成。
* [isletennos/MMVC_Trainer](https://github.com/isletennos/MMVC_Trainer) 人工智能实时语音转换器(培训师)
* [keonlee9420/VAENAR-TTS](https://github.com/keonlee9420/VAENAR-TTS) 基于 VAE 的非自回归 TTS 模型。PyTorch
* [PlayVoice/VI-SVS](https://github.com/PlayVoice/VI-SVS) 基于VITS的歌声合成,不同于VISinger
* [fishaudio/Bert-VITS2](https://github.com/fishaudio/Bert-VITS2) 具有多语言 BERT 的 vits2 骨干网
* [thuhcsi/VAENAR-TTS](https://github.com/thuhcsi/VAENAR-TTS) 基于 VAE 的非自回归 TTS 模型。
* [TensorSpeech/TensorflowTTS](https://github.com/TensorSpeech/TensorflowTTS) Tensorflow 2的实时最新语音合成
* [Jackiexiao/zhtts](https://github.com/Jackiexiao/zhtts) 中文实时语音合成系统Demo
* [riffusion/riffusion](https://github.com/riffusion/riffusion) 稳定扩散,实时生成音乐
* [fatchord/WaveRNN](https://github.com/fatchord/WaveRNN) WaveRNN 声码器 + TTS
* [JasonWei512/Tacotron-2-Chinese](https://github.com/JasonWei512/Tacotron-2-Chinese) 中文语音合成
* [JasonWei512/Tacotron-2-Chinese](https://github.com/JasonWei512/Tacotron-2-Chinese) 中文语音合成
* [JasonWei512/wavenet_vocoder](https://github.com/JasonWei512/wavenet_vocoder) WaveNet 声码器
* [LetterLiGo/SafeEar](https://github.com/LetterLiGo/SafeEar) SafeEar,这是一种新颖的框架,旨在检测深度伪造音频,而不依赖于访问其中的语音内容。我们的关键思想是将神经音频编解码器设计成一种新颖的解耦模型,该模型可以很好地将音频样本中的语义和声学信息分开,并且仅使用声学信息(例如韵律和音色)进行深度伪造检测。这样,任何语义内容都不会暴露给检测器。为了克服在没有语义线索的情况下识别不同深度伪造音频的挑战,我们通过多头自注意力和编解码器增强来增强深度伪造检测器。在四个基准数据集上进行的大量实验证明了 SafeEar 在检测各种 Deepfake 技术方面的有效性,且等错误率 (EER) 低至 2.02%。同时,它还能保护五种语言的语音内容不被机器和人类听觉分析所破译,这一点通过高于 93.93% 的单词错误率 (WER) 和我们的用户研究得到了证明。此外,我们为反深度伪造和反内容恢复评估构建的基准有助于为音频隐私保护和深度伪造检测领域的未来研究提供基础。
* [Tele-AI/TeleSpeech-ASR](https://github.com/Tele-AI/TeleSpeech-ASR) 星辰超多方言语音识别大模型v1.0,由30万小时无标注多方言语音数据进行预训练,并利用内部30种有标注数据进行微调,打破单一模型只能识别特定单一方言的困境,可支持理解粤语、上海话、四川话、温州话等30种方言。本次开源三个模型:两个30万小时无标注语音预训练模型和一个KeSpeech数据集8种方言微调模型。finetune模型为已经在特定数据集微调过的模型,可直接使用。pretrain模型为无监督预训练模型,无法直接进行ASR任务,需要用少量标注数据进行有监督训练后使用。相比于直接训练的方言识别模型,基于预训练模型可以利用更少的有标注数据获得更好的方言识别性能。我们提供了两种有监督训练框架,用于下游ASR任务:1) 基于fairseq的预训练模型微调; 2) 基于wenet的表征提取(特征提取器)训练下游ASR模型。
* [damo/speech_charctc_kws_phone-xiaoyun](https://modelscope.cn/models/damo/speech_charctc_kws_phone-xiaoyun/summary) CTC语音唤醒-移动端-单麦-16k-小云小云,网络结构继承自论文《Compact Feedforward Sequential Memory Networks for Small-footprint Keyword Spotting》,其主体为4层cFSMN结构(如下图所示),参数量约750K,适用于移动端设备运行。模型输入采用Fbank特征,训练阶段使用CTC-loss计算损失并更新参数,输出为基于char建模的中文全集token预测,token数共2599个。测试工具根据每一帧的预测数据进行后处理得到输入音频的实时检测结果。模型训练采用”basetrain + finetune”的模式,basetrain过程使用大量内部移动端数据,在此基础上,使用1万条设备端录制安静场景“小云小云”数据进行微调,得到最终面向业务的模型。由于采用了中文char全量token建模,并使用充分数据进行basetrain,本模型支持基本的唤醒词/命令词自定义功能,但具体性能无法评估。
* [MahmoudAshraf97/whisper-diarization](https://github.com/MahmoudAshraf97/whisper-diarization) 该存储库将 Whisper ASR 功能与语音活动检测 (VAD) 和说话人嵌入相结合,以识别 Whisper 生成的转录中每个句子的说话人。首先,从音频中提取人声以提高说话人嵌入的准确性,然后使用 Whisper 生成转录,然后使用 WhisperX 校正和对齐时间戳,以帮助最大限度地减少由于时移导致的分类错误。然后将音频传递到 MarbleNet 进行 VAD 和分割以排除静音,然后使用 TitaNet 提取说话人嵌入以识别每个段落的说话人,然后将结果与 WhisperX 生成的时间戳相关联,以根据时间戳检测每个单词的说话人,然后使用标点符号模型重新对齐以补偿微小的时间偏移。
* [aiola-lab/whisper-medusa](https://github.com/aiola-lab/whisper-medusa) Whisper-Medusa 是一个基于 Whisper 的语音识别模型,通过引入 Medusa 架构,实现了多头解码,显著提升了模型的推理速度。该项目提出了两种 Medusa 架构:Medusa-Linear 和 Medusa-Block,分别通过线性层和 Whisper 解码器块实现多头解码。在 Librispeech数据集上的评估结果表明,Medusa 模型在保持与 Whisper 相当的识别准确率的情况下,实现了 1.5 倍的推理速度提升。Medusa-Linear 模型速度更快,但识别准确率略有下降,而 Medusa-Block 模型速度略慢,但识别准确率更高。该项目还比较了 Medusa 模型与其他优化策略(如 Faster-Whisper 和 Speculative Decoding)的性能。
* [usefulsensors/moonshine](https://github.com/usefulsensors/moonshine) Moonshine是一个针对资源受限设备优化的语音转文本模型系列,旨在提供快速准确的自动语音识别(ASR)。它非常适合实时、设备上的应用,例如实时转录和语音命令识别。Moonshine在HuggingFace维护的OpenASR排行榜上使用的数据集上,其词错误率(WER)优于OpenAI的同等规模的Whisper模型。Moonshine的计算需求随输入音频长度而变化,这意味着更短的输入音频处理速度更快,与现有的将所有内容都处理为30秒片段的Whisper模型不同。Moonshine处理10秒音频片段的速度比Whisper快5倍,同时保持相同的(甚至更好的!)WER。该仓库包含Moonshine的推理代码。
* [huggingface/distil-whisper](https://github.com/huggingface/distil-whisper) Distil-Whisper 是 Whisper 的蒸馏版本,速度提升 6 倍,体积缩小 49%,在非分布式评估集上,其词错误率 (WER) 仅比原版高 1%。该项目提供了多种模型尺寸,包括 distil-large-v3、distil-large-v2、distil-medium.en 和 distil-small.en,其中 distil-large-v3 性能最佳,而 distil-small.en 仅有 166M 参数,适合资源受限的应用场景。目前 Distil-Whisper 仅支持英语语音识别,但该项目提供了训练代码,并计划在未来发布多语言模型。用户可以使用 Hugging Face Transformers 库轻松使用 Distil-Whisper 模型,并通过 `AutoModelForSpeechSeq2Seq` 和 `AutoProcessor` 类加载模型。
* [wenet-e2e/wenet](https://github.com/wenet-e2e/wenet) 面向工业落地应用的语音识别工具包,提供了从语音识别模型的训练到部署的一条龙服务,其主要特点如下:使用 conformer 网络结构和 CTC/attention loss 联合优化方法,统一的流式/非流式语音识别方案,具有业界一流的识别效果。提供云上和端上直接部署的方案,最小化模型训练和产品落地之间的工程工作。框架简洁,模型训练部分完全基于 pytorch 生态,不依赖于 kaldi 等复杂的工具。详细的注释和文档,非常适合用于学习端到端语音识别的基础知识和实现细节。支持时间戳,对齐,端点检测,语言模型等相关功能。
* [YuanGongND/ast](https://github.com/YuanGongND/ast) AST(Audio Spectrogram Transformer) 是一个用于音频分类的纯注意力模型,无需卷积操作,可处理变长音频输入,并已在多个音频分类基准测试中取得了最先进的结果,例如在 AudioSet 上达到 0.485 mAP,在 ESC-50 上达到95.6% 的准确率,在 Speech Commands V2 上达到 98.1% 的准确率。该项目提供了 AST 模型的PyTorch 实现,以及用于在 AudioSet、ESC-50 和 Speech Commands V2 等数据集上训练和测试模型的脚本。此外,还提供了预训练模型和使用预训练模型进行下游任务的示例。
* [openai/whisper](https://github.com/openai/whisper) 一种通用的语音识别模型。 它在不同音频的大型数据集上进行训练,也是一个多任务模型,可以执行多语言ASR以及翻译和识别。Transformer 模型针对各种语音处理任务进行训练,包括多语言语音识别、语音翻译、口语识别和语音活动检测。 所有这些任务都联合表示为由解码器预测的一系列标记,允许单个模型替换传统语音处理管道的许多不同阶段。 多任务训练格式使用一组特殊标记作为任务说明符或分类目标。
* [modelscope/3D-Speaker](https://github.com/modelscope/3D-Speaker) 3D-Speaker是一个开源工具包,用于单模态和多模态的说话人验证、说话人识别和说话人分离。所有预训练模型都可以在 ModelScope 上访问。此外,我们还提供了一个名为 3D-Speaker 的大型语音语料库,以促进语音表征解缠的研究。该项目包含监督说话人验证、自监督说话人验证、说话人分离和语言识别等功能,并提供预训练模型的推理示例。用户可以通过 ModelScope 访问预训练模型,并使用提供的示例代码进行推理。
* [Picovoice/porcupine](https://github.com/Picovoice/porcupine) Porcupine是一个基于深度学习的轻量级唤醒词检测引擎,它使用在真实环境中训练的深度神经网络,能够在各种设备上实现高精度唤醒词检测。Porcupine 支持多种平台,包括 Arm Cortex-M、STM32、Arduino、i.MX RT、Raspberry Pi、Android、iOS、Chrome、Safari、Firefox、Edge、Linux、macOS 和 Windows,并支持多种语言。开发者可以使用 Picovoice Console 训练自定义唤醒词模型,使其能够检测多个唤醒词,且不会增加运行时开销。
* [nl8590687/ASRT_SpeechRecognition](https://github.com/nl8590687/ASRT_SpeechRecognition) ASRT是一个基于深度学习的中文语音识别系统,旨在提供高效便捷的语音转文字功能。该系统使用 TensorFlow 2.5+ 和 Python 3.9+ 开发,并已开源,用户可自由使用和修改。ASRT 提供了丰富的功能,包括在线演示、文档、下载等,用户可通过网站或 Wiki 页面获取更多信息。如在使用过程中遇到问题,可通过 GitHub Issues 或联系开发者 QQ 群 (894112051) 获得帮助。
* [lifeiteng/OmniSenseVoice](https://github.com/lifeiteng/OmniSenseVoice) Omni SenseVoice是基于 SenseVoice 的高速语音识别解决方案,它针对快速推理和精确时间戳进行了优化,提供更智能、更快的音频转录方式。该项目支持多种语言,并提供多种选项,例如文本规范化、设备选择、量化模型等,以满足不同场景的需求。Omni SenseVoice在 LibriTTS 数据集上的测试结果表明,它能够实现高达 50 倍的加速,同时保持较高的准确率。
* [coqui-ai/STT](https://github.com/coqui-ai/STT) 🐸STT是一个快速、开源、跨平台的深度学习工具包,用于训练和部署语音识别模型,该项目不再积极维护,但模型仍然可以在coqui-ai/STT-models 仓库的发布版本中获取。它具有高质量的预训练语音识别模型、高效的多 GPU 训练管道、流式推理、多个置信度评分的转录结果、实时推理、小尺寸声学模型以及多种编程语言的绑定等特性。
* [modelscope/FunClip](https://github.com/modelscope/FunClip) 开源、准确、易用的视频语音识别和剪辑工具,LLM基于AI剪辑集成。FunClip 是一个完全开源、本地部署的自动化视频剪辑工具。它利用阿里巴巴同艺语音实验室的开源 FunASR Paraformer 系列模型对视频进行语音识别。然后,用户可以从识别结果中自由选择文本片段或说话人,点击剪辑按钮,获取所选片段对应的视频片段。
* [chidiwilliams/buzz](https://github.com/chidiwilliams/buzz) Buzz 在您的个人计算机上离线转录和翻译音频。由 OpenAI 的 Whisper 提供支持。特征:导入音频和视频文件并将脚本导出为 TXT、SRT 和 VTT;从计算机的麦克风转录和翻译成文本(资源密集型,可能不是实时的);支持 Whisper、Whisper.cpp、Faster Whisper、兼容 Whisper 的 Hugging Face 模型和 OpenAI Whisper API;适用于 Mac、Windows 和 Linux
* [k2-fsa/k2](https://github.com/k2-fsa/k2) 愿景是能够将有限状态自动机 (FSA) 和有限状态传感器 (FST) 算法无缝集成到基于 autograd 的机器学习工具包中,例如 PyTorch 和 TensorFlow。对于语音识别应用,这应该可以很容易地插入和组合各种训练目标,例如交叉熵、CTC 和 MMI,并联合优化具有多个解码通道的语音识别系统,包括格重新评分和置信度估计。
* [tencent-ailab/pika](https://github.com/tencent-ailab/pika) 基于Pytorch和Kaldi的轻量级语音处理工具包 PIKA 具备以下特征:即时数据增强和特征加载器;TDNN Transformer编码器,以及基于卷积和 Transformer 的解码器结构;RNNT训练和批解码;利用 Ngram FST 的 RNNT 解码;RNNT最小贝叶斯风险MBR训练;用于 RNNT 的 LAS 前向与后向重评分器;基于高效 BMUF的分布式训练。
* [sooftware/conformer](https://github.com/sooftware/conformer) Conformer 的 PyTorch 实现:用于语音识别的卷积增强转换器。Transformer 擅长捕捉基于内容的全局交互,而 CNN 则有效地利用了局部特征。Conformer 将CNN和Transformer结合,以参数高效的方式对音频序列的局部和全局依赖关系进行建模。性能明显优于以前的基于 Transformer 和 CNN 的模型。
* [speechbrain/speechbrain](https://github.com/speechbrain/speechbrain) 基于 PyTorch 的开源一体化语音工具包,可用于开发最新的语音技术,包括语音识别、说话者识别、语音增强、多麦克风信号处理和语音识别系统等,且拥有相当出色的性能。将其特征概况为易于使用、易于定制、灵活、模块化等。
* [yufan-aslp/AliMeeting](https://github.com/yufan-aslp/AliMeeting) ICASSP 2022 多通道多方会议转录挑战赛,为参与者提供会议场景中语音识别和说话人分类的基线系统。 挑战主要由两个轨道组成,名为自动语音识别 (ASR) 和说话人分类。 对于每个曲目,可以在其相应目录中找到详细说明。
* [SevaSk/ecoute](https://github.com/SevaSk/ecoute) 一种实时转录工具,可在文本框中为用户的麦克风输入(您)和用户的扬声器输出(扬声器)提供实时脚本。它还使用 OpenAI 的 GPT-3.5 生成建议的响应,供用户根据对话的实时转录说出来。
* [cywang97/StreamingTransformer](https://github.com/cywang97/StreamingTransformer) 流式 Transformer 关于大规模语音识别的流行端到端模型的比较,它基于 ESPnet0.6.0。 流式 Transformer 包括一个流式编码器(基于块或前瞻)和一个基于触发注意的解码器。
* [guillaumekln/faster-whisper](https://github.com/guillaumekln/faster-whisper) 使用 CTranslate2 更快的 Whisper 转录。在使用更少内存的情况下,此实现比 openai/whisper 快 4 倍,达到相同的精度。在 CPU 和 GPU 上都可以通过 8 位量化进一步提高效率。
* [sanchit-gandhi/whisper-jax](https://github.com/sanchit-gandhi/whisper-jax) 针对 OpenAI 的 Whisper 模型优化的 JAX 代码。与 OpenAI 的 PyTorch 代码相比,Whisper JAX 的运行速度快了 70 倍以上,使其成为可用的最快的 Whisper 实现。
* [mli/autocut](https://github.com/mli/autocut) 用文本编辑器剪视频。对你的视频自动生成字幕。然后你选择需要保留的句子,AutoCut 将对你视频中对应的片段裁切并保存。
* [alphacep/vosk-api](https://github.com/alphacep/vosk-api) Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node 支持十七种语言,提供中文语言模型。
* [wenet-e2e/wespeaker](https://github.com/wenet-e2e/wespeaker) 专注于说话人嵌入学习,并应用于说话人验证任务。我们支持在线特征提取或加载 kaldi 格式的预提取特征。
* [wav2vec](https://github.com/pytorch/fairseq/tree/master/examples/wav2vec/unsupervised) 无监督语音识别 性能直逼监督模型,只需要从录制的语音音频和未配对的文本中学习,无需进行任何转录。
* [k2-fsa/sherpa-ncnn](https://github.com/k2-fsa/sherpa-ncnn) 使用下一代 Kaldi 和 ncnn 进行实时语音识别,无需互联网连接。支持iOS,Android,Raspberry Pi,VisionFive2等。
* [m-bain/whisperX](https://github.com/m-bain/whisperX) 基于whisper(耳语)的自动语音识别 (ASR),使用强制对齐提高了时间戳的准确性。带python库。
* [common-voice/common-voice](https://github.com/common-voice/common-voice) 一个收集语音捐赠的平台,以便创建用于训练语音识别相关工具的公共领域数据集。
* [Snowdar/asv-subtools](https://github.com/Snowdar/asv-subtools) 基于Kaldi和PyTorch推出了一套高效、易于开发扩展的声纹识别开源工具—ASV-Subtools。
* [speechio/leaderboard](https://github.com/speechio/leaderboard) SpeechIO 排行榜:用于自动语音识别的大型、强大、全面的基准测试平台。
* [thu-spmi/CAT](https://github.com/thu-spmi/CAT) 基于 CRF 的数据高效的端到端语音识别提供了完整的工作流程。
* [TalAter/annyang](https://github.com/TalAter/annyang) 小型JS语音识别库,可让您的用户通过语音命令控制您的网站。
* [shirayu/whispering](https://github.com/shirayu/whispering) whisper“耳语”模型的流式识别。需足够的机器来实时转录。
* [ZhengkunTian/OpenTransformer](https://github.com/ZhengkunTian/OpenTransformer) 语音识别的无重复序列到序列模型,实现aishell 6.7%的CER。
* [zycv/awesome-keyword-spotting](https://github.com/zycv/awesome-keyword-spotting) 很棒的语音关键字发现(唤醒词检测)的精选列表。
* [Uberi/speech_recognition](https://github.com/Uberi/speech_recognition) Py语音识别模块,支持多种引擎和API,在线和离线。
* [ggerganov/whisper.cpp](https://github.com/ggerganov/whisper.cpp) OpenAI Whisper自动语音识别(ASR)模型的高性能推理
* [alibaba-damo-academy/FunASR](https://github.com/alibaba-damo-academy/FunASR) 来自阿里达摩院的端到端语音识别工具包
* [declare-lab/MELD](https://github.com/declare-lab/MELD/) 用于对话中情绪识别的多模多方数据集
* [m1guelpf/yt-whisper](https://github.com/m1guelpf/yt-whisper) 使用OpenAI的Whisper自动生成YouTube字幕
* [audier/DeepSpeechRecognition](https://github.com/audier/DeepSpeechRecognition) 基于深度学习的中文语音识别系统
* [hirofumi0810/neural_sp](https://github.com/hirofumi0810/neural_sp) 使用 PyTorch 实现端到端的 ASR/LM
* [SocialSisterYi/bcut-asr](https://github.com/SocialSisterYi/bcut-asr) 使用必剪API的语音字幕识别
## 语音识别与合成_其他
* [THUDM/GLM-4-Voice](https://github.com/THUDM/GLM-4-Voice) GLM-4-Voice 是智谱 AI 推出的端到端语音模型。GLM-4-Voice 能够直接理解和生成中英文语音,进行实时语音对话,并且能够遵循用户的指令要求改变语音的情感、语调、语速、方言等属性。GLM-4-Voice 由三个部分组成:GLM-4-Voice-Tokenizer: 通过在 Whisper 的 Encoder 部分增加 Vector Quantization 并在 ASR 数据上有监督训练,将连续的语音输入转化为离散的 token。每秒音频平均只需要用 12.5 个离散 token 表示。GLM-4-Voice-Decoder: 基于 CosyVoice 的 Flow Matching 模型结构训练的支持流式推理的语音解码器,将离散化的语音 token 转化为连续的语音输出。最少只需要 10 个语音 token 即可开始生成,降低端到端对话延迟。GLM-4-Voice-9B: 在 GLM-4-9B 的基础上进行语音模态的预训练和对齐,从而能够理解和生成离散化的语音 token。预训练方面,为了攻克模型在语音模态下的智商和合成表现力两个难关,我们将 Speech2Speech 任务解耦合为“根据用户音频做出文本回复”和“根据文本回复和用户语音合成回复语音”两个任务,并设计两种预训练目标,分别基于文本预训练数据和无监督音频数据合成语音-文本交错数据以适配这两种任务形式。GLM-4-Voice-9B 在 GLM-4-9B 的基座模型基础之上,经过了数百万小时音频和数千亿 token 的音频文本交错数据预训练,拥有很强的音频理解和建模能力。对齐方面,为了支持高质量的语音对话,我们设计了一套流式思考架构:根据用户语音,GLM-4-Voice 可以流式交替输出文本和语音两个模态的内容,其中语音模态以文本作为参照保证回复内容的高质量,并根据用户的语音指令要求做出相应的声音变化,在最大程度保留语言模型智商的情况下仍然具有端到端建模的能力,同时具备低延迟性,最低只需要输出 20 个 token 便可以合成语音。
* [baresip/baresip](https://github.com/baresip/baresip) Baresip是一个可移植的模块化SIP用户代理,支持音频和视频。它支持多种功能,包括无限数量的SIP帐户和通话、无人值守呼叫转移、自动接听、呼叫保持和恢复、麦克风静音、呼叫等待、呼叫录音、点对点通话、视频通话、即时消息、自定义铃声、重复上次通话(重拨)、消息等待指示(MWI)、带状态的地址簿、会议等。它还支持多种安全功能,包括信令加密(TLS)、音频和视频加密(安全RTP)、DTLS-SRTP、ZRTP和SDES密钥交换协议。Baresip支持多种音频和视频编解码器,包括AAC、aptX、AMR、Codec2、G.711、G.722、G.726、L16、MPA、Opus、H.264、H.265、VP8、VP9和AV1。它还支持多种音频和视频驱动程序,包括ALSA、PulseAudio、OpenSLES、GStreamer、JACK、CoreAudio、Portaudio、Winwave、AVCapture、FFmpeg、Direct Show、V4L/V4L2、X11、DirectFB和SDL2。Baresip支持NAT穿越,包括STUN、TURN、ICE、NATPMP和PCP。它还提供网络管理功能,包括嵌入式Web服务器、UDP/TCP上的命令行控制台、命令行界面(CLI)、简单的配置文件和MQTT模块。
* [FunAudioLLM/SenseVoice](https://github.com/FunAudioLLM/SenseVoice) SenseVoice 是一种语音基础模型,具有多种语音理解功能,包括自动语音识别 (ASR)、口语识别 (LID)、语音情感识别 (SER) 和音频事件检测 (AED)。多语言语音识别:经过超过 400,000 小时的数据训练,支持 50 多种语言,识别性能超过了 Whisper 模型。丰富的转录:具备出色的情绪识别能力,在测试数据上达到并超越当前最佳情绪识别模型的有效性;提供声音事件检测能力,支持bgm、掌声、笑声、哭声、咳嗽声、打喷嚏等各种常见人机交互事件的检测。高效推理:SenseVoice-Small 模型利用非自回归端到端框架,可实现极低的推理延迟。只需 70 毫秒即可处理 10 秒的音频,比 Whisper-Large 快 15 倍。方便的微调:提供便捷的微调脚本和策略,让用户根据自己的业务场景,轻松解决长尾样本问题。服务部署:提供服务部署管道,支持多并发请求,客户端语言包括 Python、C++、HTML、Java 和 C# 等。
* [spotify/pedalboard](https://github.com/spotify/pedalboard) 由Spotify音频智能实验室构建,可以在Python和TensorFlow中使用工作室质量的音频效果。`内置音频 I/O 实用程序`:支持在所有平台上读写 AIFF、FLAC、MP3、OGG 和 WAV 文件,无需依赖关系;对读取 AAC、AC3、WMA 和其他格式的额外支持,具体取决于平台;支持对音频文件和流进行动态重采样,内存使用量为 0;通过 AudioStream 的实时音频效果。内置支持许多基本`音频转换`,包括:吉他风格效果;响度和动态范围效果;均衡器和滤波器;空间效果;音高效果;有损压缩;质量降低。在 macOS、Windows 和 Linux 上支持` VST3® 乐器和效果插件`。支持 macOS 上的乐器和效果音频单元。强大的`线程安全性、内存使用和速度保证`,以允许使用多个 CPU 内核,处理单个转换的音频速度比 pySoX 快 300 倍,比 SoxBindings(通过 iCorv)快 2-5 倍,读取音频的速度比librosa.load快4倍(在许多情况下)。
* [FunAudioLLM/CosyVoice](https://github.com/FunAudioLLM/CosyVoice) 多语言大语音生成模型,提供推理、训练和部署全栈能力。一个旨在增强人类与大型语言模型之间的自然语音交互的框架 (LLMs)。其核心是两款创新模型:SenseVoice,用于高精度多语言语音识别、情感识别和音频事件检测;和 CosyVoice,用于生成具有多语言、音色和情感控制的自然语音。SenseVoice 提供极低的延迟并支持 50 多种语言,而 CosyVoice 在多语言语音生成、零样本语音生成、跨语言语音克隆和指令跟踪功能方面表现出色。SenseVoice 和 CosyVoice 相关的模型已经在 Modelscope 和 Huggingface 上开源,相应的训练、推理和微调代码也发布在 GitHub 上。通过将这些模型与 LLMs集成,FunAudioLLM 实现了语音翻译、情感语音聊天、交互式播客和富有表现力的有声读物旁白等应用,从而突破了语音交互技术的界限。
* [collabora/WhisperFusion](https://github.com/collabora/WhisperFusion) WhisperFusion 建立在 WhisperLive 和 WhisperSpeech 的功能之上,可提供与 AI 的无缝对话。在实时语音转文本管道之上集成了 Mistral,这是一种大型语言模型 (LLM)。和 Whisper 都LLM经过优化,可以作为 TensorRT 引擎高效运行,从而最大限度地提高性能和实时处理能力。而 WhiperSpeech 使用 torch.compile 进行了优化。特征:实时语音转文本:利用 OpenAI WhisperLive 将口语实时转换为文本。大型语言模型集成:添加大型语言模型 Mistral,以增强对转录文本的理解和上下文。TensorRT 优化:和 Whisper 都LLM经过优化,可以作为 TensorRT 引擎运行,确保高性能和低延迟处理。torch.compile:WhisperSpeech 使用 torch.compile 来加速推理,通过将 PyTorch 代码进行 JIT 编译到优化的内核中,使 PyTorch 代码运行得更快。
* [facebookresearch/seamless_communication](https://github.com/facebookresearch/seamless_communication) 一系列 AI 模型,可实现更自然、更真实的跨语言交流。SeamlessM4T 是一个庞大的多语言多模态机器翻译模型,支持大约 100 种语言。SeamlessM4T 是 SeamlessExpression 和 SeamlessStreaming 的基础,SeamlessExpression 是一个跨语言保留韵律和语音风格元素的模型,该模型支持大约 100 种语言的同声传译和流式 ASR。SeamlessExpressive 和 SeamlessStreaming 合并为 Seamless,这是一个具有多语言、实时和富有表现力的翻译的统一模型。支持以下任务:Speech-to-speech translation 语音到语音翻译 (S2ST)、Speech-to-text translation语音到文本翻译 (S2TT)、Text-to-speech translation 文本到语音转换 (T2ST)、Text-to-text translation 文本到文本翻译 (T2TT)、Automatic speech recognition 自动语音识别 (ASR)
* [mopidy/mopidy](https://github.com/mopidy/mopidy) Mopidy是一个用 Python 编写的可扩展音乐服务器,可以播放本地磁盘、Spotify、SoundCloud、Google Play 音乐等平台的音乐。您可以使用各种 MPD 和Web 客户端从任何手机、平板电脑或电脑编辑播放列表。Mopidy 支持扩展,可以轻松添加对新音乐源的支持。Mopidy本身只是一个服务器,您可以使用各种 MPD 或 Web 客户端连接到它,以搜索音乐和管理播放列表。Mopidy 的扩展支持和 Python、JSON-RPC 和 JavaScript API 使其成为您项目的完美基础。您可以通过阅读安装文档开始使用 Mopidy。如果您是开发者,还可以阅读开发环境和扩展开发文档。我们欢迎您参与各种形式的帮助,包括修复 bug、测试、编写文档和支持其他用户。
* [SouthBridgeAI/offmute](https://github.com/SouthBridgeAI/offmute) offmute是一个基于 Google Gemini 模型的智能会议转录和分析工具,它可以将音频/视频会议内容转录成文字,并识别不同发言者。offmute 还支持智能发言者识别,尝试根据姓名和角色识别发言者,并生成包含关键要点、行动项和参与者信息的结构化会议报告。此外,offmute 还提供视频分析功能,可以提取和分析视频会议中的视觉信息,例如识别演示内容。offmute 提供多种处理级别,从经济实惠到高级处理选项,并能处理长时间会议,自动分段和清理。用户可以通过命令行界面或模块调用 offmute,并可选择生成 Markdown 格式的转录文本和报告。
* [advplyr/audiobookshelf](https://github.com/advplyr/audiobookshelf) Audiobookshelf是一个自托管的音频书和播客服务器,提供开源的安卓和iOS应用程序(处于测试阶段),支持多种音频格式的流媒体播放,并提供搜索、下载和自动下载播客的功能。它支持多用户和自定义权限,并能保存每个用户的进度并同步到不同设备。该项目还提供自动检测库更新、批量上传、元数据备份、渐进式网页应用程序(PWA)、Chromecast支持、元数据和封面艺术获取、章节编辑和查找、音频文件合并、元数据嵌入、基本电子书支持和阅读器等功能。用户可以通过API文档构建自己的工具和客户端。
* [audacity/audacity](https://github.com/audacity/audacity) 易于使用的多轨音频编辑器和录音机。从主机系统可用的任何真实或虚拟音频设备进行录制。导出/导入多种音频格式,可通过 FFmpeg 进行扩展。使用 32 位浮点音频处理的高品质。插件 支持多种音频插件格式,包括 VST、LV2 和 AU。用于链接命令和批处理的宏。使用 Python、Perl 或任何其他支持命名管道的语言编写脚本。Nyquist,一种功能强大的内置脚本语言,也可用于创建插件。编辑具有采样精度和任意采样率的多轨编辑。VI用户的可访问性。用于分析音频或其他信号数据的分析和可视化工具。
* [beetbox/audioread](https://github.com/beetbox/audioread) audioread是一个 Python 库,用于跨平台解码音频文件。它支持多种音频解码后端,包括 GStreamer、Core Audio、MAD、FFmpeg 和 Libav,以及 Python 标准库中的 wave、aifc 和 sunau 模块。用户可以通过 `audio_open` 函数打开音频文件,并通过迭代器访问文件中的音频数据块。该库提供了音频文件的元数据信息,例如声道数、采样率和时长。如果系统上没有可用的解码后端,则会抛出 `DecodeError` 异常。用户可以使用 `available_backends` 函数查看系统上可用的解码后端。audioread 支持 Python 3.8 及更高版本。
* [CPJKU/madmom](https://github.com/CPJKU/madmom) Madmom是一个用Python编写的音频和音乐信号处理库,专注于音乐信息检索(MIR)任务。它由奥地利林茨约翰·开普勒大学计算感知系和奥地利人工智能研究机构(OFAI)内部使用,包含一些音乐信息检索算法的参考实现。该库提供在线文档,并使用BSD许可证发布源代码,使用Creative Commons Attribution-NonCommercial-ShareAlike 4.0许可证发布模型和数据文件。安装Madmom需要Python 2.7或Python 3.5及以上版本,以及NumPy、SciPy、Cython和Mido等依赖项。可以通过pip命令从PyPI安装,例如:pip install madmom。
* [tinytag/tinytag](https://github.com/tinytag/tinytag) tinytag是一个用于读取音频文件元数据的 Python 库,支持多种格式,包括 MP3、M4A、WAV、OGG、FLAC、WMA 和 AIFF。它提供了一个统一的 API 来访问所有格式的元数据,并包含常见的元数据字段,如艺术家、专辑、标题、时长、比特率等。tinytag 仅用于读取元数据,不提供修改或写入元数据的功能。可以使用其他库,如 Mutagen,来进行元数据修改。可以通过 `TinyTag.SUPPORTED_FILE_EXTENSIONS` 常量获取支持的文件扩展名列表,也可以使用 `TinyTag.is_supported()` 方法检查特定文件是否受支持。
* [KinWaiCheuk/nnAudio](https://github.com/KinWaiCheuk/nnAudio) nnAudio是一个基于PyTorch卷积神经网络的音频处理工具箱,它允许在神经网络训练过程中实时生成频谱图,并训练傅里叶核(例如CQT核)。与其他音频处理工具(如torchaudio和tf.signal)相比,nnAudio使用神经网络方法,因此可以训练傅里叶基。nnAudio支持多种音频特征提取方法,包括STFT、Mel、MFCC、CQT、VQT、Gammatone和CFP,并支持GPU加速。nnAudio与其他库相比,具有可训练性、可微分性、支持多种频谱图类型、支持逆STFT、Griffin-Lim算法、Mel、MFCC、CQT、VQT、Gammatone和CFP等特点。
* [ravachol/kew](https://github.com/ravachol/kew) kew是一个为 Linux 设计的终端音乐播放器,它允许你在终端中播放音乐。kew 支持搜索音乐库、创建播放列表、控制播放、编辑播放列表、无缝播放不同格式的音频文件,并支持 MP3、FLAC、MPEG-4 (AAC、M4A)、OPUS、OGG 和 WAV音频格式。kew 还支持通过 MPRIS 与桌面事件交互,并且不会收集任何用户数据。kew 可以通过包管理器或手动编译安装,需要安装 FFTW、Chafa、libopus、opusfile、libvorbis、TagLib、faad2 (可选)、libogg、pkg-config、glib2.0 和 libnotify (可选) 等依赖项。
* [magenta/ddsp](https://github.com/magenta/ddsp) DDSP是一个可微分数字信号处理库,包含可微分版本的常见DSP函数(如合成器、波形整形器和滤波器),这使得这些可解释的元素可以作为深度学习模型的一部分使用,尤其是在音频生成模型的输出层。该项目提供可视化演示、教程和预训练模型,帮助用户使用DDSP进行音频生成、音频转换等任务。例如,可以使用DDSP将语音转换为小提琴的声音,或将笔记本电脑的噪音转换为长笛的声音。用户也可以使用该库训练自己的模型,并将其用于音频转换。
* [jianchang512/vocal-separate](https://github.com/jianchang512/vocal-separate) 极简的人声和背景音乐分离工具,本地化网页操作,无需连接外网。使用 2stems/4stems/5stems 模型。将一首歌曲或者含有背景音乐的音视频文件,拖拽到本地网页中,即可将其中的人声和音乐声分离为单独的音频wav文件,可选单独分离“钢琴声”、“贝斯声”、“鼓声”等。自动调用本地浏览器打开本地网页,模型已内置,无需连接外网下载。支持视频(mp4/mov/mkv/avi/mpeg)和音频(mp3/wav)格式。只需点两下鼠标,一选择音视频文件,二启动处理。
* [jianchang512/pyvideotrans](https://github.com/jianchang512/pyvideotrans) 这是一个视频翻译配音工具,可将一种语言的视频翻译为指定语言的视频,自动生成和添加该语言的字幕和配音。语音识别支持 faster-whisper模型 openai-whisper模型 和 GoogleSpeech zh_recogn阿里中文语音识别模型.文字翻译支持 微软翻译|Google翻译|百度翻译|腾讯翻译|ChatGPT|AzureAI|Gemini|DeepL|DeepLX|字节火山|离线翻译OTT。文字合成语音支持 Microsoft Edge tts Google tts Azure AI TTS Openai TTS Elevenlabs TTS 自定义TTS服务器api GPT-SoVITS clone-voice ChatTTS-ui Fish TTS CosyVoice
* [k2-fsa/sherpa-onnx](https://github.com/k2-fsa/sherpa-onnx) Sherpa-onnx 是一个支持离线运行的语音识别、语音合成、说话人识别、说话人分离、说话人验证、语言识别、音频标注、语音活动检测、关键词识别等功能的开源项目,基于下一代 Kaldi 和 ONNXRuntime 实现,无需联网即可使用。该项目支持多种平台和操作系统,包括 x86、x86_64、ARM、RISC-V、Linux、macOS、Windows、Android、iOS、NodeJS、WebAssembly 等,并提供 C++、C、Python、JavaScript、Java、C#、Kotlin、Swift、Go、Dart、Rust、Pascal 等多种编程语言的 API。
* [karlstav/cava](https://github.com/karlstav/cava) CAVA是一个跨平台的音频可视化工具,可以在终端或桌面(SDL)上显示音频频谱。它支持 Linux、FreeBSD、macOS 和 Windows等操作系统。CAVA 主要用于音乐可视化,而不是科学用途。它使用 FFTW 库进行音频处理,并支持多种音频输入方式,包括Pulseaudio、Pipewire、ALSA、MPD、Sndio、OSS、JACK、squeezelite、macOS 和 Windows。用户可以通过配置选项自定义CAVA 的外观和行为。CAVA 还提供了一个名为 cavacore 的库,允许其他应用程序使用其音频可视化功能。
* [kadirnar/whisper-plus](https://github.com/kadirnar/whisper-plus) 开源的音频处理工具库,它集成了多种功能,包括语音转文字、说话人分离和长文本摘要等。该工具不仅支持基本的语音识别功能,还能够进行高质量、高准确性的语音转文字处理,并且支持多种语言和方言。WhisperPlus的一个显著特点是其速度和智能化程度。它采用了先进的技术来提高处理效率和准确性,使得用户可以更快地获得结果。此外,WhisperPlus还提供了YouTube音频下载的功能以及基于RAG技术的智能交互能力。
* [homebrewltd/ichigo](https://github.com/homebrewltd/ichigo) Ichigo是一个开源的实时语音 AI 项目,旨在为文本型 LLM 添加原生“聆听”能力,类似于一个开源的、可本地部署的Siri。它采用了一种受 Meta Chameleon 论文启发的早期融合技术,通过公开训练,不断提升语音理解能力。目前已发布 Ichigo v0.3版本,模型在 MMLU 上取得了 63.79 的分数,并增强了多轮对话能力,还能拒绝处理无法识别的音频输入。项目还发布了研究论文,详细介绍了 Ichigo 的开发过程和技术创新。
* [PlayVoice/whisper-vits-svc](https://github.com/PlayVoice/whisper-vits-svc) 基于VITS的端到端歌声转换对抗学习变分推理算法。基于VITS模型架构的开源端到端歌声转换项目。该项目支持多说话人转换,能够混合创建新音色,并能处理带轻伴奏的声音。它集成了Whisper和BigVGAN等技术,提高了抗噪性和音质。此外,为了增加生成音色的稳定性,可以使用Retrieval-based-Voice-Conversion仓库中描述的方法,该方法包括在hubert和whisper特征上训练检索索引,然后使用默认设置进行训练。
* [JusperLee/SonicSim](https://github.com/JusperLee/SonicSim) SonicSim是一个可定制的语音处理模拟平台,用于模拟移动声源场景。它基于Habitat-sim开发,支持场景、麦克风和声源的多级参数调整,生成更多样化的合成数据。SonicSim还构建了一个移动声源基准数据集SonicSet,包含LibriSpeech、FSD50K、FMA数据集和Matterport3D的90个场景,用于评估语音分离和增强模型。该项目提供预构建数据集下载,并提供用于数据集构建和语音分离/增强预训练模型的脚本。
* [souzatharsis/podcastfy](https://github.com/souzatharsis/podcastfy) Podcastfy是一个开源的Python包,使用GenAI将多模态内容(文本、图像)转换为引人入胜的多语言音频对话。输入内容包括网站、PDF、YouTube视频以及图像。与主要关注笔记或研究合成的基于UI的工具(例如NotebookLM)不同,Podcastfy专注于以编程方式和定制方式从多种多模态来源生成引人入胜的对话式转录和音频,从而实现定制和扩展。Podcastfy可作为Python包、CLI、REST API和Web应用程序使用。
* [facebookresearch/spiritlm](https://github.com/facebookresearch/spiritlm) 该项目是名为“SpiRit-LM”的语音和文本交织语言模型的推理代码,该模型可以将语音和文本信息结合起来进行语言建模。项目提供了模型权重、推理代码和评估脚本,用户可以在项目提供的演示页面上查看更多生成样本。项目包含语音分词、模型生成和语音-文本情感保留基准等功能,用户可以根据需要选择使用。该项目使用FAIR非商业研究许可证,用户在使用时需注意相关条款。
* [gabrielchua/open-notebooklm](https://github.com/gabrielchua/open-notebooklm) Open NotebookLM是一个将 PDF 文件转换为播客音频的开源工具,它利用 Llama 3.1 405B 等大型语言模型和 MeloTTS、Bark 等文本转语音模型,将 PDF 内容生成自然对话,并输出为 MP3 文件。该项目提供用户友好的 Gradio 界面,支持 13 种语言,并提供详细的安装和使用说明。用户只需上传 PDF 文件,点击按钮即可生成播客音频。该项目基于 knowsuchagency/pdf-to-podcast 项目,并使用 Apache 2.0 许可证。
* [Standard-Intelligence/hertz-dev](https://github.com/Standard-Intelligence/hertz-dev) Hertz-dev是一个开源的全双工对话音频基础模型,旨在实现实时、自然的语音交互。该项目提供了一系列脚本,包括用于生成音频补全的inference.ipynb,以及用于实时语音交互的 inference_client.py 和 inference_server.py。目前,该项目主要支持 Python 3.10 和 CUDA 12.1,并提供预训练模型下载。用户可以通过 Jupyter Notebook 或 Python 脚本与模型进行交互,并体验其在语音生成和对话方面的能力。
* [Ryuk17/SpeechAlgorithms](https://github.com/Ryuk17/SpeechAlgorithms) 该项目提供各种语音算法的实现,涵盖语音信号处理、语音前端算法、麦克风阵列算法和语音模式识别等领域。项目以模块化方式组织,每个算法都有独立的代码,用户可根据需求下载使用。项目包含音频水印嵌入与提取、语音增强、回声消除、语音活动检测、声源定位等功能,并提供多种语音信号处理技术,如语音采样率转换、语音速度和音调改变、音频对齐等。
* [misbahsy/Doc2Podcast](https://github.com/misbahsy/Doc2Podcast) Doc2Podcast是一个基于 Next.js 和 Langflow 的应用程序,可以将 PDF 文件转换为播客。它利用 AI 技术将文本转换为语音,并支持多位说话人、可自定义的声音选择以及带有波形可视化的交互式音频播放器。该项目提供了一个 Langflow 工作流程,用于处理 PDF 文件并生成音频内容。用户可以上传 PDF 文件、选择说话人数量以及提供其他指令,然后等待 AI 处理并生成音频内容。
* [togethercomputer/together-cookbook](https://github.com/togethercomputer/together-cookbook) TogetherCookbook 是一个开源项目,提供了一系列使用 Together AI 平台构建应用程序的代码示例和指南,帮助开发者利用开源模型进行开发。项目包含多种应用场景的示例,例如多模态检索、上下文检索、PDF 转播客、嵌入可视化等,开发者可以复制代码片段并将其集成到自己的项目中。项目鼓励开发者贡献自己的代码示例,并提供免费的 Together AI API 密钥供开发者使用。
* [pytorch/audio](https://github.com/pytorch/audio) torchaudio是一个基于 PyTorch 的音频库,它提供音频信号处理的数据操作和转换功能。它支持多种音频格式的加载和保存,并提供用于常见音频数据集的数据加载器,以及音频和语音处理函数,例如频谱图、梅尔频率倒谱系数 (MFCC) 等。torchaudio还提供与其他库(如 Kaldi)的兼容接口,并利用 PyTorch 的 GPU 加速和自动微分系统,使其成为机器学习音频处理的理想选择。
* [fixie-ai/ultravox](https://github.com/fixie-ai/ultravox) Ultravox是一个快速的多模态大型语言模型,能够实时理解语音和文本,无需单独的语音识别阶段。它通过将音频直接转换为LLM使用的空间来扩展LLM,速度比结合单独ASR和LLM的系统快得多。目前版本(0.4版)在Llama 3.1 8B模型下,首个token生成时间约为150毫秒,每秒生成约60个token。用户可通过演示页面、Discord服务器、BaseTen平台或Hugging Face页面体验或下载模型。
* [librosa/librosa](https://github.com/librosa/librosa) librosa是一个用于音乐和音频分析的 Python 库,提供丰富的功能,例如音频特征提取、音高检测、节拍跟踪、音乐信息检索等。它依赖于 `soundfile` 和 `audioread` 库来加载音频文件,并支持多种音频格式,包括 MP3。用户可以通过 PyPI或 Anaconda 安装 librosa,也可以从源代码构建。librosa 的文档和示例代码可以在其官方网站上找到,并提供详细的教程和高级示例。
* [Mustafa-Esoofally/llm-podcast-engine](https://github.com/Mustafa-Esoofally/llm-podcast-engine) 这是一个基于AI的播客生成器,利用 Groq 的语言模型从网络新闻源自动生成引人入胜的音频内容,并通过 ElevenLabs 的语音合成技术将其转换为音频播客。该项目使用 Next.js 构建,并利用先进的 AI 技术,展示了自动化内容生成和音频合成的强大功能。其主要功能包括:自动新闻收集、AI 驱动的内容生成、文本转语音合成、现代 Web 界面和实时进度更新。
* [ictnlp/StreamSpeech](https://github.com/ictnlp/StreamSpeech) StreamSpeech 是一种“一体化”无缝模型,用于离线和同步语音识别、语音翻译和语音合成。StreamSpeech 在离线和同步语音到语音翻译方面均实现了SOTA 性能。StreamSpeech 通过“一体化”无缝模型执行流式 ASR 、同步语音到文本翻译和同步语音到语音翻译。StreamSpeech可以在同声翻译过程中呈现中间结果(即ASR或翻译结果),提供更全面的低延迟通信体验。
* [BUTSpeechFIT/DiariZen](https://github.com/BUTSpeechFIT/DiariZen) DiariZen是一个基于AudioZen和Pyannote 3.1的说话人分离工具包。它利用自监督学习,使用WavLM和ResNet34-LM模型,在AMI、AISHELL-4和AliMeeting数据集上进行训练和评估。该工具包提供预训练模型和结果,并提供简单易用的使用指南,可用于进行说话人分离任务。DiariZen在SDM数据上的实验结果表明,与Pyannote3.1相比,其性能有所提升,尤其是在使用WavLM模型时。
* [Audio-AGI/AudioSep](https://github.com/Audio-AGI/AudioSep) AudioSep是一个基于自然语言查询的开放域声音分离基础模型,它能够根据文本描述分离音频中的不同声音,例如音频事件分离、乐器分离和语音增强。该项目提供了模型的官方实现,并包含演示页面和 Colab 笔记本,用户可以使用文本描述进行声音分离,并查看分离后的音频示例。模型支持使用 Hugging Face 加载,并提供分块推理功能以节省内存。
* [Priler/jarvis](https://github.com/Priler/jarvis) Jarvis是一个使用神经网络进行语音识别、语音合成、唤醒词检测和自然语言理解等功能的离线语音助手。它采用Rust和Tauri构建后端,前端使用Vite和Svelte,并使用Vosk进行语音识别,Rustpotter和Picovoice Porcupine进行唤醒词检测。目前仅支持俄语,但很快将支持乌克兰语和英语。该项目完全开源,不收集用户数据,并提供详细的构建指南。
* [ictnlp/LLaMA-Omni](https://github.com/ictnlp/LLaMA-Omni) LLaMA-Omni 是一个基于 Llama-3.1-8B-Instruct 的端到端语音交互模型,旨在实现与 GPT-4o 同级别的语音能力。它支持低延迟、高质量的语音交互,可以根据语音指令同时生成文本和语音响应。该模型在 4 个 GPU 上训练了不到 3 天,并实现了低至 226 毫秒的延迟。用户可以通过 Huggingface 下载模型,并使用提供的代码快速启动 Gradio 演示。
* [QwenLM/Qwen2-Audio](https://github.com/QwenLM/Qwen2-Audio) 阿里云提出的Qwen2-Audio聊天和预训练大型音频语言模型的官方仓库。它能够接受各种音频信号输入,并对语音指令进行音频分析或直接文本响应。我们介绍了两种不同的音频交互模式:语音聊天:用户无需文字输入即可自由地与Qwen2-Audio进行语音交互;音频分析:用户可以在交互过程中提供音频和文本指令进行分析。
* [kyutai-labs/moshi](https://github.com/kyutai-labs/moshi) Moshi是一个语音文本基础模型和全双工口语对话框架。它使用Mimi ,一种最先进的流式神经音频编解码器。 Mimi 以完全流式传输的方式处理 24 kHz 音频,低至 12.5 Hz 表示,带宽为 1.1 kbps(延迟为 80 毫秒,帧大小),但性能比现有的非流式编解码器(如SpeechTokenizer) (50 Hz 、4kbps)或SemantiCodec (50 Hz、1.3kbps)。
* [78/xiaozhi-esp32](https://github.com/78/xiaozhi-esp32) 这是一个基于 ESP-IDF 开发的开源项目,旨在帮助你构建一个 AI 聊天机器人。该项目利用 ESP32 芯片、SenseVoice 语音识别技术和 Qwen72B 大模型,实现了语音交互和智能对话功能。项目包含 Wi-Fi 网络连接、语音识别、语音合成、多语言支持等功能,并提供详细的教程和示例代码,方便开发者学习和使用。
* [resemble-ai/resemble-enhance](https://github.com/resemble-ai/resemble-enhance) AI 驱动的工具,旨在通过执行降噪和增强来提高语音的整体质量。它由两个模块组成:一个降噪器,用于将语音与嘈杂的音频分开,另一个增强器通过恢复音频失真和扩展音频带宽来进一步提高感知音频质量。这两个模型都使用高质量的 44.1kHz 语音数据进行训练,从而保证以高质量增强您的语音。
* [Huanshere/VideoLingo](https://github.com/Huanshere/VideoLingo) VideoLingo 是一款一体化视频翻译、本地化和配音工具,旨在生成 Netflix 质量的字幕。它消除了僵硬的机器翻译和多行字幕,同时添加了高质量的配音,实现了跨越语言障碍的全球知识共享。借助直观的 Streamlit 界面,您只需点击几下即可将视频链接转换为具有高质量双语字幕和配音的本地化视频。
* [gpt-omni/mini-omni](https://github.com/gpt-omni/mini-omni) 开源多模态大型语言模型,可以边听边说边思考。具有实时端到端语音输入和流式音频输出对话功能。 特征: 实时语音转语音对话功能。无需额外的 ASR 或 TTS 模型。边思考边说话,能够同时生成文本和音频。流式音频输出功能。通过“Audio-to-Text”和“Audio-to-Audio”批量推理,进一步提高性能。
* [maiqingqiang/NotebookMLX](https://github.com/maiqingqiang/NotebookMLX) NotebookMLX是 NotebookLlama 的开源版本,使用 MLX 框架实现。它利用不同的 Qwen2.5 模型进行 PDF 预处理、转录、重写和文本转语音,最终生成对话式播客。该项目包含四个步骤:PDF 预处理、转录、重写和文本转语音,分别使用不同的 Qwen2.5 模型完成。用户可以通过提供的链接访问生成的播客音频。
* [s3prl/s3prl](https://github.com/s3prl/s3prl) S3PRL是一个用于自监督语音预训练和表示学习的工具包,它支持多种环境和 PyTorch 版本。项目目前处于维护模式,仅接受新的上游模型贡献,并欢迎修复 bug 的 PR。项目提供了教程帮助用户添加新的上游模型。S3PRL 的特色是支持多种环境和 PyTorch 版本,并提供教程帮助用户添加新的上游模型。
* [sonic-pi-net/sonic-pi](https://github.com/sonic-pi-net/sonic-pi) 免费的基于代码的音乐创作和表演工具。对于专业音乐家和 DJ 来说功能强大。富有表现力的构图和表演。盲人和部分视力障碍者可以使用。简单的计算和音乐课程。通过创作或表演从古典和爵士乐到嘻哈和电子舞曲等各种风格的音乐来学习创造性地编码。每个人都免费提供友好的教程。
* [zhongyang219/MusicPlayer2](https://github.com/zhongyang219/MusicPlayer2) MusicPlayer2是一款功能丰富的音频播放器,支持常见音频格式播放,并提供歌词显示、卡拉OK样式歌词、歌词在线下载、歌词编辑、歌曲标签识别、Win10小娜搜索歌词、频谱分析、音效设置、任务栏缩略图按钮、主题颜色等功能。播放内核基于BASS音频库(V2.4),可播放多种音频格式。
* [bastibe/python-soundfile](https://github.com/bastibe/python-soundfile) SoundFile是一个基于 libsndfile、CFFI 和 NumPy 的音频库,用于读取和写入各种音频文件格式。它利用 libsndfile 的跨平台特性,通过 CFFI 接口调用 C 代码,并使用 NumPy 数组表示音频数据。SoundFile 支持 Python 2.6+、3.x 和 PyPy 2.0+,可以通过 pip install soundfile 安装,并依赖 CFFI 和 NumPy 库。
* [vocodedev/vocode-core](https://github.com/vocodedev/vocode-core) Vocode 是一个开源库,可以轻松构建基于语音的 LLM 应用程序。使用 Vocode,您可以使用 LLMs,并将其部署到电话、Zoom 会议等中。您还可以构建个人助理或应用程序,例如基于语音的国际象棋。Vocode 提供了简单的抽象和集成,因此您需要的一切都在一个库中。
* [pyannote/pyannote-audio](https://github.com/pyannote/pyannote-audio) 说话人分类的神经构建块:语音活动检测、说话人变化检测、重叠语音检测、说话人嵌入。用 Python 编写的开源工具包,用于说话人分类。它基于 PyTorch 机器学习框架,带有最先进的预训练模型和管道,可以根据您自己的数据进一步微调以获得更好的性能。
* [TencentGameMate/chinese_speech_pretrain](https://github.com/TencentGameMate/chinese_speech_pretrain) WenetSpeech train_l 集的 1 万小时中文数据作为无监督预训练数据。数据主要来源于 YouTube 和 Podcast,覆盖了各种类型录制场景、背景噪声、说话方式等,其领域主要包括有声书、解说、纪录片、电视剧、访谈、新闻、朗读、演讲、综艺和其他等10大场景。
* [mozilla-foundation/common_voice_13_0](https://huggingface.co/datasets/mozilla-foundation/common_voice_13_0) 由唯一的 MP3 和相应的文本文件组成。数据集中记录的 27141 小时中的许多还包括年龄、性别和口音等人口统计元数据,这有助于提高语音识别引擎的准确性。该数据集目前包含 108 种语言的 17689 个验证小时数,后续会添加更多语音和语言。
* [jasonppy/VoiceCraft](https://github.com/jasonppy/VoiceCraft) VoiceCraft 是一种令牌填充神经编解码器语言模型,可在语音编辑和对包括有声读物、互联网视频和播客在内的野生数据进行零样本文本转语音 (TTS) 方面实现最先进的性能。要克隆或编辑看不见的声音,VoiceCraft 只需要几秒钟的参考。
* [knowsuchagency/pdf-to-podcast](https://github.com/knowsuchagency/pdf-to-podcast) 这是一个将PDF文档转换为播客音频的工具,它利用OpenAI的语言模型和文本转语音技术,将PDF内容转化为自然对话,并生成MP3音频文件。该项目提供用户友好的界面,方便用户上传PDF文件、输入OpenAI API密钥并生成播客音频。
* [google/lyra](https://github.com/google/lyra) 高质量、低比特率的语音编解码器,在最慢网络上也能进行语音通信。 为此,它应用了传统的编解码器技术,同时利用机器学习 (ML) 的进步和经过数千小时数据训练的模型来创建一种压缩和传输语音信号的新方法。
* [souzatharsis/podcastfy-demo](https://github.com/souzatharsis/podcastfy-demo) Podcastfy.ai是 NotebookLM 的开源替代方案,它提供了一个 Gradio 演示应用程序,用户可以将文本转换为播客。该项目基于 Hugging Face Space,并提供 Python 包,用户可以轻松地将文本转化为播客,并进行个性化设置。
* [lamm-mit/PDF2Audio](https://github.com/lamm-mit/PDF2Audio) 此代码可用于将 PDF 转换为音频播客、讲座、摘要等。它使用 OpenAI 的 GPT 模型进行文本生成和文本到语音的转换。您还可以编辑草稿记录(多次)并提供具体评论或有关如何调整或改进的总体指示。
* [huggingface/speech-to-speech](https://github.com/huggingface/speech-to-speech) Speech To Speech:开源和模块化 GPT4-o 的努力。此存储库实现一个语音到语音级联管道,该管道由以下部分组成:语音活动检测 (VAD), 语音到文本 (STT),语言模型 (LM),文本到语音转换 (TTS)
* [WenetSpeech](https://wenet-e2e.github.io/WenetSpeech/) 从 YouTube 和 Podcast 收集的 10000 多个小时的多域转录普通话语料库。 采用OCR 和ASR分别标记每个录音。 为了提高语料库的质量,使用了一种新颖的端到端标签错误检测方法来进一步验证和过滤数据。
* [GTSinger/GTSinger](https://github.com/GTSinger/GTSinger) GTSinger:一个全球多技术歌唱语料库,为所有歌唱任务提供逼真的乐谱。一个大型的全球、多技术、免费使用、高质量的歌唱语料库,具有逼真的乐谱,专为所有歌唱任务及其基准测试而设计。
* [microsoft/muzic](https://github.com/microsoft/muzic) 用人工智能理解和生成音乐,包括:符号音乐理解:MusicBERT、自动歌词转录:PDAugment 音乐生成:作曲:SongMASS、歌词生成:DeepRapper、旋律生成:TeleMelody、伴奏生成:PopMAG、歌声合成。
* [beetbox/beets](https://github.com/beetbox/beets) 面向痴迷音乐极客的媒体库管理系统。一劳永逸地获得正确的音乐收藏。它会对您的收藏进行编目,并自动改进其元数据。然后,它提供了一束用于操作和访问音乐的工具。
* [espnet/espnet](https://github.com/espnet/espnet) End-to-End Speech Processing Toolkit 端到端的语音处理工具箱,主要特性:kaldi风格的处理模式、ASR、TTS、语音翻译、机器翻译、语音转换、DNN框架
* [microsoft/NeuralSpeech](https://github.com/microsoft/NeuralSpeech) 微软亚洲研究院的研究项目,专注于基于神经网络的语音处理,包括自动语音识别(ASR)、文本到语音(TTS)、空间音频等。
* [modelscope/FunCodec](https://github.com/modelscope/FunCodec) 基本的、可复制的、可集成的神经语音编解码器开源工具包。用于音频量化和下游应用,例如文本到语音合成、音乐生成等。
* [zzw922cn/awesome-speech-recognition-speech-synthesis-papers](https://github.com/zzw922cn/awesome-speech-recognition-speech-synthesis-papers) 自动语音识别 (ASR)、说话人验证、语音合成、文本到语音转换 (TTS)、语言建模、歌唱语音合成 (SVS)、语音转换 (VC)
* [YOYZHANG/PodCastLM](https://github.com/YOYZHANG/PodCastLM) 该项目的灵感来自于 Google NotebookLM 工具。通过处理 PDF 的内容,生成适合音频播客的自然对话,并将其输出为 MP3 文件。
* [facebookresearch/av_hubert](https://github.com/facebookresearch/av_hubert) 用于视听语音的自监督学习框架,在 LRS3 视听语音基准上,它在唇读、ASR 和视听语音识别方面取得了最先进的结果。
* [PaddlePaddle/PaddleSpeech](https://github.com/PaddlePaddle/PaddleSpeech) 易于使用的语音工具包,包括SOTA ASR 管道、带有文本前端的有影响力的 TTS 和端到端语音同步翻译。
* [LCAV/pyroomacoustics](https://github.com/LCAV/pyroomacoustics) 用于室内应用音频信号处理的软件包。它是作为室内场景中波束成形算法的快速原型平台开发的。
* [eustlb/speech-to-speech](https://github.com/eustlb/speech-to-speech) Speech To Speech:开源和模块化 GPT4-o 的努力,该存储库实现了具有连续部分的语音到语音级联管道。
* [fighting41love/zhvoice](https://github.com/fighting41love/zhvoice) 中文语音语料,语音更加清晰自然,包含8个开源数据集,3200个说话人,900小时语音,1300万字。
* [ggeop/Python-ai-assistant](https://github.com/ggeop/Python-ai-assistant) Python蟒蛇AI助手 语音命令助手服务,它可以识别人类语音,与用户交谈并执行基本命令。
* [kyleneideck/BackgroundMusic](https://github.com/kyleneideck/BackgroundMusic) macOS 音频实用工具“背景音乐”:自动暂停音乐、设置各个 App 的音量并录制系统音频。
* [ExistentialAudio/BlackHole](https://github.com/ExistentialAudio/BlackHole) 现代 macOS 音频环回驱动程序,允许应用程序以零额外延迟将音频传递给其他应用程序。
* [microsoft/unilm/wavlm](https://github.com/microsoft/unilm/tree/master/wavlm) 用于全栈语音处理的大规模自我监督预训练,下游任务如ASR、声纹识别、声音分类等。
* [snakers4/silero-models](https://github.com/snakers4/silero-models) Silero 模型:预先训练的语音转文本、文本转语音和文本增强模型变得简单得令人尴尬.
* [facebookresearch/voxpopuli](https://github.com/facebookresearch/voxpopuli) 目前世界上最大的多语言语音数据集,涵盖了23种语言,时长超过40万小时。
* [Rikorose/DeepFilterNet](https://github.com/Rikorose/DeepFilterNet) 用于全频带音频 (48kHz) 的低复杂度语音增强框架,用于深度滤波。
* [spicetify/spicetify-cli](https://github.com/spicetify/spicetify-cli) 用于自定义 Spotify 客户端的命令行工具。支持 Win、MacOS 和 Linux。
* [WenzheLiu-Speech/awesome-speech-enhancement](https://github.com/WenzheLiu-Speech/awesome-speech-enhancement) 总结了用于单/多通道语音增强/语音分离的论文、代码和工具。
* [mixxxdj/mixxx](https://github.com/mixxxdj/mixxx) 免费的 DJ 软件,可为您提供执行现场混音所需的一切。
* [Rudrabha/Wav2Lip](https://github.com/Rudrabha/Wav2Lip) 唇语识别 唇语同步 ,用来生成准确的唇语同步视频。
* [AudioKit/AudioKit](https://github.com/AudioKit/AudioKit) 适用于 iOS、macOS 和 tvOS 的音频合成、处理和分析平台
* [stemrollerapp/stemroller](https://github.com/stemrollerapp/stemroller) 从任何歌曲中分离出人声、鼓、贝斯和其他器乐声部
* [chrisdonahue/ddc](https://github.com/chrisdonahue/ddc) 自动编舞系统,将原始音频转换为可播放的舞蹈。
* [AIGC-Audio/AudioGPT](https://github.com/AIGC-Audio/AudioGPT) 理解和生成语音、音乐、声音和说话人头部动作。
* [tyiannak/pyAudioAnalysis](https://github.com/tyiannak/pyAudioAnalysis) Python 音频分析库:特征提取、分类、分割和应用
* [wenet-e2e/opencpop](https://github.com/wenet-e2e/opencpop) 用于歌声合成的高质量开源中文流行歌曲数据库
* [asteroid-team/asteroid](https://github.com/asteroid-team/asteroid) 面向研究人员的基于 PyTorch 的音频源分离工具包
* [boy1dr/SpleeterGui](https://github.com/boy1dr/SpleeterGui) 适用于 Spleeter 的 Windows 桌面前端 - AI音乐源分离
* [MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-](https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-) 适用于 Google Play 音乐的精美跨平台桌面播放器
* [krantiparida/awesome-audio-visual](https://github.com/krantiparida/awesome-audio-visual) 视听处理领域的不同论文和数据集的精选列表
* [google-research/sound-separation](https://github.com/google-research/sound-separation) 用于分离声音的开源数据集和深度学习模型。
* [athena-team/athena](https://github.com/athena-team/athena) 基于序列到序列的语音处理引擎的开源实现
* [Anjok07/ultimatevocalremovergui](https://github.com/Anjok07/ultimatevocalremovergui) GUI,用于使用深度神经网络的人声去除器。
* [lhotse-speech/lhotse](https://github.com/lhotse-speech/lhotse) 在机器学习项目中处理语音数据的工具。
* [Windstudent/Complex-MTASSNet](https://github.com/Windstudent/Complex-MTASSNet) 多任务音源分离,两阶段模型,复杂域。
* [MubertAI/Mubert-Text-to-Music](https://github.com/MubertAI/Mubert-Text-to-Music) 演示通过 Mubert API 生成基于提示的音乐
* [lyswhut/lx-music-mobile](https://github.com/lyswhut/lx-music-mobiles) 一个基于 React native 开发的音乐软件。
* [wenet-e2e/WeTextProcessing](https://github.com/wenet-e2e/WeTextProcessing) 中文的文本规范化和反向文本规范化
* [QiuChenly/QQFlacMusicDownloader](https://github.com/QiuChenly/QQFlacMusicDownloader) [秋城落叶] QQ 音乐源无损歌曲下载
* [noisetorch/NoiseTorch](https://github.com/noisetorch/NoiseTorch) Linux 上的实时麦克风噪声抑制。
* [werman/noise-suppression-for-voice](https://github.com/werman/noise-suppression-for-voice) 基于Xiph的RNNoise的噪声抑制插件
* [deezer/spleeter](https://github.com/deezer/spleeter) 人声分离模型
# 云_虚拟化
* [spinnaker/spinnaker](https://github.com/spinnaker/spinnaker) Spinnaker是一个开源的多云持续交付平台,用于以高速度和信心发布软件变更。它提供了一个单一平台,允许您安全地部署和管理应用程序在多个云环境(AWS、GCP、Kubernetes等)中。Spinnaker通过自动化的金丝雀分析和多种部署方式,可以安全地将代码从git提交到开发环境,一直到多个生产环境,并对结果充满信心。Spinnaker是基于Netflix、Google、Microsoft、Amazon等众多公司的成果构建的最成熟、最广泛生产化的持续交付平台,它允许快速、安全的部署。它被众多组织使用,包括Target、Salesforce、Airbnb、Cerner、Adobe、摩根大通等。Spinnaker可以帮助您管理SDLC,使用GUI(图形用户界面)或配置即代码,查看、管理和构建应用程序工作流,涉及以下资源:虚拟机(VM)部署到公有云提供商、容器部署到云、容器部署到Kubernetes、负载均衡器、安全组、服务器组、集群、防火墙、函数。Spinnaker可以使用Clouddriver部署到所有主要的公有云提供商和Kubernetes,甚至可以将配置和固件更改作为Spinnaker交付管道的一部分进行编排。Spinnaker通过创建一条“铺好的路”来简化应用程序交付,并设置护栏以确保只有有效的基础设施和配置才能进入生产环境。它可以解放开发团队,让他们摆脱繁重的运维配置,同时自动强化业务和监管要求。金丝雀部署等交付自动化策略提供了必要的安全性,可以从快速创新中获取价值,同时保护业务和最终用户免受影响。Spinnaker由多个服务组成,这些服务通过REST API和消息队列进行通信。它支持多种部署策略,包括蓝绿部署、金丝雀部署和滚动部署。Spinnaker还提供了一个强大的UI,用于监控和管理部署。
* [rootsongjc/kubernetes-handbook](https://github.com/rootsongjc/kubernetes-handbook) Kubernetes中文指南/云原生应用架构实战手册。Kubernetes 是 Google 于 2014 年 6 月基于其内部使用的 Borg 系统开源出来的容器编排调度引擎,Google 将其作为初始和核心项目贡献给 CNCF(云原生计算基金会),近年来逐渐发展出了云原生生态。Kubernetes 的目标不仅仅是一个编排系统,而是提供一个规范用以描述集群的架构,定义服务的最终状态,使系统自动地达到和维持该状态。Kubernetes 作为云原生应用的基石,相当于一个云原生操作系统,其重要性不言而喻。云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括 容器、服务网格、微服务、不可变基础设施 和 声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。——CNCF(云原生计算基金会)。Kubernetes Handbook 项目始于 2016 年底,开源于 2017 年 3 月,作为第一本系统介绍 Kubernetes 的中文电子书,其后经过不断完善。写作本书的过程中,笔者记录了从零开始学习和使用 Kubernetes 的历程,着重于经验总结和资料分享,亦有 Kubernetes 核心概念解析,希望能够帮助大家少走弯路,为大家介绍 Kubernetes 周边生态,如微服务、DevOps、大数据应用、服务网格、云原生应用、Serverless 等领域。
* [conductor-oss/conductor](https://github.com/conductor-oss/conductor) Conductor 是一个事件驱动的编排平台,Netflix 最初创建的一个平台,用于编排微服务和事件。Conductor OSS 由 Orkes 的开发团队以及开源社区的成员共同维护。用于商业和非商业用途的 Apache-2.0 许可证。自由部署、修改和回馈。通过完全抽象的后端,您可以选择自己的数据库持久层和排队服务。企业就绪的、基于Java Spring的平台,已经在Netflix和其他地方的生产系统中进行了实战测试。强大的流控制结构,包括决策、动态分叉连接和子工作流。支持变量和模板。多种语言的客户端库允许使用 Java、Node JS、Python 和 C# 实现 worker。适用于编排器和工作线程的分布式架构,可从单个工作流扩展到数百万个并发流程。Conductor 允许您使用简单而精细的任务来构建复杂的应用程序,这些任务不需要了解或跟踪应用程序执行流的状态。Conductor 跟踪状态,按正确的顺序(按顺序或并行,由您定义)调用任务,根据需要重试调用,优雅地处理故障场景,并输出最终结果。利用 Conductor 中的工作流,开发人员能够真正专注于他们的核心任务 - 使用他们选择的语言构建他们的应用程序代码。Conductor 承担了与确保其工作流程的高可靠性、事务一致性和长期耐用性相关的繁重工作。简单地说,无论您的应用程序组件位于何处,也无论它们使用哪种语言编写,您都可以在 Conductor 中构建一个工作流,以可靠且可扩展的方式编排它们的执行。
* [containerd/containerd](https://github.com/containerd/containerd) containerd 是行业标准的容器运行时,强调简单性、健壮性和可移植性。它可作为 Linux 和 Windows 的守护进程使用,可以管理其主机系统的完整容器生命周期:镜像传输和存储、容器执行和监督、低级存储和网络连接等。containerd 的运行时要求非常低。与 Linux 和 Windows 容器功能集的大多数交互都是通过 runc 和/或特定于操作系统的库(例如 Microsoft 的 hcsshim)处理的。RUNC.md 中介绍了当前所需的版本 runc 。containerd 核心代码和快照器使用的一些特定功能需要 Linux 上的最低内核版本。根据发行版内核版本控制的理解警告,Linux 的合理起点是最低 4.x 内核版本。默认情况下使用的覆盖文件系统快照器使用在 4.x 内核系列中完成的功能。如果您选择使用 btrfs,内核版本可能会有更大的灵活性(建议的最低版本为 3.18),但需要在您的 Linux 发行版上安装 btrfs 内核模块和 btrfs 工具。要使用 Linux 检查点和还原功能,您需要 criu 在系统上安装。有关详细信息,请参阅检查点和还原。
* [uber/kraken](https://github.com/uber/kraken) Kraken是一个基于 P2P 技术的 Docker 镜像仓库,专注于可扩展性和高可用性,适用于混合云环境中的 Docker 镜像管理、复制和分发。它支持可插拔的存储后端,可以轻松集成到现有的 Docker 镜像仓库中,作为分发层。Kraken 在 Uber 的生产环境中运行,每天分发超过 100 万个 Blob,包括 10 万个 1GB 以上的 Blob,峰值负载下,可在 30 秒内分发 2 万个 100MB 到 1GB 的 Blob。Kraken 的设计理念是通过少量专用主机将内容分发到集群中每个主机上运行的代理网络。一个中心组件(跟踪器)会协调网络中的所有参与者,形成一个伪随机正则图,从而实现高连接性和小直径,即使只有一个种子节点,并且有成千上万的节点同时加入,理论上所有参与者都可以达到至少 80% 的最大上传/下载速度(当前实现为 60%),并且随着 Blob 大小和集群大小的增加,性能不会大幅下降。Kraken 支持基于规则的跨集群异步复制,并具有最小依赖性,除了可插拔的存储之外,仅对 DNS 有可选依赖性。
* [ServiceWeaver/weaver](https://github.com/ServiceWeaver/weaver) Service Weaver 是一个用于编写、部署和管理分布式应用程序的编程框架。您可以在计算机上本地运行、测试和调试 Service Weaver 应用程序,然后使用单个命令将该应用程序部署到云。Service Weaver 应用程序由许多组件组成。组件被表示为常规的 Go接口,组件之间通过调用这些接口定义的方法来交互。这使得编写 Service Weaver 应用程序变得容易。您不必编写任何网络或序列化代码;你只要写 Go 就可以了。 Service Weaver 还提供用于日志记录、指标、跟踪、路由、测试等的库。您可以像运行单个命令一样轻松地部署 Service Weaver 应用程序。在幕后,Service Weaver 将沿着组件边界剖析您的二进制文件,从而允许不同的组件在不同的计算机上运行。 Service Weaver 将为您复制、自动缩放和共同定位这些分布式组件。它还将代表您管理所有网络详细信息,确保不同的组件可以相互通信,并且客户端可以与您的应用程序通信。
* [GoogleContainerTools/skaffold](https://github.com/GoogleContainerTools/skaffold) Skaffold是一个命令行工具,用于简化 Kubernetes 应用程序的持续开发。您可以本地迭代应用程序源代码,然后部署到本地或远程 Kubernetes 集群。Skaffold 处理构建、推送和部署应用程序的工作流程,并提供构建块和自定义选项,用于构建 CI/CD 管道。它支持快速本地开发,提供优化的源代码到部署流程,并自动聚合部署资源的日志,并将容器端口转发到本地机器。Skaffold 还具有项目可移植性,可以轻松地与其他开发人员共享项目,并使用配置文件、环境变量和标志来描述不同环境的差异。此外,Skaffold 支持可插拔的声明式配置,可以发现文件并生成配置文件,支持多组件应用程序,并与任何构建或部署工具集成。Skaffold 仅在客户端运行,没有集群端组件,因此没有开销或维护负担。它提供了一个最小化的管道,以保持简单性。您可以访问示例页面了解更多复杂的工作流程。
* [virtual-kubelet/virtual-kubelet](https://github.com/virtual-kubelet/virtual-kubelet) Virtual Kubelet是一个开源的 Kubernetes kubelet 实现,它作为 kubelet 的代理,将 Kubernetes 连接到其他 API,例如 ACI、AWS Fargate、IoT Edge、Tensile Kube 等。它允许节点由其他服务支持,主要用于将 Kubernetes API 扩展到无服务器容器平台,例如 ACI 和 Fargate。Virtual Kubelet 具有可插拔的架构,直接使用 Kubernetes 原语,使其易于构建。它支持创建、删除和更新Pod,容器日志、执行和指标,获取 Pod、Pod 状态和容量等功能。Virtual Kubelet 提供了可插拔的提供者接口,开发者可以实现该接口,定义典型的 kubelet 的操作,从而实现按需和近乎即时的容器计算,由 Kubernetes 进行编排,无需管理 VM 基础设施,同时仍然利用可移植的 Kubernetes API。
* [prometheus-operator/prometheus-operator](https://github.com/prometheus-operator/prometheus-operator) Prometheus Operator是一个Kubernetes原生工具,用于部署、配置和管理Prometheus以及相关监控组件,简化了Kubernetes集群中基于Prometheus的监控堆栈的配置。它使用Kubernetes自定义资源来部署和管理Prometheus、Alertmanager等组件,并提供简化的配置方式,如版本、持久化、保留策略和副本数量等。此外,它还能根据Kubernetes标签查询自动生成监控目标配置,无需学习Prometheus特定的配置语言。项目目前处于生产就绪状态,并提供多个版本,包括稳定版、不稳定版和alpha版。除了Prometheus Operator本身,还有kube-prometheus和community Helm chart等项目,提供了完整的集群监控堆栈配置示例,包括Prometheus、Alertmanager、Node Exporter等组件的部署。
* [containernetworking/cni](https://github.com/containernetworking/cni) CNI(容器网络接口)是一个云原生计算基金会项目,它提供了一个规范和库,用于编写插件来配置 Linux 容器中的网络接口。CNI仅关注容器的网络连接,并在容器删除时释放分配的资源。由于其专注性,CNI 拥有广泛的支持,并且规范易于实现。该项目包含一个规范、用于将 CNI 集成到应用程序的 Go 库、一个用于执行 CNI 插件的示例命令行工具,以及一个包含参考插件和用于创建新插件的模板的单独仓库。CNI 可以帮助创建现有容器网络项目的 CNI 插件,也可以作为从头开始创建新容器网络项目的框架。CNI 被广泛应用于各种容器运行时和编排器,包括 Kubernetes、OpenShift、Cloud Foundry、Apache Mesos、Amazon ECS 等。
* [longhorn/longhorn](https://github.com/longhorn/longhorn) Longhorn是一个为 Kubernetes 打造的云原生分布式块存储系统,它利用 Kubernetes 和容器技术构建。Longhorn 轻量级、可靠且功能强大,可通过单个 `kubectl apply` 命令或 Helm 图表安装在现有 Kubernetes 集群中,为集群添加持久卷支持。Longhorn 使用容器和微服务实现分布式块存储,为每个块设备卷创建专用存储控制器,并同步将卷复制到存储在多个节点上的多个副本中。存储控制器和副本本身由 Kubernetes 编排。Longhorn 的主要特点包括:企业级分布式存储,无单点故障;块存储增量快照;基于高效变更块检测的备份到辅助存储(NFSv4 或 S3 兼容对象存储);定期快照和备份;自动无中断升级,无需中断正在运行的卷。
* [openkruise/kruise](https://github.com/openkruise/kruise) Kruise是一个 CNCF 孵化项目,它提供了一系列控制器来扩展和补充Kubernetes 核心控制器,以实现更强大的工作负载和应用程序管理。Kruise提供了高级工作负载,例如 CloneSet、Advanced StatefulSet、Advanced DaemonSet、BroadcastJob 和 AdvancedCronJob,支持无状态、有状态、守护进程和作业应用程序,并提供原地更新、可配置的缩放/升级策略和并行操作等高级功能。此外,Kruise 还简化了 Sidecar 注入和原地更新,并增强了 Sidecar 启动和终止控制,并提供 WorkloadSpread 和 UnitedDeployment 两种方式来管理跨多个域的应用程序。Kruise 还提供了 ContainerRecreateRequest 等功能,允许用户重启/重新创建正在运行的 Pod 中的容器。
* [easegress-io/easegress](https://github.com/easegress-io/easegress) Easegress是一个云原生流量编排系统,旨在提供高可用性、流量编排、高性能、可观测性、可扩展性和集成性。它基于 Raft 共识和领导者选举机制,确保 99.99% 的可用性。Easegress 支持多种协议,包括 HTTP/1.1、HTTP/2、HTTP/3(QUIC) 和 MQTT,并提供丰富的路由规则、弹性与容错机制(如熔断器、限流器、重试和超时限制)、部署管理策略(如蓝绿部署和金丝雀发布)、API 管理功能(如 API 聚合和编排)以及安全功能(如 IP 过滤、静态 HTTPS 和 API签名)。Easegress 易于扩展,用户可以使用高级编程语言开发自己的过滤器或控制器,并轻松集成到其他系统,如 Kubernetes Ingress、EaseMesh sidecar、Workflow 等。
* [dstackai/dstack](https://github.com/dstackai/dstack) dstack是一个开源的 Kubernetes 替代方案,旨在简化 AI 在任何云或本地环境中的开发、训练和部署。它支持 NVIDIA、AMD 和 TPU。dstack 简化了 AI 工作负载的容器编排,无论是在云端还是本地,从而加快了 AI 模型的开发、训练和部署。dstack 易于使用,支持任何云提供商以及本地服务器。dstack 原生支持 NVIDIA GPU、AMD GPU 和 Google Cloud TPU。用户可以通过CLI 或 API 使用 dstack,但需要先设置 dstack 服务器。dstack 服务器可以配置后端以使用自己的云帐户,也可以通过控制台 UI 配置。用户可以使用 SSH 集群在本地服务器上运行容器。dstack 通过定义开发环境、训练环境和部署环境来工作。
* [uber/cadence](https://github.com/uber/cadence) 分布式、可扩展、持久且高度可用的编排引擎,用于以可扩展和弹性的方式执行异步长时间运行的业务逻辑。开源的无故障状态代码平台和工作流引擎,专为解决与第三方 API、内部服务和长期运行的业务流程进行复杂交互的挑战。Cadence 为使用需要容错的基于微服务的架构以及包含无数多步骤并发工作流或与多个第三方 API 交互的应用程序的开发团队提供了很多价值。Cadence 将应用程序的整个状态保存在与任何特定进程无关的持久虚拟内存中。存储的应用程序状态包括用户定义活动的所有调用参数和返回结果。然后,它使用该信息来赶上并重播被中断的工作流。
* [budtmo/docker-android](https://github.com/budtmo/docker-android) Android 的 Docker 解决方案 ,支持 noVNC 和视频录制。Docker-Android 是一个 docker 镜像,用于与 Android 相关的所有内容。它可用于应用程序开发和测试(本机、Web 和混合应用程序)。使用此项目的优势:具有不同设备配置文件和皮肤的模拟器,例如三星Galaxy S6,LG Nexus 4,HTC Nexus One等。支持 vnc 能够看到 docker 容器内部发生了什么。支持日志共享功能,所有日志都可以从web-UI访问。能够使用 adb connect 从容器外部控制模拟器。与其他云解决方案集成,例如Genymotion云。它可以用来构建Android项目。它可用于使用不同的测试框架运行单元和 UI-Test,例如 Appium、Espresso 等。
* [cytopia/devilbox](https://github.com/cytopia/devilbox) Devilbox是一个现代化的 Docker LAMP 和 MEAN 栈,用于本地开发。它支持 LEMP 和 MEAN 以及 Websockets、Node、Python 和 Golang,并通过自动反向代理集成。Devilbox 提供了一个可重复的开发环境,可以在所有主要平台上运行,并能够切换和组合所需的任何版本。它支持无限数量的项目,并自动创建虚拟主机、SSL 证书和 DNS 记录。它还提供电子邮件拦截和流行的开发工具。所有创建的项目(前端或后端)都可以相互通信,以支持完整微服务架构或 API 环境的模拟。支持的架构包括 amd64 和 arm64,支持的 PHP 版本包括 5.2、5.3、5.4、5.5、5.6、7.0、7.1、7.2、7.3、7.4、8.0 和 8.1。
* [kubescape/kubescape](https://github.com/kubescape/kubescape) 开源的 Kubernetes 安全平台,适用于 IDE、CI/CD 管道和集群。它包括风险分析、安全性、合规性和错误配置扫描,为 Kubernetes 用户和管理员节省宝贵的时间、精力和资源。包括漏洞和错误配置扫描。您可以通过 CLI 运行扫描,或添加 Kubescape Helm 图表,该图表可以深入了解集群中正在发生的事情。Kubescape 包括错误配置和漏洞扫描,以及风险分析和安全合规指标。所有结果都显示在上下文中,用户会根据扫描结果获得许多有关操作的提示。它面向 DevSecOps 从业者或平台工程师,提供易于使用的 CLI 界面、灵活的输出格式和自动扫描功能。
* [lucavallin/barco](https://github.com/lucavallin/barco) barco 是旨在根据互联网上的其他指南更多地了解 Linux 容器和 Linux 内核。Linux 容器由一组 Linux 内核功能组成:命名空间,用于将内核对象分组到不同的集合中,这些集合可以由特定的进程树访问,命名空间有多种类型,例如,PID命名空间用于隔离进程树,而网络命名空间用于隔离网络堆栈。seccomp,用于限制进程可以进行的系统调用(通过 syscalls 处理)。功能:用于对 uid 0 (root) 可以执行的操作设置限制(通过 syscalls 处理)。cgroups:用于限制进程可以使用的资源(例如内存、磁盘 I/O、CPU-tme)(通过 cgroupfs 处理)。
* [kubernetes/client-go](https://github.com/kubernetes/client-go) client-go是一个用于与 Kubernetes 集群交互的 Go 语言客户端库,它提供了访问 Kubernetes API 的客户端集、用于发现 API 的 discovery 包、动态客户端以及用于从外部来源获取凭据的可选身份验证插件等功能。该库的版本与 Kubernetes 版本保持一致,并提供向后兼容性,允许较旧的 client-go 版本与多个 Kubernetes 集群版本兼容。用户可以使用 `go get k8s.io/client-go@latest` 命令安装最新版本的 client-go 库,并使用 `v0.x.y` 标签与 Kubernetes 版本 u003e= `v1.17.0` 兼容,使用 `kubernetes-1.x.y` 标签与Kubernetes 版本 u003c `v1.17.0` 兼容。
* [kubernetes/kube-state-metrics](https://github.com/kubernetes/kube-state-metrics) kube-state-metrics (KSM) 是一个简单的服务,监听 Kubernetes API 服务器并生成有关对象状态的指标,例如部署、节点和 Pod 的健康状况。它直接从 Kubernetes API 对象生成指标,不进行修改,确保指标与 Kubernetes API 对象具有相同的稳定性。指标在监听端口(默认 8080)的 `/metrics` HTTP 端点上以纯文本形式导出,可供 Prometheus 或兼容的抓取器使用。KSM 提供了关于 Kubernetes 集群状态的指标,当 Kubernetes 对象被删除时,它们将不再在 `/metrics` 端点上可见。KSM 可以通过构建 Docker 容器或使用 Kubernetes 部署进行设置。
* [mviereck/x11docker](https://github.com/mviereck/x11docker) x11docker是一款工具,允许在 Docker 或 podman 容器中运行图形桌面应用程序(甚至整个桌面环境)。它通过运行一个 X 显示服务器来实现,并将其提供给容器,从而弥合了容器技术与图形界面的差距。x11docker 关注安全性,并提供多种选项来配置容器环境,例如桌面模式、无缝模式、网络访问、共享文件夹、GPU 加速、剪贴板、声音、摄像头、打印机、语言环境、Wayland、初始化系统、DBus 等。此外,x11docker 还支持多种容器运行时环境,如 Docker、podman 和 nerdctl。
* [dagster-io/dagster](https://github.com/dagster-io/dagster) Dagster 是适用于整个开发生命周期的云原生数据管道编排器,具有集成的世系和可观测性、声明式编程模型和一流的可测试性。它旨在开发和维护数据资产,例如表、数据集、机器学习模型和报告。使用 Dagster,您可以将要构建的数据资产声明为 Python 函数。然后,Dagster 可帮助您在正确的时间运行函数,并使您的资产保持最新状态。Dagster 专为在数据开发生命周期的每个阶段使用而构建 - 本地开发、单元测试、集成测试、暂存环境,一直到生产环境。
* [apache/openwhisk](https://github.com/apache/openwhisk) 用于构建云应用程序的无服务器函数平台。OpenWhisk 提供了一个丰富的编程模型,用于从函数创建无服务器 API、将函数组合到无服务器工作流中,以及使用规则和触发器将事件连接到函数。OpenWhisk 也可以安装在 Kubernetes 集群上。您可以使用从公有云提供商(例如 AKS、EKS、IKS、GKE)预配的托管 Kubernetes 集群,也可以使用您自己管理的集群。此外,对于本地开发,OpenWhisk 与 Minikube 和 Kubernetes for Mac 兼容,使用 Docker 18.06(或更高版本)中内置的支持。
* [qemu/qemu](https://github.com/qemu/qemu) QEMU是一个通用的开源机器和用户空间模拟器和虚拟器。QEMU 能够在软件中模拟完整的机器,而无需硬件虚拟化支持。通过使用动态平移,它实现了非常好的性能。QEMU 还可以与 Xen 和 KVM 虚拟机管理程序集成,以提供模拟硬件,同时允许虚拟机管理程序管理 CPU。借助虚拟机管理程序支持,QEMU 可以实现接近本机的 CPU 性能。当QEMU直接模拟CPU时,它能够在另一台机器(例如x86_64 PC板)上运行为一台机器(例如ARMv7板)制作的操作系统。
* [kata-containers/kata-containers](https://github.com/kata-containers/kata-containers) Kata Containers是一个开源项目,致力于构建轻量级虚拟机(VM)的标准实现,这些 VM 的感觉和性能像容器一样,但提供了 VM 的工作负载隔离和安全性优势。它支持多种架构,包括 x86_64、amd64、aarch64、ppc64le 和s390x,并使用 Intel VT-x、AMD SVM、ARM Hyp、IBM Power 和 IBM Z & LinuxONE SIE 等虚拟化技术。可以通过运行 `kata-runtime check` 命令来检查您的主机系统是否能够运行和创建 Kata 容器。有关安装、开发和设计等更多信息,请访问官方文档。
* [distribution/distribution](https://github.com/distribution/distribution) 用于打包、运输、存储和交付内容的工具集。该存储库的主要产品是开源注册表实施,用于使用 OCI 分发规范存储和分发容器映像和其他内容。此项目的目标是为构建大规模注册表解决方案或运行简单的专用注册表提供简单、安全且可扩展的基础。它是许多注册管理运行机构的核心库,包括 Docker Hub、GitHub Container Registry、GitLab Container Registry 和 DigitalOcean Container Registry,以及 CNCF Harbor Project 和 VMware Harbor Registry。
* [jonmosco/kube-ps1](https://github.com/jonmosco/kube-ps1) kube-ps1是一个 Bash 和 Zsh 脚本,它可以将当前 Kubernetes 上下文和命名空间添加到您的提示字符串中,方便您快速了解当前的 Kubernetes 环境。它支持多种安装方式,包括 Homebrew、AUR、Oh My Zsh、zinit 和 Fig。您也可以从源代码安装。kube-ps1默认情况下会显示当前上下文和命名空间,如果未设置,则会显示 "N/A:N/A"。您可以使用 `kubeon`和 `kubeoff` 命令来启用或禁用 kube-ps1。它还提供了一个 tmux 版本,名为 kube-tmux。
* [linkerd/linkerd2](https://github.com/linkerd/linkerd2) Linkerd是一个为 Kubernetes 设计的轻量级、以安全为首的服务网格,它无需代码更改即可为您的 Kubernetes 堆栈添加关键的安全、可观察性和可靠性功能。Linkerd 是一个云原生计算基金会(CNCF)项目。该项目的主要仓库是 linkerd2,包含控制平面和 CLI。Linkerd 2.x 的数据平面代理位于 linkerd2-proxy 仓库。您可以通过 Linkerd 入门指南在任何现代 Kubernetes 集群上快速运行 Linkerd。有关更全面的文档,请参阅 Linkerd 文档。
* [envoyproxy/envoy](https://github.com/envoyproxy/envoy) Envoy是一个由云原生计算基金会(CNCF)托管的、高性能的云原生边缘/中间/服务代理,它可以用于各种网络场景,包括微服务、API 网关和负载均衡。Envoy 提供了丰富的功能,例如动态配置、流量管理、安全性和可观察性。Envoy 的核心是基于一个强大的数据平面 API,它允许开发者轻松地扩展和定制 Envoy 的功能。Envoy 的设计目标是高性能、可扩展性和可靠性,使其成为现代云原生应用的理想选择。
* [devspace-sh/devspace](https://github.com/devspace-sh/devspace) DevSpace是一个用于 Kubernetes 的快速开发工具,它可以帮助你自动化部署工作流程,并在 Kubernetes 内部直接开发软件。DevSpace 允许你将所有工作流程存储在一个声明式配置文件 `devspace.yaml` 中,从而实现工作流程的标准化和版本控制。DevSpace 还支持热重载功能,可以更新运行中的容器,而无需重建镜像或重启容器。DevSpace 由 Loft Labs 创建,是一个 Cloud Native Computing Foundation (CNCF) 沙箱项目。
* [1Panel-dev/KubePi](https://github.com/1Panel-dev/KubePi) KubePi是 1Panel 官方出品的现代化、开源 K8s 面板,旨在简化 Kubernetes 集群管理,提供直观的用户界面,帮助用户轻松管理多个 Kubernetes 集群,并提供丰富的功能,如资源监控、日志查看、应用部署等,同时支持与其他开源项目如 1Panel、JumpServer、DataEase 等集成,方便用户构建完整的云原生平台。用户可以通过 Docker 容器快速部署 KubePi,并使用默认的管理员账号和密码登录进行体验。
* [akuity/awesome-argo](https://github.com/akuity/awesome-argo) Argo 由一组用于在 Kubernetes 上部署和运行应用程序和工作负载的开源工具组成,包括:Argo 工作流:支持 DAG 和基于步骤的工作流的 Kubernetes 原生工作流引擎。Argo CD:具有完整加载 UI 的声明式持续交付。Argo Rollouts:Canary 和 Blue-Green 等高级 Kubernetes 部署策略变得简单。Argo Events:Kubernetes 基于事件的依赖项管理。项目包括:生态系统项目、书、博客文章、视频认证、社区等。
* [docker/docker-py](https://github.com/docker/docker-py) DockerSDK for Python 是一个用于 Docker Engine API 的 Python 库,它允许你从 Python 应用程序中执行 `docker` 命令的所有操作,包括运行容器、管理容器、管理 Swarm 等。你可以使用 pip 安装最新稳定版本,并通过 `docker.from_env()` 连接到 Docker。该库提供了丰富的功能,例如运行容器、管理容器、管理镜像,并支持流式日志输出。你可以在官方文档中找到更详细的使用说明和示例。
* [kubernetes-sigs/kind](https://github.com/kubernetes-sigs/kind) kind是一个使用 Docker 容器节点运行本地 Kubernetes 集群的工具,主要用于测试 Kubernetes本身,但也适用于本地开发或 CI。它使用 kubeadm 引导每个节点,并提供命令行界面、Go 包和 Docker 镜像。您可以使用 `go install sigs.k8s.io/[email protected] && kind create cluster` 创建集群,使用 `kind delete cluster` 删除集群。kind 还在开发中,但已经提供了稳定版本,您可以从 releases 页面下载。
* [amethyst/specs](https://github.com/amethyst/specs) Specs 是一个用 Rust 编写的实体组件系统。与大多数其他 ECS 库不同,它提供轻松并行:高灵活性、包含 5 种不同的组件存储,用户可以对其进行扩展;它的类型大多不是耦合的,所以你可以很容易地自己编写一些部分,并且仍然使用规范;System 可以读取和写入组件和资源,可以相互依赖,并且可以使用屏障来强制系统执行的几个阶段;适用于实际应用的高性能。
* [DaoCloud/public-image-mirror](https://github.com/DaoCloud/public-image-mirror) DaoCloud公共镜像仓库是一个镜像加速服务,旨在解决国内用户访问国外镜像仓库(如 gcr)速度慢的问题。该项目通过镜像同步技术,将国外镜像仓库中的镜像同步到国内,用户可以快速便捷地访问镜像。该项目提供白名单、限流、缓存等功能,保证镜像服务的稳定可靠和安全。用户可以使用 `docker run -d -P m.daocloud.io/docker.io/library/nginx` 命令快速启动镜像。
* [DocsHome/microservices](https://github.com/DocsHome/microservices) 《微服务:从设计到部署》中文版是 Chris Richardson 和 Floyd Smith 合著的英文版书籍《Designing and Deploying Microservices》的中文翻译,全面介绍了微服务:微服务的优缺点、API 网关、进程间通信 (IPC)、服务发现、事件驱动架构、微服务部署策略、容错和弹性等内容。该项目提供了一个完整的微服务架构指南,帮助读者从设计到部署构建和管理微服务系统。
* [kubernetes/kops](https://github.com/kubernetes/kops) kOps是一个用于创建、销毁、升级和维护生产级高可用 Kubernetes 集群的工具,支持 AWS、GCP、DigitalOcean、Hetzner、OpenStack 和 Azure 等云平台。它类似于 Kubernetes 的 `kubectl` 命令行工具,但作用于集群级别,可以帮助用户轻松地创建和管理 Kubernetes 集群。kOps 提供了丰富的文档和社区支持,并定期举办公开的办公室时间,方便用户与开发者交流。
* [didi/KnowStreaming](https://github.com/didi/KnowStreaming) Know Streaming是一个一站式云原生实时流数据平台,它基于滴滴多年 Kafka 运维经验,提供 0 侵入、插件化的企业级 Kafka 服务,大幅降低实时流数据操作、存储和管理门槛。Know Streaming 旨在简化用户在数据采集、数据处理、数据分析等方面的操作,并提供丰富的功能,如数据治理、数据安全、数据监控等,帮助用户轻松构建实时数据应用。
* [cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) cert-manager 将证书和证书颁发者添加为 Kubernetes 集群中的资源类型,并简化了获取、续订和使用这些证书的过程。它支持从各种来源颁发证书,包括 Let‘s Encrypt (ACME)、HashiCorp Vault 和 Venafi TPP/TLS Protect Cloud,以及本地集群内颁发。cert-manager 还确保证书保持有效和最新,尝试在到期前的适当时间续订证书,以降低中断风险并消除工作。
* [Azure/azure-sdk-for-python](https://github.com/Azure/azure-sdk-for-python) AzureSDK for Python项目提供用于访问Azure服务的Python客户端库,支持Python3.8及以上版本。该SDK包含多个服务库,每个库都提供独立的、易于使用的API,用于与特定Azure服务交互,例如上传Blob。新发布的客户端库遵循统一的指导原则,并共享核心功能,例如重试、日志记录和身份验证。开发者可通过官方文档获取更多信息和使用指导。
* [firecracker-microvm/firecracker](https://github.com/firecracker-microvm/firecracker) 实现容器和函数工作负载的安全、多租户、最小开销的执行。一种开源虚拟化技术,专为创建和管理安全的多租户容器和基于函数的服务而构建,这些服务提供无服务器操作模型。Firecracker 在称为 microVM 的轻量级虚拟机中运行工作负载,这些虚拟机将硬件虚拟化技术提供的安全性和隔离属性与容器的速度和灵活性相结合。
* [madhuakula/kubernetes-goat](https://github.com/madhuakula/kubernetes-goat) Kubernetes Goat是一个故意设计为存在漏洞的 Kubernetes 集群环境,用于学习和练习Kubernetes 安全,它提供了一个交互式动手操作平台。你可以通过运行 `setup-kubernetes-goat.sh` 脚本在你的 Kubernetes 集群中设置 Kubernetes Goat 资源,并通过 `access-kubernetes-goat.sh` 脚本访问它。访问 `http://127.0.0.1:1234` 即可开始你的 Kubernetes 安全学习之旅。
* [goodrain/rainbond](https://github.com/goodrain/rainbond) Rainbond是一个完全开源的云原生应用管理平台,无需了解Kubernetes即可轻松管理容器化应用,支持一键安装和升级应用,并提供全生命周期管理。它具备自动识别多种编程语言、无需编写Dockerfile和Yaml文件、模块化组装以及全面的可观测性等特性,让普通开发者也能轻松操作和部署云原生应用,如同安装手机应用一样便捷。
* [weaveworks/scope](https://github.com/weaveworks/scope) Weave Scope是一个已停止维护的Docker和Kubernetes监控可视化管理工具,它能实时生成应用程序拓扑图,帮助用户直观地理解、监控和管理容器化微服务应用。用户可以查看容器的指标、标签和元数据,并直接与容器交互(暂停、重启、停止等),还能通过插件扩展功能。该项目已不再维护,更多详情请访问相关链接。
* [googleapis/google-cloud-python](https://github.com/googleapis/google-cloud-python) 这是一个Python库,提供对Google Cloud Platform服务的访问。它包含不同稳定级别的客户端库,包括GA(稳定版)、Beta版和Alpha版,分别对应不同的稳定性和更新频率。该库提供多种Google Cloud服务的客户端,例如AI Platform和API Gateway等,并提供详细的版本和问题跟踪信息。 用户可根据自身需求选择合适的客户端库版本。
* [AliyunContainerService/pouch](https://github.com/AliyunContainerService/pouch) PouchContainer是阿里巴巴开源的企业级容器引擎,旨在推动容器技术发展,并支持 OCI 标准。它提供丰富的容器功能,包括安全隔离、P2P 分发、内核兼容性以及 Kubernetes 兼容性。PouchContainer 能够打包、交付和运行任何应用程序,并提供轻量级运行环境,最小化操作工作量,简化云原生应用开发和传统应用迁移。
* [AleoNet/snarkOS](https://github.com/AleoNet/snarkOS) snarkOS是一个用于零知识应用的去中心化操作系统,它是 Aleo 网络的核心,负责验证交易并以公开可验证的方式存储加密的应用程序状态。该项目提供构建指南,包括运行 Aleo 节点(验证器、客户端、证明者)所需的硬件和软件要求。用户可以根据自身需求选择运行不同类型的节点,并参与 Aleo 网络的运行。
* [goauthentik/authentik](https://github.com/goauthentik/authentik) authentik是一个开源的身份提供者,强调灵活性和多功能性,支持多种协议。它可以作为 Okta/Auth0、Entra ID、Ping Identity 或其他传统 IdP 的自托管替代方案,用于员工和 B2B2C 使用。可以通过 Docker Compose 或 Helm Chart 进行安装,并提供详细的文档和截图。开发者可以参考开发者文档,并通过 GitHub Issue/PR 贡献代码。
* [aws/aws-sdk-pandas](https://github.com/aws/aws-sdk-pandas) awswrangler是AWS官方提供的开源Python库,它简化了pandas与多种AWS服务的集成,例如Athena、Glue、Redshift、S3等。 它允许用户方便地读取和写入各种数据格式(Parquet、CSV、JSON、EXCEL)到这些服务,并支持多种数据库(PostgreSQL、MySQL、SQLServer等)。 通过awswrangler,开发者可以高效地处理和分析存储在AWS上的数据。
* [jessfraz/dockerfiles](https://github.com/jessfraz/dockerfiles) 这是一个包含各种 Dockerfile 的仓库,作者 Jessfraz 在桌面和服务器上使用这些 Dockerfile 来创建镜像。这些 Dockerfile 大部分都托管在 Docker Hub 上,并提供公共下载。仓库还提供了一个 Makefile,方便用户构建、测试和运行 Dockerfile。用户也可以参考作者的 dotfiles 仓库,其中包含了所有Dockerfile 的别名。
* [ben1234560/k8s_PaaS](https://github.com/ben1234560/k8s_PaaS) 本项目提供基于 Kubernetes 的 PaaS/DevOps 平台搭建教程,包含大量实战代码、架构设计和操作配图,帮助你学习部署 Kubernetes、Dashboard、Harbor、Jenkins、本地 Gitlab、Apollo 框架、Prometheus、Grafana、Spinnaker 等工具。项目涵盖了 WHAT、WHY 和 HOW,并提供完整的架构图,旨在帮助你快速构建自己的 PaaS 平台。
* [isno/theByteBook](https://github.com/isno/theByteBook) 这是一个关于云原生技术的开源书籍,涵盖了内核网络、Kubernetes、ServiceMesh、容器等技术,并包含经过实践检验的DevOps和SRE指南。该项目旨在深入讲解云原生技术原理,并提供实际案例和经验分享,帮助读者更好地理解和应用相关技术。项目作者鼓励读者积极参与,提出问题或贡献代码。
* [cryinkfly/Autodesk-Fusion-360-for-Linux](https://github.com/cryinkfly/Autodesk-Fusion-360-for-Linux) 这是一个项目,旨在帮助您在 Linux 上使用 Autodesk Fusion 360!该项目利用 Wine 作为兼容层,使您能够在 Linux 系统上运行 Windows应用,从而实现 Fusion 360 在 Linux 上的运行。Wine 并非模拟 Windows 内部逻辑的虚拟机或模拟器,而是通过将 WindowsAPI 调用转换为与 Linux 相对应的调用来实现兼容性。
* [quay/clair](https://github.com/quay/clair) Clair是一个开源项目,用于静态分析应用程序容器(包括OCI和Docker)中的漏洞。它通过API索引容器镜像,并将镜像与已知漏洞进行匹配,从而提供容器基础设施安全性的透明视图,帮助用户更清晰地了解容器镜像的安全性。项目文档详见官方网站,使用请参考稳定版本发布。
* [Azure/azure-quickstart-templates](https://github.com/Azure/azure-quickstart-templates) Azure Quickstart Templates是一个包含 Azure 资源管理器模板的仓库,这些模板由社区贡献,提供可搜索的模板索引,并提供贡献指南,方便用户使用或贡献模板。仓库已完成迁移,所有模板都位于子文件夹中,并移除了一些过时的模板。该项目遵循 Microsoft 开源代码行为准则。
* [kubernetes-sigs/kustomize](https://github.com/kubernetes-sigs/kustomize) kustomize 允许您自定义原始的、无模板的 YAML 文件以用于多种用途,使原始 YAML 保持不变并按原样使用。kustomize 以 Kubernetes 为目标;它理解并可以修补 kubernetes 样式的 API 对象。这就像 make ,因为它所做的是在文件中声明的,就像 sed 一样,因为它发出编辑过的文本。
* [firebase/functions-samples](https://github.com/firebase/functions-samples) 示例应用集合,展示了使用 Cloud Functions for Firebase 的热门用例。Cloud Functions 是一个托管、私有且可扩展的 Node.js 环境,可在其中运行 JS 或 Py 代码。Cloud Functions for Firebase 集成了 Firebase 平台,让您能够编写代码来响应事件并调用其他 Firebase 功能公开的功能。
* [kubernetes-client/python](https://github.com/kubernetes-client/python) 这是一个Kubernetes官方的Python客户端库,提供与Kubernetes API交互的功能。通过`pip install kubernetes`即可安装,并包含丰富的示例代码方便使用,例如列出所有Pod或监控命名空间对象。该库遵循语义化版本控制,并提供与不同Kubernetes版本兼容的客户端版本矩阵。
* [Netflix/chaosmonkey](https://github.com/Netflix/chaosmonkey) NetflixChaos Monkey是一款提高应用容错能力的工具,它通过随机终止生产环境中的虚拟机实例和容器来模拟故障,从而激励工程师构建更强大的服务,该工具与Spinnaker持续交付平台集成,支持AWS、GCE、Azure、Kubernetes等多种后端,需参考文档进行部署和配置。
* [google/gvisor](https://github.com/google/gvisor) 用 Go 编写的应用程序内核,它实现了 Linux 系统表面的很大一部分。它包括一个名为 Open Container Initiative (OCI) 的运行时 `runsc` ,该运行时在应用程序和主机内核之间提供隔离边界。 `runsc` 运行时与 Docker 和 Kubernetes 集成,使运行沙盒容器变得简单。
* [aws/aws-cdk](https://github.com/aws/aws-cdk) 用于在代码中定义云基础设施的框架。提供了高级的面向对象的抽象,以使用现代编程语言的强大功能来强制定义 AWS 资源。使用 CDK 的基础设施构造库,可以将 AWS 最佳实践封装到基础设施定义中并共享,而无需担心样板逻辑。
* [glasskube/glasskube](https://github.com/glasskube/glasskube) Glasskube 是 Kubernetes 的开源包管理器。它使在 Kubernetes 上部署、更新和配置软件包的速度比 Helm 或 Kustomize 等工具快 20 倍。受到 Homebrew 和 npm 的简单性启发。您可以决定是使用 Glasskube UI、CLI 还是直接通过 GitOps 部署软件包。
* [gitpod-io/gitpod](https://github.com/gitpod-io/gitpod) 开源 Kubernetes 应用程序,适用于可直接编写代码的云开发环境,可在几秒钟内在云中为每个任务启动全新的自动化开发环境。它使您能够将开发环境描述为代码,并直接从浏览器或桌面 IDE 启动即时、远程和云开发环境。
* [istio/istio](https://github.com/istio/istio) 开源服务网格,透明地分层到现有的分布式应用程序上。Istio 的强大功能提供了一种统一且更高效的方式来保护、连接和监控服务。Istio 是负载均衡、服务到服务身份验证和监控的途径,只需很少或无需更改服务代码。
* [dotnet/orleans](https://github.com/dotnet/orleans) 跨平台框架,用于构建可靠、可扩展的分布式应用程序。以 .NET 的开发人员生产力为基础,并将其引入分布式应用程序(如云服务)的世界。Orleans 从单个本地服务器扩展到云中全球分布的高可用性应用程序。
* [GoogleCloudPlatform/terraformer](https://github.com/GoogleCloudPlatform/terraformer) CLI 工具从现有基础设施生成 terraform 文件(反向 Terraform)。基础设施到代码。一个 CLI 工具,用于根据现有基础设施生成 tf/json 和 tfstate 文件(反向 Terraform)。免责声明:这不是 Google 官方产品。
* [apache/libcloud](https://github.com/apache/libcloud) ApacheLibcloud是一个Python库,它隐藏了不同云提供商API之间的差异,允许您通过统一且易于使用的API管理不同的云资源,支持多种云计算资源管理,例如计算、存储等,项目采用Apache 2.0许可证。
* [lensapp/lens](https://github.com/lensapp/lens) 世界运行 Kubernetes 的方式,核心是一个库,由 Electron 和 React 提供支持。与通用的 Electron + React 框架/样板不同,它非常固执己见地创建类似 Lens Desktop 的应用程序,并支持 Lens Extensions。
* [hadolint/hadolint](https://github.com/hadolint/hadolint) 更智能的 Dockerfile linter,可帮助您构建最佳实践 Docker 映像。linter 将 Dockerfile 解析为 AST,并在 AST 之上执行规则。它站在 ShellCheck 的肩膀上,在指令中 `RUN` 对 Bash 代码进行 lint 检查。
* [docker/compose](https://github.com/docker/compose) 使用 Docker 定义和运行多容器应用程序。撰写文件用于定义如何配置组成应用程序的一个或多个容器。拥有撰写文件后,可以使用单个命令创建和启动应用程序: docker compose up 。
* [opentofu/opentofu](https://github.com/opentofu/opentofu) 允许您以声明方式管理您的云基础架构。一个 OSS 工具,用于安全高效地构建、更改和版本控制基础设施。OpenTofu可以管理现有和流行的服务提供商以及定制的内部解决方案。
* [google/go-cloud](https://github.com/google/go-cloud) Go 云开发工具包 (Go CDK) 允许 Go 应用程序开发人员在云提供商的任意组合上无缝部署云应用程序。它通过为存储和数据库等常见用途提供稳定、惯用的接口来实现这一点。
* [microsoft/openvmm](https://github.com/microsoft/openvmm) OpenVMM 是一个模块化的、跨平台的虚拟机监视器 (VMM),用 Rust 编写。尽管它可以像传统的 VMM 一样工作,但 OpenVMM 的开发目前主要集中在它在 OpenHCL paravisor 中的作用上。
* [rancher/rancher](https://github.com/rancher/rancher) 完整的容器管理平台。开源容器管理平台,专为在生产中部署容器的组织而构建。Rancher 使在任何地方运行 Kubernetes 变得容易,满足 IT 要求,并为 DevOps 团队提供支持。
* [containers/youki](https://github.com/containers/youki) 用 Rust 编写的容器运行时,youki 是 Rust 中 OCI 运行时规范的实现,类似于 runc。Youki 有可能比 runc 更快、使用更少的内存,因此可以在内存使用要求严格的环境中工作。
* [bottlerocket-os/bottlerocket](https://github.com/bottlerocket-os/bottlerocket) 专为托管容器而设计的操作系统,基于 Linux 的免费开源操作系统,用于托管容器。专注于安全性和可维护性,为基于容器的工作负载提供可靠、一致和安全的平台。
* [hashicorp/nomad](https://github.com/hashicorp/nomad) 易于使用、灵活且高性能的工作负载编排器,可以部署微服务、批处理、容器化和非容器化应用程序的组合。Nomad 易于操作和扩展,并具有原生 Consul 和 Vault 集成
* [kubeshark/kubeshark](https://github.com/kubeshark/kubeshark) Kubernetes 的 API 流量分析器提供实时 K8s 协议级可见性,捕获和监控进出容器、Pod、节点和集群的所有流量和有效负载。受 Wireshark 的启发,专为 Kubernetes 构建
* [kubernetes/minikube](https://github.com/kubernetes/minikube) 在 macOS、Linux 和 Windows 上实现了本地 Kubernetes 集群。minikube 的主要目标是成为本地 Kubernetes 应用程序开发的最佳工具,并支持所有适合的 Kubernetes 功能。
* [eip-work/kuboard-press](https://github.com/eip-work/kuboard-press) 基于 Kubernetes 的微服务管理界面。同时提供 Kubernetes 免费中文教程,入门教程,最新版本的 Kubernetes v1.23.4 安装手册,(k8s install) 在线答疑,持续更新。
* [go-kit/kit](https://github.com/go-kit/kit) 编程工具包,用于在 Go 中构建微服务(或优雅的单体)。我们解决分布式系统和应用程序架构中的常见问题,因此您可以专注于交付业务价值。
* [infracost/infracost](https://github.com/infracost/infracost) 显示 Terraform 的云成本估算。它允许工程师在进行更改之前查看成本明细并了解成本,无论是在终端、VS Code 还是拉取请求中。
* [argoproj/argo-workflows](https://github.com/argoproj/argo-workflows) 开源容器原生工作流引擎,用于在 Kubernetes 上编排并行作业。Argo Workflows是作为Kubernetes CRD(自定义资源定义)实现的。
* [linuxkit/linuxkit](https://github.com/linuxkit/linuxkit) 用于为容器构建安全、可移植和精益操作系统的工具包。一个用于构建自定义最小、不可变的 Linux 发行版的工具包。
* [earthly/earthly](https://github.com/earthly/earthly) 超级简单的构建框架,具有快速、可重复的构建和即时熟悉的语法——就像 Dockerfile 和 Makefile 生了一个孩子一样。
* [moby/moby](https://github.com/moby/moby) 容器生态系统的一个协作项目,用于组装基于容器的系统, Docker 创建的开源项目,用于启用和加速软件容器化。
* [harness/drone](https://github.com/harness/drone) 基于集装箱技术的持续交付系统。Drone 使用一个简单的 YAML 构建文件来定义和执行 Docker 容器内的构建管道。
* [hashicorp/consul](https://github.com/hashicorp/consul) 分布式、高度可用且具有数据中心感知能力的解决方案,用于跨动态分布式基础架构连接和配置应用程序。
* [alibaba/Sentinel](https://github.com/alibaba/Sentinel) 强大的流量控制组件,支持微服务的可靠性、弹性和监控。(面向云原生微服务的高可用流控防护组件)
* [sickcodes/Docker-OSX](https://github.com/sickcodes/Docker-OSX) 在 Docker 中运行 macOS VM!在 Docker 中运行在本机 OSX-KVM 附近!X11 转发!用于 OS X 安全研究的 CI/CD
* [docker/awesome-compose](https://github.com/docker/awesome-compose) 这些示例提供了如何使用 Compose 文件集成不同服务以及使用 Docker Compose 管理其部署的起点。
* [kubesphere/kubesphere](https://github.com/kubesphere/kubesphere) 专为 Kubernetes 多云、数据中心和边缘管理⎈ desktop_computer cloud 量身定制的容器平台
* [alibaba/nacos](https://github.com/alibaba/nacos) 一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生应用程序。
* [spacedriveapp/spacedrive](https://github.com/spacedriveapp/spacedrive) 开源的跨平台文件浏览器,由用 Rust 编写的虚拟分布式文件系统提供支持。
* [dapr/dapr](https://github.com/dapr/dapr) 可移植的、事件驱动的运行时,用于跨云和边缘构建分布式应用程序。
* [kholia/OSX-KVM](https://github.com/kholia/OSX-KVM) 在 QEMU/KVM 上运行 macOS。现在有了OpenCore + Big Sur + Monterey + Ventura的支持
* [docker/labs](https://github.com/docker/labs) 这是学习如何将 Docker 与各种工具结合使用的教程集合。欢迎贡献。
* [labring/sealos](https://github.com/labring/sealos) 生产就绪的 K8s 发行版,为公有云和私有云提供一站式解决方案。
* [kelseyhightower/kubernetes-the-hard-way](https://github.com/kelseyhightower/kubernetes-the-hard-way) 在 Google Cloud Platform 上艰难地引导 Kubernetes。没有脚本。
* [louislam/dockge](https://github.com/louislam/dockge) 花哨易用且灵敏的自托管 docker compose面向堆栈的管理器
* [docker-slim/docker-slim](https://github.com/docker-slim/docker-slim) 请勿更改Docker容器映像中的任何内容并将其最小化30倍
* [helm/helm](https://github.com/helm/helm) 用于管理Kubernetes的工具。预配置的 Kubernetes 资源包。
* [apolloconfig/apollo](https://github.com/apolloconfig/apollo) 可靠的配置管理系统,适用于微服务配置管理场景。
* [foxlet/macOS-Simple-KVM](https://github.com/foxlet/macOS-Simple-KVM) 用于在 QEMU 中设置快速 macOS VM 的工具,由 KVM 加速。
* [rancher/k3s](https://github.com/rancher/k3s) Lightweight Kubernetes. 5 less than k8s. [k3s.io](https://k3s.io)
* [yeasy/docker_practice](https://github.com/yeasy/docker_practice) 真正的DevOps实践,学习和理解Docker&Container技术
* [abiosoft/colima](https://github.com/abiosoft/colima) macOS(和 Linux)上的容器运行时,只需最少的设置
* [fission/fission](https://github.com/fission/fission) 适用于 Kubernetes 的快速简单的无服务器函数
* [containrrr/watchtower](https://github.com/containrrr/watchtower) 自动执行 Docker 容器基础映像更新的过程。
* [derailed/k9s](https://github.com/derailed/k9s) Kubernetes CLI 以时尚的方式管理您的集群
* [fnproject/fn](https://github.com/fnproject/fn) 容器原生、与云无关的无服务器平台。
* [portainer/portainer](https://github.com/portainer/portainer) 让 Docker 和 Kubernetes 管理变得简单。
* [wagoodman/dive](https://github.com/wagoodman/dive) 用于浏览 docker 映像中每个层的工具
* [ima-vm/lima](https://github.com/lima-vm/lima) 在 macOS 上运行Linux 虚拟机容器
* [kubernetes-sigs/kubespray](https://github.com/kubernetes-sigs/kubespray) 部署生产就绪的 Kubernetes 集群
* [veggiemonk/awesome-docker](https://github.com/veggiemonk/awesome-docker) Docker 资源和项目的精选列表
* [utmapp/UTM](https://github.com/utmapp/UTM) 适用于 iOS 和 macOS 的虚拟机
* [ramitsurana/awesome-kubernetes](https://github.com/ramitsurana/awesome-kubernetes) 精选的 Kubernetes 源代码列表
* [argoproj/argo-cd](https://github.com/argoproj/argo-cd) Kubernetes 的声明式持续部署
* [silenceshell/docker_mirror](https://github.com/silenceshell/docker_mirror) 发现国内加速的docker源。
* [AliyunContainerService/GPUshare-scheduler-extender](https://github.com/AliyunContainerService/GPUshare-scheduler-extender) GPU共享调度程序扩展器
* [bcicen/ctop](https://github.com/bcicen/ctop) 容器运行情况监控界面
* [jesseduffield/lazydocker](https://github.com/jesseduffield/lazydocker) docker 简单终端 UI
* [KubeOperator/KubeOperator](https://github.com/KubeOperator/KubeOperator) KubeOperator
* [guangzhengli/k8s-tutorials](https://github.com/guangzhengli/k8s-tutorials) k8s 教程
# 其他项目
## Android应用
* [organicmaps/organicmaps](https://github.com/organicmaps/organicmaps) Organic Maps 是一款免费的 Android 和 iOS 离线地图应用程序,适合旅行者、游客、徒步旅行者和骑自行车的人。它使用众包的 OpenStreetMap 数据,并由 MapsWithMe (MapsMe) 创始人和我们的社区精心开发。没有广告,没有跟踪,没有数据收集,没有垃圾软件。请捐款支持发展!特征: Organic Maps 是旅行者、游客、徒步旅行者和骑自行车者的终极伴侣应用程序; 借助OpenStreetMap ,提供详细的离线地图,其中包含其他地图上不存在的地点; 自行车路线、远足路线和步行路线; 等高线、高程剖面、山峰和坡度; 带语音指导的路线规划步行、骑行和汽车导航; 地图上快速离线搜索; 以 KML、KMZ 和 GPX 格式添加书签并跟踪导入和导出; 深色模式保护你的眼睛; 国家和地区不占太多空间;免费和开源。
* [Genymobile/gnirehtet](https://github.com/Genymobile/gnirehtet) Gnirehtet是一个用于 Android 的反向网络共享工具,允许设备使用连接到它们的电脑的网络连接。它不需要设备或电脑上的 root 权限,可以在 GNU/Linux、Windows 和 Mac OS 上运行。Gnirehtet 通过 adb 传输 TCP 和 UDP 协议的 IPv4 网络流量,目前不支持 IPv6。该项目不再积极维护,但仍能正常工作。Gnirehtet 提供 Java 和 Rust 两种实现,推荐使用 Rust 版本,因为它占用更少的 CPU 和内存,并且不需要 Java 运行环境。要使用 Gnirehtet,需要在 Android 设备上安装应用,并在电脑上安装 adb 工具,并确保已在设备上启用 adb 调试。您可以通过 Homebrew 或下载最新版本来获取 Gnirehtet 应用。
* [cnlohr/rawdrawandroid](https://github.com/cnlohr/rawdrawandroid) rawdrawandroid是一个允许开发者使用 C 语言和 Make 工具构建 Android 应用的框架,无需任何 Java 代码。它提供了一个轻量级、快速构建和部署的解决方案,APK 文件大小仅约 25kB (API 26)。该框架支持 OpenGL ES、加速计/陀螺仪输入、多点触控、Android 键盘、AAssetManager 读取资产文件、权限管理和直接访问 USB 设备等功能。开发者可以使用 C 语言编写代码,并在 Android、ESP8266、RaspberryPi、Windows 和 Linux 等多个平台上运行,实现代码复用。rawdrawandroid 旨在提供一个灵活、高效的开发环境,简化 Android 应用开发流程,并支持开发者进行更深入的定制和控制。
* [didi/booster](https://github.com/didi/booster) Booster是一个专为移动应用设计的易用、轻量级、强大且可扩展的质量优化工具包,旨在解决随着 APP 复杂度增加而出现的性能、稳定性和包大小等问题。Booster 提供了一系列模块,用于性能检测、多线程优化、资源索引内联、冗余资源减少、资源压缩、系统 Bug 修复等。使用 Booster,应用程序的稳定性可以提高 15% ~ 25%,包大小可以减少 1MB ~10MB。Booster 可以用于性能检测,例如发现可能阻塞 UI 线程或主线程的 API 调用(如 I/O API);也可以用于性能优化,例如解决第三方 SDK 启动过多线程导致的 OOM 问题。
* [CarGuo/GSYVideoPlayer](https://github.com/CarGuo/GSYVideoPlayer) GSYVideoPlayer是一个功能强大的视频播放器库,支持 IJKPlayer、ExoPlayer、MediaPlayer 等播放引擎,并提供丰富的功能,例如弹幕、外挂字幕、滤镜、水印、gif 截图、片头广告、中间广告、多个同时播放、边播边缓存、视频自带旋转、重力旋转与手动旋转同步、列表播放、列表全屏动画、视频加载速度优化、列表小窗口支持拖动、动画效果、调整比例、多分辨率切换、播放器切换、进度条小窗口预览、列表切换详情页面无缝播放等。此外,还支持 rtsp、concat、mpeg 等协议,并提供 HTTPS 支持。
* [coil-kt/coil](https://github.com/coil-kt/coil) 适用于 Android 和 Compose Multiplatform 的图像加载。由 Kotlin 协程支持的 Android 图像加载库。快速:Coil 执行许多优化,包括内存和磁盘缓存、对内存中的图像进行下采样、自动暂停/取消请求等。轻量级:Coil 将 ~2000 个方法添加到您的 APK(适用于已使用 OkHttp 和 Coroutines 的应用),这与 Picasso 相当,但明显少于 Glide 和 Fresco。易于使用:Coil 的 API 利用了 Kotlin 的语言功能,实现了简单和最小的样板。现代:Coil 是 Kotlin 优先的,使用现代库,包括 Coroutines、OkHttp、Okio 和 AndroidX 生命周期。
* [niedev/RTranslator](https://github.com/niedev/RTranslator) RTranslator是一款几乎完全开源的免费离线实时翻译 Android 应用,可用于双向实时翻译。它使用 Meta 的 NLLB 和 OpenAI 的Whisper 模型进行翻译和语音识别,保证隐私并支持离线使用。RTranslator 提供三种模式:对话模式、对讲机模式和文本翻译模式。对话模式支持多人连接,可通过蓝牙耳机进行翻译;对讲机模式适合简短对话,仅需一部手机即可完成双向翻译;文本翻译模式则提供传统的文本翻译功能。RTranslator 可以在后台运行,但部分手机可能限制后台功能,建议保持应用打开。
* [facebook/fresco](https://github.com/facebook/fresco) Fresco是一个强大的 Android 图片加载和显示库,它能自动处理图片加载和显示,支持从网络、本地存储或资源加载图片,并提供占位符直到图片加载完成。它拥有内存缓存和磁盘缓存,在 Android 4.x 及更低版本中,Fresco 将图片存储在 Android 内存的特殊区域,以提高应用程序速度并减少 `OutOfMemoryError` 错误。Fresco 还支持渐进式 JPEG 图片流、GIF 和 WebP动画图片显示,以及丰富的图片加载和显示自定义选项。更多信息请访问 [http://frescolib.org/index.html](http://frescolib.org/index.html)。
* [TeamAmaze/AmazeFileManager](https://github.com/TeamAmaze/AmazeFileManager) Amaze File Manager是一款基于Material Design的开源Android文件管理器,它轻便、流畅,提供基本的文件操作功能(如剪切、复制、删除、压缩、解压缩等),支持多标签、多种主题和图标,并包含应用管理器、历史记录、书签、搜索、根目录浏览器、AES加密解密(Jellybean v4.3+)、云服务支持(Jellybean v4.3+,需要额外插件)、内置数据库阅读器、Zip/Rar阅读器、Apk阅读器、文本阅读器等功能。它没有广告或应用内购买,并支持用户通过翻译、代码贡献等方式参与项目。
* [asLody/VirtualApp](https://github.com/asLody/VirtualApp) 运行于Android系统的沙盒产品,可以理解为轻量级的“Android虚拟机”。其产品形态为高可扩展,可定制的集成SDK,您可以基于VA或者使用VA定制开发各种看似不可能完成的项目。VA目前被广泛应用于APP多开、小游戏合集、手游加速器、手游租号、手游手柄免激活、VR程序移植、区块链、移动办公安全、军队政府数据隔离、手机模拟信息、脚本自动化、插件化开发、无感知热更新、云控等技术领域。Github上代码已在2017年12月份停止更新,商业版代码在持续更新中
* [ElderDrivers/EdXposed](https://github.com/ElderDrivers/EdXposed) EdXposed Framework是一个基于 Riru 模块的 ART 钩子框架,旨在为 AndroidPie 及更高版本提供与 OG Xposed 兼容的 API,并利用 YAHFA或 SandHook 钩子框架,支持 Android 8.0 到 11 版本。它允许用户在不修改 APK 的情况下改变系统和应用程序的行为,并支持多个模块同时修改同一部分系统或应用程序。EdXposed 提供稳定版、Alpha 版和 Canary 版,用户可根据需求选择下载。开发者可以使用 EdXposed 框架编写 Xposed 模块,并将其上传到 Xposed 模块仓库,供其他用户下载使用。
* [modstart-lib/linkandroid](https://github.com/modstart-lib/linkandroid) LinkAndroid 是一个全能手机连接助手,可以轻松连接 Android 手机和电脑。连接手机后,您可以进行屏幕镜像、GIF/MP4 屏幕录制、截图、文件管理和手机操作等功能。该项目基于 Electron、Vue3 和 TypeScript 开发,支持多台手机连接、屏幕镜像、截图、GIF/MP4 屏幕录制、应用管理、文件管理、Shell 命令等功能,并支持英文和简体中文。您可以从 [https://linkandroid.com](https://linkandroid.com) 下载 Windows、MacOS 和 Linux 安装包。该项目使用 GPL-3.0 许可证。
* [rednaga/APKiD](https://github.com/rednaga/APKiD) APKiD是一个用于识别 Android 应用打包、保护、混淆和奇特特征的工具,类似于 Android 版的 PEiD。它可以识别多种编译器、打包器、混淆器和其他特殊工具。APKiD 可以帮助开发者识别应用的构建方式,并分析应用的安全性和完整性。用户可以通过pip 安装 APKiD,也可以使用 Docker 运行。APKiD 支持多种参数选项,例如递归扫描、JSON 格式输出等。用户可以提交新的打包器、编译器或混淆器信息,帮助 APKiD 识别更多类型的应用。
* [bmax121/APatch](https://github.com/bmax121/APatch) APatch是一个基于内核的 Android 设备 root 解决方案,支持类似 Magisk 的模块(APM)和内核代码注入模块(KPM),需要内核支持 `inline-hook` 和 `syscall-table-hook` 功能。APatch 基于 KernelPatch 项目,UI 和模块代码源自 KernelSU项目,支持 ARM64 架构和 Android 3.18 - 6.1 内核版本。APatch 提供了 SuperKey 功能,但需要谨慎使用,因为弱密钥可能导致设备安全风险。用户可以通过 F-Droid 或 GitHub Releases 下载 APatch,并参考官方文档进行使用。
* [begeekmyfriend/yasea](https://github.com/begeekmyfriend/yasea) Yasea是一个 Android 直播客户端,它将来自相机和麦克风的 YUV 和 PCM 数据编码为 H.264/AAC,封装成 FLV 并通过 RTMP传输。项目支持硬编码和软编码,并提供多种功能,包括动态方向切换、前后摄像头热切换、录制 MP4 视频、GPUImage美颜滤镜、音频回声消除和自动增益控制等。用户可以搭建自己的 RTMP 服务器(例如 srs)进行测试。需要注意的是,如果遇到高延迟问题,请检查带宽限制和播放器缓冲设置。
* [mendhak/gpslogger](https://github.com/mendhak/gpslogger) GPSLogger是一款轻量级的Android GPS记录应用程序,可以将GPS信息记录到多种格式(GPX、KML、CSV、NMEA、自定义URL),并提供上传选项(SFTP、OpenStreetMap、Google Drive、Dropbox、电子邮件)。该应用程序旨在尽可能地节省电池电量。您可以在F-Droid或GitHub发布页面下载该应用程序。该项目使用Android构建系统插件,并提供详细的设置指南,帮助开发者在Ubuntu Linux系统上使用Android Studio进行开发。
* [brunodev85/winlator](https://github.com/brunodev85/winlator) Winlator是一款Android应用程序,使用Wine和Box86/Box64运行Windows(x86_64)应用程序。它基于Ubuntu Focal Fossa系统,并整合了Wine、Box86/Box64、PRoot、Mesa、DXVK、VKD3D、D8VK和CNC DDraw等第三方软件。Winlator支持多种配置选项,例如性能、稳定性和兼容性模式,以优化不同应用的运行体验。用户可以通过Winlator的快捷方式设置针对特定游戏的个性化配置,并通过环境变量调整应用程序运行环境。
* [SwiftyJSON/SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) SwiftyJSON是一个 Swift 库,简化了 Swift 中处理 JSON 数据的方式。它提供了一种更易读、更安全的 JSON 解析方式,无需繁琐的类型转换。SwiftyJSON 支持可选的 getter 和 setter,并自动处理可选类型包装,使代码更简洁。此外,它还提供了错误处理机制,方便开发者识别和处理 JSON 解析错误。SwiftyJSON 与 Alamofire 和 Moya 等网络库兼容,并支持多种集成方式,如 CocoaPods 和 Carthage。
* [Tamsiree/RxTool](https://github.com/Tamsiree/RxTool) Android开发人员不得不收集的工具类集合 | 支付宝支付 | 微信支付(统一下单) | 微信分享 | Zip4j压缩 | 一键集成UCrop选择圆形头像 | 一键集成二维码和条形码的扫描与生成 | 常用Dialog | WebView的封装可播放视频 | 仿斗鱼滑动验证码 | Toast封装 | 震动 | GPS | Location定位 | 图片缩放 | Exif 图片添加地理位置信息(经纬度) | 蛛网等级 | 颜色选择器 | ArcGis | VTPK
* [LGH1996/TapClick](https://github.com/LGH1996/TapClick) TapClick是一款基于Android无障碍服务的应用,可以实现自动跳过广告、自动点击、自动滑动等功能,无需root权限,安全可靠。TapClick提供了多种功能,包括自动跳过开屏广告、自动点击按钮、自动滑动页面等,可以帮助用户节省时间,提升效率。该项目代码开源,用户可以根据自己的需求进行定制和修改。项目文档和演示视频可在项目主页找到。
* [zfdang/Android-Touch-Helper](https://github.com/zfdang/Android-Touch-Helper) Android-Touch-Helper 是一个安卓系统的开屏广告自动跳过助手,基于Accessibility服务实现,无需联网、无需存储权限,不会收费或上传任何信息。它可以自动识别开屏广告并跳过,支持三种跳过方式:1. 识别关键词,自动跳过包含特定关键词的广告;2.识别应用的指定按钮,自动点击按钮跳过广告;3. 识别应用的指定坐标,自动点击坐标跳过广告。
* [Rahix/avr-hal](https://github.com/Rahix/avr-hal) avr-hal是一个基于 `avr-device` 库的 AVR 微控制器硬件抽象层(HAL),支持 Arduino 等常见板卡。它提供了一套通用的 HAL抽象,方便开发者使用 Rust 语言开发 AVR 项目。该项目包含了 Arduino HAL、Atmega HAL、Attiny HAL 等多个子库,并提供丰富的示例代码。用户可以通过 `cargo-generate` 工具快速创建新的 AVR 项目,并使用 `ravedude` 工具将代码烧录到目标板卡上。
* [francistao/LearningNotes](https://github.com/francistao/LearningNotes) 这是一个名为 LearningNotes 的 GitHub 项目,包含 Android 开发相关的学习笔记,涵盖了基础知识、内存管理、Handler 机制、异步任务、事件分发、自定义控件、ANR 问题、Art 和 Dalvik 的区别、OOM 解决方案、Fragment、SurfaceView、进程间通信等内容,旨在帮助开发者深入理解 Android 开发的各个方面。项目提供详细的代码示例和解释,方便学习和参考。
* [KotatsuApp/Kotatsu](https://github.com/KotatsuApp/Kotatsu) Kotatsu是一款免费开源的Android漫画阅读器,内置在线漫画资源。它支持在线漫画目录、搜索、阅读历史、书签、收藏、离线下载、平板优化、自定义阅读器、新章节通知、与漫画跟踪服务集成以及密码/指纹保护等功能。用户可以通过GitHub Releases下载最新版本,也可以在F-Droid上获取。Kotatsu支持多种语言,并欢迎用户贡献翻译或其他改进。
* [Ccixyj/JBusDriver](https://github.com/Ccixyj/JBusDriver) JBusDriver是一个基于 JAViewer 的 JAVBUS APP,使用 Kotlin、MVP、RxJava2、Retrofit2 和 OkHttp3 等技术构建。它提供便捷的JAVBUS 资源获取功能,并支持支付宝和微信支付。项目代码已开源,欢迎用户提交 bug 反馈和功能请求。项目已发布 1.2.18 版本,并使用 CC 和 Phantom 框架进行代码混淆。用户可以使用魔力磁力、MX Player 或 Aria2 等工具配合使用。
* [xlucn/oh-my-foss-android](https://github.com/xlucn/oh-my-foss-android) 这是一个收集实用、良心开源安卓软件的仓库,旨在推荐优质的开源应用,并提供简要介绍和下载链接。仓库特色包括:精选优质开源应用、提供简明易懂的应用介绍、方便用户快速找到心仪的软件。 仓库维护者会定期更新仓库内容,并欢迎用户提交新的应用推荐。 仓库使用CC BY-SA 4.0 协议,允许用户自由使用和分享仓库内容。
* [ZCShou/GoGoGo](https://github.com/ZCShou/GoGoGo) GoGoGo是一款基于 Android 调试 API 和百度地图 SDK 实现的虚拟定位工具,无需 ROOT 权限即可修改手机的当前位置。它还提供了一个可自由移动的摇杆,方便用户模拟移动。用户可以利用 GoGoGo 轻松修改自己的位置信息,方便进行各种测试和调试。项目代码开源,并提供 Github 和 Gitee 两个仓库地址,用户可以自由下载使用。
* [GuoXiCheng/SKIP](https://github.com/GuoXiCheng/SKIP) SKIP是一款免费的开屏广告跳过工具,旨在帮助用户无障碍地使用服务,快速跳过APP开屏广告,让您的使用体验更加流畅。该项目提供简洁易用的界面,并提供详细的文档说明,您可以通过 [SKIP 文档](https://skip.guoxicheng.top/) 获取更多信息。 项目遵循 [GPL-3.0 许可协议](https://github.com/GuoXiCheng/SKIP/blob/main/LICENSE)。
* [VadimBoev/FlappyBird](https://github.com/VadimBoev/FlappyBird) 这是一个用 C 语言编写的 Flappy Bird 游戏,其 APK 文件大小小于 100KB,可在 Android 5.1 及以上版本运行。该项目旨在挑战使用最小的 APK 文件大小来创建一个可玩且有趣的 Android 游戏。游戏使用 OpenGL ES 2、着色器和 Android 原生活动实现,并使用 MP3 格式的压缩声音和 OpenSLES 进行播放,使用 upng 库解码 PNG 文件。
* [Meituan-Dianping/Logan](https://github.com/Meituan-Dianping/Logan) Logan是一个轻量级的移动平台日志系统,提供 iOS、Android、Web和 Flutter 插件 SDK,以及 Server 和 LoganSite 组件,用于收集、存储、上传和分析前端日志。其架构包含日志采集、日志存储、日志上传和日志分析四个部分,LoganSite 提供可视化的日志搜索和浏览功能,方便开发者快速定位和解决问题。
* [Tencent/QMUI_Android](https://github.com/Tencent/QMUI_Android) 用于辅助快速搭建一个具备基本设计还原效果的 Android 项目,同时利用自身提供的丰富控件及兼容处理,让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。不管是新项目的创建,或是已有项目的维护,均可使开发效率和项目质量得到大幅度提升。
* [gyf-dev/ImmersionBar](https://github.com/gyf-dev/ImmersionBar) android 4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色,以及不可修改字体颜色手机的适配,适用于Activity、Fragment、DialogFragment、Dialog,PopupWindow
* [yujincheng08/BiliRoaming](https://github.com/yujincheng08/BiliRoaming) 哔哩漫游是一款Xposed模块,可以解除B站客户端番剧区域限制,并提供其他小功能,例如:自定义播放器、屏蔽广告等。该模块通过修改B站客户端的代码实现区域限制的解除,并提供了一些额外的功能,方便用户更好地使用B站。
* [recloudstream/cloudstream](https://github.com/recloudstream/cloudstream) CloudStream是一款 Android 应用,用于流媒体和下载媒体。它不提供任何视频源,需要用户安装扩展来添加功能。CloudStream 特色包括无广告、无跟踪/分析、书签、手机和电视支持、Chromecast 以及扩展系统,支持多种语言。
* [alipay/SoloPi](https://github.com/alipay/SoloPi) SoloPi是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。 SoloPi新增鸿蒙版本,欢迎大家试用,切到 solopi-harmony分支。
* [futurice/android-best-practices](https://github.com/futurice/android-best-practices) 遵循这些准则,避免重新发明轮子。在 Futurice 中从 Android 开发人员那里学到的经验教训。如果你对 iOS 或 Windows Phone 开发感兴趣,请务必同时查看我们的 iOS 良好做法和 Windows 应用开发最佳做法文档。
* [LuckSiege/PictureSelector](https://github.com/LuckSiege/PictureSelector) Android平台的PictureSelector,支持从相册中获取图片、视频、音频和照片、剪切(单张图片或多张图片剪切)、压缩、主题自定义配置等功能,并支持动态访问和适用于Android 5.0+系统的开源图片选择框架
* [pppscn/SmsForwarder](https://github.com/pppscn/SmsForwarder) 短信转发器——监控Android手机短信、来电、APP通知,并根据指定规则转发到其他手机。包括主动控制服务端与客户端,让你轻松远程发短信、查短信、查通话、查话簿、查电量等。
* [scwang90/SmartRefreshLayout](https://github.com/scwang90/SmartRefreshLayout) 下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。
* [android/uamp](https://github.com/android/uamp) 实现跨多种外形规格运行的音频媒体应用,并在 Android 手机、平板电脑、Android Auto、Android Wear、Android TV、Google Cast 设备和 Google Assistant 上提供一致的用户体验。
* [Blankj/AndroidUtilCode](https://github.com/Blankj/AndroidUtilCode) 功能强大且易于使用的Android库。该库封装了 Android 开发中常用的函数,这些函数具有完整的演示和单元测试。通过使用其封装的 API,可以大大提高开发效率。
* [AppIntro/AppIntro](https://github.com/AppIntro/AppIntro) 为您的 Android 应用程序制作一个很酷的介绍。可帮助您为应用构建酷炫的轮播介绍。 AppIntro 支持请求权限,并帮助您在短短几分钟内创建出色的入门体验。
* [JetBrains/Exposed](https://github.com/JetBrains/Exposed) 轻量级 SQL 库,位于 Kotlin 语言的 JDBC 驱动程序之上。Exposed 有两种类型的数据库访问:类型安全的 SQL 包装 DSL 和轻量级数据访问对象 (DAO)。
* [alibaba/vlayout](https://github.com/alibaba/vlayout) RecyclerView 的强大 LayoutManager 扩展,它为 RecyclerView 提供了一组布局。使其能够处理同一 recyclerview 中的网格、列表和其他布局时的复杂情况。
* [Kotlin/kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization) Kotlin 序列化由编译器插件组成,该插件为可序列化类生成访问者代码、具有核心序列化 API 的运行时库以及具有各种序列化格式的支持库。
* [jfeinstein10/SlidingMenu](https://github.com/jfeinstein10/SlidingMenu) 可让您轻松创建带有滑入式菜单的应用。可以在您的 Android 应用程序中使用它,前提是您引用此项目并将许可证包含在您的应用中。
* [Kotlin/anko](https://github.com/Kotlin/anko) Kotlin 库,它使 Android 应用程序开发更快、更容易。它使您的代码简洁易读,并让您忘记适用于 Java 的 Android SDK 的粗糙边缘。read-only.
* [android/architecture-samples](https://github.com/android/architecture-samples) 展示了开发 Android 应用的不同体系结构方法。在它的不同分支中,你会发现相同的应用(一个 TODO 应用程序)的实现略有不同。
* [mzlogin/awesome-adb](https://github.com/mzlogin/awesome-adb) ADB 用法大全。ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。
* [android/compose-samples](https://github.com/android/compose-samples) 包含一组单独的 Android Studio 项目,可帮助您了解 Android 中的 Compose。每个示例都演示了不同的用例、复杂程度和 API。
* [android10/Android-CleanArchitecture](https://github.com/android10/Android-CleanArchitecture) 示例应用程序,是我写的一系列博客文章的一部分,介绍了如何使用 Uncle Bob 的干净架构方法构建 android 应用程序。
* [CymChad/BaseRecyclerViewAdapterHelper](https://github.com/CymChad/BaseRecyclerViewAdapterHelper) 功能强大且灵活的 RecyclerAdapter。RecyclerView是Android中用于显示大量数据的控件,它比传统的ListView更加灵活和高效。
* [microg/GmsCore](https://github.com/microg/GmsCore) 一个 FLOSS(免费/自由开源软件)框架,允许为 Google Play 服务设计的应用程序在 Play 服务不可用的系统上运行。
* [0x192/universal-android-debloater](https://github.com/0x192/universal-android-debloater) 用 Rust 编写的跨平台 GUI 使用 ADB 对非 root 的 Android 设备进行消胀。改善您的隐私、安全性和设备电池寿命。
* [youlookwhat/CloudReader](https://github.com/youlookwhat/CloudReader) 云阅:一款基于网易云音乐UI,使用玩Android Api,Retrofit2 + RxJava2 + Room + MVVM-databinding架构开发的Android客户端
* [mikepenz/MaterialDrawer](https://github.com/mikepenz/MaterialDrawer) 灵活、易于使用、多合一的抽屉库,适用于您的 Android 项目。现在采用材料 2 设计的全新设计。
* [ReVanced/revanced-manager](https://github.com/ReVanced/revanced-manager) Android 应用程序,它使用 ReVanced Patcher 来添加、删除和修改 Android 应用程序中的现有功能。
* [android/sunflower](https://github.com/android/sunflower) 一款园艺应用,演示了将基于视图的应用迁移到 Jetpack Compose 的 Android 开发最佳实践。
* [android-hacker/VirtualXposed](https://github.com/android-hacker/VirtualXposed) 一个简单的应用程序,无需root即可使用Xposed,解锁引导加载程序或修改系统映像等。
* [ashishb/android-security-awesome](https://github.com/ashishb/android-security-awesome) 与 Android 安全相关的资源集合。工具、学术/研究/出版物/书籍、漏洞利用/漏洞/缺陷
* [lecho/hellocharts-android](https://github.com/lecho/hellocharts-android) 适用于 Android 的图表库与 API 8+ 兼容,多种图表类型具有缩放、滚动和动画功能
* [Tencent/tinker](https://github.com/Tencent/tinker) Android 的热修复解决方案库,支持 dex、库和资源更新,无需重新安装 apk。
* [googlesamples/easypermissions](https://github.com/googlesamples/easypermissions) 一个包装库,用于在面向 Android M 或更高版本时简化基本系统权限逻辑。
* [JessYanCoding/AndroidAutoSize](https://github.com/JessYanCoding/AndroidAutoSize) 今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案
* [open-android/Android](https://github.com/open-android/Android) GitHub上最火的Android开源项目,所有开源项目都有详细资料和配套视频
* [bilibili/ijkplayer](https://github.com/bilibili/ijkplayer) 基于 FFmpeg n3.4 的 Android/iOS 视频播放器,支持 MediaCodec、VideoToolbox。
* [android-async-http/android-async-http](https://github.com/android-async-http/android-async-http) 基于 Apache 的 HttpClient 库构建的基于回调的异步 Android Http 客户端。
* [wasabeef/recyclerview-animators](https://github.com/wasabeef/recyclerview-animators) 一个 Android 动画库,可轻松将 itemanimator 添加到 RecyclerView 项目。
* [amitshekhariitbhu/Android-Debug-Database](https://github.com/amitshekhariitbhu/Android-Debug-Database) 用于调试 android 数据库和共享首选项的库 - 让调试再次变得伟大
* [androidannotations/androidannotations.](https://github.com/androidannotations/androidannotations) 快速的Android开发。易于维护。已弃用。不会再进行任何开发。
* [XayahSuSuSu/Android-DataBackup](https://github.com/XayahSuSuSu/Android-DataBackup) 适用于 Android 7.0+ 的 DataBackup。免费的开源数据备份应用程序。
* [gkd-kit/gkd](https://github.com/gkd-kit/gkd) 基于无障碍+高级选择器+订阅规则的自定义屏幕点击 Android APP
* [clearw5/Auto.js](https://github.com/clearw5/Auto.js) Android上基于JS的面向编程学习与效率提升的代码开发平台。
* [yuliskov/SmartTube](https://github.com/yuliskov/SmartTube) 适用于运行 Android 操作系统的机顶盒和电视的高级播放器
* [ktorio/ktor](https://github.com/ktorio/ktor) 在 Kotlin 中以最小的工作量快速创建连接应用程序的框架
* [material-components/material-components-android](https://github.com/material-components/material-components-android) 适用于 Android 的模块化和可自定义的 Material Design UI 组件
* [android/nowinandroid](https://github.com/android/nowinandroid) 完全使用 Kotlin 和 Jetpack Compose 构建的全功能 Android 应用
* [Genymobile/scrcpy](https://github.com/Genymobile/scrcpy) 通过USB(或通过TCP / IP)连接的Android设备的显示和控制
* [google/flexbox-layout](https://github.com/google/flexbox-layout) 将 CSS Flexible Box Layout Module 的类似功能带到了 Android。
* [InsertKoinIO/koin](https://github.com/InsertKoinIO/koin) 用于 Kotlin 和 Kotlin 多平台的实用轻量级依赖注入框架
* [bumptech/glide](https://github.com/bumptech/glide) 适用于 Android 的图像加载和缓存库,专注于平滑滚动
* [waydroid/waydroid](https://github.com/waydroid/waydroid) 基于容器在GNU/Linux 系统上启动完整的 Android 系统。
* [afollestad/material-dialogs](https://github.com/afollestad/material-dialogs) 美观、流畅且可扩展的 Kotlin 和 Android 对话框 API。
* [KotlinBy/awesome-kotlin](https://github.com/KotlinBy/awesome-kotlin) 精选的 Kotlin 相关内容列表 灵感来自 awesome-java。
* [Freelander/Android_Data](https://github.com/Freelander/Android_Data) 一些安卓学习资料,希望能帮你学习安卓开发。
* [amitshekhariitbhu/android-interview-questions](https://github.com/amitshekhariitbhu/android-interview-questions) 您的 Android 面试备忘单 - Android 面试问题和答案
* [android/ndk-samples](https://github.com/android/ndk-samples) 包含集成了 Android Studio C++ 的 Android NDK 示例。
* [hdodenhof/CircleImageView](https://github.com/hdodenhof/CircleImageView) 快速循环的 ImageView 非常适合个人资料图像。
* [gedoor/legado](https://github.com/gedoor/legado) 一款适用于 Android 的免费开源小说阅读器。
* [zhihu/Matisse](https://github.com/zhihu/Matisse) 为 Android 精心设计的本地图像和视频选择器
* [wasabeef/glide-transformations](https://github.com/wasabeef/glide-transformations) Android 转换库,为 Glide 提供各种图像转换。
* [Kotlin/kotlinx.coroutines](https://github.com/Kotlin/kotlinx.coroutines) 对具有多平台支持的 Kotlin 协程的库支持。
* [alibaba/ARouter](https://github.com/alibaba/ARouter) 帮助 Android App 进行组件化改造的路由框架
* [permissions-dispatcher/PermissionsDispatcher](https://github.com/permissions-dispatcher/PermissionsDispatcher) 用于处理 Android 运行时权限的声明性 API。
* [orhanobut/logger](https://github.com/orhanobut/logger) 简单、漂亮、功能强大的 android 记录器
* [tachiyomiorg/tachiyomi](https://github.com/tachiyomiorg/tachiyomi) 适用于 Android 的免费开源漫画阅读器。
* [tbruyelle/RxPermissions](https://github.com/tbruyelle/RxPermissions) 由 RxJava2 提供支持的 Android 运行时权限
* [wasabeef/awesome-android-ui](https://github.com/wasabeef/awesome-android-ui) 一个很棒的Android UI / UX库的精选列表。
* [JStumpp/awesome-android](https://github.com/JStumpp/awesome-android) 一个精选的 Android 软件包和资源列表。
* [codepath/android_guides](https://github.com/codepath/android_guides) 面向 Android 开发人员的广泛开源指南
* [openstf/minitouch](https://github.com/openstf/minitouch) 最小的Android多点触控事件生成器。
* [square/leakcanary](https://github.com/square/leakcanary) 适用于 Android 的内存泄漏检测库。
* [google/ExoPlayer](https://github.com/google/ExoPlayer) 适用于 Android 的可扩展媒体播放器
* [openstf/stf](https://github.com/openstf/stf) 从浏览器控制和管理 Android 设备。
* [xiaojieonly/Ehviewer_CN_SXJ](https://github.com/xiaojieonly/Ehviewer_CN_SXJ) ehviewer,用爱发电,快乐前行
* [Yalantis/uCrop](https://github.com/Yalantis/uCrop) 适用于 Android 的图像裁剪库
* [android/architecture-components-samples](https://github.com/android/architecture-components-samples) Android 体系结构组件示例。
* [Trinea/android-open-project](https://github.com/Trinea/android-open-project) Android 开源项目分类汇总
* [barry-ran/QtScrcpy](https://github.com/barry-ran/QtScrcpy) Android实时显示控制软件
* [daimajia/AndroidViewAnimations](https://github.com/daimajia/AndroidViewAnimations) 可爱的视图动画集合。
* [xiaye13579/BBLL](https://github.com/xiaye13579/BBLL) BBLL是一款第三方哔哩哔哩客户端,仅供学习和交流使用,由个人兴趣开发,不包含任何破解行为,仅封装了哔哩哔哩已有的 API,所有数据均来自哔哩哔哩官方 API。BBLL 使用 Firebase 和 AppCenter 收集用户设备信息和崩溃日志,不会收集个人信息。
## C/C++程序设计
* [libevent/libevent](https://github.com/libevent/libevent) 事件通知库。libevent API 提供了一种机制,用于在文件描述符上发生特定事件或达到超时后执行回调函数。此外,libevent 还支持由于信号或定期超时而产生的回调。libevent 旨在替换事件驱动网络服务器中的事件循环。应用程序只需要调用 event_dispatch,然后动态添加或删除事件,而无需更改事件循环。目前 libevent 支持 /dev/poll、kqueue、event ports、POSIX select、Windows select、poll和 epoll。内部事件机制完全独立于公开的事件 API,对 libevent 的简单更新可以提供新功能,而无需重新设计应用程序。因此,Libevent 允许可移植应用程序开发,并提供操作系统上可用的最具可扩展性的事件通知机制。Libevent 还可用于多线程应用程序,方法是隔离每个event_base,以便只有一个线程访问它,或者通过锁定对单个共享event_base的访问。Libevent 应该在 Linux、*BSD、Mac OS X、Solaris、Windows 等平台上编译。Libevent 还为缓冲网络 IO 提供了一个复杂的框架,支持套接字、过滤器、速率限制、SSL、零拷贝文件传输和 IOCP。Libevent 支持多种有用的协议,包括 DNS、HTTP 和最小的 RPC 框架。使用 libevent 的程序:Chromium – Google 的开源网络浏览器(使用 Libevent);Memcached – 高性能分布式内存对象缓存系统;Transmission 一个快速、简单且免费的 BitTorrent 客户端;NTP – 使时钟正确的网络时间协议(在 SNTP 中使用 Libevent);tmux – 一个干净、现代、BSD 许可的终端多路复用器,类似于 GNU 屏幕;Tor – 一个匿名的互联网通信系统。libevhtp – libevent 的 http 客户端/服务器 API 的快速灵活替代品
* [unikraft/unikraft](https://github.com/unikraft/unikraft) 下一代云原生内核,旨在解锁一流的性能、安全原语和效率节约。Unikraft 使您能够从根本上定制和构建自定义操作系统/内核,从而为下一代云原生、无容器应用程序提供支持;解锁一流的性能、安全原语和效率节约。特征:虽然基于 Linux 的系统可能需要数十秒才能启动,但 Unikraft 将在几毫秒内启动。Unikraft 拥有模块化设计方法,允许开发人员仅包含必要的组件,从而实现更精简、更高效的操作系统配置。Unikraft专为性能而构建,可最大限度地减少开销并利用特定于平台的优化,确保应用程序达到最佳性能水平。Unikraft支持多种硬件架构,包括x86、ARM(以及即将推出的RISC-V),在各种硬件平台上提供了部署的灵活性。Unikraft 为多种编程语言和硬件架构提供广泛的支持,使开发人员能够灵活地选择最适合您需求的工具和平台。Unikraft专为云和边缘计算环境而设计,可跨分布式计算基础设施无缝部署应用程序。通过有选择地仅包含必要的组件,Unikraft 减少了攻击面,增强了部署场景中的安全性。Unikraft还包括许多其他现代安全功能。Unikraft直观的工具链和用户友好的界面简化了开发过程,使开发人员能够专注于构建创新的解决方案。Unikraft 优化了资源利用率,从而减少了占用空间(意味着更高的服务器饱和度)并提高了资源受限环境中的效率。Unikraft 是一个开源项目,由 100 多名开发人员组成的充满活力的社区推动,促进了工业界和学术界的合作和创新。
* [rui314/chibicc](https://github.com/rui314/chibicc) 实现大多数 C11 功能的小型 C 编译器。尽管它仍然可能像其他小型编译器一样属于“玩具编译器”类别,但 chibicc 可以编译几个真实世界的程序,包括 Git、SQLite、libpng 和 chibicc 本身,而无需对编译的程序进行修改。这些程序生成的可执行文件通过其相应的测试套件。因此,chibicc 实际上支持多种 C11 功能,并且能够正确编译数十万行真实世界的 C 代码。chibicc 是作为我目前正在写的一本关于 C 编译器和低级编程的书的参考实现而开发的。这本书以循序渐进的方法涵盖了这个广泛的主题;在第一章中,读者将实现一个“编译器”,该编译器只接受一个数字作为“语言”,然后它将在本书的每个部分一次获得一个特性,直到编译器接受的语言与C11规范指定的语言匹配。我从阿卜杜勒阿齐兹·古鲁姆(Abdulaziz Ghuloum)的论文中采用了这种渐进的方法。此项目的每次提交都对应于本书的一个部分。为此,不仅项目的最终状态,而且每个提交都经过精心编写,并考虑到了可读性。读者应该能够通过阅读这个项目的一个或几个提交来了解如何实现 C 语言功能。例如,while、[]、?: 和 thread-local 变量是这样实现的。如果您有足够的空闲时间,从第一次提交开始阅读它可能会很有趣。如果您喜欢这个项目,请考虑在这本书可用时购买一份!我把chibicc发音为chee bee cee cee。“chibi”在日语中是“小”或“小”的意思。“cc”代表 C 编译器。
* [sysprog21/shecc](https://github.com/sysprog21/shecc) shecc是一个自托管的教育性 C 优化编译器,从零开始构建,支持 32 位 Arm 和 RISC-V 架构,可以编译 C 语言的一个子集。尽管它很简单,但它能够作为一个独立的优化编译器执行基本的优化策略。shecc 可以生成 ARMv7-A 和 RV32IM 的 Linux ELF 可执行文件,并提供一个用于 GNU/Linux 上基本 I/O 的最小 C 标准库。它使用两遍编译过程:第一遍检查语法并将复杂语句分解为基本操作,第二遍将这些操作转换为 Arm/RISC-V 机器代码。shecc 还包含一个基于 SSA 的中间端,用于增强优化。shecc 可以编译使用以下语法的 C 源代码:char、int、struct 和指针数据类型;if、while、for、switch、case、break、return 和一般表达式条件语句;`+=`、`-=`、`*= `复合赋值;支持数据类型的全局/局部变量初始化;有限的预处理器指令支持;带有 `__VA_ARGS__` 标识符的非嵌套可变参数宏。shecc 可以通过 QEMU 在 Arm 和 RISC-V 设备上运行,并通过自举过程验证其正确性。它需要一个普通的 C 编译器,例如 `gcc` 或 `clang`,以及 QEMU 用于 Arm/RISC-V 用户模拟。用户可以通过 `make config ARCH=arm` 或 `make config ARCH=riscv` 配置目标架构,然后运行 `make` 进行构建和验证。
* [maharmstone/btrfs](https://github.com/maharmstone/btrfs) WinBtrfs是一个开源的 Btrfs 文件系统 Windows 驱动程序,它从零开始重新实现,不包含任何来自 Linux 内核的代码,并且可以在 Windows XP 及更高版本上运行。它也是免费操作系统 ReactOS 的一部分。WinBtrfs 支持读取和写入 Btrfs 文件系统,包括基本 RAID(RAID0、RAID1、RAID10)、高级 RAID(RAID5、RAID6)、缓存、发现 Btrfs 分区、获取和设置 ACL、备用数据流、Linux 用户到 Windows 用户的映射、符号链接、硬链接、稀疏文件、空闲空间缓存、预分配、异步读写、无分区 Btrfs 卷、每个卷注册表挂载选项、zlib 压缩、LZO 压缩、LXSS(“Ubuntu on Windows”)支持、平衡、设备添加和删除、使用 `mkbtrfs.exe` 和 `ubtrfs.dll`创建新的文件系统、擦除、TRIM/DISCARD、Reflink 复制、子卷发送和接收、降级挂载、空闲空间树、缩小和扩展、LXSS 的权限传递、Zstd 压缩、Windows 10 区分大小写目录标志、Oplocks、元数据 UUID 不兼容标志、三磁盘和四磁盘 RAID1、新的校验和类型(xxhash、sha256、blake2)、块组树等。
* [taskflow/taskflow](https://github.com/taskflow/taskflow) 使用现代C++的通用任务并行编程系统。流帮助您用现代 C++ 快速编写并行和异构任务程序。在处理复杂的并行工作负载时,任务流比许多现有的任务编程框架更快、更具表现力并且更容易直接集成。任务流可让您快速实施包含常规和不规则计算模式的任务分解策略,以及高效的工作窃取调度程序,以优化多线程性能。任务流支持条件任务分配,使您能够跨相关任务快速做出控制流决策,以实现使用现有工具难以实现的周期和条件。任务流是可组合的。您可以通过模块化和可重用块的组合来创建大型并行图,这些块更容易在单个范围内进行优化。Taskflow 支持异构任务,让您能够利用 CPU-GPU 协作计算的强大功能来加速各种科学计算应用程序。任务流提供分析任务流程序所需的可视化和工具。
* [microsoft/perfview](https://github.com/microsoft/perfview) PerfView是一个免费的性能分析工具,用于帮助隔离 CPU 和内存相关的性能问题。它是一个 Windows 工具,但也支持分析在 Linux 机器上收集的数据。它适用于各种场景,但针对 .NET 运行时编写的代码的性能问题有一些特殊功能。您可以通过 [PerfView 下载页面](documentation/Downloading.md) 下载 PerfView。PerfView 需要 .NET Framework 4.7.2 或更高版本,该版本在所有受支持的 Windows 版本中广泛可用。如果您想了解 PerfView 的工作原理,可以参考 [PerfView 用户指南](http://htmlpreview.github.io/?https://github.com/Microsoft/perfview/blob/main/src/PerfView/SupportFiles/UsersGuide.htm)。如果您遇到问题,可以创建 [PerfView 问题](https://github.com/Microsoft/perfview/issues/new) 或参考 [TraceEvent 库文档](documentation/TraceEvent/TraceEventLibrary.md)。
* [koute/bytehound](https://github.com/koute/bytehound) Bytehound是一个用于 Linux 的内存分析器,它可以帮助分析内存泄漏、查看内存消耗位置、识别临时分配并调查过度内存碎片。Bytehound收集每个分配和释放操作,并附带完整的堆栈跟踪。它可以使用自定义的堆栈展开实现,使其比其他类似工具更便宜,在某些情况下速度可能快几个数量级。Bytehound 可以将收集的数据导出为多种格式,包括 JSON、Heaptrack 和火焰图,并具有自己的基于 Web 的 GUI 用于分析。它还可以将分析数据动态地流式传输到另一台机器,这对于在内存受限的系统上进行分析非常有用。Bytehound 支持 AMD64、ARM、AArch64 和 MIPS64 架构,并支持使用 jemalloc 作为分配器的应用程序。它还支持基于 Rhai 的嵌入式 DSL,允许以编程方式或自动方式进行数据分析。
* [systemd/systemd](https://github.com/systemd/systemd) systemd 是一套用于 Linux 系统的基本构建块。它提供了一个系统和服务管理器,该管理器作为 PID 1 运行并启动系统的其余部分。systemd 提供积极的并行化功能,使用套接字和 D-Bus 激活来启动服务,提供守护进程的按需启动,使用 Linux 控制组跟踪进程,维护挂载点和自动挂载点,并实施精心设计的基于事务依赖关系的服务控制逻辑。systemd 支持 SysV 和 LSB init 脚本,并作为 sysvinit 的替代品。其他部分包括日志记录守护程序、用于控制基本系统配置(如主机名、日期、区域设置)的实用程序,维护已登录用户和正在运行的容器和虚拟机的列表、系统帐户、运行时目录和设置,以及用于管理简单网络配置、网络时间同步、日志转发和名称解析的守护程序。
* [DynamoRIO/dynamorio](https://github.com/DynamoRIO/dynamorio) DynamoRIO是一个运行时代码操作系统,它支持在程序执行期间对程序的任何部分进行代码转换。DynamoRIO提供了一个接口,用于构建用于各种用途的动态工具,例如程序分析和理解、性能分析、检测、优化、翻译等。与许多动态工具系统不同,DynamoRIO不局限于插入回调/跳板,而是允许通过强大的IA-32/AMD64/ARM/AArch64指令操作库对应用程序指令进行任意修改。DynamoRIO提供高效、透明和全面的操作,无需修改在标准操作系统(Windows、Linux或Android)和通用IA-32、AMD64、ARM和AArch64硬件上运行的应用程序。Mac OSX支持正在开发中。一些著名的外部工具基于DynamoRIO,例如WinAFL(Windows模糊测试工具)、Dr. Memory(内存调试工具)、drmemtrace(跟踪和分析框架)等。
* [carbon-language/carbon-lang](https://github.com/carbon-language/carbon-lang) Carbon Language的主要存储库:文档,设计,实现和相关工具。Carbon是一种后继语言方法,而不是试图逐步发展C++。它围绕与C++的互操作性以及现有C++代码库和开发人员的大规模采用和迁移而设计。C++仍然是性能关键型软件的主要编程语言,拥有大量且不断增长的代码库和投资。然而,如上所述,它正在努力改善和满足开发人员的需求,这在很大程度上是由于积累了数十年的技术债务。逐步改进C++非常困难,这既是由于技术债务本身,也是由于其演变过程的挑战。解决这些问题的最佳方法是避免直接继承 C 或 C++ 的遗产,而是从坚实的语言基础开始,如现代泛型系统、模块化代码组织和一致、简单的语法。
* [lz4/lz4](https://github.com/lz4/lz4) LZ4 - 极快的压缩,LZ4 是无损压缩算法,提供每核 500 MB/s 的压缩速度 >,可通过多核 CPU 进行扩展。它具有极快的解码器,每个内核的速度为数 GB/s,通常达到多核系统的 RAM 速度限制。速度可以动态调整,选择一个 “加速” 因子,以压缩比换取更快的速度。另一方面,还提供了高压缩导数 LZ4_HC,以 CPU 时间为代价来提高压缩率。所有版本都具有相同的解压缩速度。LZ4 还兼容 API 和 CLI 级别的字典压缩。它可以将任何输入文件作为字典摄取,但仅使用最后的 64KB。此功能可以与 Zstandard Dictionary Builder 结合使用,以显著提高小文件的压缩性能。LZ4 库作为使用 BSD 2-Clause 许可证的开源软件提供。
* [s-matyukevich/raspberry-pi-os](https://github.com/s-matyukevich/raspberry-pi-os) 此存储库包含一个分步指南,该指南介绍如何从头开始创建简单的操作系统 (OS) 内核。我将此操作系统称为 Raspberry Pi 操作系统或简称 RPi 操作系统。RPi OS 源代码主要基于 Linux 内核,但该操作系统的功能非常有限,仅支持 Raspberry PI 3。每节课的设计方式是,它首先解释了如何在 RPi OS 中实现某些内核功能,然后它试图演示相同的功能在 Linux 内核中是如何工作的。每个课程在 src 目录中都有一个相应的文件夹,其中包含课程刚刚完成时操作系统源代码的快照。这允许优雅地引入新概念,并帮助读者跟随 RPi OS 的演变。理解本指南不需要任何特定的操作系统开发技能。
* [rizkg/BBHash](https://github.com/rizkg/BBHash) BBHash是一个基于布隆过滤器的最小完美哈希函数库,用于处理大规模数据集。与其他最先进的库相比,BBHash 的函数大小略大,约为每个元素 3 位(相比之下,emphf 库为 2.62 位/元素),但构建速度更快,并且不需要额外的内存。它易于集成到其他项目中(只需包含一个 .h 文件),并且没有依赖关系。BBHash 的工作原理是使用布隆过滤器来构建一个最小完美哈希函数,该函数可以将每个键映射到一个唯一的索引。该库支持多种数据类型,包括 POD 类型、字符串和不支持复制或赋值操作符的类型。用户可以使用示例代码来构建和查询 mphf,并进行性能测试。
* [krallin/tini](https://github.com/krallin/tini) Tini 是您能想到的最简单的 init。Tini 所做的只是生成一个子项(Tini 应该在容器中运行),并等待它退出,同时收割僵尸并执行信号转发。使用 Tini 有几个好处:它可以保护您免受意外创建僵尸进程的软件的侵害,这些进程可能会(随着时间的推移)使您的整个系统缺乏 PID(并使其无法使用)。它确保默认信号处理程序适用于您在 Docker 映像中运行的软件。例如,使用 Tini,即使您没有明确安装信号处理程序,SIGTERM 也会正确终止您的进程。它完全透明地这样做!在没有 Tini 的情况下工作的 Docker 映像将与 Tini 一起工作,无需任何更改。
* [microsoft/Windows-driver-samples](https://github.com/microsoft/Windows-driver-samples) 该项目包含适用于 Microsoft Visual Studio 和 Windows 驱动程序工具包 (WDK) 的驱动程序示例,包括通用 Windows 驱动程序和仅限桌面的驱动程序示例。它提供 Windows 11 的官方 WDK 驱动程序代码示例,支持从手机到台式机的各种硬件形式的通用 Windows 驱动程序。可以使用 Visual Studio 2022 和 WDK 11 构建、测试和部署驱动程序。项目还提供了使用 Windows 驱动程序框架 (WDF) 开发驱动程序的指南,以及从示例代码到生产驱动程序的转换建议。此外,项目还包含用于构建第一个驱动程序的练习,例如基于模板编写 UMDF 驱动程序和编写 KMDFHello World 驱动程序。
* [sysprog21/lkmpg](https://github.com/sysprog21/lkmpg) 该项目是《Linux 内核模块编程指南》的最新版本,针对 5.0+ 内核更新,并提供 [示例代码](examples/)。指南自 2001 年问世,网络上大多数版本仅描述旧的 2.6.x 内核。该书可通过 [https://sysprog21.github.io/lkmpg/](https://sysprog21.github.io/lkmpg/) 或 [最新 PDF 文件](https://github.com/sysprog21/lkmpg/releases/) 免费获取。项目需要 [TeXLive](https://www.tug.org/texlive/) ([MacTeX](https://www.tug.org/mactex/)) 生成 PDF 和 HTML 文档,也可以使用 [Docker](https://docs.docker.com/) 运行容器环境。项目代码遵循 [开放软件许可证](https://opensource.org/licenses/OSL-3.0),示例代码遵循 GNU GPL v2 许可证。
* [cahirwpz/mimiker](https://github.com/cahirwpz/mimiker) Mimiker是一个为教育和研究目的设计的简约类Unix操作系统,其内核和用户空间程序旨在提供最小的功能集。内核设计受FreeBSD和NetBSD启发,并借鉴了Linux、Plan9等操作系统的理念。Mimiker专注于代码的简洁性、可读性和可调试性,并提供了一套简单的同步原语,包括自旋锁、互斥锁和条件变量。Mimiker在MIPS、AArch64和RISC-V架构上运行,并提供了一套强大的调试工具,包括gdb脚本、内存地址检测器、锁依赖验证器和内核并发检测器。Mimiker支持超过80个系统调用,可以运行各种开源工具,包括NetBSD的Korn Shell、Atto Emacs编辑器、Lua解释器等。
* [microsoft/winfile](https://github.com/microsoft/winfile) 微软开源的 Windows 文件管理器 (WinFile) 项目,它是一个原生 x86、x64 和 arm64 桌面应用程序,可以在所有当前支持的 Windows 版本(包括 Windows 11)上运行。该项目包含两个主要分支:original_plus 和 current master。original_plus 分支包含 Windows NT4 版本的 WinFile 源代码,而 current master 分支则包含了对 WinFile 的增强和添加。用户可以通过 Microsoft Store、Chocolatey、Winget、MSYS2 或 GitHub 发布页面下载预编译版本。该项目欢迎用户贡献代码和建议,并遵循 Microsoft 开源行为准则。用户可以在 CHANGES.md 文件中查看每个版本的变更记录。
* [cameron314/concurrentqueue](https://github.com/cameron314/concurrentqueue) 适用于 C++ 的工业级无锁队列。特征:超快的性能。单头文件实现,只需将其放入您的项目中即可。完全线程安全的无锁队列,从任意数量的线程并发使用。C++11 实现 -- 在可能的情况下移动(而不是复制)元素。模板化,避免了专门处理指针的需要 -- 内存是为您管理的。对元素类型或最大数量没有人为限制。内存可以预先分配一次,也可以根据需要动态分配。完全可移植(无需汇编;所有操作均通过标准 C++ 11 原语完成)。支持超快速批量操作,包括低开销阻塞版本 (BlockingConcurrentQueue)。异常安全。
* [tstack/lnav](https://github.com/tstack/lnav) Logfile Navigator 是终端的日志文件查看器。给定一组文件/目录,lnav 将:根据需要解压缩;检测其格式;按时间将文件合并到一个视图中;跟踪文件,跟踪重命名,在目录中查找新文件;构建错误和警告索引;漂亮的 JSON 行。然后,在 lnav TUI 中,您可以:快速跳转到上一个/下一个错误(按 E/E);使用正则表达式搜索(按 /);使用正则表达式高亮显示文本(:highlight 命令);使用正则表达式或 SQLite 表达式过滤消息;漂亮的打印结构文本(按 P);查看一段时间内消息的直方图(按 I);使用 SQLite 查询消息 (按 ;)
* [microsoft/Windows-classic-samples](https://github.com/microsoft/Windows-classic-samples) 该项目包含演示 Windows 经典桌面应用程序中使用的 API 的示例。它提供 Visual Studio解决方案文件、源文件、资源和元数据,方便用户编译和运行示例。这些示例展示了 Windows 和 Windows Server 的功能和编程模型,并涵盖了多种平台、语言和 API。大多数示例使用 Visual Studio2013 为 Windows 7、Windows 8.1 和/或 Windows Server 2012 R2 创建,但也有一些使用早期版本或特定SKU 和其他要求创建。用户可以使用 Visual Studio 搜索整个源代码,以查看是否演示了特定 Windows API 的用法。该项目已采用 Microsoft 开源行为准则。
* [hyprwm/Hyprland](https://github.com/hyprwm/Hyprland) Hyprland是一个完全独立的、高度可定制的动态平铺Wayland合成器,它不会牺牲美观性。它提供最新的Wayland功能,高度可定制,拥有各种炫酷效果,强大的插件,易于使用的IPC,比其他合成器更强大的功能,等等。Hyprland完全独立,不依赖wlroots、libweston、kwin、mutter等。它提供各种炫酷效果,如渐变边框、模糊、动画、阴影等,并支持强大的插件,包括内置插件管理器。Hyprland还支持撕裂,以获得更好的游戏性能,并拥有快速活跃的开发,提供最新的功能,配置文件保存后立即重新加载。
* [llvm/llvm-project](https://github.com/llvm/llvm-project) LLVM 项目是模块化和可重用的编译器和工具链技术的集合。用于构建高度优化的编译器、优化器和运行时环境的工具包。LLVM 项目有多个组件。该项目的核心本身称为“LLVM”。它包含处理中间表示并将其转换为目标文件所需的所有工具、库和头文件。工具包括汇编程序、反汇编程序、位码分析器和位码优化器。类 C 语言使用 Clang 前端。此组件使用 LLVM 将 C、C++、Objective-C 和 Objective-C++ 代码编译为 LLVM 位码,然后从那里编译为目标文件。其他组件包括:libc++ C++ 标准库、LLD 链接器等。
* [henrypp/memreduct](https://github.com/henrypp/memreduct) Mem Reduct是一款轻量级的实时内存管理应用程序,用于监控和清理计算机上的系统内存。该程序使用未公开的内部系统功能(原生 API)来清除系统缓存(系统工作集、工作集、待机页面列表、已修改页面列表),清除效果约为 10-50%。该应用程序与 Windows XP SP3 及更高版本的操作系统兼容,但一些通用功能仅从 Windows Vista 开始可用。您可以下载安装程序或便携版本。为了正常工作,您需要管理员权限。该项目支持多种捐赠方式,并提供 GPG 签名以确保软件安全。
* [splatlab/cqf](https://github.com/splatlab/cqf) CQF是一个通用计数过滤器,它支持近似成员测试和统计数据集中项目的出现次数。它体积小、速度快,具有良好的局部性,可以扩展到SSD,并支持删除、计数(即使在倾斜的数据集上)、调整大小、合并和高度并发访问。CQF提供了插入、计数和删除等API,并依赖于libssl库。它利用Intel Haswell系列CPU上的新指令实现选择操作,并提供针对旧版CPU的替代实现。用户可以通过设置CQF的槽位数量的log值来创建CQF,并通过GitHub pull requests进行贡献。
* [danmar/cppcheck](https://github.com/danmar/cppcheck) Cppcheck是一个开源的 C/C++ 代码静态分析工具,旨在帮助开发者发现代码中的潜在错误和安全漏洞。它支持多种编译器和平台,并提供命令行和图形界面两种使用方式。Cppcheck 通过分析代码语法和语义,识别出常见的错误,例如内存泄漏、空指针访问、数组越界等。用户可以通过捐赠 CPU 资源来帮助 Cppcheck 项目进行代码分析和测试,以提升其准确性和性能。Cppcheck 需要 C++11 支持的编译器,并可选择使用 PCRE 库来增强规则匹配功能。
* [walaj/SeqLib](https://github.com/walaj/SeqLib) SeqLib是一个 C++ 库,用于查询 BAM/SAM/CRAM 文件,在内存中执行 BWA-MEM 操作,并进行序列组装。它基于 HTSlib、BWA-MEM(Apache2 分支)和 FermiKit,并提供 GenomicRegion 和 GenomicRegionCollection 类来存储和操作基因组区间,使用区间树进行快速查询。SeqLib 通过 C++ 智能指针自动管理 BWA-MEM 和 HTSlib 的 C 代码内存,避免手动使用 malloc 和 free,提高代码安全性。SeqLib 可扩展,可通过 C++ 类扩展构建新的功能,例如 VariantBam 项目。
* [google/benchmark](https://github.com/google/benchmark) GoogleBenchmark是一个用于对代码片段进行微基准测试的库,类似于单元测试。它允许用户定义基准测试函数,并使用`benchmark::State`对象来控制循环次数、计时和结果输出。用户可以通过`BENCHMARK`宏注册基准测试函数,并使用`BENCHMARK_MAIN`宏运行所有注册的基准测试。该库支持多种平台和编译器,并提供丰富的功能,例如统计分析、结果可视化和自定义配置。用户可以通过CMake进行安装,并使用`ctest`命令运行测试。
* [efficient/libcuckoo](https://github.com/efficient/libcuckoo) libcuckoo是一个高性能、并发哈希表库,支持多个并发读写线程。它采用Cuckoo Hashing算法,并针对并发性能进行了优化,支持多个并发写入线程。该库提供C++和C接口,并包含示例和测试代码。用户可以使用CMake构建库,并通过设置不同的编译选项来控制构建过程,例如选择构建示例、测试或基准测试。用户可以参考示例目录了解如何使用libcuckoo。该库的实现细节在NSDI 2013和EuroSys 2014的论文中有所描述。
* [Immediate-Mode-UI/Nuklear](https://github.com/Immediate-Mode-UI/Nuklear) 这是一个用 ANSI C 编写的最小化状态、即时模式的图形用户界面工具包,并在公共领域下获得许可。它被设计为应用程序的简单可嵌入用户界面,没有任何依赖项、默认渲染后端或操作系统窗口/输入处理,而是提供了一种高度模块化、基于库的方法,具有用于输入和绘制的简单输入状态,将基元形状描述为输出。因此,它不是提供一个试图抽象多个平台和渲染后端的分层库,而是只关注实际的 UI。
* [vinniefalco/LuaBridge](https://github.com/vinniefalco/LuaBridge) LuaBridge是一个轻量级、无依赖的库,用于在 C++ 和Lua 之间映射数据、函数和类。它支持 MIT 许可,提供参考手册,仅包含头文件,无需额外的库,并支持多种对象生命周期管理模型。LuaBridge 提供类型安全的 Lua 堆栈访问、自动函数参数类型绑定,以及对 Lua 对象(如表和函数)的便捷访问。它采用清晰易于调试的风格编写,并经过测试,可与 Lua 5.1.5 及更高版本以及 LuaJit 兼容。
* [lava/matplotlib-cpp](https://github.com/lava/matplotlib-cpp) matplotlib-cpp是一个轻量级且功能强大的 C++ 绘图库,它基于流行的 matplotlib 库,提供类似 Matlab 和 matplotlib 的绘图 API。该库仅包含头文件,使用简单,只需包含头文件并调用相应的函数即可生成图表。它支持多种绘图类型,包括折线图、散点图、向量场图等,并允许自定义颜色、线型、图例等。用户可以通过简单的代码示例快速上手,并利用其提供的功能生成各种类型的图表。
* [mattgodbolt/zindex](https://github.com/mattgodbolt/zindex) `zindex`是一个用于压缩文本文件的索引工具,可以快速高效地创建和查询索引。它通过在压缩文件中存储解压缩检查点来实现快速随机访问,即使对于大型文件也能快速提取单个行。索引文件通常仅占压缩文件大小的 10%。`zindex` 支持使用正则表达式、字段或外部程序来定义索引,并提供 `zq` 程序用于查询索引。用户可以通过命令行或 JSON 配置文件来创建和配置索引。
* [KDAB/hotspot](https://github.com/KDAB/hotspot) Hotspot是一个用于性能分析的 Linux perf 图形界面工具,由 KDAB开发。它提供类似 KCachegrind 的用户界面,并支持 Linux perf性能数据格式。Hotspot 可以可视化 perf.data 文件,并提供时间线、火焰图、调用者-被调用者、自下而上和自上而下的视图。此外,Hotspot 还允许用户从界面启动 perf 记录性能数据,并支持离线 CPU 分析、嵌入式系统、导入导出、跟踪点和反汇编等功能。
* [ahrm/sioyek](https://github.com/ahrm/sioyek) Sioyek是一款专注于教科书和研究论文的 PDF 阅读器,提供快速打开、目录搜索、智能跳转等功能,即使 PDF 文件没有提供链接,也能快速跳转到参考文献、图片或表格。此外,Sioyek 还支持标记、注释、搜索和笔记等功能,并提供 Windows、macOS 和Linux 版本,以及 Homebrew Cask 和第三方 Linux 软件包安装方式。用户可以通过官方文档和视频教程了解 Sioyek 的更多功能。
* [mcmilk/7-Zip-zstd](https://github.com/mcmilk/7-Zip-zstd) 7-ZipZS 是一个支持多种压缩算法的 7-Zip 版本,包括 Zstandard、Brotli、LZ4、LZ5、Lizard 和 Fast LZMA2。它提供两种安装方式:完整安装,包括 GUI 和资源管理器集成;仅安装编解码器插件,集成到现有的 7-Zip 安装中。该项目提供一个多线程库,用于加速压缩和解压缩速度。该项目提供一个完整的安装程序,以及单独的编解码器插件,用户可以根据需要选择安装方式。
* [muellan/clipp](https://github.com/muellan/clipp) clipp是一个现代 C++ 命令行参数解析库,提供单头文件实现,易于使用且功能强大。它支持各种解析需求,包括选项、选项加值、位置值、位置命令、嵌套替代方案、决策树、可连接标志、自定义值过滤器等。clipp 还提供文档生成功能,可生成使用说明和手册页,并包含错误处理机制。此外,clipp 提供大量示例和测试用例,方便开发者学习和使用。
* [MKXJun/DirectX11-With-Windows-SDK](https://github.com/MKXJun/DirectX11-With-Windows-SDK) 这是一个使用 Windows SDK (C++) 开发 Direct3D 11.x 的现代 DX11 系列教程,项目提供完整的代码示例和详细的教程文档,涵盖了从基础到进阶的 DX11 开发知识,并支持 CMake 构建系统,方便用户在不同平台上编译运行。教程文档可在 Github 页面和博客上获取,并提供 QQ 交流群供用户交流学习。项目代码经过 2.x.x 版本的重大更新,并支持 Win7 及以上系统。
* [AFLplusplus/AFLplusplus](https://github.com/AFLplusplus/AFLplusplus) AFL++是 Google AFL 的增强版,它拥有更快的速度、更多更好的变异、更多更好的检测、自定义模块支持等。AFL++ 提供了 Docker 镜像,方便用户快速使用,并提供了详细的文档和教程。用户可以自行编译 AFL++,并通过提供的文档学习如何使用它进行模糊测试。AFL++ 支持多种模糊测试场景,包括源代码可用、二进制文件、网络服务和 GUI 程序。
* [AutoHotkey/AutoHotkey](https://github.com/AutoHotkey/AutoHotkey) AutoHotkey是一款免费开源的宏创建和自动化软件工具,可用于自动执行重复性任务。它使用自定义脚本语言,该语言专门用于定义键盘快捷键(也称为热键)。AutoHotkey 支持 Windows XP 及更高版本,并提供社区论坛以获取支持。开发者可以使用 Microsoft Visual Studio 或 VS Code编译 AutoHotkey,并可以选择构建调试版本、发布版本或自包含版本。
* [mamba-org/mamba](https://github.com/mamba-org/mamba) mamba是一个用 C++ 编写的跨平台包管理器,它比 conda 更快,并利用 libsolv 库进行高效的依赖关系解析。mamba与 conda 兼容,并提供额外的功能,例如 repoquery 用于查询仓库和包依赖关系。micromamba 是 mamba 的纯 C++实现,更小巧且无需 Python 环境。mamba 生态系统还包括 quetz(开源 conda 包服务器)和 boa(快速 conda 包构建器)。
* [vvaltchev/tilck](https://github.com/vvaltchev/tilck) Tilck是一个小型、单片式的x86内核,旨在与Linux在二进制级别兼容。它的设计简单易懂,是学习内核编程的理想选择,同时可以与Linux内核运行相同的用户态程序进行比较。Tilck支持主流的Linux程序,如BusyBox套件,不需要像其他教育内核那样开发自己的应用程序。Tilck支持i386和riscv64架构,并提供完整的文档和调试工具。
* [MrGlockenspiel/activate-linux](https://github.com/MrGlockenspiel/activate-linux) activate-linux是一个将 Windows 激活水印移植到 Linux 的项目,使用 cairo库用 C 语言编写。它可以模拟 Windows 激活水印,并显示在 Linux 桌面上,支持多种 Linux 发行版,并提供多种安装方式,包括 Ubuntu、Arch Linux、Nix、Gentoo 和 openSUSE等。该项目依赖于 libcairo2-dev、libxi-dev 等库,并提供详细的安装说明和依赖库安装方法。
* [facebook/zstd](https://github.com/facebook/zstd) 快速无损压缩算法,针对 zlib 级的实时压缩场景和更好的压缩比。它由 Huff0 和 FSE 库提供的非常快的熵级支持。Zstandard 的格式是稳定的,并记录在RFC8878中。已经有多个独立的实现可用。此存储库表示参考实现,作为开源双 BSD 或 GPLv2 许可的 C 库提供,以及生成和解码 .zst 、 .gz .xz 和 .lz4 文件的命令行实用程序。
* [jart/cosmopolitan](https://github.com/jart/cosmopolitan) Cosmopolitan Libc 使 C 语言成为一种随处运行一次的语言,就像 Java 一样,但它不需要解释器或虚拟机。取而代之的是,它重新配置了库存 GCC 和 Clang,以输出 POSIX 批准的多语言格式,该格式在 Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS 上本地运行,具有最佳性能和可以想象到的最小的占用空间。
* [ttroy50/cmake-examples](https://github.com/ttroy50/cmake-examples) CMake 是一个跨平台的开源元构建系统,可以构建、测试和打包软件。这个存储库包括一些现代 CMake 配置示例,我在探索它在各种项目中的用法时已经拿起了这些配置。这些示例以类似教程的格式进行布局。第一个示例非常基础,并且利用前面的示例来展示更复杂的用例,复杂性会慢慢增加。
* [derceg/explorerplusplus](https://github.com/derceg/explorerplusplus) Explorer++是一个轻量级且快速的 Windows 文件管理器,支持选项卡式浏览、可自定义的用户界面、完整的拖放支持以及高级文件操作,例如合并和拆分文件。它还提供搜索、书签和多种视图模式,并提供 32 位、64 位和 ARM64 版本。用户可以通过注册表或配置文件保存设置,使其完全便携。
* [aristocratos/btop](https://github.com/aristocratos/btop) btop是一个系统资源监控工具,支持Linux、macOS、FreeBSD、NetBSD和OpenBSD等多种平台。它使用C++20编写,提供丰富的功能,包括CPU、内存、磁盘、网络、进程等资源监控,以及主题切换、自定义配置等功能。btop还支持GPU监控,并提供多种安装方式,包括Snap包、源码编译等。
* [attractivechaos/klib](https://github.com/attractivechaos/klib) 独立轻量级 C 库,MIT/X11许可。 多数组件都独立于外部库,除了标准 C 库,并且彼此独立。Klib 致力于提高效率和减少内存占用。 就速度和内存使用而言,某些组件(如 khash.h、kbtree.h、ksort.h 和 kvec.h)是所有编程语言中类似算法或数据结构的最有效实现之一。
* [0voice/cpp_new_features](https://github.com/0voice/cpp_new_features) 该项目是一个 C++ 学习资源库,包含 C++ 11/14/17/20/23 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等内容,旨在帮助学习者掌握 C++ 语言的最新特性和知识。项目还提供了 C++语言发展历史的简要介绍,以及对 C++ 语言的优势和特点的分析。
* [electronicarts/EASTL](https://github.com/electronicarts/EASTL) EASTL 代表 Electronic Arts 标准模板库。它是一个广泛而强大的实现,强调高性能。它是容器、算法和迭代器的 C++ 模板库,可用于跨多个平台的运行时和工具开发。它是此类库的相当广泛和健壮的实现,并且强调高性能高于所有其他考虑因素。
* [simdjson/simdjson](https://github.com/simdjson/simdjson) 每秒解析千兆字节的JSON:由Facebook / Meta Velox,WestmelonDB,Apache Doris,StarRocks使用。simdjson 库使用常用的 SIMD 指令和微并行算法来解析 JSON 的速度比 RapidJSON 快 4 倍,比 JSON 快 25 倍,适用于现代C++。
* [0voice/linux_kernel_wiki](https://github.com/0voice/linux_kernel_wiki) 这是一个Linux内核学习资源库,包含200多篇经典内核文章、100多篇论文、50多个内核项目、500多道内核面试题和80多个内核视频教程,旨在帮助学习者系统掌握Linux内核原理及架构,从入门到精通。
* [federico-busato/Modern-CPP-Programming](https://github.com/federico-busato/Modern-CPP-Programming) 现代 C++ 编程课程 (C++ 11/14/17/20/23),这门开放获取课程面向那些已经熟悉 C 和面向对象编程的人,以达到 C++ 编程的熟练程度。该课程涵盖 C++ 编程的基础知识,并转向高级 C++ 语义和概念。
* [open-source-parsers/jsoncpp](https://github.com/open-source-parsers/jsoncpp) 用于与 JSON 交互的C++库。C++库,允许操作 JSON 值,包括字符串的序列化和反序列化。它还可以在反序列化/序列化步骤中保留现有注释,使其成为存储用户输入文件的方便格式。
* [abseil/abseil-cpp](https://github.com/abseil/abseil-cpp) C++ 库代码的开源集合,旨在增强 C++ 标准库。Abseil 库代码是从 Google 自己的 C++ 代码库中收集的,经过广泛的测试并在生产中使用,与我们日常编码生活中依赖的代码相同。
* [SFML/SFML](https://github.com/SFML/SFML) 简单、快速、跨平台和面向对象的多媒体 API。它提供对窗口、图形、音频和网络的访问。它是用 C++ 编写的,并具有各种语言的绑定,例如 C、.Net、Ruby、Python。
* [wuye9036/CppTemplateTutorial](https://github.com/wuye9036/CppTemplateTutorial) 中文的C++ Template的教学指南。与知名书籍C++ Templates不同,该系列教程将C++ Templates作为一门图灵完备的语言来讲授,以求帮助读者对Meta-Programming融会贯通。
* [zhongyang219/TrafficMonitor](https://github.com/zhongyang219/TrafficMonitor) 用于Windows平台的网速监控悬浮窗软件,可以显示当前网速、CPU及内存利用率,支持嵌入到任务栏显示,支持更换皮肤、历史流量统计等功能。
* [collectd/collectd](https://github.com/collectd/collectd) 系统统计信息收集守护程序。collectd 是一个小型守护程序,它定期收集系统信息,并提供以多种方式存储和监视值的机制。
* [sumatrapdfreader/sumatrapdf](https://github.com/sumatrapdfreader/sumatrapdf) C/C++ Windows 的多格式(PDF、EPUB、MOBI、CBZ、CBR、FB2、CHM、XPS、DjVu)阅读器,采用 (A)GPLv3 许可,部分代码采用 BSD 许可。
* [gozfree/gear-lib](https://github.com/gozfree/gear-lib) 一组通用的C基础库,用POSIX C实现,目标是为了跨平台兼容。适用于物联网,嵌入式,以及网络服务开发等场景。
* [jobbole/awesome-cpp-cn](https://github.com/jobbole/awesome-cpp-cn) C++ 资源大全中文版,标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。
* [rigtorp/awesome-modern-cpp](https://github.com/rigtorp/awesome-modern-cpp) 有关现代 C++ 的资源集合。目标是收集资源列表,以帮助人们了解和利用现代 C++11 及更高版本。
* [Qihoo360/safe-rules](https://github.com/Qihoo360/safe-rules) 详细的C/C++编程规范指南,由360质量工程部编著,适用于桌面、服务端及嵌入式软件系统。
* [TheAlgorithms/C-Plus-Plus](https://github.com/TheAlgorithms/C-Plus-Plus) 以 C++ 实现的数学、机器学习、计算机科学和物理学中的各种算法的集合,用于教育目的。
* [fffaraz/awesome-cpp](https://github.com/fffaraz/awesome-cpp) A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
* [idealvin/coost](https://github.com/idealvin/coost) 一个优雅高效的跨平台C++基础库。它的目标是创建一把C++之剑,使C++编程变得简单愉快。
* [skyline-emu/skyline](https://github.com/skyline-emu/skyline) 实验性模拟器,可在 ARMv8 Android™ 设备上运行并模拟 Nintendo Switch™ 游戏机系统的功能
* [catchorg/Catch2](https://github.com/catchorg/Catch2) 用于单元测试、TDD 和 BDD 的现代 C++ 原生测试框架 - 使用 C++14、C++17 及更高版本
* [isocpp/CppCoreGuidelines](https://github.com/isocpp/CppCoreGuidelines) C++ 核心指南是一组关于使用 C++ 编码的久经考验的指南、规则和最佳实践
* [fmtlib/fmt](https://github.com/fmtlib/fmt) 开源格式库,为 C stdio 和 C++ iostreams 提供了快速安全的替代方案。
* [Tencent/libco](https://github.com/Tencent/libco) 广泛应用于微信后台服务的协程库。 已经在数万台机器上运行。
* [bkaradzic/bgfx](https://github.com/bkaradzic/bgfx) 跨平台、与图形 API 无关的“自带引擎/框架”风格的渲染库。
* [libcpr/cpr](https://github.com/libcpr/cpr) libcurl的简单包装器,灵感来自优秀的Python Requests项目。
* [openframeworks/openFrameworks](https://github.com/openframeworks/openFrameworks) 社区开发的跨平台工具包,用于C++中的创造性编码。
* [citra-emu/citra](https://github.com/citra-emu/citra) 用 C++ 编写的实验性开源 Nintendo 3DS 模拟器/调试器。
* [Tencent/rapidjson](https://github.com/Tencent/rapidjson) 快速JSON解析/生成器,同时使用C++ SAX/DOM 样式 API
* [microsoft/vcpkg](https://github.com/microsoft/vcpkg) 帮助您管理 Win、Linux 和 MacOS 上的 C 和 C++ 库。
* [facebook/infer](https://github.com/facebook/infer) 适用于 Java、C、C++ 和 Objective-C 的静态分析器
* [nothings/stb](https://github.com/nothings/stb) 用于 C/C++ 的单文件公共域(或 MIT 许可)库
* [Tencent/MMKV](https://github.com/Tencent/MMKV) 微信开发的高效、小型移动键值存储框架。
* [gabime/spdlog](https://github.com/gabime/spdlog) 非常快速,仅标头/编译的 C++ 日志记录库。
* [ocornut/imgui](https://github.com/ocornut/imgui) 具有最小依赖性的 C++ 无膨胀图形用户界面
* [bblanchon/ArduinoJson](https://github.com/bblanchon/ArduinoJson) 用于Arduino和嵌入式C++的JSON库。简单高效。
* [TheCherno/Hazel](https://github.com/TheCherno/Hazel) Windows 的早期交互式应用程序和渲染引擎。
* [akheron/jansson](https://github.com/akheron/jansson) 用于编码、解码和操作 JSON 数据的 C 库
* [google/googletest](https://github.com/google/googletest) Google 测试和模拟框架 C++ 测试框架
* [koshox/pythonvm](https://github.com/koshox/pythonvm) 《自己动手写python虚拟机》C++实现
* [miloyip/json-tutorial](https://github.com/miloyip/json-tutorial) 从零开始的 JSON 库教程 C/C++ 编程
* [AnthonyCalandra/modern-cpp-features](https://github.com/AnthonyCalandra/modern-cpp-features) 现代C++语言和库功能的备忘单。
* [miloyip/nativejson-benchmark](https://github.com/miloyip/nativejson-benchmark) C/C++ JSON 解析器/生成器基准测试
* [facebook/folly](https://github.com/facebook/folly) Facebook开发和使用的开源C++库。
* [jupyter-xeus/xeus-cling](https://github.com/jupyter-xeus/xeus-cling) 用于 C++ 编程语言的 Jupyter 内核
* [xmake-io/xmake](https://github.com/xmake-io/xmake) 基于 Lua 的跨平台构建实用程序
* [DaveGamble/cJSON](https://github.com/DaveGamble/cJSON) ANSI C 中的超轻量级 JSON 解析器
* [tangtangcoding/C-C-](https://github.com/tangtangcoding/C-C-) C语言电子书与视频资料分享
* [progschj/ThreadPool](https://github.com/progschj/ThreadPool) 一个简单的 C++11 线程池实现
* [huihut/interview](https://github.com/huihut/interview) C/C++ 技术面试基础知识总结
* [CnTransGroup/EffectiveModernCppChinese](https://github.com/CnTransGroup/EffectiveModernCppChinese) 《Effective Modern C++ 》翻译
* [upx/upx](https://github.com/upx/upx) eXecutables 的终极打包器c++
* [miloyip/json-tutorial](https://github.com/miloyip/json-tutorial) 从零开始的 JSON 库教程
* [cloudwu/coroutine](https://github.com/cloudwu/Coroutine) C 的非对称协程库。
* [linyacool/WebServer](https://github.com/linyacool/WebServer) C++11编写的Web服务器
* [nlohmann/json](https://github.com/nlohmann/json) 适用于现代C++的 JSON
* [C 程序设计 · 语雀](https://www.yuque.com/qyuhen/c11) C 程序设计 · 语雀
* [Mooophy/Cpp-Primer](https://github.com/Mooophy/Cpp-Primer) C++ 入门5答案
* [liu-jianhao/Cpp-Design-Patterns](https://github.com/liu-jianhao/Cpp-Design-Patterns) C++设计模式
* [chengxumiaodaren/cpp-learning](https://github.com/chengxumiaodaren/cpp-learning) C++学习
## Flutter程序
* [sony/flutter-embedded-linux](https://github.com/sony/flutter-embedded-linux) 该项目旨在为嵌入式 Linux 系统提供非官方的 Flutter 嵌入,专注于嵌入式 Linux (eLinux) 系统用例,基于 Flutter 桌面版 Windows 实现,并针对嵌入式系统进行了优化。该项目提供了一套工具和插件,用于在嵌入式 Linux 设备上构建和调试 Flutter 应用,并支持 Wayland、DRM、EGLStream 等显示后端,提供键盘、鼠标和触控输入支持,并与 Flutter 桌面版 Windows 和 GLFW 保持 API 兼容性。该项目最终目标是将嵌入式版本合并到 Flutter 引擎主线中,以供所有嵌入式开发者使用。
* [xiaoyaocz/dart_simple_live](https://github.com/xiaoyaocz/dart_simple_live) 这是一个使用 Dart 编写的简单直播应用程序,支持观看斗鱼、虎牙、哔哩哔哩等平台的直播,并提供 Android、iOS、Windows、MacOS、Linux 和 Android TV 版本。该项目基于 `simple_live_core` 核心库,并包含 `simple_live_console`命令行工具和 `simple_live_app` Flutter 应用程序。项目还依赖于 `AllLive`、`dart_tars_protocol`等第三方库,并参考了 `lovelyyoshino/Bilibili-Live-API`、`IsoaSFlus/danmaku` 等开源项目。
* [leoafarias/fvm](https://github.com/leoafarias/fvm) FVM是一个简单的命令行工具,用于管理 Flutter SDK 版本。它允许每个项目使用不同的 SDK 版本,从而确保应用程序构建的一致性,并简化新版本的测试,提高 Flutter 项目任务的效率。FVM 解决了多个 Flutter SDK 的同时使用、通道切换速度慢、难以管理最新成功的 SDK 版本、Flutter 主要更新需要全面迁移应用程序以及团队开发环境不一致等问题。更多信息请访问 FVM 文档。
* [CarGuo/gsy_github_app_flutter](https://github.com/CarGuo/gsy_github_app_flutter) Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github
* [guozhigq/pilipala](https://github.com/guozhigq/pilipala) PiliPala 是一个使用 Flutter 开发的 BiliBili 第三方客户端,提供多种功能,包括推荐视频列表、热门视频列表、分区直达、搜索、用户相关功能等。项目目前已实现移动端(Android 和 iOS)版本,并计划开发网页端、桌面端等版本。PiliPala 致力于为用户提供更加便捷、高效、个性化的 BiliBili 使用体验。
* [flame-engine/flame](https://github.com/flame-engine/flame) Flame是一个基于 Flutter 的游戏引擎,提供游戏循环、组件/对象系统、特效和粒子、碰撞检测、手势和输入处理、图像、动画、精灵和精灵表等功能,以及简化开发的通用工具。Flame 还提供桥接包,可以无缝集成其他包,例如用于音频播放的 flame_audio 和用于状态管理的 flame_bloc。
* [simplezhli/flutter_deer](https://github.com/simplezhli/flutter_deer) Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。颤振实践项目(包括集成测试和可访问性测试)。包含完整的 UI 设计图纸,用于更真实的实践项目。
* [toly1994328/FlutterUnit](https://github.com/toly1994328/FlutterUnit) Flutter 集录指南 App,Flutter源码中的可用的组件一共350个左右,纷繁复杂,也没有明确的分类标准 FlutterUnit 对大大小小,常用不常用的组件能收的尽量收录。
* [felangel/bloc](https://github.com/felangel/bloc) 有助于实现 BLoC 设计模式的可预测状态管理库。BLoC是Business Logic Component的英文缩写,译为业务逻辑组件,是一种使用响应式编程来构建应用的方式。
* [cfug/dio](https://github.com/cfug/dio) 一个强大的 HTTP 客户端,用于 Dart 和 Flutter,支持全局设置、拦截器、FormData、中止和取消请求、文件上传和下载、请求超时、自定义适配器等。
* [flutter/plugins](https://github.com/flutter/plugins) 这个 repo 是 main flutter repo 的配套 repo。它包含 Flutter 第一方插件(即由 Flutter 核心团队开发的插件)的源代码。READ ONLY
* [kaina404/FlutterDouBan](https://github.com/kaina404/FlutterDouBan) Flutter豆瓣客户端,Awesome Flutter Project,全网最100%还原豆瓣客户端。首页、书影音、小组、市集及个人中心,一个不拉。
* [yukilzw/dy_flutter](https://github.com/yukilzw/dy_flutter) 斗鱼直播APP 多元化Flutter开源项目。涵盖礼物特效、手势动画、弹幕池、抽奖、鱼吧等(另提供服务端Mock接口)
* [AweiLoveAndroid/Flutter-learning](https://github.com/AweiLoveAndroid/Flutter-learning) Flutter安装和配置,Flutter开发遇到的难题,Flutter示例代码和模板,Flutter项目实战,Dart语言学习示例代码。
* [alibaba/flutter_boost](https://github.com/alibaba/flutter_boost) FlutterBoost 是一个 Flutter 插件,它能够以最少的努力为您现有的本机应用程序实现 Flutter 的混合集成。
* [jonataslaw/getx](https://github.com/jonataslaw/getx) 在没有上下文的情况下打开屏幕/小吃栏/对话框/底部工作表,使用 Get 轻松管理状态并注入依赖项。
* [simplezhli/flutter_deer](https://github.com/simplezhli/flutter_deer) Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。
* [firebase/flutterfire](https://github.com/firebase/flutterfire) 用于 Flutter 应用的 Firebase 插件集合。组 Flutter 插件,使 Flutter 应用能够使用 Firebase 服务。
* [crazycodeboy/awesome-flutter-cn](https://github.com/crazycodeboy/awesome-flutter-cn) 一个很棒的Flutter学习资源,官方教程,插件,工具,文章,App,视频教程等的资源列表
* [imaNNeoFighT/fl_chart](https://github.com/imaNNeoFighT/fl_chart) FL Chart 是高度可定制的 Flutter 图表库,支持折线图、条形图、饼图、散点图和雷达图。
* [LianjiaTech/bruno](https://github.com/LianjiaTech/bruno) Bruno 是基于一整套设计体系的 Flutter 组件库。一套企业级移动端 Flutter 组件库.
* [osoutpost/awesome-flutter-cn](https://github.com/osoutpost/awesome-flutter-cn) Flutter 资源大全中文版。包括:组件、导航、模板、插件、框架和引擎等
* [TheAlphamerc/flutter_twitter_clone](https://github.com/TheAlphamerc/flutter_twitter_clone) 使用 Firebase 实时数据库和存储在 flutter 框架中构建的全功能 Twitter 克隆
* [alibaba/flutter-go](https://github.com/alibaba/flutter-go) flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档
* [flutter/flutter](https://github.com/flutter/flutter) Flutter 可以轻松快速地为移动设备及其他领域构建漂亮的应用程序
* [CarGuo/gsy_github_app_flutter](https://github.com/CarGuo/gsy_github_app_flutter) Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。
* [balena-io/etcher](https://github.com/balena-io/etcher) 安全、轻松地将操作系统映像闪存到 SD 卡和 USB 驱动器。
* [tbl00c/TLChat](https://github.com/tbl00c/TLChat) 高仿微信,iOS代码重构。此版本TLChat基于TLKit、 ZZFLEX实现
* [nisrulz/flutter-examples](https://github.com/nisrulz/flutter-examples) 给初露头角的flutter开发者的简单基本的应用程序示例。
* [brianegan/flutter_architecture_samples](https://github.com/brianegan/flutter_architecture_samples) 项目演示了解决或避免构建Flutter应用中常见的问题。
* [fluttercandies/wechat_flutter](https://github.com/fluttercandies/wechat_flutter) Flutter版本微信,一个优秀的Flutter即时通讯IM开源库
* [Sangwan5688/BlackHole](https://github.com/Sangwan5688/BlackHole) 满足您所有需求的开源音乐播放器应用程序!Flutter
* [Solido/awesome-flutter](https://github.com/Solido/awesome-flutter) 包含了最好的 Flutter 库、工具、教程、文章等。
* [xujiyou/zhihu-flutter](https://github.com/xujiyou/zhihu-flutter) Flutter 高仿知乎 UI,非常漂亮,也非常流畅。
* [xujiyou/zhihu-flutter](https://github.com/xujiyou/zhihu-flutter) Flutter 高仿知乎 UI,非常漂亮,也非常流畅。
* [zwStar/vue-meituan](https://github.com/zwStar/vue-meituan) vue+node+mongodb仿美团外卖点餐系统带支付功能
* [iampawan/FlutterExampleApps](https://github.com/iampawan/FlutterExampleApps) 基本的 Flutter 应用程序,适用于开发人员。
* [lollipopkit/flutter_server_box](https://github.com/lollipopkit/flutter_server_box) 使用 Flutter 的服务器状态和工具箱应用程序
* [LianjiaTech/bruno](https://github.com/LianjiaTech/bruno) 基于一整套设计体系的 Flutter 组件库。
* [flutter/packages](https://github.com/flutter/packages) 由 Flutter 团队维护的有用软件包的集合
* [CoderMikeHe/flutter_wechat](https://github.com/CoderMikeHe/flutter_wechat) 利用 Flutter 来高仿微信(WeChat) 7.0.0+ App
* [dart-lang/sdk](https://github.com/dart-lang/sdk) Dart SDK,包括 VM、dart2js、核心库等。
* [sanfengliao/vue-juejin](https://github.com/sanfengliao/vue-juejin) vue仿掘金app客户端开发web版掘金app
* [youxinLu/flutter_mall](https://github.com/youxinLu/flutter_mall) 一款Flutter开源在线商城应用程序
* [ducafecat/flutter_learn_news](https://github.com/ducafecat/flutter_learn_news) flutter实战学习-新闻客户端
* [freestyletime/FlutterNews](https://github.com/freestyletime/FlutterNews) 用Flutter写的新闻类小项目
* [wenmingvs/WeiBo](https://github.com/wenmingvs/WeiBo) 第三方新浪微博客户端
* [mitesh77/Best-Flutter-UI-Templates](https://github.com/mitesh77/Best-Flutter-UI-Templates) 最佳 Flutter-UI 模板
* [chaychan/TouTiao](https://github.com/chaychan/TouTiao) 精仿今日头条
* [boyan01/flutter-netease-music](https://github.com/boyan01/flutter-netease-music) 仿网易云音乐
* [running-libo/Tiktok](https://github.com/running-libo/Tiktok) 高仿抖音APP
## Go程序设计
* [rs/zerolog](https://github.com/rs/zerolog) Zerolog是一个快速、简单的 JSON 日志库,其 API 设计旨在提供出色的开发体验和惊人的性能。其独特的链式 API 允许 Zerolog 在不进行内存分配和反射的情况下写入 JSON(或 CBOR)日志事件。Zerolog 的性能优于 Uber 的 zap 库,同时提供更易于使用的 API。Zerolog 专注于高效的结构化日志记录,并提供一个可选的 `zerolog.ConsoleWriter` 用于在控制台中进行美观的日志输出。Zerolog 的主要特点包括:极快的速度、低内存分配、分级日志记录、日志采样、钩子、上下文字段、`context.Context` 集成、`net/http`集成、JSON 和 CBOR 编码格式、开发环境下的美观日志输出以及错误日志记录(可选堆栈跟踪)。
* [prometheus/client_golang](https://github.com/prometheus/client_golang) PrometheusGo client library是一个用于Go应用程序的Prometheus监控库,它包含两个部分:用于应用程序代码的监控库和用于与Prometheus HTTP API通信的客户端。该库需要Go 1.21或更高版本。该库遵循语义版本控制,但API客户端仍处于实验阶段,其变更不会触发新的主要版本发布。该库提供了用于监控应用程序的`prometheus`目录和用于与Prometheus HTTP API通信的`api/prometheus`目录,并包含简单的示例代码。`model`包已移至`prometheus/common/model`,`extraction`和`text`包已移至`prometheus/common/expfmt`。该库的社区在CNCF Slack的`#prometheus-client_golang`频道中活跃。
* [tidwall/gjson](https://github.com/tidwall/gjson) GJSON是一个 Go 语言包,提供了一种快速且简单的从 JSON 文档中获取值的方法。它支持点语法路径、通配符、迭代、JSON 行解析等功能。通过简洁的语法,例如 `gjson.Get(json, "name.last")`,可以快速获取 JSON文档中的指定值。GJSON 还提供了一些其他功能,例如 `GetBytes` 用于处理 JSON 字节切片,以及 `#(...)` 和 `#(...)#` 用于在数组中查找匹配项。此外,GJSON 还支持比较运算符和模式匹配,例如 `==`、`!=`、`u003c`、`u003e`、`%` 和 `!%`。GJSON还有 Python 和 Rust 版本,方便在不同语言环境中使用。
* [pdfcpu/pdfcpu](https://github.com/pdfcpu/pdfcpu) pdfcpu是一个用 Go 语言编写的 PDF 处理库,它支持加密,并提供API 和命令行界面 (CLI)。它兼容所有 PDF 版本,并对 PDF 2.0 (ISO-32000-2) 提供基本支持和持续改进。pdfcpu 的主要目标是提供强大的批处理和脚本功能,并提供全面的命令行界面,同时简化 PDF 处理与 Go 后端系统的集成。它提供丰富的命令集,包括注释、附件、小册子、书签、颜色、压缩、转换、创建、裁剪、解密、加密、提取、字体、表单、图像、合并、元数据、页面、旋转、签名、拆分、戳记、水印等。
* [hackstoic/golang-open-source-projects](https://github.com/hackstoic/golang-open-source-projects) 这是一个专门为互联网IT人打造的中文版awesome-go项目,旨在收集整理大量优秀的Go开源项目,并提供详细的中文介绍和分类,方便开发者快速找到所需资源。项目已收录154个开源项目,涵盖17个大类,例如网络系统、数据库技术、PaaS平台、大数据、微服务、CI/CD、数据库存储技术、分布式系统、消息系统等,方便开发者快速学习和使用Go语言进行开发。项目致力于帮助开发者学习和使用Go语言,并提供丰富的资源和示例代码,方便开发者快速上手和进行项目开发。
* [segmentio/ksuid](https://github.com/segmentio/ksuid) ksuid是一个高效、全面、经过实战检验的Go库,用于生成和解析一种名为KSUID的全局唯一标识符。它提供了一种自然排序的全局唯一标识符,类似于UUID,但它通过时间戳组件进行排序,无需额外的逻辑。KSUID具有以下特点:自然排序、无冲突、无协调、无依赖,并且具有可移植的文本和二进制表示形式。它在时间戳组件中包含128位的伪随机数据,有效地降低了冲突的可能性。KSUID的文本表示形式是base62编码的,使其易于复制粘贴,并且可以与其他系统兼容。
* [sqlc-dev/sqlc](https://github.com/sqlc-dev/sqlc) 将 SQL 编译为类型安全的代码; 在故障发生之前发现故障。架构更新和编写不佳的查询通常会使生产数据库瘫痪。这很糟糕。建议架构更改时,在应用架构更改时,在生产环境中运行的现有查询和代码可能会失败。输入 sqlc verify,如果存在任何问题,它会根据新的架构更改和错误分析现有查询。运作方式:1.您编写 SQL 查询 2.运行 sqlc 来生成代码,为这些查询提供类型安全接口 3.您可以调用 sqlc 生成的方法编写应用程序代码。
* [samber/lo](https://github.com/samber/lo) `lo`是一个基于 Go 1.18+泛型的 Lodash 风格 Go 库,提供类似 Lodash 的功能,例如 map、filter、contains 和 find 等。它利用 Go 泛型实现,比基于反射的库(如 `go-funk`)更快,并且性能与纯 `for` 循环相当。`lo` 提供了丰富的函数,例如过滤、映射、归约、遍历、去重、分组、切片操作等,可以帮助开发者更高效地操作切片、映射和通道。该库遵循 SemVer 版本控制,并与 Go 标准库兼容。`lo` 还提供了一个并行库 `lop`,可以用于并行操作。
* [stretchr/testify](https://github.com/stretchr/testify) stretchr/testify是一个 Go 语言测试工具包,提供易于使用的断言和模拟功能,与标准库兼容。它包含断言(assert)、模拟(mock)和测试套件(suite)等功能,帮助开发者编写更清晰、更易读的测试代码。断言功能提供易于阅读的错误描述,并允许在断言失败时附加自定义信息。模拟功能允许开发者创建模拟对象,用于测试依赖于外部服务的代码。测试套件功能则提供了一种组织和运行测试的方法,使测试代码更易于维护。
* [dundee/gdu](https://github.com/dundee/gdu) Gdu是一个用 Go 语言编写的快速磁盘使用情况分析器,它拥有一个控制台界面。Gdu 主要针对 SSD 磁盘,可以充分利用并行处理,但 HDD 也能正常使用,只是性能提升不那么明显。Gdu 可以显示磁盘使用情况的树状图,并提供各种选项来过滤和排序文件和目录。Gdu 支持多种功能,例如:忽略特定目录、跟踪符号链接、显示文件大小、导出分析结果到 JSON 文件等。用户可以通过命令行参数或配置文件来配置 Gdu 的行为。
* [manifoldco/promptui](https://github.com/manifoldco/promptui) promptui是一个用于 Go 语言的命令行交互式提示库,它提供简单易用的接口来创建命令行提示,方便用户输入信息。promptui支持两种主要输入模式:`Prompt` 用于单行输入,支持实时验证、确认和掩盖输入;`Select` 用于从选项列表中选择,支持分页、搜索、详细视图和自定义模板。promptui 可轻松集成到 spf13/cobra、urfave/cli 或任何 Go 语言 CLI应用中。项目包含丰富的示例,方便开发者快速上手。
* [google/wire](https://github.com/google/wire) Wire是一个用于 Go 语言的代码生成工具,它通过依赖注入自动连接组件,依赖关系以函数参数的形式在 Wire 中表示,鼓励显式初始化而不是使用全局变量。Wire 在运行时不使用状态或反射,因此使用 Wire 编写的代码即使手动初始化也能正常工作。Wire 目前处于 beta阶段,功能已完备,可用于其设计目的,并保持尽可能简单。项目提供教程、用户指南、最佳实践和常见问题解答等文档。
* [emirpasic/gods](https://github.com/emirpasic/gods) GoDS (GoData Structures) 是一个 Go 语言库,提供了各种数据结构和算法的实现,包括列表、集合、栈、映射、树、队列等。该库提供了多种数据结构的实现,例如数组列表、单链表、双链表、哈希集、树集、链表哈希集、栈、映射、红黑树、AVL 树、B 树、二叉堆、队列等。所有数据结构都实现了容器接口,并提供有序或无序的选项,部分数据结构还支持迭代器和可枚举函数。
* [quii/learn-go-with-tests](https://github.com/quii/learn-go-with-tests) 该项目以测试驱动开发的方式教授 Go 语言,通过编写测试来探索 Go 语言的特性,并帮助学习者掌握 TDD 的方法。项目包含 Go 语言基础知识、测试技巧、并发编程、依赖注入、反射等内容,并提供 Gitbook、EPUB、PDF 等多种格式,以及中文、葡萄牙语、日语等多种语言版本。项目特色在于通过测试驱动学习,并提供丰富的示例和练习,帮助学习者快速掌握 Go语言和 TDD。
* [jf-tech/omniparser](https://github.com/jf-tech/omniparser) omniparser是一个用 Go 编写的 ETL 解析器,支持流式解析多种格式的数据,包括 CSV、文本、固定长度、XML、EDI/X12/EDIFACT、JSON 和自定义格式,并根据 JSON 格式的 Schema 将数据转换为所需的 JSON 输出。omniparser 提供了丰富的文档和示例,方便用户快速上手,并支持自定义函数扩展功能。用户可以通过在线 Playground(目前不可用)或本地运行 `cli.sh` 脚本进行测试。
* [scipipe/scipipe](https://github.com/scipipe/scipipe) SciPipe是一个使用Go语言编写的科学工作流库,它可以帮助你用灵活、稳健和可重复的方式运行许多相互依赖的命令行程序。SciPipe支持将命令行程序与Go进程组合,并提供对文件命名、流式数据、并行处理和调试等功能的支持,使你能够高效地构建和运行复杂的科学工作流。SciPipe还支持中断恢复和生成运行审计报告,确保工作流的可靠性和可追溯性。
* [oklog/ulid](https://github.com/oklog/ulid) oklog/ulid 是一个 Go 语言实现的 ULID 库,它提供了一种用于生成全局唯一且可排序的标识符的方案。ULID 兼容 UUID/GUID,但具有更高效的编码方式,每毫秒可生成 1.21e+24 个唯一标识符。ULID 采用可排序的格式,并使用 Crockford 的 base32 编码,使其更易于阅读和 URL 安全。该库提供了多种生成 ULID 的方法,包括使用默认的随机数生成器或自定义的熵源。
* [golangci/golangci-lint](https://github.com/golangci/golangci-lint) golangci-lint是一个快速 Go 代码检查工具,它并行运行各种代码检查器,并利用缓存机制提高效率。它支持 YAML 配置文件,与主流 IDE 集成,并包含超过一百个代码检查器。您可以通过官网 https://golangci-lint.run 获取安装和使用文档,并加入 Slack 社区或关注Twitter 获取最新资讯。该项目由志愿者维护,如果您觉得它有用,可以考虑捐赠支持。
* [brianvoe/gofakeit](https://github.com/brianvoe/gofakeit) Gofakeit是一个用 Go 语言编写的随机假数据生成器,提供超过 310 个函数用于生成各种类型的数据,包括姓名、邮箱、电话号码、公司名称、信用卡号等。它支持多种随机数源,包括伪随机数生成器和加密安全的随机数生成器,并允许用户自定义函数和模板。Gofakeit 还提供命令行工具和 HTTP 服务器,方便用户生成和使用假数据。
* [cue-lang/cue](https://github.com/cue-lang/cue) CUE是一种用于验证数据、编写模式和确保配置符合策略的语言。它与 Go、JSON、YAML、OpenAPI 和 JSON Schema 等多种工具和格式兼容。CUE 提供了教程和指南,帮助用户快速学习和使用。用户可以通过 GitHub 下载最新版本或从源代码安装 CUE。CUE 支持 Go的两个最新主要版本,并遵循 Go 的安全策略。用户可以通过贡献指南参与 CUE 项目。
* [xxjwxc/uber_go_guide_cn](https://github.com/xxjwxc/uber_go_guide_cn) Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 GitHub,经过一年的积累和更新,该规范已经初具规模,并受到广大 Gopher 的关注。本文是该规范的中文版本。本版本会根据原版实时更新。
* [shenwei356/csvtk](https://github.com/shenwei356/csvtk) csvtk是一个跨平台、高效且实用的 CSV/TSV 工具集,用 Go 语言编写。它提供 53 个子命令,可以用于处理 CSV/TSV 数据,例如提取、过滤、排序、合并、统计等操作。csvtk 支持 STDIN 和 gzip 压缩文件,可以方便地集成到分析流程中。与其他工具相比,csvtk 速度更快,支持多核 CPU,并且不需要编译或配置。
* [gruntwork-io/terratest](https://github.com/gruntwork-io/terratest) Terratest是一个 Go 库,它简化了基础设施代码的自动化测试编写。它提供各种辅助函数和模式来完成常见的基础设施测试任务,包括测试 Terraform 代码、Packer 模板、Docker 镜像,通过 SSH 在服务器上执行命令,与 AWS、Azure、GCP 和 Kubernetes API 交互,测试 Helm Charts,发送 HTTP 请求,运行 shell 命令等等。
* [shomali11/go-interview](https://github.com/shomali11/go-interview) 这是一个使用 Go 语言解决技术面试问题的集合,包含算法、数据结构、评估、列表和数字等多个方面,例如 A* 算法、链表、哈希多重映射、后缀表达式计算、循环检测、数字进制转换等。该项目提供多种数据结构和算法的实现,并附带测试用例,可帮助开发者学习和复习技术面试相关知识。
* [golang/mobile](https://github.com/golang/mobile) golang/mobile项目提供Go语言在移动平台(实验性)的开发支持,包含构建工具和相关包,允许开发者构建纯Go应用或与SDK结合的应用;该项目尚处于实验阶段,使用需谨慎,Google和Go团队不提供最终用户支持;安装需Go 1.5及以上版本,并需参考官方文档进行gomobile命令安装及示例应用构建。
* [veandco/go-sdl2](https://github.com/veandco/go-sdl2) `go-sdl2` 是一个 Go 语言的 SDL2 绑定库,它允许 Go程序与用 C 语言编写的 SDL2 库进行交互。需要先安装 SDL2库才能使用 `go-sdl2`。该项目提供 GoDoc 文档,并包含示例代码,方便用户快速上手。支持跨平台编译,并在 Ubuntu、Fedora、Arch Linux、Gentoo、macOS 和 Windows 上提供详细的安装说明。
* [duke-git/lancet](https://github.com/duke-git/lancet) lancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。 lancet受到了java apache common包和lodash.js的启发。特性:全面、高效、可复用。700+常用 go 工具函数,支持 string、slice、datetime、net、crypt...只依赖 go 标准库和 golang.org/x。所有导出函数单元测试覆盖率 100%。
* [matryer/xbar](https://github.com/matryer/xbar) xbar是 BitBar 的重写版本,允许你在 macOS 菜单栏中显示任何脚本或程序的输出。它使用 Go 语言和 Wails.app 构建,完全开源,并提供插件库和编写插件指南。你可以从官网下载最新版本,并通过插件目录或在线浏览的方式安装插件。xbar需要 macOS Catalina 或更高版本。
* [hashicorp/golang-lru](https://github.com/hashicorp/golang-lru) golang-lru是一个基于 Groupcache 的固定大小、线程安全的 LRU 缓存库。它提供一个名为 `lru` 的包,并包含一个可扩展的 LRU缓存实现,支持设置过期时间。项目还提供了一个名为 `expirable` 的包,用于实现可过期 LRU 缓存,允许设置过期时间和最大缓存项数量。
* [darius-khll/golang-developer-roadmap](https://github.com/darius-khll/golang-developer-roadmap) 该项目是一个2021年 Go 开发者路线图,包含了成为 Go开发者所需学习的知识和技能,并以图表形式展示了不同学习路径和相关库。项目旨在帮助 Go 开发者明确学习方向,并提供学习资源,例如 Go 语言基础、SQL 数据库、Web 框架、数据库、ORM、缓存等。
* [grpc-ecosystem/grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway) gRPC-Gateway 是 Google 协议缓冲区编译器协议的插件。它读取 protobuf 服务定义并生成一个反向代理服务器,该服务器将 RESTful HTTP API 转换为 gRPC。此服务器是根据服务定义中的 google.api.http 注释生成的。这有助于您同时以 gRPC 和 RESTful 样式提供 API。
* [uber-go/guide](https://github.com/uber-go/guide) Uber Go风格指南是一个开源项目,它记录了 Uber 在 Go 代码中使用的模式和约定,该指南已被翻译成多种语言,包括中文、繁体中文、韩语、日语、西班牙语、泰语、葡萄牙语、波兰语、俄语、法语、土耳其语、乌克兰语、波斯语和越南语。
* [gopherdata/gophernotes](https://github.com/gopherdata/gophernotes) gophernotes 是一个用于 Jupyter Notebook 和 nteract 的 Go 内核,允许在浏览器或桌面应用程序中交互式地使用 Go 语言。它利用 gomacro 解释器,支持在笔记本当中编写、运行 Go 代码,并包含图表、公式等,最终成果可通过多种途径分享。
* [tmrts/go-patterns](https://github.com/tmrts/go-patterns) 该项目是一个 Go 设计模式、配方和习语的精选列表,包含了创建型、结构型和行为型模式,以及同步模式,例如条件变量、互斥锁和读写锁,并提供了详细的代码示例和解释,帮助开发者更好地理解和应用 Go 设计模式。
* [goreleaser/goreleaser](https://github.com/goreleaser/goreleaser) 尽可能快速、轻松地交付 Go 二进制文件。GoReleaser 为多个平台构建 Go 二进制文件,创建 GitHub 版本,然后将 Homebrew 公式推送到 tap 存储库。所有这些都包含在您最喜欢的 CI 中。
* [tidwall/tile38](https://github.com/tidwall/tile38) Tile38 是一个开源(MIT 许可)、内存中的地理位置数据存储、空间索引和实时地理围栏服务器。它支持多种对象类型,包括纬度/经度点、边界框、XYZ 图块、Geohashes 和 GeoJSON。
* [expr-lang/expr](https://github.com/expr-lang/expr) Expr 是一种以 Go 为中心的表达式语言,旨在以无与伦比的准确性、安全性和速度提供动态配置。Expr 将简单的语法与强大的功能相结合,易于使用。
* [restic/restic](https://github.com/restic/restic) Golang 编写的快速、高效和安全的备份程序。它支持三种主要操作系统(Linux、macOS、Windows)和一些较小的操作系统(FreeBSD、OpenBSD)。
* [therecipe/qt](https://github.com/therecipe/qt) Go(Golang)的Qt绑定,支持Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
* [alist-org/alist](https://github.com/alist-org/alist) 一个文件列表/ WebDAV程序,支持多个存储,由Gin和Solidjs提供支持。/ 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
* [nutsdb/nutsdb](https://github.com/nutsdb/nutsdb) NutsDB是一个用纯 Go 编写的简单、快速、可嵌入的持久化键值存储,支持完全可序列化的事务和多种数据结构,如列表、集合
* [talkgo/night](https://github.com/talkgo/night) Go 夜读|通过 bilibili 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/telegram/Slack 上及时沟通交流编程技术话题。
* [traefik/yaegi](https://github.com/traefik/yaegi) 另一位优雅的Go解释器。它为 Go 运行时之上的嵌入式解释器或交互式 shell 中的可执行 Go 脚本和插件提供支持。
* [chai2010/advanced-go-programming-book](https://github.com/chai2010/advanced-go-programming-book) 《Go语言高级编程》图书,涵盖CGO、Go汇编、RPC、Protobuf插件实现、Web框架实现、分布式系统等高阶主题
* [unknwon/go-fundamental-programming](https://github.com/unknwon/go-fundamental-programming) 《Go 编程基础》是一套针对 Google 出品的 Go 语言的视频语音教程,主要面向新手级别的学习者。
* [lxn/walk](https://github.com/lxn/walk) 用于 Go 编程语言的 Windows GUI 工具包。使用 Walk 创建 GUI 的首选方法是使用其声明式 sub 包。
* [johnkerl/miller](https://github.com/johnkerl/miller) Miller 就像 awk、sed、剪切、连接和排序的名称索引数据,如 CSV、TSV 和表格 JSON。
* [inancgumus/learngo](https://github.com/inancgumus/learngo) 1000+ 手工制作的go示例、练习和测验。 通过修复 1000+ 个小程序来学习 Go。
* [qax-os/excelize](https://github.com/qax-os/excelize) 用于读写Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX)电子表格的Go语言库
* [halfrost/LeetCode-Go](https://github.com/halfrost/LeetCode-Go) LeetCode by Go 的解决方案,100% 测试覆盖率,运行时击败 100% / LeetCode 题解
* [gogf/gf](https://github.com/gogf/gf) GoFrame 是 Go 的一个模块化、功能强大、高性能的企业级应用开发框架。
* [golang/go](https://github.com/golang/go) Go 是一种开源编程语言,可以轻松构建简单、可靠且高效的软件。
* [sourcegraph/conc](https://github.com/sourcegraph/conc) Conc 是 Go 中结构化并发的工具带,使常见任务更轻松、更安全。
* [influxdata/telegraf](https://github.com/influxdata/telegraf) 使用 Go 构建的插件驱动的服务器代理,用于收集和报告指标。
* [gonum/gonum](https://github.com/gonum/gonum) 用于 Go 编程语言的数字库。它包含矩阵、统计、优化等库
* [ahmedash95/build-redis-from-scratch](https://github.com/ahmedash95/build-redis-from-scratch) 如何在 Go 中实现内存中数据库(如 Redis )的文章系列。
* [gopherjs/gopherjs](https://github.com/gopherjs/gopherjs) 从 Go 到 JavaScript 的编译器,用于在浏览器中运行 Go 代码
* [unknwon/the-way-to-go_ZH_CN](https://github.com/unknwon/the-way-to-go_ZH_CN) 《The Way to Go》中文译本,中文正式名《Go 入门指南》
* [uber-go/zap](https://github.com/uber-go/zap) 在 Go 中实现超快、结构化、分级的日志记录。
* [jroimartin/gocui](https://github.com/jroimartin/gocui) 极简主义的 Go 包,旨在创建控制台用户界面。
* [json-iterator/go](https://github.com/json-iterator/go) 高性能 100% 兼容Go的“encoding/json”直接替代品
* [senghoo/golang-design-pattern](https://github.com/senghoo/golang-design-pattern) 设计模式 Go实现-《研磨设计模式》读书笔记
* [go-vgo/robotgo](https://github.com/go-vgo/robotgo) RobotGo、Go Native 跨平台 RPA 和 GUI 自动化@vcaesar
* [avelino/awesome-go](https://github.com/avelino/awesome-go) 精选的 Go 框架、库和软件的精选列表
* [sirupsen/logrus](https://github.com/sirupsen/logrus) 用于 Go 的结构化、可插拔日志记录。
* [fatih/vim-go](https://github.com/fatih/vim-go) 该插件增加了对 Vim 的 Go 语言支持
* [go-shiori/shiori](https://github.com/go-shiori/shiori) 使用 Go 构建的简单书签管理器
* [antonmedv/fx](https://github.com/antonmedv/fx) Go的终端 JSON 查看器和处理器
* [unknwon/go-study-index](https://github.com/unknwon/go-study-index) Go 语言学习资料与社区索引
* [cosmtrek/air](https://github.com/cosmtrek/air) Go 应用的实时重新加载
* [go-delve/delve](https://github.com/go-delve/delve) Go 编程语言的调试器。
* [a8m/golang-cheat-sheet](https://github.com/a8m/golang-cheat-sheet) Go 语法和功能概述。
* [Go 程序设计 · 语雀](https://www.yuque.com/qyuhen/go) Go 程序设计 · 语雀
* [golang-standards/project-layout](https://github.com/golang-standards/project-layout) 标准 Go 项目布局
* [hoanhan101/ultimate-go](https://github.com/hoanhan101/ultimate-go) 终极Go学习指南
* [moovweb/gvm](https://github.com/moovweb/gvm) Go 版本管理器
* [dariubs/GoBooks](https://github.com/dariubs/GoBooks) Go书籍列表
## Java程序设计
* [plantuml/plantuml](https://github.com/plantuml/plantuml) 从文本描述生成 UML 图。PlantUML 是一个java组件,允许您通过简单的文本描述创建各种 UML 图。从序列图到部署图等,PlantUML 提供了一种创建复杂系统的可视化表示的简单方法。支持的图表类型:时序图、用例图、类图、对象图、活动图、旧语法、组件图、部署图、状态图、时序图、JSON 数据、YAML 数据、EBNF(扩展的 Backus-Naur 形式)、正则表达式、网络图 (nwdiag)、Salt(线框图形界面或UI模型)、Archimate 图、SDL(规范和描述语言)、Ditaa 图、甘特图、年表图、思维导图、WBS(工作分解结构)、数学符号(AsciiMath、JLaTeXMath)、信息工程(IE)图、实体关系(ER)图
* [quarkusio/quarkus](https://github.com/quarkusio/quarkus) 云原生 (Linux) 容器优先框架,用于编写 Java 应用程序。容器优先:占用空间最小的 Java 应用程序,最适合在容器中运行。云原生:在 Kubernetes 等环境中采用 12 因素架构。统一命令式和响应式:将非阻塞式和命令式开发风格引入一个编程模型。基于标准:基于您喜欢和使用的标准和框架(RESTEasy 和 JAX-RS、Hibernate ORM 和 JPA、Netty、Eclipse Vert.x、Eclipse MicroProfile、Apache Camel......微服务优先:为 Java 应用程序带来闪电般的快速启动时间和代码周转。Developer Joy:以开发为中心的体验,毫不妥协,让您的出色应用立即栩栩如生。
* [jgrapht/jgrapht](https://github.com/jgrapht/jgrapht) JGraphT是一个免费的Java类库,提供数学图论对象和算法,适用于Java 2平台(从JGraphT 1.5.0开始需要JDK 11或更高版本)。它使用GNU Lesser General Public License (LGPL) 2.1或Eclipse Public License (EPL) 2.0许可。JGraphT包含核心库、演示类、优化图实现、扩展、各种图格式的导入/导出器、Guava库适配器类、Webgraph适配器和简洁图实现、JGraphX依赖库、JHeaps库、ANTLR解析器运行时、Apache Commons Lang库、Apache Commons Text库、Fastutil库、Guava库、Jsap库、Logback日志记录器、Slf4j日志记录器API、Sux4j库和Webgraph库。
* [alibaba/p3c](https://github.com/alibaba/p3c) 阿里巴巴Java编码指南,该指南整合了阿里巴巴集团技术团队多年来的最佳编程实践。大量的 Java 编程团队对跨项目的代码质量提出了苛刻的要求,因为我们鼓励重用和更好地理解彼此的程序。我们过去见过很多编程问题。例如,有缺陷的数据库表结构和索引设计可能会导致软件架构缺陷和性能风险。另一个例子是令人困惑的代码结构难以维护。此外,未经身份验证的易受攻击的代码容易受到黑客攻击。为了解决这类问题,我们为阿里巴巴的Java开发人员编写了本文档。
* [paulfitz/daff](https://github.com/paulfitz/daff) daff是一个用于比较表格数据的库,它可以生成表格差异摘要并将其用作补丁文件。它针对具有共同来源的表格比较进行了优化,例如同一表格的多个版本。daff 支持多种语言,包括 Node.js、Python、Ruby、PHP 和 R,并提供命令行工具和网页版演示。daff 的差异格式规范可在此处查看:http://paulfitz.github.io/daff-doc/spec.html。daff 是 coopy 工具箱的简化版本,用于比较来自不同来源的表格或具有自动生成的 ID 的表格。
* [doocs/jvm](https://github.com/doocs/jvm) 记录了一些笔者认为需要重点掌握的 JVM 知识点,如果你想更加全面地了解 JVM 底层原理,可以阅读周志明老师《深入理解 Java 虚拟机——JVM 高级特性与最佳实践(第 2/3 版)》全书。 清单: JVM 内存结构, HotSpot 虚拟机对象探秘, 垃圾收集策略与算法, HotSpot 垃圾收集器, 内存分配与回收策略, JVM 性能调优, 类文件结构, 类加载的时机, 类加载的过程, 类加载器。
* [gradle/gradle](https://github.com/gradle/gradle) 一款构建工具,专注于构建自动化和对多语言开发的支持。如果您在任何平台上构建、测试、发布和部署软件,Gradle 提供了一个灵活的模型,可以支持从编译和打包代码到发布网站的整个开发生命周期。Gradle 旨在支持跨多种语言和平台(包括 Java、Scala、Android、Kotlin、C/C++ 和 Groovy)的构建自动化,并与开发工具和持续集成服务器(包括 Eclipse、IntelliJ 和 Jenkins)紧密集成。
* [dromara/Sa-Token](https://github.com/dromara/Sa-Token) 史上功能最全的Java权限认证框架!目前已集成——登录认证、权限认证、分布式Session会话、微服务网关鉴权、单点登录、OAuth2.0、踢人下线、Redis集成、前后台分离、记住我模式、模拟他人账号、临时身份切换、账号封禁、多账号认证体系、注解式鉴权、路由拦截式鉴权、花式token生成、自动续签、同端互斥登录、会话治理、密码加密、jwt集成、Spring集成、WebFlux集成...
* [BafS/Java8-CheatSheet](https://github.com/BafS/Java8-CheatSheet) 这是一个Java 8+ 函数式编程的速查表,涵盖了Lambda表达式、集合操作、方法引用和流等内容。它提供了简洁的代码示例,展示了如何使用Lambda表达式简化代码,如何使用集合操作高效地处理数据,如何使用方法引用提高代码可读性,以及如何使用流进行数据处理。该项目旨在帮助开发者快速掌握Java 8+ 函数式编程的常用技巧,提高开发效率。
* [graphhopper/graphhopper](https://github.com/graphhopper/graphhopper) GraphHopper是一个开源的路线规划引擎,使用 Apache 2.0 许可证发布,它可以作为 Java 库或独立的 Web 服务器使用,用于计算两点或多点之间路线的距离、时间、转向指示以及其他道路属性。除了“A 到 B”的路线规划,它还支持地图匹配、等时线计算、移动导航等功能。GraphHopper 默认使用 OpenStreetMap 和 GTFS 数据,也可以导入其他数据源。
* [zio/zio](https://github.com/zio/zio) ZIO是一个零依赖的Scala库,用于异步和并发编程。它基于高可扩展的非阻塞纤程,避免资源浪费和泄漏,帮助构建可扩展、弹性且响应迅速的应用程序。ZIO具有高性能、类型安全、并发性好、异步性好、资源安全、易于测试、弹性强和函数式编程等特点,已被许多公司用于生产环境。
* [dianping/cat](https://github.com/dianping/cat) CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
* [dromara/hutool](https://github.com/dromara/hutool) 功能丰富且易用的Java工具库,通过诸多实用工具类的使用,旨在帮助开发者快速、便捷地完成各类开发任务。 这些封装的工具涵盖了字符串、数字、集合、编码、日期、文件、IO、加密、数据库JDBC、JSON、HTTP客户端等一系列操作, 可以满足各种不同的开发需求。
* [circe/circe](https://github.com/circe/circe) Circe是一个用于Scala(和Scala.js)的JSON库,它提供高效的JSON编解码功能。Circe的设计注重性能和易用性,已被许多知名公司采用,例如BBC、Nike和Criteo等,用于处理海量JSON数据。其工作原理是基于类型安全的Scala代码实现高效的JSON序列化和反序列化。
* [sbt/sbt](https://github.com/sbt/sbt) sbt是一个用于Scala、Java等语言的交互式构建工具,其文档详见https://www.scala-sbt.org/。sbt1.x版本源码分散在多个GitHub仓库中,包括核心模块、IO模块、依赖管理模块和增量编译器Zinc。 用户可参考文档快速上手,并通过Stack Overflow寻求帮助。
* [milessabin/shapeless](https://github.com/milessabin/shapeless) Shapeless是一个基于类型类和依赖类型的Scala泛型编程库,用于抽象化元组大小并减少样板代码。它利用类型级编程技术,允许编写更简洁、更具表达力的代码,广泛应用于生产系统。项目文档相对完善,并有活跃的社区支持。
* [yangchong211/YCBlogs](https://github.com/yangchong211/YCBlogs) 技术博客笔记大汇总,包括Java基础,线程,并发,数据结构;Android技术博客等等;常用设计模式;常见的算法;网络协议知识点;部分flutter笔记;还包括平时开发中遇到的bug汇总,收集了大量的面试题
* [mybatis/mybatis-3](https://github.com/mybatis/mybatis-3) MyBatis SQL 映射器框架使关系数据库与面向对象的应用程序更容易使用。MyBatis 使用 XML 描述符或注解将对象与存储过程或 SQL 语句耦合。简单性是 MyBatis 数据映射器相对于对象关系映射工具的最大优势。
* [alibaba/fastjson](https://github.com/alibaba/fastjson) Java 库,可用于将 Java 对象转换为其 JSON 表示形式。它还可用于将 JSON 字符串转换为等效的 Java 对象。Fastjson 可以处理任意 Java 对象,包括您没有源代码的预先存在的对象。
* [apache/shenyu](https://github.com/apache/shenyu) Apache ShenYu 是一个用于服务代理、协议转换和 API 治理的 Java 原生 API 网关。适用于所有微服务的可扩展、高性能、响应式 API 网关解决方案。
* [aalansehaiyang/technology-talk](https://github.com/aalansehaiyang/technology-talk) 【大厂面试专栏】一份Java程序员需要的技术指南,这里有面试题、系统架构、职场锦囊、主流中间件等,让你成为更牛的自己!
* [fuzhengwei/CodeGuide](https://github.com/fuzhengwei/CodeGuide) 多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。
* [alibaba/fastjson2](https://github.com/alibaba/fastjson2) 性能出色的 Java JSON 库。和FASTJSON 1相比,性能有非常大的提升,解决了autoType功能因为兼容和白名单的安全性问题。
* [alibaba/arthas](https://github.com/alibaba/arthas) 阿里巴巴开源的 Java 诊断工具。允许开发人员解决Java应用程序的生产问题,而无需修改代码或重新启动服务器。
* [Snailclimb/JavaGuide](https://github.com/Snailclimb/JavaGuide) 「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!
* [doocs/advanced-java](https://github.com/doocs/advanced-java) 互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识
* [GoogleContainerTools/jib](https://github.com/GoogleContainerTools/jib) 无需 Docker 守护程序即可为您的 Java 应用构建优化的 Docker 和 OCI 映像,而无需深入了解 Docker 最佳实践。
* [jobbole/awesome-java-cn](https://github.com/jobbole/awesome-java-cn) Java资源大全中文版,包括开发库、开发工具、网站、博客、微信、微博等,由伯乐在线持续更新。
* [ReactiveX/RxJava](https://github.com/ReactiveX/RxJava) JVM 的反应式扩展 – 一个库,用于使用 Java VM 的可观察序列编写异步和基于事件的程序。
* [itwanger/toBeBetterJavaer](https://github.com/itwanger/toBeBetterJavaer) Java学习指南,内容涵盖Java基础、并发编程、虚拟机、企业级开发、面试等核心知识点。
* [kunal-kushwaha/DSA-Bootcamp-Java](https://github.com/kunal-kushwaha/DSA-Bootcamp-Java) 包括 WeMakeDevs 的 Java 数据结构和算法 + 面试准备训练营的代码示例、作业和注释。
* [jwtk/jjwt](https://github.com/jwtk/jjwt) 用于在 JVM 和 Android 上创建和验证 JSON Web 令牌 (JWT) 和 JSON Web 密钥 (JWK)。
* [AobingJava/JavaFamily](https://github.com/AobingJava/JavaFamily) 【Java面试+Java学习指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。
* [brettwooldridge/HikariCP](https://github.com/brettwooldridge/HikariCP) “零开销”生产就绪型 JDBC 连接池。该库大约为 130Kb,非常轻巧。
* [Col-E/Recaf](https://github.com/Col-E/Recaf) 易于使用的现代 Java 字节码编辑器,它抽象出了 Java 程序的复杂性
* [CodingDocs/awesome-java](https://github.com/CodingDocs/awesome-java) Github上令人敬畏的Java项目集合(非常棒的 Java 开源项目集合)。
* [qunarcorp/bistoury](https://github.com/qunarcorp/bistoury) 去哪儿网的java应用生产问题诊断工具,提供一站式诊断方案
* [zxing/zxing](https://github.com/zxing/zxing) ZXing (“Zebra Crossing”) 适用于 Java、Android 的条码扫描库
* [alibaba/easyexcel](https://github.com/alibaba/easyexcel) 快速、简洁、解决大文件内存溢出的java处理Excel工具
* [akullpp/awesome-java](https://github.com/akullpp/awesome-java) Java 编程语言的优秀框架、库和软件的精选列表。
* [mockito/mockito](https://github.com/mockito/mockito) 最流行的模拟框架,用于用 Java 编写的单元测试
* [apache/dubbo](https://github.com/apache/dubbo) Apache Dubbo 的 Java 实现。RPC 和微服务框架。
* [LinShunKang/MyPerf4J](https://github.com/LinShunKang/MyPerf4J) 高性能 Java APM。由 ASM 提供支持。试试吧。
* [eclipse-vertx/vert.x](https://github.com/eclipse-vertx/vert.x) 用于在 JVM 上构建响应式应用程序的工具包
* [andreabergia/rjvm](https://github.com/andreabergia/rjvm) 一个用 Rust 编写的小型 JVM。学习项目
* [ZhongFuCheng3y/athena](https://github.com/ZhongFuCheng3y/athena) Java后端知识图谱 帮助Java初学者成长
* [crossoverJie/JCSprout](https://github.com/crossoverJie/JCSprout) Java Core Sprout:基本、并发、算法
* [iluwatar/java-design-patterns](https://github.com/iluwatar/java-design-patterns) 用 Java 实现的设计模式
* [winterbe/java8-tutorial](https://github.com/winterbe/java8-tutorial) 现代 Java - Java 8 指南
* [hollischuang/toBeTopJavaer](https://github.com/hollischuang/toBeTopJavaer) Java工程师成神之路
* [lingcoder/OnJava8](https://github.com/lingcoder/OnJava8) 《On Java 8》中文版
* [google/guava](https://github.com/google/guava) Google Java 核心库
* [DuGuQiuBai/Java](https://github.com/DuGuQiuBai/Java) 27天成为Java大神
* [openjdk/jdk](https://github.com/openjdk/jdk) JDK主线开发
## Python程序
* [holoviz/geoviews](https://github.com/holoviz/geoviews) GeoViews是一个 Python 库,它简化了包含地理位置数据的探索和可视化。它特别擅长处理多维气象和海洋数据集,例如天气、气候和遥感研究中使用的数据集,但对于几乎所有你想在地图上绘制的内容都很有用!你可以在 [geoviews.org](https://geoviews.org) 上看到许多示例笔记本,并且我们的 [博客文章公告](https://www.continuum.io/blog/developer-blog/introducing-geoviews) 提供了一个很好的概述。GeoViews 基于 [HoloViews](https://holoviews.org) 库构建,用于构建灵活的多维数据可视化。GeoViews 添加了一系列基于 [Cartopy](http://scitools.org.uk/cartopy) 库的地理绘图类型,使用 [Matplotlib](http://matplotlib.org) 或 [Bokeh](https://bokeh.org) 包绘制。每个新的 GeoElement 绘图类型都是一个新的 HoloViews 元素,它具有基于 ``cartopy.crs`` 的相关地理投影。GeoElements 目前包括 ``Feature``、``WMTS``、``Tiles``、``Points``、``Contours``、``Image``、``QuadMesh``、``TriMesh``、``RGB``、``HSV``、``Labels``、``Graph``、``HexTiles``、``VectorField`` 和 ``Text`` 对象,每个对象都可以轻松地叠加在同一个绘图中。例如,具有温度数据的对象可以使用类似 ``gv.Image(temperature) * gv.Feature(cartopy.feature.COASTLINE)`` 的表达式与海岸线数据叠加。每个 GeoElement 也可以在布局中与任何其他 HoloViews 元素自由组合,从而创建复杂且信息丰富的可视化。
* [gboeing/osmnx](https://github.com/gboeing/osmnx) OSMnx是一个 Python 包,可以轻松地从 OpenStreetMap 下载、建模、分析和可视化街道网络和其他地理空间特征。它可以让你用一行代码下载和建模步行、驾驶或骑行网络,然后分析和可视化它们。你也可以轻松地处理城市设施/兴趣点、建筑物轮廓、交通站点、海拔数据、街道方向、速度/行驶时间和路线。OSMnx 2.0 处于测试阶段,你可以阅读迁移指南了解更多信息。如果你在工作中使用 OSMnx,请引用相关论文。你可以从入门指南开始学习,并通过 OSMnx 示例库学习逐步教程和示例代码。安装 OSMnx 请参考安装指南。如果你遇到任何问题,请查看用户手册。OSMnx 的代码库托管在 GitHub 上。如果你有“如何”或使用方面的问题,请在 StackOverflow 上提问,因为我们保留代码库的问题跟踪器用于错误跟踪和功能开发。OSMnx 是开源软件,并根据 MIT 许可证发布。OpenStreetMap 的开放数据许可证要求衍生作品提供适当的归属。有关使用限制,请参阅入门指南。
* [PythonCharmers/python-future](https://github.com/PythonCharmers/python-future) Python-future 是一个 Python 2 和 3 之间的兼容性层,它允许你使用单个、干净的 Python 3.x 兼容代码库来支持Python 2 和 3,并尽可能减少开销。它提供 ``future`` 和 ``past`` 包,包含来自 Python 3 和 2的功能的回溯和前向移植。它还附带 ``futurize`` 和 ``pasteurize``,这些是基于 2to3的自定义脚本,可以帮助你轻松地将 Py2 或 Py3 代码转换为支持 Python 2 和 3 的单个干净的 Py3 风格代码库,逐个模块进行。该项目已被下载超过 17亿次。该项目于 2013 年创建,旨在拯救 Python 免受版本不兼容的威胁。现在,由于 Python 社区的巨大移植工作,Python 3 最终取得了成功。Python 2 在 2020 年已结束生命周期,``python-future`` 包不再需要。可以使用它来帮助将遗留代码移植到 Python 3,但不要将其用于新代码。
* [pysal/pysal](https://github.com/pysal/pysal) PySAL是一个开源的跨平台地理空间数据科学库,专注于Python中的地理空间矢量数据。它支持开发高水平的地理空间分析应用程序,例如检测空间聚类、热点和异常值、从空间数据构建图形、基于地理嵌入网络的空间回归和统计建模、空间计量经济学以及探索性时空数据分析。PySAL包含四个主要组件:lib、explore、model和viz。其中,lib提供了基础算法和数据结构,支持其他模块,包括输入/输出、权重、计算几何和示例数据集;explore包含用于探索性分析空间和时空数据的模块,例如分析空间分布结构、研究分布动态变化;model提供空间模型和统计方法,用于分析空间数据中的模式和关系;viz则提供可视化工具,帮助用户可视化空间数据和分析结果。
* [jupyterlab/jupyterlab](https://github.com/jupyterlab/jupyterlab) JupyterLab是一个基于 Jupyter Notebook 和架构的交互式和可重复计算的扩展环境。它提供了经典 Jupyter Notebook 的所有熟悉功能(笔记本、终端、文本编辑器、文件浏览器、丰富输出等),并将其整合在一个灵活且强大的用户界面中。JupyterLab 可通过 npm 包进行扩展,这些包使用我们的公共 API。预构建的扩展可以通过 PyPI、conda 和其他包管理器进行分发。源代码扩展可以直接从 npm 安装,但需要额外的构建步骤。您还可以通过 GitHub 主题 jupyterlab-extension 探索 JupyterLab 扩展。要了解有关扩展的更多信息,请参阅用户文档。JupyterLab 3 于 2024 年 5 月 15 日停止维护。如果您仍在运行 JupyterLab 3,我们强烈建议您尽快升级到 JupyterLab 4。
* [s0md3v/huepy](https://github.com/s0md3v/huepy) Hue是一个用于在终端打印彩色文本和标签的 Python 库,它支持 Python 2和 Python 3,并提供简洁强大的接口。与其他颜色库相比,Hue更易于使用,支持明亮颜色、粗体和斜体等样式,以及各种标签,例如 info、que、run、bad 和 good。Hue的安装非常简单,只需使用 pip 或 easy_install 命令即可。使用 Hue 打印彩色文本也非常方便,例如 `print(red('This string is red'))`。Hue 还支持将样式和颜色组合使用,例如 `print(bold(red('This string is bold and red')))`。Hue 的优势在于其简洁易用,并支持明亮颜色和各种标签,使其成为终端文本打印的理想选择。需要注意的是,Windows 10 以下版本不支持 ANSI 转义序列,因此在命令提示符中无法显示颜色。
* [google/pytype](https://github.com/google/pytype) pytype是一个用于 Python 代码的静态类型分析器,它无需类型注解即可检查和推断代码类型。pytype 可以:检查普通 Python 代码,标记常见的错误,如拼写错误的属性名称、不正确的函数调用等;强制执行用户提供的类型注解;生成独立的类型注解文件(pyi 文件),这些文件可以使用提供的 merge-pyi 工具合并回 Python 源代码。pytype 不同于其他类型检查器,它使用推断而不是逐步类型化,这意味着它可以在代码没有类型提示的情况下推断代码类型;pytype 是宽松的而不是严格的,这意味着它允许所有在运行时成功的操作,并且不与注解矛盾。pytype 在 Google 的数千个项目中使用,以确保其 Python 代码类型正确且无错误。
* [pypa/pipx](https://github.com/pypa/pipx) pipx — 在隔离环境中安装和运行 Python 应用程序。pipx 是一个帮助您安装和运行用 Python 编写的最终用户应用程序的工具。它大致类似于 macOS 的brew 、JavaScript 的npx和 Linux 的apt 。它与 pip 密切相关。事实上,它使用 pip,但专注于安装和管理可以直接作为应用程序从命令行运行的 Python 包。它与点有什么不同?pip 是一个通用包安装程序,适用于库和应用程序,没有环境隔离。 pipx 专为应用程序安装而设计,因为它增加了隔离性,但仍然使应用程序在您的 shell 中可用:pipx 为每个应用程序及其关联的包创建一个隔离的环境。pipx 不随 pip 一起提供,但安装它通常是引导系统的重要部分。
* [prospector-dev/prospector](https://github.com/prospector-dev/prospector) Prospector是一个用于分析 Python 代码的工具,可以检测错误、潜在问题、代码风格违规和代码复杂度。它整合了其他 Python 分析工具的功能,例如 Pylint、pycodestyle 和 McCabe 复杂度。Prospector 的目标是提供开箱即用的实用性,通过默认配置文件提供良好的起点,并根据项目使用的库自适应输出。Prospector 可以通过 pip 安装,并支持多种可选依赖项。用户可以通过运行`prospector` 命令从项目根目录运行该工具,并查看输出的潜在问题或错误信息。Prospector 还支持 JSON 格式的输出,以便于解析和报告。Prospector 使用配置文件来配置工具和消息的启用或禁用,以满足不同的代码风格和需求。
* [Esri/arcgis-python-api](https://github.com/Esri/arcgis-python-api) ArcGIS API forPython 是一个基于 Web GIS 的 Python 库,用于处理地图和地理空间数据。它提供简单高效的工具,用于深度学习、矢量和栅格分析、地理编码、制图、路线规划和方向,以及组织和管理 GIS 用户、组和信息项。除了处理您自己的数据外,该库还可以访问来自 Esri 和其他权威来源的现成地图和精选地理数据。它还与科学 Python 生态系统很好地集成,并包括对 Pandas、Scikit-Learn、Fast.ai 等和 Jupyter Notebook 的丰富支持。该项目包含 API 参考文档、Jupyter Notebook 示例和指南,并提供多种执行方式,包括本地安装、ArcGIS Pro 集成、ArcGIS Notebooks、Docker 环境和 Binder。
* [Instagram/MonkeyType](https://github.com/Instagram/MonkeyType) MonkeyType是一个 Python 库,通过收集运行时类型来生成静态类型注解。它可以自动生成存根文件,甚至直接将类型注解添加到您的 Python 代码中。例如,您可以运行 `monkeytype run myscript.py` 来收集 `myscript.py` 中函数调用的类型信息,然后使用 `monkeytype stub some.module` 生成 `some.module` 的存根文件,或使用 `monkeytype apply some.module` 将类型注解直接应用到 `some.module` 中。MonkeyType 使用 `sys.setprofile` 钩子来拦截函数调用、返回值和生成器 yield,并记录参数/返回值/yield 值的类型。它基于这些数据生成存根文件,并可以使用 `libcst` 将这些存根文件直接应用到您的代码中。
* [qutebrowser/qutebrowser](https://github.com/qutebrowser/qutebrowser) qutebrowser是一个基于 Python 和 Qt 的键盘驱动、类似 Vim 的浏览器,它以极简的 GUI 为特色,灵感来源于 dwb、Vimperator/Pentadactyl 等浏览器/插件。qutebrowser 的主要维护者 The-Compiler 目前依靠捐赠进行部分时间开发,欢迎访问GitHub Sponsors 页面或其他捐赠方式支持项目。用户可以通过 GitHub 发布页面下载 qutebrowser,并参考 INSTALL 文件进行安装。项目文档和支持渠道可访问帮助页面,用户可以阅读贡献指南参与项目开发,并通过内置的 :report 命令、GitHub 问题追踪器或邮件列表报告 bug 或提出功能请求。qutebrowser 需要 Python 和 Qt 等软件和库才能运行。
* [HypothesisWorks/hypothesis](https://github.com/HypothesisWorks/hypothesis) Hypothesis是一个强大、灵活且易于使用的基于属性的测试库。它允许您编写由示例源参数化的测试,并自动生成简单易懂的示例来使您的测试失败,从而简化测试编写并提高测试效率。这种测试方式通常被称为“基于属性的测试”,Hypothesis 与 Haskell 库QuickCheck 类似,但它更适合现有的测试风格,无需任何 Haskell 或函数式编程知识。Hypothesis for Python 是原始实现,也是目前唯一完全生产就绪并积极维护的实现。此外,Hypothesis 的核心引擎 Conjecture 也已移植到 Rust,并计划将其用于重构 Hypothesis for Python,从而降低移植到其他语言的难度。
* [agronholm/typeguard](https://github.com/agronholm/typeguard) Typeguard是一个 Python 库,用于在运行时对使用 PEP 484类型注解定义的函数参数(和返回值)以及任意对象进行类型检查。它可以与静态类型检查器一起使用,作为额外的类型安全层,以捕获仅在运行时才能检测到的类型违规。它提供两种主要方式进行类型检查:使用 `check_type` 函数,类似于 `isinstance()`,但支持任意类型注解;以及代码插桩,通过将类型检查代码注入到整个模块或单个函数中,自动检查函数参数、返回值和对已注解局部变量的赋值。代码插桩可以通过 `@typechecked` 函数或导入钩子 `typeguard.install_import_hook()` 实现。
* [P403n1x87/austin](https://github.com/P403n1x87/austin) 这是我找到的最好的 Python 分析器。它是跨平台的,不需要我更改正在分析的代码,并且其输出可以直接通过管道传输到 flamegraph.pl。我只是用它来查明每天结束时在一些代码中运行的工作中对 SQLAlchemy 的严重滥用,现在我可以提前回家了。Austin 是用纯 C 语言编写的 CPython 的 Python 帧堆栈采样器。通过读取 CPython 解释器虚拟内存空间来收集样本,以检索有关当前正在运行的线程的信息以及正在执行的帧堆栈。因此,可以使用 Austin 轻松制作强大的统计分析器,这些分析器对目标应用程序的影响最小,并且不需要任何检测。
* [geopandas/geopandas](https://github.com/geopandas/geopandas) GeoPandas是一个 Python 库,它为 pandas 对象添加了对地理数据的支持,可以处理 Shapely 几何对象并执行几何操作。它支持 GeoSeries 和 GeoDataFrame类型,分别继承自 pandas.Series 和 pandas.DataFrame。GeoPandas 可以从各种格式的文件加载地理数据,并支持将数据转换为不同的坐标系。GeoPandas 依赖于 pandas、shapely、pyogrio、pyproj 和 packaging 等库,并可选地依赖于 matplotlib 用于绘图。推荐使用 conda 包管理器安装 GeoPandas。用户可以在 StackOverflow 或 GIS StackExchange 上提问,在 GitHub 上参与讨论、报告问题或提出功能建议,或在 Gitter 上快速提问。
* [bndr/pipreqs](https://github.com/bndr/pipreqs) pipreqs是一个用于根据项目导入生成requirements.txt文件的工具。它可以识别项目中使用的所有库,并生成一个包含这些库的依赖关系列表。pipreqs支持多种选项,例如使用本地包信息、自定义PyPI服务器、代理、调试信息、忽略目录、不跟随符号链接、指定编码、保存路径、输出到标准输出、强制覆盖现有文件、比较requirements.txt中的模块与项目导入、清理requirements.txt、动态版本控制等。与pip freeze相比,pipreqs不会保存环境中所有安装的包,只保存项目中使用的包,并且可以用于创建新的项目而无需安装模块。
* [PyCQA/flake8](https://github.com/PyCQA/flake8) Flake8是一个 Python 代码风格和质量检查工具,它整合了 pycodestyle、pyflakes、mccabe 和第三方插件。Flake8 通过运行单个 `flake8` 命令来执行所有工具,并以合并输出的形式显示每个文件的警告信息。它还提供了一些额外的功能,例如跳过包含 `#flake8: noqa` 行的文件,忽略包含 `# noqa` 注释的行,以及使用 `# noqa: u003cerroru003e` 忽略特定错误。Flake8 还支持 Git 和 Mercurial 钩子,并可以通过 `flake8.extension` 和 `flake8.formatting` 入口点进行扩展。用户可以通过官方文档快速上手,并通过邮件列表与开发者交流问题和反馈。
* [pex-tool/pex](https://github.com/pex-tool/pex) pex是一个用于生成 .pex (Python 可执行文件) 文件、锁定文件和虚拟环境的工具,它类似于 `virtualenvs`,但更强大。pex 文件可以包含多个平台特定的 Python 发行版,使其能够跨 Linux 和 OS X 等平台移植。pex 文件可以使用 `pex` 工具构建,也可以通过 `Pants`、`Buck` 和 `{py}gradle` 等构建系统直接构建。pex 使用 Apache2 许可证。安装 pex只需运行 `pip install pex`。pex 支持多种用法,例如:创建包含特定库的解释器环境、保存虚拟环境的依赖项、创建临时环境、使用入口点构建独立可执行文件,以及指定特定解释器类型。
* [marcelotduarte/cx_Freeze](https://github.com/marcelotduarte/cx_Freeze) cx_Freeze是一个跨平台的 Python 工具,用于将 Python 脚本打包成独立的可执行文件,保持与原始 Python 脚本相同的性能。它支持多种平台,只要 Python 本身支持的平台,cx_Freeze 也能运行。cx_Freeze 支持多种打包格式,包括 Windows 的 .exe,macOS 的.app,以及 Linux 的 .deb 和 .rpm 等。用户可以通过 pip 安装 cx_Freeze,并使用其提供的命令行工具或 API 来打包Python 脚本。最新版本 7.2 包含了对 bdist_dmg、bdist_msi、bdist_appimage 等打包格式的改进,以及对 numpy、rasterio、multiprocess 等库的支持。项目文档和讨论区可供用户参考。
* [PyCQA/pyflakes](https://github.com/PyCQA/pyflakes) Pyflakes是一个用于检查 Python 源代码文件错误的简单程序。它通过解析源代码文件(而不是导入它)来分析程序并检测各种错误,因此它可以安全地用于具有副作用的模块,并且速度也更快。Pyflakes 可在 PyPI 上获得,并支持所有活跃的 Python 版本(3.8+)。它专注于代码错误检测,不会检查代码风格,并努力避免误报。与 Pylint 相比,Pyflakes 速度更快,因为它只检查每个文件的语法树。如果你需要代码风格检查,可以考虑使用 flake8,它将 Pyflakes 与 PEP 8 风格检查结合起来,并提供项目级别的配置功能。
* [astral-sh/uv](https://github.com/astral-sh/uv) uv是一个用 Rust 编写的超高速 Python 包和项目管理器,它可以替代 `pip`、`pip-tools`、`pipx`、`poetry`、`pyenv`、`twine`、`virtualenv` 等工具。uv 比 `pip` 快 10-100 倍,可以安装和管理 Python 版本,运行和安装 Python 应用程序,运行单文件脚本,并提供全面的项目管理功能,包括通用锁文件和工作区支持。uv 还提供与 pip 兼容的接口,支持 macOS、Linux 和 Windows。uv 由 Astral 开发,Astral 也是 Ruff 的开发团队。可以通过 `curl` 或 `pip` 安装 uv,也可以使用独立的安装程序。uv 的文档可以在 docs.astral.sh/uv 上找到。
* [abseil/abseil-py](https://github.com/abseil/abseil-py) AbseilPython Common Libraries 是一个由 Google 开发的 Python 库集合,包含了用于构建 Python应用程序的常用工具,经过了 Google 内部广泛的测试和生产环境验证。该库提供了简化的应用程序启动、分布式命令行标志系统、自定义日志模块和测试工具等功能,可通过 pip 或源代码安装。用户可以通过 smoke_tests/sample_app.py 示例代码快速上手,并参考 Abseil Python 开发者指南了解更多信息。该库目前处于早期阶段,未来将包含更多组件并与 Abseil C++ Common Libraries 实现互操作性。该项目遵循 Apache 许可协议。
* [PyCQA/isort](https://github.com/PyCQA/isort) isort是一个 Python 工具/库,用于按字母顺序对导入进行排序,并自动将其分隔成不同的部分和类型。它提供命令行工具、Python 库以及各种编辑器的插件,可以快速对所有导入进行排序。它需要 Python 3.8+ 才能运行,但支持格式化 Python 2 代码。isort 可以将导入按照类型和字母顺序进行排序,并自动将它们分组到不同的部分,例如标准库、第三方库和本地库。它可以帮助你保持代码整洁和一致,并使代码更易于阅读和理解。你可以使用命令行工具、Python 库或编辑器插件来使用 isort。
* [gotcha/ipdb](https://github.com/gotcha/ipdb) ipdb是一个 IPython 调试器,它提供了 tab 自动补全、语法高亮、更友好的错误回溯和更强大的内省功能,同时保持与pdb 模块相同的接口。它可以通过 `ipdb.set_trace()` 在代码中设置断点,并提供 `ipdb.pm()` 用于事后调试,以及 `ipdb.run()` 和 `ipdb.runcall()` 等功能来执行代码或调用函数。此外,ipdb支持通过配置文件(.ipdb、setup.cfg 或 pyproject.toml)或环境变量($IPDB_CONFIG)设置上下文大小,并提供 `launch_ipdb_on_exception` 上下文管理器和 `iex` 函数装饰器来在异常发生时自动启动调试器。
* [pylint-dev/pylint-django](https://github.com/pylint-dev/pylint-django) pylint-django是一个 Pylint 插件,用于在使用 Django 时改进代码分析。它还被 Prospector 工具使用。该插件可以防止对 Django生成的属性(如 Model.objects 或 Views.request)的警告,并修复 Pylint 对模型和表单字段属性类型的理解。它还可以验证 Model.__unicode__ 方法,并使用 Django 的内部机制来解析 ForeignKey 字段中作为字符串引用的模型。此外,该插件还包含一个名为 pylint_django.checkers.migrations 的插件,用于查找可能导致性能问题或不可逆数据迁移的迁移。该插件默认情况下是禁用的。
* [kellyjonbrazil/jc](https://github.com/kellyjonbrazil/jc) jc是一个命令行工具和 Python 库,可以将常用命令行工具、文件类型和常见字符串的输出转换为 JSON、YAML 或字典,方便使用 jq等工具进行管道处理,简化自动化脚本。它支持多种命令、文件类型和字符串的解析,并提供严格的模式和原始 JSON 输出选项。jc 还可以用作 Python 库,返回 Python 字典、字典列表或延迟可迭代的字典。用户可以通过管道将命令输出传递给jc,然后使用 jq 或 jello 等工具进行进一步处理。jc 的代码和文档可在 GitHub 上获取,并提供 Web 演示和 REST API。
* [pypa/setuptools](https://github.com/pypa/setuptools) Setuptools是 Python 的构建系统,用于打包和分发 Python 项目。它提供了一套工具,可以帮助开发者创建、构建和发布 Python 包。Setuptools 的核心功能包括:创建项目结构、管理依赖项、构建可分发的包以及发布到 PyPI(Python 包索引)。用户可以通过官方文档(https://setuptools.pypa.io/en/latest/)获取使用指南,并通过 GitHub Discussions (https://github.com/pypa/setuptools/discussions) 提出问题和意见。开发者可以将错误报告和代码补丁提交到 GitHub 的 bug tracker (https://github.com/pypa/setuptools/issues)。
* [python-rope/rope](https://github.com/python-rope/rope) Rope是一个开源的 Python 重构库,它是世界上最先进的 Python 重构库,支持 Python 3.10 以下的大部分语法。它轻量级,仅依赖 Python 本身,并提供强大的安全重构功能。与 PyRight、PyLance 和 PyCharm 相比,Rope 是开源的,用 Python 编写,可以轻松调试和修改。与 Jedi 相比,Rope 更专注于重构,支持更多高级重构操作和选项。您可以通过 GitHub 上的 issue tracker 提交 bug 报告和功能请求。当前的维护者是 Lie Ryan,感谢 Ali Gholami Rudi、Matej Cepl、Nick Smith 以及所有贡献者和编辑集成作者。
* [cknd/stackprinter](https://github.com/cknd/stackprinter) stackprinter是一个 Python 库,它提供更友好的异常信息,显示更多代码上下文和附近变量的值,帮助开发者快速定位问题。它通过分析代码和变量值,提供更详细的错误信息,类似于交互式调试器,可以打印到控制台或生成字符串用于日志记录。它可以配置输出格式,包括文本、颜色模式和不同颜色方案,以适应不同背景。用户可以通过调用 `set_excepthook()` 方法将 stackprinter 设置为默认异常处理程序,以便在程序发生异常时自动使用 stackprinter 打印更详细的错误信息。
* [jupyter/notebook](https://github.com/jupyter/notebook) 基于 Web 的交互式计算笔记本环境。Project Jupyter 的与语言无关的 HTML 笔记本应用程序。2015 年,Jupyter notebook 作为 IPython 代码库 The Big Split™ 的一部分发布。IPython 3 是最后一个主要的单体版本,包含与语言无关的代码(如 IPython 笔记本)和特定语言的代码(如 Python 的 IPython 内核)。由于计算跨越多种语言,Project Jupyter 将继续在此存储库中开发与语言无关的 Jupyter 笔记本,并在社区的帮助下开发特定于语言的内核,这些内核可以在他们自己的离散存储库中找到。
* [alexmojaki/birdseye](https://github.com/alexmojaki/birdseye) Birdseye是一个 Python 调试器,它记录函数调用中表达式的值,并在函数退出后方便地查看它们。它支持 Python 2.7 和3.5+ 版本。Birdseye 可以让你轻松地查看所有已评估表达式的值,通过在循环迭代之间来回移动,查看所选表达式的值如何变化,以及查看哪些表达式引发了异常。它还提供数据结构和对象展开功能,并按时间顺序组织函数调用,方便你快速了解程序执行过程。Birdseye 与一些常用工具集成,提供更流畅的体验,你也可以在 futurecoder 上立即试用它。
* [getsentry/sentry-python](https://github.com/getsentry/sentry-python) Sentry-Python 是 Sentry.io 的官方 Python SDK,用于帮助开发者快速编写更优质的软件。它可以监控 Python 项目的异常和性能问题,并将其发送到 Sentry 平台进行分析和处理。安装简单,只需运行 `pip install --upgrade sentry-sdk` 命令即可。配置也十分便捷,只需提供 DSN(数据源名称)即可开始使用。Sentry-Python 支持多种流行的 Python 库和框架,例如 Django、Flask、FastAPI、Celery 和 AWS Lambda。此外,还提供详细的文档和迁移指南,方便用户从旧版本升级或从 Raven-Python 迁移。
* [Kozea/WeasyPrint](https://github.com/Kozea/WeasyPrint) WeasyPrint是一个强大的工具,帮助网页开发者创建 PDF 文档,将简单的 HTML 页面转换为精美的统计报告、发票、票据等。它是一个基于Python 的视觉渲染引擎,支持 HTML 和 CSS,并能导出为 PDF 格式,旨在支持网页打印标准。 WeasyPrint 是一个免费软件,采用 BSD 许可证,基于多个库,但不是像 WebKit 或 Gecko 这样的完整渲染引擎。它的 CSS 布局引擎是用 Python 编写的,专为分页设计,易于修改。 WeasyPrint 由 Kozea 开发,CourtBouillon 提供专业支持、维护和社区管理。
* [cdgriffith/Box](https://github.com/cdgriffith/Box) 具有高级点表示法访问权限的 Python 词典。Box 旨在成为词典的轻松替代品,它增加了点表示法访问和大量其他功能!默认情况下,也就是当 conversion_box 设置为 True 时,它还会将包含空格或错误字符的键调整为可访问点。Box 将自动使原本无法访问的键可以作为属性安全访问。您始终可以将 conversion_box=False 传递给 Box 以禁用该行为。此外,添加到 Box 或 BoxList 对象的所有新 dict 和列表都会自动转换。有六种以上的方法可以自定义您的 Box 并使其为您服务。
* [shapely/shapely](https://github.com/shapely/shapely) Shapely是一个 BSD 许可的 Python 包,用于在笛卡尔平面上操作和分析几何对象。它使用广泛部署的开源几何库 GEOS(PostGIS 的引擎,也是 JTS 的移植版)。Shapely 封装了 GEOS 几何和操作,为单个(标量)几何提供功能丰富的 Geometry 接口,并为使用几何数组的操作提供更高性能的 NumPy ufunc。Shapely 主要不关注数据序列化格式或坐标系,但可以轻松地与支持这些格式的包集成。Shapely 支持多线程,通过在执行期间释放全局解释器锁 (GIL) 来实现。
* [lk-geimfari/mimesis](https://github.com/lk-geimfari/mimesis) Mimesis是一个强大的 Python 数据生成器,可以生成多种语言的各种假数据。它支持 46 种不同的语言环境,并提供自定义数据提供程序和字段处理程序,易于使用,文档清晰。Mimesis 速度快,数据种类丰富,支持基于模式的数据生成,并提供直观的编辑器支持和类型提示。可以使用 pip 安装 Mimesis,并参考其详细的文档,包括快速入门、语言环境、数据提供程序、结构化数据生成、随机数和种子、与 Pytest 和 factory_boy 的集成以及 API 参考。
* [fluiddyn/fluidfoam](https://github.com/fluiddyn/fluidfoam) fluidfoam 包提供了 Python 类,可用于使用 OpenFoam 数据执行一些绘图。OpenFOAM是一个完全由C++编写,在linux下运行,面向对象的计算流体力学(CFD)类库。OpenFOAM跟商用的CFD软件Ansys Fluent,CFX类似,但其为开源的,采用类似于我们日常习惯的方法在软件中描述偏微分方程的有限体积离散化。2004年开始OpenFOAM一直作为免费使用的开源软件,有OpenFOAM和OpenFOAM-Extened两个版本,分别有Henry Weller负责的OpenCFD以及Hrvoje Jasak负责的Wikki公司分别维护。
* [lds133/weather_landscape](https://github.com/lds133/weather_landscape) 该项目通过将天气预报信息编码到风景图像中,提供了一种直观、轻松的方式来查看天气信息。图像中包含时间标记、天气事件和条件,例如日出日落时间、风向风力、温度变化、云量、降水等。图像的设计灵感来自风景画,利用图像元素的视觉变化来表达天气信息,避免了传统天气预报中大量数字数据的复杂性,使信息更加直观易懂。项目使用 Python 和 Pillow 库实现,并基于 OpenWeather 数据,可以生成用于 E-Ink 显示屏的图像。
* [jupyterlab-contrib/jupyterlab-variableInspector](https://github.com/jupyterlab-contrib/jupyterlab-variableInspector) Jupyterlab-variableInspector 是一个JupyterLab扩展,用于显示当前使用的变量及其值,支持Python、R和Scala等语言。它能检查控制台和notebook中的变量,并以数据表格方式显示矩阵(大型矩阵可能性能较差),还能交互式显示Jupyter Widgets。安装方法为`pip install lckr_jupyterlab_variableinspector`,需JupyterLab u003e= 3.0及其他依赖库(如pandas、numpy等,具体依赖库取决于使用的语言和功能)。 注意,显示大型数据可能占用大量内存并降低浏览器速度。
* [nteract/papermill](https://github.com/nteract/papermill) Papermill是一个用于参数化、执行和分析 Jupyter 笔记本的工具。它允许你为笔记本设置参数,并执行它们,从而实现自动化工作流程。例如,你可以使用参数来运行财务报告,并根据结果选择下一个要运行的笔记本。Papermill 通过在笔记本中添加一个名为 `parameters`的单元格来实现参数化,并使用 `injected-parameters` 单元格来注入参数值。它支持 Python 3.8+ 版本,并提供多种安装选项,包括 `pip install papermill` 和 `pip install papermill[all]`。
* [beartype/beartype](https://github.com/beartype/beartype) Beartype是一个纯 Python 的开源库,提供近乎实时的混合运行时-静态类型检查,强调效率和可移植性。它遵循 PEP规范,并使用第三代类型检查器,能够在运行时快速识别类型错误,并提供详细的错误信息。Beartype 支持对所有代码进行类型检查,包括用户代码和第三方库,帮助开发者快速发现并修复类型错误,提高代码质量。开发者可以使用 `pip3 install beartype` 安装 Beartype,并使用 `beartype_this_package()` 函数对当前包进行类型检查。
* [beeware/briefcase](https://github.com/beeware/briefcase) Briefcase是一个将 Python 项目转换为独立原生应用程序的工具,支持打包到 Mac、Windows、Linux、iPhone/iPad、Android 和 Web 平台。它还计划支持 AppleTV、watchOS 和 wearOS 部署。您可以通过 Python 包管理器 pip 安装 Briefcase,并参考 BeeWare 教程学习使用它。Briefcase 是 BeeWare套件的一部分,您可以通过 Mastodon、Discord 和 GitHub Discussions 论坛与社区交流。如果您遇到问题,请在 GitHub 上提交问题,如果您想贡献代码,请 fork 代码并提交 pull request。
* [tonybaloney/wily](https://github.com/tonybaloney/wily) Wily是一个Python应用程序,用于跟踪和报告Python代码的复杂度和时间信息。它利用Git遍历分支中的每个版本(提交),并对代码运行复杂度和代码分析指标。您可以使用Wily来限制代码复杂度或报告复杂度、代码长度等方面的趋势。Wily可以通过pip或conda安装,并提供命令行界面进行操作。您可以使用`wily build`命令构建Wily缓存,使用`wily report`命令查看报告,还可以将Wily集成到CI/CD流程中,以比较当前代码与特定版本的复杂度。
* [samuelcolvin/python-devtools](https://github.com/samuelcolvin/python-devtools) `python-devtools` 是一个 Python 开发工具库,它提供了一个类似于 `debug` 的命令,方便开发者在代码中添加调试信息。该库支持多种数据类型,包括列表、字典、numpy 数组等,并能以可读的方式输出调试信息。用户可以通过 `pip install devtools` 安装该库,并使用`from devtools import debug` 语句导入 `debug` 函数。此外,还可以通过修改 `sitecustomize.py` 文件将 `debug` 函数添加到 `__builtins__` 中,以便在任何地方直接使用 `debug` 函数进行调试。
* [asottile/pyupgrade](https://github.com/asottile/pyupgrade) pyupgrade是一个工具(以及 pre-commit 钩子),用于自动升级代码以适应 Python 新版本语法。它支持多种语法升级,例如将 set字面量、字典推导、`collections.defaultdict` 中的 lambda 表达式替换为更简洁的写法,以及将 `print(...)`中的括号去除等。此外,它还支持将 `is` / `is not` 与常量比较替换为 `==` / `!=`,将 `.encode()` 替换为字节字面量等。pyupgrade 可以作为独立工具使用,也可以集成到 pre-commit 工作流中,帮助开发者快速升级代码。
* [jendrikseipp/vulture](https://github.com/jendrikseipp/vulture) Vulture是一个用于查找 Python 代码中未使用代码的工具,可以帮助清理大型代码库并发现错误。它通过静态代码分析快速识别未使用代码,并提供与 pyflakes 相似的输出语法。Vulture 可以对 Python 文件和目录进行分析,并根据代码类型和置信度对未使用代码进行分类,用户可以使用 `--min-confidence` 参数设置最小置信度阈值,以过滤掉可能存在的误报。此外,Vulture 还支持使用白名单文件、忽略文件和 Flake8 noqa 注释来处理误报。
* [davidhalter/parso](https://github.com/davidhalter/parso) Parso 是一个 Python 解析器,支持不同 Python 版本的错误恢复和往返解析。它还可以列出 Python 文件中的多个语法错误。Parso 经过 Jedi 项目的实战测试,旨在用于其他项目。解析器提供了一个简单的 API 来解析 Python 代码并分析语法树。您可以使用它来访问代码元素的位置及其对应的代码片段等信息。Parso 支持在文件中列出多个语法错误,并提供 WIP PEP8 验证器等功能。它在 PyPI 上可用,可以使用“pip install parso”安装。
* [pybuilder/pybuilder](https://github.com/pybuilder/pybuilder) PyBuilder是一个用纯Python编写的软件构建工具,主要针对Python应用程序。它基于依赖关系编程的概念,并提供强大的插件机制,允许构建类似于其他著名(Java)构建工具的构建生命周期。PyBuilder支持Python 3.8、3.9、3.10、3.11、3.12和PyPy 3.8、3.9版本。用户可以使用pip安装PyBuilder,并通过创建包含简单配置的build.py文件来开始使用。PyBuilder强调简单性,并提供丰富的插件来扩展其功能。有关更多信息,请访问PyBuilder主页。
* [GrahamDumpleton/wrapt](https://github.com/GrahamDumpleton/wrapt) wrapt是一个Python模块,用于创建装饰器、包装器和猴子补丁。它提供一个透明的对象代理,用于构建函数包装器和装饰器,并注重正确性,超越了`functools.wraps()`,确保装饰器保留自省能力、签名、类型检查等。它使用C扩展模块提高性能,并提供纯Python实现的回退方案。wrapt支持多种场景下的装饰器,包括接受参数的装饰器以及应用于函数、静态方法、实例方法、类方法和类的装饰器,并能正确处理`instance`参数。
* [crazyguitar/pysheeet](https://github.com/crazyguitar/pysheeet) Pysheeet是一个收集 Python 代码片段的项目,旨在帮助开发者节省编码时间,提高效率。它包含了 Python 基础知识、常用库、高级特性等方面的代码示例,涵盖了从代码风格、数据结构到异步编程、数据库操作、安全等多个方面。用户可以自由地 fork 项目并贡献代码,项目还提供了 PDF 版本方便用户离线阅读。项目使用 `make` 命令构建,并通过 `app.py` 启动本地服务器,用户可以通过访问 `localhost:5000` 查看代码示例。
* [Teemu/pytest-sugar](https://github.com/Teemu/pytest-sugar) pytest-sugar是一个 pytest 插件,它通过显示失败和错误、添加进度条、改进测试结果并使输出更美观来扩展 pytest。它可以立即显示失败和错误,并提供进度条,使测试结果更清晰易懂。安装后,插件会自动激活,只需运行 `pytest`命令即可使用。用户可以使用 `pytest --verbose` 获取更详细的输出,也可以使用 `pytest -p no:sugar` 禁用 pytest-sugar。该项目还提供了贡献指南,并列出了类似的项目,如 pytest-rich 和 pytest-pretty。
* [pyutils/line_profiler](https://github.com/pyutils/line_profiler) line_profiler是一个用于 Python 函数逐行性能分析的模块,kernprof 则是一个方便的脚本,用于运行 line_profiler 或 Python 标准库的 cProfile 或profile 模块。该项目提供 BSD 许可,并支持 Python 2.7 和 3.5 及更高版本。用户可以通过 pip 安装 line_profiler,并使用 `@line_profiler.profile` 装饰器来标记需要分析的函数。设置环境变量 `LINE_PROFILE=1` 运行脚本后,将输出性能分析结果摘要、文件写入磁盘的说明以及检查详细信息的指令。
* [jazzband/geojson](https://github.com/jazzband/geojson) geojson是一个 Python 库,用于对 GeoJSON 格式的数据进行编码和解码,它包含所有 GeoJSON 对象的类,并实现了 Python 的 `__geo_interface__` 规范。该库支持 Python 3.7 到 3.13 版本,可以通过 pip 安装。它包含所有 GeoJSON 对象的实现,例如 Point、MultiPoint、LineString、MultiLineString、Polygon、MultiPolygon、GeometryCollection 和 FeatureCollection,并提供可视化示例。用户可以轻松地创建和操作 GeoJSON 对象,并将其用于各种地理空间应用。
* [xlwings/xlwings](https://github.com/xlwings/xlwings) xlwings是一个开源的Python库,方便地在Excel和Python之间进行双向调用,支持Windows和macOS上的Excel,以及Google Sheets和网页版Excel。它允许用接近VBA语法的Python代码自动化Excel操作、替换VBA宏以及编写自定义函数(UDFs,仅限Windows),并完全支持NumPy数组和Pandas数据结构。付费的xlwings PRO版本则增加了服务器端功能(支持网页版Excel和Google Sheets)、报表系统、更强大的Excel数据读取工具以及简易部署等高级特性。
* [PyCQA/bandit](https://github.com/PyCQA/bandit) Bandit是一个用于查找 Python 代码中常见安全问题的工具。它通过解析代码文件、构建抽象语法树 (AST) 并对 AST 节点运行相应的插件来实现安全检查。Bandit 最初由 OpenStack 安全项目开发,后来迁移到 PyCQA。它可以生成报告,帮助开发者识别和修复代码中的安全漏洞。用户可以使用 Bandit 的徽章展示项目的安全状态。Bandit 提供了容器镜像,支持多种架构,并使用 sigstore cosign 签名以保证镜像来源的可靠性。
* [inducer/pudb](https://github.com/inducer/pudb) PuDB是一个全屏控制台 Python 调试器,旨在以轻量级、键盘友好的方式提供现代 GUI 调试器的功能。它允许你在终端中调试代码,并提供语法高亮、可视化断点、变量查看、主题切换、键盘导航、搜索功能、模块浏览器、异常处理、IPython 集成等功能。PuDB 支持 Python 3.6 及更高版本,并提供命令行和图形界面两种操作方式。你可以通过 Git 获取开发版本,并通过邮件列表或 GitHub 仓库提交补丁和寻求帮助。
* [Toblerity/Fiona](https://github.com/Toblerity/Fiona) Fiona是一个 Python 库,用于读取和写入地理数据文件,支持 GeoPackage、Shapefile 等多种 GIS 格式。它可以处理多层 GIS 格式、压缩文件、内存虚拟文件系统,并支持从本地硬盘或云存储读取数据。Fiona 依赖于 GDAL 库,但它与 GDAL 的Python 绑定不同,旨在提供更高效的代码编写体验。Fiona 可以通过 pip 安装,并提供命令行界面 (CLI)。用户可以使用 Fiona 读取和写入数据,并通过 Shapely 等库对几何属性进行操作。
* [agermanidis/livepython](https://github.com/agermanidis/livepython) Livepython是一款桌面应用程序,可实时可视化追踪 Python 代码的执行过程,并跟踪全局和局部变量的变化。它比在代码中添加打印语句更直观,也比调试器/分析器更简单易用。Livepython 支持 Python 2.7、3.5 和 3.6版本,可以通过命令行运行,例如 `livepython [程序] [参数...]`。它使用 `sys.settrace()` 拦截代码执行的每一行,并通过 Electron 应用程序进行渲染,通过 Node.js 网关脚本管理前端和追踪器之间的通信。
* [pixiedust/pixiedust](https://github.com/pixiedust/pixiedust) PixieDust是一个用于 Jupyter Notebook 的 Python 辅助库,它可以帮助开发者将业务逻辑封装成易于用户使用的形式。它简化了使用 Python可视化库(如 matplotlib)的操作,并支持 Scala 笔记本。PixieDust 的主要功能包括:使用 `packageManager` 在 Python笔记本中安装 Spark 包,提供 `display()` API 以多种方式可视化 Spark 对象(表格、图表、地图等),以及嵌入应用程序,让非程序员可以更轻松地使用笔记本。
* [pytest-dev/pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) pytest-asyncio是一个 pytest 插件,它简化了使用 asyncio 库的代码的测试。它支持将协程作为测试函数,允许你在测试中使用 await 语法。例如,你可以使用 @pytest.mark.asyncio 装饰器标记一个协程函数,然后在测试中使用 await 等待异步操作。此外,pytest-asyncio 还提供了其他功能,例如自动创建事件循环、管理测试执行顺序等。该项目遵循 Apache License 2.0 协议,可以通过 pipinstall pytest-asyncio 安装。
* [mgedmin/check-manifest](https://github.com/mgedmin/check-manifest) check-manifest是一个用于检查 Python 包的 MANIFEST.in 文件完整性的工具。它可以帮助开发者避免上传缺少文件的损坏包到 Python 包索引。该工具可以自动生成 MANIFEST.in 文件,并提供建议以确保所有必要的文件都被包含在源代码发行版中。开发者可以通过命令行参数或在配置文件中指定要忽略的文件模式,以自定义检查过程。此外,该工具还支持版本控制系统集成,方便开发者进行代码管理。
* [pythonprofilers/memory_profiler](https://github.com/pythonprofilers/memory_profiler) memory_profiler是一个用于监控 Python 代码内存使用情况的纯 Python 模块,它依赖于 psutil 模块。它提供两种功能:一是生成可视化的内存使用报告,二是进行逐行内存使用分析。用户可以使用 `mprof` 命令生成报告并绘制图表,也可以使用 `@profile` 装饰器对函数进行逐行分析,并通过 `python -m memory_profiler` 命令查看分析结果。该项目不再积极维护,但仍可用于分析 Python 代码的内存使用情况。
* [pylint-dev/pylint](https://github.com/pylint-dev/pylint) Pylint是一个用于 Python 2 或 3 的静态代码分析器,支持 Python 3.9.0 及更高版本。它通过分析代码,检查错误、强制编码规范、查找代码异味,并提供代码重构建议。Pylint 不依赖代码类型提示,而是使用内部代码表示(astroid)推断节点的实际值,这使得它能够发现更多问题,但也可能导致速度较慢。与其他代码分析器相比,Pylint 更全面,因为它能够识别其他工具可能错过的错误和问题。
* [PyCQA/pycodestyle](https://github.com/PyCQA/pycodestyle) Pycodestyle (原名为pep8) 是一个用于检查 Python 代码是否符合 PEP8 风格指南的工具,它可以帮助开发者编写更易读、更一致的代码。Pycodestyle 提供插件架构,方便用户添加新的检查规则,并支持可解析的输出,方便开发者在编辑器中快速定位错误。Pycodestyle 仅包含一个 Python 文件,依赖标准库,易于使用和部署,并包含全面的测试套件。用户可以通过 pip 命令安装、升级或卸载 Pycodestyle。
* [adamchainz/flake8-comprehensions](https://github.com/adamchainz/flake8-comprehensions) flake8-comprehensions 是一个 flake8 插件,帮助你写出更简洁、更易读的列表、集合和字典推导式。它通过识别不必要的生成器表达式、列表推导式以及字面量,并提供相应的建议,帮助你将代码转换为更简洁的等效形式。例如,它可以将 `list(f(x) for x in foo)` 重写为 `[f(x) for x in foo]`,或将 `set([1, 2])` 重写为 `{1, 2}`。该插件支持 Python 3.9 到 3.13 版本,并提供多种规则来帮助你优化代码。
* [PyCQA/docformatter](https://github.com/PyCQA/docformatter) docformatter是一个用于格式化 Python 代码 docstring 的工具,它遵循 PEP 257 规范,自动将 docstring 格式化为符合规范的样式。它支持多种 docstring 格式,包括 Epytext 和 Sphinx,并可以与 black 代码格式化工具配合使用。docformatter 还遵循 PEP 8规范,并确保 docstring 中的字符串字面量不包含尾随空格。用户可以通过 read-the-docs 网站获取更详细的文档信息,包括对 PEP 257 的详细讨论和使用要求。
* [rubik/radon](https://github.com/rubik/radon) Radon是一个Python工具,用于计算源代码中的各种度量指标,例如McCabe复杂度、原始指标(包括代码行数、注释行数、空行数等)、Halstead指标和可维护性指数。它支持Python 2.7到3.12版本,并依赖于少量软件包,例如mando和colorama。Radon可以通过命令行或编程方式使用,并提供详细的文档。例如,使用`radon cc`命令可以计算代码的循环复杂度,并根据复杂度等级用不同的颜色进行标记。
* [asweigart/pyautogui](https://github.com/asweigart/pyautogui) PyAutoGUI是一个跨平台的GUI自动化Python模块,用于以编程方式控制鼠标和键盘。它支持Python 2和3,可在Windows、macOS和Linux上运行。PyAutoGUI使用简单易懂,可以轻松地移动鼠标、点击、输入文本、按下键盘按键等操作。它还支持使用tweening/easing函数来控制鼠标移动速度,以及显示消息框。安装PyAutoGUI可以通过pip命令:`pip install pyautogui`。详细文档请访问:https://pyautogui.readthedocs.org。
* [marimo-team/marimo](https://github.com/marimo-team/marimo) Marimo是一个响应式Python笔记本,它可以运行可重复的实验,作为脚本执行,部署为应用程序,并使用git进行版本控制。Marimo笔记本存储为纯Python代码,可作为脚本执行,并可部署为应用程序。其特点包括:包含电池,响应式,交互式,可重复,可执行,可共享,专为数据设计,git友好,以及现代编辑器。用户可以使用pip安装marimo,并运行`marimo tutorialintro`命令来学习基础知识。
* [rasterio/rasterio](https://github.com/rasterio/rasterio) Rasterio是一个用于读取和写入地理空间栅格数据的Python库,它基于Numpy数组提供API,支持GeoTIFF等格式。Rasterio 1.4支持Python 3.9+、Numpy 1.24+和GDAL 3.5+,并提供Linux、macOS和Windows的官方二进制包。Rasterio提供访问栅格文件属性的方法,例如宽度、高度、坐标参考系统、变换矩阵、波段数量和索引。它还提供获取指定地理坐标的读写窗口的方法,并提供名为"rio"的命令行界面。
* [pyscaffold/pyscaffold](https://github.com/pyscaffold/pyscaffold) PyScaffold是一个用于创建高质量Python项目的模板生成器,生成的项目可以直接在PyPI上共享并通过pip安装。它易于使用,并鼓励采用Python生态系统的最佳工具和实践,帮助开发者提高效率。PyScaffold稳定可靠,已被数千名开发者使用多年,通过简单的命令即可生成包含项目所需一切的模板,并支持多种安装方式(pip, conda, pipx),还集成了tox用于自动化构建、发布等任务。
* [uwescience/shablona](https://github.com/uwescience/shablona) shablona是一个用于小型科学 Python 项目的模板项目,遵循了科学 Python 生态系统中的标准和约定,方便他人使用你的代码,也方便你将代码移植到其他项目并与其他用户协作。项目结构清晰,包含模块代码、项目数据、测试、文档和构建脚本等部分。模块代码遵循 PEP8 代码格式标准,并使用 flake8 进行代码风格检查。项目数据存储在 csv 文件中,方便管理和使用。
* [dnbaker/sketch](https://github.com/dnbaker/sketch) sketch是一个通用的、仅包含头文件的库,提供各种草图数据结构的实现,适用于可扩展和流式应用程序。所有实现都尽可能使用 SIMD 并行加速,大多数可组合,许多是线程安全的(除非编译时传递 `-DNOT_THREADSAFE` 标志)。该库包含 HyperLogLog、HyperBitBit、Bloom 过滤器、Count-Min 和 Count 草图、MinHash 草图、B-Bit MinHash 草图和 ModHash 草图等数据结构,并提供 Python 绑定。
* [pyenv/pyenv-installer](https://github.com/pyenv/pyenv-installer) pyenv-installer 是一个用于安装 pyenv 及其相关工具的脚本,它借鉴了 rbenv-installer 的设计理念。该工具需要 Git环境,并可能需要安装一些特定于操作系统的库和包来编译 Python 解释器。安装 pyenv-installer 后,用户需要配置 shell 环境才能使用 pyenv。该脚本支持更新和卸载 pyenv,并提供针对 Travis CI 的特殊安装方法。此外,该项目还提供 Vagrant 环境用于测试安装过程。
* [wntrblm/nox](https://github.com/wntrblm/nox) Nox是一个用 Python 编写的命令行工具,用于自动化在多个 Python 环境中进行测试,类似于 tox。与 tox 不同的是,Nox 使用标准的 Python 文件进行配置,例如使用 `@nox.session` 装饰器定义测试和代码风格检查等任务。Nox 可以通过 pipx 或 pip安装,并支持列出所有测试会话、运行所有会话或运行特定会话。Nox 是一个开源项目,欢迎各种贡献,具体信息请查看贡献指南。
* [pytest-dev/pytest-testinfra](https://github.com/pytest-dev/pytest-testinfra) Testinfra是一个用 Python 编写的服务器配置测试框架,它使用 Pytest作为测试引擎,可以像编写单元测试一样测试服务器配置的实际状态,支持 Salt、Ansible、Puppet、Chef 等配置管理工具。Testinfra 提供了类似 Serverspec 的功能,可以测试文件内容、用户权限、服务状态、软件包安装等。用户可以通过 pip 安装 Testinfra,并编写测试代码,然后使用 py.test 命令运行测试。
* [pyenv/pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv) pyenv-virtualenv 是一个 pyenv 插件,用于在类 Unix 系统上管理Python 的 virtualenv 和 conda 环境。它可以帮助用户创建、激活、切换和删除 virtualenv,并支持自动激活功能。用户可以使用 `pyenv virtualenv` 命令创建基于指定 Python 版本的 virtualenv,并通过 `pyenv virtualenv-init` 命令将自动激活功能添加到 shell 配置文件中。此外,macOS 用户可以使用 Homebrew 安装 pyenv-virtualenv。
* [cython/cython](https://github.com/cython/cython) Cython 是一个 Python 编译器,它使编写 Python 的 C 扩展就像编写 Python 本身一样简单。Cython 基于 Pyrex,但支持更尖端的功能和优化。Cython 将 Python 代码转换为 C/C++ 代码,但还支持调用 C 函数以及在变量和类属性上声明 C 类型。这允许编译器从 Cython 代码生成非常高效的 C 代码。这使得 Cython 成为包装外部 C 库和快速 C 模块以加快 Python 代码执行的理想语言。
* [pytest-dev/pytest-bdd](https://github.com/pytest-dev/pytest-bdd) pytest-bdd是 pytest 的 BDD 框架,它使用 Gherkin 语法来编写测试用例,并利用 pytest 的强大功能来执行测试。它不需要独立的运行器,可以与 pytest 的单元测试无缝集成,简化了测试流程,并允许复用 pytest 的测试环境和 fixture。pytest-bdd 支持将pytest 的 fixture 用于 Gherkin 步骤的设置和操作,实现了真正的 BDD 风格,无需维护包含 Gherkin 命令副作用的上下文对象。
* [Kozea/pygal](https://github.com/Kozea/pygal) Pygal是一个用 Python 编写的动态 SVG 图表库,用于创建各种类型的图表,例如条形图、折线图、饼图等。它提供了一个简单易用的 API,可用于生成交互式图表,并支持多种定制选项。Pygal 的文档位于 www.pygal.org,可以通过 pip install pygal 命令安装。用户可以 fork 项目并提交 pull request 以贡献代码,并可以通过 Flattr 或 gittip 支持项目。Pygal采用 LGPLv3 许可证。
* [gorakhargosh/watchdog](https://github.com/gorakhargosh/watchdog) Watchdog是一个Python库和shell工具,用于监控文件系统事件,支持Python3.9+版本。它提供API用于编写监控程序,并包含名为`watchmedo`的实用程序,可以根据文件变化执行命令或自定义操作(例如,通过`tricks.yaml`文件配置触发特定动作),方便监控指定文件类型或执行特定shell命令。 安装方法为使用pip安装`watchdog`或`watchdog[watchmedo]`(包含`watchmedo`工具)。
* [sdispater/pendulum](https://github.com/sdispater/pendulum) Pendulum是一个易于使用的Python库,简化了日期和时间处理。它基于Python标准库的datetime,提供更清晰的API和更便捷的时区处理,所有Pendulum实例都是时区感知的且默认使用UTC。它能轻松进行时区转换、日期计算和格式化,并提供更直观的timedelta方法。虽然与标准datetime类兼容,但少数库(如sqlite3, mysqlclient, PyMySQL, django)可能需要适配器才能正确使用。
* [pytest-dev/pytest-cov](https://github.com/pytest-dev/pytest-cov) pytest-cov 是 pytest 的一个插件,用于生成代码覆盖率报告。它比直接使用 `coverage run` 更强大,支持子进程和 pytest-xdist,确保在不同环境下都能准确地获取覆盖率数据。它还与 coverage 包兼容,支持通过命令行选项或配置文件配置覆盖率收集。用户可以使用 `pip install pytest-cov` 安装该插件,并通过 `pytest --cov=myproj tests/` 命令运行测试并生成覆盖率报告。
* [FactoryBoy/factory_boy](https://github.com/FactoryBoy/factory_boy) FactoryBoy是一个用于 Python 的测试夹具替换工具,它使用易于使用的工厂来替代静态、难以维护的夹具,从而简化复杂对象的测试。它支持多种 ORM(Django、MongoDB、SQLAlchemy)并易于扩展到其他库。FactoryBoy 的主要特点包括:直观的声明式语法、支持链式工厂调用、支持多种构建策略(保存/未保存实例、模拟对象)以及每个类支持多个工厂,包括继承。
* [keleshev/schema](https://github.com/keleshev/schema) schema是一个Python库,用于验证Python数据结构(例如从配置文件、表单、外部服务或命令行解析中获得的数据,并从JSON/YAML或其他格式转换为Python数据类型)。它通过定义模式来验证数据,如果数据有效则返回验证后的数据,无效则抛出SchemaError异常;也提供`is_valid`方法用于简单地检查数据有效性。支持Python 2.6到3.9以及PyPy,并遵循语义版本控制。
* [python/mypy](https://github.com/python/mypy) Python 的静态类型检查器。类型检查器有助于确保在代码中正确使用变量和函数。使用 mypy,将类型提示 (PEP 484) 添加到您的 Python 程序中,当您错误地使用这些类型时,mypy 会警告您。Python 是一种动态语言,因此通常只有在尝试运行它时才会在代码中看到错误。Mypy 是一个静态检查器,因此它甚至可以在不运行程序的情况下发现程序中的错误!
* [prompt-toolkit/python-prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) python-prompt-toolkit是一个强大的Python库,用于构建交互式命令行应用程序。它提供语法高亮、多行输入编辑、代码补全、Emacs和Vi键绑定等功能,支持Unicode、鼠标操作和自动建议,并可在Linux、OS X、FreeBSD、OpenBSD和Windows系统上运行。该库轻量级,依赖Pygments和wcwidth,可作为GNU readline的替代品,甚至超越其功能。通过`pip install prompt_toolkit`即可安装。
* [PyCQA/flake8-bugbear](https://github.com/PyCQA/flake8-bugbear) flake8-bugbear 是一个 Flake8 插件,用于在你的程序中查找潜在的bug 和设计问题。它包含了 pyflakes 和 pycodestyle 中没有的警告信息。该插件旨在识别可能存在问题的代码模式,例如使用裸 `except:` 语句、对 `os.environ` 进行不安全的赋值、使用可变数据结构作为默认参数等。它通过提供更严格的代码检查规则,帮助开发者编写更健壮、更可靠的代码。
* [itamarst/eliot](https://github.com/itamarst/eliot) Eliot是一个Python日志系统,它以因果链的形式输出**动作**,帮助你了解软件运行的**原因**和**过程**。它可以追踪分布式系统中的因果关系,支持科学计算、异步编程和Twisted网络框架。Eliot仅用于生成日志,你需要使用Logstash和ElasticSearch等工具来聚合和存储日志。它支持Python 3.8-3.12和PyPy3,由Itamar Turner-Trauring维护,并使用Apache 2.0许可证发布。
* [TomSchimansky/CustomTkinter](https://github.com/TomSchimansky/CustomTkinter) 基于 Tkinter 的 python UI 库,它提供了新的、现代的和完全可定制的小部件。它们的创建和使用方式与普通的 Tkinter 小部件类似,也可以与普通的 Tkinter 元素结合使用。小部件和窗口颜色要么适应系统外观,要么适应手动设置的模式(“浅色”、“深色”),并且所有小部件和窗口都支持 HighDPI 缩放。在所有桌面平台上获得一致且现代的外观。
* [marshmallow-code/marshmallow](https://github.com/marshmallow-code/marshmallow) Marshmallow是一个轻量级库,用于将复杂对象与简单的Python数据类型进行相互转换,它与ORM/ODM/框架无关。通过定义Schema,Marshmallow可以验证输入数据、将输入数据反序列化为应用程序对象,并将应用程序对象序列化为基础Python类型(例如,用于HTTP API的JSON)。可以使用pip install -U marshmallow安装,更多文档请访问https://marshmallow.readthedocs.io/。
* [jmcarpenter2/swifter](https://github.com/jmcarpenter2/swifter) Swifter是一个Python包,能高效地将任意函数应用于pandas DataFrame或Series,自动选择最快的方式(单核、多核或Dask并行处理)。它能向量化函数以提高速度,如果向量化不可行,则自动比较pandas apply和多核处理的效率,选择更快的方案。Swifter也支持Modin DataFrame和groupby.apply操作,安装方便,使用简单,只需用`swifter.apply()`替换`apply()`即可。
* [pypa/twine](https://github.com/pypa/twine) Twine是一个用于将 Python 包发布到 PyPI 的工具,它可以独立于构建系统上传源代码和二进制发行版,支持新项目和已有项目的上传。Twine 提供了详细的文档,包括功能介绍、安装和使用说明,以及其他资源链接。开发者可以参考 Twine 的开发者文档,了解如何参与项目,包括项目架构概述和未来发展计划。Twine 项目遵循 PSF 行为准则。
* [jupyter-incubator/sparkmagic](https://github.com/jupyter-incubator/sparkmagic) Sparkmagic是一个Jupyter工具集,用于通过REST服务器与远程Spark集群交互,支持Livy、Lighter和Ilum等服务器。它提供多种语言的Spark代码交互运行功能,包含用于将Jupyter转化为集成Spark环境的内核,并具有自动创建SparkContext和SQLContext、自动可视化SQL查询结果、轻松执行SparkSQL查询等特色功能,方便用户在Jupyter Notebook中高效地使用Spark。
* [dry-python/returns](https://github.com/dry-python/returns) Returns是一个Python库,它通过提供多种容器(如Maybe、Result、IO等)来增强函数返回值的类型安全性和表达能力,从而实现更清晰、更健壮的函数式编程。它支持类型提示和mypy检查,并提供辅助工具简化代码编写,兼容异步操作,帮助开发者编写更易于维护和理解的代码。 该库包含丰富的文档、测试和教程,方便快速上手。
* [hynek/structlog](https://github.com/hynek/structlog) structlog是一个用于 Python 的生产级日志记录解决方案,它简单、强大且快速。它使用函数和字典来处理日志,提供熟悉的 API 并让您完全掌控。structlog 灵活的设计让您可以选择让它处理日志输出,或者将日志转发到现有的日志系统,例如标准库的 logging模块。它支持 JSON、logfmt 和漂亮的控制台输出格式,并提供出色的性能。
* [pypa/flit](https://github.com/pypa/flit) Flit是一个简化的 Python 包发布工具,旨在简化发布流程,减少对打包的思考,并帮助避免常见错误。它使用 `pyproject.toml` 文件来配置项目信息,并提供 `flit init` 命令来生成配置文件。通过 `flit publish` 命令,可以将你的 Python包上传到 PyPI。Flit 支持自动打包和上传,并使用 `pip` 安装包。Flit 还支持本地安装,方便开发调试。
* [pyproj4/pyproj](https://github.com/pyproj4/pyproj) pyproj是一个 Python 接口,用于访问 PROJ 库,该库是一个用于地理坐标系投影和坐标转换的强大库。pyproj 提供了易于使用的Python 函数,可以进行各种地理空间操作,例如投影转换、坐标系定义、距离计算和方位计算。pyproj 基于 PROJ 库,并利用其高效的投影和转换算法,为 Python 开发者提供了强大的地理空间数据处理能力。
* [taojy123/KeymouseGo](https://github.com/taojy123/KeymouseGo) 类似按键精灵的鼠标键盘录制和自动化操作模拟点击和键入。功能:记录用户的鼠标键盘操作,通过触发按钮自动执行之前记录的操作,可设定执行的次数,可以理解为 精简绿色版 的 按键精灵。用途:在进行某些操作简单、单调重复的工作时,使用本软件就可以很省力了。自己只要做一遍,然后接下来就让电脑来做。
* [pypa/virtualenv](https://github.com/pypa/virtualenv) virtualenv是一个用于创建独立 Python 环境的工具,它可以帮助你隔离项目依赖关系,避免不同项目之间产生冲突。它通过创建一个包含特定 Python 版本和依赖包的虚拟环境,使你能够在不同项目中使用不同的 Python 版本和依赖包,而不会影响系统环境。virtualenv 的安装和使用非常简单,你可以通过官网获取更多信息。
* [ml-tooling/best-of-jupyter](https://github.com/ml-tooling/best-of-jupyter) 这是一个精心整理的 Jupyter 项目列表,包含 300 个优秀的开源项目,共计 40 万颗星,分为 13 个类别。所有项目都根据项目质量评分进行排名,该评分基于从 GitHub 和不同的包管理器自动收集的各种指标。如果您想添加或更新项目,请随时打开一个问题、提交一个拉取请求,或直接编辑 projects.yaml 文件。欢迎贡献!
* [Kaggle/docker-python](https://github.com/Kaggle/docker-python) 该项目提供Kaggle用于运行Python Notebook的CPU和GPU Docker镜像,包含构建镜像的Dockerfile,镜像存储在Google Container Registry上(CPU:gcr.io/kaggle-images/python;GPU: gcr.io/kaggle-gpu-images/python)。用户可通过提供的脚本构建和测试新镜像,并可提交请求添加新的软件包。 该镜像方便用户在Kaggle云端运行Python代码,无需本地配置环境。
* [sumerc/yappi](https://github.com/sumerc/yappi) Yappi是一个支持多线程、asyncio 和 gevent 的 Python 性能分析器,它完全用 C 语言编写,速度很快。它可以跟踪并分析多线程程序、异步代码和 gevent 代码的性能,并提供直观的界面来查看和分析结果。Yappi 还支持将结果保存为 callgrind或 pstat 格式,并提供丰富的功能,例如根据时间或 CPU 时间进行聚合、过滤和排序。
* [geopy/geopy](https://github.com/geopy/geopy) geopy是一个 Python 库,用于使用第三方地理编码服务和数据源查找地址、城市、国家和地标的坐标。它支持 OpenStreetMap Nominatim、Google GeocodingAPI (V3) 等多种地理编码服务,并提供计算两点之间距离的功能,包括大地测量距离和大圆距离。geopy 可用于将地址转换为坐标,将坐标转换为地址,以及计算两点之间的距离。
* [davidhalter/jedi](https://github.com/davidhalter/jedi) 很棒的 Python 自动完成、静态分析和重构库,Jedi 专注于自动完成和转到功能。其他功能包括重构、代码搜索和查找引用。有一个简单的 API 可供使用。有一个参考实现作为 VIM-Plugin。REPL中的自动完成也是可能的,IPython本机使用它,对于CPython REPL,您可以安装它。绝地武士经过了很好的测试,错误应该很少见。
* [ahupp/python-magic](https://github.com/ahupp/python-magic) python-magic是libmagic文件类型识别库的Python接口,通过检查文件头来识别文件类型,类似于Unix命令`file`。它提供`from_file`和`from_buffer`函数来识别文件类型,并支持MIME类型输出及解压缩文件识别。安装需使用`pip install python-magic`并安装libmagic库(不同系统安装方法不同),如有问题可参考README中的故障排除信息。
* [tartley/colorama](https://github.com/tartley/colorama) Colorama是一个Python库,用于在Windows系统上实现ANSI转义序列,从而支持彩色终端文本和光标定位。它通过包装标准输出流,将ANSI序列转换为相应的Win32调用,从而在Windows上实现与Unix/Mac系统相同的彩色终端输出效果。 该库简单易用,跨平台兼容,无需额外依赖,可通过pip或conda安装,并支持多种Python版本。
* [jd/tenacity](https://github.com/jd/tenacity) Tenacity是一个用Python编写的Apache 2.0许可的通用重试库,用于简化向任何事物添加重试行为的任务。它具有通用的装饰器API,可以指定停止条件(例如尝试次数限制)和等待条件(例如指数退避),并支持自定义异常重试、预期结果重试、协程重试和上下文管理器代码块重试。通过pip install tenacity即可安装。
* [SciTools/cartopy](https://github.com/SciTools/cartopy) Cartopy是一个 Python 包,旨在简化数据分析和可视化中的地图绘制。它提供面向对象的投影定义、点、线、多边形和图像在投影之间的转换,并与 Matplotlib 集成,提供简单直观的界面。Cartopy 通过将 shapefile 读取与 Shapely 功能集成,实现强大的矢量数据处理。文档可在 https://scitools.org.uk/cartopy/docs/latest/ 找到。
* [nipunn1313/mypy-protobuf](https://github.com/nipunn1313/mypy-protobuf) mypy-protobuf是一个开源工具,用于从 protobuf 定义文件生成 mypy 桩文件,帮助你在使用 protobuf 时进行类型检查。它支持从 .proto 文件中的注释生成 .pyi 文件的 docstring,并使用 NewType 包装枚举值,以提供更强的类型安全。你可以通过 pip 安装 mypy-protobuf,并在使用 protoc 命令时添加 `--mypy_out` 选项来生成桩文件。
* [wemake-services/wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) `wemake-python-styleguide` 是一个严格且有主见的 Python 代码风格检查工具,它是一个 `flake8` 插件,并依赖于其他一些插件。它可以帮助开发者确保代码风格一致、避免潜在错误、提高代码审查效率、减少代码修改次数,最终提升代码质量。该项目提供详细的文档和 GitHub Actions 集成,方便开发者快速上手使用。
* [grantjenks/python-sortedcontainers](https://github.com/grantjenks/python-sortedcontainers) grantjenks/python-sortedcontainers是一个纯Python编写的、Apache2许可的排序集合库,速度与C扩展一样快。它提供SortedList、SortedDict和SortedSet三种高效的排序容器类型,所有操作都运行在亚线性时间内,并具有极高的内存效率,比典型的二叉树实现效率更高。该库易于使用,无需C编译器,并包含全面的文档和测试。
* [jupyterhub/binderhub](https://github.com/jupyterhub/binderhub) BinderHub是一个基于JupyterHub和Repo2Docker的云端代码运行平台,它允许用户从GitHub等仓库构建和注册Docker镜像,并连接到JupyterHub实例,从而在云端运行代码和交互式Jupyter Notebook。BinderHub简化了可重复计算环境的创建和共享,方便用户和作者快速访问和交互,也允许部署者自定义搭建自己的BinderHub服务器。
* [ultrajson/ultrajson](https://github.com/ultrajson/ultrajson) UltraJSON是一个用C语言编写并提供Python绑定的超高速JSON编码器和解码器,支持Python 3.9+。它可作为大多数Python JSON解析器的替代品,提供诸如`encode_html_chars`、`ensure_ascii`、`escape_forward_slashes`和`indent`等编码选项以控制输出格式。但由于架构原因,项目目前仅维护,建议迁移到更快速且更安全的orjson。
* [amoffat/sh](https://github.com/amoffat/sh) sh是一个用于Python 3.8-3.11和PyPy的强大的子进程替代库,它允许你像调用函数一样调用任何程序,例如`from sh import ifconfig; print(ifconfig("eth0"))`。sh并非Python实现的系统命令集合,它依赖于Unix系统调用,仅支持类Unix系统(Linux、macOS、BSD等),不支持Windows。 项目提供完整文档,可通过pip安装。
* [ml-tooling/best-of-python-dev](https://github.com/ml-tooling/best-of-python-dev) 🏆"Best-of Python Developer Tools" 是一个每周更新的 Python 开发者工具和库排名列表,包含 270 个优秀的开源项目,共计 960K 星,分为 17 个类别。每个项目根据来自 GitHub 和不同包管理器的各种指标自动计算的项目质量评分进行排名。欢迎贡献,您可以提交问题、拉取请求或直接编辑项目列表。
* [spulec/freezegun](https://github.com/spulec/freezegun) FreezeGun是一个Python库,它允许你的测试代码穿越时间,通过模拟datetime模块来实现。你可以使用装饰器或上下文管理器来冻结时间,让所有datetime.datetime.now()、datetime.datetime.utcnow()、datetime.date.today()等函数返回你指定的时间。FreezeGun还支持时区设置,并可以冻结time.monotonic()和time.perf_counter()函数。
* [jsvine/pdfplumber](https://github.com/jsvine/pdfplumber) pdfplumber是一个Python库,用于解析PDF文件,提取文本、表格和图像等信息。它基于pdfminer.six,适用于机器生成的PDF文件。该库提供命令行界面和Python API,可以提取字符、矩形、线条等信息,并支持可视化调试。此外,pdfplumber还支持提取表格和表单数据,并提供多种演示示例和与其他库的比较。
* [csurfer/pyheatmagic](https://github.com/csurfer/pyheatmagic) pyheatmagic 是一个 IPython 魔术命令,使用 py-heat 库将 Python 代码的执行过程可视化为热图,方便用户直观地分析代码执行效率。用户可以使用 `%%heat` 命令查看热图,也可以使用 `%%heat -o file.png` 命令将热图保存为文件。该项目支持使用 pip 或直接从仓库安装,并提供详细的安装和使用说明。
* [pytransitions/transitions](https://github.com/pytransitions/transitions) Transitions是一个轻量级的面向对象的Python有限状态机实现,具有许多扩展功能,支持Python 2.7+和3.0+版本,通过`pip install transitions`即可安装。它使用简单的面向对象方法实现状态机,允许定义状态、转换和回调函数,并支持多种高级特性,例如层次状态机、图表生成、线程和异步操作等。
* [python-jsonschema/jsonschema](https://github.com/python-jsonschema/jsonschema) jsonschema是一个Python库,实现了JSON Schema规范,支持多种JSON Schema草案版本(包括Draft 2020-12, Draft2019-09, Draft 7, Draft 6, Draft 4和Draft 3),可进行完整验证或迭代式验证以报告所有错误,并支持以编程方式查询验证失败的属性或项目。通过pip安装,并提供命令行工具和扩展功能以支持格式验证。
* [Suor/funcy](https://github.com/Suor/funcy) Funcy是一个实用且功能强大的Python函数工具库,灵感源于Clojure和Underscore。它提供丰富的函数,用于集合操作(合并、转换、选择、分割等)、序列处理(迭代、过滤、分组等)以及函数组合和装饰器等,简化Python代码并提升开发效率,支持Python 3.4+和pypy3,安装方式为`pip install funcy`。
* [pytoolz/toolz](https://github.com/pytoolz/toolz) Toolz是Python的一个函数式标准库,提供迭代器、函数和字典的实用函数,包含itertoolz(迭代器操作)、functoolz(高阶函数)和dicttoolz(字典操作)三个部分,这些函数源于函数式编程,可组合完成复杂任务;它支持Python 3.8+,纯Python编写,无外部依赖,轻量级;Cytoolz项目提供其Cython实现版本。
* [rsalmei/alive-progress](https://github.com/rsalmei/alive-progress) alive-progress是一个全新的 Python 进度条库,它提供实时吞吐量、预计完成时间 (ETA) 和酷炫的动画效果。它使用多线程机制,以低 CPU 使用率的方式更新进度条,并提供准确的 ETA,帮助你更好地规划时间和管理工作负载。此外,它还支持暂停和恢复进度,并提供最终的处理结果摘要。
* [jmcnamara/XlsxWriter](https://github.com/jmcnamara/XlsxWriter) XlsxWriter是一个Python库,用于创建兼容Excel 2007+的XLSX文件。它支持写入文本、数字、公式、超链接等,并提供丰富的格式化功能,例如合并单元格、图表、数据验证、图像插入等,还支持与Pandas和Polars集成以及内存优化模式,兼容Python 3.4+和PyPy3。该库使用标准库,无需额外依赖。
* [uiri/toml](https://github.com/uiri/toml) 这个名为“toml”的 Python 库旨在处理 TOML 数据。它可以将 TOML 格式的字符串解析为 Python 字典,并将 Python 字典转换回 TOML 字符串。它支持 TOML 测试套件并遵循 TOML 规范。该库提供诸如用于解析的“toml.loads”、用于字符串转换的“toml.dumps”和用于写入文件的“toml.dump”等函数。
* [buildbot/buildbot](https://github.com/buildbot/buildbot) Buildbot是一个基于Python的持续集成测试框架,由Brian Warner最初开发,目前由Botherders团队维护。它包含多个组件,如master、worker、www/base、www/console_view、www/waterfall_view等,每个组件都有详细的README文档。Buildbot的官方网站是http://buildbot.net,相关项目包括buildbot-media和buildbot-website。
* [abhishekkrthakur/colabcode](https://github.com/abhishekkrthakur/colabcode) ColabCode是一个Python库,允许在Google Colab或Kaggle Notebook中运行VS Code (codeserver)。它通过简单的pip安装和命令行或Python API调用启动codeserver,可选地设置端口号、密码和Google Drive挂载。 该项目预装了一些VS Code扩展,并提供一个Colab入门notebook和YouTube演示视频,方便用户快速上手。
* [huyubing/books-pdf](https://github.com/huyubing/books-pdf) books-pdf 项目提供了一个 Python 脚本,用于将书籍的 HTML 文件转换为 PDF格式,支持添加目录、页眉页脚、封面等功能,并能够根据用户需求自定义输出格式。该项目使用 Beautiful Soup 库解析 HTML 文件,并使用 ReportLab 库生成 PDF 文件,方便用户将电子书转换为可打印的 PDF 版本。
* [jupyter/nbgrader](https://github.com/jupyter/nbgrader) nbgrader是一个用于布置和批改Jupyter Notebook作业的系统,它提供Jupyter Notebook的教师工具栏扩展、教师表单批改扩展和学生作业列表扩展,方便教师创建、发布、收集和批改作业,学生提交和查看作业。该系统还提供命令行工具,实现高效的作业管理,并支持自动和手动批改。
* [nteract/nteract](https://github.com/nteract/nteract) nteract是一个开源组织,致力于创建卓越的交互式计算体验,方便用户协作。它包含一个核心SDK以及桌面和网页应用程序,基于Electron构建,并提供Jupyter扩展。该项目是一个单体仓库,包含SDK、应用代码及文档,开发者可通过其文档和API参考构建基于nteract的笔记本应用。
* [pypa/hatch](https://github.com/pypa/hatch) 现代、可扩展的 Python 项目管理,标准化的构建系统,默认具有可重现的构建、强大的环境管理,支持自定义脚本、可配置的 Python 分发管理、使用合理的默认值进行静态分析、轻松发布到 PyPI 或其他索引、版本管理、最佳实践项目生成、响应式 CLI,比同等工具快 ~2-3 倍
* [camelot-dev/camelot](https://github.com/camelot-dev/camelot) Camelot是一个Python库,用于从PDF文件中提取表格数据。它支持多种输出格式(如CSV、JSON、Excel等),并提供可配置的设置以控制提取过程,例如根据准确性和空白度量来过滤结果。Camelot仅适用于基于文本的PDF,不适用于扫描文档,并提供命令行界面和网页接口Excalibur。
* [pytest-dev/pytest-xdist](https://github.com/pytest-dev/pytest-xdist) pytest-xdist是一个 pytest 插件,它扩展了 pytest,提供新的测试执行模式,例如将测试分布到多个 CPU 上以加速测试执行。例如,使用 `pytest -n auto` 命令,pytest 会根据 CPU 数量自动生成多个工作进程,并随机分配测试到这些进程上。该插件的文档可在 Read The Docs 上找到。
* [ml-tooling/best-of-python](https://github.com/ml-tooling/best-of-python) 这是一个每周更新的 Python 开源库和工具排名列表,包含 390个项目,共计 180 万颗星,分为 28 个类别。每个项目的排名基于从 GitHub 和不同的包管理器自动收集的各种指标计算得出的项目质量评分。该项目欢迎贡献,你可以提交问题、拉取请求或直接编辑项目文件。
* [python-attrs/attrs](https://github.com/python-attrs/attrs) attrs是一个Python包,通过简化对象协议的实现(例如dunder方法),让编写类变得更轻松愉快,从而编写简洁、正确的代码且不降低速度;它提供类装饰器和声明式属性定义方式,帮助开发者避免编写大量样板代码;自2020年以来,NASA的火星任务也信任并使用该项目。
* [eliben/pycparser](https://github.com/eliben/pycparser) pycparser是一个用纯Python编写的C99语言解析器,支持大部分C99特性和部分C11特性,可用于C代码混淆、编译器前端、静态代码检查等多种场景,其代码易于理解,且无需外部依赖,仅需Python解释器即可运行,采用BSD许可证。它紧密遵循C99标准的语法,推荐使用pip安装。
* [microsoft/vscode-jupyter](https://github.com/microsoft/vscode-jupyter) Microsoft为VS Code开发的Jupyter扩展程序,支持在VS Code中运行Jupyter Notebook,并兼容多种语言内核。它并非Jupyter内核本身,需要用户已安装Jupyter包的Python环境。该扩展程序还自动安装其他扩展以增强功能,并支持在浏览器(vscode.dev和GitHub Codespaces)中编辑Jupyter Notebook。
* [hhatto/autopep8](https://github.com/hhatto/autopep8) autopep8是一个用于自动格式化 Python 代码以符合 PEP 8 风格指南的工具。它使用 pycodestyle 工具来识别需要格式化的代码部分,并能够修复 pycodestyle 报告的大多数格式问题。autopep8 可以直接修改文件,并提供多种选项来控制格式化行为,例如代码行长度、缩进方式等。
* [py-pdf/pypdf](https://github.com/py-pdf/pypdf) pypdf是一个纯 Python 编写的 PDF 库,可以用于拆分、合并、裁剪和转换 PDF 文件的页面,还可以添加自定义数据、查看选项和密码。它能够从 PDF 文件中提取文本和元数据。pypdf 可以通过 pip 安装,并提供丰富的文档和示例,用户可以在 StackOverflow 上提问或参与讨论。
* [tox-dev/tox](https://github.com/tox-dev/tox) tox是一个命令行驱动的 CI 前端和 Python 开发任务自动化工具,它旨在自动化和标准化 Python 测试,帮助开发者在不同环境(如不同 Python 版本、实现或依赖)下检查包构建和安装,并在每个环境中运行测试,并作为持续集成服务器的前端,简化 CI 和 shell 测试流程。
* [martinblech/xmltodict](https://github.com/martinblech/xmltodict) xmltodict是一个Python模块,它使处理XML就像处理JSON一样简单,它将XML转换为类似JSON的字典结构,支持命名空间处理(包括命名空间的展开、折叠和忽略),并提供基于Expat的快速流式模式,适用于处理大型XML文件(如Discogs或Wikipedia数据),还支持将字典转换回XML。
* [benfred/py-spy](https://github.com/benfred/py-spy) Python程序的采样分析器。它使您可以可视化Python程序花费的时间,而无需重新启动程序或以任何方式修改代码。py-spy的开销非常低:它是用 Rust 编写的,以提高速度,并且不会在与分析的 Python 程序相同的进程中运行。这意味着py-spy可以安全地用于生产Python代码。
* [exaloop/codon](https://github.com/exaloop/codon) 高性能的 Python 实现,可编译为本机机器代码,而不会产生任何运行时开销。在单个线程上,与普通 Python 相比,典型的加速约为 10-100 倍或更多。密码子的性能通常与 C/C++ 相当(有时甚至更好)。与 Python 不同,Codon 支持原生多线程,这可以使速度提高许多倍。
* [pydata/pandas-datareader](https://github.com/pydata/pandas-datareader) pandas-datareader是一个Python库,它可以从多种网络数据源(例如FRED)读取数据并将其转换为pandas DataFrame格式。只需使用pip安装即可,通过简单的函数调用即可获取数据,例如`pdr.get_data_fred('GS10')`。该项目支持多种pandas版本,并提供详细的文档和多种安装方式。
* [ipython/ipython](https://github.com/ipython/ipython) IPython 本身的官方存储库。IPython 组织中的其他存储库包含网站、文档构建等内容。IPython (Interactive Python) 是一个用于多种编程语言的交互式计算的命令 shell,最初是为 Python 编程语言开发的,它提供内省、富媒体、shell 语法、Tab 自动补全和历史记录。
* [run-ai/runai-model-streamer](https://github.com/run-ai/runai-model-streamer) Run:ai Model Streamer 是一个 Python SDK,用于将张量从张量文件流式传输到 GPU 内存,支持并发和流式传输。它提供了一个 API 用于加载 SafeTensors 文件和构建 AI 模型,实现无缝加载模型。该项目使用 devcontainer 进行开发,并提供构建、测试和本地安装的命令。
* [tkem/cachetools](https://github.com/tkem/cachetools) cachetools是一个Python库,提供多种缓存集合和装饰器,包括类似`@lru_cache`的缓存功能。它基于不同的缓存算法(例如LRU、TTL)实现多种缓存类,并提供装饰器方便地记忆函数和方法调用,从而提高代码效率。通过`pip install cachetools`安装,支持类型提示。
* [pyinvoke/invoke](https://github.com/pyinvoke/invoke) Invoke是一个 Python 库,用于管理面向 shell 的子进程,并将可执行的 Python 代码组织成可通过命令行调用的任务,它从 make、rake 和 Fabric 1.x 等工具中汲取灵感,提供强大且简洁的功能集。Invoke 支持 Python 2.7 和 3.4+ 版本,并提供详细的变更日志和路线图。
* [psf/pyperf](https://github.com/psf/pyperf) 用于编写、运行和分析基准测试的工具包。用于运行可靠基准测试的简单 API、自动校准时间预算的基准、生成多个工作进程、计算平均值和标准差、检测基准测试结果是否不稳定、用于存储基准测试结果的 JSON 格式、支持多种单位:秒、字节和整数。
* [bloomberg/memray](https://github.com/bloomberg/memray) Memray 是 Python 的内存分析器。它可以跟踪 Python 代码、本机扩展模块和 Python 解释器本身中的内存分配。它可以生成几种不同类型的报告来帮助您分析捕获的内存使用数据。虽然通常用作 CLI 工具,但它也可以用作库来执行更细粒度的分析任务。
* [ionelmc/pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) pytest-benchmark是一个 pytest 插件,用于对代码进行基准测试。它将测试分组到回合中,并根据所选计时器进行校准。该插件提供了 `benchmark` fixture,用于对函数进行基准测试。只需使用 `pytest` 运行测试,插件会自动进行基准测试并生成结果表格。
* [Supervisor/supervisor](https://github.com/Supervisor/supervisor) Supervisor是一个运行在类Unix系统上的客户端/服务器进程控制系统,用于监控和管理多个进程;它支持Linux、macOS和Solaris等系统,但不支持Windows;Supervisor通过Python编写,支持Python 2.7和Python 3.4及以上版本;更多信息和文档请访问supervisord.org。
* [beeware/toga](https://github.com/beeware/toga) Toga是一个Python原生、操作系统原生的GUI工具包,允许开发者使用Python创建跨平台的桌面应用程序。它通过利用每个操作系统的原生UI组件来实现外观和感觉的本地化,并提供简洁易用的API。 您可以通过`pip install toga-demo`快速体验其功能。
* [pyeve/cerberus](https://github.com/pyeve/cerberus) Cerberus是一个轻量级、可扩展的Python数据验证库,提供开箱即用的类型检查和其他基本功能,并支持自定义验证扩展。它遵循语义化版本控制,兼容多种Python解释器,并可通过pip安装。项目采用开源许可,欢迎用户捐助支持其持续发展。
* [wireservice/csvkit](https://github.com/wireservice/csvkit) csvkit是一个用于处理 CSV 数据的命令行工具集,它可以将 CSV数据转换为其他格式,并提供各种操作功能,例如数据转换、筛选、排序、合并等。它受到 pdftk、GDAL 和 csvcut 工具的启发,并提供丰富的文档、代码仓库和问题跟踪系统。
* [pytest-dev/pytest-mock](https://github.com/pytest-dev/pytest-mock) pytest-mock是一个 pytest 插件,它提供了一个名为 `mocker` 的 fixture,该 fixture 是 `mock` 包的薄包装,简化了 pytest 中的mock 操作。它自动在测试结束时撤销 mock,并提供诸如 `spy` 和 `stub` 等实用工具,使用 pytest 内省进行调用比较。
* [dabeaz-course/python-mastery](https://github.com/dabeaz-course/python-mastery) 以练习为导向的高级 Python 编程课程,十多年来在企业培训巡回赛中经过了数百次的实战测试。作者:David Beazley,他是 Python Cookbook, 3rd Edition (O‘Reilly) 和 Python Distilled (Addison-Wesley) 的作者。在知识共享许可下发布。
* [mitsuhiko/rye](https://github.com/mitsuhiko/rye) Python 的实验性包管理解决方案,Armin 个人一站式商店,可以满足他所有的 Python 需求。它安装和管理 Python 安装、管理文件、安装和卸载依赖项、在后台管理 pyproject.toml virtualenv。它支持 monorepos 和全局工具安装。
* [bokeh/bokeh](https://github.com/bokeh/bokeh) 用于现代 Web 浏览器的交互式可视化库。它提供了优雅、简洁的多功能图形结构,并在大型或流式数据集中提供了高性能的交互性。散景可以帮助任何想要快速轻松地创建交互式绘图、仪表板和数据应用程序的人。
* [more-itertools/more-itertools](https://github.com/more-itertools/more-itertools) more-itertools是Python库itertools的扩展,提供更多处理迭代器的函数,例如分组、分割、批处理等功能,方便构建优雅的迭代器解决方案,它基于Python标准库的itertools,并增加了许多实用工具函数来处理迭代对象。
* [getlogbook/logbook](https://github.com/getlogbook/logbook) Logbook是一个用于 Python 的日志记录替代方案,易于设置、使用和配置,并支持 Web 应用程序。它提供了一种更友好的方式来记录信息,并支持各种格式和输出方式。更多信息请访问:https://logbook.readthedocs.org。
* [PySimpleGUI/PySimpleGUI](https://github.com/PySimpleGUI/PySimpleGUI) 轻松创建复杂的窗口。支持tkinter,Qt,WxPython,Remi(在浏览器中)。使用全套小部件轻松创建 GUI 应用程序。多窗口应用程序也很简单。支持 3.4 至 3.11。325+ 演示程序和食谱,用于快速入门。广泛的文档
* [gruns/icecream](https://github.com/gruns/icecream) 永远不要再使用 print 进行调试。ic 就像 print,但更好:它打印表达式/变量名称及其值。打字速度提高 60%。数据结构打印。输出以语法突出显示。它可以选择包括程序上下文:文件名、行号和父函数。
* [psf/black](https://github.com/psf/black) 毫不妥协的Python代码格式化程序。通过使用它,您同意放弃对手动格式化细节的控制。作为回报,Black 为您提供速度、确定性和免于 pycodestyle 唠叨格式的自由。您将为更重要的事情节省时间和精力。
* [piskvorky/bounter](https://github.com/piskvorky/bounter) Bounter是一个高效的计数器,它使用有限的内存,无论数据大小,都能够有效地进行计数。它通过使用一个有限的内存池来存储计数信息,并利用哈希函数来解决冲突,从而实现高效的计数功能。
* [fabric/fabric](https://github.com/fabric/fabric) 通过 SSH 远程执行 shell 命令,从而产生有用的 Python 对象作为返回。它建立在Invoke(子流程命令执行和命令行功能)和Paramiko(SSH协议实现)之上,扩展了它们的API以相互补充并提供额外的功能。
* [yaml/pyyaml](https://github.com/yaml/pyyaml) PyYAML是Python的一个功能齐全的YAML处理框架,支持快速LibYAML绑定(可选),提供`yaml.load`/`yaml.dump`以及更安全的`yaml.safe_load`函数处理YAML数据;包含完整的测试套件,并通过MIT许可证开源发布。
* [Nuitka/Nuitka](https://github.com/Nuitka/Nuitka) 用Python编写的Python编译器。它与Python 2.6,2.7,3.4,3.5,3.6,3.7,3.8,3.9,3.10和3.11完全兼容。你给它提供你的Python应用程序,它做了很多聪明的事情,并吐出一个可执行文件或扩展模块。
* [modularml/mojo](https://github.com/modularml/mojo) Mojo是一种新的编程语言,通过将Python语法和生态系统与系统编程和元编程功能相结合,弥合了研究和生产之间的差距。Mojo还很年轻,但它旨在随着时间的推移成为Python的超集。
* [pallets/click](https://github.com/pallets/click) Python 包,用于以可组合的方式创建漂亮的命令行界面,并根据需要使用尽可能少的代码。它是“命令行界面创建工具包”。它是高度可配置的,但具有开箱即用的合理默认值。
* [Jack-Cherish/PythonPark](https://github.com/Jack-Cherish/PythonPark) Python 开源项目之「自学编程之路」,保姆级教程:AI实验室、宝藏视频、数据结构、学习指南、机器学习实战、深度学习实战、网络爬虫、大厂面经、程序人生、资源分享。
* [pydantic/pydantic](https://github.com/pydantic/pydantic) 使用 Python 类型提示进行数据验证。Pydantic 快速且可扩展,可以很好地与您的 linters/IDE/大脑配合使用。定义数据在纯规范 Python 3.8+ 中应该如何存在;使用 Pydantic 验证它。
* [facebook/pyre-check: Performant type-checking for python.](https://github.com/facebook/pyre-check) 符合 PEP 484 的 Python 高性能类型检查器。Pyre 可以逐步分析包含数百万行代码的代码库,从而在开发人员编写代码时为他们提供即时反馈。可在 Pyre Playground 中中试用它。
* [kitao/pyxel](https://github.com/kitao/pyxel) Pyxel是Python的复古游戏引擎。由于其受复古游戏机启发的简单规格,例如只能显示 16 种颜色,只能同时播放 4 种声音,您可以随意享受制作像素艺术风格游戏的乐趣。
* [emeryberger/scalene](https://github.com/emeryberger/scalene) 适用于Python的高性能,高精度CPU和内存分析器.用于Python脚本的CPU和内存分析器,能够正确处理多线程代码,还能区分Python代码和本机代码的运行时间。
* [facelessuser/pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) PyMdown Extensions是Python Markdown的扩展库,提供丰富的扩展功能,文档详见https://facelessuser.github.io/pymdown-extensions/,采用MIT许可证,可通过PyPI安装使用。
* [arrow-py/arrow](https://github.com/arrow-py/arrow) Python 库,提供了明智且人性化的方法来创建、操作、格式化和转换日期、时间和时间戳。可以帮助您以更少的导入和更少的代码处理日期和时间。
* [python-visualization/folium](https://github.com/python-visualization/folium) folium 建立在 Python 生态系统的数据整理优势和 Leaflet.js 库的映射优势之上。在 Python 中操作您的数据,然后通过 folium 将其可视化在 Leaflet 地图中。
* [sympy/sympy](https://github.com/sympy/sympy) 用纯 Python 编写的计算机代数系统。符号计算系统(顺便说一下,通常也称为计算机代数系统,或简称为 CAS),能够计算带有变量的符号表达式。
* [pyenv/pyenv](https://github.com/pyenv/pyenv) 简单的 Python 版本管理,轻松地在多个 Python 版本之间切换。它简单、不显眼,并遵循 UNIX 的单一用途工具的传统,可以很好地完成一件事。
* [google/yapf](https://github.com/google/yapf) 基于clang-format(由 Daniel Jasper 开发)的 Py 格式化程序。该算法获取代码并计算符合配置样式的最佳格式。它消除了维护代码的很多苦差事。
* [mouredev/Hello-Python](https://github.com/mouredev/Hello-Python) 从头开始学习Python编程语言的课程,适合初学者。超过30节课,25小时视频,代码和群聊。从基础知识到创建有数据库的后端 API 等等......
* [microsoft/playwright-python](https://github.com/microsoft/playwright-python) 针对 Python 语言的纯自动化工具,它可以通过单个API自动执行 Chromium,Firefox 和 WebKit 浏览器,连代码都不用写,就能实现自动化功能。
* [navdeep-G/setup.py](https://github.com/navdeep-G/setup.py) 提供一个示例 setup.py 文件,该文件可用于引导下一个 Py 项目。它包括一些高级模式和最佳实践 setup.py ,以及一些注释掉的好东西。
* [pyscript/pyscript](https://github.com/pyscript/pyscript) 一个框架,允许用户使用 HTML 的界面和 Pyodide、MicroPython 和 WASM 以及现代 Web 技术的强大功能在浏览器中创建丰富的 Python 应用程序。
* [VikParuchuri/tabled](https://github.com/VikParuchuri/tabled) tabled 是一个用于检测和提取表的小型库。它使用 surya 查找 PDF 中的所有表格,识别行/列,并将单元格格式化为 markdown、csv 或 html。
* [ActivityWatch/activitywatch](https://github.com/ActivityWatch/activitywatch) 最好的免费和开源自动时间跟踪器。跨平台、可扩展、注重隐私。在不损害用户隐私的情况下收集尽可能多的有价值的生活数据。
* [pypa/pipenv](https://github.com/pypa/pipenv) Python virtualenv 管理工具,它支持多种系统,并很好地弥合了 pip、python(使用系统 python、pyenv 或 asdf)和 virtualenv 之间的差距。
* [pyecharts/pyecharts](https://github.com/pyecharts/pyecharts) Py的数据可视化库。Apache ECharts 是由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多的认可。
* [pyinstaller/pyinstaller](https://github.com/pyinstaller/pyinstaller) 将 Python 应用程序及其所有依赖项捆绑到一个包中。用户可以在不安装 Python 解释器或任何模块的情况下运行打包的应用。
* [geekcomputers/Python](https://github.com/geekcomputers/Python) 创建这些小程序作为实验来玩Python,或者为自己解决问题。我很乐意接受其他人的指示,以改进、简化或提高代码效率。
* [bee-san/pyWhat](https://github.com/bee-san/pyWhat) 识别任何东西。pyWhat 可让您轻松识别电子邮件、IP 地址等。给它一个 .pcap 文件或一些文本,它会告诉你它是什么
* [leisurelicht/wtfpython-cn](https://github.com/leisurelicht/wtfpython-cn) 收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性, 并尝试讨论这些现象背后真正的原理
* [zpoint/CPython-Internals](https://github.com/zpoint/CPython-Internals) 深入研究 CPython 内部结构,尝试说明 CPython 实现的每一个细节。这个仓库是我的 cpython 源代码的笔记/博客。
* [microsoft/pyright](https://github.com/microsoft/pyright) 功能齐全、基于标准的 Python 静态类型检查器。它专为高性能而设计,可与大型 Python 源代码库一起使用。
* [cookiecutter/cookiecutter](https://github.com/cookiecutter/cookiecutter) 一个跨平台的命令行实用程序,用于从千篇一律的(项目模板)创建项目,例如 Python 包项目、C 项目。
* [pandas-dev/pandas](https://github.com/pandas-dev/pandas) 灵活而强大的 Python 数据分析/操作库,提供类似于 R data.frame 对象的标记数据结构、统计函数等等
* [jobbole/awesome-python-cn](https://github.com/jobbole/awesome-python-cn) Python资源大全中文版,包括:Web框架、网络爬虫、模板引擎、数据库、数据可视化、图片处理等
* [tiangolo/typer](https://github.com/tiangolo/typer) 用于构建 CLI 应用程序的库,用户会喜欢使用,开发人员会喜欢创建。基于 Python 3.6+ 类型提示。
* [theskumar/python-dotenv](https://github.com/theskumar/python-dotenv) 从 .env 文件中读取键值对,并将其设置为环境变量。它有助于按照 12 因素原则开发应用程序。
* [realpython/python-guide](https://github.com/realpython/python-guide) 旨在为新手和专家 Python 开发人员提供一本关于日常安装、配置和使用 Python 的最佳实践手册。
* [trekhleb/learn-python](https://github.com/trekhleb/learn-python) 用于学习 Python 的游乐场和备忘单。Python 脚本的集合,按主题拆分并包含带有解释的代码示例
* [marceloprates/prettymaps](https://github.com/marceloprates/prettymaps) 一小组Python函数,用于从OpenStreetMap数据中绘制漂亮的地图。基于 osmnx、matplotlib 和 shapely 库。
* [x-hw/amazing-qr](https://github.com/x-hw/amazing-qr) Python中惊人的QRCode生成器(支持动画gif) - Python amazing QR 生成器(支持 gif 动态图片二维码)
* [mwaskom/seaborn](https://github.com/mwaskom/seaborn) 基于 matplotlib 的 Python 可视化库。它提供了一个高级界面,用于绘制有吸引力的统计图形。
* [MagicStack/uvloop](https://github.com/MagicStack/uvloop) 内置 Asyncio 事件循环的快速直接替代品。uvloop 是在 Cython 中实现的,并在后台使用 libuv。
* [Asabeneh/30-Days-Of-Python](https://github.com/Asabeneh/30-Days-Of-Python) 30天的Python编程挑战是在30天内学习Python编程语言的分步指南。这个挑战可能需要100多天
* [nvbn/thefuck](https://github.com/nvbn/thefuck) 一款出色的应用程序,灵感来自一条@liamosaur推文,可更正以前控制台命令中的错误。
* [python-poetry/poetry](https://github.com/python-poetry/poetry) 帮助您声明、管理和安装 Python 项目的依赖项,确保您在任何地方都有正确的堆栈。
* [cool-RR/PySnooper](https://github.com/cool-RR/PySnooper) 一个穷人的调试器。如果你使用过 Bash,它就像 Python 一样 set -x ,只是它更高级。
* [Yixiaohan/show-me-the-code](https://github.com/Yixiaohan/show-me-the-code) Python 练习册,每天一个小程序。注:将 Python 换成其他语言,大多数题目也适用。
* [pymupdf/PyMuPDF](https://github.com/pymupdf/PyMuPDF) MuPDF的增强型Python绑定, 轻量级PDF,XPS和电子书查看器,渲染器和工具包。
* [chriskiehl/Gooey](https://github.com/chriskiehl/Gooey) 只需一行即可将(几乎)任何 Python 命令行程序转换为完整的 GUI 应用程序
* [kivy/kivy](https://github.com/kivy/kivy) 用 Python 编写的开源 UI 框架,可在 Windows、Linux、macOS、Android 和 iOS 上运行
* [Yixiaohan/codeparkshare](https://github.com/Yixiaohan/codeparkshare) Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐
* [gaogaotiantian/viztracer](https://github.com/gaogaotiantian/viztracer) 低开销的日志记录/调试/分析工具,可以跟踪和可视化 python 代码执行。
* [pypa/pip](https://github.com/pypa/pip) Python 的包安装程序。可使用 pip 从 Python 包索引和其他索引安装包。
* [avinashkranjan/Amazing-Python-Scripts](https://github.com/avinashkranjan/Amazing-Python-Scripts) 精选的惊人 Python 脚本集合,从基础到高级,带有自动化任务脚本。
* [Delgan/loguru](https://github.com/Delgan/loguru) 旨在为 Python 带来愉快日志记录的库。特征:开箱即用,无需样板
* [pola-rs/polars](https://github.com/pola-rs/polars) 由多线程、矢量化查询引擎提供支持的数据帧 Dataframe,Rust编写
* [borgbackup/borg](https://github.com/borgbackup/borg) 重复数据删除备份程序。它支持压缩和经过身份验证的加密。
* [hoffstadt/DearPyGui](https://github.com/hoffstadt/DearPyGui) 针对Py的快速强大的图形用户界面工具包,具有最小的依赖性
* [pytest-dev/pytest](https://github.com/pytest-dev/pytest) 使编写小型测试变得容易,但可扩展以支持复杂的功能测试
* [astral-sh/ruff](https://github.com/astral-sh/ruff) 一个非常快的 Python linter 和代码格式化程序,用 Rust 编写。
* [ijl/orjson](https://github.com/ijl/orjson) 支持数据类、日期时间和 numpy 的高速、准确的 Python JSON 库
* [google/python-fire](https://github.com/google/python-fire) 用于从任何 Python 对象自动生成命令行界面 (CLI) 的库。
* [joerick/pyinstrument](https://github.com/joerick/pyinstrument) Python的调用堆栈分析器。向您展示为什么您的代码很慢!
* [norvig/pytudes](https://github.com/norvig/pytudes) Python程序,通常很短,难度相当大,以完善特定的技能。
* [Textualize/textual](https://github.com/Textualize/textual) 受现代Web开发启发的 Python 的 TUI(文本用户界面)框架。
* [jazzband/tablib](https://github.com/jazzband/tablib) 用于 XLS、CSV、JSON、YAML 和 c 表格数据集的 Python 模块。
* [Python-World/python-mini-projects](https://github.com/Python-World/python-mini-projects) 一组简单的 python 迷你项目,可增强您的 Python 技能。
* [matplotlib/matplotlib](https://github.com/matplotlib/matplotlib) 全面的在Python中创建静态,动画和交互式可视化。
* [jazzband/pip-tools](https://github.com/jazzband/pip-tools) 一组工具,用于使固定的 Python 依赖项保持最新。
* [pdm-project/pdm](https://github.com/pdm-project/pdm) 支持最新 PEP 标准的现代 Python 包和依赖项管理器
* [plotly/plotly.py](https://github.com/plotly/plotly.py) Py的交互式图形库 这个项目现在包括 Plotly Express
* [vinta/awesome-python](https://github.com/vinta/awesome-python) 很棒的 Python 框架、库、软件和资源的精选列表
* [postmanlabs/httpbin](https://github.com/postmanlabs/httpbin) HTTP Request & Response Service,用Py + Flask编写。
* [huangsam/ultimate-python](https://github.com/huangsam/ultimate-python) 适合新手和专业人士的终极 Python 学习指南。
* [mwouts/jupytext](https://github.com/mwouts/jupytext) Jupyter Notebooks Markdown文档、Julia、Python或R脚本
* [spotify/chartify](https://github.com/spotify/chartify) Python 库,使数据科学家可以轻松创建图表。
* [tqdm/tqdm](https://github.com/tqdm/tqdm) 适用于 Python 和 CLI 的快速、可扩展的进度条
* [getpelican/pelican](https://github.com/getpelican/pelican) 支持 Markdown 和 reST 语法的静态站点生成器。
* [mahmoud/awesome-python-applications](https://github.com/mahmoud/awesome-python-applications) 运行良好的免费软件,也恰好是开源 Python。
* [ManimCommunity/manim](https://github.com/ManimCommunity/manim) 社区维护的Python框架,用于创建数学动画。
* [Davy-Zhou/zip2pdf](https://github.com/Davy-Zhou/zip2pdf) 基于Python自动化解压压缩包成PDG,PDG合成PDF
* [rasbt/python_reference](https://github.com/rasbt/python_reference/) 有用的函数、教程和其他 Python 相关的东西
* [damianavila/RISE](https://github.com/damianavila/RISE) 允许您立即将 Jupyter 笔记本变成幻灯片。
* [voila-dashboards/voila](https://github.com/voila-dashboards/voila) 将 Jupyter 笔记本变成独立的网络应用程序
* [tebelorg/RPA-Python](https://github.com/tebelorg/RPA-Python) 用于 RPA(机器人流程自动化)的 Python 包
* [jackzhenguo/python-small-examples](https://github.com/jackzhenguo/python-small-examples) 告别枯燥,致力于打造 Python 实用小例子
* [giampaolo/psutil](https://github.com/giampaolo/psutil) 用于 Python 中进程和系统监控的跨平台库
* [satwikkansal/wtfpython](https://github.com/satwikkansal/wtfpython) 通过令人惊讶的片段探索和理解Python。
* [jupyter/nbdime](https://github.com/jupyter/nbdime) 用于区分和合并 Jupyter 笔记本的工具。
* [jerry-git/learn-python3](https://github.com/jerry-git/learn-python3) 用于教学/学习 Python 3 的 Jupyter 笔记本
* [jupyterlab/jupyterlab-git](https://github.com/jupyterlab/jupyterlab-git) 使用 Git 进行版本控制的 JupyterLab 扩展
* [robotframework/robotframework](https://github.com/robotframework/robotframework) 用于验收测试和 RPA 的通用自动化框架
* [Python-programming-exercises](https://github.com/zhiwehu/Python-programming-exercises) 100 多个具有挑战性的 Python 编程练习
* [kivy/python-for-android](https://github.com/kivy/python-for-android) 将您的 Python 应用程序变成 Android APK
* [faif/python-patterns](https://github.com/faif/python-patterns) Python 中的设计模式和习语的集合。
* [joke2k/faker](https://github.com/joke2k/faker) Python 包,可以为您生成虚假数据。
* [mahmoud/boltons](https://github.com/mahmoud/boltons) 超过230个BSD许可的纯Python实用程序
* [psf/black](https://github.com/psf/black) 毫不妥协的 Python 代码格式化程序
* [pybind/pybind11](https://github.com/pybind/pybind11) C++11 和 Python 之间的无缝可操作性
* [pamoroso/free-python-books](https://github.com/pamoroso/free-python-books) Python 书籍可免费在线阅读或下载.
* [joaoventura/full-speed-python](https://github.com/joaoventura/full-speed-python) 全速 Python:一本面向自学者的书
* [reloadware/reloadium](https://github.com/reloadware/reloadium) Python 的热重载、分析和 AI 调试
* [dabeaz-course/practical-python](https://github.com/dabeaz-course/practical-python) 实用的Python编程(@dabeaz课程)
* [yidao620c/python3-cookbook](https://github.com/yidao620c/python3-cookbook) 《Python Cookbook》第三版翻译
* [psf/requests](https://github.com/psf/requests) 一个简单而优雅的 HTTP 库。
* [xianhu/LearnPython](https://github.com/xianhu/LearnPython) 以撸代码的形式学习Python
* [jackfrued/Python-100-Days](https://github.com/jackfrued/Python-100-Days) Python 100天从新手到大师
* [matplotlib/cheatsheets](https://github.com/matplotlib/cheatsheets) Matplotlib 用户的备忘单
* [thonny/thonny](https://github.com/thonny/thonny) 面向初学者的 Python IDE
* [walter201230/Python](https://github.com/walter201230/Python) 最良心的 Python 教程
* [gto76/python-cheatsheet](https://github.com/gto76/python-cheatsheet) 全面的python备忘单
* [taizilongxu/interview_python](https://github.com/taizilongxu/interview_python) 关于Python的面试题
* [jackfrued/Python-Core-50-Courses](https://github.com/jackfrued/Python-Core-50-Courses) Python语言基础50课
* [xxg1413/python](https://github.com/xxg1413/python) Python 书籍和课程
* [junnplus/awesome-python-books](https://github.com/junnplus/awesome-python-books) Python 书籍目录
* [python/cpython](https://github.com/python/cpython) Python编程语言
## Rust程序设计
* [sxyazi/yazi](https://github.com/sxyazi/yazi) 用 Rust 编写的基于异步 I/O 的超快终端文件管理器。基于非阻塞异步 I/O。它旨在提供高效、用户友好和可定制的文件管理体验。完全异步支持:所有 I/O 操作都是异步的,CPU 任务分布在多个线程上,从而充分利用可用资源。强大的异步任务调度和管理:提供实时进度更新、任务取消和内部任务优先级分配。内置支持多种图像协议:还集成了 Überzug++,几乎覆盖了所有终端。内置代码高亮和图片解码:结合预加载机制,大大加快图片和正常文件加载速度。并发插件系统:UI插件(重写大部分UI)、功能插件、自定义预览器/预加载器/提取器;只是一些 Lua 的碎片。 数据分发服务:基于客户端-服务器架构(无需额外的服务器进程),集成基于 Lua 的发布-订阅模型,实现跨实例通信和状态持久化。包管理器:使用一个命令安装插件和主题,使它们始终保持最新状态,或将它们固定到特定版本。与 fd、rg、fzf、zoxide 集成。类似 Vim 的 input/select/which/notify 组件,CD 路径自动完成。多标签支持、跨目录选择、可滚动预览(用于视频、PDF、存档、目录、代码等)。批量重命名、可视化模式、文件选择器。主题系统、鼠标支持、垃圾桶、自定义布局、CSI u。
* [serde-rs/json](https://github.com/serde-rs/json) 用于高效、通用地序列化和反序列化 Rust 数据结构的框架。JSON 是一种无处不在的开放标准格式,它使用人类可读的文本来传输由键值对组成的数据对象。您可能会发现自己需要在 Rust 中使用 JSON 数据的三种常见方法:作为文本数据,在 HTTP 终结点上接收、从文件中读取或准备发送到远程服务器的未处理的 JSON 数据字符串;作为非类型化或松散类型的表示形式,也许你想在传递一些JSON数据之前检查它是否有效,但不知道它所包含的内容的结构,或者您想进行非常基本的操作,例如在特定位置插入键;作为强类型的 Rust 数据结构,当您希望所有或大部分数据符合特定结构,并希望完成实际工作时,JSON 的松散性质不会绊倒您。Serde JSON 提供了高效、灵活、安全的方式来转换这些表示之间的数据。
* [crossbeam-rs/crossbeam](https://github.com/crossbeam-rs/crossbeam) Rust 中并发编程的工具。原子:AtomicCell ,线程安全的可变内存位置;AtomicConsume ,用于从具有“消耗”排序的原始原子类型中读取。 数据结构:deque ,用于构建任务调度程序的工作窃取 deques;ArrayQueue ,一个有界的 MPMC 队列,用于在构造时分配固定容量的缓冲区;SegQueue ,一个无界 MPMC 队列,可按需分配小型缓冲区和段。内存管理:epoch ,一个垃圾回收器。 线程同步:channel ,用于消息传递的多生产者多消费者通道;Parker ,一个线程停放原语;ShardedLock ,具有快速并发读取的分片读写器锁;WaitGroup ,用于同步某些计算的开始或结束。工具:Backoff ,用于自旋循环中的指数退避。CachePadded ,用于填充值并将其与缓存行的长度对齐;scope ,用于生成从堆栈中借用局部变量的线程。
* [mattwparas/steel](https://github.com/mattwparas/steel) Steel是一个用 Rust 编写的可嵌入且可扩展的 Scheme 方言。它受 Racket 启发,旨在成为一个易于使用的 Scheme 变体,适合嵌入应用程序或独立使用,并提供用 Rust 实现的高性能函数。该语言实现包含一个基于 `syntax-rules` 风格的强大宏系统和一个字节码虚拟机。目前,它没有明确遵循任何特定的 Scheme 规范。Steel 支持有限的 `syntax-rules` 风格宏,可以轻松集成 Rust 函数和结构,并能从 Rust 或单独文件调用脚本。它还提供高效的性能优化,包括 `map`、`filter` 等常见函数和数据结构,以及高阶契约。Steel 内置了不可变数据结构,包括列表、向量、哈希映射和哈希集。它还实现了受 Racket 启发的更高阶契约,以支持契约式设计,并使用 `define/contract` 宏简化了契约定义。
* [flxzt/rnote](https://github.com/flxzt/rnote) Rnote是一个开源的矢量绘图应用程序,用于素描、手写笔记以及标注文档和图片。它面向学生、教师以及拥有绘图板的用户,提供PDF和图片导入导出、无限画布以及适应大、小屏幕的自适应UI等功能。Rnote使用Rust和GTK4编写,支持压力敏感的触控笔输入、多种形状工具、选择工具、自定义背景、可配置的触控笔按钮快捷键、集成工作区浏览器、拖放和剪贴板支持、PDF、位图和SVG图片导入、导出为SVG、PDF和Xopp等格式,并支持多文档标签页、自动保存和打印。文件格式仍在开发中,可能存在版本兼容性问题。Rnote可在Linux、MacOS和Windows上使用,并提供Flatpak、App Bundle和Windows安装程序。
* [mitsuhiko/insta](https://github.com/mitsuhiko/insta) insta是一个用于 Rust 的快照测试库,它允许你将值与参考值(快照)进行比较。与简单的字符串断言不同,快照测试允许你测试复杂的值,并提供全面的工具来审查更改。快照测试特别适用于参考值很大或经常变化的情况。insta还支持内联快照,这些快照直接存储在源文件中,而不是单独的文件中。该库还提供了一个 vscode 扩展,可以语法高亮快照文件、审查快照等等。insta 使用 `similar` 进行所有差异操作,你可以独立使用它。你还可以使用 `similar-asserts` 为标准的 `assert_eq!` 宏获得内联差异,以实现类似 insta 的差异,用于常规比较。
* [rust-lang/mdBook](https://github.com/rust-lang/mdBook) 从markdown文件创建书籍。像Gitbook 一样,但在 Rust 中实现。它非常适合创建产品或 API 文档、教程、课程材料或任何需要干净、易于导航和可定制的演示文稿的内容。轻量级 Markdown 语法可帮助您更专注于您的内容;集成搜索支持;许多不同语言的代码块的颜色语法突出显示;主题文件允许自定义输出的格式;预处理器可以为自定义语法和修改内容提供扩展;后端可以将输出呈现为多种格式;用 Rust 编写,速度、安全性和简单性;Rust 代码示例的自动化测试。
* [redox-os/redox](https://github.com/redox-os/redox) 用 Rust 编写的操作系统,Rust 是一种专注于安全和高性能的语言。Redox 遵循微内核设计,旨在安全、可用和免费。Redox 的灵感来自以前的内核和操作系统,例如 SeL4、MINIX、Plan 9 和 BSD。不仅仅是一个内核,它还是一个功能齐全的操作系统,提供软件包(内存分配器、文件系统、显示管理器、核心实用程序等),它们共同构成了一个功能强大且方便的操作系统。你可以粗略地把它看作是GNU或BSD生态系统,但采用的是内存安全的语言和现代技术。
* [nicoburns/blessed-rs](https://github.com/nicoburns/blessed-rs) Rust 生态系统的社区指南。例如,Rust 中的标准库比 Python 或 Go 中的标准库小得多。这些语言对 HTTP(S)、JSON、时区、随机数和异步 IO 等内容提供了“包括电池”支持。另一方面,Rust 从 crates.io 生态系统和 Cargo 包管理器中获得了类似的东西。但是有将近 10 万个板条箱可供选择,新 Rust 开发人员的一个共同抱怨是他们不知道从哪里开始,他们应该使用哪些板条箱,以及他们应该信任哪些板条箱。此列表试图回答这些问题。
* [shuttle-hq/shuttle](https://github.com/shuttle-hq/shuttle) Shuttle是一个 Rust 应用开发和部署工具,它可以帮助开发者快速构建和发布 Rust 应用,无需编写任何基础设施文件。Shuttle 提供了一行代码资源配置功能,可以轻松获取数据库等 AWS 资源,只需在主文件中添加一行代码即可。Shuttle 还支持流行的 Rust 框架,例如 Axum、Actix Web 和 Rocket,并提供安全保障,让开发者专注于编写代码。Shuttle 的快速开发流程,从项目初始化到部署只需 2 分钟,为开发者提供高效便捷的开发体验。
* [ast-grep/ast-grep](https://github.com/ast-grep/ast-grep) 用于代码结构搜索、lint 和重写的 CLI 工具。用 Rust 编写。ast-grep 是一个基于 AST 的工具,用于按模式代码搜索代码。将其视为您的老朋友, grep 但它匹配 AST 节点而不是文本。您可以像编写普通代码一样编写模式。它将匹配具有相同语法结构的所有代码。您可以使用 $ 符号 + 大写字母作为通配符,例如 $MATCH ,以匹配任何单个 AST 节点。将其视为 正则表达式点 . ,但它不是文本的。
* [rustls/rustls](https://github.com/rustls/rustls) Rust 中的现代 TLS 库,Rustls 在许多组织和项目的生产中使用。我们的目标是保持合理的 API 表面稳定性,但随着我们进行更改以适应新功能或性能改进,API 可能会发生变化。Rustls 是一个 TLS 库,旨在提供良好的加密安全性,无需配置即可实现该安全性,并且默认情况下不提供不安全的功能或过时的加密。Rustls 为客户端和服务器实现了 TLS1.2 和 TLS1.3。请参阅协议功能的完整列表。
* [microsoft/windows-rs](https://github.com/microsoft/windows-rs) windows 和 windows-sys crate 允许您使用直接从描述 API 的元数据中动态生成的代码来调用任何 Windows API 过去、现在和将来,并直接进入您的 Rust 包中,在那里您可以调用它们,就好像它们只是另一个 Rust 模块一样。Rust 语言投影遵循 C++/WinRT 建立的传统,即使用标准语言和编译器为 Windows 构建语言投影,为 Rust 开发人员调用 Windows API 提供了一种自然而惯用的方式。
* [sharkdp/hyperfine](https://github.com/sharkdp/hyperfine) 命令行基准测试工具。特征:跨多个运行的统计分析。支持任意 shell 命令。关于基准进度和当前估计的持续反馈。预热运行可以在实际基准测试之前执行。可以在每次计时运行之前设置缓存清除命令。统计异常值检测,用于检测来自其他程序的干扰和缓存效果。将结果导出为各种格式:CSV、JSON、Markdown、AsciiDoc。参数化基准(例如,改变线程数)。跨平台。
* [tree-sitter/tree-sitter](https://github.com/tree-sitter/tree-sitter) 一个解析器生成器工具和一个增量解析库。它可以为源文件构建具体的语法树,并在编辑源文件时有效地更新语法树。目标是:通用到足以解析任何编程语言;速度足够快,可以在文本编辑器中解析每个击键;足够强大,即使在存在语法错误的情况下也能提供有用的结果;无依赖性,因此运行时库(用纯 C 语言编写)可以嵌入到任何应用程序中
* [rust-embedded/rust-raspberrypi-OS-tutorials](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials) 树莓派上的 Rust 操作系统开发教程。面向刚接触 ARM 64 位 ARMv8-A 架构的业余操作系统开发人员。这些教程将提供有关如何 embedded system 从头开始编写整体式操作系统 kernel 的指导性分步教程。它们涵盖了常见操作系统任务的实现,例如写入串行控制台、设置虚拟内存和处理硬件异常。同时利用 Rust 的独特功能来提供安全性和速度。
* [rust-lang/rust-by-example](https://github.com/rust-lang/rust-by-example) 通过示例学习 Rust(包括实时代码编辑器)。Rust 是一种现代系统编程语言,专注于安全性、速度和并发性。它通过在不使用垃圾回收的情况下实现内存安全来实现这些目标。Rust by Example (RBE) 是一组可运行的示例,用于说明各种 Rust 概念和标准库。要从这些示例中获得更多收益,请不要忘记在本地安装 Rust 并查看官方文档。
* [o8vm/octox](https://github.com/o8vm/octox) 受 xv6-riscv 启发的 Rust 类 Unix 操作系统。octox 松散地遵循 xv6 的结构和风格,但在纯 Rust 中实现。从内核、用户空间、mkfs 到构建系统,一切都尽可能用安全的 Rust 编写。对外部没有依赖性。用户空间有一个类似于 Rust 的带有 K&R malloc 的 std 的库。多核支持、作为内核侧内存分配器的伙伴分配器、支持日志记录的文件系统等。
* [cross-rs/cross](https://github.com/cross-rs/cross) Rust crate 的“零设置”交叉编译和“交叉测试”。cross 将提供交叉编译所需的所有成分,而无需触及您的系统安装。cross 提供了一个跨工具链和跨编译库的环境,可生成最可移植的二进制文件。“交叉测试”, cross 可以测试 i686 和 x86_64 以外的架构的板条箱。支持稳定版、测试版和夜间频道。
* [hyperium/hyper](https://github.com/hyperium/hyper) 一个 Rust 的 HTTP 库。Hyper 是一个相对低级的库,旨在成为库和应用程序的构建块。如果您正在寻找一个方便的HTTP客户端,那么您可能希望考虑reqwest。如果您不确定选择哪种HTTP服务器,那么您可能需要考虑axum或warp,后者采用更实用的方法。两者都建在这个库之上。
* [sunface/rust-course](https://github.com/sunface/rust-course) “连续六年成为全世界最受喜爱的语言,无GC也无需手动内存管理、极高的性能和安全性、过程/OO/函数式编程、优秀的包管理、JS未来基石” 。Rust语言圣经拥有全面且深入的讲解、生动贴切的示例、德芙般丝滑的内。这可能是目前最用心的Rust中文学习教程/书籍
* [dtolnay/proc-macro-workshop](https://github.com/dtolnay/proc-macro-workshop) 此存储库包含一系列旨在学习编写 Rust 过程宏的项目 — 生成 Rust 代码的 Rust 代码。这些项目中的每一个都来自一个引人注目的真实用例。在这里的 5 个项目中,有 3 个是我亲自在工业代码库中实现的宏,另外 2 个作为其他作者在 crates.io 上的库存在。
* [rust-lang/rustup](https://github.com/rust-lang/rustup) Rust 工具链安装程序,Rustup 从官方发布渠道安装了 Rust 编程语言,使您能够轻松地在稳定版、测试版和夜间编译器之间切换并保持更新。它通过通用平台的标准库的二进制构建使交叉编译更加简单。它可以在 Rust 支持的所有平台上运行,包括 Windows。
* [johnthagen/min-sized-rust](https://github.com/johnthagen/min-sized-rust) 最小化 Rust 二进制文件大小,默认情况下,Rust 会针对执行速度、编译速度和调试难易性进行优化,而不是二进制大小,因为对于绝大多数应用程序来说,这是理想的。但是对于开发人员想要优化二进制大小的情况,Rust 提供了实现此目的的机制。
* [pemistahl/grex](https://github.com/pemistahl/grex) 带有 Python 绑定的命令行工具和 Rust 库,用于从用户提供的测试用例生成正则表达式。旨在简化创建正则表达式的复杂繁琐的任务。它通过从用户提供的测试用例自动生成单个正则表达式来实现。结果表达式保证与生成表达式的测试用例匹配。
* [rust-bakery/nom](https://github.com/rust-bakery/nom) 用 Rust 编写的解析器组合器库。它的目标是提供工具来构建安全的解析器,而不会影响速度或内存消耗。为此,它广泛使用了 Rust 强大的类型和内存安全性来生成快速和正确的解析器,并提供函数、宏和特征来抽象大多数容易出错的管道。
* [rerun-io/rerun](https://github.com/rerun-io/rerun) 可视化多模态数据流。快速、易于使用且易于集成。使用 egui 内置于 Rust 中。使用rerun SDK(适用于 C++、Python 和 Rust)记录图像、张量、点云和文本等数据。日志将流式传输到重新运行查看器以进行实时可视化或归档以供以后使用。
* [rcore-os/rCore](https://github.com/rcore-os/rCore) THU uCore OS 的 Rust 版本,兼容 Linux。将成为下一代教学操作系统。支持的架构和主板:x86_64(第 1 层):QEMU、PC (i5/i7),RISCV32/64(Tier 2):QEMU、HiFive Unleashed,AArch64(第 2 层):QEMU、Raspberry Pi 3B+,MIPS32(第 3 层):QEMU、TrivialMIPS.
* [BurntSushi/xsv](https://github.com/BurntSushi/xsv) 用 Rust 编写的快速 CSV 命令行工具包。xsv 是一个命令行程序,用于索引、切片、分析、拆分和连接 CSV 文件。命令应该简单、快速且可组合:简单的任务应该很容易。性能权衡应在 CLI 界面中公开。构图不应以牺牲性能为代价。
* [evcxr/evcxr](https://github.com/evcxr/evcxr) Evcxr是一个Rust的评估上下文,包含Jupyter内核和Rust REPL,以及一个共享库和运行时库。它提供类似REPL的体验,但运行在浏览器中,推荐使用Jupyter内核进行体验,并提供教程。该项目采用MIT许可证和Apache 2.0许可证双重授权。
* [brson/rust-anthology](https://github.com/brson/rust-anthology) 向最优秀的人学习 Rust,收集 Rust 的最佳短篇文章。Rust 需要更多的文档,对吧?嗯,是的,确实如此,但实际上现在有很多很棒的 Rust 文档,还有很多很棒的 Rust 作家!这个项目旨在将他们的作品收集成一本书。
* [dani-garcia/vaultwarden](https://github.com/dani-garcia/vaultwarden) Rust 编写并与上游 Bitwarden 客户端兼容的 服务器 API 的替代实现,非常适合运行官方资源密集型服务可能不理想的自托管部署。Bitwarden是自由且开源的密码管理服务,用户可在加密的保管库中存储敏感信息。
* [oxc-project/oxc](https://github.com/oxc-project/oxc) 用 Rust 编写的 JavaScript 工具的集合。Oxidation Compiler 正在为 JavaScript 和 TypeScript 创建一系列高性能工具。Oxc 正在构建解析器、linter、格式化程序、转译器、压缩器、解析器......都是用 Rust 编写的。
* [actix/actix](https://github.com/actix/actix) Rust 的 Actor 框架。特征:异步和同步执行组件;本地/线程上下文中的执行组件通信;使用 futures 进行异步消息处理;Actor 监督;有类型的消息体(无 Any 类型);在稳定的 Rust 1.68+ 上运行
* [ogham/exa](https://github.com/ogham/exa) rust编写的“ls”的现代替代品。提供更多功能和更好的默认值。它使用颜色来区分文件类型和元数据。它知道符号链接、扩展属性和 Git。它体积小,速度快,只有一个二进制文件。
* [gfx-rs/wgpu](https://github.com/gfx-rs/wgpu) 跨平台、安全、纯生rust的图形 API。它在 Vulkan、Metal、D3D12 和 OpenGL 上原生运行;以及 wasm 上的 WebGL2 和 WebGPU。该 API 基于 WebGPU 标准。它是 Firefox 和 Deno 中 WebGPU 集成的核心。
* [mre/idiomatic-rust](https://github.com/mre/idiomatic-rust) 经过同行评审的文章/演讲/存储库集合,教授简明扼要的 Rust。这个存储库收集了用于编写干净、惯用的 Rust 代码的资源。您可以在此处找到此列表的可排序/可搜索版本。
* [rust-lang/rfcs](https://github.com/rust-lang/rfcs) Rust RFC - RFC 手册 - 活动 RFC 列表,“RFC”(征求意见)流程旨在为 Rust 的更改(例如新功能)提供一致且可控的路径,以便所有利益相关者都能对项目的方向充满信心。
* [mainmatter/100-exercises-to-learn-rust](https://github.com/mainmatter/100-exercises-to-learn-rust) 一门学习 Rust 的自定进度课程,一次一个练习。你会从对 Rust 一无所知到能够开始 编写自己的程序。您将通过解决 100 个问题来学习 Rust。
* [tokio-rs/mio](https://github.com/tokio-rs/mio) 快速、低级的 Rust I/O 库,专注于非阻塞 API 和事件通知,用于构建高性能 I/O 应用程序,与操作系统抽象相比,开销尽可能小。
* [veloren/veloren](https://github.com/veloren/veloren) 用 Rust 编写的多人体素 RPG。从 Cube World、Minecraft 和 Dwarf Fortress 等游戏中汲取灵感。该游戏目前正在大力开发中,但可以玩。
* [analysis-tools-dev/static-analysis](https://github.com/analysis-tools-dev/static-analysis) 适用于所有编程语言、配置文件、构建工具等的静态分析 (SAST) 工具和 linter 的精选列表。重点是提高代码质量的工具。
* [lsd-rs/lsd](https://github.com/lsd-rs/lsd) 对GNU `ls` 的重写,增加了许多功能,如颜色、图标、树视图、更多的格式化选项等。该项目深受超级colorls项目的启发。
* [PyO3/pyo3](https://github.com/PyO3/pyo3) Python 解释器的 Rust 绑定,包括用于创建原生 Python 扩展模块的工具。还支持从 Rust 二进制文件运行和交互 Python 代码。
* [XAMPPRocky/tokei](https://github.com/XAMPPRocky/tokei) 显示有关代码统计信息的程序。Tokei 将显示文件数、这些文件中的总行数以及按语言分组的代码、注释和空白。
* [rust-lang/book](https://github.com/rust-lang/book) Rust 编程语言,您也可以在线免费阅读这本书。请参阅本书随最新的稳定版、测试版或每晚 Rust 版本一起提供。
* [rust-lang/rustfmt](https://github.com/rust-lang/rustfmt) 根据样式指南格式化 Rust 代码的工具。Rustfmt 尝试处理尽可能多的 Rust 代码。有时,代码甚至不需要编译!
* [rust-lang/rust](https://github.com/rust-lang/rust) rust使每个人都能构建可靠、高效的软件。Rust 的主要源代码存储库。它包含编译器、标准库和文档。
* [sunface/rust-by-practice](https://github.com/sunface/rust-by-practice) 通过实践学习 Rust,通过具有挑战性的示例、练习和项目缩小初学者和熟练开发人员之间的差距。
* [slint-ui/slint](https://github.com/slint-ui/slint) Slint 是一个声明性 GUI 工具包,用于为 Rust、C++ 或 JavaScript 编写的应用程序构建本机用户界面。
* [arceos-org/arceos](https://github.com/arceos-org/arceos) 一个用 Rust 编写的实验性模块化操作系统。ArceOS 的灵感很大程度上来自 Unikraft。
* [swc-project/swc](https://github.com/swc-project/swc) 用 Rust 编写的超快 TypeScript / JavaScript 编译器。它同时是 Rust 和 JavaScript 的库。
* [tokio-rs/tokio](https://github.com/tokio-rs/tokio) 使用 Rust 编写可靠异步应用程序的运行时。提供 I/O、网络、调度、定时器等
* [google/comprehensive-rust](https://github.com/google/comprehensive-rust) 这是 Google Android 团队使用的 Rust 课程。它为您提供了快速教授 Rust 的材料。
* [yoav-lavi/melody](https://github.com/yoav-lavi/melody) Melody 是一种编译为正则表达式的语言,旨在提高可读性和可维护性。
* [ralfbiedert/cheats.rs](https://github.com/ralfbiedert/cheats.rs) Rust 语言备忘单,为喜欢高信息密度的人提供的单页 Rust 资源。
* [ferrous-systems/elements-of-rust](https://github.com/ferrous-systems/elements-of-rust) Rust 风格和理念,使用 Rust 有效表达意图的软件工程技术集合。
* [rust-lang/cargo](https://github.com/rust-lang/cargo) Rust包管理器,Cargo下载你的Rust项目的依赖项并编译你的项目。
* [serde-rs/serde](https://github.com/serde-rs/serde) 用于高效和通用地序列化和反序列化 Rust 数据结构的框架。
* [hyperium/tonic](https://github.com/hyperium/tonic) 具有异步/等待支持的本机 gRPC 客户端和服务器实现。
* [bevyengine/bevy](https://github.com/bevyengine/bevy) 用 Rust 构建的令人耳目一新的简单数据驱动游戏引擎
* [ctjhoa/rust-learning](https://github.com/ctjhoa/rust-learning) 一堆用于学习 Rust 的博客文章、文章、视频等的链接
* [phil-opp/blog_os](https://github.com/phil-opp/blog_os) 在 Rust 中编写操作系统系列的源代码 os.phil-opp.com。
* [chyyuu/os_kernel_lab](https://github.com/chyyuu/os_kernel_lab) 基于 Rust/C & RISC-V 64/X86-32 的操作系统内核实验室
* [emilk/egui](https://github.com/emilk/egui) 简单、快速且高度可移植的 Rust 即时模式 GUI 库。
* [rust-lang/rust-clippy](https://github.com/rust-lang/rust-clippy) 一堆 lints 来捕捉常见错误并改进您的 Rust 代码。
* [rcore-os/rCore-Tutorial-Book-v3](https://github.com/rcore-os/rCore-Tutorial-Book-v3) 关于如何在 Rust 中轻松编写操作系统内核的书。
* [pretzelhammer/rust-blog](https://github.com/pretzelhammer/rust-blog) 为 Rust 初学者和 Rust 高级初学者编写教育内容。
* [rust-embedded/awesome-embedded-rust](https://github.com/rust-embedded/awesome-embedded-rust) Rust 编程语言嵌入式和低级开发的精选资源列表
* [yewstack/yew](https://github.com/yewstack/yew) 用于构建客户端 Web 应用程序的 Rust / Wasm 框架
* [clap-rs/clap](https://github.com/clap-rs/clap) 一个功能齐全、快速的 Rust 命令行参数解析器
* [rust-unofficial/patterns](https://github.com/rust-unofficial/patterns) 关于 Rust 编程语言设计模式和习语的开源书籍
* [ratatui-org/ratatui](https://github.com/ratatui-org/ratatui) Rust 库,就是关于构建终端用户界面 (TUI)
* [seanmonstar/warp](https://github.com/seanmonstar/warp) 一个超级简单,可组合的Web服务器框架。
* [servo/servo](https://github.com/servo/servo) 用 Rust 语言编写的原型 Web 浏览器引擎。
* [rust-lang/rustlings](https://github.com/rust-lang/rustlings) 小练习,让你习惯阅读和编写 Rust 代码
* [iced-rs/iced](https://github.com/iced-rs/iced) 一个跨平台的 Rust GUI 库,灵感来自 Elm
* [linebender/druid](https://github.com/linebender/druid) 数据优先的 Rust 原生 UI 设计工具包。
* [seanmonstar/reqwest](https://github.com/seanmonstar/reqwest) 一个简单而强大的 Rust HTTP 客户端
* [neovide/neovide](https://github.com/neovide/neovide) 在 Rust 中没有废话的 neovim 客户端
* [rcore-os/zCore](https://github.com/rcore-os/zCore) 在 Rust 中重新实现 Zircon 微内核。
* [ruffle-rs/ruffle](https://github.com/ruffle-rs/ruffle) 用 Rust 编写的 Flash Player 模拟器
* [rust-unofficial/awesome-rust](https://github.com/rust-unofficial/awesome-rust) Rust 代码和资源的精选列表。
* [uutils/coreutils](https://github.com/uutils/coreutils) Rust 重写跨平台的GNU coreutils
* [Canop/broot](https://github.com/Canop/broot) 查看和导航目录树的新方法
* [rust-lang/rust-analyzer](https://github.com/rust-lang/rust-analyzer) 用于 IDE 的 Rust 编译器前端
* [RustPython/RustPython](https://github.com/RustPython/RustPython) 用 Rust 编写的 Python 解释器
* [TheAlgorithms/Rust](https://github.com/TheAlgorithms/Rust) 所有算法都在 Rust 中实现
* [Rust 程序设计 · 语雀](https://www.yuque.com/qyuhen/rust) Rust 程序设计 · 语雀
* [sger/RustBooks](https://github.com/sger/RustBooks) Rust 书籍列表
* [rossant/awesome-math](https://github.com/rossant/awesome-math) 精选的精彩数学资源列表。内容:一般资源、学习平台、学会学习、Youtube系列、工具、问题和答案、百科全书、书、杂志、博客、杂项、数学分支、数学基础、过渡到纯粹的严谨数学、集合论、逻辑、范畴理论、类型理论、同伦类型理论、超现实数字、数论、代数数论、解析数论、代数、抽象代数、群论、线性代数、环理论、伽罗瓦理论、代数、组合数学、图论、几何和拓扑、微分几何、代数几何、代数统计、拓扑学、代数拓扑、分析、实分析、谐波分析、复杂分析、泛函分析、测量理论、常微分方程、偏微分方程、概率与统计、概率论、统计学、统计学习、随机过程、数值分析、信号处理、计算机科学数学、数学生物学、数学物理、学生讲义、相关精彩列表、许可证。
* [wuxingsanren/wildcat-vip-account](https://github.com/wuxingsanren/wildcat-vip-account) 每天分享最新的百度网盘SVIP、迅雷超级会员、手机话费折扣充值、霸王餐免费吃VIP(美团、饿了么、大众点评、肯德基、麦当劳、星巴克)、饿了么超级会员、美团外卖会员&红包券、爱奇艺VIP会员、腾讯视频VIP、优酷VIP会员、哔哩哔哩大会员、百度文库VIP、QQ音乐VIP、网易云黑胶VIP、喜马拉雅VIP、樊登读书会VIP、千图网VIP、包图网VIP、摄图网VIP、CSDN下载VIP、天眼查VIP、苹果ID等等各类VIP帐号,随取随用,完全免费,绝无套路,同时提供:百度文库VIP下载、图库素材VIP下载、学术文献VIP下载(知网维普万方读秀龙源超星、英文数据库、法律数据库、医学数据库、金融数据库)、全网视频VIP解析、全网音乐MP3免费听及下载、微信域名拦截检测API
* [sourcerer-io/sourcerer-app](https://github.com/sourcerer-io/sourcerer-app) Sourcerer app是一款为软件工程师打造的视觉化个人资料生成工具,只需一键即可创建个人资料,支持超过100种编程语言(包括COBOL等小众语言),并识别超过1000个代码库,提供每行代码的统计信息,直观地展示你的开发经验,并汇总你参与过的所有代码库,还提供关于你自己的有趣事实。Sourcerer的未来目标包括:提供工程师关注和学习的榜样、推荐你应该了解的技术和库、以及需要你帮助的项目。你可以通过sourcerer.io/start网站使用GitHub开源仓库创建个人资料,对于闭源仓库,你需要使用该应用程序,如果你已使用GitHub创建帐户,会收到包含应用程序凭据的电子邮件,否则你需要在sourcerer.io/join创建新帐户。
* [digitalarchive.wilsoncenter.org](https://digitalarchive.wilsoncenter.org/) 威尔逊中心数字档案馆是一个资源,学生、研究人员和专家可以在这里访问来自世界各地政府和组织的曾经的秘密文件。数字档案馆由威尔逊中心的历史和公共政策项目建造和维护,包含来自世界各地档案馆的解密历史资料,包括外交电报、高层通信、会议记录、情报估计等。由于其中大部分信息都有英文翻译,这些历史文献丰富了国际学术、历史教育和关于重要全球问题和挑战的公共政策辩论。历史与公共政策计划致力于从世界各地的存储库中公开 20 世纪和 21 世纪国际历史的主要来源记录,促进基于这些记录的学术研究,并使用这些材料为课堂、公共和政策辩论提供背景关于全球事务。
* [vygr/ChrysaLisp](https://github.com/vygr/ChrysaLisp) 64 位、MIMD、多 CPU、多线程、多核、多用户并行操作系统,具有 GUI、终端、OO 汇编器、类库、C 脚本编译器、Lisp 解释器、调试器、分析器、矢量字体引擎等功能。它支持 x64、Riscv64 和 Arm64 的 MacOS、Windows 和 Linux,并最终将转向裸机。它还允许对各种网络拓扑进行建模,并使用ChrysaLib hub_nodes加入异构主机网络。它有一个虚拟的CPU指令集和一个强大的对象和类系统,用于汇编程序和高级语言。它具有功能级动态绑定和加载功能,以及一个命令终端,该终端具有熟悉的管道式命令行应用程序界面。还提供了一个类似 Common Lisp 的解释器。
* [hluk/CopyQ](https://github.com/hluk/CopyQ) 一款高级剪贴板管理器,具有强大的编辑和脚本功能。特征:支持 Linux、Windows 和 OS X 10.15+;存储文本、HTML、图像和任何其他自定义格式;快速浏览和筛选剪贴板历史记录中的项目;在选项卡中对项目进行排序、创建、编辑、删除、复制/粘贴、拖放项目;为项目添加注释和标签;具有可自定义命令的系统范围的键盘快捷键;使用键盘快捷键、从托盘或从主窗口粘贴项目;完全可定制的外观;高级命令行界面和脚本;忽略从指定窗口复制或包含指定文本的剪贴板;支持带有键盘快捷键的简单类似 Vim 的编辑器
* [exelban/stats](https://github.com/exelban/stats) Stats是一个 macOS 系统监控工具,可以将系统信息显示在菜单栏中,方便用户随时查看 CPU、GPU、内存、磁盘、网络、电池等信息。它支持多种语言,包括英语、波兰语、乌克兰语和俄语。Stats 可以通过手动下载或使用 Homebrew 安装,支持 macOS 10.15 及以上版本。用户可以通过设置禁用一些模块来降低 Stats 的能耗和 CPU 使用率,例如传感器和蓝牙模块。Stats还提供了一些额外的功能,例如风扇控制、传感器信息、蓝牙设备管理和多时区时钟。需要注意的是,风扇控制功能处于遗留模式,不再维护。
* [tonsky/FiraCode](https://github.com/tonsky/FiraCode) 带有编程连字的免费等宽字体。程序员使用大量符号,通常使用多个字符进行编码。对于人脑来说,像 或 <= := 这样的 -> 序列是单个逻辑标记,即使它们在屏幕上包含两个或三个字符。您的眼睛花费非零的能量来扫描、解析多个字符并将其连接成一个逻辑字符。Fira Code 是一种免费的等宽字体,包含用于常见编程多字符组合的连字。这只是一个字体呈现功能:底层代码保持 ASCII 兼容。这有助于更快地阅读和理解代码。一些频繁的序列,如 .. 或 // ,连字允许我们校正间距。
* [parca-dev/parca](https://github.com/parca-dev/parca) Parca是一个开源项目,提供持续性能分析功能,用于分析CPU和内存使用情况,甚至可以精确到代码行级别并追踪时间变化。它可以帮助节省基础设施成本,提升性能,并提高可靠性。Parca使用eBPF探查器自动发现Kubernetes或systemd中的目标,并以极低的开销支持C、C++、Rust、Go等多种语言。它遵循pprof标准,兼容现有工具,并提供高效的存储和查询功能,允许用户根据标签进行搜索和分析。Parca可以帮助用户识别代码热点,理解事件发生原因,并通过持续分析数据解决性能问题。
* [LGUG2Z/komorebi](https://github.com/LGUG2Z/komorebi) komorebi 是一个平铺窗口管理器,可作为 Microsoft 桌面窗口管理器在 Windows 10 及更高版本中的扩展。komorebi 允许您使用 CLI 控制应用程序窗口、虚拟工作区和显示监视器,CLI 可以与 whkd 和 AutoHotKey 等第三方软件一起使用,以设置用户定义的键盘快捷键。默认情况下,Komorebi 的目标是对操作系统和桌面环境进行尽可能少的修改。用户可以自由地在他们自己的 komorebi 配置文件中进行此类修改,但在可预见的未来,这些修改将保持选择加入和默认关闭状态。
* [Klocman/Bulk-Crap-Uninstaller](https://github.com/Klocman/Bulk-Crap-Uninstaller) Bulk Crap Uninstaller (BCU) 是一款免费的应用程序卸载工具,它可以快速高效地卸载大量应用程序,并清理残留文件。BCU 支持 Windows Store Apps、Steam、Windows 功能,并针对多种卸载系统(NSIS、InnoSetup、Msiexec 等)进行了优化。它可以检测孤儿应用程序,根据预制列表运行卸载程序,并提供更多功能。BCU 适用于 IT 专业人员和普通用户,其易用性让每个人都能轻松使用。该项目开源并免费使用,用户可以自由地用于个人和商业用途。
* [adobe-fonts/source-han-serif](https://github.com/adobe-fonts/source-han-serif) Source Han Serif是一个开源的 OpenType 全方位中日韩字体项目,提供适用于中日韩三种语言的字体文件,并包含用于构建这些字体的源文件。该项目使用 AFDKO 工具构建,用户可以下载各种配置的字体文件,包括 OTF、OTC、Super OTC、Subset OTF和 Variable OTF/TTF/WOFF2 格式。用户也可以从源代码构建字体,需要安装 AFDKO 工具。该项目鼓励用户参与,并提供设计指南和官方字体说明文件,以了解 Source Han Serif 的设计理念和背景。
* [CodyReichert/awesome-cl](https://github.com/CodyReichert/awesome-cl) Awesome-cl 是一个精心整理的 Common Lisp 框架、库和其他工具的列表。它包含了各种各样的库,涵盖了从人工智能到游戏开发的各个领域,并提供了详细的分类和介绍。该项目还推荐了一些社区标准库,并提供了一些更小众但同样优秀的库的推荐。用户可以根据自己的需求选择合适的库,并通过该项目提供的链接访问库的文档和代码。该项目还提供了一个贡献指南,方便用户添加新的库到列表中。
* [watchexec/watchexec](https://github.com/watchexec/watchexec) Watchexec是一个简单易用的工具,用于监视文件修改并执行命令。它可以用于自动运行单元测试、代码检查、重建项目等。Watchexec支持多种操作系统,并能识别多种文件类型变化,并提供丰富的配置选项。它可以与其他工具配合使用,例如checkexec、just、systemfd等,并提供多种扩展库,例如watchexec-events、watchexec-signals、watchexec-supervisor等。Watchexec目前处于维护暂停状态,预计于2024年底恢复更新。
* [xmonad/xmonad](https://github.com/xmonad/xmonad) xmonad是一个基于 X11 的平铺式窗口管理器,它使用 Haskell编写,可通过键盘控制,并支持自定义布局、快捷键和扩展。xmonad 核心包提供了一个稳定且可扩展的基础,而 xmonad-contrib 库则包含数百个社区维护的平铺算法和扩展模块,两者结合提供了无限的自定义可能性,让用户可以创建自己的窗口管理器。项目提供安装、配置和文档,并欢迎用户提交错误报告、功能建议、代码贡献和文档改进。
* [lifeparticle/Markdown-Cheatsheet](https://github.com/lifeparticle/Markdown-Cheatsheet) 这是一个GitHub Flavored Markdown (GFM) 的终极速查表,包含了各种 Markdown 语法,包括标题、文本样式、代码高亮、表格、链接、图片、列表、按钮、折叠项、水平线、图表、数学表达式、警报、提及、引用、颜色模型、代码在标题中、引用标签、注释、转义 Markdown 字符、表情符号、换行符、返回顶部等,并提供了 Bitbucket、Azure DevOps 项目 Wiki和 MDX 的相关信息,以及一些 Markdown 工具的推荐。
* [microsoft/MS-DOS](https://github.com/microsoft/MS-DOS) 该项目包含了 MS-DOS 1.25、2.0 和 4.0 的原始源代码和编译后的二进制文件,旨在供参考使用。这些文件最初由计算机历史博物馆于 2014 年 3 月 25 日发布,并被重新发布到该仓库中,以便于查找、引用和探索早期 PC 操作系统。所有文件均采用 MIT 许可证发布,鼓励用户进行实验,但禁止修改源文件。该项目遵守 Microsoft 开源行为准则,并包含 Microsoft 和第三方商标,使用需遵守相关规定。
* [jruizaranguren/best-of-digital-identity](https://github.com/jruizaranguren/best-of-digital-identity) 这是一个整理了 170 个开源数字身份项目的列表,这些项目被分为 11 个类别,并根据项目质量评分进行排名,该评分基于从 GitHub 和不同包管理器自动收集的各种指标。该列表还提供了一些其他信息,例如项目星数、贡献者数量、项目状态等。用户可以自由地添加或更新项目,并通过 GitHub 提交问题或拉取请求。该列表也提供了一个网站,用户可以在那里找到其他主题的类似列表。
* [pachterlab/voyager](https://github.com/pachterlab/voyager) Voyager是一个 R 包,将传统地理空间统计方法应用于空间组学,通过整合 `spdep` 和 `gstat` 等经典地理空间包,并与 SpatialFeatureExperiment 类结合,该类扩展了 SpatialExperiment,并包含了 sf 包。Voyager 提供了对 Visium、Slide-seq V2、CosMx、Xenium 和 MERFISH 等技术的支持,其配套网站包含了展示 Voyager 功能的示例。该包可在 Bioconductor 版本 3.16 及以上版本中安装,并提供开发版本供贡献者使用。
* [best-of-lists/best-of](https://github.com/best-of-lists/best-of) 这是一个精选的开源项目列表,包含 21 个最佳列表,总共29K 星,分为 8 个类别。所有项目都根据项目质量评分进行排名,该评分基于从 GitHub 和不同的包管理器自动收集的各种指标计算得出。如果您想添加或更新项目,请随时打开一个问题、提交一个拉取请求或直接编辑 projects.yaml 文件。非常欢迎您的贡献!您也可以使用提供的指南在 3 分钟内创建您自己的最佳列表。
* [evmn/Mind-Hacks](https://github.com/evmn/Mind-Hacks) Mind Hacks 思维改变生活,是一个由刘未鹏老师创建的项目,旨在分享改变思维方式的技巧和方法。项目以 Kindle 电子书的形式呈现,内容涵盖了思维训练、学习方法、生活技巧等多个方面,帮助读者提升思维能力,改变生活方式。该项目源于刘未鹏老师在 Twitter 上的分享,他认为“好的话要讲三遍,好的书为什么不读三遍?”,希望通过 Mind Hacks 帮助更多人获得启迪。
* [evil-huawei/evil-huawei](https://github.com/evil-huawei/evil-huawei) Evil Huawei -华为作过的恶,该项目旨在揭露华为公司所犯下的各种恶行,包括侵犯隐私、窃取技术、违反人权等。项目内容包括华为 12 年员工工作经历、华为 HR 违规行为、华为 Mate 30 Pro 和 P30 Pro手机的安全漏洞、华为 Mate 系列手机的低质量问题、华为 Nova 3 手机的质量问题、华为 P10 手机的盗窃事件、华为 P30 Pro 手机的电池问题、华为 P9 手机的质量问题等。
* [wizicer/FinancialSupportForOpenSource](https://github.com/wizicer/FinancialSupportForOpenSource) 该项目是一个开源项目挣钱实用手册,它列出了各种开源项目获取资金的方式,从小型捐赠到大型基金会资助,并提供了一些实际案例。该项目旨在为开源项目开发者提供一个全面的资金获取指南,帮助他们找到最适合自己的方式。该项目还包含一个名为 Lemonade Stand 的示例项目,它是一个简单的开源项目,可以帮助开发者了解如何通过开源项目获得资金。
* [Stellarium/stellarium](https://github.com/Stellarium/stellarium) Stellarium是一款免费的开源天文馆软件,使用 OpenGL 在电脑上实时渲染逼真的星空,适用于 Linux/Unix、Windows 和 macOS 系统。Stellarium可以让你看到肉眼、双筒望远镜或小型望远镜所能看到的景象。该项目提供详细的安装说明和快速入门指南,并鼓励用户从源代码构建软件。Stellarium 的代码由众多贡献者共同完成,并接受来自赞助人和支持者的资金支持。
* [lyz-code/best-of-digital-gardens](https://github.com/lyz-code/best-of-digital-gardens) 这是一个整理了 93 个优秀数字花园的排名列表,这些数字花园将内容来源公开为 Git 仓库,总共获得了 21K 个星标,并被归类到 1 个类别中。所有项目都根据项目质量评分进行排名,该评分基于从 GitHub 和不同包管理器自动收集的各种指标计算得出。如果你想添加或更新项目,欢迎打开一个 issue、提交 pull request 或直接编辑 projects.yaml 文件。
* [jlevy/the-art-of-command-line](https://github.com/jlevy/the-art-of-command-line) 熟练使用命令行是一项经常被忽视或被认为是晦涩难懂的技能,但它以明显和微妙的方式提高了您作为工程师的灵活性和生产力。这是一些关于使用命令行的笔记和技巧,我们发现在 Linux 上工作时很有用。有些技巧是基本的,有些则相当具体、复杂或晦涩难懂。这个页面不长,但如果你能使用和回忆这里的所有项目,你就会知道很多。
* [TandoorRecipes/recipes](https://github.com/TandoorRecipes/recipes) Tandoor Recipes是一个强大的食谱管理应用,可以管理食谱、规划膳食、创建购物清单等。它支持强大的搜索功能(包括全文搜索和TrigramSimilarity)、标签管理、批量操作、从众多网站导入食谱、小数和分数支持以及Docker部署等。该应用还针对移动设备进行了优化,并支持多种语言和多种导入导出方式,例如从其他食谱管理器导入。
* [LemmyNet/lemmy](https://github.com/LemmyNet/lemmy) 一个联邦宇宙的链接聚合器。 类似于 Reddit、Lobste.rs 或 Hacker News 等网站:您订阅您所感兴趣的社群,发布链接和讨论,然后对它们进行投票和评论。 Lemmy 不仅仅是 reddit 的替代品;它是一个由不同人和组织运营的相互关联的社群网络,所有这些社群结合起来创建一个充满您最喜欢的新闻、文章和迷因的独立且个性化的首页。
* [DennisThink/awesome_twitter_CN](https://github.com/DennisThink/awesome_twitter_CN) 这是一个值得关注的中文 Twitter 用户列表,由作者在使用 Twitter 时发现一些优秀用户而整理而成,包含了科技、商业、艺术等各个领域的博主,推荐给想要关注有趣内容、学习新知识的用户。列表中包含了作者对每个用户的简要介绍,例如他们的职业、兴趣和推荐理由,方便用户快速了解并选择自己感兴趣的用户进行关注。
* [BookerLiu/GeekDesk](https://github.com/BookerLiu/GeekDesk) GeekDesk是一款小巧美观的桌面快速启动工具,集成了Everything搜索功能,可以快速搜索整个磁盘。它支持自定义热键设置、一键呼出、鼠标跟随、自定义壁纸、毛玻璃界面效果、自定义菜单图标、定时提醒等功能,并提供丰富的系统图标和在线导入图标功能。GeekDesk基于WPF和.NET 4.7.2开发,并使用了HandyControl框架。
* [LappleApple/awesome-leading-and-managing](https://github.com/LappleApple/awesome-leading-and-managing) 这是一个关于领导力和管理的资源列表,主要面向科技领域,但对任何人都有潜在的帮助。该列表包含大量关于领导力、管理和团队建设的书籍、文章、博客、播客和其它资源。它由 Joe Greenheron 创建,并由 Lauri Apple 和其他贡献者维护。该列表涵盖了从招聘和面试到冲突解决、文化建设、远程管理等各个方面。
* [ldqk/Masuit.Tools](https://github.com/ldqk/Masuit.Tools) C#万能工具库,码数吐司库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展、Excel导出。
* [996icu/996.ICU](https://github.com/996icu/996.ICU) 996.ICU 指的是“996工作,在ICU生病”,这是中国开发人员中具有讽刺意味的说法,这意味着遵循“996”工作时间表,你就有可能进入ICU(重症监护室)。由 IT 从业者发起的一项计划。我们欢迎来自其他领域和其他国家的人加入讨论。我们坚决维护劳动法,要求用人单位尊重劳动者的合法权益。
* [tianshiyeben/wgcloud](https://github.com/tianshiyeben/wgcloud) Linux运维监控工具,支持系统硬件信息,内存,cpu,温度,磁盘空间及IO,硬盘smart,系统负载,网络流量等监控,服务接口,大屏展示,拓扑图,进程监控,端口监控,docker监控,文件防篡改,日志监控,数据可视化,web ssh,堡垒机,指令下发批量执行,Linux面板(探针),SNMP,故障告警
* [libgit2/libgit2](https://github.com/libgit2/libgit2) 可在应用程序中使用的 Git 的跨平台、可链接库实现。Git 核心方法的可移植、纯 C 实现,作为具有可靠 API 的可链接库提供,允许将 Git 功能构建到您的应用程序中。Rugged (Ruby)、LibGit2Sharp (.NET)、pygit2 (Python) 和 NodeGit (Node) 等语言绑定允许您使用自己喜欢的语言构建 Git 工具。
* [ayuer/shanghai_house_knowledge](https://github.com/ayuer/shanghai_house_knowledge) 这是一个2020年11月在上海买房经历总结出来的买房购房功课分享项目,旨在帮助技术人进行买房决策。项目借鉴了2017年杭州买房经验分享项目,并提供包括选址、目标人群、发展规划、周边配套、居住用地规划、交通状况、房价走势等信息,帮助用户了解上海的房地产市场。
* [BartoszCichecki/LenovoLegionToolkit](https://github.com/BartoszCichecki/LenovoLegionToolkit) 联想拯救者工具箱 Lenovo Legion Toolkit (LLT) 是为联想拯救者系列笔记本打造的轻量化工具箱。可实现原来联想软件如 Lenovo Vantage、Legion Zone、联想电脑管家才可实现的功能。本软件不运行后台服务,使用较少的内存,几乎不使用 CPU,并且不收集用户信息。本程序仅适用于 Windows。
* [jinningwang/best-of-ps](https://github.com/jinningwang/best-of-ps) 这是一个每周更新的电力系统分析领域热门开源库和工具排名列表,包含100个项目,总计28K颗星,分为14个类别。每个项目的排名基于从GitHub和不同包管理器自动收集的各种指标计算的项目流行度评分。该项目欢迎贡献,你可以提交问题、拉取请求或直接编辑项目列表。
* [gulpjs/gulp](https://github.com/gulpjs/gulp) 一个工具包,可帮助您在开发工作流程中自动执行痛苦或耗时的任务。与平台无关 - 集成内置于所有主要 IDE 中,人们正在将 gulp 与 PHP、.NET、Node.js、Java 和其他平台一起使用。强大的生态系统 - 使用 npm 模块做任何你想做的事情 + 超过 3000 个精选插件用于流式文件转换.
* [grafana/pyroscope](https://github.com/grafana/pyroscope) 连续分析平台。调试性能问题,细化到一行代码。开源的连续分析平台。它将帮助您:查找代码中的性能问题和瓶颈、使用高基数标记/标签来分析应用程序、解决 CPU 使用率过高的问题、追踪内存泄漏、了解应用程序的调用树、自动检测代码以将分析数据链接到跟踪。
* [opencollective/opencollective](https://github.com/opencollective/opencollective) OpenCollective 是一个为开源和透明社区提供在线资金筹集平台,提供工具帮助社区透明地筹集资金并分享财务信息。该项目所有问题、RFC 和其他文档都记录在这个仓库中,并提供赏金计划鼓励贡献者修复问题。更多信息请查看项目文档:https://docs.opencollective.com。
* [hzlzh/Best-App](https://github.com/hzlzh/Best-App) 收集&推荐优秀的 Apps/硬件/技巧/周边等。付费 Apps 推荐列表(macOS)、付费 Apps 推荐列表(iOS & Cydia)、免费 Apps 推荐(macOS) 、免费 Apps 推荐列表(iOS & Cydia) 、苹果设备 周边&配件 推荐列表、付费 Apps 推荐列表(Android) 、改善生活+提升幸福度物品 推荐列表。
* [jaywcjlove/free-font](https://github.com/jaywcjlove/free-font) 该项目收录了商用免费汉字字体,还包括开源英文字体,旨在为用户提供便捷的免费字体资源。项目基于 wordshub/free-font开源项目,并新增了自动生成字体预览的功能,以及更多中文和英文字体。用户可以轻松获取和使用这些字体,用于各种设计和创作需求。
* [SerenityOS/serenity](https://github.com/SerenityOS/serenity) 用于 x86-64 计算机的图形类 Unix 操作系统。一封写给 90 年代用户界面的情书,具有自定义的类 Unix 核心。它通过从其他各种系统中窃取美丽的想法来真诚地奉承。目标是将 1990 年代后期生产力软件的美学与 2000 年代后期 *nix 的高级用户可访问性结合起来。
* [brendangregg/FlameGraph](https://github.com/brendangregg/FlameGraph) 堆栈跟踪可视化工具,单击一个框以仅将火焰图缩放到此堆栈帧。要搜索并突出显示与正则表达式匹配的所有堆栈帧,请单击右上角的搜索按钮或按 Ctrl-F。默认情况下,搜索区分大小写,但可以通过按 Ctrl-I 或单击右上角的 ic 按钮来切换。
* [google/zx](https://github.com/google/zx) Bash 很棒,但是当涉及到编写更复杂的脚本时,许多人更喜欢更方便的编程语言。JavaScript 是一个完美的选择,但 Node.js 标准库在使用之前需要额外的麻烦。该 zx 包提供了有用的包装器 child_process ,转义参数并给出合理的默认值。
* [dr5hn/countries-states-cities-database](https://github.com/dr5hn/countries-states-cities-database) 这是一个全球国家、州和城市数据库,提供 JSON、SQL、PSQL、XML、YAML 和 CSV 格式的全面数据,包含 ISO2、ISO3 代码、国家代码、首都、本地语言、时区(国家)等信息。该项目还提供 API 接口,并定期更新数据库以确保数据最新。
* [Sitoi/dailycheckin](https://github.com/Sitoi/dailycheckin) 基于Docker/青龙面板/群晖的每日签到脚本(支持多账号使用)签到列表: |爱奇艺|全民K歌|有道云笔记|百度贴吧|Bilibili|V2EX|AcFun|什么值得买|阿里云盘|i茅台申购|小米运动|百度搜索资源平台|恩山论坛|奥拉星
* [kovidgoyal/calibre](https://github.com/kovidgoyal/calibre) 电子书管理器。它可以查看、转换、编辑和编目所有主要电子书格式的电子书。它还可以与电子书阅读器设备通信。它可以上网并获取您书籍的元数据。它可以下载报纸并将其转换为电子书,以方便阅读。它是跨平台的
* [hellzerg/optimizer](https://github.com/hellzerg/optimizer) 高级配置实用程序,旨在增强您在 Windows 上的隐私和安全性。强烈建议在全新安装 Windows 后使用此工具,以实现最大的隐私和安全优势。根据您的 Windows 版本,Optimizer 还可以帮助您应用特定的系统调整。
* [DovAmir/awesome-design-patterns](https://github.com/DovAmir/awesome-design-patterns) 与软件和体系结构相关的设计模式的精选列表。软件设计模式 - 在软件设计中给定上下文中,针对常见问题的通用、可重用的解决方案。它是有关如何解决可在许多不同情况下使用的问题的描述或模板。
* [SimplifyJobs/New-Grad-Positions](https://github.com/SimplifyJobs/New-Grad-Positions) Coder Quad 和 Simplify 的 2025 年应届毕业生职位。使用此存储库来分享和跟踪2024年和2025年新毕业生的入门级软件、技术、CS、PM、量化工作。请注意,此存储库仅适用于美国、加拿大或远程职位的职位。
* [ansible/ansible](https://github.com/ansible/ansible) 一个极其简单的 IT 自动化平台,可让您的应用程序和系统更易于部署和维护。自动化从代码部署到网络配置再到云管理的一切,使用接近简单英语的语言,使用 SSH,无需在远程系统上安装代理。
* [SFTtech/openage](https://github.com/SFTtech/openage) 一个志愿者项目,旨在创建《帝国时代》、《帝国时代 II》(高清版)和《星球大战:银河战场》中使用的精灵引擎的免费引擎克隆,可与 OpenMW、OpenRA、OpenSAGE、OpenTTD 和 OpenRCT2 等项目相媲美。
* [videolan/vlc](https://github.com/videolan/vlc) 自由和开源的媒体播放器和多媒体引擎,专注于播放所有内容,并在任何地方运行。VLC 可以播放大多数多媒体文件、光盘、流、设备,还能够将流转换、编码、流式传输和操作为多种格式。
* [google/styleguide](https://github.com/google/styleguide) 谷歌风格指南 每个主要的开源项目都有自己的风格指南:一组关于如何为该项目编写代码的约定(有时是任意的)。当其中的所有代码都采用一致的风格时,理解大型代码库会容易得多。
* [piotrkulpinski/openalternative](https://github.com/piotrkulpinski/openalternative) 一个由社区驱动的专有软件和应用程序的开源替代品列表。我们的目标是成为您研究新的开源服务的第一站,以帮助您发展业务。我们将帮助您找到您已经使用的产品的替代品和评论。
* [jina-ai/jina](https://github.com/jina-ai/jina) 一个神经搜索框架,它使任何人都可以在几分钟内构建 SOTA 和可扩展的深度学习搜索应用程序。可扩展的索引、查询、理解任何数据:视频、图像、长/短文本、音乐、源代码、PDF 等。
* [reactos/reactos](https://github.com/reactos/reactos) 一个免费的Windows兼容操作系统,旨在开发一个高质量的操作系统,该操作系统与为Microsoft® Windows™ NT系列操作系统(NT4,2000,XP,2003,Vista,7)编写的应用程序和驱动程序兼容。
* [github/opensource.guide](https://github.com/github/opensource.guide) 为想要学习如何运行开源项目和为开源项目做出贡献的个人、社区和公司提供的资源集合。由 GitHub 创建和策划,以及来自外部社区审阅者的意见,但它们并非 GitHub 产品所独有。
* [clouddreamteam_admin/cloud-dream](https://gitee.com/clouddreamteam_admin/cloud-dream) 微信小程序—餐饮点餐商城,是针对餐饮行业推出的一套完整的餐饮解决方案,实现了用户在线点餐下单、外卖、叫号排队、支付、配送等功能,完美的使餐饮行业更高效便捷!
* [modood/Administrative-divisions-of-China](https://github.com/modood/Administrative-divisions-of-China) 中华人民共和国行政区划:省级(省份)、 地级(城市)、 县级(区县)、 乡级(乡镇街道)、 村级(村委会居委会) ,中国省市区镇村二级三级四级五级联动地址数据。
* [pi-hole/pi-hole](https://github.com/pi-hole/pi-hole) 通过您自己的 Linux 硬件进行全网广告拦截,Pi-hole® 是一个[DNS 漏洞](https://en.wikipedia.org/wiki/DNS_Sinkhole),无需安装任何客户端软件即可保护您的设备免受不需要的内容的侵害。
* [matheusfelipeog/beautiful-docs](https://github.com/matheusfelipeog/beautiful-docs) 我喜欢文档。如果您使用/正在编写供多个人使用和使用的代码,那么您也应该喜欢它。文档和其他资源将决定项目的成功与否。你希望开发越开放和协作,文档就越重要。
* [hmemcpy/milewski-ctfp-pdf](https://github.com/hmemcpy/milewski-ctfp-pdf) Bartosz Milewski的“程序员范畴理论”非官方PDF和LaTeX来源。主要讲解了各种各样的范畴概念在编程中的体现和应用,对理解范畴论在计算机领域的应用有非常好的学习价值。
* [rbenv/rbenv](https://github.com/rbenv/rbenv) 类 Unix 系统上 Ruby 编程语言的版本管理器工具。它对于在同一台机器上的多个 Ruby 版本之间切换以及确保您正在处理的每个项目始终在正确的 Ruby 版本上运行非常有用。
* [ShareX/ShareX](https://github.com/ShareX/ShareX) 免费的开源程序,可让您捕获或记录屏幕的任何区域,只需按一下键即可共享。它还允许将图像、文本或其他类型的文件上传到您可以选择的许多受支持的目的地。
* [jellyfin/jellyfin](https://github.com/jellyfin/jellyfin) 自由软件媒体系统。Jellyfin 使您能够收集、管理和流式传输您的媒体。在您的系统上运行 Jellyfin 服务器,并访问领先的免费软件娱乐系统,包括花里胡哨的功能。
* [HC小区业主版: hc智慧家园小程序](https://gitee.com/java110/WechatOwnerService) HC小区开源项目的一个分支项目,主要给业主使用,其中包括缴物业费,缴停车费,投诉建议,家庭成员维护,房屋保修 房屋出租,公告查看,小区圈等功能。
* [The-Run-Philosophy-Organization/run](https://github.com/The-Run-Philosophy-Organization/run) 润学全球官方指定GITHUB,整理润学宗旨、纲领、理论和各类润之实例;解决为什么润,润去哪里,怎么润三大问题; 并成为新中国人的核心宗教,核心信念。
* [languagetool-org/languagetool](https://github.com/languagetool-org/languagetool) 开源校对软件,适用于英语、西班牙语、法语、德语、葡萄牙语、波兰语、荷兰语和其他 20 多种语言。它发现了许多简单的拼写检查器无法检测到的错误。
* [sshuair/awesome-gis](https://github.com/sshuair/awesome-gis) 地理空间相关资源的集合,包括制图工具、地理分析工具、开发人员工具、数据、会议和社区、新闻、大规模开放在线课程、一些令人惊叹的地图站点等。
* [naxiaoduo/1000UserGuide](https://github.com/naxiaoduo/1000UserGuide) 1000UserGuide:对独立开发者和创业者来说,找到前1000个早期用户太关键了。这里精心整理了300多个国内外渠道,适合独立开发者和创业者推广产品的渠道。
* [TGSAN/CMWTAT_Digital_Edition](https://github.com/TGSAN/CMWTAT_Digital_Edition) CloudMoe Windows 10/11 激活工具包获得数字许可证,这是 GitHub 中最好的开源 Win 10/11 激活器。GitHub 上最棒的开源 Win10/Win11 数字权利(数字许可证)激活工具!
* [jbogard/MediatR](https://github.com/jbogard/MediatR) .NET 中的简单调解器实现,没有依赖关系的进程内消息传递。支持请求/响应、命令、查询、通知和事件,同步和异步,并通过 C# 泛型差异进行智能调度。
* [webpro/awesome-dotfiles](https://github.com/webpro/awesome-dotfiles) dotfiles 资源的精选列表。有些文章或工具可能看起来很旧或过时,但这通常意味着它们经过了实战考验并且已经成熟。随时提出新的文章、项目或工具!
* [gotenberg/gotenberg](https://github.com/gotenberg/gotenberg) 提供了一个开发人员友好的API,可以与Chromium和LibreOffice等强大的工具进行交互,以将多种文档格式(HTML,Markdown,Word,Excel等)转换为PDF文件等等!
* [ByteByteGoHq/system-design-101](https://github.com/ByteByteGoHq/system-design-101) 使用视觉效果和简单术语解释复杂的系统(通信协议、CI/CD、数据库、缓存、微服务架构、支付系统、DevOps、云服务等)。帮助您准备系统设计面试。
* [alyssaxuu/flowy](https://github.com/alyssaxuu/flowy) 创建具有流程图功能的 WebApps 成为一项极其简单的任务。 通过将库实施到您的项目中,几分钟内构建自动化软件、思维导图或简单的编程平台。
* [koel/koel](https://github.com/koel/koel) 有效的个人音乐流媒体服务器。在客户端用 Vue 编写,在服务器端用 Laravel 编写。针对 Web 开发人员,采用一些更现代的 Web 技术来完成其工作。
* [google/flatbuffers](https://github.com/google/flatbuffers) 跨平台序列化库,旨在实现最大的内存效率。它允许您直接访问序列化数据,而无需先解析/解压缩它,同时仍然具有很好的向前/向后兼容性。
* [protocolbuffers/protobuf](https://github.com/protocolbuffers/protobuf) Protocol Buffers(又名 protobuf)是 Google 用于序列化结构化数据的中立语言、平台中立、可扩展的机制。您可以在 protobuf 的文档中了解更多信息。
* [sacridini/Awesome-Geospatial](https://github.com/sacridini/Awesome-Geospatial) 一长串地理空间分析工具。地理空间分析,或简称空间分析,是一种将统计分析和其他分析技术应用于具有地理或空间方面的数据的方法。
* [AppImage/AppImageKit](https://github.com/AppImage/AppImageKit) 将桌面应用程序打包为在常见的基于 Linux 的操作系统上运行的 AppImages,例如 RHEL、CentOS、openSUSE、SLED、Ubuntu、Fedora、debian 及其衍生产品。
* [mono/mono](https://github.com/mono/mono) 软件平台,旨在让开发人员轻松创建跨平台应用程序。它是 Microsoft 的 .NET Framework 的开源实现,基于 C# 和公共语言运行库的 ECMA 标准。
* [QuestPDF/QuestPDF](https://github.com/QuestPDF/QuestPDF) 用于PDF文档生成的现代开源.NET库。提供全面的布局引擎,由简洁且可发现的 C# Fluent API 提供支持。轻松生成 PDF 报告、发票、导出等。
* [Homebrew/homebrew-core](https://github.com/Homebrew/homebrew-core) MacOS(或 Linux)的软件包管理器。 通过它,我们可以方便的对Mac上的各种软件进行管理,如:安装、更新、查看、搜索、卸载等。
* [0xAX/linux-insides](https://github.com/0xAX/linux-insides) 关于 linux 内核的一点点,目标很简单 - 分享我对 linux 内核内部的适度知识,并帮助对 linux 内核内部和其他低级主题感兴趣的人。
* [lunatic-solutions/lunatic](https://github.com/lunatic-solutions/lunatic) 用于快速、健壮和可扩展的服务器端应用程序的通用运行时。它的灵感来自 Erlang,可以从任何编译到 WebAssembly 的语言中使用。
* [mifi/lossless-cut](https://github.com/mifi/lossless-cut) 无损视频/音频编辑的瑞士军刀。跨平台 FFmpeg GUI,用于对视频、音频、字幕和其他相关媒体文件进行极其快速和无损的操作。
* [ergo-services/ergo](https://github.com/ergo-services/ergo) 一个基于参与者的框架,具有网络透明度,用于使用 Golang 中的 Erlang/OTP 技术和设计模式创建事件驱动的架构。零依赖关系。
* [liu673cn/box](https://github.com/liu673cn/box) TVbox开源版(空壳-自行配置)。通过导入特点资源接口,解析各类爬虫源、XP源、采集源等。完全无任何限制,也无任何广告。
* [assimp/assimp](https://github.com/assimp/assimp) 用于将各种 3D 文件格式加载为共享的内存格式。它支持 40 多种文件格式进行导入,并支持越来越多的文件格式进行导出。
* [vlang/v](https://github.com/vlang/v) 简单、快速、安全、编译的语言,用于开发可维护的软件。在 <1 秒内编译自身,零库依赖性。支持自动 C => V 转换。
* [EvanLi/Github-Ranking](https://github.com/EvanLi/Github-Ranking) Github⭐排名 Github 星号和分叉排名列表。Github Top100 不同语言的明星列表。每天自动更新。|Github仓库排名,每日自动更新
* [phodal/github](https://github.com/phodal/github) GitHub 漫游指南——一本关于如何在 Github 上构建一个好项目的中文电子书。探索用户的行为。找到一些感兴趣的东西。
* [freeCodeCamp/how-to-contribute-to-open-source](https://github.com/freeCodeCamp/how-to-contribute-to-open-source) 欢迎新手开源贡献者!这是为刚开始为开源做出贡献的人们提供的资源列表。如果您发现其他资源,请创建拉取请求。
* [markets/awesome-ruby](https://github.com/markets/awesome-ruby) 由社区驱动的分类集合,包含令人敬畏的 Ruby 库、工具、框架和软件。构建现代应用程序和 Web 应用程序的基本 Ruby。
* [antlr/antlr4](https://github.com/antlr/antlr4) ANTLR(另一种语言识别工具)是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。
* [fanmingming/live](https://github.com/fanmingming/live) 一个国内可直连的直播源分享项目 永久免费 直连访问 完整开源 不含广告 完善的台标 直播源支持IPv4/IPv6双栈访问
* [ansible/awx](https://github.com/ansible/awx) AWX 提供基于 Web 的用户界面、REST API 和基于 Ansible 构建的任务引擎。它是红帽 Ansible 自动化平台的上游项目之一。
* [wmjordan/PDFPatcher](https://github.com/wmjordan/PDFPatcher) PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等
* [koreader/koreader](https://github.com/koreader/koreader) 支持PDF,DjVu,EPUB,FB2和更多格式的电子书阅读器应用程序,可在Cervantes,Kindle,Kobo,PocketBook和Android设备上运行
* [Morganamilo/paru](https://github.com/Morganamilo/paru) 功能丰富的 AUR 助手,Arch 用户仓库(Arch User Repository)。它是针对基于 Arch 的 Linux 发行版用户的社区驱动的仓库
* [microsoft/winget-cli](https://github.com/microsoft/winget-cli) WinGet 是 Windows Package Manager。该项目包括一个CLI(命令行界面),PowerShell模块和一个COM(组件对象模型)API。
* [lowlighter/metrics](https://github.com/lowlighter/metrics) 信息图表生成器,具有30+插件和300+选项,可显示您的GitHub帐户的统计信息并将其呈现为SVG,Markdown,PDF或JSON
* [hehonghui/awesome-english-ebooks](https://github.com/hehonghui/awesome-english-ebooks) 经济学人(含音频)、纽约客、卫报、连线、大西洋月刊等英语杂志免费下载,支持epub、mobi、pdf格式, 每周更新
* [xiangyuecn/Recorder](https://github.com/xiangyuecn/Recorder) html5 js 录音 mp3 wav ogg webm amr 格式,支持pc和Android、iOS部分浏览器、Hybrid App(提供Android iOS App源码)、微信
* [PureDarwin/PureDarwin](https://github.com/PureDarwin/PureDarwin) Darwin 是 macOS 的开源核心,PureDarwin 是一个社区项目,旨在将 Darwin 扩展为一个完整的、可用的操作系统。
* [matiassingers/awesome-readme](https://github.com/matiassingers/awesome-readme) 精选的精彩自述文件列表,精美的自述文件中的元素包括但不限于:图像、屏幕截图、GIF、文本格式等。
* [markyun/markyun](https://github.com/markyun/markyun) 记录自己的日常,基础能力决定了下限,思想素养决定了上限,而经验技巧则影响着程序猿生涯的体验。
* [bazelbuild/bazel](https://github.com/bazelbuild/bazel) 快速、可扩展、多语言和可扩展的构建系统。构建和测试Java,C++,Android,iOS,Go和各种其他语言平台。
* [lTbgykio/Books-Free-Books](https://github.com/lTbgykio/Books-Free-Books) 免费书籍汇总。目录:Web 开发、系统管理、编程语言、数据库、软件开发、人工智能、数学理论、其他
* [mpv-player/mpv](https://github.com/mpv-player/mpv) 命令行的免费(如自由)媒体播放器。它支持多种媒体文件格式、音频和视频编解码器以及字幕类型。
* [github-linguist/linguist](https://github.com/github-linguist/linguist) 用于检测 blob 语言、忽略二进制文件或供应商文件、禁止显示差异中生成的文件以及生成语言细分图。
* [acmesh-official/acme.sh](https://github.com/acmesh-official/acme.sh) 实现 ACME 客户端协议(使用 ACME 协议来验证您对给定域名的控制权并向您颁发证书。)的纯 Unix shell 脚本
* [houshanren/hangzhou_house_knowledge](https://github.com/houshanren/hangzhou_house_knowledge) 2017年买房经历总结出来的买房购房知识分享给大家,希望对大家有所帮助。买房不易,且买且珍惜。
* [NickeManarin/ScreenToGif](https://github.com/NickeManarin/ScreenToGif) 允许您记录屏幕的选定区域,编辑并将其保存为 gif 或视频。需要 .NET 6 桌面运行时(或更高版本)。
* [DevToys-app/DevToys](https://github.com/DevToys-app/DevToys) 开发人员的瑞士军刀。DevToys 帮助完成日常开发任务,例如格式化 JSON、比较文本和测试正则表达式。
* [dortania/OpenCore-Legacy-Patcher](https://github.com/dortania/OpenCore-Legacy-Patcher) 围绕 Acidanthera 的 OpenCorePkg 和 Lilu 展开,用于在受支持和不支持的 Mac 上运行和解锁 macOS 中的功能。
* [ryanhanwu/How-To-Ask-Questions-The-Smart-Way](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way) 本文原文由知名 Hacker Eric S. Raymond 所撰寫,教你如何正確的提出技術問題並獲得你滿意的答案。
* [Ileriayo/markdown-badges](https://github.com/Ileriayo/markdown-badges) Markdown 徽章,将徽章添加到您的个人资料和项目。个人开发人员品牌、个人资料和项目的徽章。
* [kenjihiranabe/The-Art-of-Linear-Algebra](https://github.com/kenjihiranabe/The-Art-of-Linear-Algebra) 线性代数的艺术,吉尔伯特·斯特朗 (Gilbert Strang) 的《适合所有人的线性代数》的图解笔记。
* [zbezj/HEU_KMS_Activator](https://github.com/zbezj/HEU_KMS_Activator) 基于MDL论坛的KMS 服务端模拟环境“KMS Server Emulator”而制作的一款简洁高效的 KMS 激活工具。
* [tldr-pages/tldr](https://github.com/tldr-pages/tldr) 社区维护的命令行工具帮助页面的集合,旨在成为传统手册页的更简单、更易上手的补充。
* [nocodb/nocodb](https://github.com/nocodb/nocodb) 开源 Airtable 替代方案 将任何 MySQL、PostgreSQL、SQL Server、SQLite 和 MariaDB 变成智能电子表格。
* [MaaAssistantArknights/MaaAssistantArknights](https://github.com/MaaAssistantArknights/MaaAssistantArknights) 《明日方舟》小助手,全日常一键长草!|Arknights日常任务的一键式工具,支持所有客户。
* [sharkdp/bat](https://github.com/sharkdp/bat) 一只长着翅膀的 cat(1) 命令的克隆体。功能:语法高亮、显示不可打印的字符、文件串联。
* [trimstray/test-your-sysadmin-skills](https://github.com/trimstray/test-your-sysadmin-skills) Linux 系统管理员测试问题和答案的集合。通过这些 Q/A 测试您在不同领域的知识和技能。
* [heynickc/awesome-ddd](https://github.com/heynickc/awesome-ddd) 域驱动设计 (DDD)、命令查询责任分离 (CQRS)、事件溯源和事件风暴资源的精选列表
* [docmirror/dev-sidecar](https://github.com/docmirror/dev-sidecar) 开发者边车,github打不开,github加速,git clone加速,git release下载加速,stackoverflow加速
* [microsoft/PowerToys](https://github.com/microsoft/PowerToys) Microsoft PowerToys 是一组实用程序,供高级用户调整和简化 Windows 体验以提高工作效率。
* [Tencent/xLua](https://github.com/Tencent/xLua) C#(Unity、.Net、Mono)的 lua 编程解决方案,它支持 android、ios、windows、linux、osx 等。
* [sparanoid/chinese-copywriting-guidelines](https://github.com/sparanoid/chinese-copywriting-guidelines) 統一中文文案、排版的相關用法,降低團隊成員之間的溝通成本,增強網站氣質。
* [charmbracelet/vhs](https://github.com/charmbracelet/vhs) 集测试和演示 CLI 于一身的视频记录仪,它会根据你的指令生成相关的操作视频。
* [serhii-londar/open-source-mac-os-apps](https://github.com/serhii-londar/open-source-mac-os-apps) 适用于 macOS 的开源应用程序列表很棒。此列表包含许多本机和跨平台应用程序。
* [frank-lam/fullstack-tutorial](https://github.com/frank-lam/fullstack-tutorial) fullstack tutorial 2022,后台技术栈/架构师之路/全栈开发社区,春招/秋招/校招/面试
* [BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep) 在尊重您的 gitignore 的同时递归地搜索目录以查找正则表达式模式,优势速度快。
* [meilisearch/meilisearch](https://github.com/meilisearch/meilisearch) 闪电般快速的搜索引擎,可以毫不费力地融入您的应用程序、网站和工作流程。
* [FFmpeg/FFmpeg](https://github.com/FFmpeg/FFmpeg) 用于处理多媒体内容(如音频、视频、字幕和相关元数据)的库和工具的集合。
* [jserv/shecc](https://github.com/jserv/shecc) 从头开始构建,针对 32 位 Arm 和 RISC-V 架构,作为 C 语言子集的自编译编译器。
* [coder2gwy/coder2gwy](https://github.com/coder2gwy/coder2gwy) 互联网首份程序员考公指南,由3位已经进入体制内的前大厂程序员联合献上。
* [renovatebot/renovate](https://github.com/renovatebot/renovate) 自动依赖项更新。多平台和多语言。适合您工作流程的通用依赖项更新工具。
* [microsoft/wslg](https://github.com/microsoft/wslg) 使适用于 Linux 的 Windows 子系统能够包括对 Wayland 和 X 服务器相关方案的支持
* [BoostIO/BoostNote-App](https://github.com/BoostIO/BoostNote-App) 一种文档驱动的项目管理工具,可最大限度地提高远程 DevOps 团队的速度。
* [yourtion/30dayMakeOS](https://github.com/yourtion/30dayMakeOS) 《30天自制操作系统》源码中文版。自己制作一个操作系统(OSASK)的过程
* [desktop/desktop](https://github.com/desktop/desktop) 开源的基于Electron的GitHub应用程序。它是用TypeScript编写的,并使用React。
* [gztchan/awesome-design](https://github.com/gztchan/awesome-design) 专注于收集高质量的资源和工具,可供UI / UX设计师在日常工作中使用。
* [ardalis/CleanArchitecture](https://github.com/ardalis/CleanArchitecture) Clean Architecture 解决方案模板:具有 ASP.NET Core 的 Clean Architecture 的起点
* [jordansissel/fpm](https://github.com/jordansissel/fpm) Effing 包管理!为多个平台(deb、rpm 等)构建软件包非常轻松和合理。
* [nayuki/QR-Code-generator](https://github.com/nayuki/QR-Code-generator) Java,TypeScript / JavaScript,Python,Rust,C++,C中的高质量QR码生成器库。
* [521xueweihan/GitHub520](https://github.com/521xueweihan/GitHub520) 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。(无需安装)
* [jaywcjlove/linux-command](https://github.com/jaywcjlove/linux-command) Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。
* [formulahendry/955.WLB](https://github.com/formulahendry/955.WLB) 955 不加班的公司名单 - 工作 955,work–life balance (工作与生活的平衡)
* [symless/synergy-core](https://github.com/symless/synergy-core) Synergy的开源核心,跨平台键盘和鼠标共享工具(Windows,macOS,Linux)
* [byoungd/English-level-up-tips](https://github.com/byoungd/English-level-up-tips) 学习英语的高级指南,可能会使您受益匪浅。离谱的英语学习指南。
* [aoaostar/legado](https://github.com/aoaostar/legado) 「阅读」APP 源,一些「阅读」小说书源、订阅源、主题、排版配置
* [iCHAIT/awesome-macOS](https://github.com/iCHAIT/awesome-macOS) 适用于 macOS 的精彩应用程序、软件、工具和闪亮事物的精选列表。
* [rubocop/rubocop](https://github.com/rubocop/rubocop) 一个 Ruby 静态代码分析器和格式化程序,基于社区 Ruby 风格指南。
* [SwifterSwift/SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) 包含 500 多个原生 Swift 扩展的便捷集合,可提高您的工作效率。
* [donnemartin/system-design-primer](https://github.com/donnemartin/system-design-primer) 了解如何设计大型系统。准备系统设计面试。包括 Anki 抽认卡。
* [alienator88/Pearcleaner](https://github.com/alienator88/Pearcleaner) 一个免费的、源代码可用和公平代码许可的 Mac 应用程序清理器
* [joelparkerhenderson/architecture-decision-record](https://github.com/joelparkerhenderson/architecture-decision-record) 用于软件规划、IT 领导和模板文档的架构决策记录 (ADR) 示例
* [vsouza/awesome-ios](https://github.com/vsouza/awesome-ios) 令人敬畏的iOS生态系统的精选列表,包括Objective-C和Swift项目。
* [bregman-arie/devops-exercises](https://github.com/bregman-arie/devops-exercises) 包含有关各种技术主题的问题和练习,有时与 DevOps 和 SRE 相关
* [dedupeio/dedupe](https://github.com/dedupeio/dedupe) 机器学习对结构化数据快速执行模糊匹配、去重和实体解析。
* [AlDanial/cloc](https://github.com/AlDanial/cloc) 对许多编程语言中源代码的空白行、注释行和物理行进行计数
* [Homebrew/homebrew-cask](https://github.com/Homebrew/homebrew-cask) 用于管理以二进制文件形式分发的 macOS 应用程序的 CLI 工作流
* [qarmin/czkawka](https://github.com/qarmin/czkawka) 多功能应用程序,用于查找重复项、空文件夹、类似图像等。
* [excalidraw/excalidraw](https://github.com/excalidraw/excalidraw) 用于素描手绘图的虚拟白板 [->立即使用](https://excalidraw.com)
* [airbnb/lottie-android](https://github.com/airbnb/lottie-android) 在 Android 和 iOS、Web 和 React Native 上原生渲染 After Effects 动画
* [pjialin/py12306](https://github.com/pjialin/py12306) 12306购票助手,支持集群,多账号,多任务以及 Web 页面管理
* [openfarmcc/OpenFarm](https://github.com/openfarmcc/OpenFarm) 免费和开放的农业和园艺知识数据库。你可以种植任何东西
* [dotnet/roslyn](https://github.com/dotnet/roslyn) .NET 编译器为 C# 和 Visual Basic 语言提供丰富的代码分析 API。
* [rxhanson/Rectangle](https://github.com/rxhanson/Rectangle) macOS 上使用键盘快捷键和贴靠区域移动窗口和调整窗口大小
* [MichaelMure/git-bug](https://github.com/MichaelMure/git-bug) 嵌入在 git 中的分布式、离线优先错误跟踪器,带有桥接器
* [ty4z2008/Qix](https://github.com/ty4z2008/Qix) 机器学习、深度学习、PostgreSQL、分布式系统、Node.js、Golang
* [mxgmn/WaveFunctionCollapse](https://github.com/mxgmn/WaveFunctionCollapse) 在量子力学思想的帮助下,从单个示例生成位图和瓦片图
* [luong-komorebi/Awesome-Linux-Software](https://github.com/luong-komorebi/Awesome-Linux-Software/blob/master/README_zh-CN.md) 收集了对任何用户/开发者都觉得超赞的 Linux 应用软件。
* [kelseyhightower/nocode](https://github.com/kelseyhightower/nocode) 编写安全可靠的应用的最佳方式。什么都不写;不部署。
* [jgraph/drawio-desktop](https://github.com/jgraph/drawio-desktop) 基于Electron图表和白板桌面,包装了核心draw.io编辑器。
* [typst/typst](https://github.com/typst/typst) 一个新的基于标记的排版系统,功能强大且易于学习。
* [terkelg/awesome-creative-coding](https://github.com/terkelg/awesome-creative-coding) 创意编码:生成艺术,数据可视化,交互设计,资源。
* [immich-app/immich](https://github.com/immich-app/immich) 直接从您的手机进行自托管照片和视频备份解决方案。
* [typst/typst](https://github.com/typst/typst) 一个新的基于标记的排版系统,功能强大且易于学习。
* [RealKai42/qwerty-learner](https://github.com/RealKai42/qwerty-learner) 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件
* [kuchin/awesome-cto](https://github.com/kuchin/awesome-cto) 为初创公司首席技术官精心策划的、有主见的资源清单
* [daliansky/Hackintosh](https://github.com/daliansky/Hackintosh) 黑苹果操作系统 Hackintosh 长期维护模型 EFI 和安装教程
* [asdf-vm/asdf](https://github.com/asdf-vm/asdf) 可扩展的版本管理器,支持Ruby,Node.js,Elixir,Erlang等
* [asdf-vm/asdf](https://github.com/asdf-vm/asdf) 可扩展的版本管理器,支持Ruby,Node.js,Elixir,Erlang等
* [SwiftGGTeam/the-swift-programming-language-in-chinese](https://github.com/SwiftGGTeam/the-swift-programming-language-in-chinese) 中文版 Apple 官方 Swift 教程《The Swift Programming Language》
* [mikefarah/yq](https://github.com/mikefarah/yq) 可移植的命令行 YAML、JSON、XML、CSV、TOML 和属性处理器
* [metowolf/vCards](https://github.com/metowolf/vCards) 导入常用联系人头像,优化 iOS 来电、信息界面体验。
* [ptitSeb/box64](https://github.com/ptitSeb/box64/) Box64 Linux 用户空间 x86_64 仿真器,针对 ARM64 Linux 设备
* [Alinshans/MyTinySTL](https://github.com/Alinshans/MyTinySTL) 实现了大部分STL中的容器与函数,但仍存在许多bug。
* [lxgw/LxgwWenKai](https://github.com/lxgw/LxgwWenKai) 基于 FONTWORKS 出品字体 Klee One 改造的开源中文字体。
* [kgrzybek/modular-monolith-with-ddd](https://github.com/kgrzybek/modular-monolith-with-ddd) 采用领域驱动设计方法的全模块化整体式应用程序。
* [microapp-store/flash-waimai](https://github.com/microapp-store/flash-waimai) 仿饿了么外卖平台,包括手机端,后台管理, api服务
* [ventoy/Ventoy](https://github.com/ventoy/Ventoy) 用于为 ISO/WIM/IMG/VHD(x)/EFI 文件创建可启动 USB 驱动器
* [Xfennec/progress](https://github.com/Xfennec/progress) Linux 工具显示 cp、mv、dd 等的进度。(以前称为 CV)
* [MaterialDesignInXAML/MaterialDesignInXamlToolkit](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit) Google 的 Material Design in XAML & WPF, for C# & VB.Net.
* [jnv/lists](https://github.com/jnv/lists) 在 GitHub 和其他地方策划的列表(列表)的最终列表
* [jaywcjlove/linux-command](https://github.com/jaywcjlove/linux-command) Linux命令大全搜索,包含手册、详解、学习、搜集。
* [ptitSeb/box86](https://github.com/ptitSeb/box86/) Box86 - Linux 用户空间 x86 仿真器,针对 ARM Linux 设备
* [romkatv/powerlevel10k](https://github.com/romkatv/powerlevel10k) Zsh的主题。强调速度、灵活性和开箱即用的体验。
* [dwmkerr/hacker-laws](https://github.com/dwmkerr/hacker-laws) 开发人员会发现有用的定律,理论,原则和模式。
* [Ftindy/IPTV-URL](https://github.com/Ftindy/IPTV-URL) 本项目直播源均搜集自互联网,完全免费公开分享
* [dkhamsing/open-source-ios-apps](https://github.com/dkhamsing/open-source-ios-apps) 开源 iOS 、 iPadOS watchOS 和 tvOS 应用程序的协作列表
* [microsoft/fluentui-emoji](https://github.com/microsoft/fluentui-emoji) 来自 Microsoft 的一组熟悉、友好和现代的表情符号
* [deiv/driftnet](https://github.com/deiv/driftnet) 监视网络流量,并选择和显示 JPEG 和 GIF 图像显示
* [alexandresanlim/Badges4-README.md-Profile](https://github.com/alexandresanlim/Badges4-README.md-Profile) 使用这些惊人的徽章改善您的 README.md 个人资料。
* [TheZoraiz/ascii-image-converter](https://github.com/TheZoraiz/ascii-image-converter) 将图像转换为 ascii 艺术并在控制台上打印它们。
* [sharkdp/fd](https://github.com/sharkdp/fd) “find”查找的简单、快速和用户友好的替代方法
* [microsoft/calculator](https://github.com/microsoft/calculator) Windows 计算器:Windows 附带的简单而强大的计算器
* [H-M-H/Weylus](https://github.com/H-M-H/Weylus) 将平板电脑用作计算机上的图形输入板/触摸屏。
* [home-assistant/core](https://github.com/home-assistant/core) 将本地控制和隐私放在首位的开源家庭自动化。
* [babashka/babashka](https://github.com/babashka/babashka) 用于脚本编写的原生、快速启动的 Clojure 解释器
* [miss-mumu/developer2gwy](https://github.com/miss-mumu/developer2gwy) 公务员从入门到上岸,最佳程序员公考实践教程
* [jigish/slate](https://github.com/jigish/slate) MacOS上类似 Divvy 和 SizeUp 的窗口管理应用程序。
* [brndnmtthws/conky](https://github.com/brndnmtthws/conky) 适用于X,Wayland和其他东西的轻量级系统监视器
* [bennettfeely/bennett](https://github.com/bennettfeely/bennett) ztext 易于实现的3D网页排版。适用于每种字体。
* [binwiederhier/ntfy](https://github.com/binwiederhier/ntfy) 使用 PUT/POST 将推送通知发送到您的手机或桌面
* [bayandin/awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) 一个精心策划的令人敬畏的令人敬畏的清单。
* [firstcontributions/first-contributions](https://github.com/firstcontributions/first-contributions) 旨在简化和指导初学者做出首次贡献的方式。
* [remoteintech/remote-jobs](https://github.com/remoteintech/remote-jobs) 科技行业远程工作友好型公司(工作)列表。
* [muesli/duf](https://github.com/muesli/duf) 磁盘使用/免费实用程序 - 更好的“df”替代品
* [nusr/hacker-laws-zh](https://github.com/nusr/hacker-laws-zh) 对开发人员有用的定律、理论、原则和模式。
* [Hammerspoon/hammerspoon](https://github.com/Hammerspoon/hammerspoon) 使用 Lua 实现功能惊人的强大 macOS 桌面自动化
* [1c7/chinese-independent-developer](https://github.com/1c7/chinese-independent-developer) 中国独立开发者项目表,分享大家都在做什么
* [public-apis/public-apis](https://github.com/public-apis/public-apis) 一个免费API的集合列表,可用于软件和Web开发
* [florinpop17/app-ideas](https://github.com/florinpop17/app-ideas) 一系列应用创意,可用于提高您的编码技能。
* [ovity/octotree](https://github.com/ovity/octotree) 浏览器扩展,可增强 GitHub 代码审查和探索。
* [freembook.com](https://freembook.com/) 书籍查询网页,可查询:书号 书名 SS号 DX号
* [SnapKit/SnapKit](https://github.com/SnapKit/SnapKit) 一款DSL,可在iOS和OS X上轻松实现自动布局。
* [auris/awesome-scala](https://github.com/lauris/awesome-scala) 社区驱动的有用 Scala 库、框架和软件列表。
* [chocolatey/choco](https://github.com/chocolatey/choco) 像 yum 或 apt-get,但适用于 Windows 的包管理器
* [zijie0/HumanSystemOptimization](https://github.com/zijie0/HumanSystemOptimization) 健康学习到150岁 - 人体系统调优不完全指南
* [quozd/awesome-dotnet](https://github.com/quozd/awesome-dotnet) 很棒的 .NET 库、工具、框架和软件的集合。
* [lichess-org/lila](https://github.com/lichess-org/lila) 永远免费、无广告和开源的国际象棋服务器
* [pomber/git-history](https://github.com/pomber/git-history) 从任何 git 存储库快速浏览文件的历史记录
* [ggreer/the_silver_searcher](https://github.com/ggreer/the_silver_searcher) 类似于 ack 的代码搜索工具,但速度更快。
* [koekeishiya/yabai](https://github.com/koekeishiya/yabai) 基于二进制空间分区的macOS平铺窗口管理器
* [MSWorkers/support.996.ICU](https://github.com/MSWorkers/support.996.ICU) 微软员工和 GitHub 员工宣布支持 996.ICU 运动
* [iDvel/rime-ice](https://github.com/iDvel/rime-ice) Rime 配置:雾凇拼音 | 长期维护的简体词库
* [xiaolai/everyone-can-use-english](https://github.com/xiaolai/everyone-can-use-english) 不要再 “学” 英语,你就该 “用” 英语
* [Wox-launcher/Wox](https://github.com/Wox-launcher/Wox) Windows 启动器,Alfred 和 Launchy 的替代品。
* [Splode/pomotroid](https://github.com/Splode/pomotroid) 简单且视觉上令人愉悦的番茄钟计时器。
* [AdnanHodzic/auto-cpufreq](https://github.com/AdnanHodzic/auto-cpufreq) 适用于 Linux 的自动 CPU 速度和功耗优化器
* [icopy-site/awesome-cn](https://github.com/icopy-site/awesome-cn) 从github 各类 awesome list 通过爬虫聚合而来
* [dandavison/delta](https://github.com/dandavison/delta) 用于 git、diff 和 grep 输出的语法突出显示
* [gotgit/gotgithub](https://github.com/gotgit/gotgithub) 一本关于 GitHub 的开源电子书(中文版)
* [modichirag/flowpm](https://github.com/modichirag/flowpm) TensorFlow中的粒子网格模拟N体宇宙学模拟
* [billryan/resume](https://github.com/billryan/resume) 优雅的 LaTeX 简历模板,用 XeLaTeX 编译。
* [thangchung/awesome-dotnet-core](https://github.com/thangchung/awesome-dotnet-core) 很棒的 .NET Core、工具、框架软件的集合
* [awesomedata/awesome-public-datasets](https://github.com/awesomedata/awesome-public-datasets) 以主题为中心的总部开放数据集列表。
* [flameshot-org/flameshot](https://github.com/flameshot-org/flameshot) 功能强大且易于使用的屏幕截图软件。
* [bnb/awesome-hyper](https://github.com/bnb/awesome-hyper) 令人愉快的*CLI*超级插件、主题和资源
* [anuraghazra/github-readme-stats](https://github.com/anuraghazra/github-readme-stats) 动态生成的 github 自述文件的统计信息
* [Igglybuff/awesome-piracy](https://github.com/Igglybuff/awesome-piracy) 精选的令人敬畏的warez和盗版链接列表
* [hackerkid/Mind-Expanding-Books](https://github.com/hackerkid/Mind-Expanding-Books) 思维扩展书籍 每个人都应该读的书!
* [SimplifyJobs/Summer2024-Internships](https://github.com/SimplifyJobs/Summer2024-Internships) Pitt CSC和Simplify的 2024 年夏季技术实习
* [easychen/lean-side-bussiness](https://github.com/easychen/lean-side-bussiness) 精益副业:程序员如何优雅地做副业
* [posquit0/Awesome-CV](https://github.com/posquit0/Awesome-CV) LaTeX 模板,适用于您出色的工作申请
* [lukasz-madon/awesome-remote-job](https://github.com/lukasz-madon/awesome-remote-job) 精彩的远程作业和资源的精选列表。
* [files-community/Files](https://github.com/files-community/Files) 构建适用于 Windows 的最佳文件管理器
* [Wechat-ggGitHub/Awesome-GitHub-Repo](https://github.com/Wechat-ggGitHub/Awesome-GitHub-Repo) 收集GitHub高质量、有趣的开源项目。
* [opensumi/core](https://github.com/opensumi/core) 帮助您快速构建云或桌面 IDE 产品。
* [conwnet/github1s](https://github.com/conwnet/github1s) 一秒钟使用 VS Code 读取 GitHub 代码。
* [rusterlium/rustler](https://github.com/rusterlium/rustler) 用于创建 Erlang NIF 函数的安全rust桥
* [jaywcjlove/awesome-mac](https://github.com/jaywcjlove/awesome-mac) 收集了各种类别的出色 macOS 软件。
* [EastWorld/wechat-app-mall](https://github.com/EastWorld/wechat-app-mall) 微信小程序商城,微信小程序微店
* [sunym1993/flash-linux0.11-talk](https://github.com/sunym1993/flash-linux0.11-talk) 像小说一样品读 Linux 0.11 核心代码
* [mermaid-js/mermaid](https://github.com/mermaid-js/mermaid) 从文本生成流程图或序列图等图表
* [Fechin/reference](https://github.com/Fechin/reference) 为开发人员共享快速参考备忘单。
* [PHPOffice/PHPWord](https://github.com/PHPOffice/PHPWord) 用于读写文字处理文档的纯 PHP 库
* [CocoaPods/CocoaPods](https://github.com/CocoaPods/CocoaPods) CocoaPods 管理 Xcode 项目的依赖项。
* [iina/iina](https://github.com/iina/iina) 适用于 macOS 的现代视频播放器。
* [zh-google-styleguide/zh-google-styleguide](https://github.com/zh-google-styleguide/zh-google-styleguide) Google 开源项目风格指南 (中文版)
* [nondanee/UnblockNeteaseMusic](https://github.com/nondanee/UnblockNeteaseMusic) 解锁网易云音乐客户端变灰歌曲
* [lib-pku/libpku](https://github.com/lib-pku/libpku) 贵校大学课程各种资料民间整理
* [denisidoro/navi](https://github.com/denisidoro/navi) 用于命令行的交互式备查表工具
* [Homebrew/brew](https://github.com/Homebrew/brew) macOS(或 Linux)缺少的包管理器
* [k88hudson/git-flight-rules](https://github.com/k88hudson/git-flight-rules) git 的飞行规则,Git 程序员指南
* [tipsy/profile-summary-for-github](https://github.com/tipsy/profile-summary-for-github) 用于可视化 GitHub 状态的工具。
* [dblalock/bolt](https://github.com/dblalock/bolt) 矩阵和向量运算速度提高 10 倍
* [rspivak/lsbasi](https://github.com/rspivak/lsbasi) 让我们构建一个简单的解释器
* [H5-Dooring/dooringx](https://github.com/H5-Dooring/dooringx) 快速高效搭建可视化拖拽平台
* [drduh/macOS-Security-and-Privacy-Guide](https://github.com/drduh/macOS-Security-and-Privacy-Guide) macOS 上保护和改善隐私的指南
* [imDazui/Tvlist-awesome-m3u-m3u8](https://github.com/imDazui/Tvlist-awesome-m3u-m3u8) 直播源相关资源汇总 IPTV、M3U
* [gleitz/howdoi](https://github.com/gleitz/howdoi) 通过命令行立即得到编码答案
* [rubocop/ruby-style-guide](https://github.com/rubocop/ruby-style-guide) 社区驱动的 Ruby 编码风格指南
* [cloudcommunity/Free-Certifications](https://github.com/cloudcommunity/Free-Certifications) 精选的免费课程和认证列表。
* [NVIDIA/open-gpu-kernel-modules](https://github.com/NVIDIA/open-gpu-kernel-modules) NVIDIA Linux 开放 GPU 内核模块源
* [ruanyf/weekly](https://github.com/ruanyf/weekly) 科技爱好者周刊,每周五发布
* [MunGell/awesome-for-beginners](https://github.com/MunGell/awesome-for-beginners) 很棒的初学者友好项目列表。
* [sindresorhus/awesome](https://github.com/sindresorhus/awesome) 关于各种有趣主题的精彩列表
* [nikitavoloboev/my-mac](https://github.com/nikitavoloboev/my-mac) 我在 macOS 上使用的应用/工具
* [lampepfl/dotty](https://github.com/lampepfl/dotty) Scala 3 编译器,也称为 Dotty。
* [lyswhut/lx-music-desktop](https://github.com/lyswhut/lx-music-desktop) 一个基于 electron 的音乐软件
* [rShetty/awesome-podcasts](https://github.com/rShetty/awesome-podcasts) 软件工程师的重要播客列表
* [shimohq/chinese-programmer-wrong-pronunciation](https://github.com/shimohq/chinese-programmer-wrong-pronunciation) 中国程序员易发音错误单词
* [github/gitignore](https://github.com/github/gitignore) 有用的 .gitignore 模板的集合
* [kanaka/mal](https://github.com/kanaka/mal) 受 Clojure 启发的 Lisp 解释器
* [tuteng/Best-websites-a-programmer-should-visit-zh](https://github.com/tuteng/Best-websites-a-programmer-should-visit-zh) 程序员应该访问的最佳网站
* [Anduin2017/HowToCook](https://github.com/Anduin2017/HowToCook) 程序员在家做饭方法指南。
* [easychen/howto-make-more-money](https://github.com/easychen/howto-make-more-money) 程序员如何优雅的挣零花钱
* [resumejob/awesome-resume](https://github.com/resumejob/awesome-resume) 程序员简历例句,简历模版
* [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) 用于 git 命令的简单终端 UI
* [RelaxedJS/ReLaXed](https://github.com/RelaxedJS/ReLaXed) 使用 Web 技术创建 PDF 文档
* [LibreOffice/core](https://github.com/LibreOffice/core) 只读 LibreOffice 核心存储库
* [polybar/polybar](https://github.com/polybar/polybar) 快速且易于使用的状态栏
* [the1812/Bilibili-Evolved](https://github.com/the1812/Bilibili-Evolved) 强大的哔哩哔哩增强脚本
* [abhisheknaiidu/awesome-github-profile-readme](https://github.com/abhisheknaiidu/awesome-github-profile-readme) 很棒的GitHub个人自述文件
* [WeNeedHome/SummaryOfLoanSuspension](https://github.com/WeNeedHome/SummaryOfLoanSuspension) 全国各省市停贷通知汇总
* [kamranahmedse/design-patterns-for-humans](https://github.com/kamranahmedse/design-patterns-for-humans) 对设计模式的超简化解释
* [scala/scala](https://github.com/scala/scala) Scala 2 编译器和标准库。
* [agarrharr/awesome-cli-apps](https://github.com/agarrharr/awesome-cli-apps) 命令行应用的精选列表
* [SocialSisterYi/bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect) 哔哩哔哩-API收集整理
* [penpot/penpot](https://github.com/penpot/penpot) 开源设计和原型平台
* [geekcompany/ResumeSample](https://github.com/geekcompany/ResumeSample) 程序员简历模板系列
* [chubin/wttr.in](https://github.com/chubin/wttr.in) 查看天气的正确方法
* [Awesome-HarmonyOS/HarmonyOS](https://github.com/Awesome-HarmonyOS/HarmonyOS) 华为鸿蒙操作系统。
* [timqian/chinese-independent-blogs](https://github.com/timqian/chinese-independent-blogs) 中文独立博客列表
* [dxx/react-bilibili](https://github.com/dxx/react-bilibili) 高仿B站web移动端
* [wenyan-lang/wenyan](https://github.com/wenyan-lang/wenyan) 文言文編程語言
* [geekan/HowToLiveLonger](https://github.com/geekan/HowToLiveLonger) 程序员延寿指南
* [torvalds/linux](https://github.com/torvalds/linux) Linux内核源码树
* [StylishThemes/GitHub-Dark](https://github.com/StylishThemes/GitHub-Dark) 深色 GitHub 风格
* [SubtitleEdit/subtitleedit](https://github.com/SubtitleEdit/subtitleedit) 字幕编辑器
* [HarborLibrary/Chinese-History](https://github.com/HarborLibrary/Chinese-History) 中国历史
* [ixinzhi/loving-books](https://github.com/ixinzhi/loving-books) 恋爱指南
* [hoochanlon/NeiJuan](https://github.com/hoochanlon/NeiJuan) 国立台湾大学、新加坡国立大学、早稻田大学、东京大学,中央研究院(台湾)以及中国重点高校及科研机构,社科、经济、数学、博弈论、哲学、系统工程类学术论文等知识库。
## 游戏
* [RHY3756547/FreeSO](https://github.com/RHY3756547/FreeSO) FreeSO是一个基于 Monogame 的《模拟人生在线》完整重制项目,旨在忠实还原原作,并加入硬件渲染、自定义动态光照、高分辨率输出和超过两层楼的房屋等功能。用户可以通过官方网站提供的安装程序安装 FreeSO 和原始 TSO 文件,并连接到官方服务器进行游戏。FreeSO 依赖于原始游戏文件(对象、头像、UI)运行,这些文件可以从 EA 服务器下载。FreeSO 本身是一个游戏引擎,不包含任何版权材料。FreeSO 也是《模拟人生 1》引擎重制项目 Simitone 的基础项目,该项目主要针对移动设备。项目中包含的内容系统、HIT VM 和 SimAntics VM支持 TSO 和 TS1 游戏文件,这意味着 TS1 可以通过 FreeSO 中的 TSO UI 前端以有限的方式运行。Simitone 通过将社区和游戏系统与合适的 UI 前端绑定,完全恢复了 TS1 的游戏玩法。FreeSO 引擎还支持实验性的 3D 模式,允许玩家从不同的视角观看游戏。3D 网格是在运行时从对象精灵中包含的 z 缓冲区重建的。FreeSO 还为墙壁和地板在运行时生成 3D 几何体,并在启用该模式时切换到具有不同控制的备用相机。可以通过启动参数 `-3d` 启用该模式。Volcanic 是 FreeSO 的扩展,允许用户查看、修改和保存游戏对象,以及 SimAntics VM 的实时实例。它具有用于对象的各种资源编辑器,其中最突出的是脚本编辑器。它允许轻松创建新对象和调试现有对象。Volcanic 在 FSO 引擎加载 TS1 对象和其他资源时也能正常工作。用户可以通过测试最新版本中的尖端功能、提交错误报告和参与论坛讨论来为 FreeSO 做出贡献。项目需要 Visual Studio 2019和 MonoGame 3.5(可选)。
* [multitheftauto/mtasa-blue](https://github.com/multitheftauto/mtasa-blue) Multi Theft Auto(MTA) 是一个为 Rockstar North 的 Grand Theft Auto 游戏系列添加网络游戏功能的软件项目,该系列游戏原本没有此功能。它是一个独特的修改,将可扩展的网络游戏元素整合到专有的商业单人 PC 游戏中。MTA 基于代码注入和钩子技术,通过操纵游戏而不改变游戏提供的任何原始文件来实现。该软件充当游戏引擎,将自身安装为原始游戏的扩展,添加核心功能,如网络和 GUI 渲染,同时通过脚本语言公开原始游戏的引擎功能。MTA 以前是一个闭源项目,我们已经迁移到开源,以鼓励其他开发人员贡献,并出于教育目的展示我们项目源代码和设计的见解。MTA 建立在“Blue”概念之上,该概念实现了游戏引擎框架。由于我们游戏框架的类设计基于 Grand Theft Auto 的设计,因此我们能够将我们的代码插入到原始游戏中。然后通过提供新的游戏功能(包括调整和崩溃修复)以及全新的图形界面、网络和脚本组件来扩展游戏。默认情况下,Multi Theft Auto 提供了 Grand Theft Auto 的最小沙盒式游戏玩法。游戏玩法可以通过嵌入在客户端和服务器中的 Lua 脚本语言进行大量扩展,允许服务器运行自定义创建的游戏模式,这些模式具有针对多达数百名在线玩家的自定义内容。
* [LizardByte/Sunshine](https://github.com/LizardByte/Sunshine) Moonlight 的自托管游戏流主机。Sunshine 是 Moonlight 的自托管游戏流主机。提供低延迟的云游戏服务器功能,并支持 AMD、Intel 和 Nvidia GPU 进行硬件编码。软件编码也可用。您可以从各种设备上的任何 Moonlight 客户端连接到 Sunshine。提供了一个 Web UI,允许从您最喜欢的 Web 浏览器进行配置和客户端配对。从本地服务器或任何移动设备配对。在您自己的硬件上运行 Sunshine。无需向云游戏提供商支付月费。从任何 Moonlight 客户端连接到 Sunshine。Moonlight 适用于 Windows、macOS、Linux、Android、iOS、Xbox 等。有关更多信息,请参见 clients。Sunshine 支持 AMD、Intel 和 Nvidia GPU 进行硬件编码。软件编码也可用。Sunshine 旨在提供尽可能低的延迟,以实现最佳游戏性能。Sunshine 模拟 Xbox、PlayStation 或 Nintendo Switch 控制器。 在您的 Moonlight 客户端上使用几乎所有控制器!Nintendo Switch 仿真仅在 Linux 上可用。macOS 目前不支持游戏手柄模拟。Sunshine 提供了许多配置选项来自定义您的体验。
* [aseprite/aseprite](https://github.com/aseprite/aseprite) 动画精灵编辑器和像素艺术工具(Windows、macOS、Linux),主要特点是:精灵由层和帧组成,作为独立的概念。支持颜色配置文件和不同的颜色模式:RGBA、索引(最多 256 种颜色的调色板)、灰度。动画设施,实时预览和洋葱皮。将动画导出/导入到/从精灵表、GIF 文件或 PNG 文件序列(以及 FLC、FLI、JPG、BMP、PCX、TGA)中导出/导入动画。支持多个编辑器。用于组织工作的图层组,以及用于转描的参考图层。像素艺术特定工具,如像素完美手绘模式、着色墨水、自定义画笔、轮廓、宽像素等。其他特殊绘图工具,如压力敏感度、对称工具、描边和填充选择、渐变。平铺模式可用于绘制图案和纹理。同时转换多个帧/图层。Lua 脚本功能。CLI - 用于自动执行任务的命令行界面。快速参考/备忘单键盘快捷键(可自定义的按键和鼠标滚轮)。重新打开关闭的文件并在崩溃时恢复数据。每个操作的撤消/重做,并支持非线性撤消。
* [EmbarkStudios/rust-gpu](https://github.com/EmbarkStudios/rust-gpu) GPU 图形和计算着色器的一流语言和生态系统。编译和运行简单的着色器是有效的,核心库的很大一部分也可以编译。但是,许多事情尚未实现。这意味着,虽然在技术上可用,但该项目远未准备好投入生产。GitHub 上跟踪了对 Rust 和 SPIR-V 中特定功能的支持。从历史上看,在游戏中,GPU编程是通过编写HLSL或在较小程度上GLSL完成的。这些是简单的编程语言,多年来随着渲染 API 的发展而发展。然而,随着游戏引擎的发展,这些语言未能提供处理大型代码库的机制,并且与其他编程语言相比,它们通常落后于曲线。我们希望通过这个项目,通过将现有的、低级的、安全的、高性能的语言引入GPU来推动行业向前发展;即 Rust。随之而来的是一些不容忽视的额外好处:业界最好的封装/模块系统之一,内置安全对抗竞争条件或越界内存访问,各种工具和实用程序来改进程序员工作流程,以及许多其他工具和实用程序!
* [heroiclabs/nakama](https://github.com/heroiclabs/nakama) 用于社交和实时游戏和应用程序的分布式服务器。特征: 用户- 通过社交网络、电子邮件或设备 ID 注册/登录新用户。 存储- 将用户记录、设置和其他对象存储在集合中。 社交- 用户可以与朋友联系并加入群组。内置社交图以查看用户如何连接。 聊天- 用户之间的一对一、群组和全局聊天。保留聊天记录的消息。 多人游戏- 实时或回合制主动和被动多人游戏。 排行榜- 动态、季节性、获取顶级成员或用户周围的成员。需要多少就拥有多少。 锦标赛- 邀请玩家一起争夺奖品。将许多人联系在一起创建联盟。 派对- 在游戏中添加团队合作。用户可以组建队伍并与队伍成员进行交流。 购买验证- 验证应用内购买和订阅。 应用内通知- 向连接的客户端套接字发送消息和通知。 运行时代码- 使用 Lua、TypeScript/JavaScript 或本机 Go 代码编写的自定义逻辑扩展服务器。 匹配器、仪表板、指标等等。
* [PlayCover/PlayCover](https://github.com/PlayCover/PlayCover) 在支持鼠标、键盘和控制器的 Apple Silicon Mac 上运行 iOS 应用和游戏。旨在让您在运行 macOS 12.0 或更高版本的 Apple Silicon 设备上运行 iOS 应用程序和游戏。PlayCover 的工作原理是将应用程序放入模仿 iPad 的包装器中。这使应用程序能够在本地运行并表现得非常好。PlayCover 还允许您将自定义触摸控件映射到键盘,这在 Sideloadly 等其他侧载方法中是不可能的。这些控件包括所有必需品,包括 WASD、相机移动、左键和右键点击以及单独的键盘映射,类似于流行的 Android 模拟器的键盘映射系统,称为 Bluestacks。该软件最初设计用于在您的 Apple Silicon 设备上运行 Genshin Impact,但它现在可以运行各种应用程序。不幸的是,并非所有游戏都受支持,有些游戏可能有错误。
* [cocos/cocos-engine](https://github.com/cocos/cocos-engine) Cocos Creator是一个免费开源的跨平台游戏引擎,它简化了游戏创建和分发流程。Cocos Engine 是 Cocos Creator 编辑器的运行时框架,它继承了 Cocos 早期版本的高性能和跨平台优势,并提供了更直观的编辑器和更友好的协作工作流程。CocosCreator 支持原生平台、Web 平台和快速发展的即时游戏平台,包括 Windows、Mac、iOS、Android、HarmonyOS、Web、Facebook Instant Games、微信小程序和 TikTok 小程序。Cocos Creator 采用现代图形 API(如 Vulkan、Metal 和 WebGL),并使用 C++ 和 TypeScript 构建,以确保高性能和可扩展性。它还提供可定制的渲染管线、可扩展的表面着色器、基于物理的渲染 (PBR) 和易于使用的 TypeScript API,使开发者能够轻松创建高质量的 2D/3D 游戏和即时 Web 娱乐内容。
* [unknown-horizons/godot-port](https://github.com/unknown-horizons/godot-port) Unknown Horizons是一款2D即时战略模拟游戏,专注于经济和城市建设,其Godot引擎移植版正在开发中。该项目旨在将原有引擎移植到Godot 4,以解决原引擎的维护问题。玩家需要建立殖民地、收税、供应居民,并通过平衡的经济、贸易和外交策略来提升实力。该项目目前处于早期实验阶段,尚未发布可玩内容,但欢迎开发者、美术师、音效师和文档编写者加入。项目代码基于Godot 4,无需编译,可直接导入Godot引擎进行开发和测试。开发者可以参考原项目代码,并将其转换为适合Godot/GDScript的风格。项目社区活跃,可以通过Discord、Bug Tracker、IRC等渠道进行交流。该游戏是自由软件,使用GNU通用公共许可证版本2。
* [Interkarma/daggerfall-unity](https://github.com/Interkarma/daggerfall-unity) Daggerfall Unity是一个使用 Unity 引擎重建的开源 Daggerfall 游戏,由 Daggerfall Workshop团队开发。它保留了原版 Daggerfall 的魅力,并添加了数百项修复、生活质量改进和广泛的模组支持。玩家可以在跨平台(Windows/Linux/Mac)环境中体验 Daggerfall 的冒险和阴谋,享受现代引擎和光照带来的增强画面,可选地以复古模式(320x200 或 640x400)或高分辨率宽屏模式游玩。游戏支持模组,玩家可以自定义画面和玩法。Daggerfall Unity 需要免费的 DOS 版 Daggerfall 游戏才能运行,它包含所有必要的游戏资源,如纹理、3D 模型和音效。玩家可以从 Steam 或 Daggerfall Unity 的 Releases 页面获取免费的 DOS 版 Daggerfall 和 Daggerfall Unity。
* [love2d/love](https://github.com/love2d/love) LÖVE是一个用 Lua 编写的 2D 游戏框架,它免费开源,支持 Windows、macOS、Linux、Android 和 iOS 平台。LÖVE 使用其 wiki 进行文档记录,并提供论坛、Discord 服务器和 subreddit 供用户寻求帮助。项目使用 'main' 分支进行下一版本开发,并提供稳定版本的发布分支和标签。LÖVE 提供 GitHub 发布页面和 CI 接口下载构建文件,并提供 Ubuntu 和 Arch Linux 的 PPA 和 AUR仓库。LÖVE 的测试套件覆盖所有 API,并提供本地运行测试套件的命令。用户可以通过 issue tracker、Discord 服务器或 IRC 频道参与项目贡献,并需遵守代码风格指南。LÖVE提供 Windows、*nix 和 macOS 平台的编译指南,并提供 iOS 平台的依赖库下载和编译说明。
* [OpenDungeons/OpenDungeons](https://github.com/OpenDungeons/OpenDungeons) OpenDungeons是一款开源实时策略游戏,灵感源自 Dungeon Keeper 和 Evil Genius。玩家需要建造地下地牢,招募生物,通过间接指挥生物、直接施放法术和设置陷阱来与其他玩家争夺地下世界的控制权。该项目由热情的开发者和艺术家社区共同开发,经过 6 年多的开发,已经达到了可玩且令人愉快的状态。游戏提供单人模式和多人模式,玩家可以通过 F1 键查看游戏内帮助,或访问官方网站和论坛获取更多信息。想要参与开发的玩家可以访问 GitHub 项目页面,查看代码指南并贡献代码。项目代码依赖于 OGRE SDK、Boost、CEGUI SDK、SFML 和 OIS 等库,需要 CMake 2.8 或更高版本以及支持 C++11 特性的编译器。
* [NetHack/NetHack](https://github.com/NetHack/NetHack) NetHack 3.7 是经典地下城探索游戏 NetHack 的增强版,它继承了 Rogue 和Hack 的精髓,并在此基础上进行了一系列改进。目前该项目处于开发阶段,尚未正式发布。NetHack 3.7.0 旨在提升游戏的可移植性、可扩展性和可玩性,例如:通过 Lua 脚本替代传统的编译器,实现更灵活的游戏内容生成;使用更通用的文件格式保存游戏存档和骨骼文件,方便跨平台使用;添加“继续游戏”功能,方便玩家在不同设备间无缝切换。同时,NetHack 3.7 还修复了大量 bug,并引入了许多新功能,例如自动标记通往莫洛克圣殿的振动方块。欢迎开发者参与测试和贡献代码,共同打造更精彩的 NetHack 世界。
* [tomlooman/ActionRoguelike](https://github.com/tomlooman/ActionRoguelike) 这是一个基于虚幻引擎 C++ 开发的第三人称动作类 Roguelike 游戏项目,作为虚幻引擎 C++ 课程的项目,该项目逐步构建了一个完整的 Roguelike 游戏,包含了第三人称动作角色移动、增强型输入、动作系统(类似于 Gameplay Ability System 的设计)、属性组件、存档系统、事件驱动的逻辑、C++ 和蓝图的混合使用、GameplayTags、多人游戏支持、游戏模式逻辑、AI(行为树)、道具、UI 等功能,并包含一些实验性的功能,如聚合计时、Actor 池、异步线追踪等。该项目还包含一些优化设置,如 PSO 预缓存和捆绑 PSO 设置。该项目使用虚幻引擎 5.4 版本,并提供分支以支持旧版本的 UE4。
* [OpenXcom/OpenXcom](https://github.com/OpenXcom/OpenXcom) OpenXcom是一个开源的 X-COM 游戏克隆,基于 GPL 协议,使用 C++ 和 SDL 开发,它可以运行 Microprose 开发的经典游戏“UFO: Enemy Unknown” 和“X-COM: Terror From the Deep” 的资源文件。玩家需要提供原始游戏的资源文件,OpenXcom 会自动识别并使用它们。此外,OpenXcom 还支持各种模组,玩家可以在模组网站上找到并安装它们,以丰富游戏体验。游戏数据文件存储在三个目录中:用户目录(包含模组、存档和截图)、配置目录(包含游戏配置)和数据目录(包含游戏资源、标准模组和通用资源)。玩家可以通过命令行参数指定这些目录的路径,以实现更灵活的安装和配置。
* [CorsixTH/CorsixTH](https://github.com/CorsixTH/CorsixTH) CorsixTH是一个开源项目,是对 1997 年 Bullfrog 公司的商业模拟游戏 Theme Hospital 的重新实现。它不仅忠实地再现了原版游戏,还增加了对现代操作系统(Windows、macOS、Linux 和 BSD)的支持、高分辨率等功能。玩家可以通过 CorsixTH 享受完整的单人战役,包括所有疾病、物品、房间、事件、管理窗口、音乐和游戏视频等。此外,CorsixTH 还增加了自定义关卡和战役、全高清支持、缩放、自定义地图和关卡、无限存档、12 个自动存档槽、播放自定义音乐等新功能。目前,CorsixTH 仍然缺少一些功能,例如多人游戏、AI 医院、跳关作弊等,欢迎社区贡献者帮助完善。
* [id-Software/quake2-rerelease-dll](https://github.com/id-Software/quake2-rerelease-dll) 该项目是Quake II 2023年重制版的游戏代码,允许用户修改游戏。它包含了原始游戏代码以供参考,并使用新的API版本与服务器进行通信。重制版还引入了类似于Quake III Arena的“客户端游戏”模块,以扩展修改功能。该项目包含了原始游戏中的所有游戏模块,需要C++17编译器。由于游戏导出接口已更改,现有修改可能需要重新编写才能支持新的代码库。该项目已在Clang、VS2019和VS2022上测试,需要fmtlib和jsoncpp库,可以通过vcpkg安装。用户可以通过在游戏目录中创建一个名为“mymod”的子文件夹,并将代码复制到该文件夹的“src”子文件夹中来编译游戏DLL。
* [partykit/partykit](https://github.com/partykit/partykit) PartyKit是一个简化多人游戏应用开发的框架,它可以帮助开发者用一行代码即可构建多人游戏应用或为现有项目添加实时体验,同时处理操作复杂性和实时基础设施扩展。开发者可以使用 PartyKit 创建一个新的项目,或将 PartyKit 添加到现有的项目中,并通过 `npm run dev` 启动开发服务器,最终使用 `npm run deploy` 将应用部署到 PartyKit 云平台。项目文档、示例、API 参考、指南和发布说明都可以在官方网站和 GitHub 仓库中找到。开发者可以通过 GitHub 问题、Discord 频道和 Twitter 联系社区和支持团队,并积极参与贡献。PartyKit 采用 MIT 许可证。
* [stuntrally/stuntrally](https://github.com/stuntrally/stuntrally) Stunt Rally是一个基于 VDrift 和 OGRE 引擎的 3D 赛车游戏,拥有自己的赛道编辑器。该项目提供 202 条赛道,分布在 37 个场景中,并包含 25 种车辆。游戏模式包括单人比赛、挑战、锦标赛、教程、多人游戏和分屏模式。赛道编辑器允许创建和修改赛道。游戏支持 GNU/Linux 和 Windows 系统。游戏以拉力赛风格为主,主要在碎石路面上进行,并包含一些特技元素,例如跳跃、循环和管道。游戏还包含一些科幻车辆和星球。 该项目的新版本 Stunt Rally 3.0及更高版本已迁移至 [https://github.com/stuntrally/stuntrally3](https://github.com/stuntrally/stuntrally3)。
* [julianxhokaxhiu/FFNx](https://github.com/julianxhokaxhiu/FFNx) FFNx是一个针对最终幻想 VII 和最终幻想 VIII 的下一代模组平台,支持 Steam 2013 版本。它基于 FF7_OpenGL驱动程序,提供简单易用的拖放安装体验,内置 7th Heaven v2.3 及更高版本,支持最新的视频和音频编解码器,并提供 DirectX 11、DirectX 12、Vulkan 和 OpenGL 四种渲染后端,显著提升游戏体验。FFNx 支持高达 3.5GB 的 RAM 用于模组,提供高 DPI、HDR、抗锯齿、5.1/7.1 音频输出、Steam 支持、XInput 控制器支持、速度调节、外部音乐加载等功能,并针对最终幻想 VII 提供 60 FPS、eStore 支持、全屏战斗场景、电影音量控制等优化。
* [Meridian59/Meridian59](https://github.com/Meridian59/Meridian59) Meridian 59 是一个经典的 MMORPG 游戏,其源代码现已开源。该项目包含客户端、服务器、游戏代码、Blakod 编译器、房间编辑器等工具的源代码,但未包含 Miles Sound System 音频库的源代码。用户可以使用 Visual Studio 2022编译代码,并通过运行 blakserv.exe 启动服务器,运行 meridian.exe 启动客户端。用户需要自行获取游戏资源文件(如美术、房间、音频)并将其复制到客户端的资源目录。项目支持在 Linux 上运行,但需要手动修改配置文件。该项目使用 zlib、libpng 和 libarchive 等第三方库,并提供联系方式和网站链接。
* [SuperTux/supertux](https://github.com/SuperTux/supertux) SuperTux是一款受超级马里奥系列启发的跳跃闯关游戏,玩家需要在多个世界中奔跑跳跃,通过跳跃、撞击或投掷物品来战胜敌人,并收集路上出现的道具。游戏故事讲述了Tux的恋人Penny被邪恶的Nolok抓走,Tux为了营救Penny踏上了冒险之旅。SuperTux可在Windows、MacOS、GNU/Linux、Android、WebAssembly和Ubuntu Touch等多个平台上运行,并提供稳定版本供下载。用户可以在supertux.org或GitHub上找到下载链接,并使用平台提供的默认工具进行安装。游戏文档包括安装说明、README文件、更新日志、许可协议和人员名单等。
* [arx/ArxLibertatis](https://github.com/arx/ArxLibertatis) Arx Libertatis是一个跨平台的 Arx Fatalis 第一视角角色扮演游戏移植版本,基于公开发布的 Arx Fatalis 源代码。它使用 GPLv3+ 许可证发布,并提供了一些额外的条款。该项目提供网站、错误追踪器、IRC 频道、维基和 Reddit 页面供用户交流。Arx Libertatis 需要 C++17 编译器、CMake、zlib、Boost、GLM、FreeType、OpenAL、SDL、OpenGL 以及 libepoxy 或 GLEW 等依赖项。它还提供可选的崩溃报告功能,需要 Qt、libcurl、GDB 和 DbgHelp 等依赖项。用户可以通过 Git 构建项目,但需要额外的依赖项,例如 Inkscape、ImageMagick 和 OptiPNG。
* [wheybags/freeablo](https://github.com/wheybags/freeablo) freeablo是一个用现代技术重新实现的 Diablo 1 游戏引擎,它支持跨平台运行。该项目已存档,但仍可供下载和使用。freeablo 使用 C++ 编写,需要 Diablo 1 的原始数据文件才能运行。目前,玩家可以在城镇中四处走动,与 NPC交互,进入地下城,与怪物战斗,拾取战利品,买卖物品等。该项目仍在开发中,欢迎贡献者加入。用户可以通过 GitHub 页面下载预编译版本或自行编译。该项目使用 CMake 和 Hunter 进行构建,需要下载和编译一些第三方依赖项。用户可以使用 GitHub 的问题追踪器提交错误报告。
* [moonlight-stream/moonlight-qt](https://github.com/moonlight-stream/moonlight-qt) Moonlight PC是 NVIDIA GameStream 和Sunshine的开源 PC 客户端。Moonlight 还提供Android和iOS移动版本。特征:Windows、Mac 和 Linux 上的硬件加速视频解码;H.264、HEVC 和 AV1 编解码器支持(AV1 需要 Sunshine 和受支持的主机 GPU);YUV 4:4:4 支持(仅限Sunshine );HDR 流媒体支持;7.1 环绕声音频支持;10 点多点触控支持(仅限 Sunshine);游戏手柄支持力反馈和运动控制,最多可容纳 16 名玩家;支持指针捕获(用于游戏)和直接鼠标控制(用于远程桌面);支持将系统范围的键盘快捷键(例如 Alt+Tab)传递给主机
* [MovingBlocks/Terasology](https://github.com/MovingBlocks/Terasology) Terasology是一个开源的基于体素的沙盒游戏平台,源于一个受 Minecraft 启发的技术演示,并逐渐发展成为一个稳定的平台,支持各种类型的游戏玩法。该项目由软件开发人员、设计师、游戏测试人员、图形艺术家和音乐家组成,并鼓励社区参与。Terasology支持 Windows、MacOS 和 Linux(64 位)系统,并提供多种安装方式,包括通过官方网站下载预编译版本、从源代码编译以及使用 Docker 容器。用户可以通过社区论坛、Discord、Twitter、Facebook、Reddit 和 YouTube 等平台与开发者和社区成员互动。
* [unitystation/unitystation](https://github.com/unitystation/unitystation) Unitystation是一个基于 Unity 引擎开发的开源多人太空站模拟游戏,自 2016 年末开始活跃。玩家可以在游戏中扮演不同的角色,进行各种活动,例如探索、战斗、交易、建造等。项目代码主要使用 GNU AGPL v3 许可证,部分早期代码使用 GNU GPL v3 许可证。玩家可以通过 Steam 平台体验游戏,并通过 Patreon 支持项目。项目提供详细的贡献指南,鼓励玩家参与开发,并提供 Discord 频道供玩家交流。项目建议使用 SSD 硬盘运行 Unity 编辑器,首次导入项目可能需要较长时间,后续启动时间较短。
* [chocolate-doom/chocolate-doom](https://github.com/chocolate-doom/chocolate-doom) Chocolate Doom是一个极简且历史准确的 Doom 引擎移植版本,旨在准确地重现 Doom 及其衍生游戏的原始 DOS 版本,并使其能够在现代电脑上运行。它支持多种操作系统,并尽可能地还原原始 DOS 版本的行为,包括错误。Chocolate Doom 允许使用 DOS Doom 配置文件,并提供额外的配置选项。它还支持命令行参数,包括一些 DOS 版本不支持的选项。Chocolate Doom 允许通过合并 WAD 文件来玩 Total Conversions (TCs),并提供多种音乐播放选项。更多信息请访问 Chocolate Doom 网站:https://www.chocolate-doom.org/。
* [ciplogic/fheroes2enh](https://github.com/ciplogic/fheroes2enh) Free Heroes 2- Enhanced 是一个对经典游戏 Heroes 2 的引擎重制,包含 UI 和代码增强。项目目前已暂停开发,但仍接受简单的修复代码贡献。作者正在使用 JavaFX 重写游戏,旨在实现更易于调试和贡献的代码,并支持 Mac、4K 屏幕、2X 和4X 缩放。该项目已发布 1.0 版本,包含一键购买建筑、一键升级单位、快速战斗、性能提升等功能。用户可以在 Windows 上下载并使用,也可以通过 Chocolatey 安装。项目代码目前支持 Linux 和 Mac OS X,需要 CMake、C++ 编译器和 SDL 1.2 开发包。
* [tizian/Cendric2](https://github.com/tizian/Cendric2) Cendric是一款融合了RPG和平台跳跃元素的2D游戏,玩家将扮演一个失忆的男孩,探索充满魔法和危险的Admantris世界。游戏包含横向卷轴和俯视视角,玩家可以通过与NPC互动接受任务,在关卡中战斗、收集物品并完成平台跳跃挑战。Cendric可以学习不同魔法系的技能,并使用宝石对技能进行强化。游戏支持英语、德语和瑞士德语等语言,并包含粒子特效、水模拟和简单的灯光效果。Cendric已发布Windows、macOS和Ubuntu版本,并提供源代码,用户可以使用CMake编译游戏。
* [afritz1/OpenTESArena](https://github.com/afritz1/OpenTESArena) OpenTESArena 是一个正在开发中的开源项目,旨在用现代引擎重新实现1994 年的 DOS 游戏《上古卷轴:竞技场》。该项目的目标是使用全新代码库,尽可能地复制原版游戏的所有功能,同时进行一些提升游戏体验的改进。项目目前已实现所有地点和内部场景,玩家可以自由探索,但还无法与 NPC 交互,碰撞检测也需要改进。项目提供 Windows 版本,需要玩家自行下载《上古卷轴:竞技场》游戏资源,并配置游戏路径。项目还提供可选的音乐包,可增强游戏体验。
* [googleforgames/agones](https://github.com/googleforgames/agones) Agones 是一个开源库,可简化在 Kubernetes 上托管、运行和扩展专用游戏服务器的过程。它用 Kubernetes 集群取代了自定义解决方案,该集群包含 Agones 的自定义控制器和游戏服务器、队列等资源定义。Agones 允许您定义和管理游戏服务器和队列,监控它们的运行状况,并使用 Kubernetes 的原生自动扩展功能自动扩展它们。它还为运营团队提供特定于游戏服务器的指标和仪表板。您可以在 Agones 网站上找到文档,并通过 Slack、Twitter、邮件列表和社区会议参与其中。
* [m969/EGamePlay](https://github.com/m969/EGamePlay) EGamePlay是一个基于实体组件模式的轻量级战斗(技能)框架,支持使用ScriptableObject或Excel表格进行配置。该框架灵活、通用、易于扩展,并提供两种配置方式:ScriptableObject和Excel表格。EGamePlay 2.0版本对框架进行了重大改进,包括将SkillAbility和StatusAbility统一为Ability,简化了配置和管理。此外,AbilityConfigObject的配置方式也进行了优化,使用更直观的列表形式,方便开发者管理技能和状态。EGamePlay还提供了详细的文档和示例项目,方便开发者快速上手使用。
* [PCSX2/pcsx2](https://github.com/PCSX2/pcsx2) PCSX2 是一款免费的开源 PlayStation 2 (PS2) 模拟器。其目的是模拟 PS2 的硬件,结合使用 MIPS CPU 解释器、重新编译器和管理硬件状态和 PS2 系统内存的虚拟机。这使您可以在 PC 上玩 PS2 游戏,并具有许多附加功能和好处。PCSX2 已经开发了 20 多年。过去的版本只能运行一些公共领域的游戏演示,但较新的版本可以全速运行大多数游戏,包括《最终幻想 X》和《鬼泣 3》等热门游戏。访问 PCSX2 兼容性列表以检查游戏的最新兼容性状态(测试了 2500 多款游戏)。
* [a-b-street/abstreet](https://github.com/a-b-street/abstreet) 交通规划和交通模拟软件,用于创建更适合步行、骑自行车和公共交通的城市。曾经在公共汽车上堵车,想知道为什么有合法的路边停车位而不是专用的公交专用道?A/B Street 是一个项目,旨在规划、模拟和传达愿景,使城市对步行、骑自行车和乘坐公共交通的人们更加友好。我们创建软件来模拟交通、编辑街道和十字路口、规划自行车网络、创建低交通社区,并通过游戏向公众介绍 15 分钟的社区。多亏了 OpenStreetMap,该项目可以在世界任何地方运行。
* [azerothcore/azerothcore-wotlk](https://github.com/azerothcore/azerothcore-wotlk) 开源游戏服务器应用程序和框架,专为托管大型多人在线角色扮演游戏 (MMORPG) 而设计。它基于流行的 MMORPG 魔兽世界 (WoW),旨在重现 3.3.5a 补丁中原始游戏的游戏体验。原始代码基于 MaNGOS、TrinityCore 和 SunwellCore,此后进行了广泛的开发,以提高游戏的稳定性、游戏机制和模块化。AC 也已经成长为一个社区驱动的项目,拥有大量的贡献者和开发人员。它是用 C++ 编写的,为创建模仿官方魔兽世界服务器的机制和行为的私人服务器提供了坚实的基础。
* [fogleman/Minecraft](https://github.com/fogleman/Minecraft) 这是一个用 Python 和 Pyglet 编写的简单 Minecraft 风格的演示程序,它提供了一个类似 Minecraft 的游戏体验,包括移动、建造和飞行等功能。该项目的目标是成为一个教育工具,帮助孩子们学习编程。代码经过良好注释,易于配置,并提供了一个 API,允许用户自定义游戏参数,例如重力、跳跃速度和行走速度。用户可以通过 pip 安装 Pyglet,克隆 GitHub 项目并运行 main.py 来运行该程序。该项目还提供了一个 wiki 页面,帮助用户安装 Python 和其他相关软件。
* [endless-sky/endless-sky](https://github.com/endless-sky/endless-sky) Endless Sky是一款类似于Elite、Escape Velocity和Star Control的沙盒式太空探索游戏,玩家扮演一艘小型宇宙飞船的船长,可以自由选择探索星系、进行贸易、运送乘客、完成任务、打击海盗、参与内战,甚至离开人类空间,寻找更文明的外星文明。游戏包含主线剧情和许多支线任务,玩家可以选择完成剧情或自由发展成为商人、赏金猎人或探险家。游戏开源,使用CMake进行编译,支持多种平台,包括Windows、Linux和macOS。最低系统要求:750 MB内存、OpenGL 3.0。
* [colobot/colobot](https://github.com/colobot/colobot) Colobot: Gold Edition 是一个开源的机器人编程游戏,由 TerranovaTeam和社区贡献者基于 Epsitec 的原始游戏开发。该项目包含游戏的源代码,游戏数据文件则在另一个仓库中。Colobot 提供跨平台支持,玩家可以在任何现代操作系统上玩游戏。游戏包含新的游戏模式,例如 Missions+ 和 CodeBattles,玩家可以挑战自己或与朋友对战。游戏还支持 Mod,玩家可以从 ModDB 页面下载自定义关卡和资源。Colobot 拥有改进的视觉效果、生活质量改进、错误修复和其他改进。
* [nikita36078/J2ME-Loader](https://github.com/nikita36078/J2ME-Loader) J2ME-Loader是一款运行在Android平台上的J2ME模拟器,支持大多数2D和3D游戏,包括Mascot Capsule 3D游戏。模拟器拥有虚拟键盘、针对每个应用程序的独立设置和缩放支持。该项目基于J2meLoader项目,并感谢JL-Mod作者woesss对Mascot Capsule实现的开源贡献。J2ME-Loader支持Android 4.0及以上版本,可在Google Play和F-Droid上下载。项目提供测试过的Java游戏列表,并提供了一些使用技巧,例如禁用过滤功能以提高性能、启用“立即处理模式”选项以解决图像闪烁问题。
* [OpenDiablo2/OpenDiablo2](https://github.com/OpenDiablo2/OpenDiablo2) OpenDiablo2是一个开源项目,旨在重新实现 Diablo 2 游戏引擎。它使用Go 语言编写,支持跨平台运行。该项目提供了一个类似于 2000 年代游戏的 ARPG 游戏引擎,并支持运行 Diablo 2 游戏。用户需要拥有合法购买的 Diablo 2 和其扩展资料片Lord of Destruction 才能在该引擎上运行游戏。项目当前正在拆分为引擎+工具集(称为 Abyss Engine)和游戏项目(仍称为 OpenDiablo2)。项目文档涵盖了项目信息、用户指南和开发者指南,并提供了游戏截图和法律声明。
* [libretro/Lakka-LibreELEC](https://github.com/libretro/Lakka-LibreELEC) Lakka是一个轻量级的 Linux 发行版,可以将小型电脑变成功能齐全的模拟游戏主机。它基于 RetroArch 模拟器,支持多种硬件模拟,并提供诸如倒带、手柄热插拔和视频流等功能。Lakka 易于设置和使用,只需将游戏 ROM放入 SD 卡,连接手柄即可享受经典游戏。它支持 PS3 和 Xbox360 手柄,并尽可能降低硬件要求,即使在低端电脑上也能流畅运行。Lakka 是开源软件,代码托管在 Github 上,并接受外部贡献。更多信息请访问官网:https://www.lakka.tv/get。
* [AmbientRun/Ambient](https://github.com/AmbientRun/Ambient) Ambient是一个开源的跨平台游戏运行时和平台,用于在网页、桌面和其他地方构建、部署和分享高性能的多人游戏。Ambient基于Rust、WebAssembly (WASM) 和 WebGPU,它既是前沿的,又忠于其目标:让游戏开发既有趣又易于访问。Ambient运行时本身是一个可扩展的多人游戏引擎,具有实时数据库、自动同步、Rust 风格的互操作包、可配置的资产管道、WASM支持的隔离、PBR 渲染等功能。目前项目处于暂停状态,但可以关注其团队正在开发的Braindump项目。
* [teeworlds/teeworlds](https://github.com/teeworlds/teeworlds) Teeworlds是一款免费的在线多人射击游戏,支持所有主流操作系统。它支持最多16名玩家进行对战,并提供多种游戏模式,包括团队死亡竞赛和夺旗。玩家还可以设计自己的地图。该项目使用CMake和bam两种构建系统,支持Linux和macOS系统。开发者提供两种构建方法,并提供详细的依赖安装和构建步骤,用户可以选择使用CMake或bam进行构建。该项目提供两种构建方法,并提供详细的依赖安装和构建步骤,用户可以选择使用CMake或bam进行构建。
* [blinry/gish](https://github.com/blinry/gish) Gish是一款获奖的物理平台游戏,现在开源了。该项目提供了一个名为“FreeGish”的免费版本,包含一个关卡和一些资源。用户可以根据自己的喜好替换这些资源。项目支持Linux、Windows和Mac OS X系统。Linux系统需要安装CMake和SDL、OpenAL、Vorbis的开发库,Windows系统需要下载并安装SDL、SDL_mixer、libogg、libvorbis和OpenAL,Mac OS X系统需要在Xcode项目中配置Cocoa、SDL、OpenAL、Ogg、Vorbis框架和libpng库。用户可以通过运行`./gish`或`gish.exe`来玩游戏。
* [OpenXRay/xray-16](https://github.com/OpenXRay/xray-16) OpenXRay是 GSC Game World 开发的著名游戏系列《S.T.A.L.K.E.R.》中使用的 X-Ray 引擎的改进版本。该项目旨在提供一个可替代原版引擎的方案,支持所有三款游戏(SOC/CS/COP),修复原版游戏中的错误,并为模组制作提供一个坚实的基础。OpenXRay 支持 64 位系统,并可在 Linux、macOS、OSL 等平台上运行,还包括一个新的 OpenGL 渲染器,提升了性能和 FPS,并提供游戏手柄支持。该项目目前正在开发新的游戏 SDK,并提供详细的文档和社区支持。
* [Relintai/broken_seals](https://github.com/Relintai/broken_seals) BrokenSeals是一款开源的第三人称多人在线动作角色扮演游戏,旨在打造媲美经典MMO和动作RPG的复杂深度游戏体验。它基于作者自定义的Godot引擎Pandemonium Engine开发,支持单人和多人模式,已发布可执行文件和网页版(网页版编辑器功能受限)。目前游戏内容仍在开发中,计划增加更多模型、音效、区域、职业和功能,例如多世界支持和改进多人游戏功能,已实现的功能包括多人服务器、角色技能、装备系统、天赋树等。
* [stuntrally/stuntrally3](https://github.com/stuntrally/stuntrally3) Stunt Rally3 是一个 3D 赛车游戏,包含科幻元素和自己的赛道编辑器,可在 GNU/Linux 和 Windows 上运行。游戏采用拉力赛风格的驾驶和滑行,主要在碎石和松散的路面上进行,并包含跳跃、循环、管道等特技元素。游戏包含许多科幻车辆和不同的星球,甚至超现实的场景。所有赛道和车辆都可以在网站上浏览。Stunt Rally 3.x 基于 Ogre-Next 3.0 进行渲染,使用 VDrift 进行模拟,并提供单人比赛、挑战、锦标赛、教程等游戏模式。
* [pioneerspacesim/pioneer](https://github.com/pioneerspacesim/pioneer) Pioneer是一款开放式太空冒险游戏,设定在31世纪的银河系。玩家可以自由探索数百万个星系,登陆行星,绕过气态巨行星,甚至在双星系统之间穿梭。玩家可以选择成为海盗、商人或加入不同派系完成任务,并参与权力、自由或自决的斗争。项目提供多种资源,包括官方网站、社区论坛、维基百科和开发文档,方便玩家获取游戏信息、参与社区互动和贡献代码。最新版本可以在官方网站下载,也可以从源代码编译。
* [OpenMW/openmw](https://github.com/OpenMW/openmw) OpenMW是一个开源的开放世界 RPG 游戏引擎,支持运行 Bethesda Softworks 的《上古卷轴 3:晨风》。你需要拥有游戏的正版才能使用 OpenMW 运行《晨风》。OpenMW 还附带了 OpenMW-CS,它是 Bethesda 的 Construction Set 的替代品。目前版本为0.49.0,已实现《晨风》、《血月》和《法典》的主要任务,部分支线任务可能存在问题。你可以访问项目网站 (https://www.openmw.org) 或加入 Discord 频道 (https://discord.gg/bWuqq2e) 获取更多信息。
* [arianne/stendhal](https://github.com/arianne/stendhal) Stendhal是一款免费、开放源代码的在线多人冒险游戏,拥有复古风格。游戏提供丰富的世界,玩家可以探索城镇、建筑、平原、洞穴和地下城,与NPC互动,完成任务和获取经验值。玩家可以通过升级提升角色能力,购买装备,并与怪物战斗。Stendhal支持多种平台,包括网页浏览器、移动设备和经典桌面客户端,玩家可以根据自己的喜好选择游戏方式。游戏代码完全开源,玩家可以自由下载、修改和分享。
* [tgstation/tgstation](https://github.com/tgstation/tgstation) tgstation是 SpaceStation 13 的一个分支,是一款以太空站为背景的、充满反讽和死亡陷阱的回合制角色扮演游戏。该项目提供游戏代码,玩家可以在充满危险和趣味的科幻环境中体验生存挑战。项目提供多种资源,包括网站、维基、代码文档和Discord 频道,方便玩家和开发者参与。开发者可以使用提供的指南进行下载、编译和运行服务器,并参与贡献。项目代码采用开源许可,并提供设计文档和相关资源。
* [widelands/widelands](https://github.com/widelands/widelands) Widelands是一款免费开源的即时战略游戏,提供单人战役和多人模式。游戏灵感来自 Settlers II™,但拥有更多样化和更深度的玩法。它支持 Linux、Windows 和 MacOS 平台,并提供详细的编译文档。玩家需要安装包括 libSDL、libSDL_image、libSDL_mixer、libSDL_ttf、gettext、libiconv、zlib、libpng、Asio、Python 和 libglew 等依赖项。可以使用提供的脚本或 CMake 进行编译,并提供多种编译选项,例如创建发布版或调试版。
* [ejoy/ant](https://github.com/ejoy/ant) Ant是一款轻量级开源游戏引擎,它提供跨平台支持,包括 Windows、macOS和 Linux。Ant 的设计目标是简化游戏开发,它使用 Lua作为脚本语言,并提供了一套易于使用的 API。Ant 提供了丰富的功能,包括图形渲染、物理引擎、音频系统、网络通信等,并支持多种 3D 模型格式。开发者可以使用 Ant 快速构建游戏原型,并将其发布到多个平台。Ant 的源代码在 GitHub 上公开,开发者可以自由使用和修改。
* [frogatto/frogatto](https://github.com/frogatto/frogatto) Frogatto & Friends是一款以一只古怪青蛙为主角的动作冒险游戏,旨在将 2D 平台跳跃、像素艺术和音乐推向新的领域。游戏使用 Anura 引擎开发,这是一个灵活且高性能的 2D 游戏引擎,适用于各种 2D 游戏,并针对像素艺术和图形效果进行了优化。该项目包含 Frogatto 模块,并提供下载页面和源代码构建说明。游戏源代码采用开源许可证,并已用于其他游戏项目,例如 Cube Trains 和 Argentum Age。
* [Zelda64Recomp/Zelda64Recomp](https://github.com/Zelda64Recomp/Zelda64Recomp) Zelda 64: Recompiled 是一个使用 N64: Recompiled 静态重编译《塞尔达传说:时之笛》和《塞尔达传说:姆吉拉的假面》的项目,将游戏移植到 PC 平台(Windows/Linux),并提供许多新功能和增强功能。该项目使用 RT64 作为渲染引擎,提供了一些增强功能,例如高帧率支持、宽屏和超宽屏支持、双模拟摇杆相机、陀螺仪瞄准等。项目无需用户单独提取游戏资源,只需提供北美版游戏即可直接运行。
* [Warzone2100/warzone2100](https://github.com/Warzone2100/warzone2100) Warzone 2100 是一款免费开源的 3D 实时战略游戏,玩家需要指挥“The Project”的力量,在核导弹摧毁世界后重建家园。游戏于 1999 年发布,由 Pumpkin Studios 开发,并在 2004 年由 Eidos 与 Pumpkin Studios合作,根据 GNU GPL 协议发布了游戏源代码,包括所有内容,除了音乐和游戏视频序列。目前支持 Linux、Windows 和 macOS 平台,据报道也支持 BSD。用户可以在官网 https://wz2100.net 下载最新稳定版本。
* [mamedev/mame](https://github.com/mamedev/mame) MAME是一个多用途的模拟器框架,旨在通过文档化硬件及其功能来保存数十年的软件历史。MAME 的源代码作为文档,可验证其准确性。MAME 最初是用于模拟街机游戏,后来吸收了 MESS 项目,现在还模拟各种计算机、游戏机和计算器。MAME支持多种平台,包括 Linux、macOS 和 Windows,并提供预编译的版本和构建环境。用户可以访问官方网站、维基和测试网站获取更多信息,并参与贡献。
* [w84death/Tanks-of-Freedom](https://github.com/w84death/Tanks-of-Freedom) Tanks of Freedom是一款经典的回合制策略游戏,玩家操控两个军队进行对抗。游戏拥有精美的手绘像素风格,原声音乐和音效也十分出色。玩家可以在战役模式中挑战AI,或与朋友进行热座对战。游戏还提供地图编辑器,玩家可以创建自定义场景并在线分享。游戏开源,使用Godot引擎开发,支持Windows、Linux、OSX、Android等平台。游戏已停止开发,但作者推出了续作Tanks of Freedom II。
* [BayatGames/RedRunner](https://github.com/BayatGames/RedRunner) Red Runner是一款平台跳跃游戏,现已开源免费。玩家需要操控红色角色,在各种平台上跳跃前进,躲避障碍物,收集道具,最终到达终点。该游戏使用Unity引擎开发,并包含了丰富的游戏元素,如关卡设计、角色动画、音效等。项目代码开源,开发者可以学习游戏开发技巧,并根据自身需求进行修改和扩展。游戏资源可从GitHub或Itch.io下载,并提供游戏截图和预告片供参考。
* [CleverRaven/Cataclysm-DDA](https://github.com/CleverRaven/Cataclysm-DDA) Cataclysm: Dark Days Ahead 是一款回合制生存游戏,设定在一个末日后的世界。玩家需要在残酷、持久、随机生成的世界上生存,搜寻食物、装备,甚至找到一辆油箱满的汽车逃离。玩家需要与各种强大的怪物战斗,包括僵尸、巨型昆虫、杀人机器人,以及比它们更奇怪、更致命的生物,还需要与其他幸存者争夺资源。游戏支持多种平台,包括 Windows、Linux、macOS 和Android。
* [bottlesdevs/Bottles](https://github.com/bottlesdevs/Bottles) Bottles是一款运行在Linux上的Windows软件和游戏运行环境,它允许用户在Linux系统上运行Windows应用程序。Bottles使用Flatpak进行打包和分发,用户可以通过Flathub安装。Bottles支持多种Windows应用程序,包括游戏、办公软件和开发工具。用户可以通过Bottles的官方网站获取文档、论坛和Discord社区支持。Bottles的代码遵循GNOME行为准则,用户需要在所有Bottles空间内遵守该准则。
* [gerstrong/Commander-Genius](https://github.com/gerstrong/Commander-Genius) Commander Genius是一个开源的 Commander Keen (1-6, Dreams) 和 Cosmos Cosmic游戏解释器,允许玩家体验原始游戏和一些模组。该项目支持 Linux/X11/Wayland、Windows、MacOs、Android 和 Switch 等平台,并提供在线商店下载部分游戏。项目特色包括模组支持、OpenGL 加速、SDL 2.0 支持、多人游戏支持、高品质资源包等,旨在尽可能地还原原始游戏体验,并利用现代硬件带来更流畅的体验。
* [flybywiresim/aircraft](https://github.com/flybywiresim/aircraft) FlyByWire SimulationsA32NX 项目是一个社区驱动的开源项目,旨在为 Microsoft Flight Simulator创建一个尽可能接近现实的免费空中客车 A320neo。该项目模拟了 A320neo 的真实配置,包括 CFM LEAP 1A-26 发动机、Honeywell FMS 和其他系统。用户可以在 FlyByWire Simulations 网站下载飞机,并参考文档进行安装和使用。项目欢迎社区贡献,用户可以在 GitHub 上报告问题或提出新功能请求。
* [Hopson97/MineCraft-One-Week-Challenge](https://github.com/Hopson97/MineCraft-One-Week-Challenge) 这是一个用C++和OpenGL在短短一周内完成的类似Minecraft的体素游戏项目。项目包含了基本的渲染引擎、第一人称视角相机、块编辑功能,以及16x16个区块的区域。项目还包含了不同阶段的代码版本,包括一个具有良好图形效果和昼夜循环的版本,以及一个经过优化的版本。项目提供详细的构建说明,以及每天的开发进度记录,包括代码行数和开发时间。
* [googleforgames/open-match](https://github.com/googleforgames/open-match) Open Match是一个开源的游戏匹配框架,旨在简化构建可扩展和可扩展的匹配器。它旨在让游戏开发者完全控制如何进行匹配,同时消除处理大规模生产服务挑战的负担。Open Match 提供灵活性和可扩展性,允许开发者自定义匹配逻辑和集成各种游戏服务。项目提供详细的文档、演示说明和贡献指南,并提供 Slack 频道、问题跟踪器和邮件列表等支持渠道。
* [PokeAPI/pokeapi](https://github.com/PokeAPI/pokeapi) PokeAPI是一个基于 RESTful 架构的 Pokémon 数据 API,提供访问 Pokémon 游戏数据的功能,并支持 GraphQL 查询。用户可以通过简单的 API 请求获取 Pokémon 的信息,如名称、类型、技能等。项目提供多种部署方式,包括本地环境、Docker 和 Kubernetes,并提供数据库构建和维护工具。用户可以根据自己的需求选择合适的部署方式,并轻松获取 Pokémon 数据。
* [The-Powder-Toy/The-Powder-Toy](https://github.com/The-Powder-Toy/The-Powder-Toy) ThePowder Toy 是一款免费的物理沙盒游戏,使用 C++ 和 SDL开发,模拟空气压力、速度、热量等物理现象。玩家可以利用各种材料、液体、气体和电子元件构建复杂的机器、武器、炸弹、地形等,并观察它们之间的相互作用。游戏还提供Lua API,允许玩家自动化操作或制作插件。源代码采用 GNU 通用公共许可证发布,玩家可以修改游戏或参与开发。
* [Wargus/wargus](https://github.com/Wargus/wargus) Wargus是一个魔兽争霸2 模组,它允许你使用 Stratagus 引擎来玩魔兽争霸2。游戏画面和音效与魔兽争霸2完全一致,玩法非常接近魔兽争霸2,并略微增强了星际争霸的元素。你可以在 [https://stratagus.com](https://stratagus.com) 上找到更多关于 Wargus 的信息以及如何在 Linux、Windows 和 Mac 上安装它。该项目支持 Windows、Linux 和OSX 平台,并提供翻译功能。
* [OpenFodder/openfodder](https://github.com/OpenFodder/openfodder) Open Fodder是一个开源的 Cannon Fodder 游戏引擎,支持现代操作系统,玩家可以通过它在浏览器中体验经典的射击策略游戏。它提供了一个 Javascript 解释器,用于创建随机地图,并包含一些脚本,例如随机放置人质、救援帐篷和直升机。用户可以根据需要对脚本进行自定义和扩展。该项目还提供了一个地图编辑器,方便玩家创建自己的关卡。
* [vcmi/vcmi](https://github.com/vcmi/vcmi) VCMI是一个开源项目,旨在重现《英雄无敌3》游戏引擎,并提供更多功能。它支持 Windows、macOS、Linux、Android 和 iOS平台,并提供多种语言支持。VCMI 提供了可视化的地图编辑器,并允许玩家自定义游戏规则和内容。项目主页:https://vcmi.eu/,论坛:https://forum.vcmi.eu/,最新版本可在 GitHub Releases 页面获取:https://github.com/vcmi/vcmi/releases/latest。
* [Scighost/Starward](https://github.com/Scighost/Starward) Starward是一个开源的米哈游游戏启动器,旨在替代官方启动器,并提供更流畅的用户体验。它支持所有米哈游 PC 游戏,并提供一些额外功能,例如游戏时间记录、账号切换、游戏截图查看和抽卡记录保存等。Starward 针对官方启动器存在的界面模糊、资源验证速度慢等问题进行了优化,并使用了 Web 技术构建界面,使其更加灵活和易用。
* [triplea-game/triplea](https://github.com/triplea-game/triplea) TripleA是一款开源的回合制策略游戏引擎,类似于《轴心国与同盟国》或《风险》,玩家可以创建自定义地图和场景,并与AI或其他玩家进行游戏。TripleA拥有丰富的历史和奇幻场景,例如二战、拿破仑战争、中土世界等,并提供活跃的社区和支持,玩家可以参与游戏开发、贡献地图和场景等。TripleA使用GNU通用公共许可证v3.0进行开源。
* [OpenEmu/OpenEmu](https://github.com/OpenEmu/OpenEmu) OpenEmu 是一个开源项目,其目的是将 macOS 游戏仿真带入一等公民的领域。该项目利用了现代 macOS 技术,例如 Cocoa、Metal、Core Animation 和其他第三方库。一个第三方库示例是 Sparkle,它用于自动更新。OpenEmu 使用模块化架构,允许使用游戏引擎插件,使 OpenEmu 能够支持许多不同的仿真引擎和后端,同时保留熟悉的 macOS 原生前端。
* [miki151/keeperrl](https://github.com/miki151/keeperrl) KeeperRL是一个 roguelike 地牢守护游戏,玩家需要建造和管理地牢,抵御冒险者的入侵。该项目提供游戏的源代码,可在 Windows、Linux 和 Mac 平台上编译。编译需要满足一定的依赖环境,例如 GCC 或 Clang 编译器、SDL2 库等,具体依赖项请参考项目 README 文件。项目提供编译步骤,用户可通过 Git 克隆代码并使用 make 命令进行编译。
* [VickScarlet/lifeRestart](https://github.com/VickScarlet/lifeRestart) LifeRestart 是一个游戏,旨在让玩家体验重生的概念,并鼓励玩家在新的生命中做出更好的选择。该项目提供网页版和命令行版本,玩家可以通过克隆代码、安装依赖项并启动本地服务器来体验网页版,也可以通过命令行运行游戏。此外,该项目还提供Cocos 版本,玩家可以在 Cocos 平台上体验游戏。更多信息请参考项目文档。
* [0ad/0ad](https://github.com/0ad/0ad) 0A.D. 是一款免费开源的跨平台古代战争实时策略游戏,目前仍在开发中。游戏提供预编译的 Windows 版本,也可以从源代码编译。开发者可以通过 Trac 网站提交错误报告,并参与代码和美术资源的贡献。游戏支持多种语言,并鼓励玩家参与翻译工作。更多信息请访问官网 http://play0ad.com/ 或论坛 http://www.wildfiregames.com/forum/。
* [PojavLauncherTeam/PojavLauncher](https://github.com/PojavLauncherTeam/PojavLauncher) 基于 Boardwalk 的 Minecraft: Java Edition Launcher for Android 和 iOS。此存储库包含 Android 平台的源代码。PojavLauncher 是一个启动器,可让您在 Android 设备上玩 Minecraft: Java Edition!它几乎可以运行Minecraft的所有版本,仅允许您使用.jar安装程序来安装Forge和Fabric等modloaders,OptiFine和LabyMod之类的mods,以及Wurst之类的黑客客户端等等!
* [scarsty/kys-cpp](https://github.com/scarsty/kys-cpp) 这是一个使用SDL2库开发的《金庸群侠传》C++复刻版,已完成。该项目基于DOS游戏《金庸群侠传》改编,并加入了现代化的游戏机制,例如战斗系统、地图系统等。玩家可以自由选择不同的战斗模式,并通过修改配置文件来调整游戏难度。项目代码已开源,并提供详细的编译教程,玩家可以自行编译运行。
* [notapixelstudio/starship-olympics](https://github.com/notapixelstudio/starship-olympics) Starship Olympics是一款快节奏的本地多人派对游戏,玩家驾驶星际飞船在2D俯视角竞技场中战斗。游戏支持1-4名玩家,采用直观的单键操控,易于上手。它包含20多种游戏模式(持续开发中),提供单人、对战和合作模式,并完全免费且开源。玩家将扮演来自不同种族的飞行员,在星际运动会中争夺冠军。
* [citybound/citybound](https://github.com/citybound/citybound) Citybound是一款正在开发中的开源多人城市模拟游戏,专注于现实主义、协作规划和微观细节模拟。它由独立开发者开发,开源并通过 Patreon资助。项目主页提供截图和视频,最新版本可供 Windows、Mac 和 Linux 用户下载。项目还提供详细的设计文档,包括计划、灵感和参考,以及 AGPL 许可证和贡献指南。
* [dalerank/caesaria-game](https://github.com/dalerank/caesaria-game) CaesarIA是一个开源的城市建设和经济策略游戏,它是对经典游戏 Caesar III 的重制。它使用 SDL2 引擎,支持 Windows、Mac、Linux 和 Android平台。游戏目前处于开发阶段,但可玩性很高,玩家可以下载并体验。游戏需要从原始 Caesar III 游戏中复制资源文件,并使用cmake 进行编译。更多信息请访问项目网站。
* [0xFA11/GameNetworkingResources](https://github.com/0xFA11/GameNetworkingResources) 这是一个精心整理的多人游戏网络编程资源列表,涵盖了游戏网络编程的关键概念和技术,包括延迟、抖动和丢包的处理方法,以及预测、补偿、协调、插值等技术。该项目还包含了大量文章和博客,涉及游戏网络编程的各个方面,例如 TCP/UDP选择、网络架构设计、游戏服务器架构、延迟补偿等。
* [hedgewars/hw](https://github.com/hedgewars/hw) Hedgewars是一款回合制策略游戏,玩家控制一支最多8只刺猬的队伍,使用超过40种武器攻击并消灭对手的刺猬,最终获胜。游戏特色包括:丰富的武器系统,爆炸特效会改变地形,多种移动方式,以及时间限制的回合制玩法。游戏支持单人模式和多人模式,并提供多种训练任务帮助玩家熟悉游戏。
* [space-wizards/space-station-14](https://github.com/space-wizards/space-station-14) Space Station 14 是一个多人太空站模拟游戏,以混乱和猜疑为主题,是经典游戏 Space Station 13 的重制版。游戏基于 Robust Toolbox引擎开发,玩家可以在一个充满危险和机遇的太空站中扮演各种角色,并体验各种事件和互动。该项目提供详细的文档和指南,欢迎贡献者加入开发,并提供多种语言版本。
* [P1X-in/tanks-of-freedom-ii](https://github.com/P1X-in/tanks-of-freedom-ii) Tanksof Freedom II是一款等距像素风格的开放源码回合制策略游戏,最多支持四支军队对战,包含单人战役和双人热座模式。游戏采用Godot Engine 4.2+开发,其精美的32色像素模型和在GameBoy硬件上制作的音效是其特色,并提供内置地图编辑器方便玩家创作和分享地图。项目进度可在Trello看板上追踪。
* [MegaGlest/megaglest-source](https://github.com/MegaGlest/megaglest-source) MegaGlest是一个开源的跨平台3D即时战略游戏引擎,它提供了一个免费的、娱乐性的游戏体验,玩家可以控制七个不同阵营的军队,在17个自然环境中进行战斗。游戏拥有精美的模型和细节,并提供大量免费下载的额外游戏数据。该项目提供开发教程和Git工作流程指南,方便用户自行编译游戏。
* [supertuxkart/stk-code](https://github.com/supertuxkart/stk-code) SuperTuxKart是一个免费的卡丁车竞速游戏,注重趣味性而非真实物理效果。项目代码库包含游戏的所有源代码,支持Linux、Apple、Windows和Switch平台。游戏需要支持3D渲染的显卡、双核CPU、512MB显存、1GB内存和700MB磁盘空间。软件使用GNU通用公共许可证(GPL)发布,可在项目仓库中找到构建说明。
* [freeminer/freeminer](https://github.com/freeminer/freeminer) Freeminer是一款受Minecraft启发的开源沙盒游戏,基于Minetest开发,旨在提供有趣的游戏体验。它可以在Android、Windows、Ubuntu、Arch Linux、FreeBSD和openSUSE等多个平台上运行,并提供丰富的游戏控制选项。用户可以通过官网和论坛获取更多信息,并通过提供的命令行指令在不同平台上编译安装游戏。
* [godotengine/godot](https://github.com/godotengine/godot) 一个功能丰富的跨平台游戏引擎,用于从统一界面创建 2D 和 3D 游戏。它提供了一套完善的常用工具,让用户可以专注于制作游戏,而无需重新发明轮子。游戏可以一键导出到多个平台,包括主要的桌面平台(Linux、macOS、Windows)、移动平台(Android、iOS),以及基于 Web 的平台和控制台。
* [ZeroK-RTS/Zero-K](https://github.com/ZeroK-RTS/Zero-K) Zero-K是一个开源的即时战略游戏,使用 Spring/Recoil 引擎,拥有物理弹道、智能单位和强大的用户界面。该项目仅包含游戏模块文件,其他基础设施代码、工具和素材资源请在其他仓库中查找。要玩游戏,您需要下载大厅程序。游戏开发指南请访问:https://zero-k.info/mediawiki/Zero-K:Developing。
* [SimHacker/micropolis](https://github.com/SimHacker/micropolis) 这是一个基于GPL协议开源的Micropolis项目,源代码基于Maxis的经典游戏SimCity,由Will Wright设计编写。该项目提供Micropolis游戏的源代码,并包含相关的文档、新闻、开发计划和资产列表。项目还提供Micropolis公共名称许可协议,以及关于游戏机制、城市规划历史和参考资料的详细文档。
* [RigsOfRods/rigs-of-rods](https://github.com/RigsOfRods/rigs-of-rods) Rigs of Rods是一个免费的软体物理模拟器,主要用于模拟车辆物理特性,基于质量-弹簧-阻尼理论。它支持 Windows 和 Linux平台,并提供丰富的功能,例如车辆破坏、可定制的车辆和环境,以及多人游戏模式。你可以通过官方网站、文档、开发者 Wiki、论坛和 Discord 了解更多信息。
* [cocos2d/cocos2d-x](https://github.com/cocos2d/cocos2d-x) 开源、跨平台的游戏开发工具,被全球数百万开发者使用。它的核心已经发展成为 Cocos Creator 1.x 和 2.x 的基础。用于构建 2D 游戏、交互式书籍、演示和其他图形应用程序。它基于 cocos2d-iphone,但它没有使用 Objective-C,而是使用 C++。它适用于 iOS、Android、macOS、Windows 和 Linux。
* [cflavio/yorg](https://github.com/cflavio/yorg) Yorg是一款由Ya2使用Panda3D开发的开源赛车游戏,支持Windows、OSX和Linux系统,需要Python 3.x环境。Yorg使用yyagl和yracing子模块,需要递归克隆项目。安装后,运行`python setup.py images lang models`创建游戏资源,并使用Panda3D的部署工具创建游戏构建包。游戏截图展示了赛车游戏的画面。
* [angband/angband](https://github.com/angband/angband) Angband是一款免费的单人地下城探险游戏,玩家使用文字字符来代表地牢的墙壁、地板和里面的生物,类似于 NetHack 和 Rogue等游戏。游戏提供了图形界面,玩家可以通过按下“?”键获取游戏内帮助。你可以从官方网站下载安装或自行编译,游戏指南和论坛可提供更多帮助。
* [feisuzhu/thbattle](https://github.com/feisuzhu/thbattle) 这是一个基于东方Project的“三国杀”桌游克隆项目,使用Python开发。项目目前处于核心代码阶段,包含游戏逻辑、游戏服务和后端服务。由于使用了商业引擎,无法公开发布。项目特色是基于东方Project的人物和设定,玩家可以体验东方Project角色的独特技能和战斗方式。
* [RPCS3/rpcs3](https://github.com/RPCS3/rpcs3) 世界上第一个免费的开源 PlayStation 3 模拟器/调试器,用 C++ 编写,适用于 Windows、Linux、macOS 和 FreeBSD。您可以在我们的网站上找到一些基本信息。游戏信息正在 Wiki 上填充。有关此模拟器、PS3 仿真和游戏兼容性报告的讨论,请访问我们的论坛和我们的 Discord 服务器。
* [justinmeister/Mario-Level-1](https://github.com/justinmeister/Mario-Level-1) 这是一个用 Python 和 Pygame 制作的超级马里奥兄弟第一关游戏,玩家可以使用方向键控制马里奥移动,使用“a”键跳跃,使用“s”键进行攻击或奔跑。该项目需要 Pygame 库,并提供 Python 2 和 Python 3 版本的安装说明,以及视频演示。该项目仅供非商业教育目的使用。
* [Revolutionary-Games/Thrive](https://github.com/Revolutionary-Games/Thrive) Thrive是一款进化类游戏,其代码库位于此GitHub项目中。该游戏使用C#和Godot引擎开发,项目包含游戏资源、文档、脚本和测试等,并支持Git LFS管理大型资源文件。开发者可通过贡献指南参与开发,并可通过项目提供的链接访问社区论坛、开发者Wiki以及翻译平台。
* [stride3d/stride](https://github.com/stride3d/stride) Stride (原名 Xenko) 是一款免费开源的跨平台 C# 游戏引擎,支持逼真的渲染和 VR。它高度模块化,旨在为游戏开发者提供更大的开发灵活性。Stride 自带一个编辑器,允许您以直观的方式创建和管理游戏或应用程序的内容。您可以访问 stride3d.net 了解更多信息。
* [godotengine/awesome-godot](https://github.com/godotengine/awesome-godot) AwesomeGodot 是一个精选的 Godot 游戏、插件、附加组件和脚本列表,包含免费/自由软件。该项目包含 2D 和 3D游戏、项目模板、演示、教程、插件和脚本、模块、GDScript/C# 编辑器支持、Godot 脚本编辑器语法主题、非官方 Godot 版本、Bash 脚本、网站和其他资源。
* [TrinityCore/TrinityCore](https://github.com/TrinityCore/TrinityCore) TrinityCore 是一个主要基于 C++ 的MMORPG框架。它源自MaNGOS (大规模网络游戏对象服务器) ,并基于该项目的代码,随着时间的推移进行了广泛的更改,以优化、改进和清理代码库,同时改进游戏内的机制和功能。它是完全开源的;强烈鼓励社区参与。
* [openblack/openblack](https://github.com/openblack/openblack) openblack是一个开源游戏引擎,可以用来运行《黑与白 (2001)》。它使用现代 C++ 和现代渲染引擎(OpenGL、Vulkan)编写,需要使用原始游戏资源才能运行。项目提供预编译的二进制文件,支持 Windows、macOS、Linux 等平台,以及实验性的Android、iOS 等平台。
* [dyang886/Game-Cheats-Manager](https://github.com/dyang886/Game-Cheats-Manager) Game Cheats Manager 为玩家提供了一个高效管理游戏修改器的一站式解决方案。它允许用户在一个便捷的位置浏览、下载和管理所有修改器。每个修改器,通常是一个独立的可执行文件,都可以通过应用程序直接启动或删除,从而简化您的游戏体验。
* [Orama-Interactive/Pixelorama](https://github.com/Orama-Interactive/Pixelorama) Pixelorama是一款功能强大的开源像素艺术多功能工具,支持创建精灵、图块、动画等,可在Windows、Linux、macOS和网页上使用。它提供丰富的功能,让您轻松实现像素完美的梦想。该项目提供稳定版和抢先体验版下载,并有活跃的Discord社区支持。
* [screeps/screeps](https://github.com/screeps/screeps) 用于编写游戏 Screeps 的独立服务器。Screeps 是一款面向程序员的 MMO RTS 沙盒游戏,其中核心机制是为您的单位 AI 编程。你通过编写 JavaScript 来控制你的殖民地,这些 JavaScript 在由与你同等的其他玩家填充的单一持久世界中 24/7 全天候运行。
* [wheremyfoodat/Panda3DS](https://github.com/wheremyfoodat/Panda3DS) Panda3DS 是一款用 C++ 编写的 HLE、以小熊猫为主题的 Nintendo 3DS 模拟器,最初是一个出于好奇的有趣项目,但后来演变成可以玩游戏的东西!我们尝试了新的仿真方法和独特的功能,例如 Lua 脚本,我们在这里有所作为!
* [raduprv/Eternal-Lands](https://github.com/raduprv/Eternal-Lands) 该项目名为Eternal Lands,是一个开源项目,其源代码受eternal_lands_license.txt文件中的许可协议约束。永恒之地是一款免费的 3D 奇幻 MMORPG(大型多人在线角色扮演游戏),可以在 Windows、Android、Linux 和 OSX 上进行游戏。
* [OneLoneCoder/olcNES](https://github.com/OneLoneCoder/olcNES) olcNES是一个 NES 模拟器项目,包含教程视频代码,使用 C++编写,遵循 OLC-3 许可证。该项目旨在帮助开发者学习如何构建 NES 模拟器,提供详细的代码和说明,并涵盖了 CPU、PPU、音频和输入等关键组件的实现。
* [leereilly/games](https://github.com/leereilly/games) 在 GitHub 上找到的开源游戏和游戏相关项目列表 - 老式文本冒险、教育游戏、8 位平台游戏、基于浏览器的游戏、独立游戏、GameJam 项目、商业游戏的附加组件/地图/黑客/插件、库、框架、引擎,应有尽有。
* [mgba-emu/mgba](https://github.com/mgba-emu/mgba) mGBA Game Boy Advance 模拟器。mGBA 是用于运行 Game Boy Advance 游戏的模拟器。它的目标是比许多现有的 Game Boy Advance 模拟器更快、更准确,并添加其他模拟器所缺乏的功能。它还支持 Game Boy 和 Game Boy Color 游戏。
* [cemu-project/Cemu](https://github.com/cemu-project/Cemu) 这是 Cemu 的代码库,Cemu 是一个 Wii U 模拟器,能够在可玩状态下运行大多数 Wii U 游戏和自制程序。它是用 C/C++ 编写的,并且正在积极开发新功能和修复程序。Cemu目前仅适用于64位Windows、Linux和macOS设备。
* [HabitRPG/habitica](https://github.com/HabitRPG/habitica) 一个免费的习惯养成及生产力应用,让你“游戏人生”。游戏里的奖惩措施能激励你完成任务,还有一个强大的互动社区给你完成任务的好建议。Habitica能够帮助你达成目标,变得健康,勤奋,快乐。
* [libsdl-org/SDL](https://github.com/libsdl-org/SDL) Simple DirectMedia Layer 是一个跨平台开发库,旨在提供对音频、键盘、鼠标、操纵杆和图形硬件的低级访问。它被视频播放软件、模拟器和流行游戏使用,包括 Valve 的获奖目录和许多 Humble Bundle 游戏。
* [boardgameio/boardgame.io](https://github.com/boardgameio/boardgame.io) 使用 JavaScript 创建回合制游戏的引擎。编写简单的函数来描述在进行特定移动时游戏状态如何变化。这会自动转换为具有在线多人游戏功能的可玩游戏,而无需您编写任何网络或存储代码。
* [Heroic-Games-Launcher/HeroicGamesLauncher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) Heroic Games Launcher 是一个开源的游戏启动器,支持 Linux、Windows 和 macOS,可以启动 Epic Games Store、GOG Games 和 Amazon Games 游戏。它使用 Web 技术构建,包括 TypeScript、React、MUI、NodeJS、Electron 等。
* [colyseus/colyseus](https://github.com/colyseus/colyseus) 权威的 Node.js 多人游戏框架,其 SDK 可用于 Web、Unity、Defold、Haxe、Cocos 和 Construct3。该项目的重点是为实时和回合制游戏提供可同步的数据结构、匹配以及服务器端和客户端的易用性。
* [MonoGame/MonoGame](https://github.com/MonoGame/MonoGame) 简单而强大的 .NET 框架,用于使用 C# 编程语言为台式电脑、视频游戏机和移动设备创建游戏。它已成功用于创建《愤怒的街道 4》、《Carrion》、《Celeste》、《星露谷物语》等游戏。
* [diasurgical/devilutionX](https://github.com/diasurgical/devilutionX) 适用于现代操作系统的暗黑破坏神构建,DevilutionX 是暗黑破坏神和地狱火的一个端口,它致力于使游戏运行变得简单,同时提供引擎改进、错误修复和一些可选的生活质量功能。
* [pokerth/pokerth](https://github.com/pokerth/pokerth) PokerTH是一款用C++/Qt编写的扑克游戏,它提供了一个完整的扑克游戏体验,包括德州扑克、奥马哈等多种玩法。该项目开源且免费,玩家可以自由地修改和定制游戏规则和界面。
* [MetaCubeX/mihomo](https://github.com/MetaCubeX/mihomo) 崩坏的简单 Python Pydantic 模型:Star Rail 解析了来自 Mihomo API 的数据。虚空终端 是一个基于开源项目 原神 的二次开发版本,增加了一些独有特性,本文档仍在修订中,欢迎 PR。
* [4ian/GDevelop](https://github.com/4ian/GDevelop) 功能齐全的无代码开源游戏开发软件。您可以为移动设备、桌面设备和 Web 构建游戏。GDevelop 快速且易于使用:游戏逻辑是使用直观且强大的基于事件的系统构建的。
* [AbyssEngine/AbyssEngine](https://github.com/AbyssEngine/AbyssEngine) 游戏引擎,旨在运行类似于 2000 年风格的 ARPG 游戏,例如暗黑破坏神 II。该存储库提供了核心引擎以及 OpenDiablo2,这是使用该引擎对暗黑破坏神 II 的开源重新实现。
* [dolphin-emu/dolphin](https://github.com/dolphin-emu/dolphin) Dolphin 是一款 GameCube / Wii 模拟器,可让您在 PC 上玩这两个平台的游戏,并进行了改进。它根据 GNU 通用公共许可证版本 2 或更高版本 (GPLv2+) 的条款获得许可。
* [TastSong/CrazyCar](https://github.com/TastSong/CrazyCar) 网络联机游戏解决方案---Unity制作的联机赛车游戏,服务端为SpringBoot + Mybatis;后台为Vue + Element;游戏端采用QFramework框架,支持KCP和WebSocket网络(商用级)
* [OpenTTD/OpenTTD](https://github.com/OpenTTD/OpenTTD) OpenTTD 是一款交通模拟游戏,基于 Chris Sawyer 编写的流行游戏《运输大亨》 Transport Tycoon Deluxe。它试图尽可能地模仿原始游戏,同时用新功能扩展它。
* [BeyondDimension/SteamTools](https://github.com/BeyondDimension/SteamTools) 开源跨平台的多功能 Steam 工具箱。此工具的大部分功能都是需要您下载安装 Steam 才能使用。功能:网络加速、账号切换、库存游戏、游戏工具。
* [Grasscutters/Grasscutter](https://github.com/Grasscutters/Grasscutter) 原神服务端。当前功能:登录、战斗、好友、传送、祈愿、多人游戏 部分 可用、从控制台生成魔物、背包功能(接收或升级物品、角色等)。
* [skypjack/entt](https://github.com/skypjack/entt) 游戏与现代 C++ 的结合 - 快速可靠的实体组件系统 (ECS) 等等。仅标头,小巧且易于使用的游戏编程库,以及更多用现代 C++ 编写的库。
* [lucoiso/UEHttpGPT](https://github.com/lucoiso/UEHttpGPT) 虚幻引擎插件,通过异步 REST 请求促进与 OpenAI 基于 GPT 的服务(ChatGPT 和 DALL-E),使开发人员可以轻松地与这些服务进行通信。
* [alewmoose/2048-in-terminal](https://github.com/alewmoose/2048-in-terminal) 这是一个在终端中运行的2048游戏,使用ncurses库实现动画效果,支持自定义编译参数,可通过make命令进行编译、安装和卸载。
* [Provenance-Emu/Provenance](https://github.com/Provenance-Emu/Provenance) iOS & tvOS多模拟器前端,支持各种Atari、Bandai、NEC、Nintendo、Sega、SNK和Sony游戏机系统...开始使用: https://wiki.provenance-emu.com
* [shadps4-emu/shadPS4](https://github.com/shadps4-emu/shadPS4) 适用于 Windows、Linux、MacOS 的 PS4 模拟器。shadPS4 是用 C++ 编写的适用于 Windows、Linux 和 macOS 的早期 PlayStation 4 模拟器。
* [pygame/pygame](https://github.com/pygame/pygame) 免费的开源 python 编程语言库,用于制作基于优秀 SDL 库构建的游戏等多媒体应用程序。C、Python、原生、OpenGL。
* [hiloteam/Hilo](https://github.com/hiloteam/Hilo) 阿里巴巴集团开发的跨端 HTML5 游戏开发解决方案。它可以帮助开发人员在几分钟内方便地构建 HTML5 游戏。
* [ValveSoftware/Proton](https://github.com/ValveSoftware/Proton) 用于 Steam 客户端的工具,它允许 Windows 独有的游戏在 Linux 操作系统上运行。它使用 Wine 来促进这一点。
* [hajimehoshi/ebiten](https://github.com/hajimehoshi/ebiten) Go 编程语言的开源游戏引擎。Ebitengine 的简单 API 允许您快速轻松地开发可跨多个平台部署的 2D 游戏。
* [OpenRA/OpenRA](https://github.com/OpenRA/OpenRA) 早期Westwood游戏的开源实时战略游戏引擎,例如使用SDL和OpenGL用C#编写的《命令与征服:红色警戒》。
* [FyroxEngine/Fyrox](https://github.com/FyroxEngine/Fyrox) 一个功能丰富、可用于生产的通用 2D/3D 游戏引擎,用 Rust 编写,带有场景编辑器。以前称为 rg3d。
* [jrouwe/JoltPhysics](https://github.com/jrouwe/JoltPhysics) 多核友好的刚体物理和碰撞检测库。用 C++ 编写。适用于游戏和VR应用。由地平线禁域西部使用。
* [mapeditor/tiled](https://github.com/mapeditor/tiled) 通用的图块地图编辑器,适用于所有基于图块的游戏,例如 RPG、平台游戏或 Breakout 克隆游戏
* [BabylonJS/Babylon.js](https://github.com/BabylonJS/Babylon.js) 功能强大、美观、简单且开放的游戏和渲染引擎,包含在一个友好的 JavaScript 框架中。
* [yairm210/Unciv](https://github.com/yairm210/Unciv) 使用 LibGDX 制作的 《 文明V 》Civ V 的开源、以可修改性为重点的 Android 和桌面重制版
* [jynew/jynew](https://github.com/jynew/jynew) 开源武侠RPG游戏开发框架 使用Unity引擎重制并致敬经典游戏《金庸群侠传》DOS版
* [google/filament](https://github.com/google/filament) 基于物理的实时渲染引擎,适用于 Android、iOS、Windows、Linux、macOS 和 WebGL2
* [xenia-project/xenia](https://github.com/xenia-project/xenia) Xenia 是 Xbox 360 的实验性模拟器。有关更多信息,请参阅 Xenia 主 Wiki。
* [fogleman/Craft](https://github.com/fogleman/Craft) 使用现代 OpenGL(着色器)用 C 语言编写的简单 Minecraft 克隆。
* [stevenjoezhang/live2d-widget](https://github.com/stevenjoezhang/live2d-widget) 在网页中添加 Live2D 看板娘。兼容 PJAX,支持无刷新加载。
* [stenzek/duckstation](https://github.com/stenzek/duckstation) 适用于 x1-86/AArch32/AArch64/RV64 的快速 PlayStation 64 模拟器
* [playcanvas/engine](https://github.com/playcanvas/engine) 基于 WebGL 和 glTF 构建的快速轻量级 JavaScript 游戏引擎
* [ppy/osu](https://github.com/ppy/osu) 一款免费获胜的节奏游戏。节奏只需点击一下即可!
* [tobspr-games/shapez.io](https://github.com/tobspr-games/shapez.io) Steam 上的一款开源基地建设游戏,灵感来自异星工厂
* [rapiz1/DungeonRush](https://github.com/rapiz1/DungeonRush) 受 Snake 启发的开源游戏,用纯 C 语言编写,带有 SDL
* [hrydgard/ppsspp](https://github.com/hrydgard/ppsspp) Android、Win、Mac 和 Linux 的 PSP 模拟器,用 C++ 编写。
* [PavelDoGreat/WebGL-Fluid-Simulation](https://github.com/PavelDoGreat/WebGL-Fluid-Simulation) 在浏览器中玩液体(即使在移动设备上也有效)
* [GDQuest/godot-open-rpg](https://github.com/GDQuest/godot-open-rpg/tree/main) 通过这个开源 RPG 演示学习创建回合制战斗游戏
* [Ryujinx/Ryujinx](https://github.com/Ryujinx/Ryujinx) 用 C# 编写的实验性 Nintendo Switch 游戏机 模拟器
* [diasurgical/devilution](https://github.com/diasurgical/devilution) 暗黑破坏神下放 - 1996 年电脑游戏背后的魔法
* [wesnoth/wesnoth](https://github.com/wesnoth/wesnoth) 一款高度奇幻题材的开源回合制策略游戏。
* [minetest/minetest](https://github.com/minetest/minetest) 开源体素游戏引擎,易于修改和游戏创建。
* [Grimmys/rpg_tactical_fantasy_game](https://github.com/Grimmys/rpg_tactical_fantasy_game) pygame中的战术回合制游戏项目,开放支持
* [deepmind/mujoco](https://github.com/deepmind/mujoco) 多关节动力学与接触。通用物理模拟器。
* [OpenRCT2/OpenRCT2](https://github.com/OpenRCT2/OpenRCT2) 《过山车大亨 2 🎢》的C++开源重新实现
* [flareteam/flare-game](https://github.com/flareteam/flare-game) 使用 FLARE 引擎的奇幻动作角色扮演游戏
* [XorTroll/Goldleaf](https://github.com/XorTroll/Goldleaf) Nintendo Switch 游戏机的多用途自制工具。
* [ange-yaghi/engine-sim](https://github.com/ange-yaghi/engine-sim) 内燃机模拟器,可生成逼真的音频。
* [clear-code-projects/Zelda](https://github.com/clear-code-projects/Zelda) 用 Python 构建一个塞尔达风格的游戏
* [libgdx/libgdx](https://github.com/libgdx/libgdx) 桌面/安卓/HTML5/iOS Java游戏开发框架
* [liyucheng09/ChatGPT_Agent](https://github.com/liyucheng09/ChatGPT_Agent) 由 ChatGPT 代理提供支持的游戏演示
* [pmgl/microstudio](https://github.com/pmgl/microstudio) 免费、开源的在线游戏引擎 nodejs
* [raysan5/raylib](https://github.com/raysan5/raylib) 一个简单易用的视频游戏编程库
* [egametang/ET](https://github.com/egametang/ET) Unity3D 客户端和 C# 服务器框架
* [Anuken/Mindustry](https://github.com/Anuken/Mindustry) 自动化塔防RTS,用Java编写。
* [lxgr-linux/pokete](https://github.com/lxgr-linux/pokete) 基于终端的口袋妖怪类游戏
* [keenon/nimblephysics](https://github.com/keenon/nimblephysics) Nimble:深度学习的物理引擎
* [miloyip/game-programmer](https://github.com/miloyip/game-programmer) 游戏程序员的学习路径
* [ellisonleao/magictools](https://github.com/ellisonleao/magictools) 游戏开发资源列表。
* [rwv/chinese-dos-games](https://github.com/rwv/chinese-dos-games) 中文 DOS 游戏
## 知识管理_wiki知识库
* [kmaasrud/awesome-obsidian](https://github.com/kmaasrud/awesome-obsidian) Awesome Obsidian 是一个精心策划的资源列表,包含 Obsidian 主题、插件、外部工具、模板、CSS 代码片段等,旨在帮助用户更好地使用 Obsidian。该项目提供丰富的资源,包括 Obsidian 官方网站、帮助文档、社区论坛、YouTube 频道、中文资源等,以及各种插件、外部工具和转换器,例如 Obsidian Day Planner、Flashcards、Notion to Obsidian converter 等,帮助用户提升工作效率和学习体验。Obsidian 是一款私密且灵活的写作应用程序,可适应您的思维方式。Obsidian 将笔记存储在您的设备上,因此您可以快速访问它们,甚至可以离线访问它们。其他人无法阅读它们,甚至我们也不例外。拥有数百个插件和主题,您可以塑造 Obsidian 以适应您的思维方式。Obsidian 使用开放的非专有文件,因此您永远不会被锁定,并且可以长期保存您的数据。从个人笔记到日记、知识库和项目管理,Obsidian 为您提供了提出想法和组织它们的工具。
* [Zettlr/Zettlr](https://github.com/Zettlr/Zettlr) Zettlr 是一款免费的开源写作和研究工具,旨在简化您的工作流程。它在构建时考虑到了隐私,可让您轻松管理笔记、引文和出版物。Zettlr 支持多种功能,包括:* **引文管理**:与 Zotero 和 JabRef 等流行参考管理器无缝集成。* **多语言支持**:提供十几种语言。* **专业出版**:使用 LaTeX 和 Word 模板支持草稿出版物。* **多功能导出**:使用 Pandoc、LaTeX 和 Textbundle 以各种格式导出您的作品。* **代码突出显示**:支持多种编程语言的代码突出显示。* **Zettelkasten 支持**:利用 Zettelkasten 方法的强大功能进行知识管理。* **强大的搜索**:使用全文搜索功能快速查找任何信息。Zettlr 适用于 macOS、Windows 和大多数 Linux 发行版。您可以从该项目的网站下载最新版本。
* [jarun/buku](https://github.com/jarun/buku) buku是一个强大的书签管理工具,它提供了一个私有的、可移植的、可合并的数据库,以及一个无缝的 GUI 集成。它可以从浏览器导入书签,或从网络获取 URL 的标题、标签和描述。你可以使用你喜欢的编辑器添加、撰写和更新书签。buku 支持多种搜索选项,包括正则表达式和深度扫描模式,可以快速搜索书签。它还可以查看 Wayback Machine 上的失效链接,并提供一个随机访问书签的彩蛋。buku 没有跟踪、隐藏历史记录、过时记录、使用分析或主页。你可以从 Quickstart 部分开始使用 buku,它拥有丰富的文档和示例。buku 也是一个库,它有几个相关项目,包括一个浏览器插件。
* [airbnb/knowledge-repo](https://github.com/airbnb/knowledge-repo) Knowledge Repo是一个面向数据科学家和其他技术人员的下一代知识共享平台,旨在通过使用这些领域常用的数据格式和工具来简化知识共享。该平台提供多种存储和管理“知识文章”的选项,重点利用笔记本(如 R Markdown 和 Jupyter/IPython Notebook)来更好地促进可重复的研究。用户可以通过 Github 集成直接提交 Markdown 格式的文章,也可以使用内置编辑器以多种格式(包括 Jupyter Notebook、R Markdown 和 Google 文档链接)撰写和上传文章。平台提供安全存储,方便用户访问和管理内容,并允许用户在发布后更新、删除、分享和添加评论。
* [pdoc3/pdoc](https://github.com/pdoc3/pdoc) pdoc3是一个用于自动生成 Python 项目 API 文档的工具。它支持多种docstring 格式,包括 Markdown、numpydoc 和 Google-style docstrings,以及LaTeX 数学公式和一些 reST 指令。pdoc3 还支持 PEP 484 和 PEP 526 类型注解,并可以根据`__all__` 变量选择要文档化的对象。此外,pdoc3 还支持从 AST 中提取变量的 docstring,并提供自动交叉链接功能。用户可以通过 `__pdoc__` 字典覆盖默认的 docstring 生成行为,并使用自定义模板来定制输出。pdoc3 还内置了一个开发 Web 服务器,方便用户预览生成的文档。
* [jupyter-book/jupyter-book](https://github.com/jupyter-book/jupyter-book) 从计算内容创建精美的出版质量书籍和文档。Jupyter Book 是一个开源工具,用于从计算材料构建出版质量的书籍和文档。Jupyter Book 允许用户。将他们的内容写入 Markdown 文件或 Jupyter 笔记本中,在任一类型中包括计算元素(例如,代码单元),包括丰富的语法,例如引文、交叉引用和编号方程式,以及使用一个简单的命令,运行嵌入的代码单元格,缓存输出并将此内容转换为:一本基于网络的互动书籍,以及出版物质量的 PDF。
* [paperless-ngx/paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) Paperless-ngx是一个社区支持的文档管理系统,它将您的物理文档转换为可搜索的在线档案,让您能够减少纸张使用。它是 Paperless 和 Paperless-ng 的官方继任者,旨在通过团队协作来推进和支持项目。它提供了一个在线演示,您可以使用 `demo` 用户名和密码登录体验。Paperless-ngx 的主要功能包括:文档扫描、索引和归档、可搜索的在线档案、标签和分类、OCR文本识别、多用户支持、与其他应用程序集成等。
* [mkdocstrings/mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) mkdocstrings是一个用于 MkDocs 的自动文档生成工具,它可以从源代码中提取文档并生成 Markdown 文档。mkdocstrings 支持多种编程语言,包括C、Crystal、Python、TypeScript 和 VBA,并且可以与 MkDocs 的 Material 主题以及 ReadTheDocs 和 MkDocs 主题兼容。mkdocstrings 支持跨页面和跨站点引用,并允许用户在 Markdown 内容中内联注入文档。mkdocstrings 提供全局和本地配置选项,并支持自定义模板和主题。
* [sphinx-doc/sphinx](https://github.com/sphinx-doc/sphinx) Sphinx是一个强大的文档生成工具,使用reStructuredText作为标记语言,可以轻松创建智能美观的文档。它支持多种输出格式,包括HTML、PDF、纯文本、EPUB、TeX、手册页等,并提供丰富的交叉引用功能、层次结构定义、自动索引、代码高亮、模板化、扩展生态系统和语言支持,例如Python、C、C++、JavaScript、数学等。您可以使用pip命令安装Sphinx,并参考官方文档了解更多信息。
* [mitmproxy/pdoc](https://github.com/mitmproxy/pdoc) pdoc是一个用于生成 Python 项目 API 文档的工具,它以简洁易用为目标,支持 Markdown 文档格式,并能自动解析类型注解等现代 Python 3 特性。pdoc 提供内置的 Web 服务器,支持实时更新,并可自定义 HTML 模板。它能识别 numpydoc 和 Google风格的文档字符串,并生成独立的 HTML 输出,无需额外依赖。pdoc 会自动链接标识符,并生成可搜索的索引,方便用户查找和浏览 API 文档。
* [shidahuilang/shuyuan](https://github.com/shidahuilang/shuyuan) 这是一个提供自动更新的阅读书源项目,包含香色闺阁、阅读3.0书源、源阅读、爱阅书香、千阅、花火阅读、读不舍手、IPTV源、IPA巨魔应用等多种书源,并提供TTS语音功能和自动更新功能,方便用户获取最新书源。项目还提供了优质书源、精华书源、TTS语音包、UZ影视源、IPTV源、IPA巨魔应用等资源链接,方便用户获取所需资源。
* [star7th/showdoc](https://github.com/star7th/showdoc) ShowDoc是一款适合 IT 团队在线分享 API 文档、技术文档的工具,它可以有效提升团队成员之间的沟通效率。ShowDoc 可以用于 API 文档、数据字典、说明文档等多种场景,支持 Markdown 编辑、模板插入、历史版本管理等功能,并提供项目权限管理、分享和导出功能,用户可以将项目部署到自己的服务器上。
* [readthedocs/readthedocs.org](https://github.com/readthedocs/readthedocs.org) Read the Docs是一个开源社区文档托管平台,支持多种文档工具(如 Sphinx、MkDocs 等)和 Git 仓库。它可以自动构建和托管你的文档,实现“持续文档”或“代码即文档”的概念。你可以通过 GitHub 账号快速将你的项目添加到 Read the Docs,并实现自动更新。项目代码遵循 MIT 许可证。
* [ryanlelek/Raneto](https://github.com/ryanlelek/Raneto) Raneto是一个基于 Node.js 的免费开源知识库,使用 Markdown 作为内容格式。它支持文件搜索、浏览器内 Markdown 编辑器、登录系统以保护编辑权限,并以轻量级和简单著称。所有内容都存储在文件中,并提供邮件列表以获取项目新闻和安全警报。
* [logseq/logseq](https://github.com/logseq/logseq) 一个知识管理和协作平台。它侧重于隐私、寿命和用户控制。Logseq 提供了一系列用于知识管理、协作、PDF 注释和任务管理的强大工具,支持多种文件格式,包括 Markdown 和组织模式,以及用于组织和构建笔记的各种功能。
* [mkdocs/catalog](https://github.com/mkdocs/catalog) 这是一个收集了280个优秀 MkDocs 项目和插件的列表,分为17个类别。每个项目都根据从 GitHub 和不同包管理器自动收集的各种指标计算出的项目质量评分进行排名。你可以自由地添加或更新项目,欢迎贡献!
* [toeverything/AFFiNE](https://github.com/toeverything/AFFiNE) 可以不止有 Notion 和 Miro。 AFFiNE 是下一代知识库,它将规划、分类和创建结合在一起。隐私至上、开源、可定制且随时可用。
* [haiwen/seafile](https://github.com/haiwen/seafile) 高性能文件同步和共享,还具有 Markdown 所见即所得编辑、Wiki、文件标签等知识管理功能。
* [siyuan-note/siyuan](https://github.com/siyuan-note/siyuan) 思源是本地首创的个人知识管理系统,支持细粒度块级引用和Markdown所见即所得。
* [AppFlowy-IO/AppFlowy](https://github.com/AppFlowy-IO/AppFlowy) Notion 的开源替代品。您负责您的数据和定制。使用 Flutter 和 Rust 构建。
* [outline/outline](https://github.com/outline/outline) 成长团队最快的知识库。美观、实时协作、功能丰富且兼容降价。
* [gollum/gollum](https://github.com/gollum/gollum) 一个简单的、基于 Git 的 wiki,带有一个漂亮的 API 和本地前端。
* [requarks/wiki](https://github.com/requarks/wiki) 维基.js |一个基于 Node.js 构建的现代且强大的 wiki 应用程序
* [siyuan-note/siyuan](https://github.com/siyuan-note/siyuan) 国内个人知识管理系统,支持细粒度块级引用和Markdown。
* [BookStackApp/BookStack](https://github.com/BookStackApp/BookStack) 使用 PHP 和 Laravel 构建的创建文档/wiki 内容的平台
* [mattermost/focalboard](https://github.com/mattermost/focalboard) Trello、Notion 和 Asana 的开源、自托管替代品。
* [zadam/trilium](https://github.com/zadam/trilium) 使用 Trilium Notes 建立您的个人知识库
* [foambubble/foam](https://github.com/foambubble/foam) VSCode的个人知识管理和共享系统
* [facebook/docusaurus](https://github.com/facebook/docusaurus) 易于维护的开源文档网站。
* [Reamd7/notion-zh_CN](https://github.com/Reamd7/notion-zh_CN) notion知识库的汉化脚本
## 终端
* [mobile-shell/mosh](https://github.com/mobile-shell/mosh) Mosh是一款远程终端应用程序,支持间歇性连接,允许漫游,并提供用户按键的推测性本地回显和行编辑功能。它旨在支持 SSH 的典型交互式使用,此外还支持以下功能:即使客户端进入休眠状态并在稍后唤醒,或暂时失去互联网连接,Mosh也会保持会话处于活动状态。Mosh 允许客户端和服务器在保持连接活动状态的同时“漫游”并更改 IP 地址。与 SSH 不同,Mosh 可以在 Wi-Fi 网络之间切换,或从 Wi-Fi 切换到蜂窝数据或有线以太网时使用。Mosh 客户端在后台运行服务器行为的预测模型,并尝试智能地猜测每个按键将如何影响屏幕状态。当它对自己的预测有信心时,它会在等待来自服务器的确认时将它们显示给用户。大多数打字和使用左右箭头键的操作可以立即回显。因此,Mosh 可用于高延迟链接,例如蜂窝数据连接或间歇性 Wi-Fi。与其他协议中之前尝试的本地回显模式不同,Mosh 可以与全屏应用程序(如 emacs、vi、alpine 和 irssi)一起正常工作,并在 RTT 内自动从偶尔的预测错误中恢复。在高延迟链接上,Mosh 在预测未完成时会将其下划线,并在服务器确认后删除下划线。Mosh 不支持 X 转发或 SSH 的非交互式使用,包括端口转发。Mosh 利用 SSH 建立连接并验证用户。Mosh 不包含任何特权(root)代码。
* [ClementTsang/bottom](https://github.com/ClementTsang/bottom) 用于终端的可定制的跨平台图形化进程/系统监视器。支持 Linux、macOS 和 Windows。灵感来自 gtop、gotop 和 htop。特征:图形可视化小部件,CPU 使用率随时间推移,处于平均和每核水平,RAM 和交换使用情况随时间推移,网络 I/O 使用情况随时间的变化,支持放大/缩小显示的当前时间间隔。用于显示以下信息的小部件:磁盘容量/使用情况,温度传感器,电池使用情况,一个进程小部件,用于显示、排序和搜索有关进程的信息,以及支持:Kill信号,树模式,对 Linux、macOS 和 Windows 的跨平台支持,未来计划推出更多支持。可自定义的行为,可通过命令行选项或配置文件进行控制,例如:自定义和内置颜色主题、自定义小组件行为、更改小部件的布局、过滤掉某些小部件中的条目。其他一些好东西,比如:受 htop 启发的基本模式、扩展,只关注一个小部件
* [sveinbjornt/Sloth](https://github.com/sveinbjornt/Sloth) Sloth是一款原生 Mac 应用,它利用 `lsof` 命令行工具,以图形化界面展示系统中所有运行进程打开的文件、目录、套接字、管道和设备。它提供友好的用户界面,可以轻松查看哪些应用正在使用哪些文件,并支持按名称、访问模式、卷、类型、位置或正则表达式进行过滤,以及按进程名称、文件数量、类型、进程 ID、用户 ID、Carbon PSN、捆绑 UTI 等进行排序。此外,它还提供了详细的 macOS 和 Unix 文件/套接字/进程信息,并支持文件操作的上下文菜单、应用内身份验证以运行 root 权限,以及快速响应的原生应用体验。Sloth是免费开源软件,自 2004 年起持续开发和维护,用户可以下载最新版本 3.3 或通过 Homebrew 安装。
* [sharkdp/pastel](https://github.com/sharkdp/pastel) `pastel`是一个命令行工具,用于生成、分析、转换和操作颜色。它支持多种颜色格式和颜色空间,包括 RGB(sRGB)、HSL、CIELAB、CIELCh 以及 ANSI 8 位和 24 位表示。该工具提供各种命令,例如 `saturate`、`mix` 或 `paint`,用于颜色操作。`pastel` 的命令可以组合使用,例如通过管道将一个命令的输出传递给另一个命令。颜色可以使用多种格式指定,包括颜色名称、十六进制代码、RGB、HSL 等。`pastel` 可以用于各种用例,例如将颜色从一种格式转换为另一种格式、在终端上显示和分析颜色、从屏幕上拾取颜色、生成一组视觉上不同的颜色、获取所有 X11/CSS 颜色名称、命名给定颜色以及从 shell 脚本中打印彩色文本。
* [electerm/electerm](https://github.com/electerm/electerm) Electerm是一款开源的跨平台终端/SSH/Telnet/串口/RDP/VNC/SFTP 客户端,支持 Linux、Mac 和 Windows。它提供全局热键切换窗口可见性、多语言支持、双击直接编辑远程文件、公钥/密码认证、Zmodem 支持、SSH 隧道、Trzsz 支持、透明窗口、终端背景图片、全局/会话代理、快速命令、UI/终端主题、同步书签/主题/快速命令到 GitHub/Gitee 秘密 gist、快速输入到一个或所有终端等功能。您可以从官网、SourceForge 或 GitHub Releases 下载安装。Mac 用户可以使用 `brew install --cask electerm` 安装,也可以使用 Snap 安装:`sudo snap installelecterm --classic`。一些 Linux 发行版(如 Ubuntu、Deepin、Mint)的应用商店也提供 Electerm。
* [ScoopInstaller/Scoop](https://github.com/ScoopInstaller/Scoop) 适用于 Windows 的命令行安装程序。消除用户帐户控制 (UAC) 提示通知。隐藏向导样式安装程序的图形用户界面 (GUI)。防止污染 PATH 环境变量。通常,当设备上安装了不同的应用程序时,此变量会变得杂乱无章。避免安装和卸载应用程序时产生的意外副作用。自动解析并安装依赖项。执行所有必要的步骤,使应用进入工作状态。Scoop 对脚本非常友好。通过使用可重复的设置,您的环境可以变成您喜欢的样子。如果您构建了希望其他人使用的软件,Scoop 是构建安装程序(如 MSI 或 InnoSetup)的替代方法。您只需将应用压缩为.zip文件,并提供描述如何安装它的 JSON 清单。
* [orf/gping](https://github.com/orf/gping) gping是一个命令行工具,它使用图形的方式展示 ping 或命令执行时间。它支持多种平台,包括 Windows、Mac 和 Linux。gping 可以同时 ping多个主机,并以图形方式展示每个主机的 ping 时间。它还支持使用 `--cmd` 选项执行命令,并以图形方式展示命令的执行时间。gping 还提供自定义颜色、缓冲区大小等功能,可以满足不同的使用需求。用户可以通过多种方式安装 gping,包括 Homebrew、MacPorts、Scoop、Chocolatey、Cargo、pacman、apk、apt、dnf 以及 Docker 等。gping 的使用方法非常简单,只需要运行 `gping [host]` 即可。用户还可以使用 `--cmd` 选项执行命令,例如 `gping --cmd curl google.com`。
* [bensadeh/tailspin](https://github.com/bensadeh/tailspin) Tailspin是一个日志文件高亮工具,它通过使用正则表达式识别日志文件中的日期、数字、IP 地址、URL 等模式,并进行高亮显示,无需任何配置即可对不同格式的日志文件进行一致的高亮。它支持多种安装方式,包括 Homebrew、Cargo、Archlinux、Nix、NetBSD、FreeBSD 和从源代码编译。Tailspin 使用 `less` 作为分页器,并提供多种高亮组,例如日期、关键字、URL、数字、IP 地址、引号、Unix 文件路径、HTTP 方法、UUID 和键值对,所有高亮组都可以自定义。Tailspin 可以读取文件、标准输入,并支持监听其他命令的标准输出,方便与其他命令集成。
* [davatorium/rofi](https://github.com/davatorium/rofi) 窗口切换器、应用程序启动器和 dmenu 替换。Rofi 最初是 simpleswitcher 的克隆,由 Sean Pringle 编写 - 一个大致基于 superswitcher 的弹出窗口切换器。Simpleswitcher 奠定了基础,因此 Sean Pringle 应该为这个工具赢得大部分荣誉。Rofi(已重命名,因为它失去了 simple 属性)已经扩展了额外的功能,例如应用程序启动器和 ssh-launcher,并且可以作为 dmenu 的替代品,使其成为一个非常通用的工具。Rofi 和 dmenu 一样,将为用户提供一个选项的文本列表,您可以在其中选择一个或多个选项。这可以是运行应用程序、选择窗口或外部脚本提供的选项。
* [PaulJuliusMartinez/jless](https://github.com/PaulJuliusMartinez/jless) jless是一个命令行 JSON 查看器,旨在用于读取、探索和搜索 JSON 数据。它提供简洁的语法高亮显示、可展开和折叠的对象和数组,以及丰富的 vim 风格的移动命令,方便用户高效浏览和定位数据。jless 支持使用正则表达式进行搜索,并提供 macOS 和 Linux 版本,Windows 版本正在开发中。用户可以通过 HomeBrew、MacPorts、Arch Linux、Void Linux、NetBSD、FreeBSD 等包管理器或从源代码编译安装 jless。jless 的官方网站是 jless.io,项目吉祥物是 Jules the jellyfish,由 annatgraphics 设计。jless 采用 MIT 许可证发布。
* [trailofbits/graphtage](https://github.com/trailofbits/graphtage) Graphtage是一个命令行工具和库,用于语义比较和合并树状结构,例如 JSON、XML、HTML、YAML、plist 和 CSS 文件。它使用“graph”和“graftage”的组合命名,指的是将两棵树连接在一起使其共同生长的园艺实践。Graphtage 可以比较不同类型的文件,例如 JSON 和 YAML 文件,并以多种格式输出结果,包括 JSON、YAML 和原始格式。它提供多种选项来控制匹配策略和输出格式,例如 `--dict-strategy` 和 `--format`。此外,Graphtage 还提供 `--only-edits` 和 `--edit-digest` 选项,用于以简洁易懂的方式展示编辑内容。
* [chmln/sd](https://github.com/chmln/sd) sd是一个直观的命令行查找和替换工具,旨在替代 sed。它使用JavaScript 和 Python 中熟悉的正则表达式语法,无需处理 sed 或 awk 的特殊语法。sd 还支持字符串字面量模式,无需转义特殊字符。sd 的表达式易于阅读和编写,并提供智能的默认设置,适合日常使用。与 sed 相比,sd 在简单替换、替换换行符、提取包含斜杠的字符串以及就地修改文件方面更加高效。基准测试表明,sd 在处理 JSON 文件时比 sed 快 2-12 倍。sd 可以通过 cargo install sd 安装,也可以通过各种包管理器安装。
* [cantino/mcfly](https://github.com/cantino/mcfly) McFly是一个智能的 shell 历史搜索工具,它使用神经网络对你的shell 历史进行优先级排序,并根据你的工作目录和最近执行的命令的上下文来提供建议。它可以增强你的 `ctrl-r` 搜索体验,使历史结果与你当前的工作更相关。McFly跟踪命令的执行状态、时间戳和执行目录,并支持 Unicode。你可以使用 `%` 来匹配任意数量的字符进行搜索。它使用 Rust 编写,因此速度快且安全。你可以使用 Homebrew、MacPorts 或安装脚本进行安装。
* [cheat/cheat](https://github.com/cheat/cheat) cheat是一个命令行工具,用于创建和查看交互式备忘单。它旨在帮助 *nix 系统管理员记住他们经常使用但又不太记得的命令选项。用户可以通过 `cheat` 命令查看预定义的备忘单,也可以通过 `cheat -e` 命令编辑或创建新的备忘单。备忘单存储在配置文件 `conf.yml` 中指定的目录路径下,可以包含多个路径,方便用户管理不同来源的备忘单。cheat 还可以通过标签和正则表达式搜索备忘单,并支持语法高亮显示。
* [binpash/try](https://github.com/binpash/try) `try`是一个 Linux 命令行工具,允许你在修改真实系统之前运行命令并检查其影响。它利用 Linux 的命名空间和 overlayfs 文件系统,让你在隔离的环境中测试命令,避免意外修改系统。`try` 并非完整的沙盒,不建议用于执行你不信任的命令,但它可以帮助你安全地测试命令,例如安装软件包或更改配置文件。`try` 支持多种 Linux 发行版,并提供多种安装方式,包括直接下载脚本、克隆仓库或使用源代码包。
* [infinitered/gluegun](https://github.com/infinitered/gluegun) Gluegun是一个用于构建基于 Node.js 的命令行界面 (CLI) 的工具包,支持 TypeScript 和现代 JavaScript。它提供丰富的功能,包括参数解析、模板生成、文件操作、系统命令执行、HTTP 请求、自动补全提示、彩色输出、版本管理、字符串操作和包管理等。Gluegun 还支持插件扩展,方便用户构建更强大的 CLI 应用。Gluegun 处于稳定状态,社区持续贡献改进,并提供快速入门指南和示例代码,帮助用户快速上手。
* [bchao1/bullet](https://github.com/bchao1/bullet) `bullet`是一个 Python 库,用于在命令行界面 (CLI) 工具中创建美观且易于使用的交互式提示。它支持丰富的格式选项,包括颜色、背景颜色、样式和表情符号,使您能够轻松构建类似于积木堆叠的提示。该库提供多种提示类型,例如列表、复选框、密码输入、是/否问题和数字输入。您可以通过 PyPI 或从源代码构建来安装 `bullet`。该项目目前支持 Linux 平台,并计划在未来添加 Windows 支持。
* [Nukesor/pueue](https://github.com/Nukesor/pueue) Pueue是一个命令行任务管理工具,用于顺序和并行执行长时间运行的任务,它可以处理 shell 命令队列。Pueue 提供许多便捷功能,例如任务调度、进程交互、任务分组、后台进程执行、一致性保障以及跨平台支持等。它可以帮助用户轻松管理和执行长时间运行的任务,并且支持在任何终端上控制任务,即使没有活动 SSH 会话。Pueue 已经完成所有计划的功能,目前主要进行维护和改进。
* [yorukot/superfile](https://github.com/yorukot/superfile) Superfile是一个现代化的终端文件管理器,提供漂亮且直观的界面。它支持 Linux、MacOS 和 Windows 系统(Windows 尚未完全支持)。你可以通过简单的命令行安装 Superfile,也可以从源代码构建。Superfile 提供丰富的插件和主题,以及可自定义的热键,方便用户根据自己的需求进行配置。此外,Superfile 还提供详细的教程、常见问题解答和贡献指南,帮助用户快速上手和参与项目开发。
* [rothgar/awesome-tmux](https://github.com/rothgar/awesome-tmux) 这是一个关于tmux的资源列表,包含教程、速查表、配置、工具、主题、状态栏、插件、书籍和其它资源。项目特色包括:提供各种tmux教程、插件和配置设置链接;包含多种工具和会话管理工具,例如automux、disconnected、dmux、harpoon等;提供各种主题和状态栏插件,例如Oh My Tmux!、tmux-powerline等;包含一些书籍和其它资源,例如tmux-cheatsheet.markdown、tmuxcheatsheet.com等。
* [0nn0/terminal-mac-cheatsheet](https://github.com/0nn0/terminal-mac-cheatsheet) 这是一个针对 macOS 用户的终端命令和快捷键速查表,提供多种语言版本,涵盖了常用命令和快捷键,例如清除屏幕、移动光标、剪切、粘贴、撤销等操作,方便用户快速查找和使用。该项目支持多种语言,包括英文、西班牙语、法语、波兰语、葡萄牙语、阿尔巴尼亚语、越南语、土耳其语、俄语、乌克兰语、韩语、中文、日语、印尼语和德语。
* [marticliment/UniGetUI](https://github.com/marticliment/UniGetUI) UniGetUI:包管理器的图形界面。可以被可怕地描述为包管理器管理器来管理您的包管理器。该项目的主要目标是为 Windows 10 和 11 最常见的 CLI 包管理器创建一个直观的 GUI,例如 WinGet、Scoop、Chocolatey、Pip、Npm、.NET Tool 和 PowerShell Gallery。 使用此应用程序,您可以轻松下载、安装、更新和卸载在受支持的包管理器上发布的任何软件 - 以及更多!
* [spiritLHLS/ecs](https://github.com/spiritLHLS/ecs) 这是一个用于测试 VPS 服务器性能的脚本,旨在进行全面的测试。该脚本支持多种操作系统和架构,包括 Ubuntu、Debian、CentOS、Fedora、Almalinux、OracleLinux、RockyLinux、AstraLinux CE、Arch、FreeBSD 和 Armbian,以及 amd64、arm64、i386 和 arm 架构。该脚本已不再维护,建议使用 [https://github.com/oneclickvirt/ecs](https://github.com/oneclickvirt/ecs) 项目进行测试。
* [Bash-it/bash-it](https://github.com/Bash-it/bash-it) Bash 3.2+ 的社区 Bash 命令和脚本的集合。(还有 oh-my-zsh)包括自动完成、主题、别名、自定义函数等等。Bash-it 提供了一个坚实的框架,用于在日常工作中使用、开发和维护 shell 脚本和自定义命令。如果您经常使用 Bourne Again Shell (Bash),并且一直在寻找一种简单的方法来控制所有这些漂亮的小脚本和别名,那么 Bash-it 适合您!
* [wader/fq](https://github.com/wader/fq) fq是一个用于处理二进制数据的工具、语言和解码器,它旨在将jq、hexdump、dd 和 gdb 的功能整合到一个工具中。它支持多种格式,包括媒体编解码器、容器、可执行文件、数据包捕获、序列化格式等,并提供类似 jq 的查询语言,以及交互式 REPL 和自动补全功能。fq 可以用于查询、检查、调试二进制数据,并进行各种转换和操作。
* [Idnan/bash-guide](https://github.com/Idnan/bash-guide) 这是一个Bash 指南,旨在帮助你学习 Bash 脚本。它涵盖了基本操作、Shell 编程、技巧、调试和多线程等内容。该项目包含了详细的命令介绍和示例,并提供了对文件操作、文本操作、目录操作、SSH、系统信息、网络操作、进程监控、变量、数组、字符串替换、函数、条件语句、循环、正则表达式、管道等方面的讲解。
* [xxh/xxh](https://github.com/xxh/xxh) xxh是一款工具,允许你通过 SSH 将你喜欢的 shell(如 Xonsh、fish、zsh、osquery 等)带到任何地方,无需 root权限或系统安装。它将本地准备好的 shell 和插件上传到主机,确保安全性和环境隔离。xxh 支持多种 shell,并允许你根据任务选择合适的 shell。你可以通过 PyPi、pipx、xonsh、Conda-forge、Homebrew 或 Macports 安装 xxh。
* [klaudiosinani/qoa](https://github.com/klaudiosinani/qoa) Qoa是一个轻量级、无外部依赖的命令行交互式提示库,提供 7 种可配置的控制台界面,包括纯文本、确认、密码/密钥提示以及单键按下、问答和多选导航菜单。它使用简单、简洁的语法,并利用异步/等待表达式,支持自定义配置。你可以通过 GitHub Sponsors 支持开发,并访问 Gitter 或 Twitter 分享你的想法。
* [bombshell-dev/clack](https://github.com/bombshell-dev/clack) Clack是一个用于构建美观命令行应用程序的工具集,它包含两个主要部分:`@clack/core` 提供了无样式的可扩展 CLI 原语,而 `@clack/prompts` 则提供了美观且易于使用的 CLI 提示组件。Clack 能够帮助开发者轻松创建功能强大且用户友好的命令行应用程序,并提供丰富的功能,例如交互式提示、自定义样式等。
* [gizak/termui](https://github.com/gizak/termui) termui是一个基于termbox-go的跨平台Go语言终端仪表盘和组件库,提供多种预制组件和自定义组件创建功能,支持网格布局或绝对坐标定位,并能响应键盘、鼠标和终端大小调整事件。它具有颜色和样式设置功能,并受到blessed-contrib和tui-rs的启发。项目维护更新频率可能不稳定,欢迎贡献者参与维护。
* [jarun/nnn](https://github.com/jarun/nnn) 功能齐全的终端文件管理器。它很小,几乎是 0 配置,而且速度快得令人难以置信。nnn 可以分析磁盘使用情况、批量重命名、启动应用程序和选择文件。插件存储库有大量的插件来进一步扩展功能,例如实时预览、(取消)挂载磁盘、查找和列表、文件/目录差异、上传文件。
* [pexpect/ptyprocess](https://github.com/pexpect/ptyprocess) ptyprocess是一个Python库,用于在伪终端(pty)中运行子进程,并与子进程及其pty进行交互。它适用于需要模拟终端交互的场景,例如处理密码提示、终端输出变化或使用依赖终端的库(如curses)。该库提供了一个简单的接口,允许用户读取和写入pty,并控制子进程的执行。
* [svenstaro/genact](https://github.com/svenstaro/genact) 无意义的活动生成器,假装忙碌或等待你的电脑,而你实际上应该在做真正的工作!用你疯狂的多任务处理技能给人们留下深刻印象。只需打开几个 genact 实例并观看节目。Genact 有多个场景,假装正在做一些令人兴奋或有用的事情,而实际上根本没有发生任何事情。
* [cs01/termpair](https://github.com/cs01/termpair) TermPair是一个允许开发者安全地实时共享和控制终端的工具,它使用端到端AES 128位加密,服务器无法读取终端数据。用户可以通过浏览器访问和控制远程终端,支持多人同时连接,并可设置读写或只读权限。 安装方便,支持pipx或pip安装,也提供可执行文件下载。
* [eza-community/eza](https://github.com/eza-community/eza) eza 是 Unix 和 Linux 操作系统附带的古老文件列表命令行程序 ls 的现代维护替代品,为其提供了更多功能和更好的默认值。它使用颜色来区分文件类型和元数据。它知道符号链接、扩展属性和 Git。而且它体积小、速度快,而且只有一个二进制文件。
* [dylanaraps/pure-bash-bible](https://github.com/dylanaraps/pure-bash-bible) 记录仅使用内置 bash 功能执行各种任务的常见和鲜为人知的方法。使用这本圣经中的片段可以帮助从脚本中删除不需要的依赖项,并且在大多数情况下使它们更快。我在开发 neofetch、pxltrm 和其他小型项目时遇到了这些技巧,并发现了一些技巧。
* [PowerShell/PowerShell](https://github.com/PowerShell/PowerShell) 一个跨平台(Windows、Linux 和 macOS)自动化和配置工具/框架,可与现有工具配合使用,并针对处理结构化数据(例如 JSON、CSV、XML 等)、REST API 和对象模型进行了优化。它包括命令行 shell、关联的脚本语言和用于处理 cmdlet 的框架。
* [termux/termux-app](https://github.com/termux/termux-app) 适用于 Android 操作系统的终端模拟器应用程序,可通过各种软件包进行扩展。适用于 Android 的终端模拟器,其环境类似于 Linux 环境。 无需Root或设置即可使用。 Termux 会自动进行最小安装 - 使用 APT 包管理器即可获得其他软件包。
* [aksakalli/gtop](https://github.com/aksakalli/gtop) 终端系统监控仪表板,支持Linux/OSX/Windows(部分支持),需要Node.js >= v8,安装命令为`npm install gtop -g`,可通过Docker运行并访问主机机器的指标,启动命令为`gtop`,可按`p`、`c`、`m`键分别按进程ID、CPU使用率、内存使用率排序。
* [brenns10/lsh](https://github.com/brenns10/lsh) C 语言中 shell 的简单实现,它是我网站上教程的主题。它演示了 shell 工作原理的基础知识。即:读取、解析、分叉、执行和等待。由于其目的是演示(不是功能完整性,甚至不适合随意使用),因此它有许多局限性
* [mbadolato/iTerm2-Color-Schemes](https://github.com/mbadolato/iTerm2-Color-Schemes) 超过 250 种 iTerm/iTerm2 的终端配色方案/主题。包括终端,Konsole,PuTTY,Xresources,XRDB,Remmina,Termite,XFCE,Tilda,FreeBSD VT,Terminator,Kitty,MobaXterm,LXTerminal,Microsoft的Windows终端,Visual Studio,Alacritty的端口
* [Raphire/Win11Debloat](https://github.com/Raphire/Win11Debloat) 一个简单易用的 PowerShell 脚本,用于从 Windows 中删除预安装的应用程序、禁用遥测、从 Windows 搜索中删除 Bing,以及执行各种其他更改以整理和改善您的 Windows 体验。此脚本适用于 Windows 10 和 Windows 11。
* [farag2/Sophia-Script-for-Windows](https://github.com/farag2/Sophia-Script-for-Windows) Sophia Script for Windows 是GitHub上适用于Windows 10和Windows 11的最大 PowerShell 模块,用于微调和自动化日常任务。它提供了 150 多个独特的调整,并展示了如何在不对其造成任何损害的情况下配置 Windows。
* [cmderdev/cmder](https://github.com/cmderdev/cmder) 出于对 Windows 上缺乏可用的控制台模拟器的挫败感而创建的。它基于 ConEmu,对配置进行了重大改革,带有 Monokai 配色方案、惊人的叮当声(通过叮当声完成进一步增强)和自定义提示布局。
* [vercel/hyper](https://github.com/vercel/hyper) 基于网络技术的终端,目标是为命令行界面用户创建基于开放 Web 标准构建的美观且可扩展的体验。一开始,我们的重点将主要放在速度、稳定性和为扩展作者开发正确的 API 上。
* [warpdotdev/Warp](https://github.com/warpdotdev/Warp) 基于 Rust 的现代终端,内置了 AI,因此您和您的团队可以更快地构建出色的软件。速度极快的现代基于 Rust 的 GPU 加速终端,旨在提高您和您的团队的工作效率。
* [zsh-users/zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting) shell zsh 提供语法高亮显示。它允许在 zsh 提示符下将命令键入到交互式终端中时突出显示命令。这有助于在运行命令之前查看命令,尤其是在捕获语法错误时。
* [nushell/nushell](https://github.com/nushell/nushell) 一种新型终端。从 PowerShell、函数式编程语言和现代 CLI 工具等项目中汲取灵感。 Nu 不是将文件和数据视为原始文本流,而是将每个输入视为具有结构的东西。
* [mvdan/sh](https://github.com/mvdan/sh) Go写的具有 bash 支持的 shell 解析器、格式化程序和解释器;包括 SHFMT。SHELL分析器、格式化程序和解释器。支持 POSIX Shell、Bash 和 mksh。需要 Go 1.19 或更高版本。
* [atuinsh/atuin](https://github.com/atuinsh/atuin) 将现有的 shell 历史记录替换为 SQLite 数据库,并记录命令的其他上下文。此外,它还通过 Atuin 服务器提供机器之间历史记录的可选和完全加密同步。
* [junegunn/fzf](https://github.com/junegunn/fzf) 通用的命令行模糊查找器。用于命令行的交互式 Unix 过滤器,可以与任何列表一起使用;文件、命令历史记录、进程、主机名、书签、git 提交等。
* [xtermjs/xterm.js](https://github.com/xtermjs/xterm.js) 用 TypeScript 编写的前端组件,它允许应用程序在浏览器中为其用户提供功能齐全的终端。它被 VS Code、Hyper 和 Theia 等流行项目使用。
* [so-fancy/diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) diff-so-fancy 努力使您的差异具有人类可读性,而不是机器可读性。这有助于提高代码质量,并帮助您更快地发现缺陷。
* [NixOS/nixpkgs](https://github.com/NixOS/nixpkgs) Nixpkgs 是超过 100,000 个软件包的集合,可以与 Nix 包管理器一起安装。它还实现了 NixOS,一个纯功能的 Linux 发行版。
* [fish-shell/fish-shell](https://github.com/fish-shell/fish-shell) 用户友好的命令行 shell。包括语法高亮显示、键入时自动建议和花哨的选项卡补全等功能,无需配置即可工作。
* [charmbracelet/gum](https://github.com/charmbracelet/gum) 一款令人着迷的 shell 脚本工具,无需编写任何代码就能利用 Bubbles 和 Lip Gloss 的功能在脚本和别名中发挥作用。
* [Powerlevel9k/powerlevel9k](https://github.com/Powerlevel9k/powerlevel9k) 用于构建美观且功能强大的 CLI 的工具,专为您定制。P9k 对 CLI UX 产生了重大影响,P10k 现在延续了它的传统。
* [lotabout/skim](https://github.com/lotabout/skim) 我们一生中的一半时间都花在导航上:文件、行、命令......它是一个通用的模糊查找器,可以节省您的时间。
* [zellij-org/zellij](https://github.com/zellij-org/zellij) 面向开发人员、面向运营人员和任何喜欢终端的人的工作空间。类似的程序有时被称为“终端多路复用器”。
* [oh-my-fish/oh-my-fish](https://github.com/oh-my-fish/oh-my-fish) Oh My Fish 提供了核心基础设施,允许您安装扩展或修改 shell 外观的软件包。它快速、可扩展且易于使用。
* [direnv/direnv](https://github.com/direnv/direnv) 整理您的 .profile。它使用一项新功能来增强现有 shell,该功能可以根据当前目录加载和卸载环境变量。
* [sorin-ionescu/prezto](https://github.com/sorin-ionescu/prezto) Zsh 的配置框架;它通过合理的默认值、别名、函数、自动完成和提示主题丰富了命令行界面环境。
* [wtfutil/wtf](https://github.com/wtfutil/wtf) 您终端的个人信息仪表板,可让您一目了然地访问您非常重要但不经常需要的统计信息和数据。
* [claudiodangelis/qrcp](https://github.com/claudiodangelis/qrcp) 通过扫描二维码,通过 wifi 将文件从您的计算机传输到您的移动设备,而无需离开终端
* [bootandy/dust](https://github.com/bootandy/dust) Rust 中更直观的 du 版本。因为我想要一种简单的方法来查看我的磁盘被使用的位置。
* [dunwu/linux-tutorial](https://github.com/dunwu/linux-tutorial) Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本
* [NixOS/nix](https://github.com/NixOS/nix) 强大的包管理器,适用于 Linux 和其他 Unix 系统,它使包管理可靠且可重现。
* [withfig/autocomplete](https://github.com/withfig/autocomplete) 当您键入时,Fig 会在您现有的终端中弹出子命令、选项和上下文相关参数。
* [sqshq/sampler](https://github.com/sqshq/sampler) 用于 shell 命令执行、可视化和警报的工具。使用简单的 YAML 文件进行配置。
* [imsnif/bandwhich](https://github.com/imsnif/bandwhich) CLI 实用程序,用于按进程、连接和远程 IP/主机名显示当前网络利用率
* [casey/just](https://github.com/casey/just) 一个命令运行器,保存和运行特定于项目的命令的便捷方法。
* [GitSquared/edex-ui](https://github.com/GitSquared/edex-ui) 跨平台、可定制的科幻终端模拟器,有高级监控和触摸支持。
* [wez/wezterm](https://github.com/wez/wezterm) @wez 编写Rust 实现的 GPU 加速跨平台终端仿真器和多路复用器
* [alebcay/awesome-shell](https://github.com/alebcay/awesome-shell) 很棒的命令行框架、工具包、指南和小玩意的精选列表。
* [asciinema/asciinema](https://github.com/asciinema/asciinema) 轻松记录终端会话,并在终端和 Web 浏览器中重播它们。
* [starship/starship](https://github.com/starship/starship) 适用于任何 shell 的最小、极快且可无限自定义的提示符
* [ibraheemdev/modern-unix](https://github.com/ibraheemdev/modern-unix) 常见 unix 命令的现代/更快/更健全的替代方案的集合。
* [gnachman/iTerm2](https://github.com/gnachman/iTerm2) Mac OS X 的终端模拟器,可以做一些令人惊奇的事情。
* [faressoft/terminalizer](https://github.com/faressoft/terminalizer) 录制您的终端并生成动画 gif 图像或共享网络播放器
* [enquirer/enquirer](https://github.com/enquirer/enquirer) 时尚的 CLI 提示,用户友好、直观且易于创建。
* [liquidprompt/liquidprompt](https://github.com/liquidprompt/liquidprompt) 功能齐全且精心设计的 Bash & Zsh 自适应提示
* [termux/termux-packages](https://github.com/termux/termux-packages) 为 Termux Android 应用程序构建包的脚本和补丁。
* [JanDeDobbeleer/oh-my-posh](https://github.com/JanDeDobbeleer/oh-my-posh) 最可定制和低延迟的跨平台/shell 提示渲染器
* [kovidgoyal/kitty](https://github.com/kovidgoyal/kitty) 跨平台、快速、功能丰富、基于 GPU 的终端
* [ajeetdsouza/zoxide](https://github.com/ajeetdsouza/zoxide) 更智能的 cd 命令。灵感来自 Z 和 AutoJump。
* [kingToolbox/WindTerm](https://github.com/kingToolbox/WindTerm) 专业的跨平台SSH/Sftp/Shell/Telnet/串口终端。
* [awesome-lists/awesome-bash](https://github.com/awesome-lists/awesome-bash) 精选的令人愉快的 Bash 脚本和资源列表。
* [vinayak-mehta/present](https://github.com/vinayak-mehta/present) 基于终端的演示工具,具有颜色和效果。
* [davidbrochart/nbterm](https://github.com/davidbrochart/nbterm) 在终端中查看、编辑、执行Jupyter笔记。
* [zsh-users/zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions) 像Fish一样快速/不显眼的 zsh 自动建议。
* [spaceship-prompt/spaceship-prompt](https://github.com/spaceship-prompt/spaceship-prompt) 简约、强大且高度可定制的 Zsh 提示符
* [dylanaraps/neofetch](https://github.com/dylanaraps/neofetch) 用 bash 3.2+ 编写的命令行系统信息工具
* [microsoft/terminal](https://github.com/microsoft/terminal) 新的Windows终端和原始Windows控制台主机
* [unixorn/awesome-zsh-plugins](https://github.com/unixorn/awesome-zsh-plugins) ZSH 框架、插件、主题和教程的集合。
* [willmcgugan/rich](https://github.com/willmcgugan/rich) 一个终端内富文本和美化的python库。
* [herrbischoff/awesome-macos-command-line](https://github.com/herrbischoff/awesome-macos-command-line) 使用 macOS 终端 shell 做很棒的事情。
* [alacritty/alacritty](https://github.com/alacritty/alacritty) 一个跨平台的 OpenGL 终端模拟器。
* [sindresorhus/pure](https://github.com/sindresorhus/pure) 漂亮、最小、快速的 ZSH 提示符
* [yudai/gotty](https://github.com/yudai/gotty) 将您的终端共享为 Web 应用程序
* [dalance/procs](https://github.com/dalance/procs) 用 Rust 编写的 ps 的现代替代品
* [shelljs/shelljs](https://github.com/shelljs/shelljs) Node.js 的可移植 Unix shell 命令
* [xonsh/xonsh](https://github.com/xonsh/xonsh) Python驱动的跨平台Unix shell
* [tmuxinator/tmuxinator](https://github.com/tmuxinator/tmuxinator) 轻松管理复杂的 tmux 会话
* [ish-app/ish](https://github.com/ish-app/ish) 适用于 iOS 的 Linux shell
* [Eugeny/tabby](https://github.com/Eugeny/tabby) 一个更现代的终端
* [charmbracelet/vhs](https://github.com/charmbracelet/vhs) CLI 录像机
## 编辑器
* [mawww/kakoune](https://github.com/mawww/kakoune) Kakoune是一个代码编辑器,它以 Vim 的“按键作为文本编辑语言”模型为基础,并结合了模态编辑器的特性,类似于 Vim 编辑器(Kakoune 最初的灵感来源)。Kakoune 拥有两种模式:普通模式和插入模式。在插入模式下,按键直接插入到当前缓冲区中。在普通模式下,按键用于操作当前选择并进入插入模式。Kakoune 非常注重交互性,大多数命令提供即时和增量结果,同时在按键次数方面与 Vim 竞争。Kakoune 基于选择进行操作,选择是字符的定向、包含范围。选择有一个锚点和一个光标。大多数命令移动这两个点,除了扩展选择时,锚点字符保持固定,光标移动。Kakoune 的主要特点包括:多重选择作为交互的核心方式、强大的选择操作原语、强大的文本操作原语、客户端-服务器架构、与外部程序的简单交互、自动上下文帮助、自动键入时完成、宏、钩子、语法高亮。
* [notable/notable](https://github.com/notable/notable) 基于 Markdown 的笔记应用程序,并不糟糕。特征:笔记是用 GitHub Flavored Markdown 编写的,您还可以编写 KaTeX 表达式、美人鱼图等等,请查看我们完整的 Markdown 备忘单。Notable 还为您提供了一个非常强大的 Markdown 编辑器,它实际上与 VS Code 使用的编辑器相同,因此内置了多光标、小地图和一流的语法突出显示等功能。笔记和附件只是存储在您的磁盘上,这非常便携且功能强大:您可以使用自己喜欢的编辑器编辑笔记,通过Dropbox同步它们,在它们上运行Git,运行基于正则表达式的搜索并替换它们等。还提供深色主题。将来还将添加对自定义主题的支持。禅宗模式提供简约的编辑和阅读体验,隐藏所有不必要的内容。
* [dvorka/mindforger](https://github.com/dvorka/mindforger) 带有LLM的思考笔记本和 Markdown 编辑器。MindForger 是开放、免费、性能良好的 Markdown 编辑器/IDE,尊重您的隐私。MindForger 功能概述:开放、免费、集成 OpenAI GPT、知识管理器、Markdown 编辑器(数学、图表、图像、目录生成器)、大纲、拼写检查、Markdown IDE(多文档工作区、部分重构、克隆、范围和模板)、组织者(艾森豪威尔矩阵、看板)、知识图谱导航器、知识自动链接、边浏览边思考、边写边想、按名称/标签/文本/正则表达式查找、查找相似部分(关联)、标记、表情符号、清单、最近部分、外部部分编辑器、主题、国际化、导出(用于机器学习的 OHE 的 CSV、HTML)和导入 (TWiki)。
* [onivim/oni2](https://github.com/onivim/oni2) Onivim 2是一款轻量级、模态的代码编辑器,旨在将 Sublime的速度、VSCode 的语言集成和 Vim 的模态编辑体验融合到一个软件包中。它使用 Reason 和 Revery 框架构建,并利用 libvim 管理缓冲区并提供真实的模态编辑体验。Onivim 2 还充分利用了 VSCode 扩展主机进程,这意味着它最终将完全支持 VSCode 扩展和配置。其目标是提供现代化的用户体验,跨平台支持,开箱即用,高性能,易于学习,并结合原生代码编辑器的速度、模态编辑的强大功能以及 VSCode 轻量级编辑器的丰富工具。
* [streetwriters/notesnook](https://github.com/streetwriters/notesnook) Notesnook是一款完全开源且端到端加密的笔记软件,旨在替代Evernote,它注重用户隐私和易用性。Notesnook使用XChaCha20-Poly1305和Argon2对所有数据进行加密,确保零知识原则。该项目包含用于构建和使用NotesnookWeb、桌面和移动客户端的所有代码,并使用JavaScript/TypeScript、React、React Native、Electron、NPM和Nx等技术构建。项目包含多个子项目,包括Web客户端、桌面客户端、移动客户端、Web剪辑器、核心库、加密库、剪辑器核心库和编辑器等。
* [trypear/pearai-app](https://github.com/trypear/pearai-app) PearAI是一个开源的AI代码编辑器,基于VSCode并集成了AI功能,旨在通过AI辅助开发,减少产品开发从构思到实现的时间。其核心功能位于子模块PearAI Submodule(https://github.com/trypear/pearai-submodule),该子模块是Continue的衍生版本。PearAI拥有代码上下文感知功能,用户可以直接向编辑器提问,并提供用户友好的UI/UX设计,同时保持与VSCode的熟悉感。项目代码使用TypeScript/Electron.js开发,并提供详细的文档和Discord社区支持。
* [izhangzhihao/intellij-rainbow-brackets](https://github.com/izhangzhihao/intellij-rainbow-brackets) Intellij rainbow brackets是一款JetBrains IDE插件,为IntelliJ IDEA、Android Studio、HUAWEI DevEco Studio等IDE提供彩虹括号功能,支持多种语言,包括Java、Scala、Python、JavaScript、TypeScript等。该插件可以将不同类型的括号(圆括号、花括号、方括号、尖括号)以不同的颜色高亮显示,并支持自定义颜色、变量颜色生成器、缩进线高亮等功能,帮助开发者更直观地识别代码结构,提高代码可读性。
* [limetext/lime](https://github.com/limetext/lime) Lime是一个开源项目,旨在成为 Sublime Text 的 API 兼容替代品。它提供了一个与 Sublime Text API 兼容的后台,并正在开发三个前端:QML、Termbox 和 HTML。Lime 的目标是提供一个功能丰富、稳定且可扩展的文本编辑器,并利用 Sublime Text 庞大的插件生态系统。目前 Lime 尚未准备好用于日常使用,但欢迎开发者贡献代码,帮助项目发展。
* [ether/etherpad-lite](https://github.com/ether/etherpad-lite) Etherpad是一个现代的实时协作文档编辑器,可扩展至数千个用户同时实时编辑。它提供完整的数据导出功能,并运行在您自己的服务器上,由您掌控。您可以尝试使用Wikimedia提供的公共Etherpad实例,或使用其他公共Etherpad实例来体验更多功能。该项目正在寻找维护人员,并提供了一些资金支持。
* [ajaxorg/ace](https://github.com/ajaxorg/ace) 用JS编写的独立代码编辑器。我们的目标是创建一个基于浏览器的编辑器,以匹配和扩展现有本机编辑器(如TextMate,Vim或Eclipse)的功能,可用性和性能。它可以很容易地嵌入到任何网页或JavaScript应用程序中。Ace是作为Cloud9 IDE的主要编辑器和Mozilla Skywriter(Bespin)项目的继任者开发的。
* [laurent22/joplin](https://github.com/laurent22/joplin) 安全的笔记和待办事项应用程序,具有适用于 Windows、macOS、Linux、Android 和 iOS 的同步功能。免费的开源笔记和待办事项应用程序,可以处理大量组织到笔记本中的笔记。笔记是可搜索的,可以直接从应用程序或您自己的文本编辑器中复制、标记和修改。注释采用 Markdown 格式。
* [microsoft/language-server-protocol](https://github.com/microsoft/language-server-protocol) 语言服务器协议 (LSP) 定义了编辑器或 IDE 与提供语言功能(如自动完成、转到定义、查找所有引用等)的语言服务器之间使用的协议。语言服务器索引格式(LSIF,发音类似于“else if”)的目标是在开发工具或 Web UI 中支持丰富的代码导航,而无需源代码的本地副本。
* [amix/vimrc](https://github.com/amix/vimrc) 在过去的 10 年里,我一直在使用和调整 Vim。这个配置是最终的 vimrc(或者至少是我的版本)。有两个版本:基本:如果你想要一些小的东西,只需将 basic.vim 复制到你的 ~/.vimrc 中,你就会有一个很好的基本设置。The Awesome:包括大量有用的插件、配色方案和配置
* [visualfc/liteide](https://github.com/visualfc/liteide) LiteIDE是一个简单易用的开源跨平台Go语言IDE,版本X38.3,支持Windows、Linux、macOS等多种系统。它具有代码编辑、Go语言开发支持(包括Go modules、Go work等)、系统环境管理、插件系统、集成终端等功能,并集成gocode和gomodifytags等工具,方便进行Go语言开发和调试。
* [Dman95/SASM](https://github.com/Dman95/SASM) SASM是一个跨平台的开源IDE,支持NASM、MASM、GAS和FASM汇编语言。它具有语法高亮和调试功能,非常适合初学者学习汇编语言。SASM已经翻译成俄语、英语、土耳其语、中文、德语、意大利语、波兰语、希伯来语和西班牙语。SASM基于Qt框架,使用GNU GPL v3.0许可证。
* [doomemacs/doomemacs](https://github.com/doomemacs/doomemacs) GNU Emacs 的配置框架,专为 Emacs 破产老手量身定制,他们希望框架中的框架更少,包管理器有一点稳定性(和可重复性),以及手动配置的性能(或更好)。它可以成为您自己配置的基础,也可以成为 Emacs 爱好者了解更多关于我们最喜欢的操作系统的资源。
* [espanso/espanso](https://github.com/espanso/espanso) 用 Rust 编写的跨平台文本扩展器,文本扩展器是一种程序,可以检测您何时键入特定关键字并将其替换为其他内容。这在许多方面都很有用:省去大量的打字,扩展常用句子。创建系统范围的代码片段。执行自定义脚本。像专业人士一样使用表情符号。
* [udecode/plate](https://github.com/udecode/plate) Plate是一个由AI驱动的富文本编辑器框架,它基于slate-react,拥有简洁高效的设计。Plate包含核心、插件、基础组件和示例组件四个部分,提供多种模板(包括Notion风格模板)方便快速上手,并支持自定义插件扩展功能,文档详尽,欢迎贡献代码。
* [ThePrimeagen/harpoon](https://github.com/ThePrimeagen/harpoon) Neovim 插件,由 ThePrimeagen 开发,旨在改进开发者在编辑器中管理代码文件和执行项目命令的方式。通过提供一种更高效的方式来标记和访问常用的文件,harpoon 能够帮助开发者减少在项目中切换文件时的重复动作,从而提高开发效率。
* [tinymce/tinymce](https://github.com/tinymce/tinymce) TinyMCE 是全球领先的开源富文本编辑器,支持 React、Vue 和 Angular,拥有超过 3.5 亿次下载量,广泛应用于各大企业级项目。它易于集成,高度可定制,提供多种编辑模式和 50 多个插件,支持自定义扩展,适用于各种复杂需求。
* [Bryley/neoai.nvim](https://github.com/Bryley/neoai.nvim) NeoAI 是一个 Neovim 插件,它将 OpenAI 的 GPT-4 的强大功能直接带到您的编辑器中。它可以帮助您生成代码、重写文本,甚至在代码上下文中获取建议。该插件具有用户友好的界面,可以轻松与 AI 交互并获得所需的帮助。
* [judasn/IntelliJ-IDEA-Tutorial](https://github.com/judasn/IntelliJ-IDEA-Tutorial) IntelliJ IDEA 简体中文专题教程,对于语言开发学习者我是非常建议你使用 IntelliJ IDEA,因为一些代码格式、命名规范在 IntelliJ IDEA 下都是有良好的提示,对于我们所处的输入法下的中文全角符号也可以得到快速发现。
* [pellaton/eclipse-cheatsheet](https://github.com/pellaton/eclipse-cheatsheet) 该项目提供可打印的 Eclipse SDK 快捷键速查表,支持多种 Eclipse 版本,包括4.3 到 4.30 版本,以及 3.8 版本。用户可以根据自己的 Eclipse 版本选择对应的 PDF 或 ODT 格式文件进行打印,方便随时查阅常用快捷键。
* [vim/vim](https://github.com/vim/vim) 老式UNIX编辑器Vi的大幅改进版本。添加了许多新功能:多级撤消、语法突出显示、命令行历史记录、在线帮助、拼写检查、文件名完成、块操作、脚本语言等。还有一个GUI可用。Vi 兼容性仍然保持不变。
* [emacs-lsp/lsp-mode](https://github.com/emacs-lsp/lsp-mode) 用于语言服务器协议的 Emacs 客户端/库,语言服务器协议客户端 (v3.14)。lsp-mode 旨在通过提供与最流行的 Emacs 包(如 company、flycheck 和 projectile)的可选集成来提供类似 IDE 的体验。
* [Textualize/frogmouth](https://github.com/Textualize/frogmouth) 用于您的终端的 Markdown 查看器/浏览器,使用 Textual 构建。Frogmouth 可以在本地或通过 URL 打开 *.md 文件。有一个熟悉的类似浏览器的导航堆栈、历史记录、书签和目录。
* [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) 查找、筛选、预览、拾取。所有 lua,无时无刻不在。高度可扩展的列表模糊查找器。建立在核心的最新 neovim 强大功能之上。望远镜以模块化为中心,允许轻松定制。
* [purocean/yn](https://github.com/purocean/yn) 高度可扩展的 Markdown 编辑器。版本控制、AI Copilot、思维导图、文档加密、代码片段运行、集成终端、图表嵌入、HTML小程序、Reveal.js、插件和宏替换。
* [atom/atom](https://github.com/atom/atom) 21 世纪的可破解文本编辑器,基于 Electron 构建,并基于我们喜欢的编辑器的一切。我们将其设计为可深度定制,但使用默认配置仍然可以使用。
* [stevearc/oil.nvim](https://github.com/stevearc/oil.nvim) Neovim 文件浏览器:像缓冲区一样编辑您的文件系统。一个类似文件浏览器的 vim-vinegar,让你可以像普通的 Neovim 缓冲区一样编辑你的文件系统。
* [helix-editor/helix](https://github.com/helix-editor/helix) 受 Kakoune / Neovim 启发的编辑器,用 Rust 编写。编辑模型很大程度上基于 Kakoune;在开发过程中,同意Kakoune的大部分设计决策。
* [xournalpp/xournalpp](https://github.com/xournalpp/xournalpp) 支持 PDF 注释的手写笔记软件。用 C++ 和 GTK3 编写,支持 Linux、macOS 和 Windows 10。支持来自 Wacom 数位板等设备的笔输入。
* [powerline/powerline](https://github.com/powerline/powerline) Powerline是vim的状态线插件,并为其他几个应用程序提供状态线和提示,包括zsh,bash,tmux,IPython,Awesome和Qtile。
* [benweet/stackedit](https://github.com/benweet/stackedit) 基于 PageDown 的全功能开源 Markdown 编辑器,Stack Overflow 和其他 Stack Exchange 站点使用的 Markdown 库。
* [zyedidia/micro](https://github.com/zyedidia/micro) 现代且直观的基于终端的文本编辑器。旨在通过易于安装和使用成为 nano 编辑器的继承者。
* [Laverna/laverna](https://github.com/Laverna/laverna) JavaScript 笔记应用程序,具有 Markdown 编辑器和加密支持。把它看作是Evernote的开源替代品。
* [fastai/nbdev](https://github.com/fastai/nbdev) 编写、测试、记录和分发软件包和技术文章 — 所有这些都在一个地方,您的笔记本上。
* [mhinz/vim-galore](https://github.com/mhinz/vim-galore) Vim 从入门到精通 [Eric Wong / Vim 从入门到精通 · GitLab](https://gitlab.com/wsdjeg/vim-galore-zh_cn)
* [CodeEditApp/CodeEdit](https://github.com/CodeEditApp/CodeEdit) 适用于 macOS 的 CodeEdit 应用程序 – 提升您的代码编辑体验。开源,永久免费。
* [syl20bnr/spacemacs](https://github.com/syl20bnr/spacemacs) 社区驱动的Emacs发行版 - 最好的编辑器既不是Emacs也不是Vim,而是Emacs *和* Vim!
* [yabwe/medium-editor](https://github.com/yabwe/medium-editor) Medium.com 所见即所得编辑器克隆。使用 contenteditable API 实现富文本解决方案。
* [AstroNvim/AstroNvim](https://github.com/AstroNvim/AstroNvim) 美观且功能丰富的 neovim 配置,可扩展且易于使用,并带有一组很棒的插件
* [NvChad/NvChad](https://github.com/NvChad/NvChad) 超快的 Neovim 框架提供可靠的默认设置和漂亮的 UI,增强您的 neovim 体验。
* [JetBrains/intellij-community](https://github.com/JetBrains/intellij-community) 帮助您从源代码构建 IntelliJ IDEA 社区版,这是 IntelliJ 平台开发的基础。
* [wangeditor-team/wangEditor](https://github.com/wangeditor-team/wangEditor) 开源 Web 富文本编辑器,开箱即用,配置简单。支持 JS Vue React 。
* [facebook/lexical](https://github.com/facebook/lexical) 可扩展的 JS Web 文本编辑器框架,强调可靠、可访问性和性能。
* [antirez/kilo](https://github.com/antirez/kilo/) 小于 1000 LOC 的文本编辑器,具有语法突出显示和搜索功能。
* [LunarVim/LunarVim](https://github.com/LunarVim/LunarVim) Neovim 的 IDE,具有合理的默认值。完全免费,由社区驱动。
* [nhn/tui.editor](https://github.com/nhn/tui.editor) Markdown 所见即所得编辑器。 GFM 标准 + 图表和 UML 可扩展。
* [quilljs/quill](https://github.com/quilljs/quill) 为兼容性和可扩展性而构建的现代所见即所得编辑器。
* [DaveJarvis/keenwrite](https://github.com/DaveJarvis/keenwrite) Java的Markdown编辑器,具有实时预览,字符串插值和公式
* [marktext/marktext](https://github.com/marktext/marktext) 简单优雅的markdown编辑器,适用于 Linux、mac 和 Win。
* [iggredible/Learn-Vim](https://github.com/iggredible/Learn-Vim) 学习 Vim 和 Vimscript 并不难。这是您正在寻找的指南
* [microsoft/monaco-editor](https://github.com/microsoft/monaco-editor) 基于浏览器的代码编辑器。VSCode功能齐全编辑器。
* [ianstormtaylor/slate](https://github.com/ianstormtaylor/slate) 一个完全可定制的框架,用于构建富文本编辑器。
* [lapce/lapce](https://github.com/lapce/lapce) 用 Rust 编写的闪电般快速且功能强大的代码编辑器
* [VSCodium/vscodium](https://github.com/VSCodium/vscodium) 没有微软品牌/遥测/许可的vscode代码二进制版本
* [textmate/textmate](https://github.com/textmate/textmate) 适用于 macOS 10.12 或更高版本的图形文本编辑器
* [material-theme/vsc-material-theme](https://github.com/material-theme/vsc-material-theme) Material Theme,Visual Studio Code 最史诗般的主题
* [eclipse-theia/theia](https://github.com/eclipse-theia/theia) 一个用 TypeScript 实现的云和桌面 IDE 框架。
* [VundleVim/Vundle.vim](https://github.com/VundleVim/Vundle.vim) Vim bundle 的缩写,是一个 Vim 插件管理器。
* [viatsko/awesome-vscode](https://github.com/viatsko/awesome-vscode) 精选的令人愉快的 VS Code 包和资源列表。
* [ueberdosis/tiptap](https://github.com/ueberdosis/tiptap) 为web开发人员准备的无头编辑器框架
* [xi-editor/xi-editor](https://github.com/xi-editor/xi-editor) 一个现代编辑器,后端用 Rust 编写。
* [microsoft/vscode](https://github.com/microsoft/vscode) 微软开源的程序开发工具和编辑器
* [neoclide/coc.nvim](https://github.com/neoclide/coc.nvim) 让您的 Vim/Neovim 像 VS Code 一样智能
* [SpaceVim/SpaceVim](https://github.com/SpaceVim/SpaceVim) 社区驱动的模块化 vim/neovim 发行版
* [codex-team/editor.js](https://github.com/codex-team/editor.js) 具有干净 JSON 输出的块式编辑器
* [ranger/ranger](https://github.com/ranger/ranger) 受 VIM 启发的控制台文件管理器
* [notepad-plus-plus/notepad-plus-plus](https://github.com/notepad-plus-plus/notepad-plus-plus) Notepad++ 文本编辑器官方仓库
* [coder/code-server](https://github.com/coder/code-server) 浏览器中的 VS 代码编辑器
* [rockerBOO/awesome-neovim](https://github.com/rockerBOO/awesome-neovim) eovim 插件的集合
## 计算机编程_数据结构与算法
* [OI-wiki/OI-wiki](https://github.com/OI-wiki/OI-wiki) 编程竞赛发展多年,难度越来越高,内容越来越复杂,而网上资料大多零散,初学者往往并不知道如何系统地学习相关知识,需要花费大量时间摸索。为了方便热爱编程竞赛的小伙伴更好地入门,2018 年 7 月份,OI Wiki 迁移至 GitHub。随着 OI Wiki 的内容不断完善,越来越多的小伙伴参与其中。OI Wiki 致力于成为一个免费开放且持续更新的知识整合站点,大家可以在这里获取关于 编程竞赛 (competitive programming) 有趣又实用的知识,我们为大家准备了竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛。目前,OI Wiki 的内容还有很多不完善的地方,知识点覆盖不够全面,存在一些低质量页面需要修改。OI Wiki 团队以及参与贡献的小伙伴们正在积极完善这些内容。关于上述待完善内容,请参见 OI Wiki 的 Issues 以及 迭代计划。与此同时,OI Wiki 源于社区,提倡 知识自由,在未来也绝不会商业化,将始终保持独立自由的性质。OI(Olympiad in Informatics,信息学奥林匹克竞赛)在中国起源于 1984 年,是五大高中学科竞赛之一。ICPC(International Collegiate Programming Contest,国际大学生程序设计竞赛)由 ICPC 基金会(ICPC Foundation)举办,是最具影响力的大学生计算机竞赛。由于以前 ACM 赞助这个竞赛,也有很多人习惯叫它 ACM 竞赛。OI Wiki 致力于成为一个免费开放且持续更新的 编程竞赛(competitive programming) 知识整合站点,大家可以在这里获取与竞赛相关的、有趣又实用的知识。我们为大家准备了竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛中涉及到的知识。
* [SCons/scons](https://github.com/SCons/scons) SCons是一个开源的软件构建工具,它通过确定哪些组件需要构建或重建并调用必要的命令来构建它们,从而协调软件(以及其他有形产品,如文档文件)的构建。SCons 的特点包括:使用 Python 脚本作为配置文件,提供强大的编程能力来解决构建问题;内置可靠的自动依赖分析功能,支持 C、C++ 和 FORTRAN,无需手动执行 "make depend" 或 "make clean";内置支持 C、C++、D、Java、FORTRAN、Yacc、Lex、Qt 和 SWIG,以及构建 TeX 和 LaTeX 文档;支持从源代码和预构建目标的中央存储库构建;内置支持 Microsoft Visual Studio,包括生成.dsp、.dsw、.sln 和 .vcproj 文件;使用加密哈希可靠地检测构建更改,可选地配置其他算法,包括传统的 timestamps;支持并行构建,可以在目录层次结构中同时运行多个作业;集成了类似 Autoconf 的功能,用于查找 #include 文件、库、函数和类型定义;提供所有依赖项的全局视图,无需多次构建或重新排序目标;能够在缓存中共享构建文件以加快多次构建的速度;从头开始设计用于跨平台构建,已知可在 Linux、其他POSIX 系统(包括 AIX、BSD 系统、HP/UX、IRIX 和 Solaris)、Windows 7/8/10、MacOS 和 OS/2 上运行;用 Python 编写。
* [munificent/craftinginterpreters](https://github.com/munificent/craftinginterpreters) 《Crafting Interpreters》一书的存储库。它包含本书的 Markdown 文本、两个解释器的完整实现,以及将两者编织到最终站点中的构建系统。Crafting Interpreters 包含实现功能齐全、高效的脚本语言所需的一切。您将学习有关解析和语义的高级概念,以及字节码表示和垃圾回收等细节。你的大脑会充满新的想法,你的手会变脏和长满老茧。这真是太棒了。从 main() 开始,您将构建一种具有丰富语法、动态类型、垃圾回收、词法范围、第一类函数、闭包、类和继承的语言。所有这些都打包成几千行干净、快速的代码,因为每行代码都是你自己编写的,所以你完全理解了这些代码。这本书有四种美味的格式:640 页精美的排版和高分辨率手绘插图。每一页都由作者精心排版。首屈一指的阅读体验。精心调整的 CSS 适合您的电子书阅读器和屏幕尺寸。全彩语法高亮显示和实时超链接。就像 Alan Kay 的 Dynabook,但真实。完美地反映了印刷书的手工排版和清晰的插图,但更容易携带。细致的响应式设计从桌面到手机都看起来很棒。每一章,除了旁白和插图都在那里。免费阅读整本书。真。
* [google/oss-fuzz](https://github.com/google/oss-fuzz) 开源软件的持续模糊测试。模糊测试是一种众所周知的发现软件编程错误的技术。许多可检测到的错误(例如缓冲区溢出)可能会产生严重的安全隐患。 Google 通过部署Chrome 组件的引导式进程内模糊测试,发现了数千个安全漏洞和稳定性错误,现在我们希望与开源社区分享该服务。OSS-Fuzz 与核心基础设施计划和OpenSSF合作,旨在通过将现代模糊测试技术与可扩展的分布式执行相结合,使通用开源软件更加安全和稳定。不符合 OSS-Fuzz 资格的项目(例如闭源)可以运行自己的ClusterFuzz或ClusterFuzzLite实例。我们支持libFuzzer 、 AFL++和Honggfuzz模糊测试引擎与Sanitizers以及ClusterFuzz (分布式模糊器执行环境和报告工具)的结合。目前,OSS-Fuzz支持C/C++、Rust、Go、Python、Java/JVM和JavaScript代码。 LLVM支持的其他语言也可以工作。 OSS-Fuzz 支持模糊 x86_64 和 i386 构建。
* [bitemyapp/learnhaskell](https://github.com/bitemyapp/learnhaskell) 如何学习haskell。对于经验丰富的黑客和编程新手来说,从头开始学习 Haskell 更容易、效果更好。该语言与您可能已经尝试过的任何语言都非常不同,因此从基础开始构建将更容易并且更有趣。Haskell 并不是一门很难使用的语言。Haskell很难有效地教授。Haskell(发音为/ˈhæskəl/)是一种标准化的,通用的纯函数式编程语言,有惰性求值和强静态类型。它的命名源自美国逻辑学家哈斯凯尔·加里,他在数理逻辑方面上的工作使得函数式编程语言有了广泛的基础。在Haskell中,“函数是头等对象”。作为一门函数编程语言,主要控制结构是函数。Haskell语言是1990年在编程语言Miranda语言的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母“λ”(Lambda)作为自己的标志。Haskell具有“证明即程序、命题为类型”的特征。
* [OpenGenus/cosmos](https://github.com/OpenGenus/cosmos) Cosmos 是您一生中会遇到和使用的每个算法和数据结构的个人离线集合。这提供了各种语言的解决方案,包括 C 、C++ 、Java 、JavaScript、Swift、Python、Go等。这项工作由一个由数百人组成的社区维护,是一项大规模的协作努力,旨在将现成的编码知识带到离线状态。cosmos 的高级结构:人工智能、回溯、位操作、元胞自动机、压缩算法 、计算几何、密码学、数据结构、设计模式、分而治之、动态规划、图形算法、贪婪算法、数学算法、联网、数值分析、在线挑战、操作系统、量子算法、随机算法、搜索、选择、排序、平方根分解、字符串算法、未分类。每种类型都有数百个问题,解决方案以多种语言进行,包括 C 、 C++ 、 Java Python Go 等。
* [dotnet/BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) BenchmarkDotNet是一个强大的 .NET 库,用于基准测试。它可以将方法转换为基准测试,跟踪其性能,并分享可重复的测量实验,就像编写单元测试一样简单。BenchmarkDotNet 利用 perfolizer 统计引擎进行自动化,确保结果可靠且精确。它可以识别常见的基准测试错误,并提醒你基准测试设计或测量结果存在问题。结果以用户友好的形式呈现,突出显示实验中的重要信息。BenchmarkDotNet 已被 22000 多个 GitHub 项目采用,包括 .NET Runtime、.NET Compiler、.NET Performance 等。你可以轻松开始编写基准测试,例如,使用 `[Benchmark]` 属性标记方法,BenchmarkDotNet会自动在所有运行时上运行基准测试,聚合测量结果,并打印包含重要信息的摘要表格。
* [awesome-developer-streams](https://github.com/bnb/awesome-developer-streams) 灵感来自令人敬畏的列表,专注于开发人员 + 流媒体。精选优秀开发人员直播列表的网站。这个列表由社区维护,旨在为那些对编程和技术感兴趣的人提供丰富多样的内容。网站上的内容分为多个部分,包括:A 到 Z 的字母顺序排列的开发人员列表。数字列表,展示了一些特定的开发人员及其专长。流媒体平台 Twitch 的目录列表,方便用户快速找到感兴趣的内容。在列表中,你可以找到开发人员们的名字、他们的直播主题、使用的编程语言和框架、以及他们开发的流媒体平台。这些开发人员来自不同的背景,有的是独立开发者,有的是企业工程师,他们通过直播分享自己的知识、项目开发过程、以及编码技巧等。
* [HigherOrderCO/Bend](https://github.com/HigherOrderCO/Bend) 一种高级、大规模并行编程语言。Bend 提供了 Python 和 Haskell 等富有表现力的语言的感觉和功能。这包括快速对象分配、对带闭包的高阶函数的完全支持、无限制递归,甚至 continuation。像 CUDA 一样扩展,它在 GPU 等大规模并行硬件上运行,基于内核计数具有近乎线性的加速,并且没有明确的并行注释:没有线程创建、锁、互斥锁或原子。Bend 由 HVM2 运行时提供支持。Bend 旨在通过内核扩展性能,支持超过 10000 个并发线程。当前版本的单核性能可能较低。随着我们改进代码生成和优化技术,您可以期待性能的大幅改进。我们仍在努力支持 Windows。使用 WSL2 作为替代解决方案。我们目前仅支持 NVIDIA GPU。
* [detailyang/awesome-cheatsheet](https://github.com/detailyang/awesome-cheatsheet) 这是一个收集各种编程语言、工具、平台和技术的速查表列表,涵盖了Android、Arduino、Docker、iOS、SaltStack、Nginx 等平台,以及 Ada、Assembly、C、C#、C++、Clojure、ClojureScript、Dart、Delphi、DotNet、Elixir、Elm、Erlang、F#、Go、Groovy、Haskell、Java、JavaScript、Kotlin、Lua、Objective-C、Perl、PHP、Python、R、Ruby、Rust、Scala、Swift、TypeScript 等编程语言,以及软件测试、前端开发、后端开发、大数据、理论、编辑器、工具、数据库、媒体、安全、项目管理等多个领域。该项目灵感来自 awesome 项目,并由众多贡献者共同维护。你可以通过提交 PR 来改进该项目,例如修正链接或提供更合适的链接。
* [mezod/awesome-indie](https://github.com/mezod/awesome-indie) 帮助独立开发者赚钱的资源。从自己的代码中赚钱从未如此简单,但仍然很难。在这里,我尝试整理一份资源列表,以帮助每个有兴趣从他们的数字产品中赚钱的人获得灵感并尝试一下。无论是将副业货币化、引导商业理念等。项目不需要很大,实际上,如果它们不需要,那就更好了,它们只需要有利可图。他们可能会在最初的大部分工作后提供被动收入,谁知道呢,甚至可能帮助您实现财务独立。独立游戏确实有很多生活方式的好处:)所有这些资源可能有助于激励你,让你走上正确的轨道,但最终重要的是制作和尝试东西。因此,请负责任地吞噬这些内容:)
* [jetify-com/devbox](https://github.com/jetify-com/devbox) Devbox是一个命令行工具,可以轻松创建隔离的开发环境。它通过定义开发环境所需的软件包列表,创建一个仅用于应用程序的隔离环境。Devbox类似于`yarn`等包管理器,但它管理的是操作系统级别的软件包(通常使用`brew`或`apt-get`安装)。Devbox可以从Nix包仓库安装超过400,000个软件包版本。它由Jetify开发,内部使用`nix`。Devbox可以创建一致的开发环境,让团队成员使用相同版本的工具;可以尝试新工具而不会污染笔记本电脑;可以创建隔离的环境,避免版本冲突;可以将环境带到任何地方。
* [braydie/HowToBeAProgrammer](https://github.com/braydie/HowToBeAProgrammer) 这是一个关于如何成为一名程序员的指南,由 Robert L Read 撰写并由社区贡献。它涵盖了从个人技能(如调试、优化、设计)到团队技能(如沟通、协作、估计)等各个方面,旨在帮助初学者和有经验的程序员提升技能,并提供一些在软件开发过程中可能遇到的问题的解决方案。该指南还强调了社交技能的重要性,并提供了一些关于如何与同事和客户进行有效沟通的建议。此外,该指南还提供了其他优秀编程书籍和文章的参考,以供读者进一步学习。该指南的中文和日文版本也已发布。
* [alibaba/COLA](https://github.com/alibaba/COLA) COLA是一个 Clean Object-oriented & Layered Architecture 的缩写,代表着“干净的面向对象分层架构”。它是一种架构设计模式,旨在帮助开发者构建易于维护、扩展和测试的应用程序。COLA 将应用程序分为两部分:COLA 架构和 COLA 组件。COLA 架构定义了应用程序的整体结构,包括分层结构、核心组件和通用规范。COLA 组件则提供了一些常用的功能模块,例如数据传输对象 (DTO)、服务接口和异常处理机制。COLA 的目标是通过清晰的架构设计和组件化开发,提高应用程序的代码质量和可维护性。
* [rstudio/cheatsheets](https://github.com/rstudio/cheatsheets) PositCheatsheets项目提供了一系列易于理解的速查表,帮助用户快速学习和使用热门R包。这些速查表以PDF格式发布在Posit官网,部分还集成在RStudio IDE中。该项目还提供更易访问的HTML格式速查表,并包含源文件、存档版本和翻译版本。用户可以根据创意共享许可协议自由使用和翻译这些速查表。该项目鼓励用户提交翻译版本和HTML格式的速查表,并提供了制作新速查表的指南,强调速查表应简洁明了,以视觉方式呈现关键信息,并提供清晰的组织结构和解释。
* [uraimo/Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) 这是一个精选的 Swift Playground 列表,包含 156 个 Playground,涵盖了Swift 学习、设计模式、协议导向编程、函数式响应式编程、算法与数据结构、机器学习、UIKit 和图形、音频、数学、库和 API 等主题。该项目还包含来自 WWDC 学生提交的 Playground、Playground Books 和 Apple 官方的 Playground。你可以通过 `git clone --recursive https://github.com/uraimo/Awesome-Swift-Playgrounds.git`命令下载所有 Playground。项目还提供了标签,方便你根据 Swift 版本、个人喜好等条件筛选 Playground。
* [SSHeRun/CS-Xmind-Note](https://github.com/SSHeRun/CS-Xmind-Note) 这是一个针对计算机专业课(408)的思维导图和笔记项目,包含计算机组成原理(第五版 王爱英)、数据结构(王道)、计算机网络(第七版 谢希仁)、操作系统(第四版 汤小丹)四门课程的知识点整理,以Xmind格式呈现,方便学生学习和复习。该项目由何润维护,笔记内容仅供学习参考,不保证其完整性和准确性,请勿用于商业用途。项目包含四门课程的思维导图和笔记,分别为:计算机组成原理、计算机操作系统、数据结构、计算机网络。
* [roc-lang/roc](https://github.com/roc-lang/roc) 一种快速、友好、实用的语言。Roc 代码旨在快速构建和快速运行。它可以编译为机器代码或 WebAssembly。Roc 的语法、语义和包含的工具集都优先考虑用户友好性。Roc 有少量的简单语言原语。它是一种单一范式的函数式语言。您可以使用此 read-eval-print 循环 (REPL) 来尝试 Roc,该循环在 WebAssembly 的浏览器中运行。您可以使用 Roc 创建脚本和命令行界面 (CLI)。编译器生成二进制可执行文件,因此 Roc 程序可以在未安装 Roc 本身的设备上运行。
* [gurugio/lowlevelprogramming-university](https://github.com/gurugio/lowlevelprogramming-university) 该项目旨在为想要成为低级程序员的人提供学习路线图,内容涵盖计算机体系结构、操作系统等理论基础,以及汇编语言、C语言、Rust语言等编程语言。项目还介绍了低级编程在硬件和固件、Linux内核和设备驱动等领域的应用,并提供了一些学习资源和建议。项目强调理论学习的重要性,建议通过在线课程学习相关知识,并鼓励读者通过实践来深入学习。项目也指出低级编程领域目前就业机会较少,建议尚未开始职业生涯的人谨慎考虑。
* [TJ-CSCCG/TJCS-Assignment](https://github.com/TJ-CSCCG/TJCS-Assignment) 这是一个同济大学计算机科学与技术、信息安全专业学生作业链接仓库,包含部分课程的习题、大作业仓库链接,欢迎大家贡献和支持。仓库内包含了多个课程的作业链接,例如Web技术、计算机系统结构、数据结构课程设计、编译原理课程设计、计算机网络导论、汇编语言程序设计、计算机图形学、操作系统课程设计、数据库系统原理课程设计、人工智能课程设计等。每个课程的作业链接都指向相应的仓库,方便学生参考学习。
* [Wilfred/difftastic](https://github.com/Wilfred/difftastic) Difftastic是一款结构化差异比较工具,它通过分析代码语法来比较文件。它支持超过30种编程语言,并能识别代码结构,例如嵌套、对齐和换行等。Difftastic可以与git、mercurial等版本控制系统集成,并提供直观的差异展示,帮助用户理解代码变更。它不生成补丁文件,也不进行代码合并。Difftastic的优势在于它可以识别代码结构,并提供更直观的差异展示,但它在处理大量变更文件时性能可能较差,且目前尚未与大多数工具集成。
* [r-lib/zeallot](https://github.com/r-lib/zeallot) zeallot 是一个 R 包,它提供了一个名为 `%u003c-%` 的操作符,用于实现多重赋值、解包和解构赋值。它允许你使用明确的变量名来简化代码,并从列表中解包值或解构对象元素。例如,你可以使用 `c(x, y) %u003c-% c(0, 1)` 将一个向量解包到两个变量 `x` 和 `y` 中,或者使用 `c(duration, wait) %u003c-% head(faithful)` 将数据框的列解构到 `duration` 和 `wait` 变量中。zeallot 还支持嵌套列表的解包和部分解包。你可以从 CRAN 或 GitHub 上安装 zeallot。
* [qinwf/awesome-R](https://github.com/qinwf/awesome-R) 精选的 R 包和工具列表。灵感来自令人敬畏的机器学习。包括:集成开发环境、语法、数据操作、图形显示、Html 小部件、可重复的研究、网络技术和服务、并行计算、高性能、语言 API、数据库管理、机器学习、自然语言处理、贝 叶 斯、优化、金融、生物信息学和生物统计学、网络分析、空间、R 开发、日志、数据包、其他工具、其他引擎、R学习、资源、网站链接、书、播客、参考卡、慕课、列表、其他精彩列表、贡献
* [thangchung/clean-code-dotnet](https://github.com/thangchung/clean-code-dotnet) 这是一个针对 .NET/.NET Core 的代码规范指南,它改编自 Robert C. Martin的《代码整洁之道》一书,旨在帮助开发者编写易读、可重用和可重构的 .NET 代码。该指南涵盖了命名、变量、函数、对象和数据结构、类、SOLID 原则、测试、并发、错误处理、格式化和注释等方面,并提供了具体的示例和建议,帮助开发者避免常见的代码问题。该指南还包含其他代码规范资源的链接,例如其他代码规范列表、风格指南、工具和速查表。
* [Universidade-Livre/ciencia-da-computacao](https://github.com/Universidade-Livre/ciencia-da-computacao) 计算机科学自学成才的途径,巴西自由大学提供的计算机科学课程是使用来自巴西的在线和葡萄牙语材料进行的完整计算机科学教育。本课程不是为特定技术的培训而设计的,也不是针对针对市场的专业技能而设计的,而是为那些希望自己的教育、高质量的、基于计算机基本概念的人设计的,专为具有纪律、承诺和(最重要的是)良好学习习惯的学生而设计,这些学生大多是独立的,但寻求巴西其他学生社区的支持。
* [linkedin/school-of-sre](https://github.com/linkedin/school-of-sre) LinkedIn的School of SRE项目旨在为初级SRE人才提供入门培训,帮助他们掌握SRE角色所需的技能。该项目涵盖了基础技能,例如Linux、Git、网络、Python、Web开发、数据库等,并提供实际案例,帮助学员理解这些知识在SRE日常工作中的应用。该项目旨在弥补SRE入门学习资源的不足,帮助更多人进入SRE领域。目前该项目已发布Level 101课程,包括Linux基础、Git、Linux网络、Python和Web开发、关系型数据库(MySQL)和NoSQL概念等内容。
* [ginobefun/bestblogs](https://github.com/ginobefun/bestblogs) 汇集顶级编程、人工智能、产品、科技文章,大语言模型摘要评分辅助阅读,探索编程和技术未来。bestblogs.dev 为您提供独特的编程、人工智能、产品设计、商业科技和个人成长领域的价值导向内容,汇集自顶级技术公司和社区。我们利用先进语言模型,为您摘要、评分和翻译这些文章,节省您的阅读时间。我们了解数据筛选的痛点,致力于为您呈现精选内容。立即订阅,探索未来技术的无限可能!
* [YSGStudyHards/DotNetGuide](https://github.com/YSGStudyHards/DotNetGuide) C#/.NET/.NET Core学习、工作、面试指南】记录、收集和总结C#/.NET/.NET Core基础知识、学习路线、开发实战、编程技巧练习、学习视频、文章、书籍、项目框架、社区组织、开发必备工具、技术前沿周刊、常见面试题、面试须知、简历模板、人才招聘、以及自己在学习和工作中的一些微薄见解。希望能和大家一起学习,共同进步。如果本知识库能为您提供帮助,别忘了给予支持哦(关注、点赞、分享)。
* [jupyter-lsp/jupyterlab-lsp](https://github.com/jupyter-lsp/jupyterlab-lsp) JupyterLab-lsp是基于语言服务器协议(LSP)的JupyterLab代码辅助工具,提供代码导航、悬停提示、代码检查、自动补全和重命名等功能,支持Python、R、Julia等多种语言。它通过集成语言服务器,在无需运行内核的情况下也能提供高级静态分析自动补全,并能与内核建议合并,提升代码编写效率。 该项目具有丰富的特性,例如代码跳转、引用高亮、自动签名提示等,显著改善JupyterLab的代码编辑体验。
* [zakirullin/cognitive-load](https://github.com/zakirullin/cognitive-load) Cognitive Load是一个关注代码可读性和开发者理解难度的项目,它认为代码的复杂性会造成认知负荷,进而影响开发效率。项目通过分析代码中常见的认知负荷来源,例如复杂的条件语句、嵌套的 if 语句、继承关系等,并提供相应的优化建议,旨在降低代码的认知负荷,提升代码可读性和可维护性。项目还提供了具体示例和代码片段,帮助开发者理解认知负荷的概念以及如何进行优化。
* [phodal/growth-ebook](https://github.com/phodal/growth-ebook) Growth Engineering: TheDefinitive Guide,全栈增长工程师指南。本书是一本实战指南,涵盖了增长工程师所需的知识体系,从用户增长、产品增长、数据分析、营销策略等方面进行全面阐述。作者结合自身经验,分享了大量案例和实践方法,帮助读者构建完整的增长思维,并掌握实际操作技巧。该项目还提供配套的Growth in Action实战案例,以及Repractise系列文章,帮助读者进一步学习和实践。
* [plasma-umass/coz](https://github.com/plasma-umass/coz) Coz是一个针对原生代码(C/C++/Rust)的性能分析工具,它使用一种名为“因果分析”的新技术来测量优化潜力,并预测优化代码对整体吞吐量或延迟的影响。Coz 生成的分析结果展示了优化代码行的“性价比”,帮助开发者找到最值得优化的代码部分。Coz 支持多种语言,包括 Java、Go 和 Swift,并可以在大多数现代 Linux 系统上运行。用户可以通过 apt 安装 Coz,也可以从源代码构建。
* [seanprashad/leetcode-patterns](https://github.com/seanprashad/leetcode-patterns) 此存储库适用于任何希望提高软件工程面试问题解决技能的个人。问题被分组到各自的子主题下,以便专注于重复应用常见模式,而不是随机处理问题。为了在练习时获得最大的成功,强烈建议了解以下数据结构的方法和运行时及其操作:ArraysMapsLinked ListsQueuesHeapsStacksTreesGraphs,此外,您应该很好地掌握常见的算法,例如:广度优先搜索、深度优先搜索、二分搜索、递归
* [dotnet/interactive](https://github.com/dotnet/interactive) .NET Interactive是一个交互式代码运行和编辑引擎及API,支持多种语言(如C#、F#、PowerShell、JavaScript、SQL、KQL、Python、R),可在Jupyter Notebook、Visual Studio Code的Polyglot Notebooks扩展等环境中运行,实现多语言代码混合使用、变量共享及远程机器间的交互。其特色在于简化多语言编程体验,无需安装多个内核或库,并支持构建REPL和嵌入式脚本引擎,甚至可在小型设备上运行。
* [Xtremilicious/projectlearn-project-based-learning](https://github.com/Xtremilicious/projectlearn-project-based-learning) ProjectLearn是一个项目学习资源库,提供精心策划的项目教程,帮助学习者从头开始构建应用程序。涵盖 Web 开发、移动开发、游戏开发、机器学习、深度学习和人工智能等多个领域,包含 ReactJS、NodeJS、VueJS、Flutter、React Native、.NET Core、Unity、TensorFlow、OpenCV、Keras 等热门语言和技术。通过参与这些项目,学习者可以以更有效的方式学习代码,并获得宝贵的实战经验。
* [milanm/DevOps-Roadmap](https://github.com/milanm/DevOps-Roadmap) 2024 年 DevOps 路线图。含学习资源。这是有关如何成为 DevOps 工程师的分步指南,其中包含相关学习资源的链接。此路线图的目的是让您了解环境。如果您对下一步要学习什么感到困惑,路线图将为您提供指导,而不是鼓励您选择炒作和时尚的东西。您应该进一步了解为什么一种工具比另一种工具更适合某些情况,并记住炒作和时尚并不总是意味着最适合这项工作。
* [JuanCrg90/Clean-Code-Notes](https://github.com/JuanCrg90/Clean-Code-Notes) 该项目是作者阅读《Clean Code》一书的笔记,包含了书中所有章节的总结和关键概念,例如命名规范、函数设计、代码格式、错误处理、单元测试等。作者认为,编写干净的代码不仅是提高代码可读性的关键,也是保证代码质量和可维护性的重要手段。项目中还强调了“童子军规则”的重要性,即在每次修改代码时都要留下比之前更干净的代码,以防止代码腐烂。
* [halide/Halide](https://github.com/halide/Halide) 一种用于快速、可移植数据并行计算的语言。Halide不是一种独立的编程语言,而是嵌入在C++中。这意味着您编写C++代码,使用 Halide 的 C++ API 构建 Halide 管道的内存中表示形式。然后,可以将此表示形式编译为对象文件,或者对其进行 JIT 编译并在同一进程中运行它。Halide 还提供了一个 Python 绑定,该绑定完全支持在没有C++的情况下编写嵌入在 Python 中的 Halide。
* [bchavez/Bogus](https://github.com/bchavez/Bogus) Bogus是一个简单易用的 .NET 假数据生成器,支持 C#、F# 和 VB.NET。它基于并移植自著名的 faker.js,并借鉴了 FluentValidation 的语法糖。Bogus 可以帮助您用假数据填充数据库、UI 和应用程序,以满足您的测试需求。Bogus基于 .NET Standard 1.3 或更高版本,并提供 NuGet 包。它已被多个知名项目使用,包括 Bitwarden Passwordless Server、Elasticsearch .NET Client (NEST) 和 FluentValidation。
* [atinfo/awesome-test-automation](https://github.com/atinfo/awesome-test-automation) 一个精选的测试自动化框架、工具、库和软件列表,支持多种编程语言,帮助软件工程师在需要时轻松启动测试自动化。该项目由https://testomat.io、https://zapple.tech和https://automated-testing.info赞助。内容涵盖Python、Java、Ruby、C#、PHP、JavaScript、Kotlin、移动测试自动化、通用测试自动化工具等。项目还包括《通过示例进行实用的测试自动化》。支持并欢迎贡献!
* [mhadidg/software-architecture-books](https://github.com/mhadidg/software-architecture-books) 该项目是一个关于软件架构书籍的综合性列表,包含系统架构、设计模式、领域驱动设计、微服务、数据工程、流式处理和消息传递、分布式系统、云工程、Web 可扩展性、敏捷、DevOps 等多个主题。该列表基于 Goodreads 上的软件架构书籍,并根据评分、评论数量和出版日期等因素进行排序,旨在为读者提供一个参考,帮助他们选择合适的书籍进行学习。
* [sdiehl/write-you-a-haskell](https://github.com/sdiehl/write-you-a-haskell) 该项目是一个从基础开始构建现代函数式编译器的教程,它以 Haskell 语言为基础,逐步讲解了编译器的各个组成部分,包括解析、词法分析、类型系统、代码生成等,并提供了一个名为 ProtoHaskell 的示例语言的实现。该教程包含了 28 章内容,涵盖了从基础的 Haskell 语法到高级的编译器设计,并提供了在线 HTML 和 PDF 版本,以及代码示例和构建说明。
* [XiangLinPro/IT_book](https://github.com/XiangLinPro/IT_book) 收藏这些年来看过或者听过的一些不错的常用的上千本书籍,没准你想找的书就在这里呢,包含了互联网行业大多数书籍和面试经验题目等等。有人工智能系列(常用深度学习框架TensorFlow、pytorch、keras。NLP、机器学习,深度学习等等),大数据系列(Spark,Hadoop,Scala,kafka等),程序员必修系列(C、C++、java、数据结构、linux,设计模式、数据库等等)
* [skywind3000/awesome-cheatsheets](https://github.com/skywind3000/awesome-cheatsheets) 这是一个包含编程语言、框架和开发工具的速查表集合,旨在提供单个文件内涵盖所有你需要知道的信息。该项目特色是提供中文速查表,方便中文用户快速查找和学习相关知识,并涵盖了多种编程语言、框架和开发工具的速查表。该项目灵感来源于 LeCoupa/awesome-cheatsheets,旨在打造一个中文的 Cheatsheet 项目,方便中文用户快速学习和使用。
* [careercup/CtCI-6th-Edition](https://github.com/careercup/CtCI-6th-Edition) 该项目提供了针对《Cracking the Coding Interview 第六版》的代码解决方案,涵盖了多种编程语言,并欢迎社区贡献。项目采用git submodule管理不同语言的解决方案,用户可以通过`git clone --recursive`命令获取所有语言的代码,也可以单独克隆Java语言的代码。项目提供详细的贡献指南,并提供不同语言解决方案的仓库地址,方便用户提交代码。
* [perklet/reverse-interview-zh](https://github.com/perklet/reverse-interview-zh) 这是一个包含技术面试反问面试官问题的列表,旨在帮助你更好地了解公司和职位。列表中包含一些常见问题,以及一些更深入的问题,可以帮助你评估公司的文化、价值观和发展方向。你可以根据自己的情况选择合适的提问,并根据面试官的回答进行更深入的了解。项目还提供英文、韩语、葡萄牙语和繁体中文等多种语言版本。
* [EndlessCheng/codeforces-go](https://github.com/EndlessCheng/codeforces-go) 这是一个用 Go 语言编写的算法竞赛模板库,由灵茶山艾府维护。它包含了常见的算法和数据结构的实现,例如单调栈、单调队列、双端队列、堆、并查集等,并提供了一些代码片段和示例,方便竞赛选手快速上手。该库还涵盖了常见的竞赛问题类型,如数论、图论、动态规划等,可以帮助选手更好地理解和解决算法问题。
* [liuchong/awesome-roadmaps](https://github.com/liuchong/awesome-roadmaps) 一个精选的路线图列表,主要关于软件开发,帮助你清晰地规划提升知识或技能的路径。项目包含编程语言(如C++、Go、Java、Node.js、PHP、Rust)、Web开发(如Angular、ASP.NET Core)、移动开发、游戏开发、AI/机器学习/数据科学等领域的路线图。每个路线图都有具体的年份标识,欢迎贡献,可以通过拉请求或创建问题来参与。
* [dailydotdev/daily](https://github.com/dailydotdev/daily) daily.dev是一个为开发者打造的专业网络,旨在帮助开发者学习、协作和共同成长。它提供个性化的新闻资讯、开发者社区和搜索功能,旨在为开发者提供更优质的体验。daily.dev 可离线使用,并提供浏览器扩展和渐进式网页应用 (PWA) 版本。开发者可以通过 Chrome 和 Edge 浏览器下载使用,也可以在移动设备上使用 PWA 版本。
* [kamranahmedse/developer-roadmap](https://github.com/kamranahmedse/developer-roadmap) 交互式路线图、指南和其他教育内容,以帮助开发人员在他们的职业生涯中成长。包括:前端、后端、开发运营、计算机科学、质量检查、软件架构师、软件设计和架构路、JavaScript、TypeScript、React、Vue 、Angular、Node.js、GraphQL、安卓、Flutter、Python、Go、Java、Spring Boot、设计系统、DBA、区块链、ASP.NET、系统设计、Kubernetes
* [ljinkai/weekly](https://github.com/ljinkai/weekly) 这是一个独立开发产品变现周刊项目,每周五发布,分享独立开发、产品变现相关内容,包括案例、工具、技巧等。该项目还提供学习资源,例如“小产品变现训练营”,并鼓励用户分享经验和提问。项目内容涵盖多个领域,例如AI写作SaaS、设计工具、网络分析工具等,并附有相关案例和链接,方便用户学习和参考。
* [jordan-cutler/path-to-senior-engineer-handbook](https://github.com/jordan-cutler/path-to-senior-engineer-handbook) 该项目是一个资源库,包含了通往高级软件工程师以及更高职位所需的各种资源,包括新闻通讯、书籍、课程、论文、YouTube 频道、播客、社区、LinkedIn 页面、平台和其他资源目录,涵盖了软件工程师成长、技术更新、框架和思维模式、系统设计、可靠性工程和领导力等方面,并提供了一些专门针对 Web 开发的资源。
* [HackerNews/API](https://github.com/HackerNews/API) Hacker News API 黑客新闻 API。通过与 Firebase 合作,我们以近乎实时的方式提供公开的 Hacker News 数据。借助 Firebase,您可以从 Android、iOS 和 Web 轻松访问。服务器不会被排除在外。如果您可以使用众多 Firebase 客户端库之一,那么您真的应该这样做。这些库可以有效地处理网络,并且可以在情况发生变化时引发事件。
* [stkeky/best-of-scala](https://github.com/stkeky/best-of-scala) 这是一个精心整理的 Scala 开源项目列表,包含 400 个项目,涵盖 22 个类别,并根据项目质量得分进行排名,该得分基于从 GitHub 和不同包管理器自动收集的各种指标。每个项目都标注了星标数量、贡献者数量、活跃度等信息,方便用户快速了解项目情况。该列表每周更新,欢迎用户提交项目或更新项目信息。
* [halfrost/Halfrost-Field](https://github.com/halfrost/Halfrost-Field) Halfrost-Field是一个博客仓库,包含了作者学习编程的笔记和心得,涵盖了Go、Swift、Objective-C、JavaScript 等多种语言,以及 iOS、Android、Mac、Web 等多个平台。仓库中包含了大量文章,总阅读量超过 318 万次,总字数超过 57.8 万字。作者希望通过分享自己的学习经验,帮助其他开发者快速入门和提高编程技能。
* [jeffdaily/parasail](https://github.com/jeffdaily/parasail) parasail是一个SIMD C库,包含Smith-Waterman(局部)、Needleman-Wunsch(全局)和各种半全局成对序列比对算法的实现。它支持多种向量化成对序列比对算法,包括对角线、块状、条纹和前缀扫描,并提供当前最先进CPU上性能最佳算法的实现。parasail提供了C、Python、Rust和Java等语言的绑定,并支持Windows平台构建。
* [polynote/polynote](https://github.com/polynote/polynote) Polynote是一个实验性的多语言笔记本环境,支持 Scala、Python(带或不带 Spark)、SQL 和 Vega。它提供现代的代码编辑功能,如自动补全和参数提示,并支持 WYSIWYG 文本编辑器和 TeX 公式。Polynote 允许你在一个笔记本中混合使用多种语言,并提供运行时洞察,例如任务区域、符号表和错误高亮显示。
* [zhanwen/MathModel](https://github.com/zhanwen/MathModel) 该项目为研究生和本科生数学建模竞赛提供资源,包括最新竞赛试题、优秀论文、算法思维导图、参考书籍、Matlab软件教程和 PPT。项目特色是提供最新竞赛信息和资源,并包含 LaTeX 论文模板,方便参赛者撰写论文。项目还提供算法思维导图和参考书籍,帮助参赛者学习和理解数学建模方法。
* [liyupi/codefather](https://github.com/liyupi/codefather) 程序员鱼皮的编程宝典,提供原创编程学习路线,涵盖经验分享、技术知识、学习资源、学习建议和项目等内容,适合所有学习编程和求职的同学。包含 Java、前端、C++、Python、SQL、计算机基础、数据结构与算法、Git & GitHub、Linux、设计模式等多个方向的学习路线,帮助程序员快速入门。
* [soulmachine/acm-cheat-sheet](https://github.com/soulmachine/acm-cheat-sheet) 这是一个ACM竞赛备忘单项目,提供C、C++、Java三种语言版本的PDF文件,包含了竞赛中常用的代码片段和算法知识,方便选手快速查找和使用。项目使用LaTeX排版,并提供Docker和VS Code两种编译方式,方便用户在不同平台上进行编译。项目还提供10个字体文件,方便用户在不同操作系统上使用。
* [apple/pkl](https://github.com/apple/pkl) Pkl是一种配置即代码语言,提供丰富的验证和工具。它支持安装、语言参考、文档、社区交流和开发等功能。Pkl 还拥有多个相关仓库,例如用于 Go、Swift、JVM 等语言的绑定,以及用于 Kubernetes、Spring Boot 等框架的扩展。用户可以通过 Pkl的官方网站、GitHub 仓库和社区论坛获取更多信息。
* [shekhargulati/52-technologies-in-2016](https://github.com/shekhargulati/52-technologies-in-2016) 该项目旨在2016年每周学习一项新技术,作者每周日都会发布一篇博客文章介绍所学技术。项目包含了42篇博客文章,涵盖了Finatra、SBT、Stanford CoreNLP、Slick、OkHttp等多种技术,每篇博客都包含了简单的应用示例和详细的教程。该项目已停止更新,但仍然可以作为学习新技术的参考资源。
* [dipakkr/A-to-Z-Resources-for-Students](https://github.com/dipakkr/A-to-Z-Resources-for-Students) 当我在大学时,由于缺乏意识,我错过了很多机会,如黑客马拉松、会议、实习、研讨会和许多全球活动。我不希望新兴开发者和我一样受苦。因此,我和周围的其他一些开发人员为学生收集了一份资源清单。如果你在上大学,大学毕业生,或者刚开始做开发人员,你一定要去看看!
* [Z3Prover/z3](https://github.com/Z3Prover/z3) Z3是微软研究院开发的一个定理证明器,它使用 MIT 许可证。Z3 可以用于验证软件和硬件、解决约束满足问题以及自动推理。它支持多种编程语言的绑定,并提供预编译的二进制文件。Z3 可以使用 Visual Studio、Makefile 或 CMake 进行构建。用户可以通过 GitHub 页面获取更多信息和构建说明。
* [TJ-CSCCG/TJCS-Course](https://github.com/TJ-CSCCG/TJCS-Course) 这是一个同济大学计算机科学与技术、信息安全专业课程资源共享仓库,包含部分科目介绍、报告模板、实验工具等内容,旨在为学生提供学习资源和帮助,并期待更多课程加入。项目以“与人与事与天下”为理念,希望通过资源共享促进学习交流,并帮助学生更好地理解课程内容。
* [ashishps1/awesome-low-level-design](https://github.com/ashishps1/awesome-low-level-design) 这是一个用于学习低级别设计 (LLD) 和面向对象设计 (OOD)并为面试做准备的资源库。它包含基本 OOP 概念、SOLID原则、设计模式、UML 图表以及如何回答 LLD 面试问题的指南。该项目还提供了一些 LLD 面试问题,从简单的停车场设计到中等难度的发布-订阅系统设计,涵盖了各种主题。
* [IHaskell/IHaskell](https://github.com/IHaskell/IHaskell) IHaskell是Jupyter项目的一个内核,允许在Jupyter前端(包括控制台和笔记本)中使用Haskell,支持GHC 8.4到9.10版本。它提供交互式浏览器内笔记本,方便用户在CoCalc或mybinder.org上直接使用。安装方法包含Linux、macOS和WSL (Windows Subsystem for Linux)的详细步骤,需要安装Stack和Jupyter等依赖。
* [bregman-arie/devops-resources](https://github.com/bregman-arie/devops-resources) 该项目是一个 DevOps 资源库,包含大量关于 DevOps 的有用资源和信息,并提供DevOps 学习路线图。项目涵盖了 Linux、Jenkins、AWS、SRE、Prometheus、Docker、Python、Ansible、Git、Kubernetes、Terraform、OpenStack、SQL、NoSQL、Azure 和 GCP 等多个领域,用户可以自由地提交 Pull Request 添加更多资源。
* [viraptor/reverse-interview](https://github.com/viraptor/reverse-interview) 这是一个包含面试时可以问公司的技术类问题列表,旨在帮助求职者更好地了解公司和职位。该项目包含了各种问题,涵盖了团队、工作内容、技术栈、公司文化等方面,并提供多种语言版本。求职者可以根据自己的情况选择合适的提问,并通过提问了解公司是否适合自己。
* [JamesNK/Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) Json.NET 是一个流行的、高性能的 .NET JSON 框架,用于将 .NET 对象序列化为 JSON 并将 JSON 字符串反序列化为 .NET 对象。它提供了丰富的功能,包括自定义序列化和反序列化、属性映射、JSON 转换器和 LINQ to JSON 查询。Json.NET 支持各种 .NET 平台,包括 .NET Framework、.NET Core 和 Mono。
* [almond-sh/almond](https://github.com/almond-sh/almond) almond是一个用于Jupyter的Scala内核,允许用户在Jupyter Notebook中使用Scala编程语言。它通过提供一个Scala运行环境来实现这一功能,方便用户进行交互式编程、数据分析和机器学习等任务。项目文档和开发者文档可在项目网站和GitHub仓库中找到,欢迎贡献代码和提出问题。
* [0voice/expert_readed_books](https://github.com/0voice/expert_readed_books) 这是一个推荐工程师阅读书籍的项目,涵盖了计算机科学、软件技术、创业、思想、数学、人物传记等多个领域,并根据书籍类别进行了分类,方便工程师们根据自身需求进行选择。项目提供书籍列表、简介和阅读后的感想,帮助工程师们提升专业技能和个人素养。
* [oldratlee/translations](https://github.com/oldratlee/translations) 这是一个收集经典软件开发资源的中文翻译项目,旨在帮助开发者更便捷地学习和理解英文资料。项目特色包括:方便开发者深入学习,提升写作技能,并提供高质量的中文翻译资源。项目原理是将经典英文资源进行翻译,并提供开源代码,方便开发者使用和贡献。
* [JoseDeFreitas/awesome-youtubers](https://github.com/JoseDeFreitas/awesome-youtubers) 一个包含众多技术类YouTuber的精选列表,涵盖Web开发、计算机科学、机器学习、游戏开发、网络安全等领域教程。主要内容包括React.js、JavaScript、前端和后端开发等技术,适合观看视频学习技术知识。该项目仅包含英语频道,其他语言的列表可在其他仓库找到。
* [forthespada/CS-Books](https://github.com/forthespada/CS-Books) 超过1000本的计算机经典书籍、个人笔记资料以及本人在各平台发表文章中所涉及的资源等。书籍资源包括C/C++、Java、Python、Go语言、数据结构与算法、操作系统、后端架构、计算机系统知识、数据库、计算机网络、设计模式、前端、汇编以及校招社招各种面经
* [forthespada/InterviewGuide](https://github.com/forthespada/InterviewGuide) 「InterviewGuide」是阿秀从校园到职场多年计算机自学的记录及学弟学妹们计算机校招&秋招经验总结文章汇总,包括C/C++、Golang、JavaScript、Vue、操作系统、数据结构、计算机网络、MySQL、Redis等学习总结,旨在帮助大家通过系统学习和经验分享提升技术水平。
* [crystal-lang/crystal](https://github.com/crystal-lang/crystal) 一种编程语言,具有以下目标:具有类似于 Ruby 的语法(但与它的兼容性不是目标)。静态类型检查,但不必指定变量或方法参数的类型。能够通过在 Crystal 中编写绑定来调用 C 代码。具有编译时评估和代码生成,以避免样板代码。编译为高效的本机代码。
* [mandliya/algorithms_and_data_structures](https://github.com/mandliya/algorithms_and_data_structures) 这是一个使用 C++ 和 Python 实现的算法和数据结构问题集,包含 188 个 C++ 问题和 15 个 Python 问题。该项目涵盖了链表、树、图、排序、搜索等多种数据结构和算法,并提供了相应的代码示例。项目还包含一些旧代码,可能存在安全问题,建议谨慎使用。
* [valeman/Awesome_Math_Books](https://github.com/valeman/Awesome_Math_Books) Awesome_Math_Books 是一个 GitHub 项目,收集了大量数学书籍资源,包括概率论、数学分析、线性代数、组合数学、运筹学等多个领域。该项目提供了书籍的链接,方便用户下载和阅读,其中包含一些经典教材和练习题集,适合不同学习阶段的数学爱好者。
* [DoctorWkt/acwj](https://github.com/DoctorWkt/acwj) 在这个 Github 存储库中,我记录了我为 C 语言的子集编写自编译编译器的历程。我还写下了细节,这样,如果你想跟着走,会有一个关于我做了什么、为什么的解释,以及一些对编译器理论的引用。但不要太多的理论,我希望这是一次实际的旅程。
* [chubin/cheat.sh](https://github.com/chubin/cheat.sh) 统一访问世界上最好的社区驱动的备忘单存储库。涵盖 56 种编程语言、多种 DBMS 和 1000 多个最重要的 UNIX/Linux 命令。提供对世界上最好的社区驱动的备忘单存储库的访问,与 StackOverflow 相当。随处可用,无需安装,但可以安装以供离线使用。
* [HaxeFoundation/haxe](https://github.com/HaxeFoundation/haxe) 可让您轻松构建面向许多主流平台的跨平台工具和应用程序。Haxe 工具包包括:Haxe 编程语言,一种现代、高级、严格类型的编程语言、Haxe 交叉编译器,适用于许多目标的最先进的闪电般的编译器、Haxe 标准库,一个完整的跨平台通用功能库
* [Olshansk/interview](https://github.com/Olshansk/interview) 一个准备技术面试所需的一切,包括算法书籍、编码练习平台、指南、模拟面试资源等,涵盖多种编程语言和技术领域,如Android、ASP.NET、C#、Go、JavaScript、Node、PHP、Python、React等,还有其他主题如加密、数学、网络、操作系统和系统设计。
* [justinamiller/SoftwareArchitect](https://github.com/justinamiller/SoftwareArchitect) 什么是软件架构师?软件架构师是做出高级设计选择并规定技术标准(包括软件编码标准、工具和平台)的软件专家。 软件架构是系统的基本组织,由其组件、组件之间的关系以及与环境的关系以及决定系统设计和演化的原则来表示。
* [wolverinn/Waking-Up](https://github.com/wolverinn/Waking-Up) 计算机基础(计算机网络/操作系统/数据库/Git...)面试问题全面总结,包含详细的follow-up question以及答案;全部采用【问题+追问+答案】的形式,即拿即用,直击互联网大厂面试;可用于模拟面试、面试前复习、短期内快速备战面试
* [xitu/gold-miner](https://github.com/xitu/gold-miner) 翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖区块链、人工智能、Android、iOS、前端、后端、设计、产品、算法和其他等领域,以及各大型优质 官方文档及手册,读者为热爱新技术的新锐开发者。
* [harvic/CS-Learning-res](https://github.com/harvic/CS-Learning-res) 该项目是一个计算机科学学习资源库,包含43个方向的电子书和视频,总计3T资源,涵盖入门、进阶、实战等所有内容,并以系列的形式组织,是学习计算机科学的完美入门资源。项目提供百度网盘链接,方便用户下载学习。
* [doocs/leetcode](https://github.com/doocs/leetcode) 本项目包含 LeetCode、《剑指 Offer(第 2 版)》、《剑指 Offer(专项突击版)》、《程序员面试金典(第 6 版)》等题目的相关题解。所有题解均由多种编程语言实现,包括但不限于:Java、Python、C++、Go、TypeScript、Rust
* [fishercoder1534/Leetcode](https://github.com/fishercoder1534/Leetcode) 该项目提供LeetCode题解,每日更新,涵盖算法、数据库、Shell和Javascript等类别,并提供详细的贡献指南。项目使用Java、MySQL和Bash语言,并支持IntelliJ IDEA导入。此外,项目还提供YouTube频道链接,方便用户进一步学习。
* [AkashSingh3031/The-Complete-FAANG-Preparation](https://github.com/AkashSingh3031/The-Complete-FAANG-Preparation) 包含所有 DSA(数据结构、算法、Love Babbar Bhaiya 的 450 个 DSA、FAANG 问题)、技术主题(OS + DBMS + SQL + CN + OOP)理论+问题、FAANG 面试问题和其他内容(编程 MCQ、谜题、能力、推理)。用于演示的编程语言是C++,Python
* [red/red](https://github.com/red/red) 受 Rebol 强烈启发的下一代编程语言,但由于其本机代码编译器,从系统编程到高级脚本和跨平台反应式 GUI,具有更广泛的使用领域,同时提供对并发的现代支持,所有这些都在一个零安装、配置、 ~1MB 文件中
* [Tikam02/DevOps-Guide](https://github.com/Tikam02/DevOps-Guide) 这是一个DevOps 指南项目,包含从开发到生产环境配置的各种工具和技术,并提供基本笔记以帮助高效调试。项目涵盖 Docker、Kubernetes、Prometheus、Git、Ansible、Terraform 和 Jenkins 等工具,并提供相关概念和教程。
* [Ebazhanov/linkedin-skill-assessments-quizzes](https://github.com/Ebazhanov/linkedin-skill-assessments-quizzes) LinkedIn 答案 2023 技能评估的完整参考(aws-lambda、rest-api、javascript、react、git、html、jquery、mongodb、java、Go、python、机器学习、power-point) LinkedIn excel 测试 lösungen, LinkedIn 机器学习测试 LinkedIn 测试问题和答案
* [williamfiset/Algorithms](https://github.com/williamfiset/Algorithms) 算法和数据结构是高效代码和良好软件设计的基础。创建和设计优秀的算法是成为模范程序员的必要条件。此存储库的目标是演示如何以最简单、最优雅的方式正确实现常见的数据结构和算法。
* [yangwenmai/github-trending-backup](https://github.com/yangwenmai/github-trending-backup) 该项目每天抓取 GitHub Trending 页面中 Go、Rust、Python 等 20多种编程语言的热门项目,并生成 Markdown 格式的备份文件,方便用户查看历史趋势。项目每天更新一次,最新备份文件为 2024-10-29.md。
* [qinjx/30min_guides](https://github.com/qinjx/30min_guides) 覃健祥的学习笔记,包含各种30分钟入门指南,涵盖 iOS 开发、Shell编程、移动设备定位原理、商业促销规则等多个领域。项目以简洁易懂的语言,帮助用户快速掌握基础知识和实用技巧。
* [youngyangyang04/leetcode-master](https://github.com/youngyangyang04/leetcode-master) 《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维导图,支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习不再迷茫
* [youngyangyang04/leetcode-master](https://github.com/youngyangyang04/leetcode-master) 《代码随想录》LeetCode 刷题攻略:200道经典题目刷题顺序,共60w字的详细图解,视频难点剖析,50余张思维导图,支持C++,Java,Python,Go,JavaScript等多语言版本,从此算法学习不再迷茫
* [imarvinle/awesome-cs-books](https://github.com/imarvinle/awesome-cs-books) 经典编程书籍大全,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试等
* [jeffgerickson/algorithms](https://github.com/jeffgerickson/algorithms) 杰夫·埃里克森的算法书、笔记等。杰夫·埃里克森(Jeff Erickson)是伊利诺伊大学厄巴纳-香槟分校的计算机科学教授;这本书基于他自 1998 年以来在那里教授的算法课程。
* [iamshuaidi/CS-Book](https://github.com/iamshuaidi/CS-Book) 计算机类常用电子书整理,并且附带下载链接,包括Java,Python,Linux,Go,C,C++,数据结构与算法,人工智能,计算机基础,面试,设计模式,数据库,前端等书籍
* [enso-org/enso](https://github.com/enso-org/enso) 一种屡获殊荣的交互式编程语言,具有双重视觉和文本表示。它是一个跨越整个堆栈的工具,从高级可视化和通信到后端服务的细节,所有这些都使用一种语言。
* [practical-tutorials/project-based-learning](https://github.com/practical-tutorials/project-based-learning) 编程教程列表,有抱负的软件开发人员可以在其中学习如何从头开始构建应用程序。这些教程分为不同的主要编程语言。教程可能涉及多种技术和语言。
* [ruby/ruby](https://github.com/ruby/ruby) 一种解释型面向对象的编程语言,通常用于 Web 开发。它还提供了许多脚本功能来处理纯文本和序列化文件,或管理系统任务。它简单、直接且可扩展。
* [arthurspk/guiadevbrasil](https://github.com/arthurspk/guiadevbrasil) 一个广泛的信息指南,其中包含来自各个领域的大量内容,以帮助、添加知识和回答问题,在本指南中,您将找到任何与技术相关的职业所需的一切。
* [labuladong/fucking-algorithm](https://github.com/labuladong/fucking-algorithm) 共 60 多篇原创文章,都是基于 LeetCode 的题目,涵盖了所有题型和技巧,而且一定要做到举一反三,通俗易懂,绝不是简单的代码堆砌,后面有目录。
* [wren-lang/wren](https://github.com/wren-lang/wren) Wren编程语言。Wren 是一种小型、快速、基于类的并发脚本语言。想想 Smalltalk 在一个 Lua 大小的包中,带有一点 Erlang,并用熟悉的现代语法包裹起来。
* [apple/swift](https://github.com/apple/swift) Swift 是一种高性能的系统编程语言。它具有简洁现代的语法,提供对现有 C 和 Objective-C 代码和框架的无缝访问,并且默认情况下是内存安全的。
* [nim-lang/Nim](https://github.com/nim-lang/Nim) 静态类型的编译系统编程语言。它结合了来自Python,Ada和Modula等成熟语言的成功概念。它的设计侧重于效率、表现力和优雅(按优先级顺序)。
* [Dujltqzv/Some-Many-Books](https://github.com/Dujltqzv/Some-Many-Books) 这是一个个人收藏的书籍列表,包含了各种主题的书籍,包括计算机技术、设计、编程等,并提供了PDF下载链接,方便用户快速获取书籍内容。
* [gleam-lang/gleam](https://github.com/gleam-lang/gleam) 用于构建类型安全、可扩展系统的友好语言。它可以编译为Erlang(或JS),并与其他BEAM语言(如Erlang,Elixir和LFE)具有直接的互操作。
* [aalhour/awesome-compilers](https://github.com/aalhour/awesome-compilers) 编译器、解释器和运行时领域的精彩资源、学习材料、工具、框架、平台、技术和源代码项目的精选列表。这份名单偏向于教育。
* [resumejob/interview-questions](https://github.com/resumejob/interview-questions) Interview Questions for Google, Amazon, Apple, etc. 根据超过 2000 篇真实面经整理的腾讯,阿里,字节跳动,Shopee,美团,滴滴高频面试题
* [ForrestKnight/open-source-cs](https://github.com/ForrestKnight/open-source-cs) 来自麻省理工学院、斯坦福和普林斯顿等知名大学的精选免费课程列表,与本科计算机科学学位相同的要求,减去通识教育。
* [NotFound9/interviewGuide](https://github.com/NotFound9/interviewGuide) 《大厂面试指北》—包括Java、JVM、数据库、mysql、网络、算法、数据结构、操作系统、设计模式、系统设计、框架原理。
* [krahets/hello-algo](https://github.com/krahets/hello-algo) 《Hello 算法》:动画图解、一键运行的数据结构与算法教程,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Rust, Dart, Zig 等语言。
* [gdcmarinho/awesome-project](https://github.com/gdcmarinho/awesome-project) 这是一个精心整理的项目开发链接列表,提供项目开发相关的资源,包括项目浏览入口、贡献指南和MIT许可证信息。
* [InterviewMap/CS-Interview-Knowledge-Map](https://github.com/InterviewMap/CS-Interview-Knowledge-Map) 建立最佳面试地图。目前的内容包括JS、网络、浏览器相关、性能优化、安全性、框架、Git、数据结构、算法等。
* [ocaml-community/awesome-ocaml](https://github.com/ocaml-community/awesome-ocaml) 精选的 OCaml 工具、框架、库和文章的参考资料列表。此外,还有一系列免费提供的书籍、论文和演示文稿。
* [xiaolincoder/CS-Base](https://github.com/xiaolincoder/CS-Base) 图解计算机网络、操作系统、计算机组成、数据库,共 1000 张图 + 50 万字,破除晦涩难懂的计算机基础知识
* [prakhar1989/awesome-courses](https://github.com/prakhar1989/awesome-courses) 令人敬畏的 CS 课程,这些课程提供高质量的材料,即免费在线提供作业、讲座、笔记、阅读材料和考试。
* [geekxh/hello-algorithm](https://github.com/geekxh/hello-algorithm) 针对小白的算法训练 | 包括四部分:①.大厂面经 ②.力扣图解 ③.千本开源电子书 ④.百张技术思维导图
* [kdeldycke/awesome-falsehood](https://github.com/kdeldycke/awesome-falsehood) 程序员相信的谎言 Awesome 的精选清单。谬误是你最初认为是真的想法,但实际上,它被证明是错误的。
* [LeCoupa/awesome-cheatsheets](https://github.com/LeCoupa/awesome-cheatsheets) 流行编程语言、框架和开发工具的精彩备忘单。它们在一个文件中包含您应该知道的所有内容。
* [GitHubDaily/GitHubDaily](https://github.com/GitHubDaily/GitHubDaily) 坚持分享 GitHub 上高质量、有趣实用的开源技术教程、开发者工具、编程网站、技术资讯。
* [winglang/wing](https://github.com/winglang/wing) 面向云的编程语言 统一的编程模型,将基础结构和运行时代码组合成一种语言。
* [girliemac/a-picture-is-worth-a-1000-words](https://github.com/girliemac/a-picture-is-worth-a-1000-words) 用简单的涂鸦来描述复杂的事情!包括:算法、web、机器学习、Git、HTTP 状态等
* [DeathKing/Learning-SICP](https://github.com/DeathKing/Learning-SICP) MIT视频公开课《计算机程序的构造和解释》中文化项目及课程学习资料搜集。
* [gluon-lang/gluon](https://github.com/gluon-lang/gluon) 一种用 Rust 编写的静态、类型推断和可嵌入语言。专为应用程序嵌入而设计。
* [mouredev/retos-programacion-2023](https://github.com/mouredev/retos-programacion-2023) 2023 年每周一次的代码练习,来自 MoureDev 社区,以练习任何编程语言的逻辑。
* [MTrajK/coding-problems](https://github.com/MTrajK/coding-problems/) 各种编码/算法问题的解决方案以及许多用于学习算法和数据结构的python资源
* [kdn251/interviews](https://github.com/kdn251/interviews) 获得这份工作需要知道的一切,包括面试、数据结构、算法、计算机书籍等
* [CyC2018/CS-Notes](https://github.com/CyC2018/CS-Notes) 技术面试必备基础知识、Leetcode、计算机操作系统、计算机网络、系统设计
* [donnemartin/interactive-coding-challenges](https://github.com/donnemartin/interactive-coding-challenges) 120+ 交互式 Python 编码面试挑战(算法和数据结构)。包括 Anki 抽认卡。
* [apachecn/Interview](https://github.com/apachecn/Interview) IT 行业应试学知识库,Interview = 简历指南 + 算法题 + 八股文 + 源码分析
* [Sairyss/domain-driven-hexagon](https://github.com/Sairyss/domain-driven-hexagon) 了解领域驱动设计、软件架构、设计模式和最佳实践。包含代码示例
* [greatghoul/remote-working](https://github.com/greatghoul/remote-working) 本列表主要用于整理中国国内的资源或者对国内受众友好的国外资源
* [trekhleb/javascript-algorithms](https://github.com/trekhleb/javascript-algorithms) 用 JavaScript 实现的算法和数据结构,带有解释和进一步阅读的链接
* [JetBrains/kotlin](https://github.com/JetBrains/kotlin) 开源的静态类型编程语言,由 JetBrains 和开源贡献者支持和开发。
* [greyireland/algorithm-pattern](https://github.com/greyireland/algorithm-pattern) 算法模板,最科学的刷题方式,最快速的刷题路径,你值得拥有~
* [witheve/Eve](https://github.com/witheve/Eve) Eve 是一种编程语言,基于多年构建以人为本的编程平台的研究。
* [ZachGoldberg/Startup-CTO-Handbook](https://github.com/ZachGoldberg/Startup-CTO-Handbook) 涵盖领导力、管理和技术主题的书,面向软件工程团队的领导者
* [JaeYeopHan/Interview_Question_for_Beginner](https://github.com/JaeYeopHan/Interview_Question_for_Beginner) 为那些开始学习编程的人编写的技术面试指南。祝你一切顺利。
* [TheAlgorithms/JavaScript](https://github.com/TheAlgorithms/JavaScript) 在 JavaScript 中为初学者实现的算法和数据结构,遵循最佳实践。
* [ziglang/zig](https://github.com/ziglang/zig) 通用编程语言和工具链,用于维护健壮、最佳和可重用的软件。
* [liuxinyu95/AlgoXY](https://github.com/liuxinyu95/AlgoXY) 介绍了基本函数算法和数据结构,并提供了 120 个练习和答案。
* [3b1b/manim](https://github.com/3b1b/manim) 用于精确编程动画的引擎,专为创建解释性数学视频而设计。
* [unisonweb/unison](https://github.com/unisonweb/unison) 现代静态纯函数式语言,使用单个程序描述整个分布式系统。
* [chefyuan/algorithm-base](https://github.com/chefyuan/algorithm-base) 一位酷爱做饭的程序员,立志用动画将算法说的通俗易懂。
* [mtdvio/every-programmer-should-know](https://github.com/mtdvio/every-programmer-should-know) 每个软件开发人员都应该知道的(主要是)技术知识的集合
* [csseky/cskaoyan](https://github.com/csseky/cskaoyan) 提供计算机考研和软件工程考研专业的各个学校 考研真题
* [1c7/Crash-Course-Computer-Science-Chinese](https://github.com/1c7/Crash-Course-Computer-Science-Chinese) 计算机速成课 | Crash Course 字幕组 (全40集 2018-5-1 精校完成)
* [TheAlgorithms/Go](https://github.com/TheAlgorithms/Go) 在 Go 中为初学者实现的算法和数据结构,遵循最佳实践。
* [FreeCodeCampChina/freecodecamp.cn](https://github.com/FreeCodeCampChina/freecodecamp.cn) FCC中国开源代码库和课程。学习编码并帮助非营利组织。
* [DopplerHQ/awesome-interview-questions](https://github.com/DopplerHQ/awesome-interview-questions) 精心策划的令人敬畏的计算机编程面试问题列表列表。
* [weartist/computer_book_list](https://github.com/weartist/computer_book_list) 综合了豆瓣,goodreads综合评分的计算机书籍书单
* [lnishan/awesome-competitive-programming](https://github.com/lnishan/awesome-competitive-programming) 竞争性编程、算法和数据结构资源的精选列表
* [yangshun/tech-interview-handbook](https://github.com/yangshun/tech-interview-handbook) 为繁忙的软件工程师精心策划的编码面试材料
* [afatcoder/LeetcodeTop](https://github.com/afatcoder/LeetcodeTop) 汇总各大互联网公司容易考察的高频leetcode题
* [hackjutsu/Lepton](https://github.com/hackjutsu/Lepton) 由 GitHub Gist 提供支持的精益代码片段管理器
* [papers-we-love/papers-we-love](https://github.com/papers-we-love/papers-we-love) 来自计算机科学界的论文可供阅读和讨论。
* [jaywcjlove/reference](https://github.com/jaywcjlove/reference) 为开发人员分享快速参考备忘清单(速查表)
* [azl397985856/leetcode](https://github.com/azl397985856/leetcode) leetcode题解,记录自己的leetcode解题之路。
* [washam/coding-interview-university](https://github.com/jwasham/coding-interview-university) 成为软件工程师的完整计算机学习计划。
* [Kristories/awesome-guidelines](https://github.com/Kristories/awesome-guidelines) 精选的高质量编码风格约定和标准列表。
* [wangzheng0822/algo](https://github.com/wangzheng0822/algo) 数据结构和算法必知必会的50个代码实现
* [Developer-Y/cs-video-courses](https://github.com/Developer-Y/cs-video-courses) 带有视频讲座的计算机科学课程列表。
* [gyoogle/tech-interview-for-developer](https://github.com/gyoogle/tech-interview-for-developer) 新开发者专业知识与技术访谈百科全书
* [MisterBooo/LeetCodeAnimation](https://github.com/MisterBooo/LeetCodeAnimation) 用动画的形式呈现解LeetCode题目的思路
* [freeCodeCamp/freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp) 开源代码库和课程。免费学习编码。
* [lk-geimfari/awesomo](https://github.com/lk-geimfari/awesomo) 用各种语言编写的很酷的开源项目。
* [algorithm-visualizer](https://github.com/algorithm-visualizer/algorithm-visualizer) 代码算法的可视化交互式在线平台。
* [bbatsov/clojure-style-guide](https://github.com/bbatsov/clojure-style-guide) Clojure编程语言的社区编码风格指南
* [typelead/eta](https://github.com/typelead/eta) Eta编程语言,JVM上Haskell的一种方言
* [leachim6/hello-world](https://github.com/leachim6/hello-world) 在每种计算机语言中的Hello world。
* [ossu/computer-science](https://github.com/ossu/computer-science) 计算机科学免费自学教育之路!
* [compiler-explorer/compiler-explorer](https://github.com/compiler-explorer/compiler-explorer) 一个交互式编译器探索网站。在
* [justjavac/free-programming-books-zh_CN](https://github.com/justjavac/free-programming-books-zh_CN) 免费的计算机编程类中文书籍
* [QSCTech/zju-icicles](https://github.com/QSCTech/zju-icicles) 浙江大学课程攻略共享计划
* [7-sevens/Developer-Books](https://github.com/7-sevens/Developer-Books) 存储库:开发人员书籍列表
* [charlax/professional-programming](https://github.com/charlax/professional-programming) 程序员的全栈资源集合。
* [xtaci/algorithms](https://github.com/xtaci/algorithms) C++中的算法和数据结构。
* [ChenYilong/iOSInterviewQuestions](https://github.com/ChenYilong/iOSInterviewQuestions) iOS面试题集锦(附答案)
* [ritz078/transform](https://github.com/ritz078/transform) 在线的多语言转换工具。
* [koka-lang/koka](https://github.com/koka-lang/koka) Koka 语言编译器和解释器
* [izackwu/TeachYourselfCS-CN](https://github.com/izackwu/TeachYourselfCS-CN) TeachYourselfCS 的中文翻译
* [haoel/leetcode](https://github.com/haoel/leetcode) LeetCode 问题的解决方案
* [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) 免费提供的编程书籍
* [NASM 程序设计 · 语雀](https://www.yuque.com/qyuhen/asm) NASM 程序设计 · 语雀
# 因果推断
* [xieliaing/CausalInferenceIntro](https://github.com/xieliaing/CausalInferenceIntro) Causal Inference for the Brave and True的中文翻译版。全部代码基于Python,适用于计量经济学、量化社会学、策略评估等领域。英文版原作者:Matheus Facure。本系列是 Causal Inference for the Brave and True 这本书的中文翻译版,由巴西Nubank的Staff Data Scientist Matheus Facure 所著。该书用平实的语言和严谨的数学,以及实用的Python代码,结合经济学与社会学的策略评估和敏感性分析应用,对因果推断最新的概念、理论及实践进行了非常全面的介绍,既适合初学者入门,同时也适合技术管理专家回顾相关领域的整体知识。该书英文原版的Jupyter Notebooks可以由该Github地址获取。 本书主要基础是计量经济学,吸收了非常多学者,包括 Joshua Angrist, Alberto Abadie,Christopher Walters,Miguel Hernan 和 Jamie Robins 等,在这方面的最新研究,主要参考了以下资料: Cross-Section Econometrics 横截面计量经济学 Mastering Mostly Harmless Econometrics 掌握大部分无害的计量经济学 Mostly Harmless Econometrics 大多无害的计量经济学 Mastering 'Metrics 掌握“指标” Causal Inference Book 因果推理书
* [altdeep/causalML](https://github.com/altdeep/causalML) 这是一个关于机器学习中因果建模的开源研讨会资料库,由Altdeep.ai提供。该研讨会通过在线教学和一对一导师辅导进行。本资料库中的内容是开源且免费的。课程内容包括:因果关系在基于模型的机器学习、贝叶斯建模和程序化人工智能中的应用;使用有向无环图推断概率分布;干预和do-calculus,因果效应的识别和估计,协变量调整等因果推断方法;反事实推理和算法反事实;因果推理在A/B测试、多臂老虎机、顺序决策和强化学习中的应用;深度因果潜在变量模型。该课程适合熟悉随机变量、联合概率分布、条件概率分布、贝叶斯规则和贝叶斯统计基本概念以及期望的学员,尤其适合希望在顶级科技公司或技术先进的零售公司中从事实验工作的软件工程师或有志于成为软件工程师的学员。
* [grf-labs/grf](https://github.com/grf-labs/grf) GRF是一个基于森林的统计估计和推断的R包,提供非参数方法用于异质性治疗效果估计(可选地使用右删失结果、多治疗组或结果,或工具变量),以及最小二乘回归、分位数回归和生存回归,所有这些都支持缺失协变量。GRF还支持“诚实”估计(其中一个数据子集用于选择分割,另一个用于填充树的叶子),以及最小二乘回归和治疗效果估计的置信区间。该项目最初是ranger仓库的一个分支,并感谢ranger作者提供了有用的免费包。用户可以通过CRAN安装最新版本,也可以通过conda-forge频道或从源代码安装开发版本。该项目提供示例代码展示如何使用GRF进行异质性治疗效果估计,以及其他森林类型使用方法的文档。
* [FeatureProbe/FeatureProbe](https://github.com/FeatureProbe/FeatureProbe) FeatureProbe是一个开源的特性管理服务,提供特性开关、灰度发布、AB实验等功能,帮助研发、运维团队安全高效地发布新特性或切换软件实现。FeatureProbe 通过持续交付实践,消除手动延迟,不受团队规模或产品复杂度的限制,帮助开发者保持开发速度。它还允许运维团队在几秒钟内更改在线服务参数,或逐步推出配置,无需额外努力。FeatureProbe 在一家拥有 5000 多名开发人员的公司中使用了 5 年以上,它通过加速日常开发任务,带来了显著的差异,并支持了百万级用户的日常运营。现在,我们开源了这个项目,以帮助更多开发者和运维人员,并为编程社会做出贡献。
* [criteo-research/CausE](https://github.com/criteo-research/CausE) CausE是一个基于 TensorFlow 的推荐系统模型,旨在通过因果嵌入来提高推荐效果。该项目包含了 RecSys 2018 论文 "Causal Embeddings for Recommendation" 中提出的 CausE-avg、CausE-prod-T 和 CausE-prod-C 三种方法的代码实现。模型通过将用户在统一曝光下的响应映射到一个单独的产品矩阵,从而学习到用户和产品的因果关系,并利用这些关系来进行推荐。项目还提供了 Movielens/Netflix 数据集的加载和预处理功能,以及各种辅助方法。用户可以通过运行 `python3 causal_prod2vec.py` 或 `python3 causal_prod2vec2i.py` 来训练模型,并通过命令行参数控制模型的超参数。该项目遵循 Apache 2.0 许可证。
* [google/lightweight_mmm](https://github.com/google/lightweight_mmm) LightweightMMM 是一个轻量级的贝叶斯营销组合建模 (MMM) 库,允许用户轻松训练 MMM 并获取渠道归因信息。它是一个 Python 库,帮助组织了解和优化跨媒体渠道的营销支出。该库基于 Numpyro 和 JAX 构建,通过提供适当的缩放数据、评估模型、优化预算分配和绘制领域中常用的图表的功能,帮助广告商轻松构建贝叶斯 MMM 模型。该库利用贝叶斯方法,允许广告商将先验信息整合到建模中,从而利用行业经验或先前媒体组合模型的信息,报告参数和模型的不确定性,并将其传播到预算优化,以及构建具有更紧密的置信区间的层次模型。
* [jakobrunge/tigramite](https://github.com/jakobrunge/tigramite) Tigramite是一个用于时间序列数据的因果推断的 Python 包,它可以有效地从高维时间序列数据集中估计因果图(因果发现),并使用这些图进行稳健的预测以及直接、总和中介效应的估计和预测。Tigramite 支持多种因果发现方法,这些方法基于不同的假设,并提供各种条件独立性检验,例如 PCMCI、PCMCIplus、LPCMCI、RPCMCI、J-PCMCI+,以及 ParCorr、RobustParCorr、ParCorrWLS、GPDC、CMIknn、Gsquared、CMIsymb 和 RegressionCI 等。此外,Tigramite 还提供了一个新的 CausalEffects 类,允许在假设因果图的情况下估计(条件)因果效应和中介作用。
* [mckinsey/causalnex](https://github.com/mckinsey/causalnex) CausalNex是一个Python库,帮助数据科学家推断因果关系而不是观察相关性。它使用贝叶斯网络来识别数据中的因果关系,并允许领域专家增强关系,从而进行“假设分析”。CausalNex利用贝叶斯网络,可以更直观地描述因果关系,并通过编码或增强领域专业知识来提高因果关系的准确性。它可以用来评估潜在干预措施的影响,并识别正确的干预措施,简化了因果关系和反事实分析的端到端流程。该库的主要功能包括使用最先进的结构学习方法来学习因果结构,并允许用户通过结构学习算法来增强领域专业知识。
* [DoubleML/doubleml-for-py](https://github.com/DoubleML/doubleml-for-py) DoubleML是一个 Python 包,它实现了 Chernozhukov 等人 (2018) 提出的双重/去偏差机器学习框架。该框架基于 scikit-learn,并提供了一个面向对象的实现,可以灵活地使用各种机器学习方法来估计模型,并进行统计推断。DoubleML 支持部分线性回归模型 (PLR)、部分线性 IV 回归模型 (PLIV)、交互式回归模型 (IRM) 和交互式 IV 回归模型 (IIVM)。用户可以自定义机器学习方法、重采样方案、双重机器学习算法、Neyman 正交评分函数等。该项目还提供了一个 R 版本,可通过 GitHub 和 CRAN 获取。
* [dscolby/CausalELM.jl](https://github.com/dscolby/CausalELM.jl) CausalELM.jl 是一个 Julia 包,用于在无法进行随机对照试验或传统统计模型的情况下估计因果效应。它利用极端学习机(ELM)来估计平均处理效应(ATE)、意向处理效应(ITT)、处理组平均处理效应(ATT)和条件平均处理效应(CATE)。CausalELM支持多种因果推断方法,包括中断时间序列分析、G-计算、双重机器学习、S-学习、T-学习、X-学习、R-学习和双重稳健估计。它还提供模型汇总和敏感性分析功能,以验证模型假设的合理性。所有这些功能只需四行代码即可完成。
* [jroessler/autoum](https://github.com/jroessler/autoum) AutoUM是一个用Python编写的框架,用于自动评估多种提升模型算法,以估计个体治疗效果。它可以利用实验数据(包含二元治疗指示器和二元响应变量)来估计提升(也称为条件平均治疗效果(CATE)或个体治疗效果(ITE))。该框架支持多种算法,包括两模型方法、X-Learner、Lai's Generalization等,并基于CausalML框架构建。它包含五个可公开获取的真实数据集,可用于测试和评估模型。AutoUM适用于多种场景,例如主动客户流失预防、向上/交叉销售和客户获取。
* [growthbook/growthbook](https://github.com/growthbook/growthbook) GrowthBook是一个开源的功能标识和 A/B 测试平台,它可以让所有公司都能轻松地使用功能标识和 A/B 测试,而无需自行构建复杂的平台。GrowthBook 提供了强大的功能,包括高级目标定位、渐进式推出、实验、A/B 测试分析、数据源集成、自定义属性分析、Jupyter Notebook 报告导出、Webhooks 和 REST API 等。用户可以通过 Docker Compose 快速部署 GrowthBook,并通过简单的命令行指令启动服务。此外,GrowthBook 还提供了完善的文档和社区支持,方便用户学习和使用。
* [BiomedSciAI/causallib](https://github.com/BiomedSciAI/causallib) Causallib是一个用于从观测数据推断因果效应的Python包,它提供了一套因果方法,并采用类似scikit-learn的统一API。该包支持将任意复杂的机器学习模型作为内部模型,实现了模块化的因果建模。它还包含一个评估套件,可以从因果角度重新解释已知的机器学习评估,帮助诊断模型性能。用户可以使用`pip install causallib`安装该包,并通过`causallib`导入,使用类似scikit-learn的fit-predict API进行因果推断分析。该项目还提供Jupyter Notebook示例和Slack社区支持。
* [maks-sh/scikit-uplift](https://github.com/maks-sh/scikit-uplift) scikit-uplift 是一个基于 Python 的 uplift 模型库,它以 scikit-learn风格提供快速模型实现、评估指标和可视化工具。Uplift 模型估计治疗的因果效应,并利用它有效地定位最有可能对营销活动做出响应的客户。scikit-uplift 提供丰富的 uplift 指标,包括AUUC 和 Qini 系数,支持任何与 scikit-learn 兼容的估计器,并可用于 sklearn.pipeline 中。它适用于各种场景,例如目标客户营销、结合 churn 模型提供奖励以及选择高价值客户进行营销活动。
* [jrfiedler/causal_inference_python_code](https://github.com/jrfiedler/causal_inference_python_code) 该项目提供了Miguel Hernán和James Robins所著的《因果推断:如果怎样》第二部分的Python代码,该代码与书中网站提供的Stata、R或SAS程序对应,并已翻译成Julia语言。代码已根据2021年3月30日的书籍版本进行检查,需要numpy、pandas、statsmodels、scipy、matplotlib、linearmodels和tqdm等Python包,数据可以从书中网站获取,笔记本假设Excel版本的数据已保存到与笔记本相同的目录。该项目由James Fiedler编写,Petty PY Chen和Piyush Madan也有贡献。
* [andrewtavis/causeinfer](https://github.com/andrewtavis/causeinfer) causeinfer是一个基于机器学习的因果推断/提升 Python 包,用于估计平均和条件平均处理效果。它包含标准和高级因果推断模型,并提供使用示例和评估方法,旨在帮助人们学习因果推断技术,应用于商业、医疗和社会经济领域。该项目提供标准算法,例如双模型方法,交互项方法和类别转换方法,以及反射和悲观提升方法,并提供可视化和模型迭代功能。它还包含商业分析、医学试验和社会经济分析的示例数据集。
* [Minyus/causallift](https://github.com/Minyus/causallift) CausalLift是一个用于因果推断的Uplift建模Python包,适用于A/B测试和观察性数据。它可以帮助你识别哪些客户应该被针对性地进行营销活动或推荐,从而最大化营销效果或推荐转化率。CausalLift通过预测四个标签来实现Uplift建模:真提升(可说服者)、假提升(确定性)、真下降(沉睡者)和无提升。它可以帮助你找到那些在被接触后会购买产品,但在没有被接触的情况下不会购买产品的客户,从而提高营销效率。
* [WillianFuks/tfcausalimpact](https://github.com/WillianFuks/tfcausalimpact) tfcausalimpact是一个基于 TensorFlow Probability 实现的因果影响算法库,它复现了 Google的 R 包 Causal Impact。该库通过拟合贝叶斯结构时间序列模型,预测干预发生前的数据,并与干预后的实际数据进行比较,从而得出干预的影响。用户只需提供观测数据、协变量和干预前后时间段即可运行模型,并获得干预的影响结果摘要和可视化图表。该库还提供 Jupyter Notebook 示例和详细的文档,方便用户快速上手。
* [TimeLovercc/Awesome-Graph-Causal-Learning](https://github.com/TimeLovercc/Awesome-Graph-Causal-Learning) 这是一个关于图因果学习的资源列表,包含因果学习和反事实学习论文,并提供了一个关于图上反事实学习的综述论文。该项目旨在帮助研究人员学习因果学习相关概念,并提供代码和论文链接。项目特色包括:提供因果学习和反事实学习论文列表,包含图因果学习的综述论文,并提供代码和论文链接。该项目的工作原理是通过整理和分类相关资源,帮助研究人员学习因果学习相关概念。
* [cdt15/lingam](https://github.com/cdt15/lingam) LiNGAM是一个用于估计结构方程模型或线性贝叶斯网络的Python包,它利用数据的非高斯性进行因果发现。该项目提供了DirectLiNGAM、RESIT等算法,用户可以使用`pip install lingam`进行安装,并通过`lingam.DirectLiNGAM()`对象进行因果发现,并获取因果顺序和邻接矩阵等信息。项目还提供了Jupyter Notebook示例和详细的文档,并支持MIT许可协议。用户可参考项目网站和文献进行更深入的了解。
* [msuzen/looper](https://github.com/msuzen/looper) Looper是一个资源列表,涵盖了统计学、数据科学和物理学中的因果关系,包含代码片段和小型软件解决方案。项目名称源于电影《环形使者》,该电影讲述了时间循环的概念,这可能是从物理学角度来看最复杂的因果关系主题。项目提供了一个包含因果推理术语和概念的词汇表,并支持用户贡献。用户可以使用项目中的资源来学习因果推理,并进行相关研究。
* [autonlab/auton-survival](https://github.com/autonlab/auton-survival) `auton-survival` 是一个开源的 Python 包,用于处理带有删失事件时间的回归、反事实估计、评估和表型分析。它提供灵活的API,支持快速实验,包括数据集预处理、回归、反事实估计、聚类和表型分析以及倾向性调整评估。该项目包含Deep Cox 比例风险模型、Deep Cox 混合模型、Deep Cox 混合异质效应模型等多种生存模型,并提供示例笔记本和文档。
* [zalando/expan](https://github.com/zalando/expan) ExpAn是一个开源的 Python 库,用于对随机对照试验(A/B测试)进行统计分析,旨在标准化实验数据结构。它提供通用的数据结构和功能,适用于数据科学家优化用户界面以及生物学家进行湿实验室实验。ExpAn 可以独立使用,也可以从其他项目或命令行中导入和使用。该库的最新稳定版本为 1.4.0,可通过 `pip install expan` 命令安装。
* [biomedia-mira/deepscm](https://github.com/biomedia-mira/deepscm) 该项目提供用于可处理反事实推理的深度结构因果模型的代码,包含用于生成合成数据集和训练模型的脚本。项目特色包括:独立模型、条件解码器模型和完整模型,支持使用 Morpho-MNIST 数据集进行实验,并提供预训练模型和数据集。用户可使用 `pip install -r requirements.txt` 安装依赖项,并通过运行脚本创建数据集和训练模型。
* [pymc-labs/CausalPy](https://github.com/pymc-labs/CausalPy) CausalPy是一个Python包,专注于准实验环境下的因果推断。它允许使用复杂的贝叶斯模型拟合方法,除了传统的OLS回归。该项目提供多种准实验方法,例如合成控制、地理提升、协方差分析、差分差分、回归断点和回归扭结设计,用于估计因果效应。用户可以使用CausalPy进行数据加载、模型拟合、结果可视化和摘要分析。
* [r-causal/ggdag](https://github.com/r-causal/ggdag) `ggdag`是一个 R 包,用于可视化和分析因果方向无环图 (DAG)。它使用强大的 `dagitty` 包来创建和分析结构因果模型,并使用 `ggplot2` 和 `ggraph` 以一致且简便的方式绘制它们。`ggdag` 允许用户使用类似 tidyverse 的语法创建和分析 DAG,并提供各种绘图功能,使研究人员能够以清晰直观的方式呈现因果关系。
* [CausalInferenceLab/Causal-Inference-with-Python](https://github.com/CausalInferenceLab/Causal-Inference-with-Python) 该项目是“Causal Inference for The Brave and True”书籍的中文翻译版本,它使用 Python 语言讲解因果推断的概念和方法,并提供实际案例和代码示例。该项目旨在帮助读者理解因果推断的基本原理,并学习如何使用 Python 进行因果推断分析。项目还提供了Jupyter Book 格式的在线版本,方便读者学习和参考。
* [quantumblacklabs/causalnex](https://github.com/quantumblacklabs/causalnex) “使用贝叶斯网络进行因果推理的工具包。”利用贝叶斯网络来识别数据中的因果关系,以便我们可以从分析中制定正确的干预措施。 与基于模式识别和相关性分析的传统机器学习方法相比,利用贝叶斯网络更直观地描述因果关系。 CausalNex 旨在简化因果关系和反事实分析的端到端流程。
* [kathoffman/causal-inference-visual-guides](https://github.com/kathoffman/causal-inference-visual-guides) 该项目提供了一系列视觉指南,旨在帮助应用科学家学习因果推断,包括针对目标最大似然估计 (TMLE)、超学习、G 计算、逆概率加权等方法的图示解释,并提供相应的代码示例和博客文章链接。此外,项目还包含一些因果推断概念的漫画,例如关于正性条件和因果推断宇宙的漫画。
* [imirzadeh/awesome-causal-inference](https://github.com/imirzadeh/awesome-causal-inference) 这是一个精心整理的因果推断资源列表,旨在帮助你入门因果推断领域。该列表包含书籍、课程、视频、讲座和工具,涵盖了因果推断的各个方面,例如因果模型、因果推理、因果学习算法等。其中包含了 Judea Pearl 等著名学者的书籍和讲座,以及微软开发的 DoWhy 等因果推断工具。
* [jvpoulos/causal-ml](https://github.com/jvpoulos/causal-ml) 该项目是一个关于因果推断和机器学习(深度学习)的必读论文和资源集合,包含了因果推断和机器学习领域的最新研究成果,涵盖了从个体处理效应到策略学习等多个主题,并提供了相关论文、代码库、数据集和课程等资源。项目内容组织清晰,方便用户查找相关信息。
* [DSXiangLi/Paper_CausalInference_abtest](https://github.com/DSXiangLi/Paper_CausalInference_abtest) 这是一个因果推理和AB实验相关论文的小书库,收集了一些经典和前沿的论文,涵盖了混淆变量、协变量、中介效应等重要概念,以及AB实验的设计、分析和优化等方面,并提供了相关案例研究和代码实现,帮助你更好地理解和应用因果推理和AB实验。
* [mschauer/CausalInference.jl](https://github.com/mschauer/CausalInference.jl) CausalInference.jl 是一个 Julia 包,用于因果推断和分析、图形模型和结构学习。它包含 PC 算法、扩展 FCI 算法、基于评分的贪婪等价搜索 (GES) 算法、贝叶斯因果 Zig-Zag 采样器以及用于调整集搜索的函数集。该项目提供完整的文档,并欢迎用户参与开发。
* [gcastle](https://github.com/huawei-noah/trustworthyAI/tree/master/gcastle) 华为诺亚方舟实验室自研的因果结构学习工具链,主要的功能包括:数据生成及处理;因果图构建: 包含了主流的因果学习算法以及最近兴起的基于梯度的因果结构学习算法;因果评价: 提供因果结构学习评价指标,包括F1, SHD, FDR, TPR, FDR, NNZ等。
* [microsoft/EconML](https://github.com/microsoft/EconML) ALICE(因果关系和经济学的自动学习和智能)是微软研究项目,旨在将AI概念应用于经济决策。 其目标之一是构建一个工具包,将最先进的机器学习技术与计量经济学相结合,以便将自动化应用于复杂的因果关系
* [DataCanvasIO/YLearn](https://github.com/DataCanvasIO/YLearn) 因果学习算法工具包,支持因果学习任务中的各类相关任务,从因果效应识别(causal effect idenfitication),到因果效应估计(causal effect estimation),到因果发现(causal discovery)等等,都可以通过YLearn实现。
* [matteocourthoud/awesome-causal-inference](https://github.com/matteocourthoud/awesome-causal-inference) 这是一个关于因果推断的资源列表,包含了学术研究、博客、书籍、会议、课程、行业应用、库、演讲、教程和综述等内容,旨在为因果推断领域的研究者和从业者提供全面且便捷的资源索引。
* [matheusfacure/python-causality-handbook](https://github.com/matheusfacure/python-causality-handbook) 勇敢和真实的因果推理。学习影响估计和因果关系的轻松而严格的方法。轻松而严谨的学习影响评估和敏感性分析方法。一切都在 Python 中,并带有尽可能多的模因。
* [Microsoft/dowhy](https://github.com/Microsoft/dowhy) 用于因果推理的 Python 库,它支持因果假设的显式建模和测试。 DoWhy 基于因果推理的统一语言,结合了因果图模型和潜在结果框架。
* [fulifeng/Causal_Reading_Group](https://github.com/fulifeng/Causal_Reading_Group) 不定期更新有关机器学习+因果论的论文列表,同时也会在每周内讨论NExT++(NUS)和LDS(USTC)之间的相关论文。
* [cmu-phil/causal-learn](https://github.com/cmu-phil/causal-learn) 用于因果发现的 python 包,它实现了经典和最先进的因果发现算法,它是Tetrad的 Python 翻译和扩展。
* [pgmpy/pgmpy](https://github.com/pgmpy/pgmpy) 用于学习(结构和参数)、推理(概率和因果)以及贝叶斯网络模拟的 Py库。
* [FenTechSolutions/CausalDiscoveryToolbox](https://github.com/FenTechSolutions/CausalDiscoveryToolbox) 图形和成对设置中的因果推断包。 包括用于图结构恢复和依赖关系的工具。
* [erdogant/bnlearn](https://github.com/erdogant/bnlearn) 贝叶斯网络的图形结构、参数学习、推理和采样方法的 Py包。
* [quantumblacklabs/causalnex](https://github.com/quantumblacklabs/causalnex) 可帮助数据科学家推断因果关系而不是观察相关性的Py 库。
* [BokwaiHo/revenue_uplift](https://github.com/BokwaiHo/revenue_uplift) KDD 2024上发布的在线营销排名增强收入提升建模框架代码。
* [uber/causalml](https://github.com/uber/causalml) 使用机器学习算法进行提升建模和因果推理
* [DataCanvasIO/CausalLab](https://github.com/DataCanvasIO/CausalLab) CausalLab 是一种交互式因果分析工具。
* [huawei-noah/trustworthyAI](https://github.com/huawei-noah/trustworthyAI) 基于图自编码器的因果结构学习模型
* [wanyu-lin/ICML2021-Gem](https://github.com/wanyu-lin/ICML2021-Gem) 针对图神经网络的通用因果解释方法
* [econometric/CausalitySlides](https://gitee.com/econometric/CausalitySlides) 西雅图大学因果推理课程的幻灯片
* [rguo12/awesome-causality-algorithms](https://github.com/rguo12/awesome-causality-algorithms) 用数据学习因果关系的算法索引
* [google/CausalImpact](https://github.com/google/CausalImpact) 用于时间序列中因果推理的 R 包
# 图数据库图算法
* [tangjianpku/LINE](https://github.com/tangjianpku/LINE) LINE是一个用于嵌入大型信息网络的工具包,适用于各种网络,包括有向、无向、二元或加权边。LINE模型非常高效,能够在几小时内在一台机器上嵌入具有数百万个顶点和数十亿条边的网络。该项目提供了Windows和Linux版本,用户需要安装Boost或GSL库进行编译。用户可以使用命令行参数控制模型的训练参数,例如嵌入维度、负样本数量、学习率等。该项目还包含用于重建稀疏网络、规范化嵌入和连接一阶和二阶嵌入的代码。用户可以使用提供的示例脚本在YouTube数据集上运行LINE,并评估学习到的嵌入在节点分类任务上的性能。
* [rich-iannone/DiagrammeR](https://github.com/rich-iannone/DiagrammeR) DiagrammeR是一个 R 包,用于使用表格数据创建、修改、分析和可视化网络图。它可以将输出整合到 R Markdown 文档中,与 Shiny网络应用程序集成,转换为其他图形格式,或导出为图像文件。该包提供了一系列函数,用于创建图对象、修改图、从图中获取信息、创建一系列图等等,可以轻松地使用表格数据集中可用的数据生成网络图。图对象包含节点数据和属性(节点数据帧)以及带有相关边属性的边(边数据帧),因此可以轻松地处理这些属性。
* [memgraph/memgraph](https://github.com/memgraph/memgraph) Memgraph是一个开源图数据库,专为动态分析环境而设计,易于采用、扩展和拥有。它是一个内存优先的数据库,使用 C/C++编写,并与 Neo4j 兼容,可提供高性能和一致性。Memgraph 支持使用 Cypher 查询语言,可直接连接到流式基础设施,并提供自定义查询模块、深度路径遍历、机器学习支持、流式支持、动态算法、多租户、高可用性复制、身份验证和授权等功能。用户可以通过 Memgraph Playground 在浏览器中尝试使用 Memgraph,无需安装任何软件。
* [TuGraph-family/tugraph-db](https://github.com/TuGraph-family/tugraph-db) TuGraph 是一个高效的图形数据库,支持高数据量、低延迟查找和快速图形分析。功能:标记属性图模型,对可序列化事务的完全 ACID 支持,嵌入图计算框架的图分析算法,支持全文/主索引/二级索引,使用 C++/Python API 的存储过程。性能和可扩展性:LDBC SNB 世界纪录保持者 (2022/9/1 ),支持高达数十TB,每秒访问数百万个顶点,快速批量导入。
* [tugraph-family/tugraph-analytics](https://github.com/tugraph-family/tugraph-analytics) TuGraph Analytics(别名:GeaFlow) 是蚂蚁集团开发的分布式图计算引擎,支持万亿级图存储、混合图表处理、实时图计算和交互式图分析等核心功能,广泛应用于数据仓库加速、金融风控、知识图谱和社交网络等场景。它提供两种编程接口:DSL 和 API,支持使用 SQL+ISO/GQL 扩展语言开发流式图计算作业,或使用 Java 开发应用程序。
* [petgraph/petgraph](https://github.com/petgraph/petgraph) petgraph是一个 Rust 语言编写的图数据结构库,提供了多种图类型,包括`GraphMap`、`StableGraph` 和 `MatrixGraph`,支持 Rust 1.64 及更高版本。该库提供可选的序列化功能(使用 serde 1.0)和并行迭代器(使用 Rayon),并拥有一个名为 "Sir Paul Rustory Graphosaurus" 的吉祥物。该库采用 Apache 2.0 或 MIT 许可证发布。
* [cayleygraph/cayley](https://github.com/cayleygraph/cayley) Cayley是一个开源的链接数据图数据库,其设计灵感源于Google知识图谱背后的数据库。它具有内置查询编辑器、可视化工具和REPL,支持Gizmo、GraphQL和MQL等多种查询语言,并具有模块化、高性能和生产就绪等特点,能够快速处理大型图数据,例如轻松处理包含1.34亿个四元组的数据集。
* [apache/incubator-s2graph](https://github.com/apache/incubator-s2graph) [S2Graph](http://s2graph.apache.org/)是一个图形数据库,旨在大规模处理事务性图形处理。它的 REST API 允许您以完全异步和非阻塞的方式使用边缘和顶点表示来存储、管理和查询关系信息。S2Graph 是[Apache TinkerPop](https://tinkerpop.apache.org/)在[Apache HBASE](https://hbase.apache.org/)上的一个实现。
* [benedekrozemberczki/awesome-community-detection](https://github.com/benedekrozemberczki/awesome-community-detection) 这是一个精心整理的社区检测研究论文列表,包含了相关实现。该项目涵盖了矩阵分解、深度学习、标签传播、张量分解、谱方法、时间方法、循环模式、中心性和割集、物理启发、块模型、超图等多个领域,并提供了一些社区检测库的介绍。
* [igraph/igraph](https://github.com/igraph/igraph) igraph是一个用于复杂网络分析和图论的 C 库,注重效率、可移植性和易用性,可用于 R、Python 和 Mathematica 等语言,并提供安装和文档,鼓励用户贡献代码。
* [erikbern/ann-benchmarks](https://github.com/erikbern/ann-benchmarks) 用于近似最近邻(ANN)搜索算法的基准测试平台。这个项目提供了一个标准化的数据集、评估指标和可视化工具,以帮助用户选择合适的 k-NN 算法和参数。
* [vesoft-inc/nebula](https://github.com/vesoft-inc/nebula) Nebula Graph 是开源的、分布式的、易扩展的原生图数据库,能够承载数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询。
* [FalkorDB/falkordb](https://github.com/FalkorDB/falkordb) 超快速的图形数据库在后台使用 GraphBLAS 进行稀疏邻接矩阵图形表示。我们的目标是为 LLM 提供最好的知识图谱工具。
* [apache/incubator-hugegraph](https://github.com/apache/incubator-hugegraph) 支持超过100+亿数据,高性能和可扩展性的图形数据库(包括OLTP引擎和REST-API和后端)
* [dgraph-io/dgraph](https://github.com/dgraph-io/dgraph) 唯一具有图形后端的本机 GraphQL 数据库。
* [vesoft-inc/nebula](https://github.com/vesoft-inc/nebula) 分布式、可扩展、闪电般的图形数据库
* [Tencent/plato](https://github.com/Tencent/plato) 腾讯高性能分布式图计算框架Plato
* [vtraag/leidenalg](https://github.com/vtraag/leidenalg) c++ 实现了 社区发现 Leiden 算法
* [shobrook/communities](https://github.com/shobrook/communities) 社区检测算法和可视化工具库
* [jm199504/Financial-Knowledge-Graphs](https://github.com/jm199504/Financial-Knowledge-Graphs) 小型金融知识图谱构建流程
# 图神经网络GNN
## 其他_图神经网络GNN
* [HKUDS/GraphGPT](https://github.com/HKUDS/GraphGPT) 该框架与图结构知识和图指令调优范式保持一致LLMs。图神经网络 (GNN) 通过图节点之间的递归信息交换和聚合来理解高级图结构。为了提高模型的鲁棒性,自监督学习(SSL)已成为一种很有前途的数据增强方法。然而,用于生成预训练图嵌入的现有方法通常依赖于对特定下游任务标签的微调,这限制了它们在标记数据稀缺或不可用的情况下的可用性。为了解决这个问题,我们的研究重点是在具有挑战性的零样本学习场景中提高图模型的泛化能力。受大型语言模型(LLMs)成功的启发,我们的目标是开发一种面向图的图LLM,即使没有来自下游图数据的任何信息,也可以在不同的下游数据集和任务中实现高度泛化。在这项工作中,我们提出了与图结构知识和图指令调优范式相一致LLMs的 GraphGPT 框架。我们的框架包含一个文本图基础组件,以在文本信息和图结构之间建立联系。此外,我们还提出了一种双阶段指令调优范式,并配有轻量级图形-文本对齐投影仪。该范式探索了自监督图结构信号和特定于任务的图指令,以指导LLMs理解复杂的图结构并提高其在不同下游任务中的适应性。我们的框架在监督和零样本图学习任务上进行了评估,展示了卓越的泛化性和优于最先进的基线。
* [amazon-science/gnn-tail-generalization](https://github.com/amazon-science/gnn-tail-generalization) 提取具有不完整或缺失邻域的图节点表示。GNN在节点分类或回归任务中表现出卓越的性能。归纳GNN 需要事先知道节点的边缘连接结构才能正常工作。在节点度数具有幂律分布的几个实际应用中,情况通常并非如此,并且具有少量连接的节点可能具有噪声边缘。一个极端的情况是严格的冷启动 (SCS) 问题,其中没有可用的邻域信息,迫使预测模型完全依赖于节点特征。为了使用归纳 GNN 解决 SCS 问题,引入特征贡献率 (FCR),这是一种量化节点特征及其邻域特征在预测节点标签中的贡献的指标,并将这个新指标用作模型选择奖励。然后,提出Cold Brew,这是一种通过蒸馏方法在 SCS 中比基于点和基于图的模型更好地概括 GNN 的新方法。动机:长尾分布普遍存在于大规模图挖掘任务中。在某些应用中,一些冷启动节点在图中的邻域太少或没有邻域,这使得基于图的方法由于没有足够的高质量边来执行消息传递而变得次优。
* [snap-stanford/deepsnap](https://github.com/snap-stanford/deepsnap) DeepSNAP是一个 Python 库,用于简化图上的深度学习。它支持灵活的图操作、标准管道、异构图和简单的 API。DeepSNAP 结合了强大的图库(如 NetworkX)和深度学习框架(如 PyTorch Geometric)。它提供了一个直观的 API,使您可以轻松地使用数百种图算法来操作和转换图,甚至在每次训练迭代中。DeepSNAP 还提供标准的管道用于数据集拆分、负采样和定义节点/边/图级目标,并支持灵活且通用的异构 GNN,允许您控制消息参数化和传递方式。DeepSNAP 的 API 易于使用,可以与 PyTorch Geometric 中实现的现有 GNN 模型/数据集无缝衔接。如果您熟悉 PyTorch Geometric,则几乎不需要学习曲线。您可以使用 pip install deepsnap 安装 DeepSNAP,并使用提供的示例代码进行节点分类、链接预测和图分类。有关更多信息,请访问 DeepSNAP文档。
* [Zhuofeng-Li/TEG-Benchmark](https://github.com/Zhuofeng-Li/TEG-Benchmark) TEG-DB是一个文本边缘图(TEG)数据集和基准测试库,它包含节点和边缘上的丰富文本描述、数据加载器和各种基线模型的性能基准,包括预训练语言模型(PLM)、图神经网络(GNN)及其组合。与仅在节点上具有文本信息的文本属性图(TAG)不同,TEG在节点和边缘上都包含文本内容,边缘文本对于理解文档含义和语义关系至关重要。TEG-DB提供了10个综合的TEG数据集,涵盖书籍推荐、电子商务、学术和社交网络等领域,每个数据集都包含节点和边缘上的丰富原始文本数据,为分析和建模目的提供多样化的信息。该项目旨在通过提供标准化的数据格式和易于使用的工具来促进文本边缘图领域的科研。
* [Thinklab-SJTU/pygmtools](https://github.com/Thinklab-SJTU/pygmtools) Python 图形匹配求解器库。图匹配是模式识别、数据挖掘等领域中一个基本但具有挑战性的问题。图匹配旨在通过求解NP硬组合优化问题,找到多个图之间的节点间对应关系。特点:支持多种求解器,包括传统的组合求解器(包括线性、二次和多图)和新型的基于深度学习的求解器;支持各种后端,包括 numpy 普遍可访问的后端,以及一些支持 GPU 的最先进的深度学习架构: pytorch 、jittor 、mindspore 、 paddle、tensorflow ;深度学习友好,这些操作旨在最好地保留计算过程中的梯度,并支持批处理操作以获得最佳性能。
* [graphframex/graphframex](https://github.com/graphframex/graphframex) GraphFramEx是一个用于系统评估图神经网络 (GNN) 可解释性方法的框架。它提出了一种独特的度量标准,即特征化分数,该分数结合了保真度度量,并根据解释的充分性或必要性对解释进行分类。该框架涵盖了节点和图分类任务,并比较了 GNN 可解释性领域中最具代表性的生成式和非生成式输入级可解释性技术。该框架包含了多种可解释性方法,包括非生成式方法(如遮挡、SA、Grad-CAM、集成梯度、GNNExplainer、SubgraphX、PGM-Explainer)和生成式方法(如PGExplainer、RCExplainer、GSAT、GraphCFE、DiffExplainer、GflowExplainer)。
* [mims-harvard/graphxai](https://github.com/mims-harvard/graphxai) GraphXAI是一个用于评估图神经网络 (GNN) 解释器的库,它提供XAI就绪数据集、最先进的解释器、数据处理功能、可视化工具、GNN 模型实现和评估指标,用于对 GNN 可解释性方法进行基准测试。该库的主要特色之一是新颖的 ShapeGGen 数据集生成器,它可以生成各种基准数据集(例如,不同的图大小、度分布、同质图与异质图),并附带真实解释。ShapeGGen 灵活且参数化,生成的图可以具有不同的尺寸、度分布、真实解释类型、同质性/异质性水平以及受保护特征定义的公平性程度,以涵盖各种现实世界场景。
* [mandeep-rathee/bagel-benchmark](https://github.com/mandeep-rathee/bagel-benchmark) Bagel是一个用于评估图神经网络解释器的基准测试工具,它涵盖了节点分类和图分类任务。对于节点分类,Bagel使用RDT-Fidelity、稀疏性和正确性指标进行评估。对于图分类,Bagel使用忠实度(全面性和充分性)、合理性和RDT-Fidelity指标进行评估。该项目提供了一个Python包,并包含示例代码,方便用户使用。用户可以根据需要加载数据集、训练GNN模型,并使用提供的解释器生成解释,最后使用Bagel提供的指标对解释进行评估。
* [RexYing/gnn-model-explainer](https://github.com/RexYing/gnn-model-explainer) 该项目名为 GNNExplainer,提供用于解释图神经网络 (GNN)的代码,其论文发表于 NeurIPS 2019。项目提供了一个解释器,可以生成 GNN 预测结果的解释,帮助理解 GNN 如何做出决策。用户可以使用提供的代码复现论文中的实验结果,并通过 Tensorboard、Jupyter Notebook 或 D3.js 等工具可视化解释结果。项目包含多个合成数据集和真实数据集,例如 Enron邮件数据集和 PPI 蛋白质-蛋白质相互作用数据集。
* [flyingdoog/awesome-graph-explainability-papers](https://github.com/flyingdoog/awesome-graph-explainability-papers) 这是一个关于图神经网络 (GNN) 可解释性的论文列表,包含了综述论文、平台和一些具有影响力的论文。该项目收集了大量关于 GNN可解释性的研究论文,旨在帮助研究人员更好地理解 GNN 的工作原理以及其决策背后的原因。项目包含了多个领域的论文,包括基于图的解释性人工智能、图反事实解释、可信图学习等,并提供了相关论文的链接和代码。
* [snap-stanford/GraphGym](https://github.com/snap-stanford/GraphGym) Identity-aware Graph Neural Networks一种身份感知图神经网络对现有的消息传递 GNN 进行了扩展,将其性能提升到了高于 1-WL 测试的水平。实验结果表明,将现有的 GNN 转变为 ID-GNN 可以在难以分类的节点预测、边预测、图属性预测任务中获得平均 40% 的准确率提升;在节点和图分类对比基准任务获得 3%的准确率提升;链接预测任务获得 15% 的ROC提升。
* [Wuyxin/DIR-GNN](https://github.com/Wuyxin/DIR-GNN) DIR-GNN 是一个用于训练内在可解释的图神经网络的项目,该项目旨在提高模型对分布外数据的鲁棒性和泛化能力。该项目通过构建干预分布来识别因果特征,并利用干预分布来发现使标签在干预下保持不变的特征,从而实现对模型决策的解释。项目提供代码和数据,用户可以根据提供的示例进行训练和测试。
* [BUPT-GAMMA/Graph-Structure-Estimation-Neural-Networks](https://github.com/BUPT-GAMMA/Graph-Structure-Estimation-Neural-Networks) 用于估计适配于GNN的图结构,以提高下游任务性能。GEN引入结构模型考虑图生成过程中的潜在社团结构,并提出观察模型将多方面信息(例如,多阶邻域相似性)作为图结构的观测。基于这些模型,GEN利用贝叶斯推断框架得到最终估计图。大量实验结果验证了GEN的有效性及其估计图的合理性。
* [LUOyk1999/tunedGNN](https://github.com/LUOyk1999/tunedGNN) 该项目是 NeurIPS 2024 论文 "Classic GNNs areStrong Baselines: Reassessing GNNs for Node Classification" 的代码实现,它重新评估了经典 GNN 在节点分类任务中的性能,发现它们是强大的基线模型。项目包含针对中型和大型图的实验代码,并提供 Python 环境配置指南和引用信息。
* [YuGuangWang/PAN](https://github.com/YuGuangWang/PAN) 借鉴了物理中的一些概念,设计了一种 path integral based graph neural networks (PAN)。 PAN 将图拉普拉斯泛化到一种新的转移矩阵 maximal entropy transition (MET) matrix。重要的是,MET 矩阵的对角线元素直接和子图中心性相关,因此提供了一种自然的自适应池化机制。
* [smufang/fewshotgraph](https://github.com/smufang/fewshotgraph) 该存储库提供了一系列精选的研究论文,重点关注图的小样本学习。它源自我们的调查论文:图上的少样本学习调查:从元学习到预训练和提示。我们将定期更新此列表。如果您发现任何错误或缺少论文,请随时提出问题或提交拉取请求。
* [AstraZeneca/awesome-explainable-graph-reasoning](https://github.com/AstraZeneca/awesome-explainable-graph-reasoning) 这是一个收集了关于图机器学习可解释性的研究论文和软件的项目,旨在提供对图神经网络预测和推理过程的解释,包含可解释预测、可解释推理、相关软件以及理论和调查论文等内容,项目处于原型阶段,并采用Apache 2.0许可证。
* [BUPT-GAMMA/CPF](https://github.com/BUPT-GAMMA/CPF) 提出了一个有效的知识蒸馏框架,以将任意预训练的GNN教师模型的知识注入精心设计的学生模型中。学生模型是通过两个简单的预测机制构建的,即标签传播和特征转换,它们自然分别保留了基于结构和基于特征的先验知识。
* [divelab/DeeperGNN](https://github.com/divelab/DeeperGNN) 解耦Transformation和Propagation的深度图神经网络 1、Transformation操作:MLP操作,torch.nn.Linear线性映射操作;2、Propagation操作:图中的邻居节点往中心节点汇聚的操作,最简单的实现方式是AH,A是图的邻接矩阵,H是图的特征矩阵。
* [PKU-DAIR/SGL](https://github.com/PKU-DAIR/SGL) 针对可扩展图形学习的图形神经网络工具包,它支持对超大型数据集进行深度图形学习。SGL允许用户轻松实现可扩展的图形神经网络,并评估其在节点分类、节点聚类和链路预测等各种下游任务中的性能。
* [CUAI/CorrectAndSmooth](https://github.com/CUAI/CorrectAndSmooth) 标签信息 + 简单模型 直接使用标签进行预测。与其他方案相比,本文中的CS模型需要的参数量往往要少得多。在很多标准直推式节点分类(transductive node classification)基准上,超过或媲美当前最优的性能。
* [lsj2408/GraphNorm](https://github.com/lsj2408/GraphNorm) 图归一化:一种加速图神经网络训练的原则性方法,通过一个可学习的移位来归一化每个单独图的所有节点上的特征值。收敛速度要快得多。它还改进了GNN的泛化,在图分类上实现更好的性能。
* [snap-stanford/distance-encoding](https://github.com/snap-stanford/distance-encoding) 距离编码-为结构表示学习设计更强大的GNN,提出了一类与结构相关的特征,称为距离编码(Distance Encoding,DE),以帮助 GNN 以比 1-WL test 更严格的表达能力来表示任意大小的节点集。
* [RobertAckleyKid/2022_finvcup_RobertAckley_8363](https://github.com/RobertAckleyKid/2022_finvcup_RobertAckley_8363) 第七届信也科技杯图算法大赛——欺诈用户风险识别 代码 。包括三步:基于GraphSAGE的节点Embedding(与baseline一致),手工加入时序等特征,通过LightGBM分类。
* [neural_graph_collaborative_filtering](https://github.com/xiangwang1223/neural_graph_collaborative_filtering) 神经图协同滤波(NGCF)是一种基于图神经网络的新型推荐框架,通过进行嵌入传播,以用户-项目二分图中的高阶连接性形式对协同信号进行显式编码。
* [zhitao-wang/PLNLP](https://github.com/zhitao-wang/PLNLP) 用于ogb链路预测的成对学习神经链预测。2022年,在Open Graph Benchmark链接预测数据集中包括ddi和collab,ppa和ciation2分别实现了第1、2名的成绩。
* [peter14121/intentgc-models](https://github.com/peter14121/intentgc-models) 意图gc模型.从常见的用户行为和项目信息中收集了大量的关系,并提出名为IntentGC的新框架,通过图卷积网络来利用显式偏好和异构关系。
* [animutomo/gcmc](https://github.com/animutomo/gcmc) Graph Convolution Matrix Completion 解决推荐系统中 矩阵补全 matrix completion 问题,并引入 side information(节点的额外信息)提升预测效果。
* [flyingdoog/PGExplainer](https://github.com/flyingdoog/PGExplainer) GNN 的参数化解释器 PGExplainer。PGExplainer 利用深度神经网络对解释的生成过程进行参数化处理,能够实现同时对多个实例进行解释。
* [hwwang55/RippleNet](https://github.com/hwwang55/RippleNet) 将知识图谱作为额外信息,融入到CTR/Top-K推荐。[完整的逐行中文注释笔记](https://github.com/nakaizura/Source-Code-Notebook/tree/master/RippleNet)
* [liaopeiyuan/GAL](https://github.com/liaopeiyuan/GAL) 图神经网络的信息混淆 使用 FB15k-237 和 WN18RR 数据集进行知识图链接预测。使用 Movielens-1M 数据集进行推荐系统链接预测任务。
* [maxiaoba/GRAPE](https://github.com/maxiaoba/GRAPE) 基于GNN的缺失特征填充和标签预测模型。将特征填充问题转为边级别的预测任务,将标签预测问题转为节点级别的预测任务。
* [yushundong/REFEREE](https://github.com/yushundong/REFEREE) “关于图神经网络中偏差的结构解释”的开源代码。 以GE-REFEREE为例来解释经过训练的GAT模型。评估它如何帮助GAT消除偏见。
* [YimiAChack/GraphSTONE](https://github.com/YimiAChack/GraphSTONE) Graph Structural-topic Neural Network 图结构主题神经网络 本文类比自然语言处理中的相关概念,借助主题模型学习图的结构信息。
* [PKU-DAIR/DGMLP](https://github.com/PKU-DAIR/DGMLP) 评估深度图神经网络,对图形结构数据使用深度汇总的实验评估。GNN模型普遍较浅的真正原因 - 模型退化与过平滑。
* [Ruiqi-Hu/ARGA](https://github.com/Ruiqi-Hu/ARGA) 对抗正则化图自动编码器Adversarially Regularized Graph Autoencoder,可用于图卷积的链路预测。进化路线GAE->VGAE->ARGA
* [google-research/graph-attribution](https://github.com/google-research/graph-attribution) 用于[*评估图神经网络属性的*](https://papers.nips.cc/paper/2020/hash/417fbbf2e9d5a28a855a11894b2e795a-Abstract.html)代码库
* [yongduosui/CAL](https://github.com/yongduosui/CAL) ”可解释和可归纳图分类的因果注意”。基于PyTorch的因果注意在可解释和可推广**图分类**中的实现
* [WangXuhongCN/APAN](https://github.com/WangXuhongCN/APAN) Asynchronous Propagation Attention Network for Real-time Temporal Graph Embedding 实时时间图嵌入的异步传播注意网络
* [pygod-team/pygod](https://github.com/pygod-team/pygod) 用于图异常值检测(异常检测)的 Python 库。包含10多种最新的基于图的检测算法。
* [megvii-research/DPGN](https://github.com/megvii-research/DPGN) Distribution Propagation Graph Network for Few-shot Learning 分布传播图网络的小样本学习
* [benedekrozemberczki/SimGNN](https://github.com/benedekrozemberczki/SimGNN) A Neural Network Approach to Fast Graph Similarity Computation 图相似度计算
* [alibaba/GraphScope](https://github.com/alibaba/GraphScope) 阿里巴巴一站式大规模图计算系统 图分析 图查询 图机器学习
* [DGraphXinye/2022_finvcup_baseline](https://github.com/DGraphXinye/2022_finvcup_baseline) 第七届信也科技杯-欺诈用户风险识别的baseline。节点分类
* [gated-graph-neural-network-samples](https://github.com/microsoft/gated-graph-neural-network-samples) 门控图神经网络的两种实现,用于学习化学分子的性质
* [shawnwang-tech/GeniePath-pytorch](https://github.com/shawnwang-tech/GeniePath-pytorch) 自适应深度和广度图神经网络表征学习模型Geniepath
* [YuGuangWang/UFG](https://github.com/YuGuangWang/UFG) 基于小波变换(framelet transforms)的图神经网络。
* [snap-stanford/CAW](https://github.com/snap-stanford/CAW) 基于因果匿名游走的时序网络归纳表示学习模型
* [klicperajo/ppnp](https://github.com/klicperajo/ppnp) 预测然后传播:图形神经网络满足个性化PageRank
* [awesome-fraud-detection-papers](https://github.com/benedekrozemberczki/awesome-fraud-detection-papers) 关于欺诈检测的数据挖掘论文的精选列表。
* [zwt233/GAMLP](https://github.com/zwt233/GAMLP) 图形注意多层感知器 ,在 OGB 数据集上重现
* [YuweiCao-UIC/KPGNN](https://github.com/YuweiCao-UIC/KPGNN) 图神经网络增量学习在事件检测中的应用
* [graphdeeplearning/benchmarking-gnns](https://github.com/graphdeeplearning/benchmarking-gnns) 用于基准测试图形神经网络的存储库
* [safe-graph/DGFraud](https://github.com/safe-graph/DGFraud) 基于深度图的工具箱,用于欺诈检测
* [Saro00/DGN](https://github.com/Saro00/DGN) 定向图网络在 PyTorch 和 DGL 中的实现
* [naganandy/graph-based-deep-learning-literature](https://github.com/naganandy/graph-based-deep-learning-literature) 基于图的深度学习中的会议出版物
* [tkipf/gae](https://github.com/tkipf/gae) 图自动编码器在TensorFlow中的实现
* [thunlp/GNNPapers](https://github.com/thunlp/GNNPapers) 图神经网络上的必读论文 (GNN)
* [susheels/adgcl](https://github.com/susheels/adgcl) 对抗性图增强以改善图对比学习
* [graph-fraud-detection-papers](https://github.com/safe-graph/graph-fraud-detection-papers) 基于图的欺诈检测论文和资源
* [Variational-Graph-Auto-Encoders](https://github.com/limaosen0/Variational-Graph-Auto-Encoders) 可变图自动编码器 链接预测
* [GRAND-Lab/SUBLIME](https://github.com/GRAND-Lab/SUBLIME) 走向无监督深度图结构学习
* [deepmind/graph_nets](https://github.com/deepmind/graph_nets) 在Tensorflow中构建图网
## 图卷积网络
* [JD-AI-Research-Silicon-Valley/SACN](https://github.com/JD-AI-Research-Silicon-Valley/SACN) 端到端结构感知卷积网络(SACN)模型充分利用了GCN和ConvE的优势来完成知识库。SACN由加权图卷积网络(WGCN)的编码器和称为Conv-TransE的卷积网络的解码器组成。WGCN利用知识图节点结构,节点属性和边缘关系类型。解码器Conv-TransE使最新的ConvE能够在实体和关系之间转换,同时保持与ConvE相同的链路预测性能。
* [benedekrozemberczki/ClusterGCN](https://github.com/benedekrozemberczki/ClusterGCN) 提出了一种新的方法来进行GCN训练:首先,对图进行聚类,把原图划分成一些紧密连接的子图;然后,抽样一个或者一些子图作为一个batch,在抽样出来的子图上进行卷积计算。
* [tkipf/relational-gcn](https://github.com/tkipf/relational-gcn) 关系图卷积网络,是最早提出利用GCN来解决图结构中不同边关系对节点影响,在进行信息汇聚更新时,充分考虑节点之间的Edge对节点表征影响的模型。
* [mdeff/cnn_graph](https://github.com/mdeff/cnn_graph) 具有快速局部光谱滤波的图卷积神经网络,实现了将流行的卷积神经网络 (CNN) 有效地推广到任意图
* [DavidZWZ/LightGODE](https://github.com/DavidZWZ/LightGODE) [CIKM 2024] 训练过程中我们真的需要图卷积吗?用于高效推荐的轻量训练后图常微分方程
* [karenlatong/AGC-master](https://github.com/karenlatong/AGC-master) Attributed Graph Clustering via Adaptive Graph Convolution 通过自适应图卷积的属性图聚类
* [zhiyongc/Graph_Convolutional_LSTM](https://github.com/zhiyongc/Graph_Convolutional_LSTM) 流量图卷积循环神经网络,用于网络规模流量学习和预测的深度学习框架
* [tkipf/gcn](https://github.com/tkipf/gcn) 图卷积网络在TensorFlow中的实现 [keras](https://github.com/tkipf/keras-gcn)
* [Jiakui/awesome-gcn](https://github.com/Jiakui/awesome-gcn) 该存储库用于收集GCN,GAT(图形关注)相关资源。
* [MichSchli/RelationPrediction](https://github.com/MichSchli/RelationPrediction) 图卷积网络用于关系链接预测
* [tkipf/pygcn](https://github.com/tkipf/pygcn) PyTorch 中的图卷积网络
* [TAMU-VITA/L2-GCN](https://github.com/TAMU-VITA/L2-GCN) GCN高效分层训练框架
## 图对抗攻击
* [mims-harvard/GNNGuard](https://github.com/mims-harvard/GNNGuard) 保护图神经网络免受对抗性攻击。 即使是最强大和最流行的GNN,图结构的微小、不明显的扰动也会灾难性地降低性能。通过与提出的 GNNGuard 集成,GNN 分类器即使在强烈的对抗性攻击下也可以正确分类目标节点。GNNGuard 关键思想是检测和量化图结构和节点特征之间的关系(如果存在),然后利用这种关系来减轻攻击的负面影响。GNNGuard 学习如何最好地为连接相似节点的边分配更高的权重,同时修剪不相关节点之间的边。GNNGuard不是神经消息传递,而是控制消息流,例如阻止来自不相关邻居的消息,但加强来自高度相关邻居的消息。是第一个可以保护异质图(例如,具有结构等价性)的模型,而所有现有的防御者只考虑同质图。
* [DSE-MSU/DeepRobust](https://github.com/DSE-MSU/DeepRobust) 用于图像和图模型的攻击和防御方法的pytorch库.图模型防御方法:adv_training、gcn、pgd近端梯度下降;gcn_preprocess GCNJaccard 首先通过不同的边缘对输入图进行预处理,并根据处理后的图训练GCN;GCNSVD 一个2层图卷积网络,以SVD作为预处理。All You Need Is Low (Rank): Defending Against Adversarial Attacks on Graphs;prognn Pro-GNN 属性图神经网络 ;r_gcn 强大的图卷积网络,抵抗对抗攻击。KDD 2019。
* [safe-graph/graph-adversarial-learning-literature](https://github.com/safe-graph/graph-adversarial-learning-literature) 该项目是一个关于图结构数据的对抗攻击和防御论文的精选列表,包含了对抗攻击和防御论文,并按上传日期降序排列,方便用户快速查找相关论文,并提供关键词搜索功能。项目还提供了一个关于图数据对抗攻击和防御的综述论文,涵盖了110多篇论文。用户可以通过该项目了解图结构数据对抗攻击和防御领域的研究进展,并找到相关论文进行学习和研究。
* [danielzuegner/robust-gcn](https://github.com/danielzuegner/robust-gcn) Robust Graph Convolutional Network是最早的有关于图数据集上对抗攻击防御的工作之一。本文对GCN作出的改进主要体现在以下两点:基于高斯分布的图卷积层(Gaussian-based Graph Convolution Layer) 、采用attention机制为聚合的邻居特征分配权重。
* [snap-stanford/gib](https://github.com/snap-stanford/gib) 图信息瓶颈 (GIB)。研究者基于该原则构建了两个 GNN 模型:GIB-Cat 和 GIB-Bern,二者在抵御对抗攻击时取得了优异的性能。 图信息Bottleneck打造图最优表示->避免过拟合,并具备稳健性
* [MengmeiZ/LafAK](https://github.com/MengmeiZ/LafAK) 图神经网络的对抗标签翻转攻击与防御.提出了基于自监督的防御框架, 以社区分类作为辅助任务,引入社区级别的信号以惩罚过拟合翻转标签的GNN。
* [liaopeiyuan/GAL](https://github.com/liaopeiyuan/GAL) 图对抗网络 Information Obfuscation of Graph Neural Networks 图神经网络的信息模糊处理,使得攻击者很难推断。
* [ChandlerBang/awesome-graph-attack-papers](https://github.com/ChandlerBang/awesome-graph-attack-papers) 此存储库旨在提供有关图形数据或 GNN(图形神经网络)上对抗性攻击和防御作品的链接。
* [ChandlerBang/Pro-GNN](https://github.com/ChandlerBang/Pro-GNN) 鲁棒图神经网络的图结构学习,抗严重干扰。
* [EdisonLeeeee/Graph-Adversarial-Learning](https://github.com/EdisonLeeeee/Graph-Adversarial-Learning) 图对抗性攻击和防御的精选集合。
## 图嵌入_网络表征学习
* [JinheonBaek/GMT](https://github.com/JinheonBaek/GMT) 使用 Graph Multiset Pooling 准确学习图表示。GMT 也包含在 PyTorch Geometric 中nn.glob.GraphMultisetTransformer ,可以在其中更轻松地实现模型。贡献:将图池化问题视为多集编码问题,在此问题下,考虑具有多个注意单元的集合中节点之间的关系,以仅使用一个全局函数来紧凑地表示整个图,而无需额外的消息传递操作。展示了现有的 GNN 与我们的参数池操作可以与 WL 测试一样强大,并且还可以轻松扩展到具有可学习集群的节点集群方法。广泛验证了 GMT 在合成图和现实图上的图分类、重建和生成任务,在这些任务上,它在很大程度上优于大多数图池基线。
* [eliorc/node2vec](https://github.com/eliorc/node2vec) node2vec是一个用于网络节点嵌入的Python库,它实现了node2vec算法,该算法通过随机游走学习网络节点的特征表示。该库支持使用gensim库训练词向量模型,并提供多种边缘嵌入方法,例如平均嵌入、Hadamard嵌入和加权L1嵌入。用户可以根据自己的需求自定义参数,例如嵌入维度、游走长度、游走次数等。该库还支持使用临时文件夹存储大型图,以避免内存溢出。此外,该库还提供了保存和加载模型的功能,方便用户进行后续使用。
* [daiquocnguyen/ConvKB](https://github.com/daiquocnguyen/ConvKB) 通过使用卷积神经网络改进了最先进的模型,因此它可以捕获实体之间的全局关系和过渡特性,以及知识库中的关系。在ConvKB中,每个三元组(头实体,关系,尾部实体)都表示为3列矩阵,其中每个列向量代表一个三元元素。然后将此3列矩阵馈送到卷积层,在该卷积层上对矩阵操作多个滤波器以生成不同的特征图。然后将这些特征图串联到代表输入三元组的单个特征向量中。通过点积将特征向量与权重向量相乘以返回分数。
* [pcy1302/DMGI](https://github.com/pcy1302/DMGI) DMGI是一种无监督的多重属性网络嵌入方法,用于处理包含多种关系类型的网络。它借鉴了 Deep Graph Infomax (DGI) 的思想,最大化图中局部区域与全局表示之间的互信息。DMGI 通过引入一致性正则化框架和通用判别器来整合来自多个图的节点嵌入,并利用注意力机制来推断每种关系类型的重要性。实验表明,DMGI 在各种下游任务中优于现有方法,即使它完全是无监督的。该项目提供代码、数据和论文,方便用户使用和研究。
* [Shubhranshu-Shekhar/ctdne](https://github.com/Shubhranshu-Shekhar/ctdne) 连续时间动态网络嵌入。依据deepwalk与node2vec等模型的启发,作者基于动态图的性质,提出了temporal random walk的概念,即在一条随机游走路径上,从起始节点到终止节点,连边的时态信息依次递增。针对边上存在时态信息的问题,作者提出了unbiased/biased采样算法。采样后的路径将会蕴含动态图中的时态依赖信息。作者在多个动态图数据集上做了实验,并与Deepwalk/Node2vec/LINE等静态图表示学习算法进行了对比。
* [divelab/GOOD](https://github.com/divelab/GOOD) GOOD是一个图数据领域针对 Out-of-Distribution (OOD)问题建立的基准测试平台,由 NeurIPS 2022数据集和基准测试赛道收录。它提供了一系列图 OOD 数据集和算法,并支持用户添加新的算法和数据集。目前,GOOD 已经包含了 GIL 等算法,并计划整合 Twitter 和 DrugOOD 等更多数据集。用户可以参考文档添加新的算法,并通过平台提供的排行榜比较不同算法的性能。
* [chihming/awesome-network-embedding](https://github.com/chihming/awesome-network-embedding) 这是一个精心整理的网络嵌入技术列表,也称为网络表示学习、图嵌入、知识嵌入等。该项目旨在从给定的网络中学习顶点的表示。它包含了各种网络嵌入技术的论文和实现,例如 GraphGym、FEATHER、HeGAN、NetMF、GL2Vec、NNSED、SymmNMF、RECT、GEMSEC、AmpliGraph、jodie、PyTorch-BigGraph 和 ATP 等,并提供相应的论文链接和代码链接。
* [Malllabiisc/CompGCN](https://github.com/Malllabiisc/CompGCN) 针对多关系有向图的图神经网络。该模型实现框架采用了R-GCN提出的Encoder-Decoder框架,在编码阶段将Entity Embedding和Realtion Embedding进行组合Aggregation,然后在解码阶段再采用类似TransE/H或者ConvE等方式对(h,r,t)三元组进行解码。因为它在编码阶段就引入了Realtion,使用同一套Realtion Embedding,使得表征学习更加精准。
* [fishmoon1234/DAG-GNN](https://github.com/fishmoon1234/DAG-GNN) DAG-GNN是一个使用图神经网络学习有向无环图(DAG)结构的项目,它提供了合成数据实验,支持三种线性或非线性关系类型,用户可以通过命令行参数选择实验类型,并提供了相应的论文引用信息,该项目借鉴了DAG NOTEAR和Neural relational inference for interacting systems两个项目的成果。
* [TUM-DAML/pprgo_pytorch](https://github.com/TUM-DAML/pprgo_pytorch) 在一个包含1240万个节点,17300万条边组成的大规模图上,PPRGo只花了不到2分钟就给图上所有节点分了类,这2分钟还是包括了预处理、训练、预测的全流程时间. PPRGo先用每个节点的本地特征学习出每个节点的本地embedding,再用PPR矩阵完成本地embedding在图上的传递与聚合。
* [aditya-grover/node2vec](https://github.com/aditya-grover/node2vec) 由Aditya Grover和Jure Leskovec提出的一种Graph Embedding方法,node2vec在DeepWalk的基础上引入BFS(广度优先搜索)和DFS(深度优先搜索)两种有偏的随机游走方式,以达到分别表征网络的结构对等性(structural equivalence)和同质性(homophily)的目的。
* [kavehhassani/mvgrl](https://github.com/kavehhassani/mvgrl) 通过对比图的结构视图来学习节点和图级表示的自监督方法。通过对比一阶邻居编码和图扩散来实现的。在线性评估协议下,在 8 个节点中的 8 个和图分类基准上实现了新的最先进的自监督学习结果。
* [thunlp/Fast-TransX](https://github.com/thunlp/Fast-TransX) Fast-TransX这是TransE及其扩展模型用于知识表示学习的高效轻量级实现,包括 TransH、TransR、TransD、TranSparse 和 PTransE。[TensorFlow版](https://github.com/thunlp/TensorFlow-TransX)
* [DeepGraphLearning/graphvite](https://github.com/DeepGraphLearning/graphvite) GraphVite 高速、大规模图嵌入.通过多个 CPU 和 GPU 加速图形嵌入。只需大约1分钟即可学习具有100万个节点的图形的节点嵌入,从而实现算法和思想的快速迭代。
* [thunlp/OpenNE](https://github.com/thunlp/OpenNE) 该库提供了标准的NE/NRL(网络表示学习)训练和测试框架 :DeepWalk、node2vec、LINE、GraRep、TADW、GCN、GraphFactorization、SDNE
* [thunlp/OpenKE](https://github.com/thunlp/OpenKE) 使用PyTorch实现的知识嵌入开源框架。RESCAL、DistMult, ComplEx, Analogy、TransE, TransH, TransR, TransD、SimplE、RotatE
* [KDDCUP_2020_AutoGraph_1st_Place](https://github.com/aister2020/KDDCUP_2020_AutoGraph_1st_Place) KDDCUP 2020自动图形表示学习:第一名解决方案。实现了四种不同的模型GCN、GAT、GraphSage、TAGConv.
* [shenweichen/GraphEmbedding](https://github.com/shenweichen/GraphEmbedding) 图嵌入算法的实现和实验。算法包括:DeepWalk、LINE、Node2Vec、SDNE、Struc2Vec。
* [leoribeiro/struc2vec](https://github.com/leoribeiro/struc2vec) struc2vec算法学习任何图形中节点的连续表示,捕获节点之间的结构等效性。
* [awslabs/dgl-ke](https://github.com/awslabs/dgl-ke) 高性能,易于使用且可扩展的软件包,用于学习大规模知识图嵌入。
* [thunlp/NRLPapers](https://github.com/thunlp/NRLPapers) 关于网络表示学习(NRL)/网络嵌入(NE)的必读论文。
* [HLTCHKUST/ke-dialogue](https://github.com/HLTCHKUST/ke-dialogue) 将任意大小的知识库直接嵌入到模型参数中的方法
* [phanein/deepwalk](https://github.com/phanein/deepwalk) DeepWalk 使用短随机游走来学习图中顶点的表示。
* [jwzhanggy/Graph-Bert](https://github.com/jwzhanggy/Graph-Bert) 学习图形表示只需要注意力机制。
* [Wentao-Xu/SEEK](https://github.com/Wentao-Xu/SEEK) 轻量级知识图谱嵌入框架
* [TimDettmers/ConvE](https://github.com/TimDettmers/ConvE) 2D卷积知识图谱嵌入
* [woojeongjin/dynamic-KG](https://github.com/woojeongjin/dynamic-KG) 嵌入动态知识图
## 图机器学习库
* [benedekrozemberczki/pytorch_geometric_temporal](https://github.com/benedekrozemberczki/pytorch_geometric_temporal) 该库包含来自各种已发表研究论文的dynamic+temporal图深度学习,embedding以及spatio-temporal regression 方法。它还带有许多带有时间和动态图的基准数据集。离散递归图卷积 DCRNN GConvGRU GConvLSTM GC-LSTM LRGCN DyGrEncoder EvolveGCNH EvolveGCNO ;辅助图卷积 Temporal Graph Convolutions 时间图卷积 STGCN ;Auxiliary Graph Convolutions TemporalConv DConv
* [CurryTang/Graph-LLM](https://github.com/CurryTang/Graph-LLM) 探索大型语言模型 (LLMs) 在图学习中的潜力。LLMs与图结合的优势:增强特征表示:LLMs通过对文本属性的理解,可以为图节点提供更强大的特征表示,捕捉结构和上下文信息。提升图学习能力:LLMs与图神经网络(GNNs)结合,可以提供更全面和强大的图学习
* [imsheridan/CogDL-TensorFlow](https://github.com/imsheridan/CogDL-TensorFlow) 图表示学习工具包,使研究人员和开发人员可以轻松地训练和比较基线或自定义模型,以进行节点分类,链接预测和其他图任务。它提供了许多流行模型的实现,包括:非GNN基准,例如Deepwalk,LINE,NetMF;GNN基准,例如GCN,GAT,GraphSAGE。
* [JDGalileo/galileo](https://github.com/JDGalileo/galileo) Galileo(伽利略)是一个图深度学习框架,具备超大规模、易使用、易扩展、高性能、双后端等优点,旨在解决超大规模图算法在工业级场景的落地难题,提供图神经网络和图嵌入等模型的训练评估及预测能力。
* [divelab/DIG](https://github.com/divelab/DIG) 支持研究方向:图生成、图自监督学习、图神经网络可解释性以及 3D 图深度学习。对于每个领域,DIG 都提供了通用、可扩展的数据接口、常用算法与评估标准实现。
* [CrawlScript/tf_geometric](https://github.com/CrawlScript/tf_geometric) 高效友好的图神经网络库 节点分类:图卷积网络(GCN)、多头图注意力网络(GAT),链接预测:平均池、SAGPooling,图分类:图形自动编码器(GAE)
* [dmlc/dgl/examples](https://github.com/dmlc/dgl/blob/master/examples/README.md) 官方DGL示例和模块,包含与图神经网络相关的选定研究论文的示例实现。半监督节点分类、聚类、节点分类、标签传播、图注意力等。
* [rusty1s/pytorch_geometric](https://github.com/rusty1s/pytorch_geometric) PyTorch的深度图学习扩展库。PyG对已发表或者常用的图神经网络和数据集都进行了集成,因而是当前最流行和广泛使用的GNN库。
* [BUPT-GAMMA/OpenHINE](https://github.com/BUPT-GAMMA/OpenHINE) 异构信息网络嵌入(OpenHINE)的开源工具包。实现的模型包括:DHNE,HAN,HeGAN,HERec,HIN2vec,Metapath2vec,MetaGraph2vec,RHINE。
* [alibaba/graph-learn](https://github.com/alibaba/graph-learn) 旨在简化图神经网络应用的框架。从实际生产案例中提取解决方案。已在推荐,反作弊和知识图系统上得到应用和验证。
* [chaitjo/awesome-efficient-gnn](https://github.com/chaitjo/awesome-efficient-gnn) 令人敬畏的高效图神经网络,一份关于有效图神经网络和可扩展图表示学习的必读论文的精选列表,用于实际应用。
* [EdisonLeeeee/GraphGallery](https://github.com/EdisonLeeeee/GraphGallery) 一个用于对图神经网络 (GNN) 进行基准测试的图库。实现的方法:节点分类、图净化、链接预测、节点嵌入。
* [THUDM/cogdl](https://github.com/THUDM/cogdl) 由清华大学计算机系知识工程实验室(KEG)开发的基于图的深度学习的研究工具,基于Python语言和Pytorch库。
* [THUDM/cogdl](https://github.com/THUDM/cogdl) 图形表示学习工具包,实现的模型,非GNN基线:如Deepwalk,LINE,NetMF,GNN基线:如GCN,GAT,GraphSAGE
* [THUMNLab/AutoGL](https://github.com/THUMNLab/AutoGL) 开源自动图学习工具包AutoGL (Auto Graph Learning),支持在图数据上全自动进行机器学习。
* [dmlc/dgl](https://github.com/dmlc/dgl) Deep Graph Library一个易于使用、高性能和可扩展的 Python 包,用于对图进行深度学习。
* [networkx/networkx: Network Analysis in Python](https://github.com/networkx/networkx) Python 包,用于创建、操作和研究复杂网络的结构、动力学和功能。
* [shenweichen/GraphNeuralNetwork](https://github.com/shenweichen/GraphNeuralNetwork) 图神经网络的实现和实验,gcngraphsagegat等。
* [quiver-team/torch-quiver](https://github.com/quiver-team/torch-quiver) 用于快速轻松的分布式图学习的 PyTorch 库
* [PaddlePaddle/PGL](https://github.com/PaddlePaddle/PGL) 基于PaddlePaddle的高效灵活的图学习框架
* [facebookresearch/PyTorch-BigGraph](https://github.com/facebookresearch/PyTorch-BigGraph) 从大型图形结构化数据生成嵌入
* [GNNBook@2022](https://graph-neural-networks.github.io/index.html) 图神经网络 基础、前沿和应用
* [alibaba/euler](https://github.com/alibaba/euler) 分布式图深度学习框架。
* [GRAND-Lab/Awesome-Graph-Neural-Networks](https://github.com/GRAND-Lab/Awesome-Graph-Neural-Networks) 图神经网络论文列表
* [stellargraph/stellargraph](https://github.com/stellargraph/stellargraph) 星际图机器学习库
* [Awesome-GNN-Research](https://github.com/XunKaiLi/Awesome-GNN-Research) 很棒的 GNN 研究
## 图注意力机制
* [wehos/awesome-graph-transformer](https://github.com/wehos/awesome-graph-transformer) awesome-graph-transformer 项目是一个收集关于图 Transformer 论文的资源库,它根据论文的具体技术进行分类。该项目旨在提供一个持续更新的图 Transformer 论文列表,并欢迎用户发现错误或遗漏的论文时提交 issue 或 pull request。项目中包含了各种结构编码/位置编码方法,例如谱位置编码、其他结构感知编码,以及使用图神经网络作为结构编码器的方法。
* [graphdeeplearning/graphtransformer](https://github.com/graphdeeplearning/graphtransformer) 针对任意图的 Transformer 神经网络架构的泛化 。注意机制是图中每个节点的邻域连通性的函数。位置编码由拉普拉斯特征向量表示,它自然地概括了 NLP 中经常使用的正弦位置编码。层归一化被批量归一化层取代。该架构被扩展为具有边缘表示,这对于边缘信息丰富的任务或成对交互(例如分子中的键类型或 KG 中的关系类型等)至关重要。
* [Qqqq-shao/DGASN](https://github.com/Qqqq-shao/DGASN) 该项目名为“跨网络边分类的域自适应图注意力监督网络 (DGASN)”,提供了论文中提出的 DGASN 模型的 PyTorch 实现。该模型旨在解决跨网络边分类问题,利用图注意力机制和域自适应技术,在源网络学习到的知识迁移到目标网络,从而提高目标网络的边分类性能。项目包含模型代码、数据集和示例脚本,可用于复现论文结果。
* [Graph-COM/GSAT](https://github.com/Graph-COM/GSAT) 提出了一种全新的随机注意力机制(Stochastic Attention Mechanism),该机制显示出了强大的可解释能力和泛化能力。对比过去的可解释工作,该机制在6个数据集上提升了至多20%、平均12%的可解释性能;在11个数据集上提升了平均3%的模型准确率,并且在OGBG-MolHiv榜单上达到SOTA(在不使用手工设计的专家特征的模型中)。
* [jwzhanggy/Graph-Bert](https://github.com/jwzhanggy/Graph-Bert) 仅基于Attention机制而不依赖任何类卷积或聚合操作即可学习图的表示,并且完全不考虑节点之间的连接信息。通过将原始图分解为以每个节点为中心的多个子图来学习每个节点的表征信息,这不仅能解决图模型的预训练问题,还能通过并行处理还提高效率。
* [aravindsankar28/DySAT](https://github.com/aravindsankar28/DySAT) 提出了DYNAMIC SELF-ATTENTION NETWORK,通过结构化注意力模块与时态注意力模块对动态变化的节点进行表示。
* [dongkwan-kim/SuperGAT](https://github.com/dongkwan-kim/SuperGAT) ICLR2021|GAT升级版:通过多种自监督方式提升GAT中注意力,性能在15个数据集有所提升。
* [Diego999/pyGAT](https://github.com/Diego999/pyGAT) Pytorch 实现的图注意力网络模型,作者:Veličković et.AL
* [inyeoplee77/SAGPool](https://github.com/inyeoplee77/SAGPool) Self-Attention Graph Pooling torch 自我注意力图池化
* [PetarV-/GAT](https://github.com/PetarV-/GAT) Graph Attention Networks 图注意力神经网络
## 图监督_半监督_对比学习
* [yuh-yang/KGCL-SIGIR22](https://github.com/yuh-yang/KGCL-SIGIR22) KGCL是一个基于知识图谱的对比学习推荐模型,该项目是 SIGIR'22 论文 "Knowledge Graph Contrastive Learning for Recommendation" 的PyTorch 实现。该项目基于 LightGCN 的开源代码,并提供了 Yelp2018、Amazon-book 和 MIND 三个数据集及其对应的知识图谱。用户可以通过修改 `code/world.py` 中的 `ROOT_PATH` 并运行 `cd code && python main.py --dataset=yelp2018` 来在 Yelp2018 数据集上运行 KGCL。此外,该项目还实现了 LightGCN 和 SGL 模型,用户可以通过 `--model` 参数选择不同的模型进行测试。该项目提供了一个简洁易懂的代码框架,方便用户进行对比实验和研究。
* [THUDM/GRAND](https://github.com/THUDM/GRAND) Graph Random Neural Network ,用于图半监督学习的新型图神经网络框架。在模型架构上,提出了一种简单有效的图数据增强方法 Random Propagation,用来增强模型鲁棒性及减轻过平滑。基于 Random Propagation,GRAND 在优化过程中使用一致性正则(Consistency Regularization)来增强模型的泛化性,即除了优化标签节点的 cross-entropy loss 之外,还会优化模型在无标签节点的多次数据增强的预测一致性。节点预测 state of the Art.
* [ChandlerBang/SelfTask-GNN](https://github.com/ChandlerBang/SelfTask-GNN) SelfTask-GNN 是一个基于 PyTorch 实现的图自监督学习框架,它基于论文 "Self-supervised Learning on Graphs: Deep Insights and New Directions"。该项目通过对各种图自监督学习预训练任务进行深入研究,提出了一个名为 SelfTask 的新方向,能够在各种真实世界数据集上实现最先进的性能。项目代码基于 DropEdge 项目进行修改,并提供了用于复现论文结果的脚本文件。
* [Shen-Lab/GraphCL_Automated](https://github.com/Shen-Lab/GraphCL_Automated) 该项目提供两种基于图对比学习 (GraphCL) 的自动数据增强方法:JOAO 和 LP。JOAO 能够在 GraphCL 训练过程中自动选择最优的数据增强策略,并已在多个数据集上验证其有效性。LP 则利用图生成模型直接生成数据增强,摆脱了对预定义增强方法的依赖。该项目包含了多种实验设置,包括半监督学习、无监督表示学习和迁移学习,并提供了相应的代码实现。
* [sunfanyunn/InfoGraph](https://github.com/sunfanyunn/InfoGraph) InfoGraph是一个用于图级无监督和半监督表示学习的框架,通过最大化互信息来学习图的表示。该项目基于PyTorch和PyTorch Geometric实现,并已在ICLR 2020上发表。该框架的代码在2019年使用PyTorch Geometric 1.3.1进行测试,由于PyTorch Geometric的代码库更新,使用更高版本的PyTorch Geometric可能导致结果与论文中报告的结果有所不同。该项目参考了Deep InfoMax的工作。
* [ChandlerBang/awesome-self-supervised-gnn](https://github.com/ChandlerBang/awesome-self-supervised-gnn) 该项目是一个关于图神经网络(GNN)的自监督学习和预训练论文列表,按年份分类。该项目包含了各种论文,涵盖了不同类型的自监督学习方法,例如对比学习、数据增强和多任务学习。该项目还提供了每个论文的链接,方便用户获取更多信息。该项目持续更新,欢迎用户提交错误报告或贡献新的论文。
* [lxiaorui/ElasticGNN](https://github.com/lxiaorui/ElasticGNN) 弹性图神经网络提出了一种新颖的GNN通用消息传递方案到。这种算法不仅对反向传播训练友好,而且在理论上收敛保证的情况下实现了所需的平滑特性。半监督学习任务的实验表明,所提出的 Elastic GNN 在基准数据集上获得了更好的适应性,并且对图对抗攻击的鲁棒性明显更强。
* [CRIPAC-DIG/GCA](https://github.com/CRIPAC-DIG/GCA) GCA是 WWW 2021 论文 "Graph Contrastive Learning with AdaptiveAugmentation" 的代码实现,它是一种基于图对比学习的模型,通过自适应增强技术提高图表示学习的性能。用户可以使用该代码在不同的数据集上进行训练,例如 WikiCS,并通过参数设置选择不同的增强策略,如 GCA-Degree。
* [GraphCL/PyGCL](https://github.com/GraphCL/PyGCL) PyTorch 的图形对比学习库.图对比学习 (GCL) 建立了一种无需人工注释即可学习图表示的新范式。 典型的 GCL 算法首先通过输入的随机增强构造多个图视图,然后通过将正样本与负样本进行对比来学习表示。
* [RingBDStack/SUGAR](https://github.com/RingBDStack/SUGAR) “SUGAR:具有强化池和自监督互信息机制的子图神经网络”的代码
* [LirongWu/awesome-graph-self-supervised-learning](https://github.com/LirongWu/awesome-graph-self-supervised-learning) 图自监督学习(Graph Self-supervised Learning)最新综述+Github代码汇总
* [SXKDZ/awesome-self-supervised-learning-for-graphs](https://github.com/SXKDZ/awesome-self-supervised-learning-for-graphs) 一个很棒的图表自监督学习的精选列表。
## 图聚合_节点聚合
* [bdy9527/SDCN](https://github.com/bdy9527/SDCN) SDCN(Structural Deep Clustering Network) 是一种结构化深度聚类网络,它利用图结构信息来增强深度聚类的效果。该项目提供了论文、数据集和代码,并详细解释了模型的工作原理和应用方法。SDCN 通过构建 KNN 图来捕获数据结构,并使用预训练的自动编码器来学习数据表示。它使用结构化信息来指导聚类过程,并通过分布 P 来提高聚类性能。该项目还提供了详细的 Q&A 环节,帮助用户理解模型的原理和应用。用户可以通过提供的代码和数据集将 SDCN 应用于其他数据集,并在研究中引用该项目。
* [yueliu1999/DCRN](https://github.com/yueliu1999/DCRN) 这是一个名为DCRN的深度图聚类方法,该方法通过双重相关性降低来提高节点表示的区分能力,从而改善聚类性能。DCRN使用孪生网络对样本进行编码,并通过强制交叉视图样本相关矩阵和交叉视图特征相关矩阵分别逼近两个单位矩阵,从而在双重层面上降低信息相关性。此外,为了缓解GCN中过度平滑导致的表示崩溃问题,DCRN引入了传播正则化项,使网络能够利用浅层网络结构获取长距离信息。该方法在六个基准数据集上的实验结果表明,DCRN优于现有的最先进方法。
* [Shen-Lab/SS-GCNs](https://github.com/Shen-Lab/SS-GCNs) 该项目是ICML 2020论文 "When Does Self-Supervision Help GraphConvolutional Networks?" 的 PyTorch 实现,旨在研究自监督学习对图卷积网络(GCN) 的影响。项目通过在 GCN 架构中引入三种自监督任务(节点聚类、图划分和图补全)来验证自监督学习能够提高 GCN 的泛化能力和鲁棒性。项目包含 GCN、GAT、GIN、GMNN、GraphMix 等模型的实现,以及在对抗防御场景下的自监督 GCN 应用。
* [trinayan/PinSageMultiGPU](https://github.com/trinayan/PinSageMultiGPU) 一个能够学习节点嵌入的随机游走GCN,由Pinterest公司和Stanford完成的工作,首次将图方法落地到了工业界。PinSage的理论背景是基于GraphSAGE,即归纳(inductive)式的学习,直接学习聚合函数而不是固定的节点,这也是其他的图算法如GCN等等直推式(transductive)方法无法做到的,更能满足实际中的图节点是不断变化的需求(节点和关系都会不断的变化)。
* [Frostland12138/Awesome-Graph-Condensation](https://github.com/Frostland12138/Awesome-Graph-Condensation) Awesome-Graph-Condensation 收集了大量关于图压缩 (GC) 的论文,旨在将大型图压缩成更小、更具信息量的图。该项目根据图压缩方法的侧重点将论文分类,例如保留原始图的哪些信息,以及是基于图属性 (图引导) 还是基于训练模型的能力 (模型引导)。该项目还提供了一个关于图压缩的综述论文,并提供每个论文的代码链接,方便研究者学习和使用。
* [rusty1s/pytorch_cluster](https://github.com/rusty1s/pytorch_cluster) PyTorchCluster是一个PyTorch扩展库,包含了高度优化的图聚类算法,例如Graclus、Voxel Grid Pooling、Iterative Farthest PointSampling、k-NN和Radius图生成、基于最近点的聚类以及随机游走采样。所有操作都支持多种数据类型,并在CPU和GPU上实现。可以通过Anaconda或pip安装,支持多种操作系统、PyTorch和CUDA组合。
* [williamleif/GraphSAGE](https://github.com/williamleif/GraphSAGE) 核心思想就是学习聚合节点的邻居特征生成当前节点的信息的「聚合函数」,有了聚合函数不管图如何变化,都可以通过当前已知各个节点的特征和邻居关系,得到节点的embedding特征。
* [lukecavabarrett/pna](https://github.com/lukecavabarrett/pna) 提出了Principal Neighbourhood Aggregation (PNA),一种考虑了 degree 的全新的 GNN 聚合器(泛化了现有的求和聚合器)。作者通过一些图例形象的解释了现有的各种聚合器的表示能力及其缺陷。
* [EstelleHuang666/gnn_hierarchical_pooling](https://github.com/EstelleHuang666/gnn_hierarchical_pooling) Hierarchical Graph Representation Learning 构建了一个多层次的、节点可微分的聚合 GNN 网络。在每一层中,完成信息的抽取,并将当前的图聚合为一个更粗粒度的图,供下一层使用。
* [graphdml-uiuc-jlu/geom-gcn](https://github.com/graphdml-uiuc-jlu/geom-gcn) 几何图卷积网络 将节点映射为连续空间的一个向量graph embedding,在隐空间查找邻居并进行聚合。
## 图预训练_Pre-TrainingOfGraph
* [Shen-Lab/GraphCL](https://github.com/Shen-Lab/GraphCL) 设计了一种针对无监督图表示学习的图对比学习框架 GraphCL。在该框架下,作者探索了 4 种不同先验下的图数据增强方法。考虑到半监督,无监督和迁移等任务,作者在很多数据集上系统的分析了不同图增强组合的影响。实验结果表明,作者所设计的 GraphCL 框架能够取得相似或者更优于 SOTA。GraphCL是一个基于对比学习的自监督图谱预训练模型,GraphCL模型对一个节点得到两个随机扰动的L-hop的Subgraph,通过最大化两个Subgraph之间的相似度来进行自监督学习。
* [snap-stanford/pretrain-gnns](https://github.com/snap-stanford/pretrain-gnns) 该项目是一个用于预训练图神经网络 (GNN) 的 PyTorch 实现,包含了多种预训练策略,包括自监督预训练和监督预训练。项目提供了预训练模型,用户可以下载并用于自己的应用。项目还提供了脚本用于复现论文中的实验结果。项目特色包括:1.提供多种预训练策略,包括上下文预测、掩码预测、边预测、深度图信息最大化等;2. 提供预训练模型,方便用户直接使用;3. 提供脚本用于复现论文中的实验结果。
* [acbull/GPT-GNN](https://github.com/acbull/GPT-GNN) Generative Pre-Training of Graph Neural Networks 图神经网络的生成式预训练。在预处理阶段,算法会首先随机地遮盖掉图中的一些边和点,利用生成模型来生成(预测)这些边的存在和节点的属性。模型的损失函数会使得预测的结果尽量接近真实的网络结构。这样的话,在GPT-GNN训练完成后,其内部的图神经网络层就可以被拿出来进行调优。
* [HKUDS/GraphEdit](https://github.com/HKUDS/GraphEdit) GraphEdit是一个使用大型语言模型 (LLM) 进行图结构学习的项目,它利用 LLM 的强大能力来生成和编辑图结构,从而实现更准确、更有效的图学习。该项目包含 GNN 和 LLM 两个主要部分,其中 GNN 用于图数据处理,LLM 用于图结构的生成和编辑。项目代码结构清晰,包含了 GNN 模型、数据集和 LLM 工具等组件,方便用户进行研究和应用。
* [rootlu/L2P-GNN](https://github.com/rootlu/L2P-GNN) 首次探索学习预训练GNNs,缓解了预训练与微调目标之间的差异,并为预训练GNN提供了新的研究思路。针对节点与图级表示,该研究提出完全自监督的GNN预训练策略。针对预训练GNN,该研究建立了一个新型大规模书目图数据,并在两个不同领域的数据集上进行了大量实验。实验表明,该方法显著优于SOTA方法。
* [THUDM/GCC](https://github.com/THUDM/GCC) Graph Contrastive Coding for Graph Neural Network Pre-Training 用于图形神经网络预训练的图形对比编码,下游任务:节点分类、图分类、相似性搜索。
## 异构图_异质图
* [HKUDS/HiGPT](https://github.com/HKUDS/HiGPT) [KDD'2024]“HiGPT:异构图语言模型”,我们提出了HiGPT框架,该框架将LLMs与异构图结构知识与异构图指令调整范例结合起来。上下文内异构图分词器。为了实现具有不同节点和边类型的各种异构图场景的适应性,我们引入了上下文异构图标记器。该分词器捕获不同异构图中发现的不同语义关系,提供统一的方法。为了优化性能并将分词器无缝集成到 HiGPT 框架中,我们采用轻量级文本图对比对齐范例进行预训练。异构图指令调优。我们引入了一种新颖的异构图指令调优框架,该框架集成了类型间和类型内标记匹配任务来微调大型语言模型( LLMs )。我们的框架专门针对增强LLMs对异质关系意识和同质关系意识的理解。通过利用这些任务,我们的目标是增强LLMs在以下领域的能力:(i)区分不同类型的图标记,(ii)理解异构图中的复杂关系,(iii)保留异构图中实体的独特属性同质图,(iv) 在训练过程中有效利用不同的图指令。混合思维增强。我们的方法引入了一种增强图形指令的新颖机制,强调使用混合思想(MoT)与各种提示技术相结合。这种集成使我们能够生成一组多样化且全面的信息丰富的特定任务指令。通过将这些增强的图形指令无缝地合并到我们的框架中,我们预计我们的模型增强将有效地解决数据稀疏性的挑战。
* [HKUDS/AnyGraph](https://github.com/HKUDS/AnyGraph) 专为跨域零样本预测而设计的图基础模型。AnyGraph 的目标: 结构异质性:解决图结构信息的分布变化。 特征异质性:处理跨图数据集的不同特征表示空间。 快速适应:有效地使模型适应新的图域。 缩放法则的出现:性能随着数据量和模型参数的大小而缩放。 AnyGraph 的主要特点: 专家混合图(MoE) :使用一系列专家模型有效解决跨域异构性。 轻量级图专家路由机制:能够快速适应新的数据集和领域。 自适应且高效的图形专家:专门设计用于处理具有各种结构模式和特征空间的图形。 经过广泛的训练和测试:在 38 个不同的图形数据集上表现出强大的通用性,展示了缩放定律和紧急功能。
* [scottjiao/SlotGAT_ICML23](https://github.com/scottjiao/SlotGAT_ICML23) SlotGAT是一个用于异构图的基于槽的图神经网络方法,它通过在每个节点类型上使用单独的槽来解决现有消息传递过程中语义混合的问题,从而保持不同节点类型在各自特征空间中的表示。SlotGAT还设计了一种注意力机制来有效地聚合槽内消息,并在最后一层使用槽注意力技术来学习不同槽在下游任务中的重要性。SlotGAT在6个数据集上的节点分类和链接预测任务中,在13个基准模型上表现出优越性。该项目提供了代码和数据,以及训练好的模型,用户可以运行脚本进行评估和训练。
* [OpenGSL/OpenGSL](https://github.com/OpenGSL/OpenGSL) OpenGSL是一个用于图结构学习 (GSL) 的综合基准测试项目,它为评估现有的 GSL 方法提供了一个公平且全面的平台,并促进未来的 GSL 研究。该项目包含了多种 GSL 方法,包括 GRCN、ProGNN、IDGL 等,并支持 Cora、PubMed、Citeseer 等多个数据集。用户可以通过简单的命令行操作或四步流程来运行 GSL 方法,并进行训练和评估。此外,OpenGSL 还提供了一个易于使用的框架,允许用户构建自己的 GSL 算法。
* [yuduo93/THIGE](https://github.com/yuduo93/THIGE) 将复杂异质的动态交互行为构建为时序异质交互图(Temporal Heterogeneous Interaction Graph, 简称为THIG)进而同时学习用户兴趣和商品表示用于商品推荐。本文提出了一种时序异质图上的表示学习方法,称之为THIGE,充分建模交互行为的异质性,刻画不同类型的兴趣偏好,并融合长、短期兴趣构建用户、商品表示。最后,在3个真实数据集上验证模型的有效性。
* [iqiyi/HMGNN](https://github.com/iqiyi/HMGNN) 异构小图神经网络及其在拉新裂变风控场景的应用.尝试通过图神经网络对欺诈邀请进行检测的方法。在GCN和异构图神经网络的基础上,HMGNN使用超图和异构图卷积克服了小图和异构图带来的问题。并在实际拉新场景中取得了不错的效果。此外,我们也在尝试将其应用到更广阔的场景中,比如金融反欺诈、关注点赞反作弊等问题。
* [LFhase/CIGA](https://github.com/LFhase/CIGA) CIGA是一个基于因果不变性的图神经网络模型,旨在解决图数据中的分布外泛化问题。该模型通过学习因果不变特征来克服图数据分布变化的多样性和复杂性,并针对不同类型的分布变化模式(FIIF、PIIF、MIIF)进行优化。CIGA在 14 个基准数据集上取得了最优性能,证明了其在图数据分布外泛化方面的有效性。
* [BUPT-GAMMA/OpenHGNN](https://github.com/BUPT-GAMMA/OpenHGNN) 这是一个基于 DGL 的异构图神经网络(OpenHGNN)的开源工具包。支持特定任务的模型:RGCN[ESWC 2018]、HAN[WWW 2019]、KGCN[WWW 2019]、HetGNN[KDD 2019]、GTN[NeurIPS 2019]RSHN[ICDM 2019]、DGMI[AAAI 2020]、MAGNN[WWW 2020]、CompGCN[ICLR 2020]、NSHE[IJCAI 2020]、NARS[arxiv]、MHNF[arxiv]、HGSL[AAAI 2021]、HGNN-AC[WWW 2021]、HeCo[KDD 2021]、HPN[TKDE 2021]、RHGNN[arxiv]
* [Andy-Border/HGSL](https://github.com/Andy-Border/HGSL) 异质图结构学习(Heterogeneous Graph Structure Learning)问题,并提出了HGSL框架来联合学习适合分类的异质图结构和图神经网络参数。通过挖掘特征相似性、特征与结构之间的交互以及异质图中的高阶语义结构来生成适合下游任务的异质图结构并联合学习GNN参数。HGSL的性能优于基线模型。
* [Jhy1993/HAN](https://github.com/Jhy1993/HAN) 异构图注意力网络,遵循经典的异质图神经网络架构(节点级别聚合与语义级别聚合),为了更好的实现层次聚合函数,HAN利用语义级别注意力和节点级别注意力来同时学习元路径与节点邻居的重要性,并通过相应地聚合操作得到最终的节点表示。
* [chuxuzhang/KDD2019_HetGNN](https://github.com/chuxuzhang/KDD2019_HetGNN) KDD2019论文中HetGNN的代码:异构图神经网络 用了LSTM作为来聚合某种关系下的节点邻居并更新节点表示。这里的邻居选择也有所不同:通过random walk with restart来选择固定数量的邻居。
* [acbull/pyHGT](https://github.com/acbull/pyHGT) Heterogeneous Graph Transformer 异构图Transformer 可以处理大规模的异构图和动态图.
* [dyu62/PolyGNN](https://github.com/dyu62/PolyGNN) KDD24 PolygonGNN:具有异构可见性图的多边形几何表示学习
* [jindi-tju/HGNN-AC](https://github.com/jindi-tju/HGNN-AC) “WWW21 - 通过属性完成的异构图神经网络”的源代码
* [NSSSJSS/MHGCN](https://github.com/NSSSJSS/MHGCN) 多路异构图卷积网络,节点分类任务,链接预测任务。
* [safe-graph/GNN-FakeNews](https://github.com/safe-graph/GNN-FakeNews) 基于GNN假新闻检测模型的集合。异构图分类。
* [liun-online/HeCo](https://github.com/liun-online/HeCo) 具有协同对比学习的自监督异构图神经网络。
* [kepsail/ie-HGCN](https://github.com/kepsail/ie-HGCN) 可解释且高效的异构图卷积网络,IEEE TKDE 2021
* [brxx122/HeterSumGraph](https://github.com/brxx122/HeterSumGraph) 用于提取文档摘要的异构图神经网络
* [Googlebaba/KDD2019-MEIRec](https://github.com/Googlebaba/KDD2019-MEIRec) 基于异质图神经网络的用户意图推荐
* [THUDM/cogdl](https://github.com/THUDM/cogdl) 用于图形表示学习的广泛研究平台
* [AutoML-Research/DiffMG](https://github.com/AutoML-Research/DiffMG) 异构图神经网络的可微元图搜索
## 时空网络_交通预测_动态图
* [LibCity/Bigscity-LibCity](https://github.com/LibCity/Bigscity-LibCity/) 统一、全面、可扩展的代码库,为交通预测领域的研究人员提供了一个可靠的实验工具和便捷的开发框架。 我们的库基于 PyTorch 实现,并将与交通预测相关的所有必要步骤或组件包含到系统的流水线中,使研究人员能够进行全面的对比实验。 我们的库将有助于交通预测领域的标准化和可复现性。LibCity 目前支持以下任务:- 交通状态预测(交通流量预测、交通速度预测、交通需求预测、起点-终点(OD)矩阵预测、交通事故预测)轨迹下一跳预测、到达时间预测、路网匹配、路网表征学习。
* [HKUDS/UrbanGPT](https://github.com/HKUDS/UrbanGPT) [KDD'2024]“UrbanGPT:时空大语言模型”。在这项工作中,我们提出了一种时空大语言模型,可以在广泛的下游城市任务中表现出卓越的泛化能力。为了实现这一目标,我们提出了 UrbanGPT,它将时空依赖编码器与指令调整范例无缝集成。这种集成使大型语言模型( LLMs )能够理解跨时间和空间的复杂相互依赖关系,从而有助于在数据稀缺的情况下进行更全面、更准确的预测。大量的实验结果凸显了构建LLMs用于时空学习的潜力,特别是在零样本场景中。
* [nnzhan/Graph-WaveNet](https://github.com/nnzhan/Graph-WaveNet) 时空序列预测模型,本文目标是,给定图G和历史S步的图信号数据,学习映射关系f,进而预测接下来T步的图信号。源于WaveNet,并在图卷积的基础上提出了动态自适应的邻接矩阵来捕获隐藏的图结构关系。数据集:META-LA是洛杉矶公路探测器收集到的交通数据,有207个传感器搜集了四个月的数据(2012.3.1 2012.6.30);PEMS-BAY是加州交通部门Performance Measurement System搜集到的交通数据,有325个传感器搜集了六个月的数据(2017.1.1 2017.5.31)。
* [LeiBAI/AGCRN](https://github.com/LeiBAI/AGCRN) 端到端的流量预测模型-自适应图卷积递归网络。AGCRN可以捕获流量序列中特定于节点的细粒度空间和时间相关性,并通过嵌入DAGG来统一修订GCN中的节点嵌入。这样,训练AGCRN可以针对每个交通系列源(例如,用于交通速度/流量的道路,用于乘客需求的车站/区域)产生有意义的节点表示向量。学习的节点表示包含有关道路/区域的有价值的信息,并且可以潜在地应用于其他任务。
* [lehaifeng/T-GCN](https://github.com/lehaifeng/T-GCN) 通过图卷积网络进行的城市交通流量预测的工作。文件结构如下所示:1 T-GCN是时间图卷积网络的源代码。2 A3T-GCN是具有注意力结构的时间图卷积网络的源代码。3 AST-GCN是属性增强的时空图卷积网络的源代码。4 基准包括以下方法,例如历史平均模型(HA)、自回归综合移动平均模型(ARIMA)、支持向量回归模型(SVR)、图卷积网络模型(GCN)、门控循环单位模型(GRU)
* [IBM/EvolveGCN](https://github.com/IBM/EvolveGCN) 动态时序知识图谱。为了实现动态学习主要注意以下三点:1、每个时间片单独学习一个GCN,每个GCN输入不同体现在图谱的邻接矩阵不同,但在代码实现时必须要求每个时刻的节点是保持一致的,而节点之间的关系存在变动;2、为了考虑动态图谱联系,用RNN将每个时间片GCN模型参数串起来进行序列学习;3、RNN循环网络采用两种:GRU,LSTM。
* [DILab-USTCSZ/CMuST](https://github.com/DILab-USTCSZ/CMuST) CMuST 是一个连续多任务时空学习框架,旨在解决传统方法中任务隔离的问题,该项目是其 NeurIPS 2024 口头报告论文的 PyTorch 实现。CMuST 通过将不同任务的时空信息整合到一个统一的框架中,实现对城市交通、人口统计等多个任务的协同学习,提升模型的泛化能力和预测精度。项目提供 NYC、SIP 和 Chicago 三个数据集,并提供相应的训练示例。
* [Frank-Wang-oss/FCSTGNN](https://github.com/Frank-Wang-oss/FCSTGNN) FC-STGNN是一个基于图神经网络的模型,用于处理多变量时间序列数据。它通过构建一个全连接的时空图来捕捉不同传感器在不同时间戳之间的相关性,并利用移动池化GNN层来有效地提取时空特征。该模型在C-MAPSS、UCI-HAR和ISRUC-S3等多个数据集上取得了优于现有方法的性能,代码已开源在GitHub上。
* [luckiezhou/DynamicTriad](https://github.com/luckiezhou/DynamicTriad) 依据动态网络的特性,提出了依据triad结构建模动态图演化模式的方法DynamicTraid。三元组(Triad)演化的过程就是三个节点中两个互不链接的节点之间建立链接,形成一个闭合三元组的过程。作者在几个不同的真实业务场景(电信欺诈,贷款偿还等)数据集中做了实验,证明了模型的有效性。
* [KimMeen/Awesome-GNN4TS](https://github.com/KimMeen/Awesome-GNN4TS) 这是一个关于使用图神经网络(GNN)进行时间序列分析(GNN4TS)的资源库。该库旨在收集与 GNN4TS相关的资源,例如论文、代码、数据集和工具。时间序列分析是许多现实世界应用中的基本任务,例如金融、医疗保健和交通运输。近年来,图神经网络(GNN)已广泛应用于时间序列分析。
* [skx300/DyHATR](https://github.com/skx300/DyHATR) 同时考虑到图的异构性和动态性的特点,对于图的每个时间切片,利用node-level attention和edge-level attention以上两个层次的注意力机制实现异质信息的有效处理,并且通过循环神经网络结合self-attention研究节点embedding的演化特性,并且通过链接预测任务进行试验,验证模型的有效性。
* [microsoft/FOST](https://github.com/microsoft/FOST) FOST 是一个通用的预测工具,它展示了我们在实际预测领域的经验和先进技术,包括时间、时空和分层预测。当前的通用预测工具(亚马逊的Gluon-TS、facebook的Prophet等)无法处理和建模结构图数据,尤其是在空间数据中
* [rootlu/MMDNE](https://github.com/rootlu/MMDNE) 从微观/宏观两种层级建模动态网络中节点演化规律,并能够在节点表示中学习到这种规律。微观更偏向于捕捉具体边对形成过程 宏观更偏向于从网络动力学挖掘网络演变的规律,最终生成节点的表示。
* [Davidham3/STSGCN](https://github.com/Davidham3/STSGCN) 时空同步图卷积网络:一种时空网络数据预测的新框架 该模型能够有效地捕捉复杂的局域时空相关性。同时,在模型中设计了多个不同时间段的模块,以有效地捕获局部时空图中的异质性。
* [drop-out/Tianchi-Wifi-Positioning](https://github.com/drop-out/Tianchi-Wifi-Positioning) 天池wifi定位大赛第一名解决方案 。给定交易时的环境信息(包括GPS坐标、wifi信息(bssid/信号强度/是否连接)、用户id),确定交易所处的商铺。
* [palash1992/DynamicGEM](https://github.com/palash1992/DynamicGEM) 捕捉动态图演化的动力学特征,生成动态图表示的方法,本质上是输入为动态图的前T个时间步的snapshot,输出为T+1时刻的图嵌入式表达。
* [aravindsankar28/DySAT](https://github.com/aravindsankar28/DySAT) 提出了DYNAMIC SELF-ATTENTION机制,通过结构化注意力模块与时态注意力模块对动态变化的节点进行表示。
* [SpaceLearner/Awesome-DynamicGraphLearning](https://github.com/SpaceLearner/Awesome-DynamicGraphLearning) 将深度学习技术(图神经网络等)应用在动态图、动态网络、动态知识图谱上的论文、代码、工具等。
* [jwwthu/GNN4Traffic](https://github.com/jwwthu/GNN4Traffic) 整理了基于图神经网络的交通预测相关的顶会论文及统计分析。
* [LZH-YS1998/STHSL](https://github.com/LZH-YS1998/STHSL) 城市犯罪预测的时空超图自监督学习中提出的STHSL模型代码
* [BIRD-TAO/CLCRN](https://github.com/BIRD-TAO/CLCRN) 用于时空气象预报的条件局部卷积的 Pytorch 实现,AAAI 2022
* [guoshnBJTU/ASTGCN-r-pytorch](https://github.com/guoshnBJTU/ASTGCN-r-pytorch) 基于注意的时空图卷积网络,用于交通流量预测。
* [liangzhehan/DMSTGCN](https://github.com/liangzhehan/DMSTGCN) 用于交通速度预测的动态和多方面时空深度学习
* [Cantoria/dynamic-graph-papers](https://github.com/Cantoria/dynamic-graph-papers) 动态图表示学习、动态图分析论文汇总项目
* [twitter-research/tgn](https://github.com/twitter-research/tgn) Temporal Graph Networks 动态图的神经网络模型
* [LibCity/Bigscity-LibCity-PaperList](https://github.com/LibCity/Bigscity-LibCity-PaperList) 交通预测领域论文列表
# 大数据
## 其他_大数据
* [debezium/debezium](https://github.com/debezium/debezium) 各种数据库的更改数据捕获。为变更数据捕获 (CDC) 提供了一个低延迟的数据流平台。您设置并配置 Debezium 以监视您的数据库,然后您的应用程序会为对数据库所做的每个行级更改使用事件。只有提交的更改是可见的,因此应用程序不必担心回滚的事务或更改。Debezium 提供了所有变更事件的单一模型,因此您的应用程序不必担心每种数据库管理系统的复杂性。此外,Debezium 将数据更改的历史记录记录在持久的复制日志中,因此您的应用程序可以随时停止和重新启动,并且它将能够使用它在不运行时错过的所有事件,从而确保所有事件都得到正确和完整的处理。监控数据库并在数据更改时收到通知一直很复杂。关系数据库触发器可能很有用,但特定于每个数据库,并且通常仅限于更新同一数据库中的状态(不与外部进程通信)。一些数据库提供用于监控更改的 API 或框架,但没有标准,因此每个数据库的方法都不同,需要大量知识渊博的专业代码。确保以相同的顺序查看和处理所有更改,同时将对数据库的影响降至最低,这仍然非常具有挑战性。Debezium 提供了为您完成这项工作的模块。有些模块是通用的,可以与多个数据库管理系统配合使用,但在功能和性能方面也受到一些限制。其他模块是为特定的数据库管理系统量身定制的,因此它们通常功能更强大,并且它们利用了系统的特定功能。Debezium 通过重用 Kafka 和 Kafka Connect 来实现其持久性、可靠性和容错质量。部署到 Kafka Connect 分布式、可伸缩、容错服务的每个连接器都监视单个上游数据库服务器,捕获所有更改并将其记录在一个或多个 Kafka 主题(通常每个数据库表一个主题)中。Kafka 确保所有这些数据更改事件都是复制的和完全有序的,并允许许多客户端独立使用这些相同的数据更改事件,而对上游系统的影响很小。此外,客户端可以随时停止消费,当他们重新启动时,他们会从中断的地方恢复。每个客户端都可以确定是要一次性还是至少一次性传递所有数据更改事件,并且每个数据库/表的所有数据更改事件都按照它们在上游数据库中发生的顺序传递。不需要或不需要这种级别的容错、性能、可伸缩性和可靠性的应用程序可以使用 Debezium 的嵌入式连接器引擎直接在应用程序空间内运行连接器。他们仍然希望获得相同的数据更改事件,但更愿意让连接器将它们直接发送到应用程序,而不是将它们保存在 Kafka 中。常见用例:`缓存失效`:一旦条目的记录发生更改或删除,就会自动使缓存中的条目失效。如果缓存在单独的进程(例如 Redis、Memcache、Infinispan 等)中运行,则可以将简单的缓存失效逻辑放入单独的进程或服务中,从而简化主应用程序。在某些情况下,可以使逻辑更复杂一些,并且可以使用更改事件中的更新数据来更新受影响的缓存条目。`简化单片式应用`:许多应用程序会更新数据库,然后在提交更改后执行其他工作:更新搜索索引、更新缓存、发送通知、运行业务逻辑等。这通常称为“双重写入”,因为应用程序正在写入单个事务之外的多个系统。不仅应用程序逻辑复杂且更难维护,而且如果应用程序在提交后但在执行某些/所有其他更新之前崩溃,双重写入还存在丢失数据或使各种系统不一致的风险。使用变更数据捕获,当数据提交到原始数据库中时,可以在单独的线程或单独的进程/服务中执行这些其他活动。这种方法对故障的容忍度更高,不会错过事件,可以更好地扩展,并且更容易支持升级和操作。`共享数据库`:当多个应用程序共享一个数据库时,一个应用程序意识到另一个应用程序提交的更改通常并非易事。一种方法是使用消息总线,尽管非事务性消息总线会遇到上述“双重写入”问题。然而,这在 Debezium 中变得非常简单:每个应用程序都可以监控数据库并对更改做出反应。`数据集成`:数据通常存储在多个位置,尤其是当它用于不同的目的并且形式略有不同时。保持多个系统的同步可能具有挑战性,但可以使用 Debezium 和简单的事件处理逻辑快速实现简单的 ETL 类型的解决方案。`CQRS系列`:命令查询责任分离 (CQRS) 体系结构模式使用一个数据模型进行更新,使用一个或多个其他数据模型进行读取。当更改记录在更新端时,这些更改将被处理并用于更新各种读取表示形式。因此,CQRS 应用程序通常更加复杂,尤其是当它们需要确保可靠和完全有序的处理时。Debezium 和 CDC 可以使这一点更易于理解:写入记录为正常,但 Debezium 将这些更改捕获在持久的、完全有序的流中,这些流由异步更新只读视图的服务使用。写入端表可以表示面向域的实体,或者当 CQRS 与事件溯配对时,写入端表是命令的仅追加事件日志。
* [VictoriaMetrics/VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) 快速、经济高效且可扩展的监控解决方案和时间序列数据库。具有以下突出功能:它可以用作 Prometheus 的长期存储。它可以用作 Grafana 中 Prometheus 的直接替代品,支持 Prometheus 查询 API。它可以用作 Grafana 中 Graphite 的直接替代品,因为它支持 Graphite API,与 Graphite 相比,VictoriaMetrics 可将基础设施成本降低 10 倍以上。它易于设置和操作:VictoriaMetrics 由一个没有外部依赖项的小型可执行文件组成。所有配置都是通过具有合理默认值的显式命令行标志完成的。所有数据都存储在 -storageDataPath 命令行标志指定的单个目录中。可以使用 vmbackup/vmrestore 工具轻松快速地从即时快照进行备份。它实现了类似 PromQL 的查询语言 - MetricsQL,它在 PromQL 之上提供了改进的功能。它提供全局查询视图。多个 Prometheus 实例或任何其他数据源可能会将数据摄取到 VictoriaMetrics 中。稍后,可以通过单个查询查询此数据。它为数据引入和数据查询提供了高性能以及良好的垂直和水平可伸缩性。它的性能比 InfluxDB 和 TimescaleDB 高出 20 倍。在处理数百万个独特的时间序列(又名高基数)时,它使用的 RAM 比 InfluxDB 少 10 倍,比 Prometheus、Thanos 或 Cortex 少 7 倍。它针对具有高流失率的时间序列进行了优化。它提供了高数据压缩率:根据这些基准测试,与TimescaleDB相比,在有限的存储中可以存储多达70倍的数据点,与Prometheus、Thanos或Cortex相比,所需的存储空间减少了7倍。根据这个基准。它针对具有高延迟 IO 和低 IOPS 的存储(AWS、Google Cloud、Microsoft Azure 等中的 HDD 和网络存储)进行了优化。请参阅这些基准测试中的磁盘 IO 图。单节点 VictoriaMetrics 可以替代使用 Thanos、M3DB、Cortex、InfluxDB 或 TimescaleDB 等竞争解决方案构建的中等规模的集群。查看垂直可扩展性基准测试,将 Thanos 与 VictoriaMetrics 集群进行比较,以及 PromCon 2019 上的远程写入存储大战演讲。由于存储架构,它可以保护存储在不干净的关闭(即 OOM、硬件重置或 kill -9 )时免受数据损坏。它支持通过以下协议进行指标抓取、摄取和回填:从 Prometheus 导出器抓取的指标、Prometheus 远程写入 API、Prometheus展览形式、基于 HTTP TCP 和 UDP 的 InfluxDB 线路协议、带有标签的Graphite plaintext协议、Statsd 明文协议、OpenTSDB消息、HTTP OpenTSDB /api/put 请求、JSON 行格式、任意 CSV 数据、本机二进制格式、DataDog 代理或 DogStatsD、NewRelic 基础结构代理、OpenTelemetry 指标格式。它支持强大的流聚合,可以用作 statsd 的替代方案。它支持指标重新标记。它可以通过系列限制器处理高基数问题和高流失率问题。它非常适合处理来自 APM、Kubernetes、物联网传感器、联网汽车、工业遥测、财务数据和各种企业工作负载的大量时间序列数据。它有一个开源集群版本。它可以将数据存储在基于 NFS 的存储上,例如 Amazon EFS 和 Google Filestore。
* [yugabyte/yugabyte-db](https://github.com/yugabyte/yugabyte-db) 用于关键任务应用程序的云原生分布式 SQL 数据库。旨在支持所有 PostgreSQL 功能。它最适合云原生 OLTP(即实时、业务关键型)应用程序,这些应用程序需要绝对的数据正确性,并且至少需要以下一项:可伸缩性、对故障的高容忍度或全球分布式部署。核心特点:`强大的 RDBMS 功能` Yugabyte SQL(简称 YSQL)重用了 PostgreSQL 的查询层(类似于 Amazon Aurora PostgreSQL),从而支持其大部分功能(数据类型、查询、表达式、运算符和函数、存储过程、触发器、扩展等)。以下是 YSQL 当前支持的功能的详细列表。`分布式事务` 事务设计基于 Google Spanner 架构。通过使用混合逻辑时钟将 Raft 共识用于复制和集群范围的分布式 ACID 事务,可以实现写入的强一致性。支持快照、可序列化和读取提交隔离级别。默认情况下,读取(查询)具有很强的一致性,但可以动态调整以从关注者和只读副本中读取。`持续可用性` YugabyteDB 通过本机故障转移和修复对常见中断具有极强的弹性。YugabyteDB可以配置为自动容忍磁盘、节点、可用区、区域和云故障。对于在公有云上跨多个区域部署一个区域的典型部署,RPO 为 0(表示故障时不会丢失任何数据),RTO 为 3 秒(表示故障节点提供的数据在 3 秒内可用)。`水平可扩展性` 扩展 YugabyteDB 集群以实现更高的 IOPS 或数据存储就像向集群添加节点一样简单。`地理分布式多云` YugabyteDB 可以部署在公共云中,也可以原生部署在 Kubernetes 中。它支持跨三个或更多容错域的部署,例如多区域、多区域和多云部署。它还支持具有单向主从和双向多主主配置的 xCluster 异步复制,可在双区域部署中利用。若要以低延迟提供(过时)数据,只读副本也是一项受支持的功能。`多 API 设计` YugabyteDB 的查询层构建为可扩展的。目前,YugabyteDB 支持两个分布式 SQL API:Yugabyte SQL (YSQL),一个完全关系的 API,重用 PostgreSQL 的查询层,以及 Yugabyte Cloud QL (YCQL),一个半关系型 SQL,支持 Apache Cassandra QL 根的文档/索引。`100% 开源` YugabyteDB 在 Apache 2.0 许可下是完全开源的。开源版本具有强大的企业功能,例如分布式备份、静态数据加密、动态 TLS 加密、更改数据捕获、只读副本等。
* [manticoresoftware/manticoresearch](https://github.com/manticoresoftware/manticoresearch) 易于使用的开源快速数据库,用于搜索 |现在是 Elasticsearch 的好替代品 |即将在 ELK 中直接替代 E。它非常快,因此比替代品更具成本效益,例如 Manticore 是:对于小数据,速度比 MySQL 快 182 倍;比 Elasticsearch 快 29 倍的日志分析;对于小型数据集,速度比 Elasticsearch 快 15 倍;中型数据比 Elasticsearch 快 5 倍;比 Elasticsearch 大数据快 4 倍;在单个服务器上提取数据的最大吞吐量比 Elasticsearch 快 2 倍。凭借其现代多线程架构和高效的查询并行化功能,Manticore 能够充分利用您的所有 CPU 内核,以实现尽可能快的响应时间。强大而快速的全文搜索可与小型和大型数据集无缝协作。小型、中型和大型数据集的逐行存储。对于更大的数据集,Manticore 通过 Manticore 列式库提供列式存储支持,能够处理太大而无法放入 RAM 的数据集。系统会自动创建高性能二级索引,从而节省您的时间和精力。基于成本的查询优化器可优化搜索查询以获得最佳性能。Manticore 是 SQL 优先的,利用 SQL 作为其本机语法,并提供与 MySQL 协议的兼容性,允许您使用您喜欢的 MySQL 客户端。借助 PHP、Python、JavaScript、Typescript、Java、Elixir 和 Go 中的客户端,与 Manticore Search 的集成变得容易。Manticore 还提供了一个编程化的 HTTP JSON 协议,用于更通用的数据和模式管理。Manticore Search 内置于 C++ 中,可快速启动并使用最少的 RAM,低级优化有助于其令人印象深刻的性能。通过实时插入,可以立即访问新添加的文档。互动课程可通过互动课程获得,让学习变得轻而易举。Manticore 还拥有内置的复制和负载平衡功能,可提高可靠性。可以轻松地从 MySQL、PostgreSQL、ODBC、xml 和 csv 等来源同步数据。虽然不完全符合 ACID,但 Manticore 仍然支持事务和二进制日志以确保安全写入。使用内置工具和 SQL 命令轻松备份和恢复数据。
* [StarRocks/starrocks](https://github.com/StarRocks/starrocks) Linux 基金会的一个项目,是面向全分析场景的下一代亚秒级 MPP OLAP 数据库,包括多维度分析、实时分析、即席查询等。InfoWorld 的 2023 年 BOSSIE 最佳开源软件奖。旨在使数据密集型实时分析变得快速和简单。它的查询速度比其他流行的解决方案快 5 到 10 倍。StarRocks 在更新历史记录的同时,可以很好地进行实时分析。它还可以轻松地利用来自数据湖的历史数据来增强实时分析。使用 StarRocks,您可以摆脱非规范化的表,获得最佳的性能和灵活性。特征:原生矢量化SQL引擎:StarRocks采用矢量化技术,充分利用CPU的并行算力,在多维分析中实现亚秒级查询返回,比以往系统快5-10倍。标准 SQL:StarRocks 支持 ANSI SQL 语法(完全支持 TPC-H 和 TPC-DS)。它还与MySQL协议兼容。可以使用各种客户端和 BI 软件来访问 StarRocks。 智能查询优化:StarRocks 可以通过 CBO(Cost Based Optimizer,成本优化器)对复杂查询进行优化。有了更好的执行计划,数据分析效率就会大大提高。实时更新:StarRocks 更新后的模型可以根据主键进行更新/删除操作,在并发更新的同时实现高效查询。智能物化视图:StarRocks 的物化视图可在数据导入过程中自动更新,并在执行查询时自动选择。直接查询数据湖中的数据:StarRocks 支持直接访问来自 Apache Hive™、Apache Iceberg™ 和 Apache Hudi™ 的数据,无需导入。资源管理:支持 StarRocks 限制查询资源消耗,实现同一集群租户间资源的隔离和高效利用。易于维护:简单的架构使 StarRocks 易于部署、维护和扩展。StarRocks 敏捷地调整查询计划,在集群扩容或扩容时均衡资源,并在节点故障时自动恢复数据副本。
* [apache/beam](https://github.com/apache/beam) 用于批处理和流式处理数据的统一编程模型。Apache Beam 是一个统一的模型,用于定义批处理和流数据并行处理管道,以及一组用于构建管道的特定语言 SDK,以及用于在分布式处理后端(包括 Apache Flink、Apache Spark、Google Cloud Dataflow 和 Hazelcast Jet)上执行管道的 Runner。Beam 提供了一种通用方法来表达令人尴尬的并行数据处理管道,并支持三类用户,每类用户都有相对不同的背景和需求。最终用户:使用现有 SDK 编写管道,并在现有运行器上运行它。这些用户希望专注于编写他们的应用程序逻辑,而让其他一切都正常工作。SDK 编写者:开发针对特定用户社区(Java、Python、Scala、Go、R、图形等)的 Beam SDK。这些用户是语言极客,他们更愿意被屏蔽在各种运行器及其实现的所有细节之外。Runner Writers:具有分布式处理的执行环境,并希望支持针对 Beam 模型编写的程序。希望免受多个 SDK 细节的影响。Beam 背后的模型是从几个 Google 内部数据处理项目演变而来的,包括 MapReduce、FlumeJava 和 Millwheel。该模型最初称为“数据流模型”。要了解有关 Beam 模型的更多信息(尽管仍以 Dataflow 的原始名称命名),请参阅 O‘Reilly 雷达网站上的 World Beyond Batch: Streaming 101 和 Streaming 102 帖子,以及 VLDB 2015 论文。eam 编程模型中的关键概念是:PCollection :表示数据的集合,其大小可以是有界的,也可以是无界的。PTransform :表示将输入 PCollections 转换为输出 PCollections 的计算。Pipeline :管理 PTransforms 和 PCollections 的有向无环图,该图已准备好执行。PipelineRunner :指定管道的执行位置和方式。
* [hashicorp/raft](https://github.com/hashicorp/raft) raft是一个用 Go 语言实现的 Raft 共识协议库,用于管理复制日志并与 FSM 结合使用来管理复制状态机。它是一个提供共识的库,可用于构建许多分布式系统的关键组件——复制状态机。raft 允许构建一致且容错的 (CP) 系统,并具有有限的容错能力。该库基于 Raft 论文,并提供了一个纯 Go 后端,使用 Bbolt 作为日志存储和稳定存储。它还提供了一个使用 MDBStore 的主后端,该后端位于单独的存储库 raft-mdb 中。raft 节点始终处于三种状态之一:跟随者、候选者或领导者。所有节点最初都作为跟随者启动。在该状态下,节点可以接受来自领导者的日志条目并投票。如果一段时间内未收到任何条目,节点会自动提升到候选者状态。在候选者状态下,节点会向其对等节点请求投票。如果候选者收到法定数量的投票,则会提升为领导者。领导者必须接受新的日志条目并将其复制到所有其他跟随者。此外,如果不可接受陈旧的读取,则所有查询也必须在领导者上执行。一旦集群拥有领导者,它就可以
* [drawdb-io/drawdb](https://github.com/drawdb-io/drawdb) 免费、简单、直观的在线数据库图表编辑器和 SQL 生成器。DrawDB 是浏览器中功能强大且用户友好的数据库实体关系 (DBER) 编辑器。只需单击几下即可构建图表、导出 sql 脚本、自定义编辑器等,而无需创建帐户。drawDB 提供什么?导出 DDL 脚本以在数据库上运行,或将图表导出为 JSON 或图像。已经有 Schema?导入 DDL 脚本以生成图表。自定义 UI 以符合您的偏好。在视图中选择所需的组件。使用键盘快捷键加快开发速度。从预构建的模板开始。快速入门或获取设计灵感。有样板结构?通过将它们保存为模板并在需要时加载它们来节省时间。撤消、重做、复制、粘贴、复制等。添加表格、主题区域和注释。检测并解决图表中的错误,以确保脚本正确无误。我们支持 5 种关系数据库 - MySQL、PostgreSQL、SQLite、MariaDB、SQL Server。为对象关系数据库添加自定义类型,或创建自定义 JSON 方案。在团队会议和讨论期间在大屏幕上展示您的图表。跟踪任务并在完成后将其标记为已完成。
* [apache/seatunnel](https://github.com/apache/seatunnel) 新一代超高性能、分布式、海量数据集成工具,能够每天同步大量数据。它因其效率和稳定性而受到众多公司的信任。SeaTunnel 解决了常见的数据集成挑战:多样化的数据源:与数百个不断发展的数据源无缝集成。复杂同步场景:支持多种同步方式,包括实时同步、CDC同步、全量数据库同步等。资源效率:最大限度地减少计算资源和 JDBC 连接,以实现实时同步。质量和监控:提供数据质量和监控,以防止数据丢失或重复。主要特点:多样化的连接器:支持 100 多个连接器,并不断扩展。批量流集成:易于调整的连接器简化了数据集成管理。分布式快照算法:确保同步数据之间的数据一致性。多引擎支持:适用于 SeaTunnel Zeta 引擎、Flink 和 Spark。JDBC多路复用和日志解析:高效同步多表和数据库。高吞吐低时延:提供低时延的高吞吐量数据同步。实时监控:在同步过程中提供详细的见解。两种作业开发方法:支持使用 SeaTunnel Web 项目进行编码和可视化作业管理。
* [datafuselabs/databend](https://github.com/datafuselabs/databend) 基于 Rust的开源云数据仓库,可作为 Snowflake 的经济高效的替代方案。它专注于快速查询执行和数据摄取,专为对世界上最大的数据集进行复杂分析而设计。云原生:与 AWS S3、Azure Blob、Google Cloud 等集成。高性能:Rust 构建,具有尖端、高速矢量化执行。经济高效:专为可扩展的存储和计算而设计,在提高性能的同时降低成本。AI 驱动的分析:使用 AI 功能实现高级分析。数据简化:简化数据引入,无需外部 ETL。格式灵活性:支持多种数据格式和类型,包括 JSON、CSV、Parquet、GEO 等。ACID 事务:通过原子、一致、隔离和持久的操作确保数据完整性。版本控制:为数据提供类似 Git 的版本控制,允许随时查询、克隆和还原。无模式:VARIANT 数据类型,支持无模式数据存储和灵活的数据建模。灵活索引:虚拟列、聚合索引和全文索引,可加快数据检索速度。社区驱动:加入热情好客的社区,获得用户友好的云分析体验。
* [apache/dolphinscheduler](https://github.com/apache/dolphinscheduler) 现代数据编排平台。敏捷地使用低代码创建高性能工作流。它还提供了强大的用户界面,专门用于解决数据管道中的复杂任务依赖关系,并提供开箱即用的各种类型的作业。易于部署,提供四种部署方式,包括单机、集群、Docker 和 Kubernetes。简单易用,工作流可以通过四种方式创建和管理,包括 Web UI、Python SDK、Yaml 文件和 Open API。高可靠高可用,多主多工作线程的去中心化架构,原生支持水平扩展。高性能,其性能比其他编排平台快N倍,每天可支持数千万个任务。云原生,DolphinScheduler 支持编排多云/数据中心工作流,支持自定义任务类型。对工作流和工作流实例(包括任务)进行版本控制。工作流和任务的各种状态控制,支持随时暂停/停止/恢复。其他如回填支持(Web UI原生),权限控制,包括项目、资源和数据源。
* [cloudquery/cloudquery](https://github.com/cloudquery/cloudquery) CloudQuery是一个开源的高性能ELT框架,使用Apache Arrow驱动,它是一个功能强大的数据迁移工具,允许开发者将数据从任何来源同步到任何目标。CloudQuery利用Go的并发模型和Apache Arrow,能够快速地使用GRPC流式传输大量数据,并支持将数据迁移到任何数据源。CloudQuery可以作为单一可执行文件运行,可以在CI/CD管道、应用程序内部、本地或云中部署和运行。CloudQuery的集成是无状态的,可以在任何平台上水平扩展,例如VM、Kubernetes或批处理作业。CloudQuery还提供可靠的安全措施来保护敏感数据,并提供合规性功能以满足行业标准。CloudQuery是一个开源框架,开发者可以使用Go、Python、Java或JavaScript使用CloudQuery SDK来开发集成。CloudQuery的典型用例包括云安全态势管理(CSPM)、云资产清单等。
* [spacejam/sled](https://github.com/spacejam/sled) 基于rust的嵌入式数据库,特征:类似于 threadsafe BTreeMap 的 API;可序列化 (ACID) 事务,用于对多个密钥空间中的多个密钥进行原子读取和写入;全原子单键操作,包括比较和交换;零拷贝读取;写入批处理;订阅键前缀的更改;多个键空间;合并运算符;对项目范围进行正向和反向迭代器;一个碰撞安全的单调 ID 生成器,每秒能够生成 7千5百万-1.25 亿个唯一 ID;zstd 压缩(使用 compression 构建功能,默认禁用);CPU 可扩展的无锁实现;闪存优化的日志结构化存储;使用现代 B 树技术(如前缀编码和后缀截断)来降低具有共享前缀的长键的存储成本。如果密钥的长度和顺序相同,那么在大多数情况下,系统可以避免存储 99%+ 的密钥数据,本质上就像一个学习索引
* [Snapchat/KeyDB](https://github.com/Snapchat/KeyDB) Redis 的高性能分支,专注于多线程、内存效率和高吞吐量。除了性能改进外,KeyDB 还提供主动复制、闪存存储和子密钥过期等功能。KeyDB 具有 MVCC 架构,允许您执行 KEYS 和 SCAN 等查询,而不会阻塞数据库和降低性能。KeyDB 保持与 Redis 协议、模块和脚本的完全兼容。这包括脚本和事务的原子性保证。由于 KeyDB 与 Redis 开发保持同步,因此 KeyDB 是 Redis 功能的超集,因此 KeyDB 可以替代现有的 Redis 部署。在相同的硬件上,KeyDB 可以实现比 Redis 高得多的吞吐量。主动复制简化了热备盘故障转移,使您能够轻松地在副本上分配写入,并使用基于 TCP 的简单负载平衡/故障转移。KeyDB的更高性能允许您在更少的硬件上做更多的事情,从而降低运营成本和复杂性。
* [mara/mara-pipelines](https://github.com/mara/mara-pipelines) Mara Pipelines是一个轻量级的、有主见的ETL框架,介于普通脚本和Apache Airflow之间。它将数据集成管道定义为Python代码,并以PostgreSQL作为数据处理引擎。Mara Pipelines提供了一个丰富的Web UI,方便用户查看、运行和调试管道。它遵循GNU make的语义,节点依赖于上游节点的完成,无需数据依赖或数据流。Mara Pipelines在单台机器上执行管道,利用Python的`multiprocessing`库,无需分布式任务队列,便于调试和输出日志。它还使用基于成本的优先级队列,优先运行运行时间较长的节点。用户可以使用pip安装Mara Pipelines,并参考示例项目学习如何集成到Flask应用程序中。由于大量使用进程分叉,Mara Pipelines在Windows上无法原生运行,建议使用Docker或Windows Subsystem for Linux。
* [faust-streaming/faust](https://github.com/faust-streaming/faust) Faust-streaming 是一个 Python 流处理库,它基于 Kafka Streams 的理念,并提供类似于 Kafka Streams、Apache Spark、Storm、Samza、Flink等工具的功能。它在 Robinhood 被用于构建高性能分布式系统和实时数据管道,每天处理数十亿个事件。Faust 既支持流处理,也支持事件处理,它使用 Python 语言,允许开发者使用 NumPy、PyTorch、Pandas、NLTK、Django、Flask、SQLAlchemy 等Python 库进行流处理。Faust 需要 Python 3.6 或更高版本,并使用新的 async/await 语法和变量类型注解。它提供了一个 Agent 装饰器,用于定义流处理器,该处理器从 Kafka 主题中消费事件并进行处理。Faust 还支持使用 RocksDB 作为嵌入式数据库,提供本地持久化状态和分布式键值存储,并支持聚合计数和窗口操作。
* [Alluxio/alluxio](https://github.com/Alluxio/alluxio) Alluxio是一个虚拟分布式存储系统,它作为计算框架和存储系统之间的桥梁,让计算应用可以通过统一接口连接到多种存储系统。Alluxio起源于加州大学伯克利分校AMPLab的Tachyon研究项目,是Berkeley Data Analytics Stack (BDAS)的数据层。Alluxio在许多领先公司中用于管理PB级数据,最大的部署超过3000个节点。您可以通过Alluxio官网或社区活动了解更多使用案例。Alluxio项目由Alluxio开源基金会拥有,由Alluxio项目管理委员会 (PMC) 负责运营。您可以通过Alluxio社区Slack频道、SIG、社区活动、Meetup小组、Twitter、YouTube频道和邮件列表与社区成员联系。Alluxio提供预编译的二进制文件下载,也可以通过Docker镜像下载和启动Alluxio主节点和工作节点。
* [robinhood/faust](https://github.com/robinhood/faust) Faust是一个 Python 流处理库,将 Kafka Streams 的理念移植到 Python,在 Robinhood 用于构建高性能分布式系统和实时数据管道,每天处理数十亿事件。它支持流处理和事件处理,类似于 Kafka Streams、Apache Spark、Storm、Samza 和 Flink。Faust 不使用 DSL,而是直接使用 Python,允许使用 NumPy、PyTorch、Pandas、NLTK、Django、Flask、SQLAlchemy 等 Python 库进行流处理。Faust 需要 Python 3.6 或更高版本,利用 `async/await` 语法和类型注解。它使用 Kafka 主题作为“预写日志”,确保数据可靠性,并使用 RocksDB 作为本地嵌入式数据库,提供快速持久化和复制功能。用户可以使用 Faust 构建类似数据库的系统,使用分布式键值存储来存储和管理数据。
* [nucleuscloud/neosync](https://github.com/nucleuscloud/neosync) Neosync是一个开源项目,专为开发者设计,用于数据匿名化和合成数据编排。它可以创建高保真合成数据并将其同步到你的开发环境中。Neosync可以帮助你安全地测试代码,轻松地本地重现生产环境中的错误,为低级环境提供高质量数据,解决GDPR、DPDP、FERPA、HIPAA等合规问题,以及为开发数据库提供种子数据。其主要功能包括:基于你的数据模式生成合成数据,匿名化现有的生产数据,使用任何SQL查询对生产数据库进行子集化,使用事件溯源模型实现完整的异步管道,自动处理作业重试、失败和回放,自动维护数据的参照完整性,使用声明式GitOps配置,预置各种数据类型转换器。
* [deepflowio/deepflow](https://github.com/deepflowio/deepflow) DeepFlow是一个开源项目,旨在为复杂的云原生和 AI 应用提供深度可观测性。它使用 eBPF 实现 **零代码** 数据收集,涵盖指标、分布式追踪、请求日志和函数剖析,并与 **SmartEncoding** 集成,实现 **全栈** 关联和高效访问所有可观测性数据。DeepFlow 使云原生和 AI 应用自动获得深度可观测性,减轻开发人员持续编写代码进行监控和诊断的负担,为 DevOps/SRE 团队提供从代码到基础设施的全方位覆盖。主要功能包括:**通用映射** 支持任何服务,**零代码** 分布式追踪支持任何语言的应用和基础设施,**持续剖析** 支持任何函数,**无缝集成** 到流行的堆栈,**性能比 ClickHouse 高 10 倍**。
* [graphql-python/graphene](https://github.com/graphql-python/graphene) Graphene是一个面向 Python 的 GraphQL 框架,旨在快速、轻松地构建 GraphQL模式和类型。它易于使用,支持 Relay,并且与任何数据源兼容,例如 SQL (Django、SQLAlchemy)、Mongo 和自定义 Python 对象。Graphene 提供了完整的 API,可以将它集成到任何数据存储中,并通过GraphQL 使数据可用。Graphene 还与多个框架集成,例如 SQLAlchemy、Mongo、Apollo Federation 和 Django。它与 GraphQL 规范完全兼容,可以与所有 GraphQL客户端(如 Relay、Apollo 和 gql)无缝协作。要开始使用,只需安装 Graphene 并使用提供的示例代码创建简单的 GraphQL 查询。项目文档和更多资源可在 https://docs.graphene-python.org/en/latest/ 获取。
* [fenixsoft/awesome-fenix](https://github.com/fenixsoft/awesome-fenix) 这是一部以“如何构建一套可靠的分布式大型软件系统”为叙事主线的开源文档,是一幅帮助开发人员整理现代软件架构各条分支中繁多知识点的技能地图。文章《什么是“凤凰架构”》详细阐述了这部文档的主旨、目标与名字的来由,文章《如何开始》简述了文档每章讨论的主要话题与内容详略分布,供阅前参考。除文档部分外,笔者同时还建立了若干配套的代码工程,这是针对不同架构、技术方案(如单体架构、微服务、服务网格、无服务架构,等等)的演示程序。它们既是文档中所述知识的实践示例,亦可作为实际项目新创建时的可参考引用的基础代码。
* [facebookincubator/submitit](https://github.com/facebookincubator/submitit) Submitit是一个轻量级的 Python 工具,用于将 Python 函数提交到 Slurm集群进行计算。它简化了提交过程,并提供对结果、日志等的访问。Submitit 支持在 Slurm 或本地环境之间无缝切换。它允许您在 Python 代码中使用与 `concurrent.futures`标准库包相同的提交和作业模式,轻松地在 Slurm 上启动作业。Submitit 的优势包括:可以提交任何函数,包括 lambda 函数和脚本定义的函数;如果作业失败,会抛出包含堆栈跟踪的错误;可以重新排队被抢占的作业。您可以使用 `pip install submitit` 或 `conda install -c conda-forge submitit` 安装 Submitit。更多信息请参考项目文档。
* [redpanda-data/console](https://github.com/redpanda-data/console) Redpanda Console是一个用户友好的 UI,用于管理 Kafka/Redpanda 工作负载。它提供了一个简单直观的界面,可以查看主题、屏蔽数据、管理消费者组以及使用时间旅行调试功能探索实时数据。主要功能包括:消息查看器、消费者组管理、主题概览、集群概览、安全管理、Schema 注册表、Kafka Connect 和 Redpanda Transforms。支持多种编码格式,包括 JSON、Avro、Protobuf、CBOR、XML、MessagePack、Text 和 Binary。可以通过 Docker 镜像、二进制构建和 Helm 图表进行安装。用户可以通过简单的 Docker 命令在本地运行 Redpanda Console,并连接到现有的 Redpanda 或 Kafka 集群。
* [etcd-io/bbolt](https://github.com/etcd-io/bbolt) bbolt是一个基于 Go 语言的嵌入式键值数据库,它是 Bolt 的一个分支,旨在为 Go 社区提供一个积极维护和开发的目标,以提高可靠性和稳定性。bbolt 包含 bug 修复、性能增强和 Bolt 中没有的功能,同时保持与 Bolt API 的向后兼容性。bbolt受到 LMDB 项目的启发,旨在为不需要完整数据库服务器(如 Postgres 或 MySQL)的项目提供一个简单、快速且可靠的数据库。bbolt 的 API 很小,只关注获取和设置值,并提供事务、桶、键值对、迭代器、嵌套桶、备份、统计信息等功能。bbolt 经过充分的测试,并被Shopify 和 Heroku 等公司用于高负载生产环境。
* [simonw/datasette](https://github.com/simonw/datasette) Datasette是一款开源多功能工具,用于探索和发布数据。它可以将各种格式和大小的数据发布为交互式、可探索的网站和配套 API,适用于数据记者、博物馆馆长、档案管理员、地方政府、科学家、研究人员以及希望与世界分享数据的任何人。用户可以通过演示网站、视频教程或上传 CSV 数据进行体验。Datasette 支持多种安装方式,包括 Homebrew、pip 和 Docker,并提供详细的安装说明。用户可以使用简单的命令行指令启动 Web 服务器,并通过 Web 界面浏览数据。Datasette 还支持使用 metadata.json 文件添加许可和来源信息,以丰富网站内容。
* [apache/datafusion](https://github.com/apache/datafusion) Apache DataFusion是一个用Rust编写的可扩展查询引擎,使用Apache Arrow作为其内存格式。它提供库和二进制文件,供开发人员构建快速且功能丰富的数据库和分析系统,并针对特定工作负载进行定制。DataFusion支持SQL和DataFrame API,具有出色的性能,内置支持CSV、Parquet、JSON和Avro,以及广泛的定制选项和活跃的社区。它包含一个完整的查询规划器、一个列式、流式、多线程、矢量化的执行引擎以及分区数据源。您可以自定义DataFusion的几乎所有方面,包括添加数据源、查询语言、函数、自定义操作符等。
* [mrpowers-io/quinn](https://github.com/mrpowers-io/quinn) Quinn是一个 Pyspark 辅助库,旨在提高开发人员的生产力。它提供 DataFrame 验证函数、有用的列函数/DataFrame 变换以及高性能辅助函数。Quinn 提供了 DataFrame 验证功能,例如检查列是否存在或验证数据模式,以及一些实用的列函数和 DataFrame 变换,例如移除多余空格、移除非单词字符等。Quinn 还包含一些高性能的辅助函数,例如 `approx_equal()` 用于比较两个 DataFrame 列在指定阈值内的近似相等性。你可以通过 `pip install quinn` 安装 Quinn,并使用它来简化你的 Pyspark 代码并提高开发效率。
* [SchedMD/slurm](https://github.com/SchedMD/slurm) 这是 Slurm 工作负载管理器。 Slurm 是一个开源集群资源管理和作业调度系统,力求简单、可扩展、可移植、容错和互连无关。 Slurm 目前仅在 Linux 下进行了测试。作为集群资源管理器,Slurm 提供了三个关键功能。首先,它在一段时间内向用户分配对资源(计算节点)的独占和/或非独占访问权限,以便他们可以执行工作。其次,它提供了一个框架,用于在分配的节点集上启动、执行和监视工作(通常是并行作业)。最后,它通过管理待处理工作队列来仲裁冲突的资源请求。
* [dbt-labs/dbt-core](https://github.com/dbt-labs/dbt-core) dbt-core 是一个数据转换工具,它允许数据分析师和工程师使用与软件工程师构建应用程序相同的实践来转换数据。dbt 通过将简单的select 语句转换为数据仓库中的表格和视图来实现数据转换。这些 select 语句被称为“模型”,它们可以相互构建,dbt 简化了模型之间的关系管理、可视化以及通过测试来确保转换质量。您可以通过安装 dbt Core 或使用 dbt Cloud CLI 来开始使用 dbt,并加入 dbt 社区以获取更多支持和交流。您也可以通过提交问题或贡献代码来参与 dbt 的开发。
* [shashank88/system_design](https://github.com/shashank88/system_design) 该项目是一个系统设计准备资源库,旨在帮助软件工程师和学生了解大型分布式系统的设计思路,并为系统设计面试做好准备。项目提供了一些基础知识学习资源,包括操作系统、网络、并发、数据库等方面的基础知识,以及一些知名系统设计视频教程和书籍推荐,例如Gaurav Sen的系统设计系列、David Malan的CS75可扩展性演讲、David Huffman的扩展演讲等。项目还提供了一些常见系统设计问题和一些公司工程博客链接,帮助用户更好地理解系统设计理念和实践。
* [moby/swarmkit](https://github.com/moby/swarmkit) SwarmKit是一个用于编排任何规模分布式系统的工具包,它包含节点发现、基于Raft共识的调度等功能。其核心优势在于分布式架构(基于Raft共识算法,无单点故障),安全性(内置安全通信和角色授权,使用mTLS),以及易用性(无需外部数据库)。SwarmKit将机器分组为Swarm,包含管理节点和工作节点,管理节点负责协调集群状态,工作节点运行任务(例如Docker容器)。通过服务定义任务和更新策略(如副本数量、滚动更新),实现对任务的编排和管理。
* [SigNoz/signoz](https://github.com/SigNoz/signoz) SigNoz是一个开源的可观测性平台,原生支持OpenTelemetry,将日志、跟踪和指标整合在一个应用程序中。它是DataDog、NewRelic等产品的开源替代方案。SigNoz提供应用程序性能监控 (APM) 和可观测性工具,使用ClickHouse作为日志数据存储,可以帮助您监控应用程序、发现问题并快速排查故障。SigNoz支持OpenTelemetry,可以轻松集成到您的应用程序中,并提供丰富的图表和可视化工具,例如火焰图和甘特图,帮助您深入了解应用程序的性能和行为。
* [apache/pulsar](https://github.com/apache/pulsar) 分布式 pub-sub 消息传递平台,具有非常灵活的消息传递模型和直观的客户端 API。特点:水平可扩展(每秒发布数百万个独立主题和数百万条消息)、强大的排序和一致性保证、低延迟持久存储、主题和队列语义、负载均衡器、设计用于部署为托管服务:多租户 认证 授权 配额 支持混合非常不同的工作负载 可选硬件隔离、跟踪消费者光标位置、用于配置管理和统计的 REST API、异地复制、透明地处理分区主题、消息的透明批处理
* [DAGWorks-Inc/hamilton](https://github.com/DAGWorks-Inc/hamilton) Hamilton是一个轻量级的 Python 库,用于定义可测试、模块化、自文档化的数据转换 DAG,它可以编码血缘/跟踪和元数据。Hamilton 可以在任何运行 Python 的地方运行和扩展。它允许您使用 Python 函数来定义 DAG,并自动构建 DAG,从而使代码易于阅读和可视化。Hamilton 为移动数据的任何 Python 应用程序(如 ETL 管道、ML 工作流、LLM 应用程序、RAG 系统、BI仪表板)提供模块化和结构,并提供 Hamilton UI 用于自动可视化、编目和监控执行。
* [valkey-io/valkey](https://github.com/valkey-io/valkey) Valkey是一个灵活的分布式键值存储系统,支持缓存和超越缓存的工作负载。它基于Redis项目,提供高性能的数据结构服务器,支持多种原生数据结构和可扩展的插件系统。Valkey可以在Linux、OSX、OpenBSD、NetBSD、FreeBSD等系统上编译和使用,支持大端和小端架构以及32位和64位系统。用户可以通过简单的`make`命令进行编译,并使用`make test`进行测试。此外,Valkey还支持TLS、RDMA和systemd等功能,用户可以通过相应的编译选项进行配置。
* [volcano-sh/volcano](https://github.com/volcano-sh/volcano) Volcano是一个基于 Kubernetes 构建的批处理系统。它提供了许多类别的批量和弹性工作负载通常需要的一套机制,包括:机器学习/深度学习、生物信息学/基因组学和其他“大数据”应用程序。这些类型的应用程序通常在 TensorFlow、Spark、Ray、PyTorch、MPI 等通用域框架上运行,Volcano 与这些框架集成。Volcano 建立在十五年使用多个系统和平台大规模运行各种高性能工作负载的经验之上,并结合了开源社区的最佳理念和实践。
* [apache/nifi](https://github.com/apache/nifi) Apache NiFi是一个开源的数据流管理系统,用于自动化数据流的收集、处理和分发。它提供了一个可视化界面,允许用户通过拖放操作来创建数据流,并使用各种处理器来处理数据。NiFi 具有高性能、可扩展性和可靠性,适用于各种数据流场景,例如数据采集、数据转换、数据分析和数据发布。NiFi 的核心概念是数据流,它将数据从一个处理器传递到另一个处理器,并通过各种机制来确保数据流的可靠性和安全性。
* [sqlfluff/sqlfluff](https://github.com/sqlfluff/sqlfluff) SQLFluff是一个模块化的 SQL 代码检查器和自动格式化工具,支持多种SQL 方言和模板代码。它专为 ELT 应用而设计,也适用于 Jinja 模板和 dbt。SQLFluff 可以自动修复大多数代码检查错误,让您专注于更重要的事情。它支持多种 SQL方言,包括 ANSI SQL、Athena、BigQuery、ClickHouse、Databricks、Db2、DuckDB、Exasol、Greenplum、Hive、Materialize、MySQL、Oracle、PostgreSQL、Redshift、Snowflake、SOQL、SparkSQL、SQLite、StarRocks、Teradata 和 Transact-SQL。
* [boto/boto3](https://github.com/boto/boto3) Boto3是亚马逊云服务 (AWS) 的 Python 软件开发工具包 (SDK),允许 Python 开发人员编写使用 Amazon S3 和 Amazon EC2 等服务的软件。它由亚马逊网络服务维护和发布,支持多种 Python 版本,并提供详细的文档和社区资源。用户可以通过 pip 安装 Boto3,并配置 AWS 凭证和区域信息,然后使用 Python 代码与 AWS 服务进行交互。Boto3 提供了丰富的功能,可以轻松地管理 AWS资源,例如创建和删除 S3 存储桶、启动和停止 EC2 实例等。
* [twpayne/chezmoi](https://github.com/twpayne/chezmoi) 安全地跨多台不同的机器管理您的点文件。Chezmoi 可帮助您跨多台计算机管理您的个人配置文件(dotfiles,如 ~/.gitconfig )。Chezmoi 提供了许多功能,除了符号链接或使用裸 Git 存储库之外,还包括:模板(用于处理机器之间的微小差异)、密码管理器支持(用于安全地存储您的机密)、从存档导入文件(非常适合 shell 和编辑器插件)、完整文件加密(使用 GPG 或 AGE)和运行脚本(用于处理其他所有事情)。
* [n0-computer/iroh](https://github.com/n0-computer/iroh) Iroh是一个用于构建分布式应用程序的工具包,它是一个基于QUIC协议的点对点网络,能够在任何设备之间同步和传输任意大小的字节数据。Iroh的核心是“魔法套接字”,它可以建立QUIC连接,并使用BLAKE3哈希对传输的字节块进行增量验证。Iroh提供了文档、Blob和网络功能,支持用户创建和加入可变的键值存储,并实时同步和更新数据。用户可以通过Rust库和CLI使用Iroh,并参考官方文档和示例进行快速上手。
* [provectus/kafka-ui](https://github.com/provectus/kafka-ui) 用于 Apache Kafka 管理的开源 Web UI。由开发人员构建,为开发人员服务。适用于 Apache Kafka 的 UI 是一个简单的工具,可让您的数据流可观察,有助于更快地发现和排查问题,并提供最佳性能。其轻量级控制面板可以轻松跟踪 Kafka 集群的关键指标 - 代理、主题、分区、生产和消耗。只需几个简单的命令即可为 Apache Kafka 设置 UI,以易于理解的方式可视化您的 Kafka 数据。您可以在本地或云中运行该工具。
* [pachyderm/pachyderm](https://github.com/pachyderm/pachyderm) Pachyderm是一个数据中心管道和数据版本控制系统,它可以帮助数据工程团队自动化复杂的数据管道,并对各种类型的数据进行复杂的转换。Pachyderm通过并行处理多阶段、语言无关的管道,并提供数据版本控制和数据血缘追踪,实现了数据驱动的管道自动触发,并基于Kubernetes进行自动扩展和并行处理。Pachyderm支持所有主要云提供商和本地安装,并使用标准对象存储进行数据存储,并自动去重。
* [treeverse/lakeFS](https://github.com/treeverse/lakeFS) lakeFS是一个开源工具,将您的对象存储转换为类似 Git 的存储库,让您像管理代码一样管理数据湖。它支持 AWS S3、Azure Blob Storage和 Google Cloud Storage 作为底层存储服务,并与 S3 兼容,与 Spark、Hive、AWS Athena 等现代数据框架无缝协作。lakeFS 允许您构建可重复、原子且版本化的数据湖操作,例如复杂的 ETL 作业、数据科学和分析。您可以使用 Docker 快速启动lakeFS 实例,并通过浏览器访问其界面。
* [chrislusf/gleam](https://github.com/chrislusf/gleam) Gleam是一个用Go语言编写的快速、高效、可扩展的分布式MapReduce系统,支持DAG执行,可在内存或磁盘上运行,可独立或分布式运行。它具有高性能、内存效率高、灵活易定制等特点,通过纯Go编写的Mapper和Reducer实现高并发,并能自动调整内存大小,避免手动调整。其计算流程可独立或分布式运行,支持内存模式和磁盘模式,用户自定义计算可以使用Go语言、Unix管道工具或任何流式程序编写。
* [thanos-io/thanos](https://github.com/thanos-io/thanos) 具有长期存储功能的高可用性 Prometheus 设置。CNCF孵化项目。Thanos 是一组组件,可以组合成一个具有无限存储容量的高可用度量系统,可以在现有 Prometheus 部署之上无缝添加。Thanos 利用 Prometheus 2.0 存储格式,以经济高效的方式将历史指标数据存储在任何对象存储中,同时保持快速查询延迟。此外,它还提供跨所有 Prometheus 安装的全局查询视图,并可以动态合并来自 Prometheus HA 对的数据。
* [redpanda-data/redpanda](https://github.com/redpanda-data/redpanda) Redpanda是一个为开发者设计的流数据平台,与 Apache Kafka API 兼容,速度快 10 倍,无需 ZooKeeper 和 JVM。它提供完整的流数据平台功能,包括可配置的分层存储和丰富的连接器生态系统,为开发者提供更轻松、更便捷的使用体验。Redpanda 支持多种平台,如 Debian/Ubuntu、Fedora/RedHat/Amazon Linux 和 macOS,并提供预编译包和手动构建选项。用户可以通过 Redpanda网站和 GitHub 仓库获取更多信息和支持。
* [dpkp/kafka-python](https://github.com/dpkp/kafka-python) dpkp/kafka-python是一个Apache Kafka的Python客户端,其设计与官方Java客户端类似,并包含一些Pythonic接口。它支持Kafka 0.8.0到2.6版本,但建议使用0.9+版本以充分利用协调消费者组功能;对于旧版本,需要手动分配分区。可以通过pip install kafka-python安装,并提供高级消息消费者KafkaConsumer,支持迭代器方式读取消息,以及手动分配分区、反序列化等功能,目前建议使用wbarnha/kafka-python-ng替代。
* [rq/rq](https://github.com/rq/rq) RQ(Redis Queue) 是一个简单易用的 Python 库,用于将任务排队并在后台使用 worker 处理它们。它以 Redis 为后端,旨在降低入门门槛,并易于集成到 Web 架构中。RQ 支持将任务排队、调度任务和重试失败的任务,并提供了一个 worker 来执行排队的任务。用户可以通过 pip 命令安装 RQ,并参考文档了解更多信息。RQ 受到 Celery、Resque 和其他项目的启发,旨在提供一个轻量级的替代方案。
* [flyway/flyway](https://github.com/flyway/flyway) 数据库迁移变得简单。在所有实例中轻松可靠地改进数据库架构。支持的数据库:Aurora MySQL、Aurora PostgreSQL、Azure Synapse、Clickhouse、CockroachDB、DB2、Derby、Firebird、Google BigQuery、Google Cloud Spanner、H2、HSQLDB、Informix、MariaDB、MongoDB、MySQL、Oracle、Percona XtraDB Cluster、PostgreSQL、Redshift、SAP HANA(包括 SAP HANA Cloud)、SingleStoreDB、Snowflake、SQLite、SQL Server、Sybase ASE、TiDB、TimescaleDB、YugabyteDB
* [chrislusf/glow](https://github.com/chrislusf/glow) Glow是一个用Go语言编写的易于使用的分布式计算系统,类似于Hadoop MapReduce、Spark、Flink和Storm等。它允许用户轻松地在多线程或分布式集群中进行并行计算,并支持将单机程序扩展到集群模式,无需依赖Zookeeper、HDFS、Mesos或YARN等复杂技术。Glow具有高效的资源利用率,其主节点和代理节点内存占用分别约为6.5MB和5.5MB。作者还开发了另一个纯Go系统Gleam,性能更优且更灵活。
* [spf13/afero](https://github.com/spf13/afero) Afero是Go语言的一个文件系统抽象库,提供一个简单统一的API来操作各种文件系统,包括内存文件系统和实际磁盘文件系统。它通过接口和方法实现文件系统抽象,方便测试和代码重用,并支持多种后端文件系统(例如内存、只读、正则表达式过滤等)的组合使用,显著提升了代码的可测试性和可移植性。 Afero易于使用,只需简单几步即可集成到你的Go项目中。
* [upspin/upspin](https://github.com/upspin/upspin) Upspin是一个实验性项目,旨在构建一个框架,用于安全、统一和全球范围内命名和共享文件和其他数据,类似于一个全球命名系统。它不是一个文件系统,而是一套协议和参考实现,可用于将文件系统和其他存储服务加入到命名空间中。性能不是主要目标,一致性和安全性才是。Upspin不是Google的官方产品。该项目目前尚处于开发阶段,不适合非技术用户使用。
* [memcached/memcached](https://github.com/memcached/memcached) Memcached是一个高性能、多线程、基于事件的键值缓存存储,旨在用于分布式系统。它使用 libevent 库进行非阻塞网络 I/O,并支持可选的 TLS 和 seccomp 安全限制。Memcached 不进行磁盘 I/O,因此它非常快,但如果内存不足,可能会导致性能下降。用户可以通过 GitHub 问题跟踪器报告错误,并通过邮件列表寻求帮助。更多信息请访问 Memcached 网站:https://memcached.org/。
* [piskvorky/smart_open](https://github.com/piskvorky/smart_open) smart_open是一个Python库,用于高效地从各种存储(如S3、GCS、Azure Blob Storage、HDFS、WebHDFS、HTTP、HTTPS、SFTP和本地文件系统)流式传输大型文件,支持多种压缩格式的透明解压缩。它作为Python内置`open()`函数的替代品,提供统一的API,简化了大型远程文件处理,减少代码量和错误。 它兼容Python内置`open()`函数,并在此基础上增加了许多功能。
* [lni/dragonboat](https://github.com/lni/dragonboat) Go 中功能完整且高性能的多组 Raft 库。像 Raft 这样的共识算法通过让系统在大多数成员服务器可用时继续运行来提供容错能力。例如,一个 5 台服务器的 Raft 分片,即使有 2 台服务器出现故障,也可以取得进展。在客户看来,它也是一个单一的实体,始终提供强大的数据一致性。所有 Raft 副本都可用于处理聚合读取吞吐量的读取请求。
* [EntilZha/PyFunctional](https://github.com/EntilZha/PyFunctional) PyFunctional是一个Python库,使用链式函数式编程方法简化数据管道创建。它支持链式操作符,提供丰富的API,可读写多种文件格式(包括文本、CSV、JSON、SQLite等),并能轻松并行化“易于并行”的操作,例如map。该库的API设计灵感源于Scala集合、Apache Spark RDDs和Microsoft LINQ,并具有完整的文档、严格的单元测试和100%的测试覆盖率。
* [apache/sedona](https://github.com/apache/sedona) Apache Sedona是一个用于处理大规模地理空间数据的集群计算框架,它基于 ApacheSpark,并提供了一系列针对地理空间数据分析的优化和扩展,例如空间索引、空间连接和空间聚合。Sedona 支持多种编程语言,包括 Scala、Java、Python 和 R,并提供 Docker 镜像方便部署。用户可以通过 Maven、PyPI、Conda-forge 和 CRAN 等渠道获取 Sedona 的安装包。
* [DapperLib/Dapper](https://github.com/DapperLib/Dapper) Dapper 是一个简单易用的 .Net 对象映射器,它可以将数据库查询结果映射到.Net 对象,无需编写繁琐的代码。Dapper 使用微型ORM 技术,通过将 SQL 语句与 .Net 对象进行匹配来实现数据映射,同时保持了高效的性能。Dapper 提供多种 NuGet包,包括 Dapper.EntityFramework、Dapper.Rainbow 和 Dapper.SqlBuilder,用于扩展其功能并满足不同场景的需求。
* [awsdocs/aws-doc-sdk-examples](https://github.com/awsdocs/aws-doc-sdk-examples) AWSSDK 代码示例仓库包含用于 AWS 文档、AWS SDK 开发者指南等中的代码示例。该仓库按语言组织,每个子目录包含对应语言的 SDK代码示例,展示了 SDK 的常用功能。仓库还包含用于测试的自动化框架,以及示例应用程序,展示了 SDK 在生产环境中的应用。仓库中的代码示例被注入到 AWS 文档中,方便开发者学习和使用 AWS SDK。
* [rosedblabs/rosedb](https://github.com/rosedblabs/rosedb) RoseDB是一个基于 Bitcask 存储模型的轻量级、快速且可靠的键值存储引擎。它以 WAL(预写日志)为后端,使用追加式文件和块缓存,并提供低延迟、高吞吐量、大数据集处理能力、单次查找、可预测的性能、快速恢复和简易备份等特点。RoseDB 经过充分测试,已准备好投入生产使用,并被多个项目作为存储引擎使用。
* [spotify/scio](https://github.com/spotify/scio) Scio是一个基于Scala的Apache Beam和Google Cloud Dataflow API,它借鉴了Apache Spark和Scalding的优点。Scio提供统一的批处理和流处理编程模型,并与Google Cloud服务(如Cloud Storage和BigQuery)深度集成,拥有丰富的IO支持和便捷的开发工具,例如交互式REPL。Scio使得开发者可以使用类似Spark和Scalding的Scala API进行高效的数据处理。
* [tokio-rs/mini-redis](https://github.com/tokio-rs/mini-redis) `mini-redis` 是一个使用 Tokio 构建的 Redis 客户端和服务器的简化实现,旨在作为学习资源。它支持基本的 Redis 命令,例如PING、GET、SET、PUBLISH 和 SUBSCRIBE,但不支持持久化。该项目展示了多种 Tokio 模式,包括 TCP 服务器、异步 I/O、任务和通道,以及 OpenTelemetry 集成,用于将跟踪数据发送到 AWS X-Ray 等服务。
* [airbytehq/airbyte](https://github.com/airbytehq/airbyte) 用于 ELT 管道的数据集成平台,从 API、数据库和文件到数据库、仓库和湖泊。只有开源的数据移动解决方案才能覆盖数据源的长尾,同时使数据工程师能够自定义现有的连接器。我们的最终愿景是帮助您将数据从任何来源移动到任何目的地。Airbyte 已经为 API、数据库、数仓和数据湖提供了300+ 连接器。
* [CodisLabs/codis](https://github.com/CodisLabs/codis) Codis是一个基于代理的高性能Redis集群解决方案,使用Go语言编写,支持管道和动态扩展,在豌豆荚等公司得到广泛应用。Codis支持无重启集群的重新分片,并提供GUI网站仪表盘和管理工具,兼容Twemproxy,支持大多数Redis命令。Codis代理可以注册到ZooKeeper/etcd,客户端可以避免失效代理,确保高可用性。
* [jonra1993/fastapi-alembic-sqlmodel-async](https://github.com/jonra1993/fastapi-alembic-sqlmodel-async) 这是一个基于FastAPI、SQLModel(异步ORM)、Alembic和Pydantic2.0的异步CRUD项目模板,包含身份验证和基于角色的访问控制,支持Python 3.10及以上版本,并集成了Celery用于异步任务处理,提供完整的异步数据库管理和交互式API文档,以及自动化测试。该模板旨在简化Web应用开发,提供安全高效的启动基础。
* [mingrammer/diagrams](https://github.com/mingrammer/diagrams) 允许您在 Python 代码中绘制云系统架构。它诞生于在没有任何设计工具的情况下对新的系统架构设计进行原型设计。您还可以描述或可视化现有系统架构。Diagrams目前支持的主要提供商包括: GCP Kubernetes Alibaba Cloud Oracle Cloud Azure AWS 等。它还支持 On-Premise 节点、 SaaS 主要 Programming 框架和语言。
* [alibaba/DataX](https://github.com/alibaba/DataX) 阿里云DataWorks数据集成的开源版本。在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
* [lux-org/lux](https://github.com/lux-org/lux) Python 库,通过自动化可视化和数据分析过程来促进快速简便的数据探索。通过简单地在 Jupyter 笔记本中打印出数据帧,Lux 推荐一组可视化效果,突出显示数据集中有趣的趋势和模式。可视化通过交互式小部件显示,使用户能够快速浏览大量可视化并理解其数据。
* [tobymao/sqlglot](https://github.com/tobymao/sqlglot) Python SQL 解析器和转译器,无依赖性的 SQL 解析器、转译器、优化器和引擎。它可用于格式化 SQL 或在 21 种不同的方言之间进行翻译,例如 DuckDB、Presto / Trino、Spark / Databricks、Snowflake 和 BigQuery。它旨在读取各种 SQL 输入,并在目标方言中输出语法和语义正确的 SQL。
* [redisson/redisson](https://github.com/redisson/redisson) 具有内存数据网格功能的简易 Redis Java 客户端。Sync/ Async/RxJava/Reactive API.超过50个基于Redis的Java对象和服务:Set,Multimap,SortedSet,Map,List,Queue,Deque,Semaphore,Lock,AtomicLong,Map Reduce,Bloom filter,Spring Cache,Tomcat,Scheduler,JCache API,Hibernate,RPC,本地缓存...
* [kelseyhightower/confd](https://github.com/kelseyhightower/confd) confd是一个轻量级配置管理工具,使用etcd、consul、dynamodb、redis、vault、zookeeper、aws ssm参数存储或环境变量等数据源以及模板,保持本地配置文件最新,并能自动重新加载应用程序以应用新的配置文件更改。目前项目正在升级,迁移到Go modules并简化etcd后端。
* [sabledb-io/sabledb](https://github.com/sabledb-io/sabledb) 键值NoSQL数据库, RocksDb 它作为其存储引擎,并与Redis协议兼容。与 Redis 相比,它旨在降低内存成本并增加容量。 SableDb 功能包括通过任何 Redis 客户端进行与 Redis 兼容的访问、高达 64K 的数据库支持、使用事务日志尾随的异步复制和 TLS 连接支持。
* [seaweedfs/seaweedfs](https://github.com/seaweedfs/seaweedfs) 一个快速分布式存储系统,适用于 blob、对象、文件和数据湖,适用于数十亿个文件!Blob 存储具有 O(1) 磁盘查找和云分层。Filer 支持 Cloud Drive、跨 DC 主动-主动复制、Kubernetes、POSIX FUSE 挂载、S3 API、S3 Gateway、Hadoop、WebDAV、加密、纠删码。
* [twitter/scalding](https://github.com/twitter/scalding) Scalding是一个基于Scala的Hadoop MapReduce任务简化库,它构建于Cascading之上,屏蔽了底层Hadoop细节。Scalding类似于Pig,但与Scala紧密集成,将Scala的优势带入MapReduce作业,并提供类型安全的API和丰富的文档及示例,方便用户快速上手和学习。
* [sohutv/cachecloud](https://github.com/sohutv/cachecloud) 搜狐视频(sohu tv)Redis私有云平台 :支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本,提升资源管控能力和利用率。平台提供快速搭建/迁移,运维管理,弹性伸缩,统计监控,客户端整合接入等功能。
* [databricks/koalas](https://github.com/databricks/koalas) Koalas项目是一个已弃用的库,它在Apache Spark之上实现了pandas DataFrameAPI,允许用户在无需学习新API的情况下使用Spark处理大数据,并支持单一代码库同时兼容pandas和Spark。由于其功能已集成到Apache Spark 3.2及以上版本中,建议使用PySpark。
* [harelba/q](https://github.com/harelba/q) 直接在分隔文件和多文件 sqlite 数据库上运行 SQL。允许以下操作:直接对表格文本数据执行类似 SQL 语句,自动缓存数据以加速对同一文件的其他查询。直接在多文件 sqlite3 数据库上执行 SQL,而无需合并它们或将它们加载到内存中。
* [bosun-monitor/bosun](https://github.com/bosun-monitor/bosun) Bosun是由Stack Exchange开发的时间序列告警框架,包含度量收集代理Scollector。它利用OpenTSDB或HBase存储时间序列数据,通过自定义规则进行告警。项目提供Docker Compose方便部署,也支持本地构建和调试,并集成Miniprofiler用于性能调试。
* [jaegertracing/jaeger](https://github.com/jaegertracing/jaeger) 受 Dapper 和 OpenZipkin 的启发,是由 Uber Technologies 创建并捐赠给云原生计算基金会的分布式追踪平台。它可用于监控基于微服务的分布式系统:分布式上下文传播、分布式事务监控、根本原因分析、服务依赖分析、性能/延迟优化。
* [smartloli/EFAK](https://github.com/smartloli/EFAK) EFAK(原名 Kafka Eagle)是一个开源的 Kafka 集群管理和监控工具,旨在帮助用户轻松地监控和管理 Kafka 集群。它提供实时监控、消息消费管理、Topic 管理、报警系统、可视化图表和跨平台支持等功能,适用于各种规模的 Kafka 集群。
* [sequelize/sequelize](https://github.com/sequelize/sequelize) 功能丰富的ORM(Object Relational Mapping,为了解决面向对象与关系数据库存在的互不匹配),用于现代Node.js和TypeScript,它支持PostgreSQL(支持JSON和JSONB),MySQL,MariaDB,SQLite,MS SQL Server,Snowflake,Oracle DB(v6),DB2和DB2 for IBM i。
* [Netflix/EVCache](https://github.com/Netflix/EVCache) EVCache是一个基于 memcached 和 spymemcached 的分布式内存数据存储方案,主要用于 AWS EC2 基础设施,用于缓存频繁访问的数据。它是一种短暂的、易失性的缓存,数据存储时间由 TTL(生存时间)控制,并且可能随时被清除。
* [ploomber/ploomber](https://github.com/ploomber/ploomber) 构建数据管道的最快方法。使用您喜欢的编辑器(Jupyter、VSCode、PyCharm)以交互方式进行开发和部署,而无需更改代码(Kubernetes、Airflow、AWS Batch 和 SLURM)。你有旧版笔记本吗?使用单个命令将它们重构为模块化管道。
* [k8sgpt-ai/k8sgpt](https://github.com/k8sgpt-ai/k8sgpt) 用于扫描 Kubernetes 集群、诊断和分类问题的工具,用简单的英语。它将 SRE 经验编入其分析器中,并帮助提取最相关的信息以使用 AI 来丰富它。与 OpenAI、Azure、Bedrock、Google Gemini 和本地模型的开箱即用集成。
* [elastic/beats](https://github.com/elastic/beats) 用 Go 编写的轻量级数据传送器,您可以将其安装在服务器上以捕获各种操作数据(例如日志、指标或网络数据包数据)。Beats 将运营数据直接或通过 Logstash 发送到 Elasticsearch,以便使用 Kibana 进行可视化。
* [minio/minio](https://github.com/minio/minio) 高性能、兼容 S3 的对象存储。它专为大规模 AI/ML、数据湖和数据库工作负载而构建。它是软件定义的,可在任何云或本地基础架构上运行。MinIO 在开源 GNU AGPL v3 和商业企业许可证下获得双重许可。
* [VertaAI/modeldb](https://github.com/VertaAI/modeldb) 用于机器学习模型版本控制、元数据和实验管理的开源系统。开源系统,用于对机器学习模型(包括其成分代码、数据、配置和环境)进行版本控制,并在整个模型生命周期中跟踪 ML 元数据。
* [elastic/logstash](https://github.com/elastic/logstash) 传输和处理您的日志、事件或其他数据。是 Elastic Stack 的一部分。Logstash 是一个服务器端数据处理管道,可同时从多个来源提取数据,对其进行转换,然后将其发送到您最喜欢的“存储”。
* [prisma/prisma](https://github.com/prisma/prisma) 下一代 ORM 对象关系映射(Object Relational Mapping,为了解决面向对象与关系数据库存在的互不匹配)for Node.js & TypeScript |PostgreSQL,MySQL,MariaDB,SQL Server,SQLite,MongoDB和CockroachDB
* [kysely-org/kysely](https://github.com/kysely-org/kysely) 类型安全且自动完成友好的 TypeScript SQL 查询构建器。灵感来自Knex.js。主要为Node.js开发,但也可以在所有其他 JavaScript 环境(如 Deno、Bun、Cloudflare Workers 和 Web 浏览器)上运行。
* [OptimalBits/bull](https://github.com/OptimalBits/bull) 一个基于Redis的高性能NodeJS作业和消息队列库,具有卓越的稳定性和原子性。由OptimalBits维护,适用于分布式任务处理。该项目现处于维护模式,仅修复bug,新功能请参见BullMQ。
* [ipfs/kubo](https://github.com/ipfs/kubo) Kubo是第一个IPFS实现,也是当今使用最广泛的一个。实施星际文件系统 - 用于内容寻址的 Web3 标准,可与 HTTP 互操作。因此,由IPLD的数据模型和用于网络通信的libp2p提供支持。
* [cube-js/cube](https://github.com/cube-js/cube) 多维数据集 — 用于构建数据应用程序的语义层。帮助数据工程师和应用程序开发人员访问新式数据存储中的数据,将其组织成一致的定义,并将其交付给每个应用程序。
* [doctrine/dbal](https://github.com/doctrine/dbal) 基于 PHP 的 Doctrine 数据库抽象层,具有许多用于数据库模式自省和模式管理的功能。提供了一个面向对象的 API 和许多额外的水平功能,如数据库模式内省和操作。
* [xuxueli/xxl-job](https://github.com/xuxueli/xxl-job) 分布式任务调度框架。它的核心设计目标是快速开发并学习简单、轻量级和易于扩展。它已经开源,许多公司在生产环境中使用它,真正的“开箱即用”。
* [redis/redis](https://github.com/redis/redis) 一个内存中数据库,它保留在磁盘上。数据模型是键值,但支持许多不同类型的值:字符串、列表、集合、排序集、哈希、流、Hyper Log Logs、位图。
* [diesel-rs/diesel](https://github.com/diesel-rs/diesel) 摆脱了数据库交互的样板,并在不牺牲性能的情况下消除了运行时错误。充分利用 Rust 的类型系统来创建一个“感觉像 Rust”的低开销查询构建器。
* [apache/rocketmq](https://github.com/apache/rocketmq) 云原生消息和流式处理平台,可以简化构建事件驱动的应用程序。分布式消息流平台,具有低时延、高性能、高可靠、万亿级容量和灵活扩展性。
* [maemual/raft-zh_cn](https://github.com/maemual/raft-zh_cn) raft-zh_cn 项目提供了 Raft 一致性算法论文的中文翻译,包括英文原文链接和中文翻译文档链接,方便开发者学习和理解 Raft 算法的工作原理。
* [phpmyadmin/phpmyadmin](https://github.com/phpmyadmin/phpmyadmin) MySQL 和 MariaDB 的 Web 界面,phpMyAdmin 使用 Composer 来管理库依赖项;使用 Git 开发版本时,必须手动运行 Composer。有关详细信息,请参阅文档。
* [mikro-orm/mikro-orm](https://github.com/mikro-orm/mikro-orm) 基于数据映射器、工作单元和身份映射模式的 Node.js 的 TypeScript ORM。支持 MongoDB、MySQL、MariaDB、MS SQL Server、PostgreSQL 和 SQLite/libSQL 数据库。
* [bilibili/overlord](https://github.com/bilibili/overlord) 哔哩哔哩基于Go语言编写的memcache和redis cluster的代理及集群管理功能,致力于提供自动化高可用的缓存服务解决方案。
* [ben-manes/caffeine](https://github.com/ben-manes/caffeine) 适用于 Java 的高性能缓存库,Google Guava 启发的API提供内存缓存。这些改进借鉴了Guava缓存和ConcurrentLinkedHashMap的经验。
* [xo/usql](https://github.com/xo/usql) PostgreSQL,MySQL,Oracle数据库,SQLite3,Microsoft SQL Server和许多其他数据库(包括NoSQL和非关系数据库)的通用命令行界面
* [launchbadge/sqlx](https://github.com/launchbadge/sqlx) Rust SQL 工具包。一个异步的纯 Rust SQL crate,具有编译时检查的查询,无需 DSL。支持 PostgreSQL、MySQL、SQLite 和 MSSQL。
* [bytebase/bytebase](https://github.com/bytebase/bytebase) 面向开发人员、DBA 和平台工程团队的世界上最先进的数据库 DevOps 和 CI/CD。用于数据库 DevOps 的 GitLab/GitHub。
* [tendermint/tendermint](https://github.com/tendermint/tendermint) 拜占庭容错 (BFT) 中间件,它采用状态转换机器(用任何编程语言编写)并在许多机器上安全地复制它。
* [JSQLParser/JSqlParser](https://github.com/JSQLParser/JSqlParser) JSqlParser 解析 SQL 语句并将其转换为 Java 类的层次结构。生成的层次结构可以使用访客模式进行导航
* [tiangolo/full-stack-fastapi-postgresql](https://github.com/tiangolo/full-stack-fastapi-postgresql) 全栈、现代 Web 应用程序生成器。使用 FastAPI、PostgreSQL 作为数据库、Docker、自动 HTTPS 等。
* [dtm-labs/dtm](https://github.com/dtm-labs/dtm) 分布式事务框架,支持工作流、saga、tcc、xa、两阶段消息、发件箱模式,支持多种语言。
* [apache/zeppelin](https://github.com/apache/zeppelin) 基于 Web 的笔记本,支持数据驱动的交互式数据分析以及使用 SQL、Scala 等的协作文档。
* [timescale/timescaledb](https://github.com/timescale/timescaledb) 针对快速引入和复杂查询进行了优化的开源时序 SQL 数据库。打包为 PostgreSQL 扩展。
* [apache/kafka](https://github.com/apache/kafka) 分布式数据存储和流处理平台,可以发布和订阅记录流,按顺序存储和处理数据。
* [porsager/postgres](https://github.com/porsager/postgres) Postgres.js - 适用于 Node.js、Deno、Bun 和 CloudFlare 的最快全功能 PostgreSQL 客户端
* [codenotary/immudb](https://github.com/codenotary/immudb) 基于零信任的不可变数据库,SQL/键值/文档模型,防篡改,数据更改历史。
* [qishibo/AnotherRedisDesktopManager](https://github.com/qishibo/AnotherRedisDesktopManager) 更快,更好,更稳定的Redis桌面管理器[GUI客户端],兼容Linux,Windows,Mac。
* [SeaQL/sea-orm](https://github.com/SeaQL/sea-orm) 关系型 ORM,可帮助您在熟悉动态语言的情况下在 Rust 中构建 Web 服务。
* [PRQL/prql](https://github.com/PRQL/prql) 用于转换数据的现代语言 — 一种简单、强大、流水线式的 SQL 替代品
* [alibaba/spring-cloud-alibaba](https://github.com/alibaba/spring-cloud-alibaba) 阿里巴巴中间件的分布式解决方案提供一站式应用开发解决方案。
* [tonsky/datascript](https://github.com/tonsky/datascript) 用于 Clojure、ClojureScript 和 JS 的不可变数据库和数据日志查询引擎
* [Database-like ops benchmark](https://h2oai.github.io/db-benchmark/) 对开源数据科学中流行的各种类似数据库的工具进行基准测试。
* [redis/ioredis](https://github.com/redis/ioredis) 适用于 Node.js 的强大、注重性能且功能齐全的 Redis 客户端。
* [tiangolo/sqlmodel](https://github.com/tiangolo/sqlmodel) Python 中的 SQL 数据库,旨在实现简单性、兼容性和稳健性。
* [golang/groupcache](https://github.com/golang/groupcache) 一个缓存和缓存填充库,在许多情况下旨在替代 memcached。
* [digoal/blog](https://github.com/digoal/blog) PostgreSQL, Greenplum 学习视频,开源,数据库,商业,思想。
* [tikv/tikv](https://github.com/tikv/tikv) 分布式事务性键值数据库,最初是为了补充 TiDB 而创建的
* [spandanb/learndb-py](https://github.com/spandanb/learndb-py) 通过从头开始实现数据库来学习数据库内部结构。
* [mbdavid/LiteDB](https://github.com/mbdavid/LiteDB) 小型、快速和轻量级的 .NET NoSQL 嵌入式数据库。
* [dbcli/pgcli](https://github.com/dbcli/pgcli) 具有自动完成和语法突出显示功能的 Postgres CLI
* [theanalyst/awesome-distributed-systems](https://github.com/theanalyst/awesome-distributed-systems) 关于分布式系统上令人敬畏的材料的精选列表
* [luin/medis](https://github.com/luin/medis) 美观、易用的 Redis Mac 数据库管理应用程序。
* [groue/GRDB.swift](https://github.com/groue/GRDB.swift) SQLite数据库工具包,专注于swift应用程序开发
* [volatiletech/sqlboiler](https://github.com/volatiletech/sqlboiler) 生成针对您的数据库架构量身定制的 Go ORM。
* [go-gorm/gorm](https://github.com/go-gorm/gorm) Golang的梦幻般的ORM库,旨在对开发人员友好
* [osquery/osquery](https://github.com/osquery/osquery) SQL 支持的操作系统检测、监控和分析。
* [syndtr/goleveldb](https://github.com/syndtr/goleveldb) Go 编程语言实现的 LevelDB 键/值数据库。
* [twitter/twemproxy](https://github.com/twitter/twemproxy) memcached 和 redis 的快速、轻量级代理
* [PostgREST/postgrest](https://github.com/PostgREST/postgrest) 适用于任何 Postgres 数据库的 REST API
* [redis/node-redis](https://github.com/redis/node-redis) redis内存中数据库的Node.js客户端
* [redis/redis-py](https://github.com/redis/redis-py) redis内存中数据库的python客户端
* [yahoo/CMAK](https://github.com/yahoo/CMAK) 用于管理 Apache Kafka 群集的工具
* [redis/go-redis](https://github.com/redis/go-redis) redis内存中数据库的Go 客户端
* [huangz1990/redis-3.0-annotated](https://github.com/huangz1990/redis-3.0-annotated) 带有详细注释的 Redis 3.0 代码
* [vrana/adminer](https://github.com/vrana/adminer) 单个 PHP 文件中的数据库管理
* [mongodb/node-mongodb-native](https://github.com/mongodb/node-mongodb-native) 官方的MongoDB Node.js驱动程序
* [dragonflydb/dragonfly](https://github.com/dragonflydb/dragonfly) Redis和Memcached的现代替代品
* [DataTalksClub/data-engineering-zoomcamp](https://github.com/DataTalksClub/data-engineering-zoomcamp) 免费数据工程课程
* [redis/jedis](https://github.com/redis/jedis) Redis Java 客户端
* [sqlitebrowser/sqlitebrowser](https://github.com/sqlitebrowser/sqlitebrowser) DB浏览器SQLite版
## 向量数据库_向量搜索_最近邻搜索
* [apache/shardingsphere-elasticjob](https://github.com/apache/shardingsphere-elasticjob) 分布式调度作业,通过灵活调度、资源管理、作业管理等功能,打造适合互联网场景的分布式调度解决方案,并通过开放架构设计提供多元化的作业生态系统。它为每个项目使用统一的作业 API。开发者只需编写一次代码,即可随意部署。使用ElasticJob开发者可以不再担心作业横向扩展等非功能性需求,可以更加专注于业务编码。同时也可以释放运营商,让他们不用担心高可用和管理的问题,只需添加服务器即可自动运营。它是一个轻量级、去中心化的解决方案,提供分布式任务分片服务。特征:弹性时间表,支持分布式系统中的作业分片和高可用性,横向扩展以提高吞吐量和效率,作业处理能力随资源配置灵活扩展;资源分配:在适当的时间和分配的资源上执行作业,将相同的作业聚合到相同的作业执行者,动态地将资源附加到新分配的作业,岗位治理;故障转移:分布式环境不稳定时的自我诊断和恢复,作业依赖性;基于 DAG 的作业依赖关系:基于 DAG 的作业项依赖关系,作业开放生态系统;统一作业 API 以进行扩展:支持丰富的作业类型库,如数据流、脚本、HTTP、文件、大数据,聚焦业务SDK,可与Spring IOC配合;管理控制台:作业管理,作业事件跟踪查询,注册中心管理。
* [myscale/myscaledb](https://github.com/myscale/myscaledb) MyScaleDB是一个基于 ClickHouse 的高性能向量搜索和全文搜索数据库,它支持使用熟悉的 SQL 构建生产级 AI 应用。MyScaleDB 具有完全的 SQL 兼容性,支持快速、高效的向量搜索、过滤搜索和 SQL-向量联接查询。它还提供生产级的 AI 应用功能,可以统一管理和处理结构化数据、文本、向量、JSON、地理空间、时间序列数据等。MyScaleDB 采用先进的 OLAP数据库架构和向量算法,提供极快的向量操作速度和可扩展性。MyScale Cloud 提供完全托管的 MyScaleDB,支持数十亿级数据规模,并提供高级功能。与使用自定义 API 的专用向量数据库相比,MyScale 更强大、性能更高、成本更低,同时使用更简单,适合更广泛的程序员群体。与 PostgreSQL(pgvector)或 ElasticSearch(向量扩展)等集成向量数据库相比,MyScale占用更少的资源,在结构化和向量联合查询(例如过滤搜索)方面能够实现更高的精度和速度。
* [tensorchord/pgvecto.rs](https://github.com/tensorchord/pgvecto.rs) Postgres 中可扩展、低延迟和支持混合的矢量搜索。彻底改变矢量搜索,而不是数据库。超低延迟、高精度的矢量搜索。使用 SPLADE 或 BM25 算法进行基于关键字的向量搜索。跨任何语言的全面文本搜索,由 tsvector 提供支持。完整的 SQL 支持,支持连接和筛选器,没有限制或额外配置。非阻塞插入,具有最新的查询就绪情况。无需将向量和元数据与外部向量数据库同步,简化开发。支持 FP16 和 INT8 数据类型,以提高存储和计算效率。使用二进制向量进行向量索引,并支持 Jaccard 距离。子向量索引,如向量[0:256],用于增强的套娃嵌入。支持高达 65535 的矢量长度,是最新尖端模型的理想选择。与 PostgreSQL 集成的久经考验的数据库生态系统。逻辑复制支持,确保高可用性。利用 PostgreSQL 实现高效的属性存储。简单的访问控制,如只读角色,由 PostgreSQL 提供支持。
* [nmslib/nmslib](https://github.com/nmslib/nmslib) Non-Metric SpaceLibrary (NMSLIB) 是一个高效的跨平台相似性搜索库,也是一个用于评估相似性搜索方法的工具包。它支持各种度量空间访问方法,但主要关注的是通用和近似搜索方法,特别是针对非度量空间的方法。NMSLIB 是第一个支持非度量空间搜索的库。它可扩展,允许添加新的搜索方法和距离函数,可通过 C++ 和 Python(通过 Python 绑定)直接使用,还可以构建一个查询服务器,可从 Java(或其他支持 Apache Thrift(0.12 版本)的语言)使用。NMSLIB 已经成为 Amazon Elasticsearch Service 的一部分,并被广泛应用于各种领域。
* [qdrant/fastembed](https://github.com/qdrant/fastembed) FastEmbed 是一个轻量级、快速的 Python 库,专为嵌入生成而构建。我们支持流行的文本模型。轻量级:FastEmbed 是一个轻量级的库,几乎没有外部依赖性,我们不需要 GPU,也不需要下载 GB 的 PyTorch 依赖项,而是使用 ONNX 运行时,这使它成为 AWS Lambda 等无服务器运行时的绝佳候选者。快速:FastEmbed 专为速度而设计,我们使用 ONNX 运行时,它比 PyTorch 更快,我们还使用数据并行性来编码大型数据集。准确:FastEmbed 优于 OpenAI Ada-002,我们还支持一组不断扩展的模型,包括一些多语言模型。
* [unum-cloud/usearch](https://github.com/unum-cloud/usearch) USearch是一个开源的、快速、轻量级的相似性搜索和聚类引擎,支持向量和文本数据。它提供多种距离度量方法,包括空间、二进制、概率和用户自定义度量。USearch 采用 HNSW 算法,比 FAISS 快 10 倍,并且只有一个 C++11 头文件,易于集成。它支持多种编程语言,包括 C++、Python、JavaScript、Rust、Java、Objective-C、Swift、C#、GoLang 和 Wolfram,并可在 Linux、MacOS、Windows、iOS、Android、WebAssembly 和 SQLite3 上运行。
* [asg017/sqlite-vec](https://github.com/asg017/sqlite-vec) 正在进行中的向量搜索SQLite扩展,可在任何地方运行。一个非常小的,“足够快”的向量搜索SQLite扩展,可以在任何地方运行!sqlite-vss 的继任者。在 vec0 虚拟表中存储和查询浮点数、int8 和二进制向量;用纯C语言编写,没有依赖项,可以在SQLite运行的任何地方运行(Linux / Mac OS / Windows,在带有WASM,Raspberry Pis等的浏览器中);使用 rowid IN (...) 子查询预过滤向量
* [cozodb/cozo](https://github.com/cozodb/cozo) CozoDB是一个支持事务的、关系图向量数据库,使用Datalog进行查询。它被称为AI的海马体,因为其强大的图数据处理能力。CozoDB支持向量搜索(HNSW索引),近似重复搜索(MinHash-LSH),全文本搜索,JSON值支持等功能。它还提供Datalog语言,用于进行复杂的图查询和分析。CozoDB可以与多种语言集成,包括Node.js、Web、Rust、Python、Java、Clojure、Android、Swift和Go。
* [SuperDuperDB/superduperdb](https://github.com/SuperDuperDB/superduperdb) 将 AI 引入您的数据库!直接使用现有数据基础架构构建、部署和管理任何 AI 应用程序,而无需移动数据。包括流式推理、可扩展模型训练和向量搜索。SuperDuperDB 是一个 Python 框架,用于将 AI 模型、API 和矢量搜索引擎直接与您现有的数据库集成,包括托管您自己的模型、流式推理和可扩展的模型训练/微调。
* [lmcinnes/pynndescent](https://github.com/lmcinnes/pynndescent) PyNNDescent是一个 Python 库,用于近似最近邻搜索。它使用最近邻下降算法,并结合随机投影树进行初始化,以提高搜索效率。该库支持多种距离度量,包括欧氏距离、曼哈顿距离、余弦距离等,并与 Scikit-learn 兼容。用户可以使用 PyNNDescent 构建搜索索引,并进行快速、准确的近似最近邻查询。
* [zilliztech/VectorDBBench](https://github.com/zilliztech/VectorDBBench) 不仅仅是主流矢量数据库和云服务的基准测试结果,还是您进行终极性能和成本效益比较的首选工具。VectorDBBench 在设计时考虑到了易用性,旨在帮助用户(甚至是非专业人士)重现结果或测试新系统,从而在众多云服务和开源矢量数据库中寻找最佳选择变得轻而易举。
* [milvus-io/bootcamp](https://github.com/milvus-io/bootcamp) 处理所有非结构化数据,如反向图像搜索、音频搜索、分子搜索、视频分析、问答系统、NLP 等。使用神经网络从非结构化数据中提取特征向量,例如图像、音频和视频等。然后通过计算特征向量来分析非结构化数据,例如计算向量的欧几里得或余弦距离以获得相似性。
* [milvus-io/milvus](https://github.com/milvus-io/milvus) 大规模特征向量的最快相似度搜索引擎 基于Faiss、Annoy等开源库,并针对性做了定制,支持结构化查询、多模查询等业界比较急需的功能;Milvus支持cpu、gpu、arm等多种类型的处理器;同时使用mysql存储元数据,并且在共享存储的支持下,Milvus可以支持分布式部署。
* [qdrant/qdrant](https://github.com/qdrant/qdrant) 一个矢量相似性搜索引擎和矢量数据库。它提供生产就绪的服务,并带有方便的 API 来存储、搜索和管理点 - 具有附加有效载荷的矢量 Qdrant 专为扩展过滤支持量身定制。它使其可用于各种神经网络或基于语义的匹配、分面搜索和其他应用程序。
* [marqo-ai/marqo](https://github.com/marqo-ai/marqo) 端到端的多模态矢量搜索引擎。借助 Marqo,用户可以通过单个易于使用的 API 存储和查询非结构化数据,例如文本、图像和代码。输入预处理、机器学习推理和存储都是开箱即用的,可以轻松扩展。
* [weaviate/weaviate](https://github.com/weaviate/weaviate) Weaviate 是一个开源矢量数据库,它存储对象和矢量,允许将矢量搜索与结构化过滤与云原生数据库的容错和可扩展性相结合,所有这些都可以通过 GraphQL、REST 和各种语言客户端访问。
* [docarray/docarray](https://github.com/docarray/docarray) Python 库,专为多模态数据的表示、传输、存储和检索而精心制作。专为多模态AI应用程序的开发量身定制,其设计可确保与广泛的Python和机器学习生态系统无缝集成。
* [Tencent/wcdb](https://github.com/Tencent/wcdb) WCDB是由微信开发的跨平台数据库框架。高效、完整、易用的移动数据库框架,用于微信应用。它基于SQLite和SQLCipher,支持五种语言:C++,Java,Kotlin,Swift和Objective-C。
* [pinecone-io/examples](https://github.com/pinecone-io/examples) 示例应用程序和 Jupyter Notebook 的集合,您可以运行、下载、研究和修改它们,以便亲身体验 Pinecone 向量数据库和常见的 AI 模式、工具和算法。
* [lancedb/lancedb](https://github.com/lancedb/lancedb) 面向 AI 应用程序的开发人员友好型无服务器向量数据库。轻松为您的LLM应用程序添加长期记忆!
* [infiniflow/infinity](https://github.com/infiniflow/infinity) 专LLM为应用程序构建的 AI 原生数据库,提供令人难以置信的快速全文和矢量搜索
* [spotify/annoy](https://github.com/spotify/annoy) C++/Python 中的近似最近邻针对内存使用和加载/保存到磁盘进行了优化
* [neuml/txtai](https://github.com/neuml/txtai) 用于语义搜索、LLM 编排和语言模型工作流的一体化开源嵌入数据库
* [FALCONN-LIB/FALCONN](https://github.com/FALCONN-LIB/FALCONN) 余弦和其他最近邻的首次查找(基于快速局部敏感哈希)
* [milvus-io/milvus-lite](https://github.com/milvus-io/milvus-lite) Milvus 的轻量级版本,可以嵌入到 Python 应用程序中。
* [yahoojapan/NGT](https://github.com/yahoojapan/NGT) 使用邻域图和树进行最近邻搜索,以获取高维数据
* [hora-search/hora](https://github.com/hora-search/hora) 高效的近似最近邻搜索算法集合库用 Rust 编写。
* [vearch/vearch](https://github.com/vearch/vearch) 用于嵌入式向量高效相似性搜索的分布式系统
* [currentslab/awesome-vector-search](https://github.com/currentslab/awesome-vector-search) 矢量搜索相关库、服务和研究论文集
* [vdaas/vald](https://github.com/vdaas/vald) 高度可扩展的分布式矢量搜索引擎
* [pgvector/pgvector](https://github.com/pgvector/pgvector) Postgres的开源向量相似性搜索
* [chroma-core/chroma](https://github.com/chroma-core/chroma) AI 原生开源嵌入数据库
## 数据库管理系统
* [postgres/postgres](https://github.com/postgres/postgres) 这是官方 PostgreSQL Git 仓库的镜像,仅供参考,不接受 GitHub 上的 PullRequest。PostgreSQL 是一个先进的开源对象关系型数据库管理系统,支持 SQL 标准的扩展子集,包括事务、外键、子查询、触发器、用户自定义类型和函数,并提供 C 语言绑定。一款功能全面且开源的关系型数据库管理系统,凭借其卓越的扩展能力和对SQL标准的严格遵循而广受赞誉。作为一款成熟的数据库系统,它不仅支持符合ACID特性的事务处理,还集成了自动更新的视图、物化视图、触发器、外键约束以及存储过程等一系列强大功能。PostgreSQL能够在Windows、Linux、macOS等主流操作系统上流畅运行,其应用范围极为广泛,无论是单机应用、大规模数据仓库,还是数据湖、高并发Web服务等场景,都能应对自如。PostgreSQL的核心开发工作由全球开发组(英语:PostgreSQL Global Development Group)负责,他们专注于数据库引擎及其核心组件的研发与优化。在这个核心团队之外,还活跃着一个生机勃勃的开发者社区和生态系统,他们为PostgreSQL提供了众多增强功能,填补了通常由商业数据库供应商所提供的功能空缺。这些扩展涵盖了地理空间数据处理、时序数据库支持等特殊领域,以及模拟其他数据库产品的兼容层。同时,第三方开发者也贡献了各种用户和机器接口功能,包括图形用户界面、负载均衡和高可用性工具集等。尽管这个庞大的支持网络(涵盖个人、企业、产品和项目)并非PostgreSQL开发组的一部分,但它们共同促进了PostgreSQL生态系统的繁荣发展,对数据库的推广与应用起到了至关重要的作用。这款数据库系统最初名为POSTGRES,以彰显其作为加州大学柏克莱分校Ingres数据库系统继承者的身份。1996年,为了体现其对SQL的支持,项目更名为PostgreSQL。经过2007年的一次评审,开发团队决定保留PostgreSQL这个名称和Postgres这个简称。更多信息请访问官方网站:https://www.postgresql.org/。
* [tigerbeetle/tigerbeetle](https://github.com/tigerbeetle/tigerbeetle) TigerBeetle 是一个专为关键任务安全和性能而设计的分布式财务会计数据库。它通过采用高性能、高安全性的设计原则,确保了在处理复杂和高要求的金融交易环境中的稳定性和可靠性。以下是 TigerBeetle 的关键特性概述:1. 高性能与高安全性:TigerBeetle 被设计用于关键任务,如财务交易和会计数据处理,这要求系统在处理大量交易时保持高性能和高安全性。2. 分布式数据库系统:TigerBeetle 是一个分布式数据库系统,意味着它可以在多个节点上运行,通过分布式架构提供水平扩展能力,以处理更高的交易吞吐量。3. 事件处理核心:系统的核心是事件处理机制,负责接收和处理所有传入的交易事件。事件处理核心将事件分解为一系列原子操作,确保数据的一致性和完整性。4. 分布式状态机:每个节点都运行一个状态机,用于处理事件并更新数据库状态。这确保了在分布式环境中的一致性和可靠性。5. 复制和同步机制:TigerBeetle 通过复制和同步机制确保数据的一致性。每个节点维护一个日志,记录所有已处理的事件,以便在节点间进行同步。6. 心跳检测和故障恢复:系统设计有心跳检测机制,用于检测节点的健康状态,并在检测到故障时进行自动恢复。这提高了系统的稳定性和安全性。7. 可扩展性:TigerBeetle 通过分布式的架构设计,能够在多节点上进行水平扩展,以处理更高的交易吞吐量。8. 一致性:采用分布式状态机和复制机制,确保在分布式环境中的一致性和可靠性。9. 性能优化:通过事件分解和原子操作,TigerBeetle 能够更高效地处理高并发的交易事件。10. 安全性:设计有故障检测和恢复机制,增强了系统的稳定性和安全性。通过这些关键特性,TigerBeetle 成为了一个适合处理高负载、高安全性的金融交易的分布式数据库系统。
* [apache/hive](https://github.com/apache/hive) Apache Hive (TM) 数据仓库软件有助于使用 SQL 读取、写入和管理驻留在分布式存储中的大型数据集。它建立在 Apache Hadoop (TM) 之上,提供:通过 SQL 轻松访问数据的工具,从而实现数据仓库任务,例如提取/转换/加载 (ETL)、报告和数据分析;一种将结构强加于各种数据格式的机制;访问直接存储在 Apache HDFS (TM) 或其他数据存储系统(如 Apache HBase (TM))中的文件;使用 Apache Hadoop MapReduce 或 Apache Tez 框架执行查询。Hive 提供标准的 SQL 功能,包括许多后来的 2003 和 2011 分析功能。其中包括 OLAP 函数、子查询、通用表表达式等。Hive 的 SQL 还可以通过用户定义函数 (UDF)、用户定义聚合 (UDAF) 和用户定义表函数 (UDTF) 使用用户代码进行扩展。Hive 用户可以选择 Apache Hadoop MapReduce 或 Apache Tez 框架作为其执行后端。请注意,MapReduce框架从Hive 2开始就被弃用了,推荐使用Apache Tez。MapReduce是一个成熟的框架,在大规模上得到了验证。但是,MapReduce是一个纯粹的批处理框架,使用它的查询可能会遇到更高的延迟(数十秒),即使在较小的数据集上也是如此。Apache Tez 专为交互式查询而设计,与 MapReduce 相比,开销大大降低。用户可以随时在这些框架之间自由切换。在每种情况下,Hive 都最适合处理的数据量大到需要分布式系统的用例。Hive 不是为联机事务处理而设计的。它最适合用于传统的数据仓库任务。Hive 旨在最大限度地提高可扩展性(通过动态向 Hadoop 集群添加更多计算机进行横向扩展)、性能、可扩展性、容错性以及与其输入格式的松散耦合。
* [hazelcast/hazelcast](https://github.com/hazelcast/hazelcast) Hazelcast是一个统一的实时数据平台,将流处理与快速数据存储相结合,允许客户对数据流进行实时操作,从而获得实时洞察。它被Gartner评为事件流处理市场指南,并被GigaOm评为流数据平台雷达报告的领导者。Hazelcast提供了一个平台,可以处理多种类型的负载,用于构建实时应用程序,包括:有状态数据处理、使用SQL查询流数据和批处理数据源、通过连接器库摄取数据并使用低延迟SQL查询提供服务、在事件上将更新推送到应用程序、低延迟基于队列或发布/订阅的消息传递、通过读/写和写后缓存模式快速访问上下文和事务数据、微服务分布式协调、在同一区域内或跨数据中心复制数据。其关键特性包括:使用SQL或数据流API对数据流和静止数据进行有状态和容错数据处理和查询、全面的连接器库(如Kafka、Hadoop、S3、RDBMS、JMS等)、使用发布/订阅和队列的分布式消息传递、分布式、分区、可查询的键值存储(也可用于以低延迟丰富事件流的上下文数据)、与Python紧密集成,将机器学习模型部署到数据处理管道、云原生、无处不在的架构、零停机滚动升级、流处理管道的至少一次和恰好一次处理保证、数据中心和地理区域之间的WAN数据复制、键值点查找和发布/订阅的微秒级性能、独特的数据处理架构,在每秒数百万事件的流查询中,99.99%的延迟低于10毫秒。Hazelcast提供Java、Python、Node.js、.NET、C++和Go客户端库。
* [apache/druid](https://github.com/apache/druid) Apache Druid:高性能的实时分析数据库,可在负载下大规模对流和批处理数据进行亚秒级查询。在具有数十亿到数万亿行的高基数和高维数据集上,在毫秒内执行 OLAP 查询,而无需预先定义或缓存查询。构建实时分析应用程序,以一致的性能支持每秒 100 到 100,000 次查询,采用比其他数据库使用更少的基础架构的高效架构。通过 Druid 与 Apache Kafka 和 Amazon Kinesis 的原生集成释放流数据潜力,因为它支持每秒数百万个事件的到达时查询、低延迟摄取和有保证的一致性。Druid 专为快速查询和摄取非常重要的工作流而设计。Druid 擅长为 UI 提供支持、运行操作(即席)查询或处理高并发性。考虑将 Druid 作为各种用例的数据仓库的开源替代品。设计文档解释了关键概念。你可以通过我们的本地或 Docker 快速入门开始使用 Druid。Druid 提供了一组丰富的 API(通过 HTTP 和 JDBC)来加载、管理和查询您的数据。您还可以通过内置的 Web 控制台与 Druid 进行交互。使用点击式向导加载流式处理和批处理数据,以指导您完成引入设置。监视一次性任务和引入主管。轻松管理集群。从一个方便的位置查看数据源、区段、引入任务和服务。所有这些都由 SQL 系统表提供支持,允许您查看每个视图的基础查询。使用内置的查询工作台对 DruidSQL 和本机查询进行原型设计,或连接帮助您充分利用 Druid 的众多工具之一。
* [apache/arrow](https://github.com/apache/arrow) 多语言工具箱,用于加速数据交换和内存处理。初创团队主要来自于Dremio公司和由Apache Parquet(一种列式存储格式)的开发人员于2016年创建。其最初的定位是通过定义一套通用数据结构和 API,使数据可以在不同的编程语言和计算引擎之间以零复制(zero-copy)的方式进行共享和交换,从而提高数据处理的效率。Arrow 的核心数据结构是统一的列式内存格式,该格式采用了内存连续布局和零复制策略,以减少数据传输的开销。它支持对连续的列式数据使用现代处理器中包SIMD(单指令、多数据)进行向量化操作。此外,Arrow 还提供了一套丰富的数据操作接口,如过滤、转换、聚合等,以支持高效的数据分析和处理。随着时间的推移,Apache Arrow 在逐渐扩展和发展,到现在Apache Arrow已经发展成为一个用于构建处理和传输大型数据集的高性能应用程序软件开发平台,它不仅支持多种编程语言(如C++, Java, Python, R等),还与许多主流的数据处理框架集成,如 Apache Spark、Pandas、TensorFlow 等。
* [sqlalchemy/sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) SQLAlchemy是一个强大的 Python 数据库工具包和对象关系映射器 (ORM),它为应用程序开发者提供了 SQL 的全部功能和灵活性。 SQLAlchemy 提供了一套完整的企业级持久化模式,旨在实现高效且高性能的数据库访问,并将其融入到一个简单且 Pythonic 的领域语言中。其主要特性包括:一个强大的 ORM,一个关系型查询系统,一个全面的加载系统,一个核心 SQL 构造系统和 DBAPI 交互层,以及数据库自省和生成。 SQLAlchemy 的理念是:SQL 数据库在规模和性能方面越重要,其行为就越不像对象集合;对象集合在抽象方面越重要,其行为就越不像表和行。 SQLAlchemy 旨在兼顾这两个原则。 SQLAlchemy 的 ORM 提供了一套开放式的模式,允许开发者构建一个自定义的介导层,将领域模型和关系模式连接起来,从而消除所谓的“对象关系阻抗”问题。 在所有情况下,开发者都负责对象模型和关系模式的设计、结构和命名约定。 SQLAlchemy 只提供执行这些决策的工具。
* [delta-io/delta](https://github.com/delta-io/delta) 开源存储框架,支持使用 Spark、PrestoDB、Flink、Trino 和 Hive 等计算引擎以及 API 构建湖仓一体架构。以下是一些比较流行的 Delta Lake 集成:Apache Spark™:此连接器允许 Apache Spark™ 读取和写入 Delta Lake。Apache Flink(预览版):此连接器允许 Apache Flink 写入 Delta Lake。PrestoDB:此连接器允许 PrestoDB 从 Delta Lake 读取数据。Trino:此连接器允许 Trino 读取和写入 Delta Lake。Delta Standalone:此库允许基于 Scala 和 Java 的项目(包括 Apache Flink、Apache Hive、Apache Beam 和 PrestoDB)读取和写入 Delta Lake。Apache Hive:此连接器允许 Apache Hive 从 Delta Lake 读取数据。Delta Rust API:该库允许 Rust(使用 Python 和 Ruby 绑定)对 Delta 表进行低级访问,旨在与数据处理框架一起使用,例如 datafusion、ballista、rust-dataframe、vega 等。
* [MaterializeInc/materialize](https://github.com/MaterializeInc/materialize) Materialize是一个云原生操作数据存储,它使用 SQL 来转换、传递和处理快速变化的数据。它可以帮助您交互式地探索流式数据,对实时关系数据进行分析,或在减少仪表板和监控任务负载的同时提高数据新鲜度。Materialize 通过将 SQL 查询重铸为数据流来实现这一点,数据流可以高效地响应数据变化。Materialize 支持 PostgreSQL 的大部分功能,并积极努力支持更多内置的 PostgreSQL 函数。它可以从 Kafka、PostgreSQL 或 MySQL 复制流以及 SaaS 应用程序中读取数据,并支持定期数据库表,您可以在其中插入、更新和删除行。使用您喜欢的 SQL 客户端,包括您系统中可能已有的 `psql`,定义视图并通过 PostgreSQL 协议执行读取操作。Materialize 支持各种 SQL 功能,所有这些功能都使用 PostgreSQL 方言和协议。
* [apache/flink](https://github.com/apache/flink) 开源的流处理框架,具有强大的流处理和批处理能力。支持批处理和数据流式处理程序的流优先运行时;Java 和 Scala 中优雅流畅的 API;同时支持非常高吞吐量和低事件延迟的运行时;支持基于数据流模型的 DataStream API 中的事件时间和无序处理;跨不同时间语义(事件时间、处理时间)的灵活窗口(时间、计数、会话、自定义触发器);容错,保证一次处理;流媒体节目中的自然背压;用于图形处理(批处理)、机器学习(批处理)和复杂事件处理(流式处理)的库;DataSet(批处理)API 中对迭代程序 (BSP) 的内置支持;自定义内存管理,可在内存中和核外数据处理算法之间实现高效、稳健的切换;Apache Hadoop MapReduce的兼容层;与 YARN、HDFS、HBase 和 Apache Hadoop 生态系统的其他组件集成;
* [apache/storm](https://github.com/apache/storm) 分布式实时计算系统。与Hadoop提供一组用于进行批处理的通用原语类似,Storm提供了一组用于执行实时计算的通用原语。Storm 很简单,可以与任何编程语言一起使用,被许多公司使用,而且使用起来很有趣!Apache Storm 有许多用例:实时分析、在线机器学习、持续计算、分布式 RPC、ETL 等。Apache Storm 速度很快:基准测试显示,每个节点每秒处理超过 100 万个元组。它具有可扩展性、容错性,可保证您的数据得到处理,并且易于设置和操作。Apache Storm 与您已经使用的排队和数据库技术集成。Apache Storm 拓扑使用数据流,并以任意复杂的方式处理这些流,根据需要在计算的每个阶段之间重新划分流。在本教程中阅读更多内容。
* [apache/couchdb](https://github.com/apache/couchdb) 开源 NoSQL 文档数据库,用于存储 JSON 格式的数据。与关系数据库不同,CouchDB 使用无模式数据模型,简化了各种计算设备、手机和 Web 浏览器中的记录管理。特点:双向复制,用于在多个服务器和设备之间同步数据。将视图用作运行查询以及根据存储的文档文件创建报告的主要工具。使用 [REST API](https://www.ibm.com/cn-zh/topics/rest-apis) 从任何地点访问数据库,并具有完全的 CRUD(创建、读取、更新、删除)操作灵活性。设计中考虑了脱机操作。高效的文档存储。提供多种兼容性优势,可轻松地与当前基础架构集成。优点:可扩展性。没有读取锁。
* [citusdata/citus](https://github.com/citusdata/citus) PostgreSQL 扩展,可将 Postgres 转换为分布式数据库,因此您可以在任何规模下实现高性能。借助 Citus,您可以使用新的超能力扩展 PostgreSQL 数据库:分布式表在 PostgreSQL 节点集群中进行分片,以组合其 CPU、内存、存储和 I/O 容量。引用表将复制到所有节点,以便从分布式表中进行联接和外键,并实现最大读取性能。分布式查询引擎在整个集群中路由和并行化分布式表上的 SELECT、DML 和其他操作。列式存储可压缩数据,加快扫描速度,并支持常规表和分布式表上的快速投影。通过从任何节点进行查询,可以利用集群的全部容量进行分布式查询
* [terminusdb/terminusdb](https://github.com/terminusdb/terminusdb) TerminusDB是一个分布式数据库,具有协作模型,类似于 Git 的数据版本控制系统。它允许您通过文档 API 将 JSON 文档链接到知识图中,并提供版本控制、差异比较、推送/拉取/克隆等功能。TerminusDB 11 版本引入了新的 Rust存储后端,提高了性能和易用性,并支持 GraphQL 查询、可展开的文档框架和元数据添加等功能。您可以通过 Snap安装 TerminusDB,或使用 Docker Compose 部署。TerminusDB CLI 提供了简单的命令行工具,用于创建数据库、插入文档等操作。社区可以通过 Discord 交流,并访问官方文档网站获取更多信息。
* [open-metadata/OpenMetadata](https://github.com/open-metadata/OpenMetadata) OpenMetadata是一个统一的元数据平台,用于数据发现、数据可观测性和数据治理,它基于一个中央元数据存储库、深入的列级血缘关系和无缝的团队协作。它是一个快速增长的开源项目,拥有一个充满活力的社区,并被各种行业中各种公司采用。基于开放元数据标准和 API,支持连接到各种数据服务,OpenMetadata 能够实现端到端元数据管理,让您自由地释放数据资产的价值。它包含四个主要组件:元数据模式、元数据存储、元数据 API 和摄取框架,并提供数据发现、数据协作、数据质量和分析器等功能。
* [influxdata/influxdb](https://github.com/influxdata/influxdb/) 用 Rust 编写的开源时间序列数据库,使用 Apache Arrow、Apache Parquet 和 Apache DataFusion 作为其基础构建块。InfluxDB 的最新版本 (3.x) 专注于为各种观察数据(指标、事件、日志、跟踪等)提供实时缓冲区,这些数据可通过 SQL 或 InfluxQL 进行查询,并作为 Parquet 文件批量保存到对象存储中,然后其他第三方系统可以使用。它既可以使用预写日志运行,也可以在禁用预写日志的情况下完全关闭对象存储(在此操作模式下,对于尚未持久保存到对象存储的任何缓冲数据,都有数据丢失的可能性窗口)。
* [apache/iceberg](https://github.com/apache/iceberg) 新兴的数据湖框架之一,开创性的抽象出”表格式“(table format)这一中间层,既独立于上层的计算引擎(如Spark和Flink)和查询引擎(如Hive和Presto),也和下层的文件格式(如Parquet,ORC和Avro)相互解耦。同时,还提供了许多额外的能力:ACID事务;时间旅行(time travel),以访问之前版本的数据;完备的自定义类型、分区方式和操作的抽象;列和分区方式可以进化,而且进化对用户无感,即无需重新组织或变更数据文件;隐式分区,使SQL不用针对分区方式特殊优化;面向云存储的优化
* [georgia-tech-db/evadb](https://github.com/georgia-tech-db/evadb) 使软件开发人员能够通过几行代码构建 AI 应用程序。其强大的 SQL API 简化了结构化和非结构化数据的 AI 应用程序开发。EvaDB的优势包括:轻松将 EvaDB 查询引擎与您的数据源(如 PostgreSQL 或 S3 存储桶)连接,并使用 SQL 查询构建 AI 驱动的应用程序。使用 Hugging Face、OpenAI、YOLO、Stable Diffusion 等预训练的 AI 模型查询您的连接数据。创建或微调用于回归、分类和时间序列预测的 AI 模型。得益于以 AI 为中心的查询优化,例如缓存、批处理和并行处理,因此可以更快地进行 AI 查询。
* [facebook/rocksdb](https://github.com/facebook/rocksdb) 提供可嵌入的持久键值存储,以实现快速存储。由 Facebook 数据库工程团队开发和维护。它建立在 Sanjay Ghemawat ([email protected]) 和 Jeff Dean ([email protected]) 在 LevelDB 上的早期工作之上。它构成了快速键值服务器的核心构建块,特别适用于在闪存驱动器上存储数据。它采用对数结构合并数据库 (LSM) 设计,可在写入放大因子 (WAF)、读取放大因子 (RAF) 和空间放大因子 (SAF) 之间灵活权衡。它具有多线程压缩功能,特别适合在单个数据库中存储数 TB 的数据。
* [patroni/patroni](https://github.com/patroni/patroni) Patroni是一个基于Python的高可用PostgreSQL解决方案模板,支持ZooKeeper、etcd、Consul和Kubernetes等分布式配置存储。它提供了一个灵活的架构,允许用户根据自己的需求定制高可用性方案。Patroni支持PostgreSQL 9.3到17版本,并与Citus和Kubernetes集成。Patroni基于Governor项目,并添加了新的功能,例如支持多种配置存储和与Citus的集成。Patroni处于积极开发中,欢迎社区贡献。用户可以通过GitHub Issues和PRs以及PostgreSQL Slack上的#patroni频道与社区交流。
* [erikgrinaker/toydb](https://github.com/erikgrinaker/toydb) Rust 中的分布式 SQL 数据库,作为学习项目编写。大多数组件都是从头开始构建的,包括:基于 Raft 的分布式共识引擎,用于线性化状态机复制。符合 ACID 标准的事务引擎,具有基于 MVCC 的快照隔离。具有 BitCask 和内存后端的可插拔存储引擎。基于迭代器的查询引擎,具有启发式优化和时间旅行支持。SQL 接口,包括投影、筛选器、联接、聚合和事务。toyDB 不适合在现实世界中使用,但其他学习数据库内部的人可能会感兴趣。
* [pgadmin-org/pgadmin4](https://github.com/pgadmin-org/pgadmin4) PostgreSQL 最受欢迎且功能丰富的开源管理和开发平台,PostgreSQL 是世界上最先进的开源数据库。pgAdmin 4 是作为 Web 应用程序编写的,服务器端使用 Python(Flask),客户端使用 ReactJS、HTML5 和 CSS,用于客户端处理和 UI。虽然使用 Web 技术开发,但 pgAdmin 4 可以使用浏览器部署在 Web 服务器上,也可以独立部署在工作站上。runtime/ 子目录包含一个基于 NWjs 的运行时应用程序,旨在允许这样做,它将执行 Python 服务器并显示 UI。
* [kennethreitz/records](https://github.com/kennethreitz/records) Records是一个简单而强大的 Python 库,用于对大多数关系型数据库执行原始 SQL 查询。它允许你直接编写 SQL 语句,无需额外的配置或复杂的操作。Records 提供了一个优雅的接口来处理查询结果,支持多种数据库,包括 RedShift、Postgres、MySQL、SQLite、Oracle 和 MS-SQL。你可以轻松地迭代查询结果,访问字段值,并使用 Records 的 Tablib 集成功能将结果导出为 CSV、XLS、JSON、YAML、HTML表格或 Pandas 数据框,方便数据共享和报告生成。
* [apache/zookeeper](https://github.com/apache/zookeeper) 集中式服务,实现高度可靠的分布式协调。用于维护配置信息、命名、提供分布式同步和提供组服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次实施它们时,都会有很多工作来修复不可避免的错误和竞争条件。由于实现此类服务的困难,应用程序最初通常会吝啬它们,这使得它们在存在变化时变得脆弱并且难以管理。即使操作得当,这些服务的不同实现也会导致部署应用程序时的管理复杂性。
* [electric-sql/pglite](https://github.com/electric-sql/pglite) PGlite是一个基于 WASM 的轻量级 Postgres 数据库,可以运行在浏览器、Node.js、Bun 和 Deno 中,无需安装任何其他依赖。它只有 3MB 的压缩大小,并支持许多 Postgres 扩展,包括 pgvector。它可以作为临时的内存数据库使用,也可以持久化到文件系统(Node/Bun/Deno)或 IndexedDB(浏览器)。与之前的“浏览器中的 Postgres”项目不同,PGlite 不使用 Linux 虚拟机,它只是 WASM 中的 Postgres。完整文档和用户指南请访问 pglite.dev。
* [pressly/goose](https://github.com/pressly/goose) Goose是一个数据库迁移工具,支持命令行和库两种方式使用。它可以帮助你通过创建增量 SQL 更改或 Go 函数来管理数据库模式。Goose 支持多种数据库,包括 Postgres、MySQL、SQLite、YDB、ClickHouse、MSSQL、Vertica 等。它还支持 Go 迁移,可以将迁移编写为简单的函数,并支持嵌入式迁移、乱序迁移、数据填充、SQL 迁移中的环境变量替换等功能。你可以通过`go install github.com/pressly/goose/v3/cmd/goose@latest` 命令安装 Goose。
* [typedb/typedb](https://github.com/typedb/typedb) TypeDB 是具有现代编程范式的下一代数据库,可让您更快、更安全、更优雅地构建数据应用程序。其直观而强大的数据模型统一了关系数据库、文档数据库和图形数据库的优势,而没有它们的缺点。TypeQL 是其开创性的查询语言,具有声明性、函数式和强类型,大大简化了数据处理和逻辑。因此,现在,即使是嵌套和互连最紧密的数据集也可以轻松管理。借助 TypeDB,我们为现代编程时代重塑了数据库。
* [electric-sql/electric](https://github.com/electric-sql/electric) Electric是一款用于将 Postgres 数据同步到本地应用和服务的工具,它提供了一个HTTP API 用于同步 Postgres 数据的“Shapes”。您可以直接使用 API,也可以通过客户端库和集成来使用。Electric 采用全新构建的同步引擎,并提供快速入门指南和详细文档,帮助您快速上手。您可以使用Docker Compose 快速启动 Electric,并通过 HTTP API 或客户端库同步数据。Electric 还提供 OpenAPI 规范,方便您了解 API 的定义。
* [apache/ignite](https://github.com/apache/ignite) Apache Ignite是一个高性能计算的分布式数据库,以内存速度运行。它支持多层存储,包括内存、磁盘和英特尔傲腾,并提供本地持久化功能,使数据既可以在内存中缓存,也可以持久化到磁盘。Ignite 符合 ACID 规范,保证数据的一致性,并支持 ANSI SQL 标准,允许用户使用 JDBC、ODBC 或原生 SQL API 进行操作。Ignite 还可用于高性能计算,将多个机器组成一个分布式超级计算机,实现高速并行计算。
* [dhamaniasad/awesome-postgres](https://github.com/dhamaniasad/awesome-postgres) 受 awesome-mysql 启发的出色 PostgreSQL 软件、库、工具和资源的精选列表。PostgreSQL,通常简称为 Postgres,是一个对象关系数据库 (ORDBMS)。PostgreSQL 符合 ACID 标准且具有事务性。内容:高可用性、备份、图形用户界面、分布式、命令行界面、服务器、监测、扩展、优化、工具、语言绑定、PaaS(PostgreSQL 即服务)、Docker 镜像、资源、教程、博客、文章、文档、通讯、视频、社区、路线图。
* [juicedata/juicefs](https://github.com/juicedata/juicefs) Apache License 2.0 下发布的高性能 POSIX 文件系统,专为云原生环境设计。通过 JuiceFS 存储的数据会持久化在对象存储(例如 Amazon S3)中,相应的元数据可以根据场景和需求持久化到 Redis、MySQL、TiKV 等各种兼容的数据库引擎中。JuiceFS,海量云存储可以直接连接到大数据、机器学习、人工智能以及生产环境中的各种应用平台。无需修改代码,海量云存储可以像本地存储一样高效使用。
* [python-gino/gino](https://github.com/python-gino/gino) GINO是一个轻量级的异步ORM,基于SQLAlchemy core构建,支持Pythonasyncio,兼容PostgreSQL(使用asyncpg)和MySQL(使用aiomysql),具有强大的SQLAlchemy-asyncpg双向转换器、异步数据库API、异步CRUD模型以及完善的连接和事务管理,并支持SQLAlchemy生态系统(例如Alembic迁移工具),同时提供丰富的PostgreSQL JSONB支持,并拥有活跃的社区支持,方便集成Starlette/FastAPI、aiohttp、Sanic、Tornado和Quart等框架。
* [MySQL](https://www.mysql.com/) 开源的关系数据库管理系统 (RDBMS)。它的名字是“My”(联合创始人 Michael Widenius 的女儿 My 的名字)和“SQL”(结构化查询语言的缩写)的组合。它将数据组织成一个或多个数据表,其中数据可能相互关联;这些关系有助于构建数据。SQL 是程序员用来创建、修改和从关系数据库中提取数据以及控制用户对数据库的访问的语言。[mysql/mysql-server](https://github.com/mysql/mysql-server)
* [mongo-express/mongo-express](https://github.com/mongo-express/mongo-express) mongo-express是一个基于 Node.js 和 Express 的 Web 版 MongoDB 管理界面,提供连接多个数据库、查看/添加/删除数据库、集合和文档、预览音频/视频/图像资产、支持 GridFS、使用 BSON 数据类型、支持副本集等功能。它还支持自定义 CA/TLS/SSL 和 CA 验证禁用,并提供移动/响应式设计。用户可以通过 npm、yarn 或 pnpm 安装 mongo-express,并使用 `config.default.js`文件配置基本访问认证。
* [microsoft/azuredatastudio](https://github.com/microsoft/azuredatastudio) Azure Data Studio是一款跨平台的数据管理和开发工具,支持连接到流行的云和本地数据库,包括 Azure SQL 和 SQL Server。 它支持 Windows、macOS 和 Linux,并提供扩展库以支持 MySQL、PostgreSQL 和 MongoDB 等其他数据库。 您可以从项目页面下载最新版本,并查看变更日志和发布说明以了解每个版本的新功能。 此外,官方文档提供了详细的入门指南、连接快速入门和功能教程。
* [piccolo-orm/piccolo](https://github.com/piccolo-orm/piccolo) Piccolo是一个快速、易用的ORM和查询构建器,支持异步操作(asyncio)。它具有同步和异步支持、内置游乐场、Tab自动补全、包含用户模型、身份验证、迁移和管理GUI等功能,并支持创建模块化和可扩展的应用。Piccolo语法简洁易懂,既能像典型的ORM一样使用,也能作为查询构建器使用,支持PostgreSQL和SQLite数据库,并能快速搭建基于Starlette、FastAPI等框架的web应用。
* [tortoise/tortoise-orm](https://github.com/tortoise/tortoise-orm) Tortoise ORM是一个易于使用的基于asyncio的Python ORM,其设计灵感来自Django,注重关系型数据库操作。它提供简洁的API,方便开发者从同步ORM迁移到asyncio环境,并在基准测试中表现出色,与Pony ORM性能相当。Tortoise ORM支持SQLite、MySQL、PostgreSQL、Microsoft SQL Server和Oracle数据库,有效解决重复代码、SQL注入风险和数据规则管理等问题,提升开发效率和数据安全性。
* [teableio/teable](https://github.com/teableio/teable) Teable是一个基于 Postgres 的下一代 Airtable 替代方案,它提供了一个快速、实时、专业、开发者友好的无代码数据库。Teable 使用简单的类似电子表格的界面来创建复杂的企业级数据库应用程序,并通过无代码的方式解锁高效的应用程序开发,同时避免数据安全和可扩展性的障碍。Teable 提供模板中心、100 万行演示和 API 等功能,方便用户快速上手和体验。
* [oceanbase/oceanbase](https://github.com/oceanbase/oceanbase) 一个高可用、高性能、横向扩展、兼容SQL标准的企业级分布式关系数据库。蚂蚁集团从零开始构建的分布式关系 SQL 数据库。它具有高度可扩展性、弹性,可以同时处理事务和分析工作负载,并且与 MySQL 语法和功能高度兼容。OceanBase 可以部署在任何云中的虚拟机或本地物理主机上。同时,由于是多租户集群,用户可以实现数据库资源池化,提高效率。
* [ponyorm/pony](https://github.com/ponyorm/pony) PonyORM是一个高级对象关系映射器,它允许使用Python生成器表达式和lambda表达式编写数据库查询,并将其转换为SQL。它支持SQLite、MySQL、PostgreSQL和Oracle数据库,提供简洁的实体定义、简明的查询语言和交互式Python解释器环境,并具有易于理解的错误信息和可读的SQL输出,从而加快应用开发速度。此外,它还提供在线数据库设计工具和丰富的文档。
* [NicolasLM/bplustree](https://github.com/NicolasLM/bplustree) bplustree 是一个基于磁盘的 B+ 树 Python 3 库,它提供类似字典的操作,但数据存储在磁盘上。适用于数据量过大无法放入内存、需要持久化数据、需要保持键值顺序的情况。该库支持线程安全的多读单写模式,并使用预写日志 (WAL) 来确保数据安全,即使程序异常退出也能保证数据完整性。通过调整节点大小、页面大小等参数可以优化性能。
* [kayak/pypika](https://github.com/kayak/pypika) PyPika是一个Python SQL查询构建器,它使用反映最终查询的语法来展现SQL语言的全部丰富性,尤其擅长数据分析类型的SQL查询。它通过构建器模式构建查询,避免了混乱的字符串格式化和连接,并易于扩展以充分利用特定SQL数据库厂商的功能,提供快速、表达性和灵活的方式来替代手写的SQL,支持Python 3.6+版本,安装方式为`pip install pypika`。
* [igorbarinov/awesome-data-engineering](https://github.com/igorbarinov/awesome-data-engineering) 该项目是一个数据工程工具的精选列表,旨在帮助软件开发者找到合适的工具。它涵盖了数据库、数据比较、数据摄取、文件系统、序列化格式、流式处理、批处理、图表和仪表盘、工作流、数据湖管理、ELK、Docker、数据集、监控、分析、测试和社区等多个方面,并提供了一些具体工具的链接和介绍,例如MySQL、Redis、Cassandra、HBase等。
* [tursodatabase/libsql](https://github.com/tursodatabase/libsql) SQLite 的一个分支,它既是开源的,也是开放贡献的。由 Turso 创建和维护。我们的目标是改进它,以适应比SQLite最初设计的更多的用例,并计划在任何有意义的地方使用第三方OSS代码。特征:嵌入式副本,允许您在应用内复制数据库。用于远程 SQLite 访问的 libSQL 服务器,类似于 PostgreSQL 或 MySQL。支持 Rust、JavaScript、Python、Go 等。
* [apache/hadoop](https://github.com/apache/hadoop) Apache Hadoop是一个开源软件框架,用于分布式存储和处理大型数据集。它提供了Hadoop Distributed File System (HDFS) 用于存储数据,以及 MapReduce框架用于处理数据。Hadoop 允许用户在廉价的硬件集群上运行应用程序,并能够处理海量数据。 更多信息请访问官方网站 http://hadoop.apache.org/ 和维基 https://cwiki.apache.org/confluence/display/HADOOP/。
* [authzed/spicedb](https://github.com/authzed/spicedb) SpiceDB是一个开源的、受Google Zanzibar启发的数据库,用于可扩展地存储和查询细粒度的授权数据。它类似于关系型数据库,但使用gRPC API优化授权操作,并专注于授权而非身份验证。SpiceDB作为中心化服务,可用于解决OWASP 2021年报告中排名第一的Web安全威胁——访问控制漏洞,帮助团队实现与大型科技公司相同的安全水平。
* [encode/databases](https://github.com/encode/databases) Databases是一个Python库,提供对多种数据库的异步支持,使用强大的SQLAlchemyCore表达式语言进行查询,支持PostgreSQL、MySQL和SQLite数据库。它兼容多个异步Web框架,例如Starlette、Sanic等,并支持多种异步数据库驱动,例如asyncpg、aiopg等。通过简单的API即可连接数据库并执行查询操作,方便开发者构建异步数据库应用。
* [apache/cassandra](https://github.com/apache/cassandra) Apache Cassandra是一个高度可扩展的分区行存储数据库,它将数据分布在多台机器上,并通过主键对数据进行组织。Cassandra 使用类似SQL 的 CQL 语言进行数据操作,支持自动重新分区,并在集群中添加或移除机器时保持数据一致性。用户可以通过 CQL 语言进行数据读写操作,并使用 cqlsh 命令行工具与数据库交互。
* [apache/spark](https://github.com/apache/spark) 用于大规模数据处理的统一分析引擎。它提供了 Scala、Java、Python 和 R 中的高级 API,以及支持用于数据分析的一般计算图的优化引擎。它还支持一组丰富的高级工具,包括用于SQL和数据帧的Spark SQL,用于pandas工作负载的Spark上的pandas API,用于机器学习的MLlib,用于图形处理的GraphX和用于流处理的结构化流。
* [etcd-io/etcd](https://github.com/etcd-io/etcd) 分布式可靠的键值存储,用于存储分布式系统中最关键的数据,重点是:简单:定义明确、面向用户的 API (gRPC),安全:具有可选客户端证书身份验证的自动 TLS,快速:以 10,000 次写入/秒为基准,可靠:使用 Raft 正确分发。etcd 是用 Go 语言编写的,它使用 Raft 共识算法来管理一个高度可用的复制日志。
* [RobertCraigie/prisma-client-py](https://github.com/RobertCraigie/prisma-client-py) Prisma Client Python是一个易于使用的、自动生成的、完全类型安全的Python数据库客户端,基于Prisma构建。它支持同步和异步操作,并提供完整的类型安全性和强大的自动补全功能,简化数据库查询编写。该项目支持Prisma Migrate,并具有原子更新、复杂关联查询等特性,适用于任何需要数据库的Python后端应用。
* [PyMySQL/mysqlclient](https://github.com/PyMySQL/mysqlclient) mysqlclient是MySQL和MariaDB数据库的Python连接器,它是MySQLdb1的增强版,支持Python 3并修复了许多bug,可通过pip安装。Windows系统安装较为复杂,建议使用预编译的二进制轮文件;macOS和Linux系统则需要安装必要的依赖包,具体步骤请参考项目README。项目不提供技术支持,如有问题请参考README中提供的其他资源。
* [ledisdb/ledisdb](https://github.com/ledisdb/ledisdb) LedisDB是一个用Go语言编写的高性能NoSQL数据库服务器,类似于Redis但数据存储在磁盘上,支持KV、列表、哈希、有序集合、集合等多种数据结构。它支持LevelDB、goleveldb、RocksDB和内存多种后端存储,并提供Lua脚本支持、过期时间设置、redis-cli管理、HTTP API以及数据复制和修复工具,还支持集群和身份验证。
* [collerek/ormar](https://github.com/collerek/ormar) Ormar是一个基于Python的异步微型ORM,支持Postgres、MySQL和SQLite数据库,旨在与FastAPI框架配合使用,并利用Pydantic进行数据验证。它只有一个模型需要维护,简化了开发流程,可以直接用作FastAPI的请求和响应模型,并与fastapi-crudrouter和fastapi-pagination等库兼容,其底层依赖于SQLAlchemy Core、databases和Pydantic。
* [pynamodb/PynamoDB](https://github.com/pynamodb/PynamoDB) PynamoDB是Amazon DynamoDB的Python接口,提供简洁优雅的API,简化DynamoDB的复杂操作。它允许创建、查询和更新DynamoDB表,支持多种查询条件和索引,并提供详细文档和示例。通过简单的Python代码即可操作DynamoDB,例如创建模型、定义属性、创建表、查询数据等。注意1.6.0和3.0.1版本对UnicodeSetAttribute的修改。
* [ctripcorp/drc](https://github.com/ctripcorp/drc) 携程框架架构研发部数据中心组推出的用于数据双向或多向复制的数据库中间件,服务于异地多活项目,同时赋予了业务全球化的部署能力。为了做到真正的数据异地多活,实现MySQL同机房就近读写,机房故障时无需进行数据库DR操作,只进行流量切换,就需要引入数据实时双向(多向)复制组件。
* [vitessio/vitess](https://github.com/vitessio/vitess) Vitess是一个用于水平扩展MySQL的数据库集群系统,通过广义分片实现。它封装了分片路由逻辑,使应用代码和数据库查询与数据分布无关,并支持快速、原子化的分片拆分和合并。Vitess自2011年以来一直是YouTube数据库基础设施的核心组件,管理着数万个MySQL节点,并拥有活跃的社区和丰富的文档。
* [PyMySQL/PyMySQL](https://github.com/PyMySQL/PyMySQL) PyMySQL是一个纯Python编写的MySQL和MariaDB数据库客户端库,遵循PEP249规范。它支持Python 3.7+和PyPy 3.x,兼容MySQL 5.7+和MariaDB 10.4+。通过pip安装,并可根据需要安装额外的依赖项以支持不同的认证方式,例如sha256_password、caching_sha2_password和ed25519。项目提供在线文档和示例代码,方便用户快速上手使用。
* [surrealdb/surrealdb](https://github.com/surrealdb/surrealdb) 可扩展的、分布式的、协作的、文档图形数据库,用于实时 Web。端到端的云原生数据库,专为现代应用程序而设计,包括 Web、移动、无服务器、Jamstack、后端和传统应用程序。借助 SurrealDB,您可以简化数据库和 API 基础架构,缩短开发时间,并快速、经济高效地构建安全、高性能的应用程序。
* [PostgreSQL](https://www.postgresql.org/) 一个免费的开源关系数据库管理系统 (RDBMS),强调可扩展性和 SQL 合规性。它最初被命名为 POSTGRES,指的是它的起源是加州大学伯克利分校开发的 Ingres 数据库的继承者。一个功能强大的开源对象关系数据库系统,经过 30 多年的积极开发,在可靠性、功能稳健性和性能方面赢得了良好的声誉。
* [sqlalchemy/alembic](https://github.com/sqlalchemy/alembic) Alembic是SQLAlchemy的数据库迁移工具,它允许创建和应用数据库模式迁移脚本。通过生成可升级和降级的迁移脚本,Alembic支持事务性DDL操作,并提供最小化脚本构建、自动生成迁移以及SQL脚本输出等功能,方便开发者管理数据库模式的演变,即使在复杂的依赖关系下也能保证迁移的可靠性。
* [mongodb/mongo-python-driver](https://github.com/mongodb/mongo-python-driver) PyMongo是MongoDB官方提供的Python驱动程序,用于在Python中与MongoDB数据库交互,它包含bson(BSON格式实现)和gridfs(基于pymongo的gridfs实现)包。PyMongo支持MongoDB 4.0到8.0版本,可通过pip安装,并支持多种认证方式,如GSSAPI和MONGODB-AWS。 如有问题,请访问MongoDB官方支持渠道或StackOverflow寻求帮助。
* [ApsaraDB/PolarDB-for-PostgreSQL](https://github.com/ApsaraDB/PolarDB-for-PostgreSQL) 阿里云自主研发的云原生数据库服务。PolarDB-X 是一款面向超高并发、海量存储、复杂查询场景设计的云原生分布式数据库系统。其采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,具备企业级、云原生、高可用、高度兼容 MySQL 系统及生态等特点。
* [Wisser/Jailer](https://github.com/Wisser/Jailer) 数据库子集和关系数据浏览工具。Subsetter 从数据库中创建小切片(一致且引用完整),作为 SQL(拓扑排序)、DbUnit 记录或 XML。非常适合创建测试数据的小样本或使用相关生产数据进行本地问题分析。通过数据浏览器,您可以按照表之间的关系(基于外键或用户定义)浏览数据库。
* [opengauss-mirror/openGauss-server](https://github.com/opengauss-mirror/openGauss-server) openGauss是一个开源的关系型数据库管理系统,它基于 PostgreSQL 核心,并针对高性能、高可用性和安全性进行了优化。它提供丰富的功能,包括事务完整性、数据完整性、并发控制和恢复机制,适用于各种应用场景。openGauss 支持多种编程语言和工具,并提供丰富的文档和社区支持。
* [dbeaver/dbeaver](https://github.com/dbeaver/dbeaver) 面向开发人员、SQL 程序员、数据库管理员和分析师的免费多平台数据库工具。支持任何具有JDBC驱动程序的数据库(基本上意味着 - 任何数据库)。商业版本还支持非JDBC数据源,如MongoDB、Cassandra、Couchbase、Redis、BigTable、DynamoDB等。可以找到商业版本中支持的所有数据库的列表。
* [ibis-project/ibis](https://github.com/ibis-project/ibis) Ibis是一个轻便的Python数据框库,它使用DuckDB提供快速的本地数据框处理,并支持延迟数据框表达式和交互式数据探索。Ibis允许用户使用相同的API与20多个后端交互,只需一行代码即可在本地迭代和远程部署,从而实现代码的可移植性,并能混合使用Python数据框和SQL代码。
* [apache/mesos](https://github.com/apache/mesos) Apache Mesos是一个集群管理器,它提供高效的资源隔离和共享,可以跨多个分布式应用程序或框架运行。它可以在动态共享的节点池上运行Hadoop、Jenkins、Spark、Aurora等框架。该项目提供用户邮件列表、开发邮件列表和文档,并提供安装指南。Apache Mesos遵循Apache 2.0许可证。
* [MongoEngine/mongoengine](https://github.com/MongoEngine/mongoengine) MongoEngine是基于PyMongo的Python对象文档映射器(ODM),用于简化MongoDB数据库的访问。它提供类似ORM的接口,让开发者可以使用Python类来定义MongoDB文档结构,并进行增删改查等操作,支持MongoDB 3.6及以上版本。 项目提供了教程、用户指南和API参考文档,并依赖于pymongo等库。
* [apache/doris](https://github.com/apache/doris) 简单易用、高性能、统一的分析数据库。基于 MPP 架构的简单易用、高性能、实时的分析数据库,以其极快的速度和易用性而闻名。在海量数据下,只需亚秒级响应时间即可返回查询结果,不仅可以支持高并发的点查询场景,还可以支持高吞吐量的复杂分析场景。
* [flike/kingshard](https://github.com/flike/kingshard) Kingshard是一个用Go语言编写的高性能MySQL代理,性能约为直接连接MySQL的80%。它支持读写分离、SQL语句分片(支持hash、range和date分片),以及大多数常用SQL函数(如max, min, count, sum等),并支持事务、连接数限制、动态配置等功能,旨在简化MySQL分片方案。
* [golang-migrate/migrate](https://github.com/golang-migrate/migrate) 用 Go 编写的数据库迁移。用作 CLI 或作为库导入。Migrate 从源读取迁移,并按正确的顺序将其应用于数据库。驱动程序是“愚蠢的”,迁移将所有内容粘合在一起,并确保逻辑是无懈可击的。数据库驱动程序不会假设某些事情或尝试更正用户输入。
* [apple/foundationdb](https://github.com/apple/foundationdb) 分布式数据库,旨在跨商用服务器集群处理大量结构化数据。它将数据组织为有序的键值存储,并将 ACID 事务用于所有操作。它特别适用于读/写工作负载,但对于写入密集型工作负载也具有出色的性能。用户使用 API 语言绑定与数据库进行交互。
* [zhisheng17/flink-learning](https://github.com/zhisheng17/flink-learning) Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例,还有 Flink 落地应用的大型项目案例(PVUV、日志存储、百亿数据实时去重、监控告警)分享。
* [XiaoMi/Gaea](https://github.com/XiaoMi/Gaea) Gaea是小米公司研发的MySQL代理中间件,用于提升数据库性能和可用性,支持分库分表、SQL路由等特性,其设计参考了Mycat和KingSharded,并使用TiDB parser作为内部SQL解析器,具备高可用、读写分离等功能,旨在简化数据库管理和提高应用效率。
* [encode/orm](https://github.com/encode/orm) encode/orm是一个异步Python ORM,支持Postgres、MySQL和SQLite数据库。它基于SQLAlchemy core构建,并使用databases库实现跨数据库异步支持,以及typesystem库进行数据验证,方便使用Alembic进行数据库迁移,可以通过pip安装,并支持多种数据库驱动。
* [duckdb/duckdb](https://github.com/duckdb/duckdb) 进程内SQL OLAP数据库管理系统,高性能的分析数据库系统。它快速可靠、便携且易于使用。提供了丰富的SQL方言,其支持远远超出了基本的SQL。支持任意和嵌套的相关子查询、窗口函数、排序规则、复杂类型(数组、结构)等。
* [mongodb/mongo](https://github.com/mongodb/mongo) 文档数据库,旨在简化应用程序开发和扩展。借助基于领先的现代数据库构建的应用程序数据平台,更快地将您的想法推向市场。支持事务性、搜索、分析和移动使用案例,同时采用通用查询接口和开发人员喜爱的数据模型。
* [greenplum-db/gpdb](https://github.com/greenplum-db/gpdb) 基于 PostgreSQL 的高级、功能齐全的开源数据仓库。 它提供对 PB 级数据量的强大而快速的分析。 Greenplum Database 专门针对大数据分析,由世界上最先进的基于成本的查询优化器提供支持,可在大数据量上提供高分析查询性能。
* [pudo/dataset](https://github.com/pudo/dataset) dataset是一个易于使用的SQL数据库数据处理库,支持隐式建表、批量加载和事务处理,其核心功能是让数据库读写像操作JSON文件一样简单,安装方法为`pip install dataset`,注意1.0版本后数据导出功能已拆分为独立的datafreeze包。
* [pingcap/talent-plan](https://github.com/pingcap/talent-plan) 由 PingCAP 发起的开源培训计划。它旨在为对开源、分布式系统、Rust、Golang 和其他基础设施知识感兴趣的人创建或组合一些开源学习材料。因此,它提供了一系列专注于开源协作、rust 编程、分布式数据库和系统的课程。
* [alibaba/druid](https://github.com/alibaba/druid) 阿里云计算平台DataWorks团队出品,为监控而生的数据库连接池。一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件, 被大量业务和技术产品使用或集成,经历过最严苛线上业务场景考验,是你值得信赖的技术产品。
* [dolthub/dolt](https://github.com/dolthub/dolt) 一个 SQL 数据库,您可以像 Git 存储库一样对其进行分叉、克隆、分支、合并、推送和拉取。连接到 Dolt 就像连接到任何 MySQL 数据库以读取或修改架构和数据一样。版本控制功能通过系统表、函数和过程在 SQL 中公开。
* [readysettech/readyset](https://github.com/readysettech/readyset) Readyset 是一个 MySQL 和 Postgres 线路兼容的缓存层,位于现有数据库的前面,以加速查询并水平扩展读取吞吐量。在后台,ReadySet 缓存缓存的 select 语句的结果,并随着基础数据的变化随着时间的推移逐步更新这些结果。
* [binhnguyennus/awesome-scalability](https://github.com/binhnguyennus/awesome-scalability) 一个更新和有组织的阅读列表,用于说明可扩展、可靠和高性能的大型系统的模式。概念在著名工程师的文章和可靠的参考文献中进行了解释。案例研究取自为数百万至数十亿用户提供服务的经过实战考验的系统。
* [TurboWay/bigdata_analyse](https://github.com/TurboWay/bigdata_analyse) 大数据分析项目,包括1 亿条淘宝用户行为分析 、1000 万条淘宝用户行为 、300 万条《野蛮时代》的玩家 、130 万条深圳通刷卡、10 万条厦门招聘、7000 条租房、6000 条倒闭企业、COVID-19 疫情、7 万条天猫订单数据
* [m3o/m3o](https://github.com/m3o/m3o) 一个云平台,它将现有的公共 API 变成更小更易于使用的微服务,您可以在一个地方探索、发现和使用更简单的可编程构建块。该平台生成统一的 API 文档、客户端和示例,这使得使用所有 API 变得更加容易。
* [rqlite/rqlite](https://github.com/rqlite/rqlite) 关系数据库,它结合了 SQLite 的简单性和健壮、容错的分布式系统的强大功能。它专为易于部署和轻量级操作而设计,为 Linux、macOS 和 Win 以及各种 CPU 平台提供开发人员友好且以操作员为中心的解决方案。
* [pingcap/tidb](https://github.com/pingcap/tidb) 开源、云原生、分布式、MySQL 兼容数据库,用于弹性扩展和实时分析。开源分布式SQL数据库,支持混合事务和分析处理(HTAP)工作负载。它与 MySQL 兼容,并具有水平可扩展性、强一致性和高可用性。
* [dotnet/efcore](https://github.com/dotnet/efcore) .NET 的新式对象数据库映射器。它支持 LINQ 查询、更改跟踪、更新和架构迁移。EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 和其他数据库配合使用。
* [dgraph-io/badger](https://github.com/dgraph-io/badger) 可嵌入的、持久的、快速的键值 (KV) 数据库,用纯 Go 编写。它是 Dgraph 的基础数据库,Dgraph 是一个快速的分布式图形数据库。它旨在成为非基于 Go 的键值存储(如 RocksDB)的高性能替代方案。
* [BeanieODM/beanie](https://github.com/BeanieODM/beanie) Beanie是一个异步的Python对象文档映射器(ODM),用于MongoDB数据库,基于Pydantic模型构建数据模型,支持数据和模式迁移,提供简洁的API用于数据库操作(增删改查),并通过示例展示了其易用性。
* [ctripcorp/x-pipe](https://github.com/ctripcorp/x-pipe) 携程框架部门研发的Redis多数据中心复制管理系统。基于Redis的Master-Slave复制协议,实现低延时、高可用的Redis多中心、跨公网数据复制,并且提供一键机房切换,复制监控、异常报警等功能。
* [sosedoff/pgweb](https://github.com/sosedoff/pgweb) PostgreSQL 数据库的跨平台客户端,基于 Web 的 PostgreSQL 数据库浏览器,用 Go 编写,适用于 Mac、Linux 和 Windows 机器。作为零依赖关系的简单二进制文件分发。非常易于使用,并包含适量的功能。
* [mongodb/motor](https://github.com/mongodb/motor) Motor是MongoDB的异步Python驱动程序,支持asyncio和Tornado框架,提供基于协程的非阻塞MongoDB访问API,适用于高吞吐量环境,可充分利用现代硬件资源。 它依赖于pip安装,并需要Unix/Windows系统。
* [hhyo/Archery](https://github.com/hhyo/Archery) [archer](https://github.com/jly8866/archer)的分支项目,定位于SQL审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作
* [madd86/awesome-system-design](https://github.com/madd86/awesome-system-design) 分布式计算(又名大数据)的精彩系统设计文章、视频和资源的精选列表。无论您是在准备面试,还是想设计面向分布式/微服务的应用程序,此列表都一定会帮助您实现这一目标。
* [MariaDB](https://mariadb.org/) MySQL的社区开发、商业支持的分支,旨在在 GNU 通用公共许可证下保持免费和开源软件。开发由 MySQL 的一些原始开发人员领导,由于担心 2009 年被甲骨文公司收购,他们将其分叉。
* [apache/hudi](https://github.com/apache/hudi) 基于Hadoop兼容的存储,提供了Update/Delete Record、Change Streams 将HDFS和Hudi结合起来,提供对流处理的支持能力。如:支持记录级别的更新、删除,以及获取基于HDFS之上的Change Streams。
* [baidu/BaikalDB](https://github.com/baidu/BaikalDB) 分布式HTAP数据库 支持PB级结构数据的顺序和随机实时读取/写入。 B与MySQL协议兼容,并且支持MySQL样式SQL方言,通过该方言,用户可以将其数据存储从MySQL无缝迁移到BaikalDB。
* [coleifer/peewee](https://github.com/coleifer/peewee) 小型的、富有表现力的 ORM -- 支持 PostgreSQL、MySQL、SQLite 和 CockroachDB,ORM是对象关系映射,用于把面向对象的概念和数据库中的表的概念对应起来,方便编程和操作。
* [MyCATApache/Mycat-Server](https://github.com/MyCATApache/Mycat-Server) Java语言编写的MySQL数据库网络协议的开源中间件, 它支持分布式SQL查询,兼容MySQL通信协议,以Java生态支持多种后端数据库,通过数据分片提高数据查询处理能力。
* [realm/realm-swift](https://github.com/realm/realm-swift) 一个移动数据库,直接运行在手机、平板电脑或可穿戴设备中。这个仓库保存了 iOS、macOS、tvOS 和 watchOS 版本的 Realm Swift 和 Realm Objective-C 的源代码。
* [questdb/questdb](https://github.com/questdb/questdb) 用于快速摄取和 SQL 查询的开源时间序列数据库。QuestDB 非常适合金融市场数据、物联网传感器数据、应用程序指标、实时仪表板和快速分析。
* [grafana/grafana](https://github.com/grafana/grafana) 开放、可组合的可观测性和数据可视化平台。可视化来自多个来源的指标、日志和跟踪,如 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres 等等。
* [arangodb/arangodb](https://github.com/arangodb/arangodb) 原生多模型数据库,具有用于文档、图形和键值的灵活数据模型。使用方便的类似 SQL 的查询语言或 JavaScript 扩展构建高性能应用程序。
* [spotify/luigi](https://github.com/spotify/luigi) Luigi 是一个 Python 模块,可帮助您构建复杂的批处理作业管道。它处理依赖关系解析、工作流管理、可视化等。它还内置了Hadoop支持。
* [FerretDB/FerretDB](https://github.com/FerretDB/FerretDB) MongoDB 事实上的开源替代品。FerretDB 是一个开源代理,使用 PostgreSQL 或 SQLite 作为数据库引擎,将 MongoDB 5.0+ 有线协议查询转换为 SQL。
* [trinodb/trino](https://github.com/trinodb/trino) Trino 的官方存储库,用于大数据的分布式 SQL 查询引擎,以前称为 PrestoSQL。Trino 是一个用于大数据分析的快速分布式 SQL 查询引擎。
* [PrefectHQ/prefect](https://github.com/PrefectHQ/prefect) 工作流引擎。设计初衷是为了处理现代数据堆栈所需的动态、可扩展的工作负载。它由全新的异步规则引擎 Prefect Orion 提供支持。
* [alibaba/havenask](https://github.com/alibaba/havenask) 阿里巴巴自研的大规模分布式检索系统。支持千亿级数据实时检索,百万QPS查询,百万TPS写入,毫秒级查询延迟与秒级数据更新。
* [github/gh-ost](https://github.com/github/gh-ost) MySQL 的无触发在线模式迁移解决方案。它是可测试的,并提供可暂停性、动态控制/重新配置、审计和许多操作特权。
* [risingwavelabs/risingwave](https://github.com/risingwavelabs/risingwave) 用于流处理、分析和管理的可扩展 Postgres。KsqlDB 和 Apache Flink 替代方案。生产率提高 10 倍。成本效益提高 10 倍。
* [donnemartin/awesome-aws](https://github.com/donnemartin/awesome-aws) 精选的亚马逊云科技 (AWS) 库、开源存储库、指南、博客和其他资源列表。以 AWSome 的火热仪表为特色。
* [bigchaindb/bigchaindb](https://github.com/bigchaindb/bigchaindb) 区块链数据库。它具有一些数据库特征和一些区块链属性,包括去中心化、不变性和对资产的原生支持。
* [mirage/irmin](https://github.com/mirage/irmin) 分布式数据库,遵循与 Git 相同的设计原则。OCaml 库,用于构建可合并、可分支的分布式数据存储。
* [beekeeper-studio/beekeeper-studio](https://github.com/beekeeper-studio/beekeeper-studio) 适用于 MySQL、Postgres、SQLite、SQL Server 等的现代且易于使用的 SQL 客户端。Linux、MacOS 和 Windows。
* [google/leveldb](https://github.com/google/leveldb) 一个在Google编写的快速键值存储库,它提供了从字符串键到字符串值的有序映射。
* [opencurve/curve](https://github.com/opencurve/curve) 网易自主设计研发的高性能、高可用、高可靠分布式存储系统,具有良好扩展性。
* [ApsaraDB/galaxyengine](https://github.com/ApsaraDB/galaxyengine) GalaxyEngine 是源自阿里巴巴集团的 MySQL 分支,特别支持大型分布式数据库系统。
* [pouchdb/pouchdb](https://github.com/pouchdb/pouchdb) 开源的 JavaScript 数据库,其灵感来自 Apache CouchDB,旨在在浏览器中运行良好。
* [byzer-org/byzer-lang](https://github.com/byzer-org/byzer-lang) Byzer(前 MLSQL):一种用于数据管道、分析和 AI 的低代码开源编程语言。
* [wangzhiwubigdata/God-Of-BigData](https://github.com/wangzhiwubigdata/God-Of-BigData) 专注大数据学习面试,大数据成神之路开启。Flink/Spark/Hadoop/Hbase/Hive...
* [edgedb/edgedb](https://github.com/edgedb/edgedb) 具有声明性架构、内置迁移系统和下一代查询语言的图关系数据库
* [facebookincubator/velox](https://github.com/facebookincubator/velox) 旨在优化查询引擎和数据处理系统的 C++ 矢量化数据库加速库。
* [timescale/tsbs](https://github.com/timescale/tsbs) 时间序列基准套件,用于比较和评估时间序列数据数据库工具
* [oceanbase/miniob](https://github.com/oceanbase/miniob) 紧凑的数据库,可帮助开发人员了解数据库的基本工作原理。
* [newTendermint/awesome-bigdata](https://github.com/newTendermint/awesome-bigdata) 令人敬畏的大数据框架、资源和其他令人敬畏的精选列表。
* [XiaoMi/soar](https://github.com/XiaoMi/soar) SQL Optimizer And Rewriter是对 SQL进行优化改写的自动化工具。
* [postgresml/pgcat](https://github.com/postgresml/pgcat) 具有分片、负载平衡和故障转移支持的 PostgreSQL 池化器。
* [ClickHouse/ClickHouse](https://github.com/ClickHouse/ClickHouse) 开源极速列式数据库系统,允许实时生成数据分析报告。
* [meta-soul/LakeSoul](https://github.com/meta-soul/LakeSoul) 基于数据湖的表结构存储,统一批处理和流式数据处理
* [Qihoo360/Atlas](https://github.com/Qihoo360/Atlas) MySQL的高性能稳定代理,由奇虎DBA和基础架构团队开发
* [digoal/blog](https://github.com/digoal/blog) 关于数据库,业务的一切。(大多数用于PostgreSQL)。
* [alibaba/otter](https://github.com/alibaba/otter) 阿里巴巴分布式数据库同步系统(解决中美异地机房)
* [ApsaraDB/galaxysql](https://github.com/ApsaraDB/galaxysql) GalaxySQL 是 PolarDB-X 的计算节点(CN, Compute Node)。
* [scylladb/scylladb](https://github.com/scylladb/scylladb) NoSQL数据存储使用seastar框架,与Apache Cassandra兼容
* [apache/airflow](https://github.com/apache/airflow) 一个以编程方式编写,安排和监视工作流的平台
* [qiurunze123/miaosha](https://github.com/qiurunze123/miaosha) 秒杀系统设计与实现.互联网工程师进阶与分析
* [apache/shardingsphere](https://github.com/apache/shardingsphere) Distributed database middleware 分布式数据库中间件
* [realm/realm-java](https://github.com/realm/realm-java) 移动数据库:SQLite 和 ORM 的替代品,java版
* [xephonhq/awesome-time-series-database](https://github.com/xephonhq/awesome-time-series-database) 精选的时间序列数据库、基准和论文列表
* [Qihoo360/Quicksql](https://github.com/Qihoo360/Quicksql) 体系结构图可帮助您更轻松地访问 Quicksql
* [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) golang写的数据库/sql 包的 MySQL 驱动程序
* [avinassh/fast-sqlite3-inserts](https://github.com/avinassh/fast-sqlite3-inserts) 1分钟插入10亿行数据,写脚本请使用Rust
* [canonical/dqlite](https://github.com/canonical/dqlite) 可嵌入、复制和故障耐受性 SQL 引擎。
* [Sequel-Ace/Sequel-Ace](https://github.com/Sequel-Ace/Sequel-Ace) 适用于 macOS 的 MySQL/MariaDB 数据库管理
* [akopytov/sysbench](https://github.com/akopytov/sysbench) 可编写脚本的数据库和系统性能基准
* [typicode/lowdb](https://github.com/typicode/lowdb) 简单易用的类型安全本地 JSON 数据库
* [pingcap/awesome-database-learning](https://github.com/pingcap/awesome-database-learning) 了解数据库内部结构的学习材料清单
* [Tencent/wwsearch](https://github.com/Tencent/wwsearch) 企业微信后台自研的全文检索引擎
* [cockroachdb/cockroach](https://github.com/cockroachdb/cockroach) 开源的云原生分布式SQL数据库。
* [seata/seata](https://github.com/seata/seata) 简单可扩展的自主事务体系结构
* [orbitdb/orbitdb](https://github.com/orbitdb/orbitdb) 去中心化网络的点对点数据库
* [cstack/db_tutorial](https://github.com/cstack/db_tutorial) 用 C 从头开始编写 sqlite 克隆
* [alchemystar/Freedom](https://github.com/alchemystar/Freedom) 自己DIY一个具有ACID的数据库
* [mongodb/mongo-go-driver](https://github.com/mongodb/mongo-go-driver) MongoDB 的官方 Golang 驱动程序
* [Meituan-Dianping/SQLAdvisor](https://github.com/Meituan-Dianping/SQLAdvisor) 输入SQL,输出索引优化建议
* [apache/incubator-shardingsphere](https://github.com/apache/incubator-shardingsphere) 分布式数据库中间件生态圈
* [cookieY/Yearning:](https://github.com/cookieY/Yearning) 一个最流行的mysql审计平台
* [openark/orchestrator](https://github.com/openark/orchestrator) MySQL 复制拓扑管理和 HA
* [heibaiying/BigData-Notes](https://github.com/heibaiying/BigData-Notes) 大数据入门指南
## 数据搜索引擎
* [apache/pinot](https://github.com/apache/pinot) Apache Pinot是一个实时分布式 OLAP 数据存储系统,旨在提供可扩展的实时分析,并具有低延迟特性。它可以从批处理数据源(如 Hadoop HDFS、Amazon S3、Azure ADLS、Google Cloud Storage)以及流数据源(如 Apache Kafka)中摄取数据。Pinot 由 LinkedIn 和 Uber的工程师构建,旨在实现无上限的横向扩展。性能始终保持稳定,取决于集群的大小和预期的每秒查询数(QPS)阈值。Pinot 能够在毫秒级延迟内过滤和聚合 PB 级数据,并支持各种数据源和查询类型。它最初在 LinkedIn 开发,用于支持各种用户界面分析应用程序,例如 "谁浏览了我的个人资料"、"公司分析" 和 "人才洞察"。UberEats 餐厅经理是另一个面向客户的分析应用程序示例。在 LinkedIn,Pinot 为 50 多个面向用户的产品提供支持,每秒摄取数百万个事件,并以毫秒级延迟每秒处理 10 万个以上的查询。
* [openobserve/openobserve](https://github.com/openobserve/openobserve) 简化10倍,存储成本降低140 倍,高性能,PB级 - Elasticsearch/Splunk/Datadog 替代(日志、指标、跟踪)。OpenObserve(简称 O2)是一个云原生可观测性平台,专为日志、指标、跟踪、分析、RUM(真实用户监控 - 性能、错误、会话回放)而构建,旨在以 PB 级规模工作。它简单易用,与需要理解和调整大量设置的 Elasticsearch 形成鲜明对比。在 2 分钟内启动并运行 OpenObserve。OpenObserve 是 Elasticsearch 的无缝替代品,适用于使用 API 采集数据并执行搜索的用户。OpenObserve 自带用户界面,无需单独安装。与 Elasticsearch 相比,使用 OpenObserve,您可以将日志存储成本降低 ~140 倍。下面,我们将介绍使用 Fluent Bit 将日志从生产 Kubernetes 集群推送到 Elasticsearch 和 OpenObserve 的结果。
* [quickwit-oss/quickwit](https://github.com/quickwit-oss/quickwit) 用于可观测性的云原生搜索引擎。Datadog、Elasticsearch、Loki 和 Tempo 的开源替代品。特征:全文搜索和聚合查询;兼容 Elasticsearch 的 API,将 Quickwit 与任何 Elasticsearch 或 OpenSearch 客户端配合使用;Jaeger 本地;用于日志和跟踪的 OTEL 原生;无架构或严格架构索引;无模式分析;云存储(Amazon S3、Azure Blob Storage、Google Cloud Storage 等)的亚秒级搜索;解耦计算和存储、无状态索引器和搜索器;Grafana 数据源;RESTful API。企业就绪:多个数据源 Kafka / Kinesis / Pulsar 原生;多租户,使用多个索引和分区进行索引;保留策略;删除任务(适用于 GDPR 用例);分布式且高度可用*的引擎,可在几秒钟内横向扩展(*HA 索引仅适用于 Kafka);
* [elastic/elasticsearch-dsl-py](https://github.com/elastic/elasticsearch-dsl-py) elasticsearch-dsl-py是一个高级Python客户端,用于简化Elasticsearch查询的编写和执行。它基于官方低级客户端elasticsearch-py,提供更方便、更符合Python风格的查询方式,并与Elasticsearch JSON DSL保持一致。该库支持定义映射、检索和保存文档,并提供可选的Python对象包装器,同时兼容Elasticsearch 2.x及以上版本(需匹配主版本号),例如Elasticsearch 8.x需使用8.x.y版本的库。 通过pip install elasticsearch-dsl安装。
* [paradedb/paradedb](https://github.com/paradedb/paradedb) ParadeDB是一个基于 Postgres 的 Elasticsearch 替代方案,它以 Postgres 为基础,提供类似 Elasticsearch 的实时搜索和分析功能。该项目正在开发中,目前已实现全文本搜索、密集和稀疏向量搜索以及针对数据湖和表格格式的快速分析功能。用户可以通过 Docker 镜像或 Kubernetes Helm图表部署 ParadeDB,并使用其提供的扩展功能。项目还提供详细的文档和社区支持。
* [hound-search/hound](https://github.com/hound-search/hound) Hound是一个极速的源码搜索引擎,其核心基于Russ Cox的基于三元组索引的正则表达式匹配算法。它采用Go语言编写后端,React编写前端,通过维护每个代码库的实时索引并提供最小化的API接口实现快速搜索。 用户可通过简单的配置(例如`config.json`)添加代码库,并通过`houndd`命令启动服务,默认访问地址为http://localhost:6080。Hound也支持Docker部署。
* [amazon-science/esci-data](https://github.com/amazon-science/esci-data) 一个困难搜索查询的大型数据集,旨在促进查询和产品语义匹配领域的研究。对于每个查询,数据集提供最多 40 个潜在相关结果的列表,以及 ESCI 相关性判断(精确、替代、补充、不相关),指示产品与查询的相关性。每个查询产品对都附有其他信息。数据集是多语言的,因为它包含英语、日语和西班牙语的查询。
* [chrismattmann/tika-python](https://github.com/chrismattmann/tika-python) Tika-Python 是与 Apache Tika REST 服务的 Python 绑定,允许在 Python 社区中本地调用 Tika™。Apache Tika 是一个内容分析工具包,可以检测上千种文件类型,并提取它们的元数据和文本。tika在设计上十分精巧,单一的接口使它易于使用,在搜索引擎索引,内容分析,翻译等诸多方面得到了广泛使用。
* [elastic/elasticsearch-py](https://github.com/elastic/elasticsearch-py) Elasticsearch-py是Elasticsearch的官方Python客户端,提供数据类型转换、集群节点自动发现、持久连接、负载均衡、错误连接惩罚、TLS和HTTP认证等功能,支持线程安全和可插拔架构,方便Python开发者与Elasticsearch进行交互,包含创建、索引、获取、搜索、更新和删除文档等常用操作。
* [olivere/elastic](https://github.com/olivere/elastic) 该项目是一个Go语言编写的Elasticsearch客户端,已被弃用,建议使用官方的Elasticsearch Go客户端(https://github.com/elastic/go-elasticsearch)。它曾支持多个Elasticsearch版本,但不同版本需使用不同的包管理方式,例如Go modules或dep。 项目提供详细的版本对应关系和使用说明。
* [NLPchina/elasticsearch-sql](https://github.com/NLPchina/elasticsearch-sql) Elasticsearch-SQL项目允许使用熟悉的 SQL 语法查询 Elasticsearch,并支持在 SQL 中使用ES 函数。该项目已不再积极开发,建议使用官方的 x-pack-sql 或 OpenDistro for Elasticsearch SQL。项目提供多种 Elasticsearch 版本的插件,支持从 1.x 到 8.x 版本,并提供Web 前端界面。
* [typesense/typesense](https://github.com/typesense/typesense) Algolia + Pinecone 的开源替代品和 ElasticSearch 的更易于使用的替代品。 快速、容错、内存模糊搜索引擎,用于构建令人愉悦的搜索体验
* [deviantony/docker-elk](https://github.com/deviantony/docker-elk) 由Docker和Compose提供支持的Elastic stack(ELK)。使用 Elasticsearch 的搜索/聚合功能和 Kibana 的可视化功能来分析任何数据集。
* [searxng/searxng](https://github.com/searxng/searxng) 免费的互联网元搜索引擎,它汇总了来自各种搜索服务和数据库的结果。既不会跟踪用户,也不会对用户进行分析。
* [appbaseio/dejavu](https://github.com/appbaseio/dejavu) Elasticsearch 缺少的 Web UI:使用丰富的过滤器和查询视图导入、浏览和编辑数据,直观地创建搜索 UI。
* [valeriansaliou/sonic](https://github.com/valeriansaliou/sonic) 快速、轻量级和无模式的搜索后端。Elasticsearch的替代方案,运行在几MB的RAM上。
* [RediSearch/RediSearch](https://github.com/RediSearch/RediSearch) Redis的查询和索引引擎,提供二级索引,全文搜索,矢量相似性搜索和聚合。
* [opensearch-project/OpenSearch](https://github.com/opensearch-project/OpenSearch) 开源分布式和 RESTful 搜索引擎。Elasticsearch 和 Kibana 的社区驱动的开源分支
* [medcl/elasticsearch-analysis-ik](https://github.com/medcl/elasticsearch-analysis-ik) IK 分析插件将 Lucene IK 分析器集成到 elasticsearch 中,支持自定义词典。
* [alibaba/Chat2DB](https://github.com/alibaba/Chat2DB) 智能且通用的SQL客户端和数据库报告工具,集成了ChatGPT功能。
* [zincsearch/zincsearch](https://github.com/zincsearch/zincsearch) 轻量级elasticsearch 替代方案,需要最少的资源,用 Go 编写。
* [oramasearch/orama](https://github.com/oramasearch/orama) 快速、内存中、容错、用 TypeScript 编写的全文搜索引擎。
* [quickwit-oss/tantivy](https://github.com/quickwit-oss/tantivy) 一个全文搜索引擎库,灵感来自Apache Lucene,用Rust编写。
* [benbusby/whoogle-search](https://github.com/benbusby/whoogle-search) 一个自托管、无广告、尊重隐私的元搜索引擎
* [nextapps-de/flexsearch](https://github.com/nextapps-de/flexsearch) 适用于浏览器和Nodejs的下一代js全文搜索库
* [elastic/elasticsearch](https://github.com/elastic/elasticsearch) 免费开放、分布式、RESTful 搜索引擎
* [GerevAI/gerev](https://github.com/GerevAI/gerev) 人工智能驱动的企业搜索引擎
* [apache/lucene-solr](https://github.com/apache/lucene-solr) Apache Lucene和Solr开源搜索软件
* [searx/searx](https://github.com/searx/searx) 尊重隐私的元搜索引擎
# 安全与渗透
## webshell_shellcode
* [sandboxie-plus/Sandboxie](https://github.com/sandboxie-plus/Sandboxie) Sandboxie Plus &Classic 是一个基于沙箱的隔离软件,适用于 32 位和 64 位的 Windows NT 操作系统。它创建一个沙箱式的隔离操作环境,应用程序可以在其中运行或安装,而不会永久修改本地和映射驱动器或 Windows 注册表。隔离的虚拟环境允许对不受信任的程序和网络浏览进行受控测试。Sandboxie 允许您创建无限数量的沙箱,并单独或同时运行它们,以将程序与主机和彼此隔离,同时还允许您在单个沙箱中同时运行任意数量的程序。Sandboxie Plus 提供现代的 Qt 基于的 UI,支持自项目开源以来添加的所有新功能,包括快照管理器、维护模式、便携模式、更多自定义选项以及隐私模式和安全增强模式沙箱。请注意,这是一个社区分支,是在 Sandboxie 源代码发布后进行的,不是之前开发的官方延续。
* [Idov31/FunctionStomping](https://github.com/Idov31/FunctionStomping) shellcode 注入技术。以 C++ 头文件、独立的 Rust 程序或库的形式给出。web shell 使用PHP、Python、Ruby 等编程语言编写的恶意代码,可以上传到网站以访问存储在该网站上的文件。一旦它被上传,黑客可以利用它来编辑,删除或下载网站上的任何文件,或上传他们自己想要的文件或程式码。shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制之机械码,以其经常让攻击者获得shell而得名。shellcode常常使用机器语言编写,由于现代电脑系统基本上启用NX位元保护使得机械码无法直接执行,可透过返回导向编程编写shellcode。
* [malwaredllc/byob](https://github.com/malwaredllc/byob) BYOB是一个开源的后渗透框架,专为学生、研究人员和开发人员设计,它包含命令与控制服务器、自定义有效负载生成器和12个后渗透模块,允许用户轻松实现自己的代码并添加新功能。该项目包含一个基于控制台的应用程序和一个Web GUI,Web GUI提供了一个控制面板,用于管理客户端机器,并包含一个交互式地图和一个仪表盘。BYOB还提供了一个有效负载生成器,使用Docker容器和Wine服务器来编译各种平台的有效负载,并使用AES-256加密网络通信。此外,Web GUI还包含一个浏览器终端模拟器,允许用户直接访问shell。
* [VirtualAlllocEx/DEFCON-31-Syscalls-Workshop](https://github.com/VirtualAlllocEx/DEFCON-31-Syscalls-Workshop) 该项目是DEF CON 31研讨会 "(In)direct Syscalls: AJourney from High to Low" 的所有材料,包含理论知识和练习手册,以及用于练习的POC。项目旨在帮助理解Win32 APIs、Native APIs、直接系统调用和间接系统调用以及调用栈在shellcode执行和EDR规避中的作用。项目使用尽可能少的工具,手动完成尽可能多的工作,以帮助学习者掌握基础知识。项目内容主要来自ired.team和x64dbg,并感谢众多信息安全社区成员对系统调用研究的贡献。
* [TheWover/donut](https://github.com/TheWover/donut) Donut是一个开源的Shellcode生成器,可以将VBScript、JScript、EXE、DLL文件和.NET程序集加载到内存中并执行。它支持多种功能,包括文件压缩、API哈希熵、128位对称加密、覆盖原生PE头、存储原生PE到MEM_IMAGE内存、修复反恶意软件扫描接口(AMSI)和Windows锁定策略(WLDP)、修复事件跟踪(ETW)、修复命令行、修复退出相关API以防止宿主进程终止,以及多种输出格式。Donut还提供Linux和Windows的动态和静态库,以及Python扩展。
* [d3ckx1/Fvuln](https://github.com/d3ckx1/Fvuln) Find-Vulnerability是为了自己工作方便专门编写的一款自动化工具,主要适用于日常安全服务、渗透测试人员和RedTeam红队人员,它集合的功能包括:存活IP探测、开放端口探测、web服务探测、web漏洞扫描、smb爆破、ssh爆破、ftp爆破、mssql爆破等其他数据库爆破工作以及大量web漏洞检测模块。
* [tennc/webshell](https://github.com/tennc/webshell) 这是一个webshell开源项目,提供各种常见语言(如asp,aspx,php,jsp,pl,py)的webshell样本。项目旨在帮助安全研究人员学习和测试webshell,但请勿用于非法目的。项目作者建议用户自行修改webshell名称和密码,并注意安全风险。项目还提供了一些其他webshell项目的链接,供用户参考。
* [SpiderLabs/ModSecurity](https://github.com/SpiderLabs/ModSecurity) 由 Trustwave 的 SpiderLabs 开发的适用于 Apache、IIS 和 Nginx 的开源跨平台 Web 应用程序防火墙 (WAF) 引擎。它具有强大的基于事件的编程语言,可防止针对 Web 应用程序的一系列攻击,并允许 HTTP 流量监控、日志记录和实时分析
* [juice-shop/juice-shop](https://github.com/juice-shop/juice-shop) OWASP Juice Shop:可能是最现代、最复杂的不安全 Web 应用程序,它可以用于安全培训、意识演示、CTF,也可以用作安全工具的白鼠!Juice Shop 包含来自整个 OWASP Top Ten 的漏洞,以及在实际应用程序中发现的许多其他安全漏洞!
* [epinna/weevely3](https://github.com/epinna/weevely3) 为后期开发目的而设计的 web shell,可以在运行时通过网络进行扩展。将它上传到目标服务器以获取对其的远程 shell 访问。它有 30 多个模块来协助管理任务、维护访问、提供态势感知、提升权限以及传播到目标网络。
* [0e0w/PassivesScan](https://github.com/0e0w/PassivesScan) 《被动扫描资源汇总》被动扫描一般是根据代理的流量中特定参数进行简单粗暴的发起请求。有些漏洞通过主动扫描很难发现,必须通过被动扫描实现。被动扫描结合爬虫技术往往是漏洞扫描的最优解。
* [tarunkant/Gopherus](https://github.com/tarunkant/Gopherus) 如果您知道某个地方容易受到 SSRF 攻击,此工具将帮助您生成 Gopher 有效负载,以利用 SSRF(服务器端请求伪造)并获得 RCE(远程代码执行)。它还将帮助您在受害者服务器上获取反向外壳。
* [HatBoy/Struts2-Scan](https://github.com/HatBoy/Struts2-Scan) Struts2全漏洞扫描利用工具 支持的漏洞如下: S2-001, S2-003, S2-005, S2-007, S2-008, S2-009, S2-012, S2-013, S2-015, S2-016, S2-019, S2-029, S2-032, S2-033, S2-037, S2-045, S2-046, S2-048, S2-052, S2-053, S2-devMode, S2-057
* [chroblert/WindowsVulnScan](https://github.com/chroblert/WindowsVulnScan) 基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免database is locked的错误,采用md5哈希算法确保数据不重复插入。
* [bdamele/icmpsh](https://github.com/bdamele/icmpsh) 简单的反向 ICMP shell,win32 从站和一个 C、Perl 或 Python 中的 POSIX 兼容主站。它不需要管理权限即可在目标机器上运行。
* [LoRexxar/Kunlun-M](https://github.com/LoRexxar/Kunlun-M) 完全开源的静态白盒扫描工具,支持PHP、JavaScript的语义扫描,基础安全、组件安全扫描,Chrome ExtSolidity的基础扫描。
* [Axx8/ShellCode_Loader](https://github.com/Axx8/ShellCode_Loader) Msf&CobaltStrike免杀ShellCode加载器、免杀Shellcode加密生成工具,目前测试免杀360&火绒&电脑管家&Windows Defender
* [dionach/CMSmap](https://github.com/Dionach/CMSmap) 开源 CMS 扫描程序,它可以自动检测最流行的 CMS 的安全漏洞。支持的 CMS 有 WordPress、Joomla、Drupal 和 Moodle。
* [greenbone/openvas-scanner](https://github.com/greenbone/openvas-scanner) Greenbone 社区版的扫描仪组件 一个功能齐全的扫描引擎,可执行持续更新和扩展的漏洞测试 (VT) 馈送。
* [sting8k/BurpSuite_403Bypasser](https://github.com/sting8k/BurpSuite_403Bypasser) 绕过 403 限制目录的 burpsuite 扩展。 通过使用 PassiveScan,每个 403 请求都会被这个扩展自动扫描。
* [API-Security/APIKit](https://github.com/API-Security/APIKit) 主动/被动扫描发现应用泄露的API文档,并将API文档解析成BurpSuite中的数据包用于API安全测试。
* [JoelGMSec/PyShell](https://github.com/JoelGMSec/PyShell) 多平台 Python WebShell。此工具可帮助您在 Web 服务器上获得类似 shell 的界面以进行远程访问。
* [OWASP/wstg](https://github.com/OWASP/wstg) 《Web 安全测试指南》是用于测试 Web 应用程序和 Web 服务安全性的综合开源指南。
* [1N3/Sn1per](https://github.com/1N3/Sn1per) 自动侦察扫描程序,用于发现资产并用最新开源工具和技术扫描漏洞。
* [ajinabraham/CMSScan](https://github.com/ajinabraham/CMSScan) CMS 扫描仪:扫描 Wordpress、Drupal、Joomla、vBulletin 网站以查找安全问题
* [EnableSecurity/wafw00f](https://github.com/EnableSecurity/wafw00f) 允许识别和指纹保护网站的 Web 应用程序防火墙 (WAF) 产品。
* [shadow1ng/fscan](https://github.com/shadow1ng/fscan) 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
* [michelin/ChopChop](https://github.com/michelin/ChopChop) 帮助开发人员扫描端点并识别敏感服务/文件/文件夹的公开。
* [koalaman/shellcheck](https://github.com/koalaman/shellcheck) 一个 GPLv3 工具,它为 bash/sh shell 脚本提供警告和建议
* [icyguider/Nimcrypt2](https://github.com/icyguider/Nimcrypt2) Nim 编写的 .NET、PE 和原始 Shellcode 打包程序/加载程序
* [WhaleFell/CameraHack](https://github.com/WhaleFell/CameraHack) 批量扫描破解海康威视、大华等摄像头的常见漏洞。
* [Hacker0x01/hacker101](https://github.com/Hacker0x01/hacker101) Hacker101 的源代码 - 免费的在线 Web 和移动安全课程。
* [asta-mouse/Sherlock](https://github.com/rasta-mouse/Sherlock) PowerShell 脚本,快速查找权限提升漏洞的缺失补丁。
* [LandGrey/webshell-detect-bypass](https://github.com/LandGrey/webshell-detect-bypass) 绕过专业工具检测的Webshell研究文章和免杀的Webshell
* [zan8in/afrog](https://github.com/zan8in/afrog) 性能卓越、快速稳定、PoC 可定制化的漏洞扫描工具
* [flamegraph-rs/flamegraph](https://github.com/flamegraph-rs/flamegraph) Rust和其他所有项目的简单火焰图,无需 Perl 或管道
* [0xInfection/Awesome-WAF](https://github.com/0xInfection/Awesome-WAF) 从安全角度来看,Web 应用程序防火墙 (WAF)。
* [tihanyin/PSSW100AVB](https://github.com/tihanyin/PSSW100AVB) 具有 100% AV 绕过功能的有用 Powershell 脚本。
* [hannob/snallygaster](https://github.com/hannob/snallygaster) 用于扫描 HTTP 服务器上的机密文件的工具
* [WangYihang/Platypus](https://github.com/WangYihang/Platypus) 用 go 编写的现代多反向 shell 会话管理器
* [FunnyWolf/pystinger](https://github.com/FunnyWolf/pystinger) 使用webshell进行流量转发的出网工具
* [Cracked5pider/ShellcodeTemplate](https://github.com/Cracked5pider/ShellcodeTemplate) Win x64/x86 的易于修改的 shellcode 模板
* [1n7erface/RequestTemplate](https://github.com/1n7erface/RequestTemplate) 双语双端内网扫描以及验证工具
* [HZzz2/go-shellcode-loader](https://github.com/HZzz2/go-shellcode-loader) GO免杀shellcode加载器混淆AES加密
* [digininja/DVWA](https://github.com/digininja/DVWA) 该死的易受攻击的 Web 应用程序
* [Tas9er/ByPassBehinder4J](https://github.com/Tas9er/ByPassBehinder4J) 冰蝎Java WebShell自动化免杀生成
* [achuna33/MYExploit](https://github.com/achuna33/MYExploit) 基于产品的一键扫描工具。
* [hosch3n/msmap](https://github.com/hosch3n/msmap) 一个Memory WebShell生成器。
* [czz1233/GBByPass](https://github.com/czz1233/GBByPass) 冰蝎 哥斯拉 WebShell bypass
* [wikiZ/ServerlessScan](https://github.com/wikiZ/ServerlessScan) 云函数扫描器实现代码
* [Tas9er/ByPassBehinder](https://github.com/Tas9er/ByPassBehinder) 冰蝎WebShell免杀生成
## 其他_安全与渗透
* [n1nj4sec/pupy](https://github.com/n1nj4sec/pupy) Pupy是一个开源、跨平台(Windows、Linux、OSX、Android)的C2和后渗透框架,用Python和C编写。它以内存执行为核心,占用资源极少。Pupy支持多种通信方式,可通过反射注入迁移到其他进程,并从内存中加载远程Python代码、Python包和Python C扩展。Pupy的特点包括:Windows payload可以从内存中加载整个Python解释器,无需接触磁盘;可以打包成单个.py文件,在所有操作系统上运行,仅依赖Python标准库;支持反射迁移到其他进程;可以从内存中远程导入纯Python包(.py、.pyc)和编译的Python C扩展(.pyd、.so);模块易于扩展,并按操作系统和类别进行分类;模块可以通过rpyc直接访问远程客户端上的Python对象;可以在Pupy shell中交互式访问远程对象,并自动完成远程属性;通信传输模块化且可堆叠,例如使用HTTP over HTTP over AES over XOR进行数据外泄;支持使用obfsproxy进行通信;可以同时在多个主机上执行非交互式命令;远程主机上的命令和脚本可以中断;支持命令和参数自动完成;可以自定义配置,例如命令别名、模块、连接时自动运行的模块等;可以在内存中打开交互式Python shell,支持自动完成;可以在远程打开交互式shell(cmd.exe、/bin/bash等);远程shell在Unix和Windows客户端上拥有真正的tty,所有键盘信号都像SSH shell一样正常工作;可以远程执行PE可执行文件,并从内存中执行;支持多种格式的payload生成,包括Android Package、Linux Binary、Linux Shared Object、Windows PE Executable、Windows DLL、Python Script、PyInstaller、Python Oneliner、Powershell、Powershell Oneliner、Ducky Script;可以使用Python或Powershell one-liner从单条命令行部署到内存中;可以在生成的payload中嵌入“脚本”,在没有网络连接的情况下执行某些任务(例如启动键盘记录器、添加持久性、执行自定义Python脚本、检查虚拟机等);支持多种目标平台,包括Windows XP、Windows 7、Windows 8、Windows 10、Linux、Mac OSX、Android。所有文档都可以在wiki上找到。
* [ExpLife0011/awesome-windows-kernel-security-development](https://github.com/ExpLife0011/awesome-windows-kernel-security-development) 这是一个关于Windows内核安全开发的资源库,包含了各种主题的资料,例如:PowerShell、PE文件格式、汇编IDE、Meltdown/Spectre漏洞利用、轻量级C++ GUI库、DirectUI、Chrome、Chrome扩展、CEF、WebBrowser、D3D、OpenCV、BASS、Lua、C++ 11/14/17/20、CMake、设计模式、C++ & JS、GDI/GDI+、QT、计算机视觉与机器学习、压缩、Dongle、Spy++、Windows Explorer的Shell扩展、Windows系统编程、ETW、WSL/Unix、设备树、IRP监控、关键NT模块、Windows内核驱动、带C++运行时的Windows内核驱动、Blackbone、HIDInput、DKOM、SSDT Hook、EAT/IAT/对象/IRP/IAT Hook、InfinityHook、内联Hook、Hook引擎、反Hook、Ring0注入技术、Ring3注入技术、WoW64 u003c-u003e x64、反自动运行、反DLL注入、从内存加载DLL、运行时解包DLL加载、DLL劫持、COM劫持、反DLL劫持、进程掏空、PE加载器、内存PE转储、DLL映射检测、DLL转Shellcode、DLL转EXE、隐藏进程、隐藏和删除DLL、从内存加载驱动、绕过内存扫描器、KeUserModeCallBack、回调、键盘过滤器、USB过滤器、SFilter、MiniFilter、反勒索软件、虚拟磁盘、虚拟文件系统、LPC、ALPC、LSP/SPI、AFD、TDI、WFP、NDIS、游戏加速器、WSK、Rootkit、MBR、Bootkit。
* [gophish/gophish](https://github.com/gophish/gophish) Gophish是一款专为企业和渗透测试人员设计的开源网络钓鱼工具包。它提供了快速轻松地设置和执行网络钓鱼活动和安全意识培训的能力。Gophish 的安装非常简单 - 只需下载并解压包含适用于您的系统的版本的 zip,然后运行二进制文件。 Gophish 提供适用于 Windows、Mac 和 Linux 平台的二进制版本。Gophish 只需下载一次即可安装。只需几秒钟即可启动并运行。Gophish 由 REST API 提供支持。我们的 Python 客户端使 API 的使用变得轻而易举。Gophish 拥有华丽的网络界面。只需单击一下即可导入现有网站和电子邮件、启用电子邮件打开跟踪等。Gophish 二进制文件适用于大多数平台,包括 Windows、Mac OSX 和 Linux。Gophish 自动更新结果。使用 UI,您可以查看每个收件人的时间线、跟踪电子邮件打开情况、链接点击情况、提交的凭据等。Gophish 中的一切都被设计为“正常工作”。它非常容易设置、易于使用,并且能够快速提供强大的结果,让您觉得它很神奇。
* [sundowndev/phoneinfoga](https://github.com/sundowndev/phoneinfoga) PhoneInfoga是一个先进的国际电话号码信息收集框架,可以收集电话号码的基本信息(国家、地区、运营商和线路类型),并使用各种技术尝试查找VoIP提供商或识别所有者。它与一组扫描器一起工作,这些扫描器必须进行配置才能使工具有效。PhoneInfoga不会自动执行所有操作,它只是帮助调查电话号码。该项目稳定且已准备好投入生产。它提供多种功能,包括检查电话号码是否存在、收集基本信息、使用外部API、电话簿和搜索引擎进行OSINT足迹分析、检查声誉报告、社交媒体、一次性号码等,并提供图形用户界面、REST API和Go模块进行编程使用。请注意,该工具不提供相关或经过验证的数据,也不允许实时跟踪电话或其所有者,以及获取精确的电话位置或黑客攻击电话。该工具已获得GNU通用公共许可证v3.0的许可。
* [AxtMueller/Windows-Kernel-Explorer](https://github.com/AxtMueller/Windows-Kernel-Explorer) Windows Kernel Explorer(WKE) 是一款免费但功能强大的内核研究工具,支持 Windows XP 到 Windows11。与 WIN64AST 和 PCHunter 相比,WKE 可以在最新的 Windows 上运行而无需更新二进制文件。即使没有更新 WKE,旧版本的 WKE 仍然可以在新的 Windows 上运行,大部分功能也能正常使用。WKE 通过自动下载必要的符号文件来支持最新版本的 Windows,并从 DAT 文件中获取一些缺失的数据。即使无法连接互联网或 DAT 文件不存在,WKE 仍然可以正常使用大部分功能。WKE 支持从 Windows XP 到 Windows 10 RS3 的原生支持,并通过解析符号文件和 DAT 文件完全支持从 Windows 10 RS4 到最新的 Windows 11。WKE 提供了丰富的功能,包括进程管理、文件管理、注册表管理、内核回调、内核钩子扫描、内存编辑器、隐藏驱动程序、隐藏进程、隐藏文件和目录等。
* [Lissy93/awesome-privacy](https://github.com/Lissy93/awesome-privacy) 这是一个精心整理的隐私和安全软件及服务的列表,包含密码管理器、双重身份验证、文件加密、浏览器、搜索引擎、加密消息、点对点消息、加密邮件、邮件客户端、邮件转发、邮件安全工具、VOIP 客户端、虚拟电话号码、团队协作、浏览器扩展、移动应用、在线工具、虚拟专用网络、自托管网络安全、混合网络、代理、DNS 提供商、DNS 客户端、防火墙、广告拦截器、主机阻止列表、路由器固件、网络分析、入侵检测、云托管、域名注册商、DNS 托管、邮件服务器、数字笔记、日历、备份和同步、云生产力套件、加密云存储、文件传输、浏览器同步、安全电话会议、虚拟机、PGP 管理器、元数据删除、数据擦除器、移动操作系统、桌面操作系统、Linux 防御、Windows 防御、Mac OS 防御等类别。
* [desaster/kippo](https://github.com/desaster/kippo) Kippo是一个中等交互的 SSH 蜜罐,旨在记录暴力破解攻击,更重要的是记录攻击者执行的整个 shell 交互。它受到 Kojoney 的启发,但并非基于 Kojoney。Kippo 提供了模拟文件系统、可添加/删除文件,并包含类似 Debian 5.0安装的完整模拟文件系统。它还允许添加模拟文件内容,以便攻击者可以“cat”文件,例如 /etc/passwd。会话日志存储在与 UML 兼容的格式中,以便轻松使用原始时间进行重放。Kippo 还像 Kojoney 一样保存使用 wget 下载的文件,以便日后检查。Kippo 通过模拟连接、退出不真正退出等方式进行欺骗。Kippo 需要 Python 2.5+、Twisted 8.0 到 15.1.0、PyCrypto 和 Zope Interface。您可以编辑 kippo.cfg,然后运行 `./start.sh` 启动蜜罐。Kippo 默认监听端口 2222 上的 ssh 连接。您可以在 Wiki 中找到更多安装说明。
* [BishopFox/sliver](https://github.com/BishopFox/sliver) Sliver是一个开源的跨平台红队模拟/攻击模拟框架,可用于各种规模的组织进行安全测试。Sliver 的植入程序支持通过相互TLS (mTLS)、WireGuard、HTTP(S) 和 DNS 进行 C2 通信,并使用每个二进制文件的不对称加密密钥进行动态编译。服务器和客户端支持 MacOS、Windows 和 Linux。植入程序支持 MacOS、Windows 和 Linux(以及可能所有 Golang 编译器目标,但我们尚未测试所有目标)。Sliver 提供动态代码生成、编译时混淆、多人模式、分阶段和无阶段有效载荷、基于 HTTP(S) 的过程生成 C2、DNS 信标蓝队检测、通过mTLS、WireGuard、HTTP(S) 和 DNS 进行安全 C2、使用 JavaScript/TypeScript 或 Python 进行完全可脚本化、Windows 进程迁移、进程注入、用户令牌操作等功能。用户可以通过下载最新版本或从源代码编译来使用 Sliver。
* [ComodoSecurity/openedr](https://github.com/ComodoSecurity/openedr) OpenEDR是一个开源的端点检测与响应 (EDR) 平台,提供全面的 EDR功能,其代码库是全球最先进、最有效的 EDR 代码库之一。OpenEDR 允许您以基础安全事件级别分析整个环境中发生的情况,从而实现准确的根本原因分析,帮助您更快、更有效地进行补救。OpenEDR 的安全架构简化了攻击检测、防护和可视化,无需其他代理或解决方案即可应对所有威胁向量。OpenEDR 的代理在本地记录所有遥测信息,并将数据发送到本地托管或云托管的 ElasticSearch 部署。OpenEDR 提供全面的攻击向量可视化,包括 MITRE 框架。您可以通过 Comodo DragonEnterprise 平台轻松快速地部署和使用 OpenEDR,无需自定义安装、日志转发配置或担心存储遥测数据。
* [Atlas-OS/Atlas](https://github.com/Atlas-OS/Atlas) 对 Windows 的开放和轻量级修改,旨在优化性能、隐私和安全性。它通过消除对游戏性能产生负面影响的因素来增强 Windows。优化包括增强的隐私性、可用性、性能和更改,以最大限度地减少卡顿和输入延迟,同时专注于维护功能。Atlas 删除了 Windows 中嵌入的大部分遥测数据,并实施了许多组策略,以最大程度地减少数据收集。但是,它无法确保 Windows 范围之外的隐私,例如浏览器和其他第三方应用程序。Atlas在性能和兼容性之间取得了平衡。它实现了许多有意义的更改,以提高 Windows 性能和响应能力,而不会破坏基本功能。Atlas不会对安慰剂效应或边际收益进行调整,使Atlas更加稳定和兼容。
* [jofpin/trape](https://github.com/jofpin/trape) Trape是一个开源的OSINT分析和研究工具,用于跟踪和执行智能社会工程攻击。它可以帮助政府机构、公司和研究人员追踪网络犯罪分子。Trape的主要功能包括:定位优化、接近提醒、REST API、进程钩子、公共网络隧道、点击攻击获取凭据和网络信息获取。Trape通过浏览器绕过机制,可以无声地获取目标位置,并提供99%的定位精度。它还提供REST API,用于远程控制和监控其他网站,并支持多种社会工程攻击,例如钓鱼攻击、恶意文件发送、JS代码注入和语音攻击。此外,Trape还提供公共网络隧道,可以将本地服务器发布到互联网上,方便管理钩子或公共攻击。
* [Trusted-AI/adversarial-robustness-toolbox](https://github.com/Trusted-AI/adversarial-robustness-toolbox) 用于机器学习安全的 Python 库 - 规避、中毒、提取、推理 - 红蓝团队。Adversarial Robustness Toolbox (ART) 是用于机器学习安全性的 Python 库。ART由Linux基金会人工智能与数据基金会(LF AI & Data)主办。ART 提供的工具使开发人员和研究人员能够防御和评估机器学习模型和应用程序,以应对规避、中毒、提取和推理的对抗性威胁。ART 支持所有流行的机器学习框架(TensorFlow、Keras、PyTorch、MXNet、scikit-learn、XGBoost、LightGBM、CatBoost、GPy 等)、所有数据类型(图像、表格、音频、视频等)和机器学习任务(分类、对象检测、语音识别、生成、认证等)。
* [r0uble-mAker/POC-bomber](https://github.com/tr0uble-mAker/POC-bomber) 漏洞检测/利用工具,利用大量高危漏洞的POC/EXP快速获取目标服务器权限 支持weblogic,tomcat,apache,jboss,nginx,struct2,thinkphp2x3x5x,spring,redis,jenkins,php语言漏洞,shiro,泛微OA,致远OA,通达OA等易受攻击组件的漏洞检测,支持调用dnslog检测无回显的rce(包括log4j2的检测),支持单目标和批量检测,程序采用高并发线程池,支持自定义导入poc/exp,并能够生成漏洞报告.使用验证模式进行poc的验证,如返回结果中attack的值为True时,可以加-attack进入攻击模式直接调用exp进行攻击(需要指定poc文件名),达到一键getshell
* [apernet/hysteria](https://github.com/apernet/hysteria) 一个强大、闪电般快速且无审查的代理。广泛的模式范围,包括SOCKS5,HTTP代理,TCP / UDP转发,Linux TProxy - 更不用说不断添加的其他功能。Hysteria 由自定义 QUIC 协议提供支持,即使在最不可靠和最有损的网络上也能提供无与伦比的性能。我们的协议旨在伪装成标准的HTTP / 3流量,因此很难在不造成广泛附带损害的情况下进行检测和阻止。我们有针对所有主要平台和架构的构建。随处部署,随处使用。凭借对自定义身份验证、流量统计和访问控制的内置支持,Hysteria 可以轻松集成到您的基础设施中。
* [slackhq/nebula](https://github.com/slackhq/nebula) 可扩展的 Overlay 网络工具,专注于性能、简单性和安全性。它可以让您无缝连接世界任何地方的计算机。Nebula 是可移植的,可以在 Linux、OSX、Windows、iOS 和 Android 上运行。它可以用来连接少量的计算机,但也能够连接数以万计的计算机。Nebula 包含了许多现有概念,如加密、安全组、证书和隧道,这些单独的部分在 Nebula 之前就以各种形式存在。Nebula 与现有产品的不同之处在于,它将所有这些想法结合在一起,从而产生一个大于其各个部分的总和。
* [NARKOZ/hacker-scripts](https://github.com/NARKOZ/hacker-scripts) 由 NARKOZ 维护的 Hacker Scripts 是一个开放源码的 GitHub 仓库,包含了各种小到大范围的脚本,涵盖了文件操作、网络监测、系统信息获取等多个领域。这些脚本大多是用 Bash 编写的,因此它们可以在任何支持 Bash 的 Unix-like 系统(如 Linux 和 macOS)上运行。在编程和黑客文化的世界中,效率是关键。GitHub 上的 Hacker Scripts 项目就是这样一个宝藏,它集合了一系列实用的 Bash 脚本,帮助开发者、系统管理员和爱好者自动化日常任务,提升工作效率。
* [nmap/npcap](https://github.com/nmap/npcap) Npcap是 Nmap 项目为 Windows 开发的网络数据包捕获和注入库,它是 WinPcap 的完全更新版本,具有更高的速度、可靠性和安全性。Npcap 提供完整的文档,涵盖安装、报告错误、使用 Npcap 开发软件以及 Npcap 内部机制。 用户可以从 Npcap 网站免费下载最新的安装程序、软件开发工具包 (SDK)、源代码和调试符号。 为了支持 Npcap 项目,Nmap 项目提供 Npcap OEM 版本,该版本包含企业功能,如静默安装程序和商业支持,以及特殊许可权利。
* [EasyHook/EasyHook](https://github.com/EasyHook/EasyHook) EasyHook是一个用于在 Windows 平台上进行 API Hooking 的库,它允许使用纯托管代码扩展(Hooking)非托管代码(API),支持 32 位和 64 位 Windows 系统。EasyHook 支持注入 .NET Framework 3.5 和 4.0 构建的程序集,以及原生 DLL,并提供 NuGet 包方便使用。用户可以在 EasyHook 的 GitHub 页面上报告问题或提出疑问,并可以为需要修复的 issue 提供赏金。EasyHook 使用 UDIS86 库进行反汇编,并对该库进行了部分修改以适应 EasyHook 的需求。
* [microsoft/Detours](https://github.com/microsoft/Detours) Detours是一个用于监控和修改 Windows API 调用的软件包,由微软研究院开发并开源,支持 Windows NT 系列操作系统,包括 Windows NT、Windows XP、Windows Server2003、Windows 7、Windows 8 和 Windows 10。它提供源代码,并允许开发者通过修改 API 调用来实现监控、调试和功能扩展等目的。用户可以在 GitHub 上找到 Detours 项目的源代码、技术文档和示例,并参与项目贡献,例如回答问题、改进 Wiki、提交错误报告和审查代码变更。
* [zer0yu/CyberSecurityRSS](https://github.com/zer0yu/CyberSecurityRSS) CyberSecurityRSS是一个收集网络安全相关 RSS 订阅的项目,旨在帮助用户建立个人情报来源和日常知识库更新。项目包含三个文件:others.md列出了一些没有 RSS 订阅但内容优秀的网站;tiny.opml 是一个精简版的网络安全 RSS 订阅;CyberSecurityRSS.xml 是一个包含网络安全各个方面的完整版 RSS 订阅。项目每两个月更新一次,用户可以使用 Reeder、yarr、Leaf、Feedly、Feeder、Zr、anyant 等工具导入并使用这些 RSS 订阅。
* [ainfosec/FISSURE](https://github.com/ainfosec/FISSURE) 与频率无关的基于 SDR 的信号理解和逆向工程。开源 RF 和逆向工程框架,专为所有技能水平而设计,具有用于信号检测和分类、协议发现、攻击执行、IQ 操纵、漏洞分析、自动化和 AI/ML 的钩子。 该框架旨在促进软件模块、无线电、协议、信号数据、脚本、流程图、参考资料和第三方工具的快速集成。友好的 Python 代码库和界面允许初学者快速了解涉及 RF 和逆向工程的流行工具和技术。
* [wazuh/wazuh](https://github.com/wazuh/wazuh) 开源安全平台。为端点和云工作负载提供统一的 XDR 和 SIEM 保护。免费的开源平台,用于威胁预防、检测和响应。它能够保护本地、虚拟化、容器化和基于云的环境的工作负载。Wazuh 解决方案由部署到受监控系统的端点安全代理和用于收集和分析代理收集的数据的管理服务器组成。此外,Wazuh 已与 Elastic Stack 完全集成,提供搜索引擎和数据可视化工具,允许用户浏览他们的安全警报。
* [mxrch/GHunt](https://github.com/mxrch/GHunt) GHunt是一个针对Google的攻击框架,旨在高效地进行演化,目前主要用于OSINT,但可用于任何与Google相关的用途。它提供CLI和Python库使用方式,支持异步操作、JSON导出,并包含浏览器扩展以简化登录。安装使用pipx即可,支持多种模块,如获取邮箱信息、Gaia ID信息、Drive文件信息和定位BSSID等,还支持JSON格式导出。该项目遵循AGPL许可证,仅供个人、刑事调查、渗透测试或开源项目使用。
* [yaklang/yakit](https://github.com/yaklang/yakit) 网络安全一体化平台,基于安全融合的理念,Yaklang.io 团队研发出了安全领域垂直语言Yaklang,对于一些无法原生集成在 Yak 平台中的产品/工具,利用Yaklang可以重新编写他们的“高质量替代”。对于一些生态完整且认可度较高的产品,Yaklang能直接编译融合,并对源码进行必要修改,更好地适配Yaklang语言。对于一些不想写代码的安全从业者,Yakit会为Yaklang中所有的能力提供合适的GUI。
* [mitmproxy/mitmproxy](https://github.com/mitmproxy/mitmproxy) 渗透测试人员和开发人员的交互式 TLS 拦截 HTTP 代理。用于 MITM的 proxy,MITM即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。 mitmproxy 不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。
* [Z4nzu/hackingtool](https://github.com/Z4nzu/hackingtool) 黑客的多合一黑客工具 包括:匿名隐藏、信息收集、词表生成器、无线攻击、SQL 注入、网络钓鱼攻击、网络攻击、后期利用、取证工具、有效载荷创建、利用框架、逆向工程、DDOS 攻击、远程管理 (RAT)、XSS 攻击、隐写工具、社交媒体蛮力、安卓黑客、IDN Homograph 攻击、电子邮件验证、哈希破解、Wifi 取消身份验证、社交媒体查找器、有效载荷注入器、网络爬取、混合工具
* [rmusser01/Infosec_Reference](https://github.com/rmusser01/Infosec_Reference) 这是一个免费的信息安全资源库,提供各种技术、工具和策略,旨在帮助学习者提升信息安全技能。项目内容涵盖信息安全知识的各个方面,并提供参考和学习资源。用户可以浏览资源库,找到感兴趣的领域,或作为信息安全知识的参考工具。项目鼓励用户贡献相关链接,并提供HTML版本和最新更新信息。此外,项目还呼吁用户为无国界医生组织或国际特赦组织捐款。
* [veeral-patel/how-to-secure-anything](https://github.com/veeral-patel/how-to-secure-anything) 如何保护任何东西,安全工程是构建安全系统的学科。它的经验教训不仅适用于计算机安全。事实上,在这个 repo 中,我的目标是记录一个保护任何东西的过程,无论是中世纪城堡、艺术博物馆还是计算机网络。没有所谓的系统是安全的,只有针对特定对手的安全。这就是为什么了解你的对手是谁,以及每个对手背后的动机和能力很重要的原因。
* [shellphish/how2heap](https://github.com/shellphish/how2heap) how2heap是一个用于学习各种堆利用技术的仓库,它使用Ubuntu的Libc版本作为标准,每个技术都经过验证可以在相应的Ubuntu版本上运行。该仓库提供了多种堆利用技术,例如fastbin_dup、unsafe_unlink、house_of_spirit等,并附带了相应的代码示例和调试链接,方便学习者在浏览器中调试。此外,还列出了每个技术适用的CTF挑战,方便学习者进行实践。
* [0x4D31/awesome-threat-detection](https://github.com/0x4D31/awesome-threat-detection) 这是一个精选的威胁检测和狩猎资源列表,包含各种工具、规则、数据集和资源,涵盖端点监控、网络监控、电子邮件监控、数据科学、研究论文、博客、播客、新闻通讯、视频、培训和实验室等方面,旨在帮助安全专业人士进行威胁检测和狩猎。该项目还提供了一些威胁模拟工具和资源,帮助用户模拟攻击行为,测试安全防御能力。
* [wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) 流氓接入点框架,用于执行红队参与或 Wi-Fi 安全测试。使用 Wifiphisher,渗透测试人员可以通过执行有针对性的 Wi-Fi 关联攻击,轻松实现针对无线客户端的中间人位置。Wifiphisher 可以进一步用于对连接的客户端发起受害者定制的网络钓鱼攻击,以捕获凭据(例如来自第三方登录页面或 WPA/WPA2 预共享密钥)或用恶意软件感染受害者站。
* [radareorg/radare2](https://github.com/radareorg/radare2) 类 UNIX 逆向工程框架和命令行工具集。最初是一个简单的命令行十六进制编辑器,专注于取证。今天,r2 是一个功能丰富的低级命令行工具,支持脚本编写。R2 可以编辑本地硬盘驱动器上的文件、查看内核内存以及在本地或通过远程 GDB 服务器调试程序。R2 广泛的架构支持允许您分析、模拟、调试、修改和反汇编任何二进制文件。
* [wikiZ/RedGuard](https://github.com/wikiZ/RedGuard) RedGuard 是基于命令与控制 (C2) 前流控制技术的衍生工具,具有更轻的设计、高效的流量交互以及与 go 编程语言开发的可靠兼容性。随着网络攻击的不断演进,红蓝队演习变得越来越复杂,RedGuard 旨在为红队提供更好的 C2 通道隐藏解决方案,为 C2 通道提供流控,阻断“恶意”分析流量,更好地完成整个攻击任务。
* [devanshbatham/Awesome-Bugbounty-Writeups](https://github.com/devanshbatham/Awesome-Bugbounty-Writeups) 精选 bugbounty 文章列表(Bug 类型)包括:跨站脚本 (XSS)、跨站请求伪造 (CSRF)、点击劫持(UI Redressing Attack)、本地文件包含 (LFI)、子域接管、拒绝服务 (DOS)、身份验证绕过、SQL注入、不安全的直接对象引用 (IDOR)、2FA 、CORS 、服务器端请求伪造 (SSRF)、远程代码执行 (RCE)、安卓渗透测试
* [TsudaKageyu/minhook](https://github.com/TsudaKageyu/minhook) MinHook是一个用于Windows的最小化x86/x64 API Hooking库,使用C语言编写,支持Visual Studio 2015及以上版本,以及MinGW。它可以用来拦截和替换系统API函数,并提供多种功能,包括创建和移除钩子、启用和禁用钩子、队列操作等。MinHook使用简单的API,易于使用,并提供详细的文档和示例代码。
* [defparam/smuggler](https://github.com/defparam/smuggler) HTTP 请求走私/去同步测试工具.请求走私大多发生于前端服务器和后端服务器对客户端传入的数据理解不一致的情况。这是因为HTTP规范提供了两种不同的方法来指定请求的结束位置,即 Content-Length 和 Transfer-Encoding 标头。[协议层的攻击——HTTP请求走私](https://paper.seebug.org/1048/)
* [xuanhusec/OscpStudyGroup](https://github.com/xuanhusec/OscpStudyGroup) Oscp公益学习组,包括:小技巧合集、Kali基本操作、常用工具、windows提权汇总、反弹shell方法汇总、靶机推荐列表、缓冲区溢出通关脚本框架、OSCP命令大全、反弹shell方法汇总、linux提权方法汇总、win提权方法汇总、Linux提权辅助、Win提权辅助、渗透测试方法论、靶机练习
* [evilsocket/pwnagotchi](https://github.com/evilsocket/pwnagotchi) 基于 A2C 的“AI”,它利用 bettercap 从其周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料(被动或通过执行身份验证和关联攻击)。此材料以 PCAP 文件的形式收集,其中包含 hashcat 支持的任何形式的握手,包括 PMKID、全 WPA 握手和半 WPA 握手。
* [infosecn1nja/Red-Teaming-Toolkit](https://github.com/infosecn1nja/Red-Teaming-Toolkit) 包含尖端的开源安全工具 (OST),这些工具将在对手模拟期间为您提供帮助,并且用于威胁猎人的信息可以更轻松地进行检测和预防控制。以下工具列表可能被 APT 和人为勒索软件 (HumOR) 等威胁行为者滥用。如果您想为此列表做出贡献,请向我发送拉取请求。
* [mstxq17/VunHunterTips](https://github.com/mstxq17/VunHunterTips) 漏洞挖掘技巧及其一些工具集成 。端口扫描、APP挖掘、BugbountyTips、SQL注入、SSRF、XSS、burp技巧、信息收集、信息泄露、另类漏洞挖掘、字典、常用扫描器、并发漏洞、弱口令Fuzz、文件读取、浏览器技巧、目录扫描、设备弱口令、越权相关、跳转redirect。
* [rapid7/metasploit-framework](https://github.com/rapid7/metasploit-framework) 渗透测试平台,使您能够查找,利用和验证漏洞。 该平台包括Metasploit框架及其商业对手,如Metasploit Pro。 Metasploit是一个免费的、可下载的框架,通过它可以很容易对计算机软件漏洞实施攻击。 它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。
* [dastergon/awesome-chaos-engineering](https://github.com/dastergon/awesome-chaos-engineering) 这是一个精心整理的混沌工程资源列表,涵盖文化、书籍、教育、工具、论文、游戏日、博客、会议、论坛和 Twitter 等方面。它旨在帮助你学习和实践混沌工程,通过在生产环境中对分布式系统进行实验,来增强系统在面对各种故障时的韧性。
* [onekey-sec/unblob](https://github.com/onekey-sec/unblob) 准确、快速且易于使用的提取套件。 它为超过 30 种不同的存档、压缩和文件系统格式解析未知二进制 blob,递归地提取它们的内容,并分割出尚未考虑的未知块。这使 unblob 成为提取、分析和逆向工程固件映像的完美伴侣。
* [occlum/occlum](https://github.com/occlum/occlum) 蚂蚁集团自研的开源可信执行环境(Trusted Execution Environments,简称 TEE) OS 系统 Occlum ,大幅降低 SGX 应用开发的门槛.机密计算(Confidential Computing)使得数据始终保持加密和强隔离状态,从而确保用户数据的安全和隐私。
* [GhostWolfLab/APT-Individual-Combat-Guide](https://github.com/GhostWolfLab/APT-Individual-Combat-Guide) 该项目是一个APT攻击实战指南,旨在通过提供代码和命令示例,帮助读者快速理解APT攻击的原理和方法。项目包含多个章节,涵盖了伪造攻击、信息收集、漏洞识别等内容,并提供了一些常用的APT攻击工具和技术。
* [chaitin/safeline](https://github.com/chaitin/safeline) 一款足够简单、足够好用、足够强的免费 WAF。基于业界领先的语义引擎检测技术,作为反向代理接入,保护你的网站不受黑客攻击。核心检测能力由智能语义分析算法驱动,专为社区而生,不让黑客越雷池半步。
* [quasar/Quasar](https://github.com/quasar/Quasar) 适用于 Windows 的免费、开源远程管理工具。用 C# 编码的快速、轻量级的远程管理工具。 使用范围从用户支持到日常管理工作再到员工监控。 提供高稳定性和易于使用的用户界面,是您的完美远程管理解决方案。
* [Le0nsec/SecCrawler](https://github.com/Le0nsec/SecCrawler) 方便安全研究人员获取每日安全日报的爬虫和推送程序,目前爬取范围包括先知社区、安全客、Seebug Paper、跳跳糖、奇安信攻防社区、棱角社区以及绿盟、腾讯玄武、天融信、360等实验室博客,持续更新中。
* [nelhage/reptyr](https://github.com/nelhage/reptyr) 实用程序,用于获取现有正在运行的程序并将其附加到新终端。 通过 ssh 启动了一个长时间运行的进程,但不得不离开并且不想中断它? 只需启动一个屏幕,使用 reptyr 抓取它,然后终止 ssh 会话并回家。
* [H4CK3RT3CH/github-dorks](https://github.com/H4CK3RT3CH/github-dorks) Github 搜索是非常强大和有用的功能,可用于搜索存储库中的敏感数据。可以揭示敏感的个人和/或组织信息,例如私钥、凭据、身份验证令牌等。这个列表应该对评估安全性和执行系统的渗透测试很有用。
* [enaqx/awesome-pentest](https://github.com/enaqx/awesome-pentest) 一系列令人敬畏的渗透测试和攻击性网络安全资源。渗透测试是对计算机系统及其物理基础设施发起授权的模拟攻击,以暴露潜在的安全弱点和漏洞的做法。如果发现漏洞,请按照此指南负责任地报告。
* [sundowndev/hacker-roadmap](https://github.com/sundowndev/hacker-roadmap) 一系列用于实践道德黑客行为的黑客工具、资源和参考资料。该存储库概述了学习渗透测试所需的内容,以及实践道德黑客攻击的黑客工具、资源和参考的集合。大多数工具与 UNIX 兼容、免费且开源。
* [anderspitman/awesome-tunneling](https://github.com/anderspitman/awesome-tunneling) 此列表的目的是跟踪和比较隧道解决方案。这主要针对那些想要做一些事情的自托管者和开发人员,例如通过公共域名公开本地 Web 服务器,使用自动 HTTPS,即使在 NAT 或其他受限网络后面也是如此。
* [Gapsdehal/awesome-ctf](https://github.com/apsdehal/awesome-ctf) [Capture The Flag](https://en.wikipedia.org/wiki/Capture_the_flag%23Computer_security) (CTF) 框架、库、资源、软件和教程的精选列表。此列表旨在帮助初学者和经验丰富的 CTF 玩家在一个地方找到与 CTF 相关的所有内容。
* [jiep/offensive-ai-compilation](https://github.com/jiep/offensive-ai-compilation) 这是一个整理的资源列表,涵盖了攻击性人工智能领域,包括攻击性机器学习、渗透测试、恶意软件、OSINT、钓鱼、生成式人工智能等方面,并提供相关工具和应用案例,以及防御措施和检测方法。
* [GreyDGL/PentestGPT](https://github.com/GreyDGL/PentestGPT) GPT 支持的渗透测试工具。由大型语言模型(LLM)提供支持的渗透测试工具。它旨在自动化渗透测试过程。它建立在 ChatGPT 之上,并以交互模式运行,以指导渗透测试人员的整体进度和特定操作。
* [FortyNorthSecurity/EyeWitness](https://github.com/FortyNorthSecurity/EyeWitness) 截取网站截图,提供一些服务器标头信息,并在可能的情况下识别默认凭据。分析不同的 Web 应用程序,并将相似的 Web 应用程序分组在一起,那么可以很容易地快速分类/查看您想要定位的组。
* [al0ne/LinuxCheck](https://github.com/al0ne/LinuxCheck) Linux应急处置/信息搜集/漏洞检测工具,支持基础配置/网络流量/任务计划/环境变量/用户信息/Services/bash/恶意文件/内核Rootkit/SSH/Webshell/挖矿文件/挖矿进程/供应链/服务器风险等13类70+项检查
* [wecooperate/iMonitor](https://github.com/wecooperate/iMonitor) 冰镜 - 终端行为分析系统,提供了对进程、文件、注册表、网络等系统行为的监控。支持扩展和脚本,可以轻易定制和添加更多功能。可以用于病毒分析、软件逆向、入侵检测,EDR等。
* [xmendez/wfuzz](https://github.com/xmendez/wfuzz) 在 HTTP 请求的任何字段中注入任何输入,允许在不同的 Web 应用程序组件中执行复杂的 Web 安全攻击,例如:参数、身份验证、表单、目录/文件、标头等。一个完全模块化的Python框架
* [Al1ex/Pentest-tools](https://github.com/Al1ex/Pentest-tools) 内网渗透工具:ACL突破、交换、真实劫持、信息收集、内网电话、密码喷洒、密码抓取、密码破解、权限提升、权限维持、横向移动、端口扫描、端口转发、网络嗅探、集成工具
* [The-Art-of-Hacking/h4cker](https://github.com/The-Art-of-Hacking/h4cker) 该存储库主要由 Omar Santos (@santosomar) 维护,包括与道德黑客/渗透测试、数字取证和事件响应 (DFIR)、人工智能、漏洞研究、漏洞开发、逆向工程等相关的数千种资源。
* [TophantTechnology/ARL](https://github.com/TophantTechnology/ARL) 资产侦察灯塔系统旨在快速侦察与目标关联的互联网资产,构建基础资产信息库。 协助甲方安全团队或者渗透测试人员有效侦察和检索资产,发现存在的薄弱点和攻击面。
* [Ettercap/ettercap](https://github.com/Ettercap/ettercap) 中间人攻击的综合套件。 它具有实时连接嗅探、动态内容过滤和许多其他有趣的技巧。 它支持对许多协议的主动和被动剖析,并包括许多用于网络和主机分析的功能。
* [pinecone-wifi/pinecone](https://github.com/pinecone-wifi/pinecone) WLAN网络审计工具,适合红队使用。它可以通过模块进行扩展,并且设计为在基于 Debian 的操作系统中运行。松果专门用于与树莓派一起使用,作为便携式无线审计盒。
* [KeenSecurityLab/BinAbsInspector](https://github.com/KeenSecurityLab/BinAbsInspector) 静态分析器,用于二进制文件中的自动逆向工程和扫描漏洞。它基于抽象解释,适用于Ghidra的Pcode而不是汇编。目前它支持 x86,x64、armv7 和 aarch64 上的二进制文件。
* [FreeRDP/FreeRDP](https://github.com/FreeRDP/FreeRDP) 远程桌面协议 (RDP) 的免费实现,在 Apache 许可下发布。 在一个互操作性最终可以解放您的计算体验的世界中,享受随时随地以您想要的方式使用您的软件的自由。
* [cdk-team/CDK](https://github.com/cdk-team/CDK) 为容器环境定制的渗透测试工具,在已攻陷的容器内部提供零依赖的常用命令及PoC/EXP。集成Docker/K8s场景特有的 逃逸、横向移动、持久化利用方式,插件化管理。
* [mzet-/linux-exploit-suggester](https://github.com/mzet-/linux-exploit-suggester) Linux提权审计工具 帮助检测给定 Linux 内核/基于 Linux 的机器的安全缺陷。它提供以下功能:评估已知漏洞的内核暴露情况、 验证内核强化安全措施的状态。
* [amark/gun](https://github.com/amark/gun) 用于同步分散图形数据的开源网络安全协议。GUN是一个工具生态系统,可让您构建社区运行和加密的应用程序 - 例如开源Firebase或Decentralized Dropbox。
* [djsime1/awesome-flipperzero](https://github.com/djsime1/awesome-flipperzero) Flipper Zero设备的精彩资源集合。Flipper Zero配备了多种用于黑客的工具。您有用于模拟遥控器的无线电,RFID阅读器,红外收发器,甚至是GPIO引脚。
* [Endava/cats](https://github.com/Endava/cats) REST API 模糊器和 OpenAPI 端点的负面测试工具。CATS 以最少的配置自动生成、运行和报告测试,无需编码工作。测试是自我修复的,不需要维护。
* [Junehck/SQL-injection-bypass](https://github.com/Junehck/SQL-injection-bypass) 记录实战中的各种sql注入绕过姿势. 脏数据绕过wafemoji绕过waf注释符绕过waf%00绕过waf中间件特性绕过waf关键字替换绕过wafase64绕waf全局替换绕过
* [grafana/grafana](https://github.com/grafana/grafana) 开放、可组合的可观测性和数据可视化平台。可视化来自多个来源的指标、日志和跟踪,如 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres 等等。
* [ffffffff0x/1earn](https://github.com/ffffffff0x/1earn) ffffffff0x 团队维护的安全知识框架,内容包括不仅限于 web安全、工控安全、取证、应急、蓝队设施部署、后渗透、Linux安全、各类靶机writup
* [yichengchen/clashX](https://github.com/yichengchen/clashX) 简单轻量化的代理客户端,HTTP/HTTPS 和 SOCKS 协议,地理 IP 规则支持,浪涌式配置,支持Vmess/Shadowsocks/Socks5/Trojan,支持 Netfilter TCP 重定向
* [L-codes/Neo-reGeorg](https://github.com/L-codes/Neo-reGeorg) 积极重构 reGeorg 的项目,目的是:提高可用性,避免特征检测提高 tunnel 连接安全性提高传输内容保密性应对更多的网络环境场景下使用
* [j3ssie/osmedeus](https://github.com/j3ssie/osmedeus) Osmedeus 是用于进攻性安全的工作流引擎。它旨在构建具有能力和灵活性的基础,使您能够构建自己的侦察系统并在大量目标上运行它。
* [prometheus/prometheus](https://github.com/prometheus/prometheus) 系统和服务监控系统。它以给定的时间间隔从配置的目标收集指标,评估规则表达式,显示结果,并在观察到指定条件时触发警报。
* [Maka8ka/NGLite](https://github.com/Maka8ka/NGLite) 基于区块链网络的匿名跨平台远控程序 理论上完全的匿名性,当然要是有人监测并分析了所有中间节点除外,目前节点约8W个
* [Chora10/Cknife](https://github.com/Chora10/Cknife) 跨平台的基于配置文件的中国菜刀(渗透测试工具),把所有操作给予用户来定义,主程序只是图形的展示,以及数据的发送。
* [decalage2/oletools](https://github.com/decalage2/oletools) 用于分析 MS OLE2 文件(结构化存储、复合文件二进制格式)和 MS Office 文档的 python 工具,用于恶意软件分析、取证和调试。
* [hash3liZer/SillyRAT](https://github.com/hash3liZer/SillyRAT) 用纯 Python 编写的跨平台 RAT。RAT 接受命令和参数,以充当接受连接的服务器或充当与服务器建立连接的客户端/目标。
* [Getshell/LinuxTQ](https://github.com/Getshell/LinuxTQ) Linux提权方法论 包括提权漏洞原理或方法工具等。Linux提权在后渗透过程中较为重要,尤其是对于权限维持至关重要。
* [vpncn/vpncn.github.io](https://github.com/vpncn/vpncn.github.io) 2024中国VPN推荐以及上网,稳定好用。对比SSR、蓝灯、V2ray、VPS搭梯等上网软件,中国最新上网下载推荐,访问Chatgpt。
* [projectdiscovery/httpx](https://github.com/projectdiscovery/httpx) 快速且多用途的 HTTP 工具包,它允许使用 retryablehttp 库运行多个探针。它旨在通过增加线程数来保持结果可靠性。
* [wangyu-/udp2raw](https://github.com/wangyu-/udp2raw) 使用原始套接字将 UDP 流量转换为加密的 UDP/FakeTCP/ICMP 流量的隧道,帮助您绕过 UDP 防火墙(或不稳定的 UDP 环境)
* [4ra1n/SpringInspector](https://github.com/4ra1n/SpringInspector) Java自动代码审计工具,尤其针对Spring框架,核心原理是模拟JVM栈帧进行分析,无需提供源码,通过一个JAR包即可
* [projectdiscovery/interactsh](https://github.com/projectdiscovery/interactsh) OOB交互收集服务器和客户端库。用于检测带外交互的开源工具。它是一种旨在检测导致外部交互的漏洞的工具。
* [4ra1n/JavaSecInterview](https://github.com/4ra1n/JavaSecInterview) Java安全研究与安全开发面试题库,同是也是常见知识点的梳理和总结,包含问题和详细的答案,计划定期更新
* [OWASP/crAPI](https://github.com/OWASP/crAPI) 将帮助您了解十个最关键的API安全风险。crAPI 在设计上是脆弱的,但您将能够安全地运行它来教育/培训自己。
* [DonatoReis/arno](https://github.com/DonatoReis/arno) 一个自动化工具,用于安装最流行的漏洞赏金或渗透测试工具! 这将为您在设置机器工作时节省 90% 的时间。
* [rootkiter/EarthWorm](https://github.com/rootkiter/EarthWorm) 便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。
* [outflanknl/EvilClippy](https://github.com/outflanknl/EvilClippy) 用于创建恶意 MS Office 文档的跨平台助手。 可以隐藏 VBA 宏,踩踏 VBA 代码(通过 P-Code)并混淆宏分析工具。
* [Safe3/uuWAF](https://github.com/Safe3/uuWAF) 工业级免费、高性能、高扩展,支持AI和语义引擎的Web应用和API安全防护产品-南墙。Web应用防火墙、WAF、WAAP
* [carlospolop/hacktricks](https://github.com/carlospolop/hacktricks) 黑客技巧,找到我从 CTF、现实生活中的应用程序、阅读研究和新闻中学到的每个黑客技巧/技术/任何内容。
* [whwlsfb/BurpCrypto](https://github.com/whwlsfb/BurpCrypto) AES/RSA/DES/ExecJs(execute JS encryption code in burpsuite). 支持多种加密算法或直接执行JS代码的用于爆破的BurpSuite插件
* [b1ackc4t/MarsCTF](https://github.com/b1ackc4t/MarsCTF) Vue+Springboot开发的CTF学习平台,提供动态靶机、学习模块、writeup模块等等CTF平台的核心功能。提供docker版本
* [1N3/IntruderPayloads](https://github.com/1N3/IntruderPayloads) Burpsuite Intruder 有效载荷、BurpBounty 有效载荷、模糊列表、恶意文件上传和 Web 渗透测试方法和清单的集合。
* [Western-OC2-Lab/Intrusion-Detection-System-Using-Machine-Learning](https://github.com/Western-OC2-Lab/Intrusion-Detection-System-Using-Machine-Learning) 使用机器学习算法开发入侵检测系统(决策树,随机森林,额外树,XGBoost,堆栈,k均值,贝叶斯优化..)
* [epsylon/xsser](https://github.com/epsylon/xsser) Cross Site ”Scripter” (aka XSSer) 是一个自动框架,用于检测、利用和报告基于 Web 的应用程序中的 XSS 漏洞。
* [xuanhun/PythonHackingBook1](https://github.com/xuanhun/PythonHackingBook1) Python黑客编程之极速入门 教程分为6个大的部分:Python编程基础 网络安全 Web应用安全 漏洞利用 逆向.
* [D3Ext/WEF](https://github.com/D3Ext/WEF) 一个完全攻击 802.11 网络和协议的框架,具有针对 WPA/WPA2 和 WEP 的不同类型的攻击、自动哈希破解等。
* [G4rb3n/IoT_Sec_Tutorial](https://github.com/G4rb3n/IoT_Sec_Tutorial) IoT安全教程 01-提取IoT固件 02-静态分析IoT固件 03-动态分析IoT固件 04-解密dlink固件 05-修复固件运行环境
* [LC044/WeChatMsg](https://github.com/LC044/WeChatMsg) 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告
* [CoolerVoid/casper-fs](https://github.com/CoolerVoid/casper-fs) 一个自定义隐藏的 Linux 内核模块生成器。每个模块都在文件系统中工作,以保护和隐藏机密文件。
* [lintstar/About-Attack](https://github.com/lintstar/About-Attack) 一个旨在通过应用场景 / 标签对 Github 红队向工具 / 资源进行分类收集,降低红队技术门槛的手册
* [vaxilu/x-ui](https://github.com/vaxilu/x-ui) 支持多协议多用户的 xray 面板,支持的协议:vmess、vless、trojan、shadowsocks、dokodemo-door、socks、http
* [Tencent/secguide](https://github.com/Tencent/secguide) 面向开发人员梳理的代码安全指南,旨在梳理API层面的风险点并提供详实可行的安全编码方案。
* [streaak/keyhacks](https://github.com/streaak/keyhacks) KeyHacks 展示了可以使用在错误赏金计划中找到的特定 API key密钥的方法,以检查它们是否有效。
* [FirmWire/FirmWire](https://github.com/FirmWire/FirmWire) 一个全系统基带固件仿真平台,用于对智能手机基带固件进行模糊测试、调试和根本原因分析
* [OTRF/ThreatHunter-Playbook](https://github.com/OTRF/ThreatHunter-Playbook) 一个社区驱动的开源项目,用于共享检测逻辑、对手的技术和资源,以提高检测开发的效率。
* [Viralmaniar/BigBountyRecon](https://github.com/Viralmaniar/BigBountyRecon) 使用 58 种不同的技术,使用各种 Google dorks 和开源工具来加快对目标组织的初始侦察过程。
* [mitre/caldera](https://github.com/mitre/caldera) 一个网络安全平台,旨在轻松实现对手模拟的自动化、协助手动红队和自动化事件响应。
* [WerWolv/ImHex](https://github.com/WerWolv/ImHex) 一个十六进制编辑器,适用于逆向工程师、程序员和在凌晨 3 点工作时重视视网膜的人。
* [jonaslejon/malicious-pdf](https://github.com/jonaslejon/malicious-pdf) 生成一堆带有 phone-home 功能的恶意 pdf 文件。可以与 Burp Collaborator 或 Interact.sh 一起使用
* [outflanknl/C2-Tool-Collection](https://github.com/outflanknl/C2-Tool-Collection) 通过 BOF 和反射 DLL 加载技术与 Cobalt Strike(以及可能的其他 C2 框架)集成的工具集合。
* [s0md3v/Arjun](https://github.com/s0md3v/Arjun) HTTP 参数发现套件。它使用包含 25,890 个参数名称的巨大默认字典找到有效的 HTTP 参数。
* [evilsocket/jscythe](https://github.com/evilsocket/jscythe) 滥用 node.js 检查器机制以强制任何基于 node.js/electron/v8 的进程执行任意 javascript 代码。
* [ProjectAnte/dnsgen](https://github.com/ProjectAnte/dnsgen) 根据提供的输入生成域名组合。组合是根据单词表创建的。每次执行都会提取自定义词
* [J0o1ey/BountyHunterInChina](https://github.com/J0o1ey/BountyHunterInChina) 重生之我是赏金猎人系列,分享自己和团队在SRC、项目实战漏洞测试过程中的有趣案例
* [SECFORCE/Tunna](https://github.com/SECFORCE/Tunna) 通过 HTTP 包装和隧道化任何 TCP 通信。 它可用于绕过完全防火墙环境中的网络限制。
* [RedTeamPentesting/pretender](https://github.com/RedTeamPentesting/pretender) 您的 MitM 助手,用于中继攻击,具有 DHCPv6 DNS 接管以及 mDNS、LLMNR 和 NetBIOS-NS 欺骗。
* [iagox86/dnscat2](https://github.com/iagox86/dnscat2) 通过 DNS 协议创建加密的命令和控制 (C&C) 通道,这是几乎每个网络的有效通道。
* [fr0gger/Awesome-GPT-Agents](https://github.com/fr0gger/Awesome-GPT-Agents) 由社区创建的编制一份专注于网络安全(进攻性和防御性)的 GPT 代理综合列表。
* [codeyso/CodeTest](https://github.com/codeyso/CodeTest) 脚本工具合集GUI版本,内置漏洞验证、利用模块,可自定义脚本实现批量验证。
* [pluja/awesome-privacy](https://github.com/pluja/awesome-privacy) 令人敬畏的隐私 - 尊重您的隐私的精选服务和替代方案列表,因为隐私很重要。
* [KathanP19/HowToHunt](https://github.com/KathanP19/HowToHunt) 收集各种 Web 漏洞的方法和测试用例。[->gitbook](https://kathan19.gitbook.io/howtohunt/)
* [frida/frida](https://github.com/frida/frida) 面向开发、逆向工程师和安全研究的动态检测工具。-> [rida.re](https://frida.re/)
* [michenriksen/aquatone](https://github.com/michenriksen/aquatone) 跨大量主机对网站进行可视化检查的工具,便于快速了解基于 HTTP 的攻击面。
* [shimmeris/SCFProxy](https://github.com/shimmeris/SCFProxy) 利用云函数实现各种功能的工具。HTTP 代理SOCKS5 代理接收反弹 shellC2 域名隐藏
* [skylot/jadx](https://github.com/skylot/jadx) Dex to Java 反编译器,命令行和GUI工具,用于从Android Dex和Apk文件生成Java源代码
* [trimstray/the-book-of-secret-knowledge](https://github.com/trimstray/the-book-of-secret-knowledge) 一系列鼓舞人心的列表、手册、备忘单、博客、黑客、单行、cli/web 工具等。
* [tombstoneghost/TIWAP](https://github.com/tombstoneghost/TIWAP) 使用 Flask 制作的 Web 安全测试实验室,供新手安全爱好者了解各种 Web 漏洞。
* [weixinbao/ReverseTool](https://github.com/weixinbao/ReverseTool) 逆向工具集合 Java & Jar (Android)、 C++ & So (Android)、 C# & Dll & EXE、iOS
* [Konloch/bytecode-viewer](https://github.com/Konloch/bytecode-viewer) 字节码查看器 - 轻量级的用户友好型Java / Android字节码查看器,反编译器等。
* [BeichenDream/PrintNotifyPotato](https://github.com/BeichenDream/PrintNotifyPotato) 使用PrintNotify COM服务进行提权。适用于Windows 10 – 11、Windows Server 2012 – 2022
* [trimstray/the-practical-linux-hardening-guide](https://github.com/trimstray/the-practical-linux-hardening-guide) 本指南详细介绍了如何创建安全的 Linux 生产系统。OpenSCAP(C2S/CIS、STIG)。
* [GTFOBins/GTFOBins.github.io](https://github.com/GTFOBins/GTFOBins.github.io) Unix 二进制文件的精选列表,可用于绕过配置错误的系统中的本地安全限制
* [sbilly/awesome-security](https://github.com/sbilly/awesome-security) 一系列很棒的软件、图书馆、文档、书籍、资源和有关安全的酷炫内容。
* [erev0s/VAmPI](https://github.com/erev0s/VAmPI) 用 Flask 制作的易受攻击的 API,它包括来自 OWASP 前 10 个 API 漏洞的漏洞。
* [ezshine/wxapkg-convertor](https://github.com/ezshine/wxapkg-convertor) 反编译微信小程序的工具,仓库也收集各种微信小程序/小游戏.wxapkg文件
* [lc/gau](https://github.com/lc/gau) 从 AlienVault 的 Open Threat Exchange、Wayback Machine 和 Common Crawl 获取已知 URL。
* [ffffffff0x/f8x](https://github.com/ffffffff0x/f8x) 红蓝队环境自动部署工具,支持多场景,渗透,开发,代理,服务可选项等.
* [ffuf/ffuf](https://github.com/ffuf/ffuf) Go写的快速网络模糊器 内容发现虚拟主机发现参数模糊POST 模糊测试
* [FelisCatus/SwitchyOmega](https://github.com/FelisCatus/SwitchyOmega) 快速轻松地在多个代理之间管理和切换。该项目可作为Chromium扩展。
* [Lotus6/ThinkphpGUI](https://github.com/Lotus6/ThinkphpGUI) Thinkphp 漏洞利用工具,支持各版本TP漏洞检测,命令执行,getshell。
* [hfiref0x/UACME](https://github.com/hfiref0x/UACME) 通过滥用内置的 Windows AutoElevate 后门来获取Windows 用户帐户控制。
* [jweny/pocassist](https://github.com/jweny/pocassist) 全新的开源漏洞测试框架,实现poc在线编辑、运行、批量测试。
* [sensepost/reGeorg](https://github.com/sensepost/reGeorg) reDuce 的继任者,拥有堡垒 Web 服务器并通过 DMZ 创建 SOCKS 代理。
* [Hack-with-Github/Awesome-Hacking](https://github.com/Hack-with-Github/Awesome-Hacking) 为黑客、渗透测试人员和安全研究人员收集的各种很棒的列表
* [XTLS/Xray-core](https://github.com/XTLS/Xray-core) 穿透一切。也是最好的v2ray核心,支持XTLS。完全兼容的配置。
* [helloSystem/hello](https://github.com/helloSystem/hello) 专注于简单、优雅和可用性的创作者桌面系统。基于 FreeBSD。
* [HolyBugx/HolyTips](https://github.com/HolyBugx/HolyTips) 关于漏洞赏金狩猎和 Web 安全性的注释、清单、文章的集合。
* [0xsanny/solsec](https://github.com/0xsanny/solsec) 用于研究 Solana 智能合约安全、审计和漏洞利用的资源集合。
* [Chuyu-Team/Dism-Multi-language](https://github.com/Chuyu-Team/Dism-Multi-language) Dism++ (功能全面的Windows系统精简工具)多语言支持和 BUG 报告.
* [wetools/wept](https://github.com/wetools/wept) 微信小程序多端实时运行工具.支持iOS 安卓 Mac, Win 以及 Linux
* [fuzzdb-project/fuzzdb](https://github.com/fuzzdb-project/fuzzdb) 黑盒应用程序故障注入和资源发现的攻击模式和原语字典。
* [ph4ntonn/Stowaway](https://github.com/ph4ntonn/Stowaway) 利用go语言编写、专为渗透测试工作者制作的多级代理工具
* [hahwul/dalfox](https://github.com/hahwul/dalfox) 一款功能强大的开源 XSS 扫描工具和参数分析器、实用工具
* [optiv/Mangle](https://github.com/optiv/Mangle) 可操纵已编译的exe 或 DLL的各个方面,以避免被 EDR 检测到
* [xtaci/kcptun](https://github.com/xtaci/kcptun) 基于 KCP 的可靠、安全的隧道,使用 N:M 多路复用和 FEC。
* [lanmaster53/recon-ng](https://github.com/lanmaster53/recon-ng) 开源情报收集工具,减少从开源收集信息所花费的时间。
* [swisskyrepo/PayloadsAllTheThings](https://github.com/swisskyrepo/PayloadsAllTheThings) Web 应用程序安全和 Pentest/CTF 的有用有效负载和绕过列表
* [BeichenDream/Godzilla](https://github.com/BeichenDream/Godzilla) 内置3种Payload以及6种加密器,6种支持脚本后缀,20内置插件
* [p1ngul1n0/blackbird](https://github.com/p1ngul1n0/blackbird) 一个 OSINT 工具,用于在社交网络中按用户名搜索帐户。
* [DavidBuchanan314/dlinject](https://github.com/DavidBuchanan314/dlinject) 将共享库(即任意代码)注入实时 Linux 进程,无需跟踪
* [danluu/post-mortems](https://github.com/danluu/post-mortems) 互联网公司和平台事故及相关故障的事后分析的集合。
* [vxunderground/MalwareSourceCode](https://github.com/vxunderground/MalwareSourceCode) 收集各种不同编程语言、各种平台的恶意软件源代码。
* [chaitin/veinmind-tools](https://github.com/chaitin/veinmind-tools) 长亭科技自研,基于 veinmind-sdk 打造的容器安全工具集
* [yhy0/github-cve-monitor](https://github.com/yhy0/github-cve-monitor) 实时监控github上新的cve和工具更新,多渠道推送通知
* [HummerRisk/HummerRisk](https://github.com/HummerRisk/HummerRisk) 云原生安全平台,包括混合云安全治理和安全检测。
* [DataDog/threatest](https://github.com/DataDog/threatest) 一个用于端到端测试威胁检测规则的 CLI 和 Go 框架。
* [k4m4/movies-for-hackers](https://github.com/k4m4/movies-for-hackers) 每个黑客和赛博朋克都必须观看的电影的精选列表。
* [redcode-labs/Coldfire](https://github.com/redcode-labs/Coldfire) Golang 中的恶意软件开发库 提供了各种有用的方法。
* [biggerduck/RedTeamNotes](https://github.com/biggerduck/RedTeamNotes) 红队笔记 ,涉及代码审计/打点/免杀/内网渗透等方向
* [v1s1t0r1sh3r3/airgeddon](https://github.com/v1s1t0r1sh3r3/airgeddon) 多用途的 bash 脚本,用于 Linux 系统审计无线网络。
* [2dust/v2rayN](https://github.com/2dust/v2rayN) 适用于Windows的GUI客户端,支持Xray核心和v2fly核心等
* [projectdiscovery/uncover](https://github.com/projectdiscovery/uncover) 使用多个搜索引擎快速发现互联网上暴露的主机。
* [xiecat/fofax](https://github.com/xiecat/fofax) 基于[ofa.info](https://fofa.info/) API 的命令行查询工具
* [michaelweber/Macrome](https://github.com/michaelweber/Macrome) 用于红队和分析师的 Excel 宏文档阅读器/编写器。
* [knownsec/pocsuite3](https://github.com/knownsec/pocsuite3) 由 Knownsec 404 团队开发的开源远程漏洞测试框架。
* [BWASP/BWASP](https://github.com/BWASP/BWASP) 一个开源的分析工具,用于支持 Web 漏洞手动分析
* [smicallef/spiderfoot](https://github.com/smicallef/spiderfoot) 自动化 OSINT 以获取威胁情报并映射您的攻击面。
* [hluwa/frida-dexdump](https://github.com/hluwa/frida-dexdump) frida 工具,将dex转储到内存中以分析恶意软件。
* [7dog7/bottleneckOsmosis](https://github.com/7dog7/bottleneckOsmosis) 瓶颈渗透,web渗透,red红队,fuzz param,注释,js字典,ctf
* [qianxiao996/CTF-Tools](https://github.com/qianxiao996/CTF-Tools) Python+Pyqt写的CTF编码、解码、加密、解密工具。
* [Idov31/Sandman](https://github.com/Idov31/Sandman) 基于 NTP 的后门,用于强化网络中的红队参与。
* [Yyyyshen/HackTechLearning](https://github.com/Yyyyshen/HackTechLearning) 学习《Windows黑客编程技术详解》 每个例子都有
* [carlospolop/PEASS-ng](https://github.com/carlospolop/PEASS-ng) 适用于 Win、Linux/Unix* 和 MacOS 的权限提升工具。
* [imthenachoman/How-To-Secure-A-Linux-Server](https://github.com/imthenachoman/How-To-Secure-A-Linux-Server) 用于保护 Linux 服务器的不断发展的操作指南。
* [RickGray/vscan-go](https://github.com/RickGray/vscan-go) 用于nmap 服务和应用程序版本检测的 golang 版本
* [threat9/routersploit](https://github.com/threat9/routersploit) 专用于嵌入式设备的开源渗透测试开发框架。
* [projectdiscovery/nuclei-templates](https://github.com/projectdiscovery/nuclei-templates) 社区核心引擎模板列表,用于查找安全漏洞。
* [p0dalirius/DumpSMBShare](https://github.com/p0dalirius/DumpSMBShare) 从 Windows 共享 SMB 转储文件和文件夹的脚本。
* [m4ll0k/Atlas](https://github.com/m4ll0k/Atlas) 快速 SQLMap 篡改建议器.Quick SQLMap Tamper Suggester
* [tomnomnom/httprobe](https://github.com/tomnomnom/httprobe) 获取域列表并探测工作的 HTTP 和 HTTPS 服务器
* [ncabatoff/process-exporter](https://github.com/ncabatoff/process-exporter) 挖掘 /proc 以报告选定进程的 Prometheus 导出器
* [banach-space/llvm-tutor](https://github.com/banach-space/llvm-tutor) 用于教学和学习的 out-of-tree LLVM passes 的集合
* [MountCloud/FireKylin](https://github.com/MountCloud/FireKylin) 麒麟-网络安全应急响应工具(系统痕迹采集)
* [Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire) 旨在展示API安全领域独特的攻击和防御方法
* [CTF-MissFeng/NmapBrutes](https://github.com/CTF-MissFeng/NmapBrutes) 解析nmap扫描结果,并调用hydra进行暴力破解
* [ron190/jsql-injection](https://github.com/ron190/jsql-injection) 用于自动 SQL 数据库注入的 Java 应用程序。
* [0xrawsec/whids](https://github.com/0xrawsec/whids) 适用于 Windows 的开源 EDR(终端检测与响应)
* [zhkl0228/unidbg](https://github.com/zhkl0228/unidbg) 允许您模拟 Android 本机库和实验性 iOS 模拟
* [233boy/v2ray](https://github.com/233boy/v2ray) 最好用的 V2Ray 一键安装脚本 & 管理脚本
* [vitalysim/Awesome-Hacking-Resources](https://github.com/vitalysim/Awesome-Hacking-Resources) 黑客/渗透测试资源集合,让您变得更好!
* [VMsec/iisScaner](https://github.com/VMsec/iisScaner) 多线程批量检测IIS短文件名漏洞+漏洞利用
* [Lissy93/personal-security-checklist](https://github.com/Lissy93/personal-security-checklist) 保护您的数字安全和隐私的精选提示清单
* [AntSwordProject/antSword](https://github.com/AntSwordProject/antSword) 中国蚁剑是跨平台的开源网站管理工具。
* [wh1t3p1g/ysomap](https://github.com/wh1t3p1g/ysomap) 一个有用的 Java 反序列化漏洞利用框架。
* [whydee86/PlayWithDefender](https://github.com/whydee86/PlayWithDefender) 禁用和启用 Windows 防御者保护的简单工具
* [Idov31/MrKaplan](https://github.com/Idov31/MrKaplan) 帮助红队成员通过清除处决证据来隐藏。
* [jaeles-project/jaeles](https://github.com/jaeles-project/jaeles) 用于自动化 Web 应用程序测试的瑞士军刀
* [hq450/fancyss](https://github.com/hq450/fancyss) 为ASUSWRT / Merlin的路由器提供代理工具。
* [t3l3machus/toxssin](https://github.com/t3l3machus/toxssin) XSS 利用命令行界面和有效负载生成器。
* [stark0de/nginxpwner](https://github.com/stark0de/nginxpwner) 用于查找常见的 Nginx 配置错误和漏洞。
* [LandGrey/domainNamePredictor](https://github.com/LandGrey/domainNamePredictor) 现代公司域名使用规律预测及生成工具
* [EdOverflow/bugbounty-cheatsheet](https://github.com/EdOverflow/bugbounty-cheatsheet) 漏洞猎人的载荷、提示和技巧的列表。
* [tomnomnom/meg](https://github.com/tomnomnom/meg) 为许多主机获取许多路径 - 不杀死主机
* [maK-/parameth](https://github.com/maK-/parameth) 该工具可用于暴力发现 GET 和 POST 参数
* [pen4uin/pentest-note](https://github.com/pen4uin/pentest-note) 渗透测试☞经验/思路/想法/总结/笔记
* [MatrixTM/MHDDoS](https://github.com/MatrixTM/MHDDoS) 最佳 DDoS 攻击脚本 Python3,有 56 种方法
* [daffainfo/AllAboutBugBounty](https://github.com/daffainfo/AllAboutBugBounty) 关于漏洞赏金(绕过、有效负载等)
* [redteamsocietegenerale/DLLirant](https://github.com/redteamsocietegenerale/DLLirant) 自动的DLL劫持研究一个特定的二进制
* [Manisso/fsociety](https://github.com/Manisso/fsociety) fsociety 黑客工具包 – 渗透测试框架
* [ybdt/post-hub](https://github.com/ybdt/post-hub) 传播代理、C2、免杀、横向、域渗透
* [reidmu/sec-note](https://github.com/reidmu/sec-note) 记录安全方面的笔记/工具/漏洞合集
* [acidanthera/OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) 带有开发SDK的OpenCore引导加载程序。
* [DawnFlame/POChouse](https://github.com/DawnFlame/POChouse) POC&EXP仓库、hvv弹药库、Nday、1day
* [carpedm20/awesome-hacking](https://github.com/carpedm20/awesome-hacking) 黑客教程,工具和资源的精选列表
* [s0md3v/uro](https://github.com/s0md3v/uro) 整理用于爬行/渗透测试的 url 列表
* [3xpl01tc0d3r/ProcessInjection](https://github.com/3xpl01tc0d3r/ProcessInjection) 该程序旨在演示各种进程注入技术
* [Tencent/secguide](https://github.com/Tencent/secguide) 面向开发人员梳理的代码安全指南
* [kadenzipfel/smart-contract-attack-vectors](https://github.com/kadenzipfel/smart-contract-attack-vectors) 智能合约攻击向量以及预防方法。
* [hlldz/pickl3](https://github.com/hlldz/pickl3) Windows 活动用户凭据网络钓鱼工具
* [djadmin/awesome-bug-bounty](https://github.com/djadmin/awesome-bug-bounty) Bug 赏金计划的综合列表和文章。
* [lab52io/LeakedHandlesFinder](https://github.com/lab52io/LeakedHandlesFinder) 泄露的 Windows 进程句柄识别工具
* [daffainfo/Oneliner-Bugbounty](https://github.com/daffainfo/Oneliner-Bugbounty) 用于 bug 赏金的集合 oneliner 脚本
* [vavkamil/awesome-bugbounty-tools](https://github.com/vavkamil/awesome-bugbounty-tools) 各种错误bug赏金工具的精选列表
* [YDHCUI/manjusaka](https://github.com/YDHCUI/manjusaka) 基于WEB界面的仿CobaltStrike C2远控
* [UzJu/Cloud-Bucket-Leak-Detection-Tools](https://github.com/UzJu/Cloud-Bucket-Leak-Detection-Tools) 六大云存储,泄露利用检测工具
* [sqlmapproject/sqlmap](https://github.com/sqlmapproject/sqlmap) 自动 SQL 注入和数据库接管工具
* [techgaun/github-dorks](https://github.com/techgaun/github-dorks) 通过 github 搜索找到泄露的秘密
* [NextronSystems/ransomware-simulator](https://github.com/NextronSystems/ransomware-simulator) 用 Golang 编写的勒索软件模拟器
* [lu2ker/PHP-Code](https://github.com/lu2ker/PHP-Code) 通过ThinkPHP框架学习PHP代码审计
* [ac0d3r/Hyuga](https://github.com/ac0d3r/Hyuga) 监控带外(Out-of-Band)流量的工具
* [Power7089/PenetrationTest-Tips](https://github.com/Power7089/PenetrationTest-Tips) 渗透测试小技巧,渗透测试Tips
* [DanMcInerney/xsscrapy](https://github.com/DanMcInerney/xsscrapy) XSS 蜘蛛 - 检测到 66/66 wavsep XSS
* [SafeGroceryStore/Caesar](https://github.com/SafeGroceryStore/Caesar) 一个全新的敏感文件发现工具
* [0xJin/awesome-bugbounty-builder](https://github.com/0xJin/awesome-bugbounty-builder) 令人敬畏的bug赏金建设者项目
* [qilingframework/qiling](https://github.com/qilingframework/qiling) 真正可检测的二进制仿真框架
* [Cool-Coding/remote-desktop-control](https://github.com/Cool-Coding/remote-desktop-control) 远程桌面控制(Spring+Netty+Swing)
* [Dliv3/Venom](https://github.com/Dliv3/Venom/) 使用Go开发的多级代理工具。
* [xuedingmiaojun/wxappUnpacker](https://github.com/xuedingmiaojun/wxappUnpacker) 小程序反编译(支持分包)
* [metaStor/SpringScan](https://github.com/metaStor/SpringScan) SpringScan 漏洞检测 Burp插件
* [olist213/Information_Security_Books](https://github.com/olist213/Information_Security_Books) 信息安全方面的书籍书籍
* [huiyadanli/RevokeMsgPatcher](https://github.com/huiyadanli/RevokeMsgPatcher) PC版微信/QQ/TIM防撤回补丁
* [jhaddix/tbhm](https://github.com/jhaddix/tbhm) Bug Hunters 漏洞猎人方法论
* [teamssix/twiki](https://github.com/teamssix/twiki) 面向云安全方向的知识库
* [rootkit-io/awesome-malware-development](https://github.com/rootkit-io/awesome-malware-development) 恶意软件开发资源的列表
* [AntSwordProject/ant](https://github.com/AntSwordProject/ant) 实时上线的 XSS 盲打平台
* [rabbitmask/WeblogicScan](https://github.com/rabbitmask/WeblogicScan) Weblogic一键漏洞检测工具
* [safe6Sec/PentestDB](https://github.com/safe6Sec/PentestDB) 各种数据库的利用姿势
* [timwhitez/Frog-checkCDN](https://github.com/timwhitez/Frog-checkCDN) 批量检查目标是否为cdn
* [NyDubh3/Pentesting-Active-Directory-CN](https://github.com/NyDubh3/Pentesting-Active-Directory-CN) 域渗透脑图中文翻译版
* [slowmist/cryptocurrency-security](https://github.com/slowmist/cryptocurrency-security) 加密资产安全解决方案
* [FeeiCN/GSIL](https://github.com/FeeiCN/GSIL) GitHub敏感信息泄露监控
* [sharkdp/hexyl](https://github.com/sharkdp/hexyl) 命令行十六进制查看器
* [neargle/my-re0-k8s-security](https://github.com/neargle/my-re0-k8s-security) 从零开始Kubernetes攻防
* [yzddmr6/As-Exploits](https://github.com/yzddmr6/As-Exploits) 中国蚁剑后渗透框架
* [Ryze-T/Sylas](https://github.com/Ryze-T/Sylas) 数据库综合利用工具
* [Lazenca/Kernel-exploit-tech](https://github.com/Lazenca/Kernel-exploit-tech) Linux 内核开发教程。
* [AnLoMinus/Bug-Bounty](https://github.com/Anlominus/Bug-Bounty) 很棒的漏洞赏金工具
* [nahamsec/Resources-for-Beginner-Bug-Bounty-Hunters](https://github.com/nahamsec/Resources-for-Beginner-Bug-Bounty-Hunters) 初学者漏洞猎人资源
* [shadowsocks/shadowsocks-rust](https://github.com/shadowsocks/shadowsocks-rust) Rust 的 shadowsocks 接口
* [Impact-I/reFlutter](https://github.com/Impact-I/reFlutter) Flutter 逆向工程框架
* [teamssix/container-escape-check](https://github.com/teamssix/container-escape-check) Docker 容器逃逸检测
* [pen4uin/awesome-java-security](https://github.com/pen4uin/awesome-java-security) Java安全☞漏洞研究
* [mack-a/v2ray-agent](https://github.com/mack-a/v2ray-agent) Xray多合一一键脚本
* [payloadbox/sql-injection-payload-list](https://github.com/payloadbox/sql-injection-payload-list) SQL 注入负载列表
* [JDArmy/DCSec](https://github.com/JDArmy/DCSec) 专注于域控安全
* [Sakurasan/scf-proxy](https://github.com/Sakurasan/scf-proxy) 云函数代理服务
* [1ndianl33t/Bug-Bounty-Roadmaps](https://github.com/1ndianl33t/Bug-Bounty-Roadmaps) Bug赏金路线图
* [pen4uin/cloud-native-security](https://github.com/pen4uin/cloud-native-security) 云原生安全
* [AntSwordProject/AntSword-Loader](https://github.com/AntSwordProject/AntSword-Loader) 蚁剑加载器
## 加密_密码破解_字典
* [weidai11/cryptopp](https://github.com/weidai11/cryptopp) Crypto++是一个免费的 C++ 密码学方案类库,包含了多种算法,例如认证加密方案(GCM、CCM、EAX、ChaCha20Poly1305、XChaCha20Poly1305)、高速流密码(ChaCha、Panama、Salsa20、Sosemanuk、XSalsa20、XChaCha20)、AES 和 AES 候选算法(AES、RC6、MARS、Twofish、Serpent、CAST-256)、其他分组密码(ARIA、Blowfish、Camellia、CHAM、HIGHT、IDEA、Kalyna、LEA、SEED、RC5、SHACAL-2、SIMON、Skipjack、SPECK、Simeck、SM4、Threefish、Triple-DES、TEA、XTEA)、分组密码操作模式(ECB、CBC、CTS、CFB、OFB、CTR、XTS)、消息认证码(BLAKE2s、BLAKE2b、CMAC、CBC-MAC、DMAC、GMAC、HMAC、Poly1305、SipHash、Two-Track-MAC、VMAC)、哈希函数(BLAKE2s、BLAKE2b、Keccack、LSH、SHA-1、SHA-2、SHA-3、SHAKE、SipHash、SM3、Tiger、RIPEMD、WHIRLPOOL)、公钥密码学(RSA、DSA、Deterministic DSA、ElGamal、Nyberg-Rueppel、Rabin-Williams、LUC、LUCELG、ECGDSA、DLIES、ESIGN)、公钥系统填充方案(PKCS#1 v2.0、OAEP、PSS、PSSR、IEEE P1363 EMSA2 和 EMSA5)、密钥协商方案(Diffie-Hellman、Unified Diffie-Hellman、Menezes-Qu-Vanstone、HashedMQV、Fully Hashed MQV、LUCDIF、XTR-DH)、椭圆曲线密码学(ECDSA、Deterministic ECDSA、ed25519、ECNR、ECIES、ECDH、ECMQV、x25519)、不安全或过时的算法(MD2、MD4、MD5、Panama Hash、DES、ARC4、SEAL)、用于向后兼容性和历史价值的算法(3.0、WAKE-OFB、DESX、RC2、SAFER、3-WAY、GOST、SHARK、CAST-128、Square)。此外,该库还提供伪随机数生成器(PRNG)、基于密码的密钥派生函数、Shamir 秘密共享方案、Rabin 信息分散算法、快速多精度整数(bignum)和多项式运算、有限域算术、素数生成和验证以及其他有用的非密码学算法,例如 DEFLATE 压缩/解压缩、Hex、base-32、base-64、URL 安全 base-64 编码和解码。
* [keepassxreboot/keepassxc](https://github.com/keepassxreboot/keepassxc) 现代、安全且开源的密码管理器,可存储和管理您最敏感的信息。您可以在 Windows、macOS 和 Linux 系统上运行 KeePassXC。适用于对安全个人数据管理有极高要求的人。它将许多不同类型的信息(例如用户名、密码、URL、附件和注释)保存在一个离线加密文件中,该文件可以存储在任何位置,包括私有云和公共云解决方案。为了便于识别和管理,可以为条目指定用户定义的标题和图标。此外,条目被分类为可自定义的组。集成的搜索功能允许您使用高级模式轻松查找数据库中的任何条目。可自定义、快速且易于使用的密码生成器实用程序允许您使用任意字符组合或易于记忆的密码短语创建密码。
* [fail2ban/fail2ban](https://github.com/fail2ban/fail2ban) 用于禁止导致多个身份验证错误的主机的守护程序,Fail2Ban 扫描日志文件,例如 `/var/log/auth.log` 并禁止 IP 地址进行过多失败的登录尝试。它通过更新系统防火墙规则来拒绝来自这些 IP 地址的新连接,并在可配置的时间内实现此目的。Fail2Ban 开箱即用,可以读取许多标准日志文件,例如 sshd 和 Apache 的日志文件,并且可以轻松配置为读取您选择的任何日志文件,以处理您希望的任何错误。尽管 Fail2Ban 能够降低错误身份验证尝试的速率,但它无法消除弱身份验证带来的风险。如果确实想要保护服务,请将服务设置为仅使用双因素或公共/私有身份验证机制。
* [Cyan4973/xxHash](https://github.com/Cyan4973/xxHash) xxHash 是一种极快的哈希算法,以 RAM 速度限制进行处理。代码具有高度的可移植性,并在所有平台上生成相同的哈希值(小端/大端)。该库包括以下算法:XXH32:使用 32 位算术生成 32 位哈希;XXH64:使用 64 位算术生成 64 位哈希;XXH3(自 v0.8.0 起):使用矢量化算术生成 64 位或 128 位哈希。128 位变体称为 XXH128。所有变体都成功完成了 SMHasher 测试套件,该套件评估哈希函数的质量(碰撞、色散和随机性)。此外,还提供了其他测试,这些测试可以更全面地评估 64 位哈希的速度和冲突属性。
* [veracrypt/VeraCrypt](https://github.com/veracrypt/VeraCrypt) VeraCrypt是基于 TrueCrypt 7.1a 的开源磁盘加密软件,它提供了强大的安全保障,并对原版进行了安全增强和修改。该项目包含 Windows、Linux、Mac OS X 和 FreeBSD 平台的源代码,用户需要同意并遵守许可协议才能使用该代码。VeraCrypt 的Windows 版本需要使用 Windows SDK for Windows 8.1 进行编译,并使用数字证书进行签名和打包。Linux 和 Mac OS X 版本需要使用GNU Make、GNU C++ Compiler 和 YASM 等工具进行编译。VeraCrypt 的 EFI 启动加载器源代码已在 LGPL 许可下发布,并可在 GitHub 上获取。
* [hashicorp/vault](https://github.com/hashicorp/vault) Vault是一个用于安全访问密钥的工具,可以安全地存储各种敏感信息,例如API 密钥、密码、证书等。它提供统一的接口来管理所有密钥,并提供严格的访问控制和详细的审计日志。Vault 可以存储任意键值对,并在写入持久存储之前对数据进行加密,防止未经授权访问。它还可以动态生成密钥,例如为 AWS 或 SQL 数据库生成凭据,并在租赁期结束后自动撤销。此外,Vault 还支持数据加密、租赁和续期、撤销等功能,帮助用户安全地管理密钥并控制访问权限。
* [StackExchange/blackbox](https://github.com/StackExchange/blackbox) BlackBox是一个用于在 Git、Mercurial、Subversion 或 Perforce 等版本控制系统仓库中安全存储密钥的工具。它使用 Gnu Privacy Guard (GPG) 对仓库中的特定文件进行加密,使其在存储时处于加密状态。BlackBox 提供简单易用的命令,方便用户对文件进行解密,以便查看、编辑或在生产环境中使用。BlackBox 的目标是简化 GPG 的使用,使其更易于使用,并适合用于存储诸如 Conjur、AWS KMS、Azure Key Vault 或 GCP KMS 等安全服务的 API 密钥,从而确保密钥的安全。
* [microsoft/SEAL](https://github.com/microsoft/SEAL) Microsoft SEAL是一个易于使用且功能强大的同态加密库,由微软密码学和隐私研究小组开发,采用 MIT 许可证开源。SEAL 使用现代标准 C++ 编写,易于编译并在多种环境中运行。SEAL 支持多种同态加密方案,包括 BGV 方案,并提供 CKKS 方案的EVA 编译器,可用于高效的同态计算。SEAL 还提供 SEAL-Embedded 库,用于在嵌入式设备上进行 CKKS 加密。用户可以通过 NuGet 包或 vcpkg 安装 SEAL,并使用提供的示例和文档进行学习和开发。
* [robinmoisson/staticrypt](https://github.com/robinmoisson/staticrypt) StatiCrypt是一款无需服务器逻辑的静态网页加密工具,使用 AES-256 和 WebCrypto 在浏览器中对静态 HTML 页面进行加密,并通过密码保护,可用于 Netlify、GitHub Pages 等静态托管平台。用户可以通过在线工具或 CLI 对 HTML 文件进行加密,并生成包含加密内容和解密脚本的静态 HTML 页面,无需任何后端支持。StatiCrypt 支持通过环境变量设置密码,并提供批量加密功能,方便用户对多个 HTML 文件进行加密。
* [PowerShell/Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH) 该项目是 OpenSSH 的 Windows 移植版本,主要用于跟踪发布和问题,并提供构建 OpenSSH for Windows 的指南。当前的开发工作已转移到openssh-portable 项目,该项目提供了 OpenSSH 的可移植版本,支持 Windows 和其他平台。该项目还包含一个 wiki,其中包含构建OpenSSH for Windows 的详细步骤,包括使用 LibreSSL 密码库。该项目还包含一个发布历史记录,列出了所有已发布的版本和相应的源代码链接。
* [wolfSSL/wolfssl](https://github.com/wolfSSL/wolfssl) wolfSSL是一个轻量级、快速、可移植的TLS/SSL库,专为嵌入式设备到云端的应用而设计。它支持TLS 1.3和DTLS1.3,比OpenSSL小20倍,并提供ChaCha20、Curve25519、Blake2b和后量子TLS1.3组等先进的密码。wolfSSL基于wolfCrypt密码库,并通过了FIPS 140-2验证。wolfSSL支持最新的标准,包括SSL 3.0、TLS 1.0、TLS 1.1、TLS 1.2、TLS 1.3、DTLS 1.0、DTLS 1.2和DTLS 1.3,并提供跨平台、免版税和OpenSSL兼容API等特性。
* [gojue/ecapture](https://github.com/gojue/ecapture) eCapture是一款使用eBPF技术在Linux/Android系统上捕获SSL/TLS明文内容的工具,无需CA证书。它支持x86_64 4.18及以上和aarch64 5.5及以上内核版本,并需要root权限。eCapture支持openssl、libressl、boringssl、gnutls、nspr(nss)等库,以及GoTLS库,并提供bash命令审计和mysql查询SQL审计功能。用户可以通过下载ELF二进制文件或Docker镜像的方式使用eCapture,并通过命令行参数控制其功能。
* [bitwarden/server](https://github.com/bitwarden/server) BitwardenServer 是 Bitwarden 密码管理器的后端,包含 API、数据库和 Docker 等核心基础设施组件,使用 C# 和 .NET Core 编写,数据库使用 T-SQL/SQL Server。该项目支持跨平台开发、构建、运行和部署,可在 Windows、macOS 和 Linux 上使用。开发者可参考文档进行部署,使用 Docker 容器在各平台上快速部署。Bitwarden 欢迎代码贡献,并鼓励安全审计和反馈。
* [HoAd-sc/R-dict](https://github.com/HoAd-sc/R-dict) R-dict是一个渗透测试字典,包含一些常用的字典,可用于渗透测试、SRC 漏洞挖掘、红队黑盒测试等。该项目旨在提供一些常用的字典,方便用户进行渗透测试,但用户需自行判断使用场景,避免造成不必要的损失。项目不提供任何法律责任,用户需自行承担使用风险。
* [openssl/openssl](https://github.com/openssl/openssl) 强大的、商业级的、功能齐全的开源工具包,适用于 TLS(以前称为 SSL)、DTLS 和 QUIC(目前仅限客户端)协议。协议实现基于一个完整的通用加密库,该库也可以独立使用。还包括一个经过验证符合 FIPS 标准的加密模块。
* [hashcat/hashcat](https://github.com/hashcat/hashcat) 世界上速度最快、最先进的密码恢复实用程序,支持 300 多种高度优化的哈希算法的五种独特攻击模式。hashcat 目前支持 Linux、Win 和 macOS 上的 CPU、GPU 和其他硬件加速器,并具有帮助实现分布式密码破解的工具。
* [getsops/sops](https://github.com/getsops/sops) 用于管理机密的简单灵活的工具,一个加密文件编辑器,支持 YAML、JSON、ENV、INI 和 BINARY 格式,并使用 AWS KMS、GCP KMS、Azure Key Vault、age 和 PGP 进行加密。
* [certbot/certbot](https://github.com/certbot/certbot) Certbot 是 EFF 的工具,用于从 Let‘s Encrypt 获取证书,并(可选)在您的服务器上自动启用 HTTPS。它还可以充当使用 ACME 协议的任何其他 CA 的客户端。
* [drduh/YubiKey-Guide](https://github.com/drduh/YubiKey-Guide) 使用 YubiKey 作为智能卡来存储 GPG 加密、签名和身份验证密钥的指南,这些密钥也可用于 SSH。本文档中的许多原则适用于其他智能卡设备。
* [Leon406/ToolsFx](https://github.com/Leon406/ToolsFx) 基于kotlin+tornadoFx的跨平台密码学工具箱.包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功能,ctf等实用功能,支持插件
* [zricethezav/gitleaks](https://github.com/zricethezav/gitleaks) 用于检测和防止git repos 中的密码、api 密钥和令牌等硬编码秘密。易于使用的一体化解决方案,用于检测代码中过去或现在的秘密。
* [pyca/cryptography](https://github.com/pyca/cryptography) 为 Python 开发人员提供加密配方和原语的包。包括常见加密算法(如对称密码、消息摘要和密钥派生函数)的高级配方和低级接口。
* [gentilkiwi/mimikatz](https://github.com/gentilkiwi/mimikatz) 从内存中提取明文密码、哈希、PIN 码和 kerberos 票证。还可以执行 pass-the-hash、pass-the-ticket 或构建*Golden Tickets*。
* [0xHJK/TotalPass](https://github.com/0xHJK/TotalPass) 默认密码扫描器 是否存在默认密码搜索常见设备默认密码支持手动和自动更新密码库 扫描类型有SSHTelnetSNMPRedis
* [dani-garcia/vaultwarden](https://github.com/dani-garcia/vaultwarden) 用 Rust 编写的非官方 Bitwarden 兼容服务器。Bitwarden 是一款安全的密码管理应用,帮助您保存密码并保证安全。
* [L-codes/pwcrack-framework](https://github.com/L-codes/pwcrack-framework) 用Ruby编写的密码自动破解框架,目前提供了 22 个在线破解和 29 个离线破解接口,支持 52 种算法破解
* [insightglacier/Dictionary-Of-Pentesting](https://github.com/insightglacier/Dictionary-Of-Pentesting) Pentesing、Fuzzing、Bruteforce 和 BugBounty 等字典项目。渗透测试、SRC漏洞、爆破、Fuzzing等字典收集项目。
* [massgravel/Microsoft-Activation-Scripts](https://github.com/massgravel/Microsoft-Activation-Scripts) 使用 HWID / Ohook / KMS38 / Online KMS 激活方法的 Windows 和 Office 激活器,开源代码和较少的防病毒检测。
* [liamg/dismember](https://github.com/liamg/dismember) Linux 工具包,可用于扫描所有进程(或特定进程)的内存以查找公共机密和自定义正则表达式等。
* [sry309/PwdBUD](https://github.com/sry309/PwdBUD) 一款SRC密码生成工具,尝试top字典无果后,可以根据域名、公司名等因素来生成特定的字典
* [gravitational/teleport](https://github.com/gravitational/teleport) 保护对所有基础架构的访问。Teleport 为基础设施提供连接、身份验证、访问控制和审计。
* [914525753/Sh4d0w-BlastingDictionary](https://github.com/914525753/Sh4d0w-BlastingDictionary) 搜集的爆破字典,包括常用用户名、密码弱口令、XSS的on事件遍历、SQL万能密码等
* [google/tink](https://github.com/google/tink) 多语言、跨平台开源库,提供安全、易于正确使用且不滥用的加密 API。
* [Infisical/infisical](https://github.com/Infisical/infisical) 开源密钥管理平台:在团队/基础架构中同步密钥并防止密钥泄露。
* [Ciphey/Ciphey](https://github.com/Ciphey/Ciphey) 在不知道密钥或密码的情况下自动解密加密,解码编码和破解哈希
* [jedisct1/libsodium](https://github.com/jedisct1/libsodium) 易于使用的全新软件库,用于加密、解密、签名、密码哈希等。
* [whiteknight7/wordlist](https://github.com/whiteknight7/wordlist) 常用字典,弱用户名、弱口令、目录列表等。
* [moonD4rk/HackBrowserData](https://github.com/moonD4rk/HackBrowserData) 可全平台运行的浏览器数据导出解密工具。
* [t43Wiu6/blackJack-Dicts](https://github.com/t43Wiu6/blackJack-Dicts) 参考十余个项目整理的目录和文件字典。
* [Karanxa/Bug-Bounty-Wordlists](https://github.com/Karanxa/Bug-Bounty-Wordlists) 包含在寻找错误时使用的所有重要字典
* [keeweb/keeweb](https://github.com/keeweb/keeweb) 与KeePass兼容的免费跨平台密码管理器
* [bitsadmin/fakelogonscreen](https://github.com/bitsadmin/fakelogonscreen) 伪造 Windows 登录屏幕以窃取密码
* [zapstiko/wordlists](https://github.com/zapstiko/wordlists) 所有类型的有效负载字典。
* [JDArmy/SharpXDecrypt](https://github.com/JDArmy/SharpXDecrypt) Xshell全版本密码恢复工具
* [baihengaead/wifi-crack-tool](https://github.com/baihengaead/wifi-crack-tool) WiFi密码暴力破解工具-图形界面,支持WPA/WPA2/WPA3、多开并发、自动破解、自定义密码本、自动生成密码字典
## 安卓Android
* [tiann/KernelSU](https://github.com/tiann/KernelSU) KernelSU是一个基于内核的 Android 设备 Root 解决方案,它提供内核级 `su`命令和 Root 权限管理。KernelSU 基于 OverlayFS 模块系统,并支持 App Profile 功能,可以将 Root 权限限制在特定应用内。KernelSU 官方支持 Android GKI 2.0 设备(内核 5.10+),并兼容部分旧内核 (4.14+),支持 WSA、ChromeOS 和容器化 Android。目前仅支持 arm64-v8a 和 x86_64 架构。用户可通过官方网站获取安装和构建指南,并通过 Weblate 平台参与翻译。安全漏洞可通过 SECURITY.md 文件进行报告。KernelSU 的内核部分使用 GPL-2.0 协议,其他部分使用 GPL-3.0 协议。该项目借鉴了 kernel-assisted-superuser、Magisk、genuine 和 Diamorphine 等项目的经验。
* [mvt-project/mvt](https://github.com/mvt-project/mvt) MVT(移动验证工具包)有助于对移动设备进行取证,以发现潜在威胁的迹象。移动验证工具包 (MVT) 是一个实用程序集合,用于简化和自动化收集取证跟踪的过程,有助于识别 Android 和 iOS 设备的潜在危害。MVT 支持使用公共危害指示器 (IOC)扫描移动设备,以查找已知间谍软件活动的潜在目标或感染痕迹。这包括国际特赦组织和其他研究小组发布的国际奥委会。MVT 的目的是促进对可能成为复杂移动间谍软件攻击目标的设备进行一致的取证分析,特别是民间社会和边缘化社区的成员。我们不希望 MVT 侵犯未经同意的个人的隐私。为了实现这一目标,MVT 在自己的许可证下发布。
* [tiann/epic](https://github.com/tiann/epic) Epic是 Dexposed 在 ART 环境下的延续,支持 Android 5.0 到 11版本,提供非侵入式的 AOP 框架,无需注解处理器、编织器或字节码重写器,只需在应用初始化阶段加载一个 JNI 库即可实现 AOP 功能,支持对应用代码和运行在应用进程中的Android 框架代码进行 Hook。Epic 保持了 Dexposed 的 API 和功能,可用于经典 AOP 编程、代码插桩、安全审计等场景。集成方法是将 epic aar 添加到项目中作为编译库,并使用 Gradle 依赖进行配置。项目提供了示例代码,展示了如何监控线程创建和销毁、拦截 Dex 加载行为等操作。
* [cinit/QAuxiliary](https://github.com/cinit/QAuxiliary) QAuxiliary是一个基于 QNotified 的开源 Xposed 模块,用于增强 QQ、TIM 等聊天软件的功能。它支持 Android 7.0 以上系统,并兼容 QQ 8.2.0 以上、TIM 2.2.0 以上、QQLite 4.0 以上和 QQ HD5.9.3 以上版本。用户可以通过 QQ 或 TIM 自带的设置界面进入 QAuxiliary 的配置页面。该项目鼓励用户提交代码贡献,但禁止将代码用于商业用途或其他非法活动。项目代码遵循 CC BY-NC-SA 4.0 协议,用户可以自由使用、修改和分享代码,但必须保留原作者信息。
* [firerpa/lamda](https://github.com/firerpa/lamda) LAMDA是一个安全可靠的强大工具集,旨在简化安卓逆向工程和自动化测试工作。它集成了抓包、逆向、HOOK、云手机、远程桌面和自动化取证等功能,并提供 Python 3.6+ 和 Android 6.0+ 的支持。LAMDA 通过编程化的方式,可以轻松完成复杂的任务,例如安全分析、自动化测试、取证分析等,并提供完善的文档和社区支持。
* [YAWAsau/backup_script](https://github.com/YAWAsau/backup_script) 该项目是一个用于备份/恢复数据的脚本,专门针对Android 8+系统和arm64架构设计。它可以完整备份数据,无需重新安装应用程序,并支持备份LINE和SSAID。脚本使用高效的压缩算法,如lz4和zstd,并提供多种备份方式,如tar压缩。该脚本易于使用,无需root权限,并提供详细的文档和教程。
* [WindXaa/Android-reverse](https://github.com/WindXaa/Android-reverse) Android逆向的相关脚本文件 加壳与脱壳 Xposed/源码定制 Web服务器探测 Frida定制 静态分析ApkMean 动态分析GDroid 隐私合规框架PPExtract 恶意应用检测MalDroid
* [cleverbao/520apkhook](https://github.com/cleverbao/520apkhook) 把ms的安卓远控附加进普通的app中,并进行隐藏特征。可以通用的手机安全管家。
* [WindXaa/Android-Reverse-interview](https://github.com/WindXaa/Android-Reverse-interview) 主要针对移动安全中Android逆向工程师、漏洞挖掘工程师、渗透工程师的面试指南
* [WindXaa/Android-Vulnerability-Mining](https://github.com/WindXaa/Android-Vulnerability-Mining) Android APP漏洞之战系列,主要讲述如何快速挖掘APP漏洞
* [user1342/DroidDetective](https://github.com/user1342/DroidDetective) 适用于Android 应用程序的机器学习恶意软件分析框架。
* [WindXaa/Android-Vulnerability-Mining](https://github.com/WindXaa/Android-Vulnerability-Mining) Android APP漏洞之战系列,主要讲述如何快速挖掘APP漏洞
* [Simp1er/AndroidSec](https://github.com/Simp1er/AndroidSec) 记录一些我自己在学习安卓逆向过程中的海洋的东西
* [zhengjim/camille](https://github.com/zhengjim/camille) 基于Frida的Android App隐私合规检测辅助工具
* [iBotPeaches/Apktool](https://github.com/iBotPeaches/Apktool) 一个逆向工程安卓apk文件的工具
* [r0ysue/r0capture](https://github.com/r0ysue/r0capture) 安卓应用层抓包通杀脚本
## 扫描器_资产收集_子域名
* [jivoi/awesome-osint](https://github.com/jivoi/awesome-osint) 一个令人敬畏的开源智能工具和资源的精选列表。开源情报 (OSINT) 是从公开来源收集的情报。在情报界 (IC) 中,“公开”一词是指公开的、公开的来源(而不是隐蔽或秘密的来源)。此列表旨在帮助所有从事网络威胁情报 (CTI)、威胁搜寻或 OSINT 的人。从初学者到高级。目录:一般搜索、主要国家搜索引擎、元搜索、专业搜索引擎、可视化搜索和聚类搜索引擎、类似网站搜索、文档和幻灯片搜索、文件搜索、Pastebins、代码搜索、主要社交网络、实时搜索、社交媒体搜索和通用社交媒体工具、社交媒体工具、Twitter、脸书、Instagram、Pinterest、Reddit 、VKontakte、Tumblr、LinkedIn、Telegram、博客搜索、论坛和讨论区搜索、用户名检查、人员调查、电子邮件搜索/电子邮件检查、电话号码研究、车辆/汽车研究、专家搜索、公司研究、求职资源、问答网站、领域和知识产权研究、关键词发现和研究、网络历史记录和网站捕获、语言工具、图像搜索、图像分析、视频搜索和其他视频工具、学术资源和灰色文献、地理空间研究和制图工具、新闻、新闻摘要和发现工具、事实核查、数据与统计、网络监控、浏览器、线浏览、VPN服务、信息图表和数据可视化、社交网络分析、隐私和加密工具、DNS、其他工具、威胁情报、OSINT 视频、OSINT 博客、其他资源、相关精彩列表
* [Neo23x0/Loki](https://github.com/Neo23x0/Loki) Loki是一个简单的IOC和YARA扫描器,它使用四种检测方法:文件名IOC、YARA规则检查、哈希检查和C2回连检查。它还提供额外的检查,如Regin文件系统检查、进程异常检查、SWF解压缩扫描和SAM转储检查。Loki使用PyInstaller编译,可以在x86和x64系统上运行。用户可以从GitHub的releases页面下载最新版本,并使用loki-upgrader.exe更新签名。扫描结果将显示为绿色、黄色或红色,用户需要自行分析结果。该项目目前处于非活跃维护状态,开发者正在开发一个更先进的扫描器THOR,并提供免费的THOR Lite版本。开发者还开始开发一个基于Rust的Loki 2版本,但目前尚不清楚何时会达到与当前Loki版本的功能一致。
* [Yelp/detect-secrets](https://github.com/Yelp/detect-secrets) detect-secrets是一个用于在代码库中检测和防止泄露敏感信息的工具,它专为企业用户设计,提供向后兼容的机制,可以防止新秘密进入代码库,检测是否绕过安全措施,并提供一个待处理的秘密清单,以便迁移到更安全的存储。它通过运行周期性的差异输出与启发式地生成的正则表达式语句进行比较,来识别是否提交了任何新的秘密,从而避免了遍历所有 Git 历史记录的开销,以及每次扫描整个存储库的需要。该项目包含多种检测器,例如 AWS 密钥检测器、Azure 存储密钥检测器、基本身份验证检测器、GitHub 令牌检测器等,可以有效地识别各种类型的敏感信息。
* [paralax/awesome-honeypots](https://github.com/paralax/awesome-honeypots) 一个精选的很棒的蜜罐列表,以及相关组件等等,分为 Web、服务等类别,重点是免费和开源项目。包括:数据库蜜罐、网络蜜罐、服务蜜罐、分布式蜜罐、反蜜罐的东西、 ICS/SCADA蜜罐、僵尸网络 C2 工具、IPv6 攻击检测工具、动态代码检测工具包、将网站转换为服务器蜜罐的工具、恶意软件收集器、分布式传感器部署、网络分析工具、日志匿名器、低交互蜜罐(路由器后门)、Honeynet Farm 流量重定向器、HTTPS 代理、用于 USB 传播恶意软件的蜜罐、被动网络审计框架解析器、VM 监控和工具、二进制调试器、移动分析工具、低交互蜜罐、SSH 蜜罐等。
* [meirwah/awesome-incident-response](https://github.com/meirwah/awesome-incident-response) 安全事件响应工具和资源的精选列表,旨在帮助安全分析师和 DFIR 团队。数字取证和事件响应 (DFIR) 团队是组织中负责管理安全事件响应的人员组,包括收集事件证据、修正其影响以及实施控制措施以防止事件在未来再次发生。内容:对手仿真、多合一工具、书、社区、磁盘映像创建工具、证据收集、事件管理、知识库、Linux 发行版、Linux 证据收集、日志分析、内存分析、内存成像工具、OSX 证据收集、其他列表、其他工具、剧本、进程转储工具、沙盒/反转工具、扫描仪工具、时间轴工具、视频、Windows 证据收集
* [CISOfy/lynis](https://github.com/CISOfy/lynis) 适用于Linux,macOS和基于UNIX的系统的安全审计工具.协助进行一致性测试(HIPAA/ISO27001/PCI DSS)和系统强化。无代理,安装可选。它执行深入的安全扫描并在系统本身上运行。主要目标是测试安全防御,并为进一步强化系统提供提示。它还将扫描常规系统信息、易受攻击的软件包和可能的配置问题。系统管理员和审计人员通常使用 Lynis 来评估其系统的安全防御。除了“蓝队”之外,如今渗透测试人员的工具包中也有 Lynis。
* [Tobee1406/Awesome-Google-Dorks](https://github.com/Tobee1406/Awesome-Google-Dorks) 这是一个收集了大量 Google Dorks 的项目,旨在帮助安全研究人员和渗透测试人员发现潜在的漏洞。项目包含各种搜索操作符、URL 修饰符、文件类型搜索、摄像头和网络摄像头搜索、控制面板搜索、目录搜索、电子邮件搜索、Google Drive 搜索、物联网设备搜索、登录页面搜索、电影搜索、网络设备搜索、WordPress 搜索等。项目通过提供各种搜索技巧和示例,帮助用户更有效地利用 Google 搜索引擎进行信息收集和漏洞挖掘。
* [hslatman/awesome-threat-intelligence](https://github.com/hslatman/awesome-threat-intelligence) 令人敬畏的威胁情报,威胁情报的简明定义:基于证据的知识,包括背景、机制、指标、影响和可操作的建议,涉及对资产的现有或新出现的威胁或危害,可用于为有关主体对该威胁或危害的响应提供决策信息。下面列出的大多数资源都提供了列表和/或 API,以获取(希望)有关威胁的最新信息。有些人认为这些来源是威胁情报,但意见不一。要创建真正的威胁情报,需要一定数量的(特定于域或业务的)分析。
* [epi052/feroxbuster](https://github.com/epi052/feroxbuster) 一个用 Rust 编写的快速、简单、递归的内容发现工具。强制浏览是一种攻击,其目的是枚举和访问 Web 应用程序未引用但攻击者仍可访问的资源。feroxbuster 使用暴力破解与单词列表相结合来搜索目标目录中未链接的内容。这些资源可能会存储有关 Web 应用程序和操作系统的敏感信息,例如源代码、凭据、内部网络寻址等。此攻击也称为可预测资源位置、文件枚举、目录枚举和资源枚举。
* [teamdfir/sift](https://github.com/teamdfir/sift) SIFT是一个用于数字取证和事件响应的元数据存储库,它提供了一个基于 Saltstack 的自动化框架,用于构建和管理取证工作站。SIFT 支持 Ubuntu 20.04 和 22.04 版本,可以通过 Cast 命令行工具进行安装。SIFT 提供了预构建的 AWS AMI,用户可以使用这些 AMI 快速部署取证工作站。SIFT 的核心功能包括:自动化工作站配置、事件响应工具集成、取证数据收集和分析。
* [zyylhn/zscan](https://github.com/zyylhn/zscan) 开源的内网端口扫描器、爆破工具和其他实用工具的集合体可以称为工具包。以主机和内网网段发现和端口扫描为基础,可以对mysql、mssql、redis、mongo、postgres、ftp、ssh、ldap、rdp、smb等服务进行爆破,还有其他netbios、smb、oxid、socks server(扫描内网中的代理服务器)、snmp、ms17010等扫描功能,支持poc(xray v1格式)单个和批量检测。
* [Ridter/Intranet_Penetration_Tips](https://github.com/Ridter/Intranet_Penetration_Tips) 该项目是一个内网渗透技巧整理,包含了信息收集、内网入侵、横向移动等方面的技巧,旨在帮助安全研究人员进行内网渗透测试,并提供一些实用的工具和方法。项目内容涵盖了OSINT信息收集、敏感信息识别、内网入侵技巧、横向移动策略以及内网渗透工具等方面,并提供了一些常用的内网渗透工具和技术。
* [airson/Yasso](https://github.com/sairson/Yasso) 强大的内网渗透辅助工具集-让Yasso像风一样 支持rdp,ssh,redis,postgres,mongodb,mssql,mysql,winrm等服务爆破,快速的端口扫描,强大的web指纹识别,各种内置服务的一键利用(包括ssh完全交互式登陆,mssql提权,redis一键利用,mysql数据库查询,winrm横向利用,多种服务利用支持socks5代理执行)
* [kelvinBen/AppInfoScanner](https://github.com/cqkenuo/appinfoscanner) 一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。
* [EdgeSecurityTeam/Ehole](https://github.com/EdgeSecurityTeam/Ehole) 对资产中重点系统指纹识别的工具,在红队作战中,信息收集是必不可少的环节,如何才能从大量的资产中提取有用的系统(如OA、VPN、Weblogic...)。EHole旨在帮助红队人员在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。
* [StarCrossPortal/scalpel](https://github.com/StarCrossPortal/scalpel) 命令行漏洞扫描工具,支持深度参数注入,拥有一个强大的数据解析和变异算法,可以将常见的数据格式(json, xml, form等)解析为树结构,然后根据poc中的规则,对树进行变异,包括对叶子节点和树结构 的变异。变异完成之后,将树结构还原为原始的数据格式。
* [zaproxy/zaproxy](https://github.com/zaproxy/zaproxy) Zed 攻击代理 (ZAP) 是世界上最受欢迎的免费安全工具之一,由专门的国际志愿者团队积极维护。它可以帮助您在开发和测试应用程序时自动查找 Web 应用程序中的安全漏洞。对于有经验的渗透测试人员来说,它也是一个很好的工具,可以用于手动安全测试。
* [urbanadventurer/WhatWeb](https://github.com/urbanadventurer/WhatWeb) 识别网站,包括内容管理系统 (CMS)、博客平台、统计/分析包、JavaScript 库、网络服务器和嵌入式设备。WhatWeb 有超过 1800 个插件,每个插件都能识别不同的东西。WhatWeb 还可以识别版本号、电子邮件地址、帐户 ID、Web 框架模块、SQL 错误等。
* [prowler-cloud/prowler](https://github.com/prowler-cloud/prowler) 适用于 AWS、Azure 和 GCP 的开源安全工具,用于执行云安全最佳实践评估、审计、事件响应、合规性、持续监控、强化和取证准备。包括 CIS、NIST 800、NIST CSF、CISA、FedRAMP、PCI-DSS、GDPR、HIPAA、FFIEC、SOC2、GXP、Well-Architected Security、ENS 等。
* [i11us0ry/goon](https://github.com/i11us0ry/goon) 集合了fscan和kscan等优秀工具功能的扫描爆破工具。功能包含:ip探活、port扫描、web指纹扫描、title扫描、压缩文件扫描、fofa获取、ms17010、mssql、mysql、postgres、redis、ssh、smb、rdp、telnet、tomcat等爆破以及如netbios探测等功能。
* [yogeshojha/rengine](https://github.com/yogeshojha/rengine) 用于 Web 应用程序的自动化侦察框架,专注于通过引擎、侦察数据关联和组织、持续监控、数据库支持以及简单而直观的用户界面进行高度可配置的简化侦察过程。reNgine 使渗透测试人员可以轻松地收集侦察信息
* [devanshbatham/ParamSpider](https://github.com/devanshbatham/ParamSpider) 从 Web 档案的黑暗角落挖掘参数。 从输入域的网络档案中查找参数。也从子域中查找参数。支持排除具有特定扩展名的 url。以干净整洁的方式保存输出结果。它从网络档案中挖掘参数(不与目标主机交互)
* [guchangan1/All-Defense-Tool](https://github.com/guchangan1/All-Defense-Tool) 全网优秀的攻防武器工具项目,包含自动化利用,子域名、目录扫描、端口扫描等信息收集工具,各大中间件、cms漏洞利用工具,爆破工具、内网横向及免杀、社工钓鱼以及应急响应等资料。
* [yogeshojha/rengine](https://github.com/yogeshojha/rengine) 用于 Web 应用程序的自动化侦察框架,专注于通过引擎、侦察数据关联和组织、持续监控、简单而直观的用户界面以及简单而直观的用户界面。reNgine 使渗透测试人员可以轻松地收集侦察信息
* [78778443/QingScan](https://github.com/78778443/QingScan) 漏洞扫描器粘合剂,添加目标后30款工具自动调用;支持 web、系统、目录、主机扫描、子域名收集、主机发现、组件识别、URL爬虫、XRAY扫描、AWVS自动扫描、POC批量验证,SSH批量测试、vulmap。
* [dark-kingA/superSearchPlus](https://github.com/dark-kingA/superSearchPlus) 谷歌插件版本- 聚合型信息收集插件,支持综合查询,资产测绘查询,信息收集 js敏感信息提取 注释资源扫描 目录扫描 整合了目前常见的资产测绘平台 同时支持数据导出
* [s7ckTeam/Glass](https://github.com/s7ckTeam/Glass) 针对资产列表的快速指纹识别工具,通过调用Fofa ZoomEye Shodan 360等api接口快速查询资产信息并识别重点资产的指纹,也可针对IP/IP段或资产列表进行快速的指纹识别。
* [lcvvvv/kscan](https://github.com/lcvvvv/kscan) 纯go的全方位扫描器,具备端口扫描、协议检测、指纹识别,暴力破解等功能。支持协议1200+,协议指纹1w+,应用指纹2w+,暴力破解协议10余种。
* [foryujian/yjdirscan](https://github.com/foryujian/yjdirscan) 御剑目录扫描专业版,简单实用的命令行网站目录扫描工具,支持爬虫、fuzz、自定义字典、字典变量、UA修改、假404过滤、扫描控速等功能。
* [laramies/theHarvester](https://github.com/laramies/theHarvester) 简单易用但功能强大的工具,设计用于红色的侦察阶段团队评估或渗透测试。它执行开源情报 (OSINT) 收集以帮助确定域的外部威胁态势。
* [test502git/awvs14-scan](https://github.com/test502git/awvs14-scan) 针对 Acunetix AWVS扫描器开发的批量扫描脚本,支持log4j漏洞、SpringShell、SQL注入、XSS、弱口令等专项,支持联动xray、burp、w13scan等被动批量
* [3nock/sub3suite](https://github.com/3nock/sub3suite) 用于子域枚举、OSINT 信息收集和攻击面映射的研究级工具套件。支持对具有许多可用功能和工具的各种目标类型进行手动和自动分析。
* [hktalent/scan4all](https://github.com/hktalent/scan4all) vuls 扫描:1.5W+PoCs; 23种应用密码破解; 7K+网络指纹; 146种协议和9W+条规则端口扫描; Fuzz,硬件,很棒的 BugBounty(͡° ͜ʖ ͡°)...
* [jwt1399/Sec-Tools](https://github.com/jwt1399/Sec-Tools) 基于Python-Django的多功能Web安全渗透测试工具,包含漏洞扫描,端口扫描,指纹识别,目录扫描,旁站扫描,域名扫描等功能。
* [jwt1399/Sec-Tools](https://github.com/jwt1399/Sec-Tools) 基于Python-Django的多功能Web安全渗透测试工具,包含漏洞扫描,端口扫描,指纹识别,目录扫描,旁站扫描,域名扫描等功能。
* [aress31/burpgpt](https://github.com/aress31/burpgpt) Burp Suite 扩展,集成了 OpenAI 的 GPT,可执行额外的被动扫描以发现高度定制的漏洞,并支持运行任何类型的基于流量的分析。
* [SiJiDo/H](https://github.com/SiJiDo/H) 一款强大的资产收集管理平台 主要用于src信息收集和红蓝对抗资产收集用,采用python celery分布式实现多节点部署,提高效率
* [projectdiscovery/naabu](https://github.com/projectdiscovery/naabu) 用 go 编写的快速端口扫描器,专注于可靠性和简单性。旨在与其他工具结合使用,以在错误赏金和渗透测试中发现攻击面
* [m3n0sd0n4ld/GooFuzz](https://github.com/m3n0sd0n4ld/GooFuzz) 使用OSINT方法执行模糊测试的工具,设法枚举目录,文件,子域或参数,同时利用Google Dorking,而无需在目标上留下证据。
* [b0bac/ApolloScanner](https://github.com/b0bac/ApolloScanner) 自动化巡航扫描框架(可用于红队打点评估).资产收集 github敏感信息收集 破解(基于exp的暴力破解) 漏洞扫描模块
* [punk-security/dnsReaper](https://github.com/punk-security/dnsReaper) 子域接管工具,每秒扫描大约 50 个子域,使用超过 50 个接管签名测试每个子域。在10 秒内扫描其整个 DNS 资产。
* [TideSec/TideFinger](https://github.com/TideSec/TideFinger) TideFinger——指纹识别小工具,汲取整合了多个web指纹库,结合了多种指纹检测方法,让指纹检测更快捷、准确。
* [wgpsec/DBJ](https://github.com/wgpsec/DBJ) 大宝剑-边界资产梳理工具(红队、蓝队、企业组织架构、子域名、Web资产梳理、Web指纹识别、ICON_Hash资产匹配
* [Kento-Sec/AsamF](https://github.com/Kento-Sec/AsamF) 集成Fofa、Quake、Hunter、Shodan、Zoomeye、Chinaz、0.zone及爱企查的一站式企业信息资产收集、网络资产测绘工具。
* [robertdavidgraham/masscan](https://github.com/robertdavidgraham/masscan) TCP 端口扫描器,异步发送 SYN 数据包,在 5 分钟内扫描整个互联网,从单台机器每秒传输 1000 万个数据包。
* [Datalux/Osintgram](https://github.com/Datalux/Osintgram) Instagram 上的 OSINT 工具。它提供了一个交互式外壳,可以通过其昵称对任何用户的Instagram帐户进行分析
* [zhzyker/dismap](https://github.com/zhzyker/dismap) 快速识别 Web 指纹信息,定位资产类型。辅助红队快速定位目标资产信息,辅助蓝队发现疑似脆弱点
* [projectdiscovery/subfinder](https://github.com/projectdiscovery/subfinder) 子域发现工具,可以为网站发现有效的子域。设计为被动框架,可用于漏洞赏金和安全渗透测试。
* [Sma11New/webEye](https://github.com/Sma11New/webEye) 快速批量检测IP上指定端口的Web站点存活信息,获取其Title,红队信息搜集、蓝队资产探测梳理。
* [KingOfBugbounty/KingOfBugBountyTips](https://github.com/KingOfBugbounty/KingOfBugBountyTips) 分享一些知名漏洞猎人的技巧。使用侦察方法,我们能够找到已经可利用的子域、api 和令牌。
* [chaitin/xray](https://github.com/chaitin/xray) 一款完善的安全评估工具,支持常见 web 安全问题扫描和自定义 poc | 使用之前务必先阅读文档
* [projectdiscovery/shuffledns](https://github.com/projectdiscovery/shuffledns) 使用主动暴力破解枚举有效的子域,并通过通配符处理和简单的输入输出支持来解析子域。
* [wpscanteam/wpscan](https://github.com/wpscanteam/wpscan) WordPress 安全扫描器。为安全专家和博客维护者编写,用于测试其 WordPress 网站的安全性。
* [0x727/ShuiZe_0x727](https://github.com/0x727/ShuiZe_0x727) 水泽-信息收集自动化工具 只需要输入根域名即可全方位收集相关资产,并检测漏洞。
* [graynjo/Heimdallr](https://github.com/graynjo/Heimdallr) 完全被动监听的谷歌插件,用于高危指纹识别、蜜罐特征告警和拦截、机器特征对抗
* [d3mondev/puredns](https://github.com/d3mondev/puredns) 快速的域解析器和子域暴力破解工具,可以准确过滤掉通配符子域和 DNS 中毒条目。
* [wappalyzer/wappalyzer](https://github.com/wappalyzer/wappalyzer) 识别网站上的技术。例如 CMS、Web 框架、电子商务平台、JavaScript 库、分析工具等。
* [future-architect/vuls](https://github.com/future-architect/vuls) 适用于 Linux、FreeBSD、容器、WordPress、编程语言库、网络设备的无代理漏洞扫描程序
* [qeeqbox/social-analyzer](https://github.com/qeeqbox/social-analyzer) API、CLI 和 Web 应用程序,用于在 1000 个社交媒体网站中分析和查找个人的个人资料
* [H4ckForJob/dirmap](https://github.com/H4ckForJob/dirmap) 一个高级web目录、文件扫描工具,功能将会强于DirBuster、Dirsearch、cansina、御剑。
* [knownsec/Kunyu](https://github.com/knownsec/Kunyu) 让企业资产收集更高效,使更多安全相关从业者了解、使用网络空间测绘技术。
* [zhzyker/vulmap](https://github.com/zhzyker/vulmap/) web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞验证功能
* [zhzyker/vulmap](https://github.com/zhzyker/vulmap) web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞验证功能
* [inbug-team/SweetBabyScan](https://github.com/inbug-team/SweetBabyScan) 支持弱口令爆破的内网资产探测漏洞扫描工具,集成了Xray与Nuclei的Poc
* [rverton/webanalyze](https://github.com/rverton/webanalyze) Wappalyzer 的端口(揭示网站上使用的技术)以自动进行大规模扫描。
* [liamg/scout](https://github.com/liamg/scout) 轻量级URL模糊器和蜘蛛:发现Web服务器的未公开文件,目录和VHOST。
* [OWASP/Amass](https://github.com/OWASP/Amass) 使用开源信息收集和主动侦察技术执行攻击面的网络和资产发现。
* [chaitin/xray](https://github.com/chaitin/xray) 完善的安全评估工具,支持常见 web 安全问题扫描和自定义 poc
* [bettercap/bettercap](https://github.com/bettercap/bettercap) 用于 802.11、BLE、IPv4 和 IPv6 网络侦察和 MITM 攻击的瑞士军刀。
* [lukebaggett/dnscat2-powershell](https://github.com/lukebaggett/dnscat2-powershell) dnscat2 的 Powershell 客户端,一种加密的 DNS 命令和控制工具。
* [hakluke/hakrawler](https://github.com/hakluke/hakrawler) 简单快速的网络爬虫,发现网络应用程序中的端点和资产
* [AlphabugX/httpscan](https://github.com/AlphabugX/httpscan) 用于C段http资产快速扫描,目前只支持80端口。(多线程)
* [samratashok/nishang](https://github.com/samratashok/nishang) 用于红队,渗透测试和攻击性安全性的攻击性PowerShell.
* [a1phaboy/FastjsonScan](https://github.com/a1phaboy/FastjsonScan) Fastjson扫描器,可识别版本、依赖库、autoType状态等。
* [maurosoria/dirsearch](https://github.com/maurosoria/dirsearch) 目录搜索 - Web 路径发现,高级网络路径暴力破解程序
* [maurosoria/dirsearch](https://github.com/maurosoria/dirsearch) 暴力破解网络服务器的目录和文件,网络路径扫描器
* [projectdiscovery/nuclei](https://github.com/projectdiscovery/nuclei) 基于简单 YAML 的 DSL 的快速且可定制的漏洞扫描器。
* [Adminisme/ServerScan](https://github.com/Adminisme/ServerScan) 使用Golang开发的高并发网络扫描、服务探测工具。
* [iovisor/bcc](https://github.com/iovisor/bcc) 用于基于 BPF 的 Linux IO 分析、网络、监控等的工具
* [projectdiscovery/nuclei](https://github.com/projectdiscovery/nuclei) 基于简单 YAML 的 DSL 的快速且可定制的漏洞扫描器
* [pablosnt/rekono](https://github.com/pablosnt/rekono) 自动执行结合多种黑客工具的完整渗透测试流程
* [DedSecInside/TorBot](https://github.com/DedSecInside/TorBot) 暗网OSINT(公开资源情报, Open-source intelligence)
* [Threezh1/JSFinder](https://github.com/Threezh1/JSFinder) 快速在网站的js文件中提取URL,子域名的工具。
* [soxoj/maigret](https://github.com/soxoj/maigret) 通过用户名从数千个站点收集有关某人的档案
* [edoardottt/scilla](https://github.com/edoardottt/scilla) 信息收集工具 - DNS / 子域 / 端口 / 目录枚举
* [fullhunt/log4j-scan](https://github.com/fullhunt/log4j-scan) 用于查找 log4j RCE CVE-2021-44228 的的扫描程序
* [ghtwf01/excavator](https://github.com/ghtwf01/excavator) 基于mitmproxy的插件式被动安全漏洞扫描器
* [sherlock-project/sherlock](https://github.com/sherlock-project/sherlock) 在社交网络上按用户名寻找社交媒体帐户
* [l3m0n/whatweb](https://github.com/l3m0n/whatweb) WEB指纹识别 - gowap基础上修改的golang版本
* [aboul3la/Sublist3r](https://github.com/aboul3la/Sublist3r) 用于渗透测试人员的快速子域枚举工具
* [Lissy93/web-check](https://github.com/Lissy93/web-check) 用于分析任何网站的多合一 OSINT 工具
* [We5ter/Scanners-Box](https://github.com/We5ter/Scanners-Box) 安全行业从业者自研开源扫描器合辑
* [fastfire/deepdarkCTI](https://github.com/fastfire/deepdarkCTI) 从深网和暗网收集网络威胁情报来源
* [nmap/nmap](https://github.com/nmap/nmap) 网络映射器,网络端口扫描器。
* [D3Ext/AORT](https://github.com/D3Ext/AORT) 用于漏洞赏金的多合一侦察工具
* [FeeiCN/ESD](https://github.com/FeeiCN/ESD) Enumeration sub domains(枚举子域名)
* [tomnomnom/assetfinder](https://github.com/tomnomnom/assetfinder) 查找与给定域相关的域和子域
* [lijiejie/subDomainsBrute](https://github.com/lijiejie/subDomainsBrute) 高并发的DNS暴力枚举工具。
* [shmilylty/OneForAll](https://github.com/shmilylty/OneForAll) 功能强大的子域收集工具
* [0x727/ObserverWard](https://github.com/0x727/ObserverWard) 命令行Web指纹识别工具
* [m4ll0k/takeover](https://github.com/m4ll0k/takeover) 子域接管漏洞扫描程序
* [knownsec/ksubdomain](https://github.com/knownsec/ksubdomain) 无状态子域名爆破工具
* [RustScan/RustScan](https://github.com/RustScan/RustScan) 现代端口扫描仪(rust)
* [sullo/nikto](https://github.com/sullo/nikto) 网络服务器扫描仪
* [trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog) 查找泄露的凭据。
* [blark/aiodnsbrute](https://github.com/blark/aiodnsbrute) 异步 DNS 暴力破解
* [riramar/Web-Attack-Cheat-Sheet](https://github.com/riramar/Web-Attack-Cheat-Sheet) Web 攻击备忘单
## 杀毒免杀_逆向工程
* [joxeankoret/diaphora](https://github.com/joxeankoret/diaphora) Diaphora是一款最先进的免费开源程序差异分析工具,作为IDA插件使用。它支持IDA 7.4及以上版本,并提供多种差异分析功能,包括汇编代码差异、控制流图差异、符号名称和注释移植、手动匹配、相似度计算、批量自动化、调用图匹配计算等。Diaphora还拥有其他工具没有的独特功能,例如结构体、枚举、联合体和类型定义的移植、潜在漏洞修复检测、编译单元支持、微码支持、并行差异分析、伪代码基于启发式算法、伪代码补丁生成、伪代码差异分析(带语法高亮)、脚本支持等。Diaphora无需安装,可直接下载代码运行,也可以集成到IDA中使用。用户可以捐赠支持Diaphora的开发,并通过Github或Discord频道寻求帮助。Diaphora在1.2.4版本之前使用GNU GPL v3许可证,从2.0版本开始使用GNU Affero GPL v3许可证。公司可以联系作者获得商业支持和咨询服务。
* [google/orbit](https://github.com/google/orbit) Orbit是一个开源的运行时二进制工具,用于对Windows和Linux上的原生应用程序进行性能分析。它支持用C、C++、Rust或Go等语言编写的原生应用程序,无需修改目标进程代码,可用于识别复杂应用程序的性能瓶颈并可视化其执行流程。Orbit结合了采样和动态插桩技术,可以快速识别感兴趣的函数并进行插桩,生成精确的函数调用栈信息,并以线程层次结构的形式呈现。此外,Orbit还支持手动插桩、线程调度和依赖关系跟踪、内存跟踪、GPU驱动跟踪点、Vulkan调试标签和命令缓冲区跟踪等功能,并提供源代码和反汇编视图、远程分析、调试符号解析以及捕获数据的完整序列化等功能。目前,Orbit的重点已转移到Linux版本,Windows本地分析功能仅部分支持,但可以从Windows UI实例分析Linux可执行文件。
* [vadimcn/codelldb](https://github.com/vadimcn/codelldb) CodeLLDB是一个基于 LLDB 的 VSCode 原生调试扩展,支持多种功能,包括条件断点、函数断点、日志点、硬件数据访问断点、集成或外部终端启动调试程序、反汇编视图、指令级步进、目标步进、断点调用者排除、内存视图、加载模块视图、Python 脚本、高级可视化的 HTML 渲染、工作区级启动配置默认值、远程调试和反向调试(实验性)。它主要针对 C++ 和 Rust 语言,提供内置可视化器,但也适用于其他编译语言,如 Ada、Fortran、Kotlin Native、Nim、Objective-C、Pascal、Swift 和 Zig。支持 Linux、macOS 和 Windows平台,并支持 AArch64、ARM、AVR、MSP430、RISCV 和 X86 架构,可通过远程调试用于调试嵌入式平台。
* [HyperDbg/HyperDbg](https://github.com/HyperDbg/HyperDbg) HyperDbg是一款开源、社区驱动的、基于虚拟机辅助的 Windows 用户态和内核态调试器,专注于利用现代硬件技术。它旨在用于分析、模糊测试和逆向工程。HyperDbg 利用 Intel VT-x 和 EPT 虚拟化运行系统,并通过第二层页表 (EPT)监控内核和用户态执行,避免使用任何 API 和软件调试机制。它提供隐藏钩子、硬件调试寄存器模拟等功能,并通过 TLB 分割实现代码覆盖率测量和内存访问监控。HyperDbg 尽可能保持隐蔽,不使用任何调试 API,因此能够抵抗传统的反调试技术和时间差检测方法。用户可以从 GitHub 发布页面下载预编译的二进制文件,也可以通过 Git 克隆并构建 HyperDbg。
* [DarthTon/Blackbone](https://github.com/DarthTon/Blackbone) Blackbone是一个 Windows 内存黑客库,支持 x86 和 x64架构。它提供丰富的功能,包括进程交互、内存管理、模块操作、线程管理、模式搜索、远程代码执行、远程钩子、手动映射和驱动程序功能。该库支持手动映射 PE 文件,并提供对进程、线程、内存和模块的全面控制。Blackbone 允许用户在远程进程中执行代码,并支持多种调用约定和参数类型。此外,它还提供远程钩子功能,允许用户拦截和修改远程进程中的函数调用。Blackbone 依赖于 Visual Studio 2017 15.7 或更高版本、Windows SDK 10.0.17134 或更高版本以及 VC++ 2017 Libs for Spectre。该库采用 MIT 许可证。
* [uxmal/reko](https://github.com/uxmal/reko) Reko是一款通用机器码反编译器,支持多种处理器架构和可执行文件格式,旨在以最少的用户干预实现反编译。它包含前端、核心反编译引擎和后端,提供命令行、Windows GUI和ASP.NET前端。用户可以通过下载预编译版本或从源代码构建Reko。Reko的官方发布版每隔几个月就会在Github和SourceForge上发布,用户也可以从Cirrus CI或Github Actions集成构建服务器下载。Reko需要.NET 6.0环境,用户可以在[用户指南](doc/guide/reko.md)中了解Reko的各种功能,并在[问题追踪器](https://github.com/uxmal/reko/issues)或[Gitter.im聊天室](https://gitter.im/uxmal/reko)中寻求帮助。
* [danielkrupinski/Osiris](https://github.com/danielkrupinski/Osiris) Osiris是一个跨平台的 Counter-Strike 2 游戏辅助工具,它拥有基于 Panorama UI 的图形界面,并与 Steam 上的最新游戏更新兼容。它采用 C++ 编写,在发布版本中不使用 CRT,并具有无堆内存分配、无静态导入、无线程创建、无异常使用和无外部依赖等特性。Osiris 支持 Windows 和 Linux 平台,并提供详细的编译和注入说明。它使用 Panorama UI 渲染图形界面,并提供多种功能,例如玩家信息显示、炸弹计时器、人物外框高亮等。需要注意的是,Osiris 的注入方式可能会被 VAC 检测到,因此使用时需谨慎。
* [ufrisk/MemProcFS](https://github.com/ufrisk/MemProcFS) MemProcFS是一个将物理内存以文件形式展示在虚拟文件系统中的工具,方便用户进行内存分析。它支持多种内存获取方式,包括内存转储文件、DumpIt 或 WinPMEM 获取的实时内存、PCILeech FPGA 设备的读写模式实时内存,甚至通过安全连接远程获取实时内存。用户可以使用任何熟悉的工具(如十六进制编辑器、Python 和 PowerShell 脚本、WinDbg 或反汇编器)通过读写文件的方式对内存进行分析。项目提供详细的文档和教程,以及最新的二进制文件、模块和配置文件,方便用户快速上手。
* [solemnwarning/rehex](https://github.com/solemnwarning/rehex) rehex是一款跨平台(Windows、Linux、Mac、BSD)的十六进制编辑器,专为逆向工程和其他用途而设计。它支持大型文件(1TB+)、多种数据类型解码、机器码内联反汇编、字节范围高亮和注释、文件或选定区域的并排比较、Lua 脚本支持、虚拟地址映射、常见文本编码支持、Intel HEX 文件导入导出、位图数据可视化、类似010 Editor 的二进制模板、位编辑/操作以及文件/选定区域的校验和计算。您可以从官方网站下载预编译包或从源代码编译。
* [e-m-b-a/emba](https://github.com/e-m-b-a/emba) EMBA是一款用于嵌入式设备固件安全分析的工具,它可以帮助渗透测试人员、产品安全团队、开发人员和产品经理进行全面的安全分析。EMBA支持从固件提取、静态分析、动态分析(通过仿真)、SBOM构建到生成Web报告的完整安全分析流程。EMBA可以自动发现固件中的潜在弱点和漏洞,例如不安全的二进制文件、过时软件组件、潜在的漏洞脚本或硬编码密码。EMBA是一个命令行工具,可以生成易于使用的Web报告以供进一步分析。
* [BC-SECURITY/Beginners-Guide-to-Obfuscation](https://github.com/BC-SECURITY/Beginners-Guide-to-Obfuscation) 规避检测:新手混淆指南防御者不断调整他们的安全措施以应对新的威胁。学习恶意软件交付和避免检测背后的方法。 探讨了 Microsoft 的反恶意软件扫描接口 (AMSI)、Windows Defender 和 Windows 事件跟踪 (ETW) 的内部工作原理。 学习如何使用 Visual Basic (VB)、PowerShell 和 C# 来使用混淆的恶意软件来避开 Microsoft 的防御。学习构建 AMSI 绕过技术,混淆来自动态和静态签名检测方法的有效负载,并了解替代网络规避方法。
* [NationalSecurityAgency/ghidra](https://github.com/NationalSecurityAgency/ghidra) 由国家安全局研究局创建和维护的软件逆向工程 (SRE) 框架。该框架包括一套功能齐全的高端软件分析工具,使用户能够在各种平台(包括 Windows、macOS 和 Linux)上分析编译后的代码。功能包括反汇编、汇编、反编译、绘图和脚本,以及数百种其他功能。Ghidra 支持多种处理器指令集和可执行格式,可以在用户交互和自动模式下运行。用户还可以使用 Java 或 Python 开发自己的 Ghidra 扩展组件和/或脚本。
* [cea-sec/miasm](https://github.com/cea-sec/miasm) Miasm是一个免费开源的逆向工程框架,使用 Python 编写,旨在分析、修改和生成二进制程序。它支持多种功能,包括:打开、修改和生成 PE 和 ELF 文件(32 位和 64 位,小端和大端);汇编和反汇编 X86、ARM、MIPS、SH4 和 MSP430 指令集;使用中间语言表示汇编语义;使用 JIT 进行仿真(动态代码分析、解包等);表达式简化,用于自动去混淆等。Miasm 提供了丰富的示例和演示,可以帮助用户快速上手。
* [cheat-engine/cheat-engine](https://github.com/cheat-engine/cheat-engine) Cheat Engine是一个专注于游戏和应用程序修改的开发环境,主要用于个人使用。它提供了一个图形界面,允许用户修改游戏内存,以实现各种目的,例如修改游戏数值、解锁游戏内容等。该项目提供最新版本下载、论坛、Wiki、社交媒体链接以及捐赠渠道。项目还提供了详细的构建说明,用户需要下载 Lazarus 2.2.2 并编译多个项目,包括 speedhack.lpr、luaclient.lpr、DirectXMess.sln 等,才能获得完整的功能。
* [doenerium6969/doenerium-fixed](https://github.com/doenerium6969/doenerium-fixed) 该项目是一个名为 "doenerium-fixed" 的恶意软件,它可以窃取用户的敏感信息,包括钱包、密码、信用卡、Cookie、自动填充信息、Discord账号信息、Telegram、Twitter、TikTok、Twitch、Spotify、Riot Games、Roblox、Steam 账号信息、以及备份代码等。该项目声称可以绕过所有杀毒软件,并提供详细的安装和使用说明。**注意:**使用该项目可能违反法律,并可能导致严重的后果,开发者不承担任何责任。
* [LordNoteworthy/al-khaser](https://github.com/LordNoteworthy/al-khaser) Al-Khaser是一个概念验证的“恶意软件”应用程序,旨在通过模拟常见的恶意软件技巧来测试反恶意软件系统的防御能力,例如反调试、反虚拟机、反沙箱等。它包含了多种反分析技术,包括反调试攻击、反注入、反转储、计时攻击等,并提供了x86和x64版本的二进制文件供下载。开发者鼓励用户在使用反调试插件或沙箱解决方案时,使用Al-Khaser测试其有效性,并欢迎用户贡献新的反分析技巧。
* [eliben/pyelftools](https://github.com/eliben/pyelftools) pyelftools是一个纯 Python 库,用于解析和分析 ELF 文件和 DWARF调试信息。它可以帮助开发者理解 ELF 文件的结构,并提取其中的调试信息。用户可以使用 pip 命令安装 pyelftools,也可以从 GitHub 下载源代码进行安装。pyelftools 没有外部依赖,可以直接使用,也可以通过修改 PYTHONPATH 环境变量来使用。该项目代码是公共领域,用户可以自由使用和修改。
* [seventeenman/CallBackDump](https://github.com/seventeenman/CallBackDump) 能过国内杀软的dump lsass进程工具,参考代码链接在下面。由minidumpCallback实现,对缓冲区中内存做了些修改后再写入磁盘。工具也没有任何网络行为。dump lsass通过检索Windows内存中的lsass.exe进程来获取凭据信息并将其存储到一个文件中,从而使攻击者能够拿到有效的用户凭据。它还可以在远程系统上执行恶意代码,以便获取更多的敏感信息。
* [x64dbg/ScyllaHide](https://github.com/x64dbg/ScyllaHide) ScyllaHide是一个开源的x64/x86用户模式反反调试库,通过钩取各种函数来隐藏调试信息。它支持多种调试器,包括OllyDbg、x64dbg、Hex-Rays IDA和TitanEngine。ScyllaHide可以独立使用,也可以注入到任何进程中,支持PE x64调试。该项目基于GNU通用公共许可证v3发布,并感谢POISON Assembler、waleedassar、Peter Ferrie、MaRKuS-DJM和Lim Bio Liong等人的贡献。
* [BlackINT3/OpenArk](https://github.com/BlackINT3/OpenArk) OpenArk是一个开源的 Windows 反恶意软件工具,旨在帮助用户识别和清除隐藏在操作系统中的恶意软件。它提供丰富的功能,包括进程管理、内核工具、代码助手、文件扫描器、捆绑器、工具库、控制台和多语言支持。OpenArk 独立运行,支持 32位和 64 位 Windows 系统,并提供详细的编译指南和社区支持。
* [Cisco-Talos/clamav](https://github.com/Cisco-Talos/clamav) ClamAV是一个开源的病毒引擎,用于检测木马、病毒、恶意软件和其他恶意威胁。它提供多种安装方式,包括 Docker、包管理器、安装程序和源代码编译。您可以通过阅读文档、参与邮件列表和 Discord 服务器与社区互动。ClamAV 欢迎代码贡献和文档改进。
* [TideSec/BypassAntiVirus](https://github.com/TideSec/BypassAntiVirus) 远控免杀系列文章及配套工具,汇总测试了互联网上的几十种免杀工具、113种白名单免杀方式、8种代码编译免杀、若干免杀实战技术,并对免杀效果进行了一一测试,为远控的免杀和杀软对抗免杀提供参考。
* [cyrus-and/gdb-dashboard](https://github.com/cyrus-and/gdb-dashboard) GDB 仪表板是使用 Python API 编写的独立 .gdbinit 文件,它支持模块化界面,显示有关正在调试的程序的相关信息。其主要目标是减少检查当前程序状态所需的 GDB 命令数量,从而使开发人员能够主要关注控制流。
* [OWASP/owasp-mastg](https://github.com/OWASP/owasp-mastg) 移动应用安全测试指南 (MASTG) 是一本用于移动应用安全测试和逆向工程的综合手册。它描述了用于验证 OWASP 移动应用程序安全验证标准 (MASVS) 中列出的控件的技术过程。
* [capstone-engine/capstone](https://github.com/capstone-engine/capstone) 用于ARM,ARM64(ARMv8),BPF,Ethereum VM,M68K,M680X,Mips,MOS65XX,PPC,RISC-V(rv32G / rv64G),SH,Sparc,SystemZ,TMS320C64X,TriCore,Webassembly,XCore和X86的Capstone反汇编/反汇编器框架。
* [cs01/gdbgui](https://github.com/cs01/gdbgui) 基于浏览器的 gdb 前端(gnu 调试器)。在 C、C++、Go、Rust 和 Fortran 中添加断点、查看堆栈、可视化数据结构等。从终端运行 gdbgui,浏览器中将打开一个新选项卡。
* [semgrep/semgrep](https://github.com/semgrep/semgrep) 适用于多种语言的轻量级静态分析。查找具有类似源代码的模式的 bug 变体。可以扫描代码和包依赖项以查找已知问题、软件漏洞,并高精度地查找密钥
* [JusticeRage/Gepetto](https://github.com/JusticeRage/Gepetto) Gepetto 是一个 Python 脚本,它使用各种大型语言模型为 IDA Pro 反编译的函数提供意义。目前,它可以要求他们解释函数的作用,并自动重命名其变量。
* [winsiderss/systeminformer](https://github.com/winsiderss/systeminformer) Windows 10 免费、功能强大、用途广泛的工具,可帮助您监控系统资源、调试软件和检测恶意软件。由 Winsider Seminars & Solutions, Inc. 提供。
* [TideSec/GoBypassAV](https://github.com/TideSec/GoBypassAV) 整理了基于Go的16种API免杀测试、8种加密测试、反沙盒测试、编译混淆、加壳、资源修改等免杀技术,并搜集汇总了一些资料和工具。
* [Ackites/KillWxapkg](https://github.com/Ackites/KillWxapkg) 自动化反编译微信小程序,小程序安全评估工具,发现小程序安全问题,自动解密,解包,可还原工程目录,支持Hook,小程序修改
* [rizinorg/cutter](https://github.com/rizinorg/cutter) 由 rizin 提供支持的免费开源逆向工程平台。它旨在成为一个先进且可定制的逆向工程平台,同时牢记用户体验。
* [x64dbg/x64dbg](https://github.com/x64dbg/x64dbg) 适用于 Windows 的开源用户模式调试器。针对逆向工程和恶意软件分析进行了优化。
* [mytechnotalent/Reverse-Engineering](https://github.com/mytechnotalent/Reverse-Engineering) 涵盖 x86、x64、32 位 ARM 和 64 位 ARM 架构的免费综合逆向工程教程。
* [Ed1s0nZ/cool](https://github.com/Ed1s0nZ/cool) Golang-Gin框架写的免杀平台,内置分离、捆绑等BypassAV方式。
* [Aabyss-Team/Antivirus-Scan](https://github.com/Aabyss-Team/Antivirus-Scan) What AV? 一款轻量级的杀软在线识别的项目,持续更新ing。
* [brannondorsey/wifi-cracking](https://github.com/brannondorsey/wifi-cracking) 使用 Airodump-ng 和 Aircrack-ng/Hashcat 破解 WPA/WPA2 Wi-Fi 路由器
* [Arks7/Go_Bypass](https://github.com/Arks7/Go_Bypass) 一个免杀生成器模板,目前可以过国内主流杀毒。
* [rshipp/awesome-malware-analysis](https://github.com/rshipp/awesome-malware-analysis) 精选的恶意软件分析工具和资源列表。
* [icsharpcode/ILSpy](https://github.com/icsharpcode/ILSpy) 开源的 .NET 程序集浏览器和反编译器。
* [0x9ef/golang-uacbypasser](https://github.com/0x9ef/golang-uacbypasser) 用 Go 实现和编写的 Windows UAC 绕过技术
* [midisec/BypassAnti-Virus](https://github.com/midisec/BypassAnti-Virus) 免杀姿势学习、记录、复现。
* [safe6Sec/GolangBypassAV](https://github.com/safe6Sec/GolangBypassAV) 研究利用golang各种姿势bypassAV
* [H4de5-7/Bundler-bypass](https://github.com/H4de5-7/Bundler-bypass) 免杀捆绑器,过主流杀软。
* [Gality369/CS-Loader](https://github.com/Gality369/CS-Loader) CS免杀,包括python版和C版本
* [Tlaster/YourAV](https://github.com/Tlaster/YourAV) 宇宙级最轻量杀毒软件
* [awsaaaq/GoBP](https://github.com/awsaaaq/GoBP) 免杀工具 Go语言编写
* [Yihsiwei/GoFileBinder](https://github.com/Yihsiwei/GoFileBinder) golang免杀捆绑器
## 漏洞库_漏洞靶场
* [pyupio/safety](https://github.com/pyupio/safety) Safety是一个 Python 依赖项安全漏洞扫描器,通过检测本地开发环境、CI/CD 和生产系统中已知漏洞和恶意软件包来增强软件供应链安全。Safety 使用行业最全面的漏洞和恶意软件包数据库,允许团队在软件开发生命周期的每个阶段检测漏洞,并提供清晰可操作的漏洞修复建议。Safety 支持多种功能,包括:扫描单个需求文件和项目目录或在开发人员机器、CI/CD 管道和生产系统上进行系统范围的扫描,以及自动更新需求文件以确保依赖项的安全版本。Safety 还提供 JSON、SBOM、HTML 和文本输出,并易于与 CI/CD 管道集成,包括 GitHub Actions。
* [cowrie/cowrie](https://github.com/cowrie/cowrie) Cowrie是一个中高交互的 SSH 和 Telnet 蜜罐,旨在记录暴力破解攻击和攻击者执行的 shell 交互。它可以模拟一个 Python 中的UNIX 系统(中交互模式),也可以作为 SSH 和 telnet 代理来观察攻击者对另一个系统的行为(高交互模式)。Cowrie 支持 SSH 和 telnet代理,并提供一个模拟的 Debian 5.0 文件系统,可以记录攻击者的活动并保存下载或上传的文件。它还支持 SFTP 和 SCP,并使用 UML 兼容格式记录会话日志,方便使用 `bin/playlog` 工具进行回放。Cowrie 可以通过 Docker 运行,并可以使用环境变量或 `etc` 卷进行配置。
* [Ascotbe/Kernelhub](https://github.com/Ascotbe/Kernelhub) Kernelhub是一个收集 Linux、macOS 和 Windows 操作系统内核提权漏洞的项目,提供漏洞细节、编译环境、演示 GIF 地图和可执行文件。该项目旨在帮助学习、分析和研究最新的内核漏洞,并提供安全测试和研究的资源。项目代码禁止在真实环境中测试,用户需自行验证代码可靠性,项目作者不承担任何责任。项目包含 Windows 漏洞集合,Linux 和 macOS 漏洞集合正在构建中。该项目仅面向合法授权的企业安全建设行为,用户在使用过程中需确保行为符合当地法律法规并获得充分授权。
* [trickest/cve](https://github.com/trickest/cve) 收集并使用其 PoC 更新所有可用和最新的 CVE。几乎所有公开可用的 CVE PoC。从 cvelist 收集 CVE 详细信息。按年份拆分 CVE。使用案例:四处浏览,找到一个不错的 PoC,然后进行测试!Watch 存储库,以便在新 PoC 公开后立即接收有关它们的通知。搜索特定产品(可能还有版本)以查找与其相关的所有公共漏洞。
* [firmianay/CTF-All-In-One](https://github.com/firmianay/CTF-All-In-One) CTF-All-In-One 是一个 CTF 竞赛权威指南,专注于 Pwn 领域,涵盖 Linux 二进制安全知识。该项目以书籍形式呈现,包含 12 章内容,从基础知识到高级技巧,逐步讲解 Pwn 漏洞利用的原理和方法,并附带大量案例和实战演练。该项目旨在帮助 CTF Pwn 选手快速掌握漏洞利用技术,提升竞赛能力。
* [ctf-wiki/ctf-wiki](https://github.com/ctf-wiki/ctf-wiki) CTF Wiki是一个专注于 CTF 知识的自由网站,旨在帮助初学者轻松入门 CTF。它涵盖了 CTF 的各个方面,包括基础技能、高级技巧和特殊主题,并不断更新内容。CTF Wiki 还提供配套的挑战库和工具库,方便学习和实践。该项目鼓励用户贡献内容,共同打造更完善的 CTF 知识体系。
* [screetsec/TheFatRat](https://github.com/screetsec/TheFatRat) Thefatrat 是一个大规模的漏洞利用工具 : 生成后门的简单工具和发布漏洞利用攻击(如浏览器攻击等)的简单工具。该工具编译具有流行负载的恶意软件,然后编译后的恶意软件可以在 Windows、Android、mac 上执行。使用此工具创建的恶意软件还能够绕过大多数 AV 软件。
* [Mr-xn/Penetration_Testing_POC](https://github.com/Mr-xn/Penetration_Testing_POC) 渗透测试有关的POC、EXP、脚本、提权、小工具等---About penetration-testing python-script poc getshell csrf xss cms php-getshell domainmod-xss csrf-webshell cobub-razor cve rce sql sql-poc poc-exp bypass oa-getshell cve-cms
* [binganao/vulns-2022](https://github.com/binganao/vulns-2022) 用于搜集 2022 年的漏洞,注意:本项目并不刻意搜集 POC 或 EXP,主要以CVE-2021、CVE-2022 为关键词,包含但不限于漏洞资讯、漏洞复现、漏洞分析、漏洞验证、漏洞利用
* [AonCyberLabs/Windows-Exploit-Suggester](https://github.com/AonCyberLabs/Windows-Exploit-Suggester) 该工具将目标补丁级别与 Microsoft 漏洞数据库进行比较,以检测目标上潜在的缺失补丁。如果存在可用于丢失公告的公共漏洞利用和 Metasploit 模块,它还会通知用户。
* [lxflxfcl/monitor](https://github.com/lxflxfcl/monitor) 漏洞监控平台。目前实现了监控GitHub、微软、CNNVD三者的漏洞信息,并使用企业微信实时推送。还可以使用邮箱推送,默认关闭。
* [Gallopsled/pwntools](https://github.com/Gallopsled/pwntools) CTF 框架和漏洞利用开发库。它是用 Python 编写的,专为快速原型设计和开发而设计,旨在使漏洞编写尽可能简单。
* [l4yn3/micro_service_seclab](https://github.com/l4yn3/micro_service_seclab) Java漏洞靶场是基于SpringBoot开发,目的是用来检测SAST工具的准确性(关注漏报和误报问题)的。
* [edoardottt/awesome-hacker-search-engines](https://github.com/edoardottt/awesome-hacker-search-engines) 在渗透测试、漏洞评估、红/蓝团队操作、漏洞赏金等期间有用的出色搜索引擎的精选列表
* [ReAbout/web-sec](https://github.com/ReAbout/web-sec) WEB安全手册(红队安全技能栈),漏洞理解,漏洞利用,代码审计和渗透测试总结。
* [pwntester/0day](https://github.com/pwntester/0day) 各种CMS、各种平台、各种系统、各种软件漏洞的EXP、POC 该项目将不断更新
* [LandGrey/SpringBootVulExploit](https://github.com/LandGrey/SpringBootVulExploit) SpringBoot 相关漏洞学习资料,利用方法和技巧合集,黑盒安全评估 check list
* [aquasecurity/trivy](https://github.com/aquasecurity/trivy) 查找容器、Kubernetes、代码存储库、云等中的漏洞、错误配置、机密、SBOM
* [Threekiii/Vulnerability-Wiki](https://github.com/Threekiii/Vulnerability-Wiki) 一个综合漏洞知识库,集成了Vulhub、Peiqi、Edge、0sec、Wooyun等开源漏洞库
* [wooyunwang/Fortify](https://github.com/wooyunwang/Fortify) 源代码各种审计漏洞白测试盒的漏洞描述或具体修复方案
* [fofapro/vulfocus](https://github.com/fofapro/vulfocus) 漏洞集成平台,将漏洞环境docker镜像,开箱即用。
* [helloexp/0day](https://github.com/helloexp/0day) 各CMS、各平台、各系统、各软件漏洞的EXP、POC
* [tangxiaofeng7/SecExample](https://github.com/tangxiaofeng7/SecExample) JAVA 漏洞靶场 (Vulnerability Environment For Java)
* [qazbnm456/awesome-web-security](https://github.com/qazbnm456/awesome-web-security) 精心策划的网络安全材料和资源列表。
* [sqlsec/ssrf-vuls](https://github.com/sqlsec/ssrf-vuls) 手把手带你用 SSRF 打穿内网靶场源码
* [cckuailong/vulbase](https://github.com/cckuailong/vulbase) 各大漏洞文库合集 Vulbase漏洞库
# 强化学习_ReinforcementLearning
* [Lizhi-sjtu/DRL-code-pytorch](https://github.com/Lizhi-sjtu/DRL-code-pytorch) DRL(深度强化学习)算法的简洁 PyTorch 实现包括多种算法,如 REINFORCE、A2C、Rainbow DQN、PPO(离散和连续)、DDPG、TD3、SAC、PPO-discrete-RNN(LSTM/GRU)。这些算法在 PyTorch 中都有相应的实现,并且可以在 GitHub 上找到相关的代码库。REINFORCE:这是一种基于策略梯度的方法,通过最大化期望回报来优化策略。在 PyTorch 中,可以通过定义策略网络和损失函数来实现 REINFORCE 算法。A2C:Advantage Actor-Critic 算法结合了 Actor-Critic 方法的优势,通过共享网络结构来提高学习效率。在 PyTorch 中,可以通过定义共享的 Actor 和 Critic 网络来实现 A2C 算法。Rainbow DQN:这是一种结合了多种改进的 DQN 算法,包括双 Q 学习、多步学习、Dueling 网络等。在 PyTorch 中,可以通过集成这些改进来实现 Rainbow DQN 算法。PPO(离散和连续) :Proximal Policy Optimization 算法是一种策略优化方法,适用于离散和连续动作空间。在 PyTorch 中,可以通过定义策略网络和损失函数来实现 PPO 算法。DDPG:Deep Deterministic Policy Gradient 算法是一种用于连续控制任务的算法,结合了 Actor-Critic 方法和 DQN 的思想。在 PyTorch 中,可以通过定义 Actor 和 Critic 网络以及目标网络来实现 DDPG 算法。TD3:Twin Delayed Deep Deterministic Policy Gradient 算法是 DDPG 的改进版本,通过引入两个目标网络和延迟更新来提高稳定性。在 PyTorch 中,可以通过定义两个目标网络和延迟更新策略来实现 TD3 算法。SAC:Soft Actor-Critic 算法是一种结合了策略梯度和 Q 学习的方法,适用于连续动作空间。在 PyTorch 中,可以通过定义策略网络和 Q 网络来实现 SAC 算法。PPO-discrete-RNN(LSTM/GRU) :这是一种结合了离散 PPO 和循环神经网络(RNN)的算法,适用于需要记忆的任务。在 PyTorch 中,可以通过定义 RNN 层和 PPO 损失函数来实现 PPO-discrete-RNN 算法。
* [p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch](https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch) 深度强化学习算法和环境的 PyTorch 实现。实现的算法:深度 Q 学习 (DQN) ( Mnih et al. 2013 )、具有固定 Q 目标的 DQN ( Mnih et al. 2013 )、双 DQN (DDQN) ( Hado van Hasselt et al. 2015 )、具有优先体验重放的DDQN ( Schaul et al. 2016 )、Dueling DDQN (Wang et al. 2016)、REINFORCE 加强 (Williams et al. 1992)、深度确定性策略梯度 (DDPG) ( Lillicrap et al. 2016 )、双延迟深度确定性策略梯度 (TD3) ( Fujimoto et al. 2018 )、软演员-评论家 (SAC) ( Haarnoja et al. 2018 )、离散动作的软演员-评论家 (SAC-Discrete) ( Christodoulou 2019 )、Asynchronous Advantage Actor Critic (A3C) ( Mnih et al. 2016 )、同步优势演员评论家 (A2C)、近端策略优化 (PPO) ( Schulman et al. 2017 )、具有事后经验重放的 DQN (DQN-HER) ( Andrychowicz et al. 2018 )、具有事后经验重放的 DDPG (DDPG-HER) ( Andrychowicz et al. 2018 )、分层 DQN (h-DQN) ( Kulkarni et al. 2016 )、用于分层强化学习 (SNN-HRL) 的随机神经网络 ( Florensa et al. 2017 )、多样性就是你所需要的 (DIAYN) ( Eyensbach et al. 2018 )。所有实现都能够快速解决 Cart Pole(离散动作)、Mountain Car Continuous(连续动作)、Bit Flipping(具有动态目标的离散动作)或 Fetch Reach(具有动态目标的连续动作)。计划添加更多的分层 RL 算法。
* [TJU-DRL-LAB/AI-Optimizer](https://github.com/TJU-DRL-LAB/AI-Optimizer) AI-Optimizer是一个下一代深度强化学习工具包,提供丰富的算法库,涵盖从无模型到基于模型的强化学习算法,以及从单智能体到多智能体算法。此外,AI-Optimizer包含一个灵活易用的分布式训练框架,用于高效的策略训练。该项目包含多智能体强化学习、自监督表示强化学习、离线强化学习、迁移和多任务强化学习以及基于模型的强化学习等库。例如,多智能体强化学习库包含了天津大学强化学习实验室在多智能体强化学习方面的代表性研究成果的代码,旨在解决多智能体强化学习中遇到的挑战,例如维度灾难、非平稳性、非唯一学习目标、探索-利用权衡、多智能体信用分配问题、部分可观察性、混合动作等,并设计能够解决或缓解这些问题的算法,促进多智能体强化学习在更多现实世界应用中的部署和落地。
* [sjtu-marl/malib](https://github.com/sjtu-marl/malib) 专门面向基于种群的多智能体深度强化学习 PB-MARL 的开源大规模并行训练框架。MALib 支持丰富的种群训练方式(例如,self-play, PSRO, league training),并且实现和优化了常见多智能体深度强化学习算法,为研究人员降低并行化工作量的同时,大幅提升了训练效率。此外,MALib 基于 Ray 的底层分布式框架,实现了全新的中心化任务分发模型,相较于常见的多智能体强化学习训练框架(RLlib,PyMARL,OpenSpiel),相同硬件条件下吞吐量和训练速度有着数倍的提升。现阶段,MALib 已对接常见多智能体环境(星际争霸、谷歌足球、棋牌类、多人 Atari 等),后续将提供对自动驾驶、智能电网等场景的支持。
* [PKU-Alignment/omnisafe](https://github.com/PKU-Alignment/omnisafe) OmniSafe是一个旨在加速安全强化学习 (SafeRL) 研究的基础设施框架。它提供了一个全面可靠的安全 RL 算法基准,以及一个面向研究人员的开箱即用的模块化工具包。SafeRL 旨在开发算法,最大程度地降低意外伤害或不安全行为的风险。OmniSafe 是安全强化学习领域第一个统一的学习框架,旨在促进安全 RL 学习社区的成长。OmniSafe 的主要特点包括:高度模块化的框架,包含数十种针对不同领域的安全强化学习算法;高性能并行计算加速,利用 `torch.distributed` 的功能,加速算法的学习过程,支持环境级异步并行,并整合了代理异步学习,通过并行探索机制提高训练稳定性和加速训练过程。
* [infer-actively/pymdp](https://github.com/infer-actively/pymdp) pymdp是一个用 Python 实现的主动推理马尔可夫决策过程 (MDP)库,用于模拟主动推理智能体。该库提供了一个基于 NumPy 的框架,用于在离散状态空间中执行主动推理,并提供了一个用于模拟主动推理智能体在 MDP 环境中行为的工具。该库的灵感来自 SPM 的 MATLAB 实现,并对大部分低级数学运算进行了基准测试和验证。pymdp 的一个关键特征是其对“认知价值”的强调,这使得智能体能够在不确定但可揭示的隐藏结构环境中学习环境并最大化奖励。该库提供了示例,演示了主动推理智能体如何通过探索一系列线索来揭示隐藏的奖励,从而体现了“认知链”。
* [praveen-palanisamy/macad-gym](https://github.com/praveen-palanisamy/macad-gym) MACAD-Gym是一个基于CARLA自动驾驶模拟器的多智能体联网自动驾驶(MACAD)训练平台,它提供与OpenAI Gym兼容的学习环境,用于在同质/异质、通信/非通信和其他多智能体设置中训练深度强化学习算法。该项目提供各种驾驶场景,并允许用户使用简单的JSON配置轻松添加新的环境和场景。用户可以使用任何支持OpenAI-Gym API的强化学习库来训练代理,并提供一个名为MACAD-Agents的示例代理库。此外,用户可以运行环境脚本直接测试环境,例如运行`python -m macad_gym.envs.homo.ncom.inde.po.intrx.ma.stop_sign_3c_town03`来测试`HomoNcomIndePOIntrxMASS3CTWN3-v0`环境。
* [facebookresearch/ReAgent](https://github.com/facebookresearch/ReAgent) ReAgent是一个由 Meta(原 Facebook)开发的开源端到端强化学习平台,用于应用于推荐系统等领域。它使用 Python 编写,并利用 PyTorch 进行模型训练和 TorchScript 进行模型服务。ReAgent 支持多种经典强化学习算法,包括 DQN、TD3、SAC、PPO 等,并提供数据预处理、特征转换、分布式训练、反事实策略评估和优化服务等功能。该平台还支持多臂老虎机和上下文老虎机算法,以及反事实评估方法。ReAgent 旨在解决大型分布式推荐和优化任务,并提供离线训练和逐步更新策略的功能。
* [facebookresearch/Pearl](https://github.com/facebookresearch/Pearl) Pearl是 Meta 应用强化学习团队开源的生产就绪型强化学习 AI 代理库。它旨在帮助研究人员和从业人员开发强化学习 AI 代理,这些代理优先考虑累积的长期反馈而不是即时反馈,并能适应可观察性有限、反馈稀疏和随机性高的环境。Pearl 提供了一种构建最先进的强化学习 AI 代理的方法,这些代理可以适应各种复杂的生产环境。用户可以通过克隆仓库并运行 `pip install -e .`来安装 Pearl。库的更多详细信息可以在其官方网站上找到,相关的研究论文可以在 arXiv 上获取。
* [PKU-Alignment/Safe-Policy-Optimization](https://github.com/PKU-Alignment/Safe-Policy-Optimization) Safe Policy Optimization (SafePO) 是一个安全强化学习算法的综合基准库,它为强化学习研究社区提供了一个统一的平台,用于处理和评估各种安全强化学习环境中的算法。SafePO 的主要特点包括:正确性、可扩展性和日志记录与可视化。为了确保正确性,SafePO仔细检查了算法的实现,并与现有基准进行了比较。SafePO 的架构使其具有高度可扩展性,可以轻松集成新算法。SafePO 支持 TensorBoard 和 WandB,提供超过 40 个参数和中间计算结果的可视化代码,用于检查训练过程。
* [rlworkgroup/garage](https://github.com/rlworkgroup/garage) garage是一个用于开发和评估强化学习算法的工具包,它包含一个由该工具包构建的最新实现库。该工具包提供了广泛的模块化工具来实现 RL 算法,包括可组合的神经网络模型、回放缓冲区、高性能采样器、表达式的实验定义接口、可重复性工具(例如设置所有组件都遵守的全局随机种子)、日志记录到多个输出(包括 TensorBoard)、可靠的实验检查点和恢复、许多流行基准套件的环境接口,以及支持在各种环境中运行 garage,包括始终最新的 Docker 容器。
* [eloialonso/iris](https://github.com/eloialonso/iris) 提出了IRIS,由离散自编码器和自回归Transformer组成的世界模型中学习的数据高效的智能体。在Atari 100k基准测试中,只用了两小时的游戏时间,就取得了1.046的人类归一化平均分,并在26个中的10个游戏中优于人类。IRIS的世界模型获得了对游戏机制的深刻理解,从而在一些游戏中实现了像素的完美预测。本文还说明了世界模型的生成能力,在想象训练时提供了丰富的游戏体验。IRIS以最小的调整开辟了一条有效解决复杂环境问题的新道路。
* [tensorlayer/TensorLayer](https://github.com/tensorlayer/TensorLayer) 面向科学家和工程师的深度学习和强化学习库,基于 TensorFlow 的新型深度学习和强化学习库,专为研究人员和工程师设计。它提供了大量可定制的神经层,以快速构建高级 AI 模型,基于此,社区开源了大量教程和应用程序。统一的深度学习和强化学习框架,适用于所有硬件、后端和操作系统。当前版本支持TensorFlow、Pytorch、MindSpore、PaddlePaddle、OneFlow和Jittor作为后端,允许用户在Nvidia-GPU、华为-昇腾等不同硬件上运行代码。
* [opendilab/LightZero](https://github.com/opendilab/LightZero) LightZero是一个轻量级、高效且易于理解的开源算法工具包,它将蒙特卡洛树搜索 (MCTS) 和深度强化学习 (RL) 相结合。LightZero 在各种游戏中取得了前所未有的性能,包括围棋和雅达利游戏,并已应用于蛋白质结构预测和矩阵乘法算法搜索等科学领域。LightZero 提供了一个统一的基准,用于评估通用顺序决策场景中的蒙特卡洛树搜索算法,并支持多种游戏和环境,如围棋、象棋、国际象棋、雅达利游戏、MuJoCo 控制等。
* [DLR-RM/rl-baselines3-zoo](https://github.com/DLR-RM/rl-baselines3-zoo) RL Baselines3Zoo是一个基于Stable Baselines3的强化学习训练框架,提供训练、评估、超参数优化、结果可视化和视频录制等功能。它包含针对常见环境和算法的预设超参数,以及使用这些参数训练好的智能体。该项目旨在提供一个简单易用的强化学习训练接口,对不同算法进行基准测试,并提供针对每个环境和算法的优化超参数,用户可以利用这些功能训练和评估智能体,并使用预训练好的智能体进行体验。
* [RLE-Foundation/rllte](https://github.com/RLE-Foundation/rllte) RLLTE是一个强化学习长期演进项目,旨在为强化学习研究和应用提供开发组件和标准。除了提供最先进的算法实现外,RLLTE还作为一个工具包用于开发算法。RLLTE具有以下特点:提供最新算法和技巧,拥有完整的生态系统,支持任务设计、模型训练、评估和部署,模块化设计,支持自定义环境和模块,支持GPU和NPU等多种计算设备,提供大量可重复使用的基准测试,以及大型语言模型驱动的Copilot。
* [udacity/deep-reinforcement-learning](https://github.com/udacity/deep-reinforcement-learning) 这是一个Udacity深度强化学习纳米学位项目的代码库,包含各种强化学习算法的教程和项目。教程使用PyTorch (v0.4) 和 Python 3实现,涵盖动态规划、蒙特卡洛、时序差分、离散化、瓦片编码、深度Q网络、机器人、爬山法、交叉熵法、REINFORCE、近端策略优化、深度确定性策略梯度等算法。项目使用Unity ML-Agents提供的丰富模拟环境,例如训练智能体在虚拟环境中完成任务。
* [pfnet/pfrl](https://github.com/pfnet/pfrl) PFRL是一个基于 PyTorch 的深度强化学习库,它使用 Python 实现各种最先进的深度强化学习算法。PFRL 提供了多种算法,包括 DQN、DDPG、A3C、PPO、TRPO、TD3 和 SAC,并支持离散和连续动作空间,以及循环模型和批处理训练。PFRL 还提供了预训练模型,方便用户进行复现和研究。用户可以通过 PyPI 或源代码安装 PFRL,并通过快速入门指南或示例代码快速上手。
* [OpenDriveLab/UniAD](https://github.com/OpenDriveLab/UniAD) UniAD是一个面向规划的统一自动驾驶算法框架,它将感知、预测和规划任务层级化地整合在一起,而不是采用独立的模块化设计和多任务学习。UniAD 在所有任务中都取得了最先进的性能,尤其是在预测和规划方面(运动:0.71m minADE,占用:63.4% IoU,规划:0.31% 平均碰撞率)。该项目还提供代码和模型,并支持使用其他 BEV 编码方法替换 BEVFormer。
* [google-deepmind/mctx](https://github.com/google-deepmind/mctx) Mctx是一个基于JAX的蒙特卡洛树搜索(MCTS)库,支持AlphaZero、MuZero和Gumbel MuZero等算法。它利用JAX的JIT编译功能加速计算,并支持批量输入,以充分利用加速器并与大型神经网络模型协同工作。Mctx旨在为研究人员提供一个易于使用且高效的MCTS实现,以促进基于搜索的强化学习算法的研究,并提供高度可配置的搜索方法,以支持各种研究方向。
* [google-deepmind/rlax](https://github.com/google-deepmind/rlax) RLax是一个基于 JAX 的库,提供用于实现强化学习智能体的有用构建块。它包含用于构建完整功能智能体的强化学习特定数学运算的实现,例如状态和动作值、非线性贝尔曼方程的推广、回报分布、通用值函数和策略等。RLax 支持在线策略和离线策略学习,并提供示例展示如何使用 RLax 实现简单的强化学习智能体。
* [PaddlePaddle/PARL](https://github.com/PaddlePaddle/PARL) PARL是一个灵活高效的强化学习框架,支持可复现性、大规模并行训练(可利用数千个 CPU 和多个 GPU)以及可重用性。PARL 提供了抽象的模型、算法和代理类,用户可以通过继承这些类快速构建新的算法。PARL 还提供简洁的 API 用于分布式训练,用户只需添加一个装饰器即可将代码转换为并行版本。
* [PWhiddy/PokemonRedExperiments](https://github.com/PWhiddy/PokemonRedExperiments) 该项目使用强化学习训练AI玩《口袋妖怪红版》,并提供交互式运行预训练模型和训练模型的功能。项目特色包括:支持多线程训练,并提供训练进度跟踪功能,包括将训练过程广播到共享地图和本地指标记录。用户可以交互式地控制预训练模型,并通过修改代码调整训练参数。
* [daochenzha/rapid](https://github.com/daochenzha/rapid) 一种为每个回合的探索动作打分和排序的机制,以选出好的探索行为。不同于以往基于内部奖励的方法,回合排序算法将好的探索行为记录下来,然后通过模仿学习鼓励智能体探索。初步结果表明,该方法具有非常好的效果,特别是在具有随机性的环境中。
* [Jingliang-Duan/Distributional-Soft-Actor-Critic](https://github.com/Jingliang-Duan/Distributional-Soft-Actor-Critic) 一种用于连续控制任务的强化学习算法—DSAC,其优势在于减少Q值的过估计并显著改进策略的性能。证明了强化学习中引入分布式回报可显著降低Q值的过估计误差,并定量表明此误差与分布的方差呈反比关系。与主流RL算法相比,策略性能提升20% 以上。
* [PKU-Alignment/safety-gymnasium](https://github.com/PKU-Alignment/safety-gymnasium) Safety-Gymnasium是一个高度可扩展和可定制的安全强化学习(SafeRL)库,旨在为 SafeRL 算法提供一个良好的基准测试视角和一组标准化的环境。它提供了一套标准的 API,与约束信息兼容,用户可以通过优雅的代码框架和精心设计的环境探索新的见解。
* [staghuntrpg/RPG](https://github.com/staghuntrpg/RPG) 通过奖励随机化发现多智能体游戏中多样性策略行为。通过奖励随机化对原始游戏(StagHunt)的奖励(reward)进行扰动,将问题转化为在扰动后的游戏中寻找合作策略,然后再回到原始游戏中进行微调(fine-tune),进而找到最优策略。
* [DLR-RM/stable-baselines3](https://github.com/DLR-RM/stable-baselines3) PyTorch 版本的 Stable Baselines,强化学习算法的可靠实现。主要特点:最先进的RL方法、自定义环境、自定义策略、通用接口、观测空间支持、Ipython / 笔记本友好、Tensorboard 支持、PEP8 代码样式、自定义回调、高代码覆盖率、类型提示
* [thu-ml/tianshou](https://github.com/thu-ml/tianshou) 天授是基于纯PyTorch强化学习的平台。与现有的强化学习库主要基于TensorFlow,具有许多嵌套类,不友好的API或速度较慢的现有学习库不同,天守提供了快速的模块化框架和pythonic API,用于以最少的行数构建深度强化学习代理代码。
* [astooke/rlpyt](https://github.com/astooke/rlpyt) PyTorch中常见深度强化学习算法的模块化优化实现,具有统一的基础设施,支持三个主要系列的算法:策略梯度、深度q学习和q函数策略梯度。旨在成为中小型研究的高吞吐量代码库(大规模意味着像OpenAI Dota与100的GPU)。
* [jiachenli94/Awesome-Decision-Making-Reinforcement-Learning](https://github.com/jiachenli94/Awesome-Decision-Making-Reinforcement-Learning) 这是一个关于决策制定和运动规划的最新研究资料列表,包含了强化学习、逆强化学习和生成对抗模仿学习等方面的论文,涵盖了自动驾驶等应用领域,并提供了一些代码链接,适合学术界和工业界的研究人员参考。
* [opendilab/DI-engine](https://github.com/opendilab/DI-engine) 通用的决策智能引擎。它支持最基本的深度强化学习 (DRL) 算法,如 DQN、PPO、SAC 和域特定算法,如多代理 RL 中的 QMIX、逆RL 中的 GAIL 和探索问题的 RND。还支持各种培训管道和定制决策 AI 应用程序。
* [rlgraph/rlgraph](https://github.com/rlgraph/rlgraph) 一个框架,用于在研究和实践中快速原型化,定义和执行强化学习算法。RLgraph与大多数其他库不同,因为它可以通过单个组件接口支持TensorFlow(或一般的静态图)或渴望/定义运行执行(PyTorch)。
* [lsw9021/MASS](https://github.com/lsw9021/MASS) 全身肌肉骨骼系统实现了基本的仿真和控制。骨骼运动由肌肉的驱动力来驱动,并与激活水平相协调。通过与python和pytorch的接口,可以使用深度强化学习(DRL)算法,例如近端策略优化(PPO)。
* [openai/gym](https://github.com/openai/gym) Gym 是一个开源 Python 库,用于开发和比较强化学习算法,提供标准 API 在学习算法和环境之间进行通信,以及与该 API 兼容的标准环境集。自发布以来,Gym 的 API 已成为执行此操作的现场标准。
* [facebookresearch/house3d](https://github.com/facebookresearch/house3d) 逼真的丰富3D环境 由数以千计的室内场景组成,这些场景配有从SUNCG数据集中获取的各种场景类型,布局和对象。它包含超过4.5万个室内3D场景,从工作室到带有游泳池和健身室的两层房屋。
* [instadeepai/Mava](https://github.com/instadeepai/Mava) 用于构建多智能体强化学习 (MARL) 系统的库。Mava 为 MARL 提供了有用的组件、抽象、实用程序和工具,并允许对多进程系统训练和执行进行简单的扩展,同时提供高度的灵活性和可组合性。
* [kakaoenterprise/JORLDY](https://github.com/kakaoenterprise/JORLDY) 开源强化学习框架 JORLDY 的存储库, 提供 20 多种 RL 算法和各种 RL 环境,算法和环境可定制,可以添加新的算法和环境,使用ray提供分布式 RL 算法,算法的基准测试是在许多 RL 环境中进行的
* [huawei-noah/xingtian](https://github.com/huawei-noah/xingtian) 刑天(XingTian)是一个组件化的库,用于开发和验证强化学习算法。它支持多种算法,包括DQN,DDPG,PPO和IMPALA等,可以在多个环境中训练代理,例如Gym,Atari,Torcs,StarCraft等。
* [minosworld/minos](https://github.com/minosworld/minos) MINOS:多模式室内模拟器 旨在支持在复杂的室内环境中为目标定向导航开发多传感器模型。MINOS利用复杂3D环境的大型数据集,并支持多模式传感器套件的灵活配置。
* [deepmind/alphatensor](https://github.com/deepmind/alphatensor) 矩阵乘法是计算机要做的最关键数学计算之一。改进了目前最优的 4×4 矩阵解法(50 年前由施特拉森提出),还进一步提升了其他 70 余种不同大小矩阵的计算速度。
* [google/dopamine](https://github.com/google/dopamine) 多巴胺是强化学习算法快速原型设计的研究框架。它旨在满足对一个小的,易于理解的代码库的需求,用户可以在其中自由地尝试疯狂的想法(推测性研究)。
* [yandexdataschool/Practical_RL](https://github.com/yandexdataschool/Practical_RL) 野外强化学习的公开课程。针对好奇者进行优化。对于所有未详细介绍的材料,都有指向更多信息和相关材料的链接(D.Silver/ Sutton/ blogs/whatever)。
* [deepmind/lab](https://github.com/deepmind/lab) DeepMind Lab为学习代理提供了一套具有挑战性的3D导航和解谜任务。它的主要目的是充当人工智能(尤其是深度强化学习)研究的测试平台。
* [Unity-Technologies/ml-agents](https://github.com/Unity-Technologies/ml-agents) Unity 机器学习代理工具包 (ML-Agents) 是一个开源项目,它使游戏和模拟成为使用深度强化学习和模仿学习训练智能代理的环境。
* [xunger99/SAAC-StarCraft-Adversary-Agent-Challenge](https://github.com/xunger99/SAAC-StarCraft-Adversary-Agent-Challenge) 提出了一种具有对手代理的强化学习环境,用于战争迷雾下的追捕-逃避游戏,这在航空航天应用中具有科学意义和实际意义。
* [google/brax](https://github.com/google/brax) 物理模拟引擎Brax,只需一个TPU/GPU,就能和数千个CPU或GPU的计算集群的速度一样快,直接将所需时间缩短到几分钟
* [XinJingHao/RL-Algorithms-by-Pytorch](https://github.com/XinJingHao/RL-Algorithms-by-Pytorch) Pytorch 对强化学习算法的干净和健壮的实现。 已完成了Q-learning,DQN,DDQN,PPO 离散,PPO 连续,TD3,SAC 连续。
* [ray-project/ray](https://github.com/ray-project/ray) 构建分布式机器学习应用提供简单和通用式的API。Ray打包了Tune、RLlib、RaySGD和Ray Serve等多款机器学习库。
* [YeWR/EfficientZero](https://github.com/YeWR/EfficientZero) 一种采样高效的强化学习算法.基于MuZero的一种算法。该类算法同属于蒙特卡洛树搜索(MCTS)强化学习。
* [Farama-Foundation/PettingZoo](https://github.com/Farama-Foundation/PettingZoo) 一个用于进行多智能体强化学习研究的 Python 库,类似于[Gym](https://github.com/openai/gym)的多智能体版本。
* [dennybritz/reinforcement-learning](https://github.com/dennybritz/reinforcement-learning) 强化学习算法的实现。Python,OpenAI Gym,Tensorflow。萨顿的书和大卫·西尔弗的课程的练习和解决方案。
* [kzl/decision-transformer](https://github.com/kzl/decision-transformer) UC 伯克利、FAIR 和谷歌大脑的研究者提出了 Decision Transformer,通过序列建模进行强化学习的架构。
* [datamllab/rlcard](https://github.com/datamllab/rlcard) 纸牌(扑克)游戏中的强化学习/ AI机器人-大酒杯,勒杜克,德克萨斯州,窦滴竹,麻将,UNO。
* [vwxyzjn/cleanrl](https://github.com/vwxyzjn/cleanrl) 具有研究友好功能(PPO、DQN、C51、DDPG、TD3、SAC、PPG)的深度强化学习算法的高质量单文件实现
* [Farama-Foundation/Gymnasium](https://github.com/Farama-Foundation/Gymnasium) 用于单代理强化学习环境的 API 标准,具有流行的参考环境和相关实用程序(以前称为 Gym)
* [deepmind/trfl](https://github.com/deepmind/trfl) 一个建立在TensorFlow之上的库,它公开了几个有用的构建块,用于实现强化学习代理。
* [Farama-Foundation/D4RL](https://github.com/Farama-Foundation/D4RL) 离线强化学习的开源基准。 它为训练和基准测试算法提供标准化的环境和数据集。
* [bulletphysics/bullet3](https://github.com/bulletphysics/bullet3) 用于 VR、游戏、视觉效果、机器人、机器学习等的实时碰撞检测和多物理场仿真。
* [keras-rl/keras-rl](https://github.com/keras-rl/keras-rl) 在Python中实现了一些最先进的深度强化学习算法,并与深度学习库Keras无缝集成。
* [Ceruleanacg/Personae](https://github.com/Ceruleanacg/Personae) 用于量化交易的Deep Reinforcement Learning & Supervised Learning 的工具和环境的回购。
* [facebookresearch/habitat-lab](https://github.com/facebookresearch/habitat-lab) 一个模块化的高级库,可在各种任务,环境和模拟器中训练嵌入式AI代理。
* [sail-sg/envpool](https://github.com/sail-sg/envpool) 用于通用 RL 环境的基于 C++ 的高性能并行环境执行引擎(矢量化环境)。
* [facebookresearch/diplomacy_cicero](https://github.com/facebookresearch/diplomacy_cicero) Cicero 的代码,这是一个通过开放域自然语言协商玩外交游戏的 AI 代理。
* [andri27-ts/Reinforcement-Learning](https://github.com/andri27-ts/Reinforcement-Learning) 在 60 天内学习深度强化学习!Python的讲座和代码。强化学习 + 深度学习
* [tensortrade-org/tensortrade](https://github.com/tensortrade-org/tensortrade) 一个开源强化学习框架,用于训练,评估和部署强大的交易程序。
* [opendilab/DI-star](https://github.com/opendilab/DI-star) 星际争霸2的人工智能平台,具有大规模分布式训练和大师代理。
* [ApolloAuto/apollo](https://github.com/ApolloAuto/apollo) 高性能、灵活的架构,可加速自动驾驶汽车的开发测试和部署。
* [projects/torcs](sourceforge.net/projects/torcs) ORCS,开放式赛车模拟器是一种高度便携式的多平台赛车模拟。
* [aitorzip/DeepGTAV](https://github.com/aitorzip/DeepGTAV) GTAV的插件,可将其转变为基于视觉的自动驾驶汽车研究环境。
* [keiohta/tf2rl](https://github.com/keiohta/tf2rl) 深度强化学习库,它使用 TF2.x 实现各种深度强化学习算法。
* [mwydmuch/ViZDoom](https://github.com/mwydmuch/ViZDoom) ZDoom末日的AI研究平台,可从原始视觉信息进行强化学习。
* [georgezouq/awesome-deep-reinforcement-learning-in-finance](https://github.com/georgezouq/awesome-deep-reinforcement-learning-in-finance) 金融市场上使用的那些AI(RL/DL/SL/进化/遗传算法)的集合
* [distributional-rl.org](https://www.distributional-rl.org/) 教科书《Distributional Reinforcement Learning 分布强化学习》。
* [TorchCraft/TorchCraftAI](https://github.com/TorchCraft/TorchCraftAI) 可让您建立机器人以学习玩《星际争霸:巢穴之战》。
* [deepdrive/deepdrive](https://github.com/deepdrive/deepdrive) D模拟器,它使拥有PC的任何人都能推动最新的自动驾驶
* [MathFoundationRL/Book-Mathmatical-Foundation-of-Reinforcement-Learning](https://github.com/MathFoundationRL/Book-Mathmatical-Foundation-of-Reinforcement-Learning) 这是一本名为“强化学习的数学基础”的新书的主页。
* [dgriff777/a3c_continuous](https://github.com/dgriff777/a3c_continuous) 采用 pytorch 和 A3G 设计的 A3C LSTM 的连续动作空间版本
* [tencent-ailab/TLeague](https://github.com/tencent-ailab/TLeague) 一种基于竞争性自我驱动的多智能体强化学习框架。
* [robotology/gym-ignition](https://github.com/robotology/gym-ignition) 使用Ignition Gazebo模拟开发OpenAI Gym机器人环境的框架
* [openai/baselines](https://github.com/openai/baselines) OpenAI Baselines 是一组高质量的强化学习算法实现。
* [google-research/football](https://github.com/google-research/football) 此存储库包含基于开源游戏游戏足球的 RL 环境。
* [YingtongDou/Nash-Detect](https://github.com/YingtongDou/Nash-Detect) 通过Nash强化学习进行鲁棒的垃圾邮件发送者检测
* [facebookresearch/habitat-sim](https://github.com/facebookresearch/habitat-sim) 灵活,高性能的3D仿真器,适用于嵌入式AI研究。
* [salesforce/warp-drive](https://github.com/salesforce/warp-drive) GPU 上极快的端到端深度多智能体强化学习框架。
* [Microsoft/AirSim](https://github.com/Microsoft/AirSim) 基于Unreal Engine / Unity的自动驾驶汽车开源模拟器
* [AI4Finance-LLC/ElegantRL](https://github.com/AI4Finance-LLC/ElegantRL) 基于PyTorch的轻量-高效-稳定的深度强化学习框架
* [seungeunrho/minimalRL](https://github.com/seungeunrho/minimalRL) 以最少的代码行实现基本RL算法!(基于PyTorch)
* [deepmind/acme](https://github.com/deepmind/acme) 强化学习的研究框架,强化学习组件和代理库
* [ShangtongZhang/DeepRL](https://github.com/ShangtongZhang/DeepRL) 深度强化学习算法在 PyTorch 中的模块化实现
* [maximecb/gym-miniworld](https://github.com/maximecb/gym-miniworld) 用于RL和机器人研究的简单3D室内模拟器
* [octavio-santiago/Super-Mario-Land-AI](https://github.com/octavio-santiago/Super-Mario-Land-AI) 机器学习和 AI 算法玩超级马里奥。
* [rlgraph/rlgraph](https://github.com/rlgraph/rlgraph) 用于深度强化学习的模块化计算图
* [carla-simulator/carla](https://github.com/carla-simulator/carla) 用于自动驾驶研究的开源模拟器。
* [stanfordnmbl/osim-rl](https://github.com/stanfordnmbl/osim-rl) 具有肌肉骨骼模型的强化学习环境
* [carla-simulator/carla](https://github.com/carla-simulator/carla) 用于自动驾驶研究的开源模拟器。
* [autowarefoundation/autoware](https://github.com/autowarefoundation/autoware) 全球领先的自动驾驶开源软件项目
* [tensorflow/agents](https://github.com/tensorflow/agents) TF-Agents是TensorFlow中的强化学习库
* [google-research/football](https://github.com/google-research/football) 基于开源游戏Game Football的RL环境
* [Baekalfen/PyBoy](https://github.com/Baekalfen/PyBoy) 用 Python 编写的 Game Boy 模拟器
* [SunQingYun1996/Graph-Reinforcement-Learning-Papers](https://github.com/SunQingYun1996/Graph-Reinforcement-Learning-Papers) 图强化学习论文的精选列表。
* [jiupinjia/rocket-recycling](https://github.com/jiupinjia/rocket-recycling) 基于强化学习的SpaceX火箭回收
* [maximecb/gym-minigrid](https://github.com/maximecb/gym-minigrid) OpenAI Gym的简约gridworld软件包
* [tencent-ailab/hok_env](https://github.com/tencent-ailab/hok_env) 腾讯王者荣耀AI开放环境
* [deepmind/pysc2](https://github.com/deepmind/pysc2) 星际争霸II强化学习环境
* [ShangtongZhang/reinforcement-learning-an-introduction](https://github.com/ShangtongZhang/reinforcement-learning-an-introduction) Python强化学习的实现
* [XinJingHao/TD3](https://github.com/XinJingHao/TD3) TD3强化算法的实现
* [datawhalechina/easy-rl](https://github.com/datawhalechina/easy-rl) 强化学习中文教程
* [wangshusen/DRL](https://github.com/wangshusen/DRL) 深度强化学习列表
* [brain-tokyo-workshop](https://github.com/google/brain-tokyo-workshop) 世界模型 prettyNEAT
* [minerllabs/minerl](https://github.com/minerllabs/minerl) Minecraft 游戏环境
* [google-research/batch_rl](https://github.com/google-research/batch_rl) 离线强化学习
* [openai/retro](https://github.com/openai/retro) 复古游戏
* [kwai/DouZero](https://github.com/kwai/DouZero) 斗地主AI
# 推荐系统
## 其他_推荐系统
* [microsoft/RecAI](https://github.com/microsoft/RecAI) 利用大型语言模型构建下一代推荐系统。大型语言模型(LLMs)为开发尖端推荐系统提供了巨大的潜力,特别是在增强交互性、可解释性和可控性方面。这些都是历来构成挑战的方面。然而,由于缺乏特定的领域知识,LLM将通用用于推荐目的的直接应用是不可行的。RecAI项目旨在通过研究各种策略来弥合这一差距,以集成LLMs到推荐系统中,人们通常将这一概念称为LLM4Rec。我们的目标是通过整体观点和方法论来反映LLM4Rec的现实需求。我们相信,通过采用整体视角,我们可以将 LLM4Rec 的大部分实际需求整合到 RecAI 项目中探索的一种或多种技术中。这些技术包括但不限于推荐器 AI 代理、通过个性化提示注入知识、微调语言模型作为推荐器、评估和LLMs模型解释器。最终目标是创建一个更复杂、交互式和以用户为中心的推荐系统。`推荐 AI 代理`:LLMs提供自然的交互并智能地响应人类指令,但缺乏特定领域的专业知识。相比之下,传统的推荐系统在域内数据训练方面表现出色,但仅限于结构化数据,缺乏交互性。InteRecAgent 引入了一个结合了两者优势的 AI 代理:它采用大脑LLM和传统推荐模型作为工具。因此,矩阵分解等传统模型可以转换为对话式、交互式和可解释的推荐系统。`选择性知识插件`:我们如何在不微调模型的情况下增强LLM特定领域的能力?那么提示就是关键。在这项工作中,我们引入了一种LLMs通过选择性知识进行增强的方法,以便可以通过提示注入大规模的、不断发展的和特定领域的数据模式。`嵌入 RecLM`:密集检索是一系列场景中的关键组件,包括推荐系统和检索增强生成 (RAG)。虽然生成语言模型(如 GPT)专为顺序令牌生成而设计,但它们并未针对面向检索的嵌入进行优化。这就是我们的项目 RecLM-emb 发挥作用的地方。RecLM-emb 与文本嵌入模型(如 text-embedding-ada-002)保持一致,但它专门针对项目检索进行了优化。目标是嵌入用于项目检索的所有内容。目前仅支持文本模式,例如搜索查询、项目描述和用户说明。`生成式 RecLM`:需要注意的是,不同域的数据模式差异很大,这意味着通用LLM型可能无法在特定域内提供优化的性能。为了适应特定的领域数据模式,为领域项目目录奠定基础,并增强指令跟踪能力,本项目讨论了为推荐者微调生成语言模型的过程,称为 RecLM-gen。技术包括监督微调 (SFT) 和强化学习 (RL)。这种方法的潜在应用包括排名器、对话推荐器和用户模拟器。`模型解释器`:基于深度学习的推荐系统因其在有效性和效率方面的优势而广泛应用于各种在线服务中。然而,这些模型通常缺乏可解释性,使它们对用户和开发人员来说都不太可靠和透明。在这项工作中,我们提出了一种新的推荐系统模型解释方法,称为 RecExplainer,通过用作LLMs代理模型并学习模仿和理解目标推荐模型。`RecLM 评估器`:评估对于评估模型的真实能力和确定需要进一步改进的薄弱环节至关重要。在以类似人类的方式使用语言模型作为推荐器的时代,评估方法已经明显偏离了传统风格。该项目旨在为基于LM的推荐系统的评估提供全面的服务。无论是提供经过训练的 LM 还是 API(例如 Azure OpenAI API),它都会从各个角度评估模型的性能,包括检索、排名、解释功能和常规 AI 能力。
* [facebookresearch/generative-recommenders](https://github.com/facebookresearch/generative-recommenders) 生成式推荐器,存储库托管代码,用于在“行动胜于雄辩:用于生成式推荐的万亿参数顺序传感器”(https://arxiv.org/abs/2402.17152) 中重现结果。大规模推荐系统的特点是依赖于高基数、异构特征以及每天需要处理数百亿个用户操作。尽管在具有数千个特征的大量数据上进行了训练,但业内大多数深度学习推荐模型 (DLRM) 都无法随计算进行扩展。受到 Transformers 在语言和视觉领域取得的成功的启发,我们重新审视了推荐系统的基本设计选择。我们在生成建模框架(“生成推荐器”)中将推荐问题重新表述为顺序转导任务,并提出了一种新的架构 HSTU,专为高基数、非平稳流推荐数据而设计。在 NDCG 中,HSTU 的性能比合成数据集和公共数据集的基线高出 65.8%,并且在 8192 个长度序列上比基于 FlashAttention2 的 Transformer 快 5.3 到 15.2 倍。基于 HSTU 的生成式推荐器具有 1.5 万亿个参数,可将在线 A/B 测试的指标提高 12.4%,并已部署在拥有数十亿用户的大型互联网平台的多个表面上。更重要的是,Generative Recommenders 的模型质量根据经验扩展为训练计算的幂律,最高可达 GPT-3/LLaMa-2 规模,这减少了未来模型开发所需的碳足迹,并进一步为推荐中的第一个基础模型铺平了道路。
* [GAIR-Lab/IISAN](https://github.com/GAIR-Lab/IISAN) 多模态基础模型利用强大的表示学习功能,在顺序推荐系统中具有变革性。虽然参数高效微调 (PEFT) 通常用于调整推荐任务的基础模型,但大多数研究优先考虑参数效率,往往忽视 GPU 内存效率和训练速度等关键因素。为了解决这一差距,我们的论文引入了 IISAN(多模态表示的模内和模间侧自适应网络),这是一种简单的即插即用架构,使用解耦 PEFT 结构并利用模内和模间自适应。IISAN 的性能可与完全微调 (FFT) 和最先进的 PEFT 相媲美。更重要的是,它显着降低了多模式顺序推荐任务的 GPU 内存使用量,从 47GB 减少到仅 3GB。此外,与 FFT 相比,它还将每个 epoch 的训练时间从 443 秒缩短到 22 秒。这也是相对于 Adapter 和 LoRA 的显着改进,后者需要 37-39 GB GPU 内存和每个 epoch 350-380 秒的训练时间。此外,我们提出了一种新的复合效率指标 TPME(训练时间、参数和 GPU 内存效率),以减轻“参数效率代表整体效率”的普遍误解。 TPME 为不同方法之间的实际效率比较提供了更全面的见解。此外,我们还对所有 PEFT 和 FFT 方法进行了易于理解的效率分析,这证明了 IISAN 的优越性。
* [muhanzhang/IGMC](https://github.com/muhanzhang/IGMC) 基于图神经网络的归纳矩阵补全模型,不使用任何边信息。 传统的矩阵分解方法将(评级)矩阵分解为行(用户)和列(项目)的低维潜在嵌入的乘积,这是转导的,因为学习的嵌入不能推广到看不见的新矩阵。为了使矩阵完成归纳,必须事先使用内容(辅助信息),如年龄或电影的类型。然而,高质量内容并不总是可用,而且很难提取。IGMC 通过训练一个GNN来实现,该网络完全基于从评分矩阵形成的二分图中提取的(用户、项目)对周围的局部子图,并将子图映射到其相应的评分。它不依赖于特定评分矩阵或任务的任何全局信息,也不学习特定于观察到的用户/项目的嵌入。因此,它是一个完全归纳模型,它可泛化到训练时看不见的用户/项目(假设交互存在),甚至可以迁移到新任务,从 MovieLens训练出来的模型可以直接用于预测豆瓣电影评分,并且效果出奇的好。
* [HKUDS/SSLRec](https://github.com/HKUDS/SSLRec) SSLRec是一个基于PyTorch的开源深度学习框架,用于通过自监督学习技术增强推荐系统。它易于使用,包含常用的数据集、数据处理、训练、测试、评估和最先进的研究模型的代码脚本。SSLRec提供大量实用功能和易于使用的接口,简化了推荐模型的开发和评估。该框架涵盖五个主要类别:通用协同过滤、顺序推荐、多行为推荐、社交推荐和知识图谱增强推荐。它提供统一的训练、验证和测试流程,以及使用公开数据集的标准化数据预处理方法,方便复制各种模型并进行公平比较。SSLRec具有灵活的模块化架构、多种推荐场景、全面的最先进模型、统一的数据馈送器和标准评估协议,以及丰富的实用功能和可视化工具,使其成为推荐系统研究人员和从业者的宝贵工具。
* [Ethan-TZ/UFIN](https://github.com/Ethan-TZ/UFIN) UFIN是一个用于 CTR 预测的通用特征交互网络,它利用文本数据学习可跨多个领域有效迁移的通用特征交互。UFIN 将文本和特征视为两种不同的模态,并提出了一种基于大型语言模型的编码器-解码器网络,以强制将数据从文本模态迁移到特征模态。此外,UFIN 还开发了一种混合专家增强自适应特征交互模型,以学习跨多个领域的可迁移协作模式,并提出了一个多领域知识蒸馏框架来增强特征交互学习。UFIN 可以有效地弥合语义差距,学习跨不同领域的通用知识,超越了基于 ID 模型的限制。在八个数据集上的大量实验表明了 UFIN在多领域和跨平台设置中的有效性。该项目提供数据集准备、快速启动指南,并包含预训练模型和测试脚本。
* [Yueeeeeeee/LlamaRec](https://github.com/Yueeeeeeee/LlamaRec) LlamaRec是一个基于大型语言模型的双阶段推荐系统,该项目在CIKM2023 PGAI会议上发表。LlamaRec使用小型顺序推荐器检索候选物品,然后将用户历史和检索到的物品以文本形式输入LLM,并通过精心设计的提示模板进行处理。LlamaRec采用基于词汇化的方式将输出logits转换为候选物品上的概率分布,从而有效地对物品进行排序,无需生成长文本,并在推荐性能和效率方面取得了优异的性能。该项目提供了基于PyTorch的实现,并提供了详细的运行环境和训练步骤。LlamaRec在ML-100k、Beauty和Games等数据集上取得了显著的性能提升。
* [gorse-io/gorse](https://github.com/gorse-io/gorse) Gorse是一个开源的推荐系统引擎,用Go语言编写,旨在成为一个通用的开源推荐系统,可以快速应用于各种在线服务。通过将商品、用户和交互数据导入Gorse,系统会自动训练模型,为每个用户生成推荐。Gorse支持多种推荐来源,包括热门、最新、基于用户的、基于商品的和协同过滤。它还支持自动机器学习,在后台自动搜索最佳推荐模型,并提供RESTful API用于数据CRUD和推荐请求。Gorse还提供在线评估功能,可以分析最近插入的反馈的在线推荐性能,并提供仪表板用于数据管理、系统监控和集群状态检查。
* [ystdo/Codes-for-WSDM-CUP-Music-Rec-1st-place-solution](https://github.com/lystdo/Codes-for-WSDM-CUP-Music-Rec-1st-place-solution) WSDM CUP 2018 音乐推荐挑战赛第一名解决方案的对应代码。预测 3 月订阅到期的用户中,哪些会流失。为解决该题,阿里巴巴使用了两层 Stacking Model,第一层采用逻辑回归、随机森林、XGBoost 算法,第二层又采用 XGBoost 算法把第一层的结果融合。流失用户预测,对有会员体系的业务场景都可以使用,其中会员付费为主要收入的业务就更为关键,比如像 Apple Music、虾米音乐。多层 Stacking Model 由 AliOS 神灯研发,极大提升了分类预测的准确率,已广泛应用于 AliOS 多项业务中。
* [oywtece/deepmcp](https://github.com/oywtece/deepmcp) 点击率 (CTR) 预测模型。大多数现有方法主要对特征-CTR 关系进行建模,并且存在数据稀疏问题。相比之下,DeepMCP 对其他类型的关系进行建模,以学习更多信息和统计上可靠的特征表示,从而提高 CTR 预测的性能。DeepMCP 包含三部分:匹配子网、关联子网和预测子网。这些子网分别为用户-广告、广告-广告和功能-点击率关系建模。当这些子网在目标标签的监督下联合优化时,学习到的特征表示既具有良好的预测能力,又具有良好的表示能力。
* [westlake-repl/IDvs.MoRec](https://github.com/westlake-repl/IDvs.MoRec) 该项目名为IDvs.MoRec,是SIGIR 2023论文“推荐系统下一步发展方向:ID- vs. 基于模态的推荐模型再探”的代码实现。项目包含5个大规模数据集,用于评估基础模型、可迁移模型、多模态模型和LLM推荐模型,并提供预训练模型下载。该项目旨在通过对比ID-based和modality-based推荐模型,探讨推荐系统的未来发展方向。项目代码基于PyTorch框架,需要安装相应的依赖库。用户可以下载数据集并进行预处理,然后使用预训练模型进行训练和评估。
* [steven95421/KDD_WinnieTheBest](https://github.com/steven95421/KDD_WinnieTheBest) KDD Cup 2020 现代电商平台挑战:Multi-modalities Recall 第一名。数据来自移动电商平台的真实场景多模态数据。数据集由搜索查询和产品图像特征组成,是一个基于查询的多模式检索任务。实现了根据候选产品的图像特征对它们的集合进行排名。这些查询中的大多数是搜索具有特定特征的产品的名词短语。候选商品图片由卖家提供的照片,通过黑盒功能转化为2048维特征。与查询最相关的候选产品被视为查询的基本事实。
* [westlake-repl/Recommendation-Systems-without-Explicit-ID-Features-A-Literature-Review](https://github.com/westlake-repl/Recommendation-Systems-without-Explicit-ID-Features-A-Literature-Review) 该项目是一个关于推荐系统中预训练基础模型的论文列表,旨在探讨推荐系统是否可以拥有类似于自然语言处理和计算机视觉领域的基础模型,以及ID嵌入是否对于推荐模型是必要的,以及推荐系统是否会从匹配范式转向生成范式。项目还研究了如何利用大型语言模型来增强推荐系统,以及多模态推荐系统的未来发展趋势。项目包含了相关论文、数据集和代码链接,并提供了对ID与LLM、ID与多模态的比较分析。
* [westlake-repl/PixelRec](https://github.com/westlake-repl/PixelRec) PixelRec是一个大规模的多模态推荐系统数据集,包含短视频场景下的用户交互数据、商品信息和商品封面图片。该数据集旨在为推荐系统研究提供一个新的基准,并鼓励研究者探索如何利用原始像素信息来提升推荐效果。PixelRec包含Pixel200K、Pixel1M、Pixel8M和PixelRec四个版本,用户可以根据需要下载不同规模的数据集。此外,项目还提供了提取的文本特征向量和图像特征向量,方便研究者进行模型训练和评估。
* [xidongbo/AITM](https://github.com/xidongbo/AITM) 自适应信息传输多任务 (AITM) 框架的 TensorFlow 实现。 提交给 KDD21 的论文代码:使用多任务学习为客户获取建模受众多步转换之间的顺序依赖性。应用场景:联名卡获客,从曝光(Impression)、点击(Click)、申请(Application)、核卡(Approval)、激活(Activation)。另外,使用公开的[Ali-CCP阿里巴巴点击和转化预测数据集](https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408)。[pytorch实现](https://github.com/adtalos/AITM-torch)
* [YangZhengyi98/DreamRec](https://github.com/YangZhengyi98/DreamRec) DreamRec是一个基于扩散模型的序列推荐系统,其灵感来源于NeurIPS2023论文“Generate What You Prefer: Reshaping Sequential Recommendation via Guided Diffusion”。该项目利用扩散模型生成用户可能喜欢的物品,并通过引导扩散过程来提高推荐的准确性。DreamRec支持YooChoose、KuaiRec和Zhihu等数据集,并提供相应的代码示例。此外,DreamRec生成的物品可以由大型语言模型进行文本描述,这在RecInterpreter项目中得到了进一步的应用。
* [yuduo93/THIGE](https://github.com/yuduo93/THIGE) 基于时序异质交互图表示学习的商品推荐 将复杂异质的动态交互行为构建为时序异质交互图(Temporal Heterogeneous Interaction Graph, 简称为THIG)进而同时学习用户兴趣和商品表示用于商品推荐。本文提出了一种时序异质图上的表示学习方法,称之为THIGE,充分建模交互行为的异质性,刻画不同类型的兴趣偏好,并融合长、短期兴趣构建用户、商品表示。最后,在3个真实数据集上验证模型的有效性。
* [rainym00d/LLM4RS](https://github.com/rainym00d/LLM4RS) LLM4RS是 RecSys 2023 论文“Uncovering ChatGPT's Capabilities in Recommender Systems”的官方实现,该项目研究了 ChatGPT 在推荐系统中的能力,并将其应用于点、对和列表三种推荐策略。通过在四个不同领域数据集上的实验,证明了 ChatGPT 在所有三种排名策略中都优于其他大型语言模型。LLM4RS 提供了预处理数据、代码和脚本,用户可以根据自己的需求修改参数并运行代码,以探索 ChatGPT 在推荐系统中的应用。
* [NVIDIA-Merlin/Merlin](https://github.com/NVIDIA-Merlin/Merlin) NVIDIA Merlin是一个开源库,提供端到端的 GPU 加速推荐系统,涵盖从特征工程和预处理到训练深度学习模型以及在生产环境中运行推理的整个流程。它包含三个主要组件:NVTabular 用于特征工程和预处理,HugeCTR 用于大规模深度学习推荐模型的训练,Merlin Models 提供预训练模型和示例。Merlin 旨在帮助数据科学家、机器学习工程师和研究人员构建高性能的推荐系统,并能够处理数百 TB 的数据。
* [yuangh-x/2022-NIPS-Tenrec](https://github.com/yuangh-x/2022-NIPS-Tenrec) Tenrec是一个大规模多用途推荐系统基准数据集,包含来自两个推荐平台(文章和视频)的数据。它包含四个数据集:QK-video.csv、QB-video.csv、QK-article.csv 和 QB-artilce.csv,分别记录了用户在两个平台上的视频和文章行为。数据集可从官方网站下载,并需接受许可协议。Tenrec支持10个推荐任务,包括CTR预测、会话推荐等,并提供代码示例和排行榜,方便研究人员测试和比较不同模型的性能。
* [westlake-repl/MicroLens](https://github.com/westlake-repl/MicroLens) MicroLens是一个大规模的短视频推荐数据集,包含原始文本、音频、图像和视频数据,旨在推动短视频理解和推荐领域的研究。该数据集包含50,000 个视频和 100,000 个用户-视频交互对,并提供多种模态数据,包括文本、音频、图像和视频。MicroLens 旨在为短视频推荐、视频理解、视频生成等任务提供一个强大的基准数据集。该项目已被 DeepMind 邀请进行演讲,并已发表在 arXiv 上。
* [WayneDW/DeepLight_Deep-Lightweight-Feature-Interactions](https://github.com/WayneDW/DeepLight_Deep-Lightweight-Feature-Interactions) 轻量级特征交互算法deeplight 大幅加速ctr预估在线服务。 一,通过在浅层结构中精确搜索信息量更大的特征交互来加速模型推理,二,在深层结构中,从层内和层间对冗余的层和冗余的参数进行剪枝,三,促使embedding层的稀疏性,进而保持最有判别性的信息。为了解决预测延迟问题,我们通过结构修剪来加速预测,最终以46倍的速度提高而不会牺牲Criteo数据集上的最新性能。
* [HKUDS/MMSSL](https://github.com/HKUDS/MMSSL) MMSSL是一个多模态推荐系统,它结合了生成式模态感知协同自增强和对比式跨模态依赖编码,在WWW 2023论文中提出。MMSSL通过自监督学习方法,利用多种模态信息(如文本、图像)来提升推荐效果,并超越了现有的最先进的多模态推荐器。该项目提供PyTorch实现,支持Amazon-Baby、Amazon-Sports、Tiktok、Allrecipes等数据集,并提供预处理后的多模态数据,方便研究人员使用。
* [wangjiachun0426/StackRec](https://github.com/wangjiachun0426/StackRec) 通过迭代堆叠实现推荐系统的高效训练。采用对一个浅层序列推荐模型进行多次层堆叠(Layer Stacking),从而得到一个深层序列推荐模型。具体来说,训练过程包含以下步骤:1)预训练一个浅层序列推荐模型;2)对该模型进行层堆叠,得到一个两倍深度的模型;3)微调这个深层模型;4)将深层模型作为一个新的浅层模型,重复1)至3)直到满足业务需求。
* [statisticianinstilettos/recmetrics](https://github.com/statisticianinstilettos/recmetrics) recmetrics是一个用于评估推荐系统的Python库,它提供了一系列指标和诊断工具。该库的目标是成为Python中推荐系统指标的主要来源,并提供Long Tail Plot、Mar@K、Map@K和Coverage等指标,帮助开发者评估推荐系统的性能。该库还包含一个示例笔记本,使用MovieLens 20M数据集演示了这些指标和绘图的应用。开发者可以通过pip安装该库,并使用make命令运行演示和测试。
* [hkuds/awesome-sslrec-papers](https://github.com/hkuds/awesome-sslrec-papers) Awesome-SSLRec-Papers是一个收集了关于推荐系统中自监督学习(SSL)的论文和资源的项目。该项目涵盖了九种不同的推荐场景,例如协同过滤、序列推荐等,并根据三种主要的自监督框架(对比学习、生成式学习和对抗式学习)对方法进行分类和总结。该项目还提供了一个关于推荐系统中自监督学习的综述论文,并包含了相关资源,例如WSDM'2024的SSLRec框架。
* [tangxyw/RecSysPapers](https://github.com/tangxyw/RecSysPapers) 这是一个推荐/广告/搜索领域工业界经典和前沿论文集合,目前收录了849篇论文,涵盖了推荐系统、广告、搜索、个性化、多任务学习、多模态、强化学习、对抗学习、对比学习、联邦学习、因果推断、Look-Alike、Learning-to-Rank、迁移学习等领域。该项目根据论文标题进行分类,并提供年份、发表机构、模型/方法等信息,方便用户快速查找相关论文。
* [aister2020/KDDCUP_2020_Debiasing_1st_Place](https://github.com/aister2020/KDDCUP_2020_Debiasing_1st_Place) 去偏Debiasing中获得第一名。侧重于暴露的复杂性,即如何推荐过去很少暴露的项目,以对抗推荐系统中经常遇到的马太效应。特别是,在对点击数据进行训练时减少偏差对于此任务的成功至关重要。就像现代推荐系统中记录的点击数据和实际在线环境之间存在差距一样,训练数据和测试数据之间也会存在差距,主要是在趋势和项目的流行度方面。
* [robi56/Deep-Learning-for-Recommendation-Systems](https://github.com/robi56/Deep-Learning-for-Recommendation-Systems) 该项目是一个关于推荐系统深度学习的资源库,包含了深度学习相关的文章、论文和代码示例。项目特色在于收集了大量推荐系统领域内的深度学习研究成果,涵盖了多种模型和方法,例如基于自编码器的推荐系统、基于循环神经网络的推荐系统、基于卷积神经网络的推荐系统等,并提供了相关论文和代码链接,方便用户学习和参考。
* [BinbinJin/SD-GAR](https://github.com/BinbinJin/SD-GAR) 第一篇将生成式对抗网络(GAN)框架应用于信息检索(包括推荐系统)的研究工作。在该工作中,IRGAN 训练了一个生成器和一个判别器,其中生成器用来自适应地生成合适的负样本以帮助判别器训练;而判别器则是用来判断样本是来自用户真实的反馈还是生成器生成的样本。通过两者交替式对抗性地训练达到互相提升效果的目的。
* [uctoronto/SHAN](https://github.com/uctoronto/SHAN) Sequential Recommender System based on Hierarchical Attention Network 分层注意力网络SHAN用于序列推荐 。提出新颖的两层分层注意力网络,将上述特性考虑进来,用于推荐可能感兴趣的下一个商品。第一层注意力网络基于用户的历史购买商品的表示来学习用户的长期偏好,第二层通过将用户的长期和短期偏好结合起来,输出最终的用户表示。
* [xiangwang1223/disentangled_graph_collaborative_filtering](https://github.com/xiangwang1223/disentangled_graph_collaborative_filtering) 解缠结图协同过滤 一个可解释的推荐框架,它配备了 (1) 胶囊网络的动态路由机制,以细化意图感知图中用户-项目交互的强度,(2) 图的嵌入传播机制神经网络,从高阶连通性中提取相关信息,以及(3)独立建模的距离相关性,以确保意图之间的独立性。因此,我们明确地解开了用户在表示学习中的隐藏意图。
* [johnny12150/GCE-GNN](https://github.com/johnny12150/GCE-GNN) 提出了一种全局上下文增强(global-context enhanced)的GNN网络,称为GCE-GNN。能够从两种层次来学习物品的表征,包括global-level:从所有session构成的图上进行全局的表征;以及session-level:从单个session局部item转移图上进行局部的表征;最后融合二者,并通过注意力机制形成最终的序列表征,用于序列推荐任务。
* [enoche/MultimodalRecSys](https://github.com/enoche/MultimodalRecSys) 这是一个关于多模态推荐系统资源的精选列表,包含代码优先的原则,并涵盖了10多个多模态模型和各种通用协同过滤模型。项目还包含一份多模态推荐系统综述,并提供了多个公开数据集。项目特色是包含了最新的研究成果和代码,并提供了一个统一的多模态推荐框架MMRec,方便用户进行实验和研究。
* [CRIPAC-DIG/DGCF](https://github.com/CRIPAC-DIG/DGCF) 动态图协同过滤算法,利用动态图来同时捕捉用户和商品之间的协同和序列关系的框架。提出三种更新机制: 零阶继承,一阶传播,二阶聚合,来表示新的交互发生时,该交互对用户或者商品的影响。基于这三种机制,交互发生时同时更新用户和商品的embedding,并且利用最新的embedding来给出推荐。
* [hwwang55/DKN](https://github.com/hwwang55/DKN) 将知识图表示融入到新闻推荐中。DKN是一种基于内容的用于点击率预估的深度推荐框架。DKN的主要部分是一个多通道、单词实体对齐的知识感知卷积神经网络,KCNN,其中融入了新闻在语意层面和知识层面的表示。KCNN将单词和实体作为多通道,在卷积过程中明确保留他们之间的对齐关系。
* [CRIPAC-DIG/SR-GNN](https://github.com/CRIPAC-DIG/SR-GNN) 会话序列推荐的图应用 直接将会话序列建模为图结构数据,并使用图神经网络捕获复杂的项目物品item间转换,每一个会话利用注意力机制将整体偏好与当前偏好结合进行表示。同时这种方式也就不依赖用户的表示了,完全只基于会话内部的潜在向量获得Embedding,然后预测下一个点击。
* [motefly/DeepGBM](https://github.com/motefly/DeepGBM) 结合了GBDT 和神经网络的优点,在有效保留在线更新能力的同时,还能充分利用类别特征和数值特征。由两大块组成,CatNN 主要侧重于利用 Embedding 技术将高维稀疏特征转为低维稠密特征,而 GBDT2NN 则利用树模型筛选出的特征作为神经网络的输入,并通过逼近树结构来进行知识蒸馏。
* [water8394/flink-recommandSystem-demo](https://github.com/water8394/flink-recommandSystem-demo) 基于Flink实现的商品实时推荐系统。flink统计商品热度,放入redis缓存,分析日志信息,将画像标签和实时记录放入Hbase。在用户发起推荐请求后,根据用户画像重排序热度榜,并结合协同过滤和标签两个推荐模块为新生成的榜单的每一个产品添加关联产品,最后返回新的用户列表。
* [PreferredAI/cornac](https://github.com/PreferredAI/cornac) Cornac是一个用于多模态推荐系统的比较框架,旨在方便地使用利用辅助数据(例如商品描述文本和图像、社交网络等)的模型。Cornac支持快速实验和新模型的直接实现,并与现有的机器学习库(如TensorFlow、PyTorch)高度兼容。它被ACM RecSys2023推荐为评估和复现推荐算法的框架之一。
* [DiligentPanda/Tencent_Ads_Algo_2018](https://github.com/DiligentPanda/Tencent_Ads_Algo_2018) 该仓库维护2018年腾讯广告算法大赛的代码。我们的代码在决赛中排名第三。基于 FFM 的注意力神经网络的平均值。在最终提交中,我们使用了 13 个这样的网络。但是这些网络只是在它们的随机种子上有所不同。 5 个这样的网络将给出几乎相同的结果。Lookalike 相似人群拓展
* [danyang-liu/KRED](https://github.com/danyang-liu/KRED) KRED:基于知识感知的文档表示应用于新闻推荐。首先是用KGAT来表示每个实体,然后使用用实体的位置 实体出现频率 实体的类别等信息。再用Transformer来优化表征。最后做多任务:包括个性化推荐,项目到项目推荐、新闻流行预测、新类别预测和本地新闻检测等等。
* [hydantess/TianChi_zhilianzhaopin:](https://github.com/hydantess/TianChi_zhilianzhaopin) 智联招聘人岗智能匹配 根据智联招聘抽样的经过脱敏的求职者标签数据、职位信息、及部分求职者行为信息、用人单位反馈信息,训练排序模型,对求职者的职位候选集进行排序,尽可能使得双端都满意的职位(求职者满意以及用人单位满意)优先推荐。
* [triton-inference-server/server](https://github.com/triton-inference-server/server) 面向高吞吐低延时的生产环境的框架,通过Triton做线上推理,将TensorRT作为执行后端,能够有效降低Latency,并最大化地利用GPU资源。相比于一个纯CPU的方案,两者的结合使用能够使Latency达到原先的1/18,数据吞吐量达到原先的17.6倍。
* [sumitsidana/recsys_challenge_2020](https://github.com/sumitsidana/recsys_challenge_2020) 此存储库包含 2020 年 RecSys 挑战赛方法的第四名解决方案的代码。该挑战侧重于在动态环境中进行推文参与度预测的现实任务。目标是根据异构输入数据预测目标用户对一组推文的不同类型参与(点赞、回复、转推和转推)的概率。
* [archersama/awesome-recommend-system-pretraining-papers](https://github.com/archersama/awesome-recommend-system-pretraining-papers) 这是一个关于推荐系统预训练模型的论文列表,包含了推荐系统预训练模型的相关研究,以及一些相关的研究领域,例如用于推荐的大语言模型。项目特色包括论文列表、数据集列表和招聘信息,并提供相关论文和代码链接。
* [DyGRec/ASReP](https://github.com/DyGRec/ASReP) 反向预训练Transformer 增广序列推荐系统.解决序列推荐系统中的冷启动(cold-start)问题。为了解决该问题,我们提出需要对冷启动对应的短序列(short sequence)进行增广(Augmentation),从而能够补全信息而避免冷启动的问题。
* [SSE-PT/SSE-PT](https://github.com/SSE-PT/SSE-PT) 基于Transformer的模型,但是和SASRec类似, 效果不错,但是缺少个性化,而且没有加入基于个性化的用户embedding。为了克服这种问题,本文提出来一种个性化的Transformer(SSE-PT),该方法相较于之前的方案提升了5%。
* [newlei/LR-GCCF](https://github.com/newlei/LR-GCCF) 重温基于图的协同过滤:一种线性残差图卷积网络方法,AAAI2020 本文提出了一种使用非线性特征传播和残差结构的GCN网络LR-GCCF用于基于CF的推荐系统,在模型表型上和时间效率上有了一定的提高。
* [NUS-HPC-AI-Lab/Helen](https://github.com/NUS-HPC-AI-Lab/Helen) 《Helen:利用Frequency-wise Hessian特征值正则化优化CTR预测模型》正式实现。Helen 在 PyTorch 中实现,旨在无缝集成到您的 CTR 预测工作流程中,通过频率明智的 Hessian 特征值正则化来增强模型性能。
* [Coder-Yu/SELFRec](https://github.com/Coder-Yu/SELFRec) 一个用于自我监督推荐 (SSR) 的 Python 框架,它集成了常用的数据集和指标,并实现了许多最先进的 SSR 模型。 SELFRec 具有轻量级架构并提供用户友好的界面。 它可以促进模型的实施和评估。
* [RUCAIBox/FMLP-Rec](https://github.com/RUCAIBox/FMLP-Rec) 堆叠多个过滤器增强块以生成用于推荐的顺序用户偏好的表示。我们的方法与 SASRec 的主要区别在于用一种新颖的过滤器结构(傅里叶变换MLP)替换了 Transformer 中的多头自注意力结构。
* [JiachengLi1995/TiSASRec](https://github.com/JiachengLi1995/TiSASRec) Time Interval Aware Self-Attention for Sequential Recommendation 时间间隔自注意力模型用于序列推荐。 基于序列模型框架对行为的时间戳进行建模,在下一个商品预测中探索不同时间间隔的影响。
* [allenjack/HGN](https://github.com/allenjack/HGN) 用矩阵分解的形式捕捉用户的长期兴趣,同时将短期兴趣进行拆分,分为group-level以及instance-level的,通过Hierarchical Gating来处理group-level的信息,item-item的乘积来捕捉商品之间的关系。
* [Travisgogogo/BAAI-ZHIHU-2019](https://github.com/Travisgogogo/BAAI-ZHIHU-2019) Top3 高效地将用户新提出的问题邀请其他用户进行解答,以及挖掘用户有能力且感兴趣的问题进行邀请下发,优化邀请回答的准确率,提高问题解答率以及回答生产数。
* [ChuanyuXue/CIKM-2019-AnalytiCup](https://github.com/ChuanyuXue/CIKM-2019-AnalytiCup) 2019-CIKM挑战赛,超大规模推荐之用户兴趣高效检索赛道 冠军解决方案 ,召回阶段基于 Item CF 相似性做召回( item-item 相似性),排序阶段,最终使用了 Catboost 和 Lightgbm 建模。
* [lqfarmer/GraphTR](https://github.com/lqfarmer/GraphTR) 采用了GraphSAGE+FM+Transformer多种手段,粒度上从粗到细,交叉、聚合来自不同领域的异构消息,相比于mean/max pooling、浅层FC等传统聚合方式,极大提升了模型的表达能力
* [RainFung/Tianchi-AntaiCup-International-E-commerce-Artificial-Intelligence-Challenge](https://github.com/RainFung/Tianchi-AntaiCup-International-E-commerce-Artificial-Intelligence-Challenge) 天池-安泰杯跨境电商智能算法大赛 冠军。 通过海量数据挖掘用户下一个可能交互商品,选手们可以提交预测的TOP30商品列表,排序越靠前命中得分越高。
* [johnnyjana730/MVIN](https://github.com/johnnyjana730/MVIN) 提出multi-view item network (MVIN) ,从user和item来学习多个视角下的商品表示,进而进行商品推荐。在实体视图中,项目表示由KG中连接到它的实体来定义的。
* [summmeer/session-based-news-recommendation](https://github.com/summmeer/session-based-news-recommendation) 通过利用不同类型的隐式反馈,我们减轻了精度和多样性与冷启动问题之间的权衡,这对于实际应用是有效的。命名为 TCAR(时间和内容感知推荐系统)
* [xiangwang1223/neural_graph_collaborative_filtering](https://github.com/xiangwang1223/neural_graph_collaborative_filtering) 神经图协同过滤(NGCF)是一种基于图神经网络的新推荐框架,通过执行嵌入传播,在用户项二部图中以高阶连通性的形式对协同信号进行显式编码。
* [NLPWM-WHU/EDUA](https://github.com/NLPWM-WHU/EDUA) 多样性推荐的 EDUA 模型。其采用双边分支网络作为双目标优化的主要架构,该架构既保持传统学习分支的准确性,又提高自适应学习分支的多样性。
* [Tencent/embedx](https://github.com/Tencent/embedx) 基于 c++ 开发的、完全自研的分布式 embedding 训练和推理框架。它目前支持 图模型、深度排序、召回模型和图与排序、图与召回的联合训练模型等
* [QYQ-bot/CLEA](https://github.com/QYQ-bot/CLEA) 运用对比学习解决购物篮推荐场景。(下一个购物篮推荐,也就是根据用户的历史购物篮序列,来推荐用户在下一次可能购买的商品集合。)
* [wuch15/IJCAI2019-NAML](https://github.com/wuch15/IJCAI2019-NAML) 多视图学习新闻推荐系统Neural News Recommendation with Attentive Multi-View Learning 可以通过利用不同种类的新闻信息来学习用户和新闻的特征表示。
* [zygmuntz/goodbooks-10k](https://github.com/zygmuntz/goodbooks-10k) 包含一万本最受欢迎(评分最多)书籍的 600 万个评分。还有:用户标记为阅读的书籍、书籍元数据(作者、年份等)、标签/货架/流派
* [gusye1234/LightGCN-PyTorch](https://github.com/gusye1234/LightGCN-PyTorch) 旨在简化 GCN 的设计,使其更简洁,更适合推荐。提出了名为 LightGCN 的新模型,仅包含 GCN 中最重要的组件—邻域聚合—用于协同过滤
* [Scagin/NeuralLogicReasoning](https://github.com/Scagin/NeuralLogicReasoning) 神经协同推理,提出了一种新的神经逻辑推荐(NLR)框架,能够将逻辑结构和神经网络相结合,将推荐任务转化为一个逻辑推理任务。
* [YushenLi807/WWW24-RAT](https://github.com/YushenLi807/WWW24-RAT) 论文“RAT:用于点击率预测的检索增强变压器”(WWW 24 短论文)的代码。RAT: Retrieval-Augmented Transformer for Click-Through Rate Prediction 。
* [amzn/pecos](https://github.com/amzn/pecos) 巨大和相关空间的预测 。用于对具有大输出空间的问题进行快速学习和推理,例如极端多标签排序 (XMR) 和大规模检索。
* [NVIDIA-Merlin/competitions](https://github.com/NVIDIA-Merlin/competitions) 推荐系统竞赛的解决方案 RecSys2019_Challenge, RecSys2020_Challenge,RecSys2021_Challenge,SIGIR_eCommerce_Challenge_2021,WSDM_WebTour2021_Challenge
* [twitter/the-algorithm-ml](https://github.com/twitter/the-algorithm-ml) 这个项目开源了 Twitter 使用的一些 ML 模型。目前这些是:“For You”重磅排名(项目/主页/回顾)。TwHIN 嵌入。
* [Lancelot39/KGSF](https://github.com/Lancelot39/KGSF) 基于知识图谱语义融合改进会话推荐系统 Improving Conversational Recommender Systems via Knowledge Graph based Semantic Fusion
* [NLPWM-WHU/AGNN](https://github.com/NLPWM-WHU/AGNN) 区分了推荐系统中的一般冷启动和严格冷启动,并提出了属性图神经网络方法有效应对严格冷启动的场景。
* [github.com/THUDM/ComiRec](https://github.com/THUDM/ComiRec) KDD 2020 论文《Controllable Multi-Interest Framework for Recommendation》的源代码和数据集 可控的多兴趣推荐框架
* [hwwang55/KGCN](https://github.com/hwwang55/KGCN) 用于推荐系统的知识图卷积网络,它使用图卷积网络(GCN)技术来处理知识图谱以达到推荐的目的。
* [vze92/DMR](https://github.com/vze92/DMR) Deep Match to Rank Model for Personalized Click-Through Rate Prediction DMR:Matching和Ranking相结合的点击率预估模型
* [guyulongcs/CIKM2020_DMT](https://github.com/guyulongcs/CIKM2020_DMT) 将兴趣建模、多任务学习、偏置学习等几部分进行融合,提出了DMT模型(Deep Multifaceted Transformers)
* [wujcan/SGL](https://github.com/wujcan/SGL) 基于图自监督学习的推荐系统。应用于「用户-物品二分图推荐系统」的「图自监督学习」框架。
* [weberrr/CKAN](https://github.com/weberrr/CKAN) Collaborative Knowledge-aware Attentive Network for Recommender Systems 协作知识感知的注意力网络推荐系统
* [wangzhegeek/EGES](https://github.com/wangzhegeek/EGES) 阿里巴巴论文的实施:阿里巴巴[电子商务推荐的十亿级商品嵌入](https://arxiv.org/abs/1803.02349)
* [guoday/Tencent2020_Rank1st](https://github.com/guoday/Tencent2020_Rank1st) 广告受众基础属性预估 2020 Tencent College Algorithm Contest, and the online result ranks 1st.
* [huangtinglin/MixGCF](https://github.com/huangtinglin/MixGCF) 基于多层嵌入合成负例用于推荐,相对NGCF 提高 26%, LightGCN 提高 22%
* [bytedance/HLLM](https://github.com/bytedance/HLLM) HLLM:通过用于项目和用户建模的分层大型语言模型增强顺序推荐
* [miziha-zp/KDD2020_mutilmodalities](https://github.com/miziha-zp/KDD2020_mutilmodalities) top8 KDD Cup 2020 Challenges for Modern E-Commerce Platform: Multimodalities Recall
* [rosetta-ai/rosetta_recsys2019](https://github.com/rosetta-ai/rosetta_recsys2019) RosettaAI 团队在 2019 年 ACM Recsys 挑战赛中获得第四名的解决方案
* [twchen/lessr](https://github.com/twchen/lessr) 将会话记录构建成图来建模商品之间的跳转关系的图神经网络
* [guyulongcs/CIKM2020_DMT](https://github.com/guyulongcs/CIKM2020_DMT) 大型电子商务推荐系统中多目标排名的深层多面Transformers模型
* [RUCAIBox/Awesome-Privacy-Preserving-RS-Paper](https://github.com/RUCAIBox/Awesome-Privacy-Preserving-RS-Paper) 本知识库收集了 2018 年后隐私保护推荐系统的最新研究进展。
* [kupuSs/CIKM-CUP-2019-track2-rank10](https://github.com/kupuSs/CIKM-CUP-2019-track2-rank10) CIKM 2019 E-Commerce AI Challenge - 超大规模推荐之用户兴趣高效检索
* [PPshrimpGo/BDCI2018-ChinauUicom-1st-solution](https://github.com/PPshrimpGo/BDCI2018-ChinauUicom-1st-solution) CCF BDCI 2018的面向电信领域的个性化套餐匹配第一名解决方案
* [SAI990323/TALLRec](https://github.com/SAI990323/TALLRec/tree/main) 新颖的框架TALLRec,使LLM能够高效和有效地适应推荐任务。
* [alibaba/HybridBackend](https://github.com/alibaba/HybridBackend) 用于在异构集群上训练广泛和深度推荐系统的高性能框架
* [caserec/Datasets-for-Recommender-Systems](https://github.com/caserec/Datasets-for-Recommender-Systems) 一个以主题为中心的高质量推荐系统(RS)公共数据集。
* [ahmedrashed-ml/CARCA](https://github.com/ahmedrashed-ml/CARCA) 通过交叉注意的上下文和属性感知顺序推荐,RecSys 2022
* [imsheridan/DeepRec](https://github.com/imsheridan/DeepRec) 推荐、广告工业界经典以及最前沿的论文、资料集合
* [easezyc/Multitask-Recommendation-Library](https://github.com/easezyc/Multitask-Recommendation-Library) 提供了多任务推荐模型和通用数据集的 PyTorch 实现。
* [laekov/fastmoe](https://github.com/laekov/fastmoe) 一个易用且高效的基于 PyTorch 的 MoE 模型训练系统.
* [RUCAIBox/CIKM2020-S3Rec](https://github.com/RUCAIBox/CIKM2020-S3Rec) 自我推荐学习,用于具有互信息最大化的顺序推荐
* [gluver/KG4Rec_Paperlist](https://github.com/gluver/KG4Rec_Paperlist) 这是关于基于知识图谱的推荐的顶级论文列表。
* [CAN-Paper/Co-Action-Network](https://github.com/CAN-Paper/Co-Action-Network) CAN的实现:重新审视点击率预测的特征协同作用
* [bytedance/LargeBatchCTR](https://github.com/bytedance/LargeBatchCTR) 基于 DeepCTR 和 CowClip 的 CTR 模型的大批量训练。
* [dgliu/WSDM24_MultiFS](https://github.com/dgliu/WSDM24_MultiFS) MultiFS:深度推荐系统中的自动多场景特征选择
* [Linxi000/UniRec](https://github.com/Linxi000/UniRec) UniRec:顺序推荐的一致性和频率的双重增强。
* [sisinflab/elliot](https://github.com/sisinflab/elliot) 用于可重现推荐系统评估的全面而严谨的框架
* [gaohaining/MLoRA](https://github.com/gaohaining/MLoRA) MLoRA:用于点击率预测的多域低秩自适应网络
* [kang205/SASRec](https://github.com/kang205/SASRec) 源于Transformer的基于自注意力的序列推荐模型
* [ttvand/Santander-Product-Recommendation](https://github.com/ttvand/Santander-Product-Recommendation) Kaggle 竞赛第二名解决方案 - Santander 产品推荐
* [shichence/AutoInt](https://github.com/shichence/AutoInt) 使用Multi-Head self-Attention进行自动的特征提取
* [RUCAIBox/NCL](https://github.com/RUCAIBox/NCL) 通过邻域丰富的对比学习改进图协同过滤。
* [PeiJieSun/diffnet](https://github.com/PeiJieSun/diffnet) 基于图神经网络的社交推荐模型。SIGIR2019。
* [huangtinglin/Knowledge_Graph_based_Intent_Network](https://github.com/huangtinglin/Knowledge_Graph_based_Intent_Network) 与推荐知识图交互背后的学习意图,WWW2021
* [UIC-Paper/MIMN](https://github.com/UIC-Paper/MIMN) 点击率预测的长序列用户行为建模的实践
* [chenchongthu/SAMN](https://github.com/chenchongthu/SAMN) 社交注意力记忆网络在推荐系统中的应用
* [fuxiAIlab/RL4RS](https://github.com/fuxiAIlab/RL4RS) 基于强化学习的推荐系统的真实世界基准
* [LeeeeoLiu/ESRM-KG](https://github.com/LeeeeoLiu/ESRM-KG) 关键词生成的基于电商会话的推荐模型
* [zyli93/InterHAt](https://github.com/zyli93/InterHAt) 通过分层注意力预测可解释的点击率。
* [weiyinwei/MMGCN](https://github.com/weiyinwei/MMGCN) 多模态图神经网络解决短视频推荐难题
* [xiaxin1998/DHCN](https://github.com/xiaxin1998/DHCN) 用于基于会话的推荐的自超图卷积网络
* [jennyzhang0215/STAR-GCN](https://github.com/jennyzhang0215/STAR-GCN) 用于推荐系统的堆叠和重构图卷积网络
* [awarebayes/RecNN](https://github.com/awarebayes/RecNN) 围绕 pytorch构建的强化学习推荐工具包
* [zhuchenxv/AutoFIS](https://github.com/zhuchenxv/AutoFIS) 自动特征交互选择的点击率预测模型
* [YushanZhu/K3M](https://github.com/YushanZhu/K3M) 电子商务中的知识感知多模态预训练
* [LogicJake/tuling-video-click-top3](https://github.com/LogicJake/tuling-video-click-top3) 图灵联邦视频点击预测大赛线上第三
* [DeepGraphLearning/RecommenderSystems](https://github.com/DeepGraphLearning/RecommenderSystems) 顺序推荐 基于维度的推荐 社交推荐
* [tsinghua-fib-lab/GNN-Recommender-Systems](https://github.com/tsinghua-fib-lab/GNN-Recommender-Systems) 基于图神经网络的推荐算法索引。
* [pangolulu/exact-k-recommendation](https://github.com/pangolulu/exact-k-recommendation) 解决推荐中带约束的Top-K优化问题
* [maenzhier/GRecX](https://github.com/maenzhier/GRecX) 基于 GNN 的推荐的高效统一基准。
* [facebookresearch/dlrm](https://github.com/facebookresearch/dlrm) 深度学习推荐模型(DLRM)的实现
* [nancheng58/Awesome-LLM4RS-Papers](https://github.com/nancheng58/Awesome-LLM4RS-Papers) 大型语言模型增强推荐系统论文
* [chenghuige/mind](https://github.com/chenghuige/mind) MIND新闻推荐冠军分享细节揭秘
* [microsoft/tutel](https://github.com/microsoft/tutel) Tutel MoE:优化的专家组合实施
* [rener1199/deep_memory](https://github.com/rener1199/deep_memory) 用户记忆网络的点击率预测
* [tsinghua-fib-lab/CLSR](https://github.com/tsinghua-fib-lab/CLSR) 解开推荐的长期和短期利益
* [wenqifan03/GraphRec-WWW19](https://github.com/wenqifan03/GraphRec-WWW19) 用于社交推荐的图神经网络
* [yusanshi/NewsRecommendation](https://github.com/yusanshi/NewsRecommendation) NRMS NAML LSTUR DKN Hi-Fi Ark TANR
* [FeiSun/BERT4Rec](https://github.com/FeiSun/BERT4Rec) 基于BERT的顺序推荐
* [Jhy1993/Awesome-GNN-Recommendation](https://github.com/Jhy1993/Awesome-GNN-Recommendation) GNN-推荐相关资源
* [xiangwang1223/neural_graph_collaborative_filtering](https://github.com/xiangwang1223/neural_graph_collaborative_filtering) 神经图协同过滤
* [oywtece/dstn](https://github.com/oywtece/dstn) dstn
* [shenweichen/DSIN](https://github.com/shenweichen/DSIN) DSIN
## 推荐系统算法库与列表
* [RUCAIBox/RecBole](https://github.com/RUCAIBox/RecBole) 统一,全面,高效的推荐库,包括:AFM,AutoInt,DCN,DeepFM,DSSM,FFM,FM,FNN,FwFM,LR,NFM,PNN,WideDeep,xDeepFM,BPR,ConvNCF,DGCF,DMF,FISM,GCMC,ItemKNN,LightGCN,NAIS,NeuMF,NGCF,Pop,SpectralCF,CFKG。CKE(Collaborative Knowledge base Embedding 发自16年KDD,将KG与CF融合做联合训练)。KGAT Knowledge Graph Attention Network for Recommendation 用KG做增强,捕捉这种高阶交互式特征,做推荐预测。KGCN,KGNNLS。KTUP Unifying Knowledge Graph Learning and Recommendation:Towards a Better Understanding of User Preferences 一方面利用KG可以帮助更好的理解用户偏好,另一方面,用户-物品的交互可以补全KG,增强KG中缺少的事实,最终使两个部分都得到加强。MKR(Multi-task Learning for KG enhanced Recommendation 融合KG和RC) 左边是推荐任务,用户和物品的特征表示作为输入,预测点击率y 右边是知识图谱任务。三元组的头结点h和关系r表示作为输入,预测的尾节点t 两者的交互由一个cross-feature-sharing units完成,由于物品向量和实体向量实际上是对同一个对象的两种描述,他们之间的信息交叉共享可以让两者都获得来自对方的额外信息,从而弥补了自身的信息稀疏性的不足。ippleNet,BERT4Rec,Caser,DIN,FDSA,FPMC,GCSAN,GRU4Rec,GRU4RecF,GRU4RecKG,KSR,NARM,NextItNet,S3Rec,SASRec,SASRecF,SRGNN,STAMP,TransRec。
* [wangshusen/RecommenderSystem](https://github.com/wangshusen/RecommenderSystem) 工业界的推荐系统教程,概要:推荐系统的基本概念、推荐系统的链路、AB测试。召回:基于物品的协同过滤(ItemCF)、Swing模型、基于用户的协同过滤(UserCF)、离散特征处理、矩阵补充、双塔模型:模型和训练、双塔模型:正负样本、双塔模型:线上服务、双塔模型+自监督学习、Deep Retrieval 召回、其它召回通道、曝光过滤。排序:多目标排序模型、多门专家混合 (MMoE)、预估分数融合、播放时长建模、推荐系统的特征、粗排三塔模型。交叉结构:因式分解机 (FM)、Deep & Cross Network (深度交叉网络)、LHUC、SENet & FiBiNET、用户行为序列建模:用户行为序列特征、DIN 模型、SIM 模型。多样性:多样性的度量、MMR 算法、规则约束、DPP:数学基础、DPP:多样性算法。物品冷启动 :评价指标、简单的召回通道、聚类召回、Look-Alike人群扩散、流量调控、冷启动的AB测试。涨指标的方法:概述、召回、排序、多样性、特殊人群、交互行为。
* [pytorch/torchrec](https://github.com/pytorch/torchrec) PyTorch 域库,旨在提供大规模推荐系统 (RecSys) 所需的常见稀疏性和并行性基元。它允许作者使用跨多个 GPU 分片的大型嵌入表来训练模型。包含:并行基元,支持使用混合数据并行性/模型并行性轻松创作大型高性能多设备/多节点模型。TorchRec 分片可以使用不同的分片策略对嵌入表进行分片嵌入,包括数据并行、表分片、行分片、分片、分片。TorchRec 规划器可以自动为模型生成优化的分片计划。流水线训练与数据加载设备传输(复制到 GPU)、设备间通信 (input_dist) 和计算(向前、向后)重叠,以提高性能。由 FBGEMM 提供支持的 RecSys 的优化内核。量化支持,可降低训练和推理的精度。RecSys 的通用模块。经过生产验证的 RecSys 模型架构。RecSys 数据集(criteo 点击日志和 movielens)。端到端训练示例,例如在 criteo 点击日志数据集上训练的 dlrm 事件预测模型。
* [datawhalechina/torch-rechub](https://github.com/datawhalechina/torch-rechub) 用于推荐模型的轻量级Pytorch 框架,易于使用且易于扩展。scikit-learn风格易用的API。模型训练与模型定义解耦,易拓展,可针对不同类型的模型设置不同的训练机制。接受pandas的DataFrame、Dict数据输入,上手成本低。高度模块化,容易调用组装成新模型 LR、MLP、FM、FFM、CIN、target-attention、self-attention、transformer。支持常见排序模型 WideDeep、DeepFM、DIN、DCN、xDeepFM等。支持常见召回模型 DSSM、YoutubeDNN、YoutubeDSSM、FacebookEBR、MIND等。多任务学习支持SharedBottom、ESMM、MMOE、PLE、AITM等模型。 GradNorm、UWL、MetaBanlance等动态loss加权机制。
* [reczoo/FuxiCTR](https://github.com/reczoo/FuxiCTR) 点击率 (CTR) 预测是在线广告、推荐系统和赞助搜索等各种工业应用的一项关键任务。 FuxiCTR 提供了一个用于 CTR 预测的开源库,具有可配置性、可调谐性和可重复性等关键特性。我们希望该项目能够促进可重复的研究,并使该领域的研究人员和从业者受益。主要特点:可配置:数据预处理和模型都是模块化和可配置的。 可调整:模型可以通过简单的配置自动调整。 可重现:所有基准测试都可以轻松重现。 可扩展:可以轻松扩展到任何新模型,同时支持 Pytorch 和 Tensorflow 框架。
* [benfred/implicit](https://github.com/benfred/implicit) Implicit是一个快速 Python 协同过滤库,专门用于处理隐式反馈数据集。它包含多种流行的推荐算法,包括交替最小二乘法(ALS)、贝叶斯个性化排序 (BPR) 和逻辑矩阵分解 (LMF)。这些模型使用 Cython 和 OpenMP 进行多线程训练,并支持 CUDA 内核以利用 GPU 加速。Implicit 还支持使用 Annoy、NMSLIB 和 Faiss 等近似最近邻库来加速推荐生成。项目提供简单的 API,方便用户使用,并包含示例程序展示如何使用 Implicit 在 Last.fm 数据集上计算相似艺术家。
* [PaddlePaddle/PaddleRec](https://github.com/PaddlePaddle/PaddleRec) 大规模推荐算法库,包含推荐系统经典及最新算法LR、Wide&Deep、DSSM、TDM、MIND、Word2Vec、Bert4Rec、DeepWalk、SSR、AITM,DSIN,SIGN,IPREC、GRU4Rec、Youtube_dnn、NCF、GNN、FM、FFM、DeepFM、DCN、DIN、DIEN、DLRM、MMOE、PLE、ESMM、ESCMM, MAML、xDeepFM、DeepFEFM、NFM、AFM、RALM、DMR、GateNet、NAML、DIFM、Deep Crossing、PNN、BST、AutoInt、FGCNN、FLEN、Fibinet、ListWise、DeepRec、ENSFM,TiSAS,AutoFIS等,包含经典推荐系统数据集criteo 、movielens等
* [datawhalechina/fun-rec](https://github.com/datawhalechina/fun-rec) FunRec是一个推荐系统入门教程,包含推荐系统概述、推荐算法基础、推荐系统实践和推荐系统进阶四个部分,旨在帮助学习者从入门到精通推荐系统。教程内容涵盖推荐系统概念、常用算法、实践案例和前沿技术,并提供相应的代码实现和练习题。教程采用简洁易懂的语言和丰富的示例,适合对推荐系统感兴趣的初学者和有一定基础的开发者学习。
* [NVIDIA/HugeCTR](https://github.com/NVIDIA/HugeCTR) a high efficiency GPU framework designed for Click-Through-Rate (CTR) estimating training ,在Embedding lookup上做了很多优化,可以轻易的通过数据和模型并行的方式将模型扩展到TB级别,在大规模参数的背景下,这给挖掘模型能力提供了更多的想象力。同时更快的训练速度也让算法工程师能够尝试更多的网络结构,挖掘最适合所研究问题的模型。
* [HKUDS/RLMRec](https://github.com/HKUDS/RLMRec) 与模型无关的框架 RLMRec,通过LLM授权的表示学习来增强现有的推荐者。它提出了一种范式,将表征学习与LLMs捕获用户行为和偏好的复杂语义方面相结合。RLMRec 整合了辅助文本信号,开发了由 LLMs赋能的用户/项目分析范式,并通过跨视图对齐框架将协作关系信号的LLMs语义空间与表示空间对齐。
* [HKUDS/LLMRec](https://github.com/HKUDS/LLMRec) 新颖的框架,它通过将三种简单而有效的LLM基于图增强策略应用于推荐系统来增强推荐器。LLMRec 旨在充分利用在线平台(例如 Netflix、MovieLens)中的内容,通过 i) 加强 u-i 交互边缘,ii) 增强项目节点属性,以及 iii) 从自然语言的角度直观地进行用户节点分析来增强交互图。
* [microsoft/recommenders](https://github.com/microsoft/recommenders) 推荐系统上的最佳实践。包括多个模型:ALS A2SVD BPR Caser DKN xDeepFM FAST LightFM/Hybrid Matrix Factorization LightGBM/Gradient Boosting Tree* LightGCN GeoIMC GRU4Rec Multinomial VAE LSTUR NAML NCF NPA NRMS NextItNet RBM RLRMC SAR SLi-Rec SUM Standard VAE SVD TF-IDF Vowpal Wabbit (VW)* Wide and Deep FM&FFM
* [huawei-noah/FuxiCTR](https://github.com/huawei-noah/benchmark/tree/main/FuxiCTR) FuxiCTR 为 CTR 预测提供了一个开源库,在可配置性、可调整性和可重复性方面具有惊人的功能。模型包括:LR FM CCPM FFM YoutubeDNN Wide&Deep IPNN DeepCross HOFM DeepFM NFM AFM DCN FwFM xDeepFM DIN FiGNN AutoInt/AutoInt+ FiBiNET FGCNN HFM/HFM+ ONN AFN/AFN+ LorentzFM FLEN FmFM
* [PersiaML/PERSIA](https://github.com/persiaml/persia) 基于 PyTorch 训练深度学习推荐模型的高性能分布式框架。它能够训练具有多达 100 万亿个参数的推荐模型。对公共数据集的实证研究表明,PERSIA 在推荐方面优于其他系统。它的效率和稳健性也得到了快手1亿级DAU的多个应用程序的验证。
* [alibaba/EasyRec](https://github.com/alibaba/EasyRec) 大规模推荐算法的框架。实现了用于常见推荐任务的最先进的深度学习模型:候选生成(匹配)、评分(排名)和多任务学习。它通过简单的配置和超参数调整(HPO)提高了生成高性能模型的效率。
* [twitter/the-algorithm](https://github.com/twitter/the-algorithm) Twitter 的推荐算法是一组服务和作业,负责在所有 Twitter 产品表面(例如,为你时间线、搜索、探索)提供推文和其他内容的提要。有关算法工作原理的介绍,请参阅我们的工程博客。
* [wubinzzu/NeuRec](https://github.com/wubinzzu/NeuRec) 全面且灵活的 Python 库,用于推荐系统,其中包括大量最先进的神经推荐模型。该库旨在解决一般、社交和顺序(下一项)推荐任务,使用Tensorflow库提供 33 个开箱即用的模型。
* [alibaba/DeepRec](https://github.com/alibaba/DeepRec) 基于 TensorFlow 的推荐引擎。具有超大规模分布式训练能力,支持万亿样本的模型训练和千亿的Embedding Processing。针对稀疏模型场景,在CPU和GPU平台上进行了深度的性能优化。
* [guoguibing/librec](https://github.com/guoguibing/librec) 一个用于推荐系统的 Java 库(需要 Java 版本 1.7 或更高版本)。它实现了一套最先进的推荐算法,旨在解决两个经典的推荐任务:**评分预测**和**项目排名**。
* [NVIDIA/NVTabular](https://github.com/NVIDIA/NVTabular) 为特征工程、前处理提供了更快的迭代速度,同时利用异步批量加载的方法有效提高了GPU的利用率,提供更快的加载速率。Merlin推荐系统框架的模块。
* [facebookresearch/torchrec](https://github.com/facebookresearch/torchrec) 推荐系统的 Pytorch库,旨在提供大型推荐系统 (RecSys) 所需的通用稀疏性和并行性原语。它允许作者使用跨多个 GPU 分片的大型嵌入表来训练模型。
* [THUwangcy/ReChorus](https://github.com/THUwangcy/ReChorus) 用于Top-K推荐的通用PyTorch框架,具有隐式反馈,尤其是用于研究目的。BPR NCF Tensor GRU4Rec NARM SASRec TiSASRec CFKG SLRC Chorus
* [WLiK/LLM4Rec-Awesome-Papers](https://github.com/WLiK/LLM4Rec-Awesome-Papers) 关于大型语言模型的推荐系统的精彩论文和资源列表。大致分为三类:LLM Embeddings + RS、LLM Tokens + RS、LLM as RS
* [shenweichen/DeepMatch](https://github.com/shenweichen/DeepMatch) 用于推荐和广告的深度匹配模型库。训练模型和导出用户和项目的表示向量非常容易,可用于ANN搜索。
* [AmazingDD/daisyRec](https://github.com/AmazingDD/daisyRec) 在 pytorch 中开发的推荐系统。算法:KNN、LFM、SLIM、NeuMF、FM、DeepFM、VAE 等,旨在公平比较推荐系统基准
* [ZiyaoGeng/Recommender-System-with-TF2.0](https://github.com/ZiyaoGeng/Recommender-System-with-TF2.0) CTR预言论文进行复现,包括传统模型(MF,FM,FFM等),神经网络(WDL,DCN等)以及序列模型(DIN)。
* [Transformers4Rec](https://github.com/NVIDIA-Merlin/Transformers4Rec/) Transformers4Rec 是一个灵活且高效的库,用于顺序和基于会话的推荐,可用于 PyTorch 和 Tensorflow。
* [openbenchmark/BARS](https://github.com/openbenchmark/BARS) 迈向推荐系统的开放基准测试。 BARS 基准目前涵盖以下两项任务:点击率预测候选项目匹配
* [shenweichen/DeepCTR](https://github.com/shenweichen/DeepCTR) 易于使用、模块化和可扩展的基于深度学习的 CTR 模型包,用于搜索和推荐。
* [CHIANGEL/Awesome-LLM-for-RecSys](https://github.com/CHIANGEL/Awesome-LLM-for-RecSys) 关于大型语言模型(LLM)相关推荐系统主题的AWESOME论文和资源的集合。
* [wangshusen/RecommenderSystem](https://github.com/wangshusen/RecommenderSystem) 结合小红书的业务场景和内部实践,讲解主流的工业界推荐系统技术。
* [caserec/CaseRecommender](https://github.com/caserec/CaseRecommender) 案例推荐器:用于推荐系统的灵活且可扩展的 Python 框架
* [Coder-Yu/QRec](https://github.com/Coder-Yu/QRec) QRec:快速实现推荐系统的 Python 框架(基于 TensorFlow)
* [caserec/CaseRecommender](https://github.com/caserec/CaseRecommender) 案例推荐器:用于推荐系统的灵活且可扩展的 Py框架
* [cheungdaven/DeepRec](https://github.com/cheungdaven/DeepRec) 基于 TensorFlow 的深度学习推荐的开源工具包。
* [lyst/lightfm](https://github.com/lyst/lightfm) LightFM 的 Python 实现,一种混合推荐算法。
* [ChenglongChen/tensorflow-DeepFM](https://github.com/ChenglongChen/tensorflow-DeepFM) 用于 CTR 预测的 DeepFM 的 Tensorflow 实现。
* [tensorflow/recommenders](https://github.com/tensorflow/recommenders) 使用 TensorFlow 构建推荐系统模型的库。
* [NicolasHug/Surprise](https://github.com/NicolasHug/Surprise) 用于构建和分析推荐系统的 Python scikit
* [PKU-DAIR/GNN-in-RS](https://github.com/PKU-DAIR/GNN-in-RS) 推荐系统中的 GNN(ACM 计算调查 2022)
* [hongleizhang/RSPapers](https://github.com/hongleizhang/RSPapers) 推荐系统必读论文精选列表。
* [pytorch/torchrec](https://github.com/pytorch/torchrec) 推荐系统的 Pytorch 域库
* [YuyangZhangFTD/awesome-RecSys-papers](https://github.com/YuyangZhangFTD/awesome-RecSys-papers) 推荐系统中的经典论文
* [grahamjenson/list_of_recommender_systems](https://github.com/grahamjenson/list_of_recommender_systems) 推荐系统和资源列表
* [mengfeizhang820/Paperlist-for-Recommender-Systems](https://github.com/mengfeizhang820/Paperlist-for-Recommender-Systems) 推荐系统论文列表
# 时序与金融
## 时间序列
* [salesforce/Merlion](https://github.com/salesforce/Merlion) Merlion是一个用于时间序列智能的 Python 库,提供端到端的机器学习框架,涵盖数据加载、转换、模型构建、训练、后处理和评估等步骤。它支持多种时间序列学习任务,包括单变量和多变量时间序列的预测、异常检测和变化点检测。Merlion 的关键特性包括:标准化且易于扩展的数据加载和基准测试,支持多种预测和异常检测数据集;丰富的模型库,包括经典统计方法、树集成和深度学习方法;高效且鲁棒的默认检测器和预测器模型;自动机器学习,用于自动超参数调整和模型选择;支持使用外生回归量进行预测;实用且基于行业启发的异常检测器后处理规则,提高可解释性并减少误报;易于使用的集成,结合多个模型的输出以获得更稳健的性能;灵活的评估管道,模拟模型在生产环境中的实时部署和重新训练,并评估预测和异常检测性能;原生支持模型预测可视化,包括可点击的视觉界面;使用 PySpark 的分布式计算后端,可用于大规模服务时间序列应用程序。
* [KimMeen/Time-LLM](https://github.com/KimMeen/Time-LLM) Time-LLM: 通过重新编程大型语言模型进行时间序列预测。Time-LLM 是一种重编程框架,用于重新用于LLMs一般时间序列预测,同时保持骨干语言模型不变。值得注意的是,我们发现时间序列分析(例如,预测)可以被看作是另一个“语言任务”,可以由现成LLM的。时间-LLM包括两个关键组成部分:(1)将输入时间序列重新编程为对用户LLM来说更自然的文本原型表示,以及(2)通过声明性提示(例如,领域专家知识和任务指令)增强输入上下文以指导LLM推理。(2024 年 3 月):Time-LLM 已升级为通用框架,用于将各种语言模型重新用于时间序列预测。它现在默认支持 Llama-7B,并包括与另外两个较小的 PLM(GPT-2 和 BERT)的兼容性。只需调整 --llm_model 和 --llm_dim 即可切换主干。Time-LLM 已被包含在 NeuralForecast 中。时间LLM 已被 XiMou Optimization Technology Co., Ltd. (XMO) 用于太阳能、风能和天气预报。
* [HuggingFace 中的 PatchTSMixer - 入门](https://github.com/huggingface/blog/blob/main/patchtsmixer.md) 基于MLP-Mixer架构的轻量级时间序列建模方法。PatchTSMixer 在预测方面优于最先进的 MLP 和 Transformer 模型,差距很大,为 8-60%。它还优于 Patch-Transformer 型号的最新强大基准测试(1-2%),内存和运行时间显着减少 (2-3 倍)。有关详细信息,请参阅[论文](https://arxiv.org/pdf/2306.09364.pdf)。概述:PatchTSMixer 将给定的输入多变量时间序列拆分为一系列补丁或窗口。随后,它将序列传递到嵌入层,该嵌入层生成多维张量。多维张量随后传递到 PatchTSMixer 主干网,主干网由一系列 MLP Mixer 层组成。每个 MLP 混频器层通过一系列排列和 MLP 操作来学习 patch 间、 patch 内和 channel 间的相关性。PatchTSMixer 还采用残余连接和门控注意力来优先考虑重要特征。因此,一系列 MLP 混频器层创建了以下 PatchTSMixer 主干。PatchTSMixer 采用模块化设计,可无缝支持掩码时间序列预训练以及直接时间序列预测。
* [business-science/pytimetk](https://github.com/business-science/pytimetk) pytimetk是一个用于时间序列分析的 Python 库,它基于 polars 引擎,比 pandas 更快、更易用,并提供简洁的代码语法。它可以显著提高时间序列操作和可视化的效率,例如,`summarize_by_time()` 函数可以将 pandas 中 6 行代码的双重循环操作简化为 2 行代码,并获得 13.4 倍的加速。pytimetk 还提供 `plot_timeseries()` 函数,只需 2 行代码即可完成 `matplotlib` 中 16 行代码才能实现的绘图功能,同时支持 plotly 和 plotnine 引擎,方便创建交互式和静态可视化图表。此外,pytimetk 还提供 `augment_timeseries_signature()` 函数来提取日历特征,比 pandas 中的 30 多行代码更简洁,以及 `augment_rolling()` 函数来进行滚动操作,比 pandas 快 10到 3500 倍。pytimetk 还提供了 `pad_by_time()` 函数来填充时间序列数据中的缺失值,以及 `anomalize()` 函数来检测和校正时间序列数据中的异常值。
* [thuml/Nonstationary_Transformers](https://github.com/thuml/Nonstationary_Transformers) 非平稳时间序列的通用预测框架。非平稳的时序数据具有更复杂且难以捕捉的时序依赖,以及随着时间不断变化的数据分布,以往的研究旨在利用平稳化技术消除数据在时间维度上的分布差异,以提高数据本身的可预测性。然而在平稳化后的数据上进行模型训练会限制Transformer建模时序依赖的能力,导致模型仅能学到不易区分的注意力图与较弱的时序依赖,从而产生平稳性过高的预测输出与较大的预测误差,我们称之为过平稳现象(Over-stationarization)。针对非平稳时序预测问题,提出了Non-stationary Transformers,其包含一对相辅相成的序列平稳化(Series Stationarization)和去平稳化注意力(De-stationary Attention)模块,能够广泛应用于Transformer以及变体,一致提升其在非平稳时序数据上的预测效果。
* [Zeying-Gong/PatchMixer](https://github.com/Zeying-Gong/PatchMixer) 最先进的长期时间序列预测,用于长期时间序列预测的 Patch-Mixing 架构。PatchMixer 主要由两个卷积层和两个预测头组成。它的显着特点是“补丁混合”设计,这意味着模型最初将输入时间序列分割成更小的时间补丁,然后集成来自这些补丁内部和之间的信息。从定量上看,与最先进的 Transformer (PatchTST) 相比,PatchMixer 在 MSE 上总体上相对减少了 3.9%,在 MAE 上相对减少了 3.0%。当根据性能最佳的基于 MLP 的模型 (DLinear) 进行评估时,我们的模型显示 MSE 上的 11.6% 和 MAE 上的 9.4% 总体下降。此外,与基于CNN的最佳模型(TimesNet)的可实现结果相比,我们证明了MSE上21.2%和MAE上12.5%的总体相对减少显着。
* [fraunhoferportugal/tssearch](https://github.com/fraunhoferportugal/tssearch) TSSEARCH是一个用于时间序列子序列搜索的Python库,它可以帮助研究人员进行探索性分析,进行查询搜索和时间序列分割,而无需大量的编程工作。该库提供了多种距离度量方法,包括Lockstep(Lp距离、Pearson相关距离、STS距离)、Elastic(DTW、LCSS、TWED)和Time(TAM),并允许用户使用自定义权重向量来表示查询中每个点的相对贡献。TSSEARCH还提供可视化功能来展示分割和查询搜索的结果,并经过单元测试,易于扩展。用户可以通过pip install tssearch安装该库,并参考文档(https://tssearch.readthedocs.io/en/latest/)进行使用。该项目已发表在SoftwareX期刊上(https://doi.org/10.1016/j.softx.2022.101049)。
* [qianlima-lab/DiffShape](https://github.com/qianlima-lab/DiffShape) DiffShape是一个用于半监督时间序列分类的模型,该模型基于论文 "Diffusion Language-Shapelets for Semi-supervised Time-Series Classification" (AAAI-24),它利用自监督扩散学习机制,通过大量未标记数据来提高学习到的shapelet与真实子序列的相似性,并结合时间序列的自然语言描述,采用对比语言-shapelet学习策略来提高学习到的shapelet的判别性。该模型在UCR时间序列数据集上取得了最先进的性能,并表现出优于基线的可解释性。用户可以使用提供的代码在UCR时间序列数据集上训练DiffShape模型,并使用提供的代码进行半监督时间序列分类。
* [HaoUNSW/PISA](https://github.com/HaoUNSW/PISA) PromptCast是一个基于提示词的全新时间序列预测学习范式,该项目提供了PISA数据集,包含三个真实世界预测场景(三个子集),共计311,932个数据实例,用于支持和促进论文中提出的PromptCast任务。与传统的基于数值的时间序列预测方法不同,PromptCast将预测目标转换为自然语言提示词,并使用语言模型进行预测,该方法可以有效提高预测精度,并提供更易于理解的预测结果。PISA数据集包含城市温度预测、电力消耗预测和人类流动访客流量预测三个场景,项目还提供了基准测试结果,展示了PromptCast方法的优越性。
* [predict-idlab/plotly-resampler](https://github.com/predict-idlab/plotly-resampler) `plotly-resampler` 是一个用于可视化大型时间序列数据的 Python 库,它通过为 Plotly 图表添加重采样功能来提高 Plotly 的可扩展性。该库在用户交互(如平移或缩放)期间动态地聚合时间序列数据,以确保高效且响应迅速的更新。`plotly-resampler` 使用 `tsdownsample` 库中的时间序列数据点选择算法来实现其核心聚合功能,默认使用 `MinMaxLTTB`方法(选择 1000 个数据点进行绘图)。该库能够可视化超过 1 亿个数据点,例如在 [这个 Plotly-Resampler 演示](https://github.com/predict-idlab/plotly-resampler/blob/main/examples/basic_example.ipynb) 中。
* [datamllab/tods](https://github.com/datamllab/tods) TODS是一个全栈自动化机器学习系统,用于多变量时间序列数据的异常检测。它包含数据预处理、时间序列处理、特征分析、检测算法和强化模块,支持多种异常检测场景,包括点异常、模式异常和系统异常。TODS 提供了广泛的算法,包括 PyOD 支持的所有点异常检测算法,以及 DeepLog、Telemanon 等先进的模式异常检测算法,并支持系统异常检测的集成算法。它还提供自动机器学习功能,通过自动搜索最佳模块组合来构建最佳管道。TODS 由莱斯大学 DATA Lab 开发,相关资源包括 API 文档、论文和相关项目 AutoVideo。
* [alkaline-ml/pmdarima](https://github.com/alkaline-ml/pmdarima) Pmdarima是一个 Python 库,旨在弥补 Python 在时间序列分析方面的不足,提供类似于 R 语言中的 `auto.arima` 函数的功能。它包含各种时间序列分析工具,例如平稳性和季节性检验、时间序列工具(如差分和逆差分)、多种内生和外生变换器和特征提取器(包括 Box-Cox 和傅里叶变换)、季节性时间序列分解、交叉验证工具、丰富的内置时间序列数据集以及 scikit-learn 风格的管道,用于整合估计器并促进生产化。Pmdarima 在底层封装了 statsmodels,但设计了类似 scikit-learn 的接口,方便来自 scikit-learn背景的用户使用。
* [thuml/AutoTimes](https://github.com/thuml/AutoTimes) AutoTimes是一个利用大型语言模型(LLM)进行时间序列预测的项目,它将LLM作为自回归多元时间序列预测器,可以应用于各种回溯/预测长度。AutoTimes利用LLM的通用令牌转换作为时间序列的未来推断,无需下游样本即可实现零样本预测。此外,该项目首次提出了上下文预测,通过将时间序列提示整合到上下文中以增强预测。AutoTimes与任何解码器-onlyLLM兼容,具有通用性和良好的扩展性。该项目已在NeurIPS 2024上发表,并提供用于多步预测、零样本预测、上下文预测和多模态利用的脚本。
* [arundo/adtk](https://github.com/arundo/adtk) ADTK是一个用于时间序列异常检测的 Python 工具包,它提供无监督和基于规则的异常检测方法。由于异常的性质在不同的情况下会有所不同,因此一个模型可能无法适用于所有异常检测问题。选择和组合检测算法(探测器)、特征工程方法(转换器)和集成方法(聚合器)是构建有效异常检测模型的关键。ADTK 提供了一套具有统一 API 的通用探测器、转换器和聚合器,以及将它们连接在一起形成模型的管道类。它还提供了一些函数来处理和可视化时间序列和异常事件。
* [ChangWeiTan/MultiRocket](https://github.com/ChangWeiTan/MultiRocket) MultiRocket是一种快速且有效的时序分类算法,它在 MiniRocket 的基础上增加了多种池化操作和变换,从而提高了特征的多样性,并实现了最先进的性能。MultiRocket 除了处理原始输入序列外,还对原始序列进行一阶差分变换,并对两种表示都应用卷积操作。最终,对卷积输出应用四种池化操作。在 UCR 时序分类基准数据集上的基准测试表明,MultiRocket的准确率明显高于 MiniRocket,并且与目前排名第一的准确率方法 HIVE-COTE 2.0 相当,同时速度快几个数量级。
* [angus924/rocket](https://github.com/angus924/rocket) ROCKET是一个用于时间序列分类的快速且准确的算法,它使用随机卷积核,可以在不到2小时内训练和测试UCR档案中的所有85个数据集,并可以在约1小时内训练一个包含超过一百万个时间序列的大型数据集。该算法基于卷积神经网络的成功,通过使用简单的线性分类器和随机卷积核,实现了与现有方法相当的精度,但计算成本更低。ROCKET的代码可在GitHub上找到,并已在sktime中实现。此外,MINIROCKET是ROCKET的改进版本,在大型数据集上速度提升了75倍。
* [yuqinie98/patchtst](https://github.com/yuqinie98/patchtst) PatchTST是一个基于 Transformer 的时间序列预测模型,它将时间序列分割成子序列级别的“patch”,并利用 Transformer 进行预测。该模型在长序列预测方面表现出色,能够有效地学习长期的依赖关系。PatchTST 在监督学习和自监督学习场景下都取得了优异的性能,并且在多个数据集上超越了其他模型。该项目提供了监督学习和自监督学习的代码,用户可以根据需要进行选择。用户可以通过安装依赖项、下载数据集和运行脚本等步骤来使用该模型。
* [YoZhibo/MSGNet](https://github.com/YoZhibo/MSGNet) MSGNet是一个用于多变量时间序列预测的深度学习模型,它通过学习多尺度时间序列之间的相关性来提高预测精度。该模型包含多个ScaleGraph块,每个块包含三个关键模块:FFT模块用于多尺度数据识别,自适应图卷积模块用于学习时间尺度内的序列间相关性,以及多头注意力模块用于学习序列内相关性。MSGNet在多个时间序列预测基准数据集上取得了显著的性能提升,并已在AAAI 2024上发表。该项目提供代码和数据集,方便用户使用和扩展。
* [Nixtla/statsforecast](https://github.com/Nixtla/statsforecast) 使用统计和计量经济学模型进行闪电般的快速预测。StatsForecast 提供了一系列广泛使用的单变量时间序列预测模型,包括自动 ARIMA、ETS、CES 和 Theta 建模,这些建模针对使用 numba 的高性能进行了优化。它还包括大量基准测试模型。目前用于统计模型的 Python 替代方案速度慢、不准确且扩展性不佳。因此,我们创建了一个库,可用于在生产环境中进行预测或作为基准测试。StatsForecast 包括大量的模型,可以有效地拟合数百万个时间序列。
* [microsoft/StemGNN](https://github.com/microsoft/StemGNN) 基于图谱分解的时间序列预测。进一步提高多元时间序列预测的准确性。StemGNN 在spectral domain中捕获系列间(inter-series)相关性和时间依赖性(temporal dependencies)。它结合了图傅立叶变换 (GFT) 和离散傅立叶变换 (DFT),GFT对序列间(inter-series)相关性进行建模,而离散傅立叶变换 (DFT) 则对端到端框架中的时间依赖性(temporal dependencies)进行建模。通过 GFT 和 DFT 后,谱表示具有清晰的模式,可以通过卷积和序列学习模块进行有效预测。
* [google-research/timesfm](https://github.com/google-research/timesfm) TimesFM(时间序列基础模型)是由 Google Research 开发的用于时间序列预测的预训练时间序列基础模型。TimesFM-1.0-200M是第一个开放模型检查点:它使用可选的频率指示器,对多达 512 个时间点和任何地平线长度的上下文长度执行单变量时间序列预测;它侧重于点预测,不支持概率预测,我们通过实验提供了分位数头,但它们在预训练后尚未校准;它要求上下文是连续的(即没有“洞”),并且上下文和视界具有相同的频率。
* [wwrechard/pydlm](https://github.com/wwrechard/pydlm) PyDLM是一个基于贝叶斯动态线性模型 (Harrison and West, 1999) 的 Python 库,用于灵活的时间序列建模,并针对快速模型拟合和推断进行了优化。该库提供了一系列组件,例如趋势、季节性和自回归,可以组合成各种模型。用户可以使用 PyDLM对真实世界数据进行分析,例如 Google 数据科学文章中提到的失业保险数据。PyDLM 还提供了一个简单的模型示例,展示了如何使用线性趋势和季节性组件来建模时间序列数据。
* [SalesforceAIResearch/uni2ts](https://github.com/SalesforceAIResearch/uni2ts) Uni2TS是一个基于PyTorch的库,用于时间序列预测研究和应用。它提供了一个统一的框架,用于大规模预训练、微调、推理和评估通用时间序列Transformer。该库包含Moirai模型,该模型在各种时间序列预测基准上取得了最先进的结果。Uni2TS还提供LOTSA数据集,这是一个大型时间序列数据集,可用于训练和评估时间序列模型。用户可以轻松地使用Uni2TS进行零样本预测,并利用其提供的便利功能进行时间序列预测。
* [JoaquinAmatRodrigo/skforecast](https://github.com/JoaquinAmatRodrigo/skforecast) skforecast是一个用于时间序列预测的Python库,它使用机器学习模型进行预测。它支持任何与scikit-learn API兼容的回归器,包括LightGBM、XGBoost、CatBoost、Keras等流行选项。skforecast提供了一套全面的工具,用于在处理时间序列时遇到的各种场景中进行训练、验证和预测。该库使用广泛使用的scikit-learn API构建,使其易于集成到现有工作流程中。skforecast使用户能够轻松地使用机器学习模型进行时间序列预测。
* [AutoViML/Auto_TS](https://github.com/AutoViML/Auto_TS) Auto_TS是一个自动化的机器学习库,用于时间序列数据,它能够使用单行代码构建和选择多种时间序列模型,包括ARIMA、SARIMAX、VAR、可分解模型(趋势+季节性+节假日)和集成机器学习模型。该库支持多种模型类型,包括统计模型、机器学习模型和Prophet模型,并能自动选择最佳模型。用户可以根据自己的需求设置评分参数,并指定预测时间段。安装方法简单,只需使用`pipinstall auto-ts`命令即可。
* [predict-idlab/tsflex](https://github.com/predict-idlab/tsflex) tsflex是一个灵活的时间序列特征提取和处理工具包,它高效且对序列数据假设较少。它支持多种特征提取方法,并提供便捷的接口,方便用户提取和处理时间序列数据。tsflex还支持多变量数据,并可以处理不同采样率的数据。用户可以使用tsflex轻松地提取各种特征,如最小值、平均值、标准差、偏度和峰度等。tsflex还提供丰富的示例和文档,方便用户学习和使用。
* [fraunhoferportugal/tsfel](https://github.com/fraunhoferportugal/tsfel) TSFEL是一个开源的Python库,用于时间序列分析,它提供了一个强大的特征集,涵盖统计、时间、频谱和分形领域。TSFEL易于使用,可以快速部署并确保结果可重复。它可以提前评估特征提取的计算复杂度,并提供详细的文档和单元测试。用户可以轻松地添加自定义特征,并贡献给社区。TSFEL目前支持超过65种不同的特征提取方法,包括统计、时间、频谱和分形领域。
* [Kowsher/LLMMixer](https://github.com/Kowsher/LLMMixer) LLMMixer是一个用于时间序列预测的框架,它结合了多尺度时间序列分解和大型语言模型(LLM)的强大功能,通过捕捉短期和长期时间模式来提高预测精度。LLMMixer能够理解复杂趋势,使其在时间序列预测任务中非常有效。该项目提供预处理好的数据集,并提供示例脚本供用户训练模型。项目代码基于Time-Series-Library、TimeMixer、TimeLLM、Autoformer和iTransformer等开源项目。
* [uber/orbit](https://github.com/uber/orbit) Orbit是一个用于贝叶斯时间序列预测的Python包,它提供了一个直观的初始化-拟合-预测接口,并使用概率编程语言进行底层操作。它支持指数平滑 (ETS)、局部全局趋势 (LGT)、阻尼局部趋势 (DLT) 和基于核的时间回归 (KTR) 等模型,并提供马尔可夫链蒙特卡罗 (MCMC)、最大后验 (MAP) 和变分推断 (VI) 等采样/优化方法。你可以通过`pip install orbit-ml`命令安装稳定版本。
* [ibm-granite/granite-tsfm](https://github.com/ibm-granite/granite-tsfm) Granite-TSFM项目提供用于时间序列基础模型(TSFM)的公共notebook、工具和服务组件,其核心模型已在Hugging Face上发布。该项目支持Python 3.9-3.12版本,包含用于模型预训练和微调的notebook,并提供PatchTSMixer、PatchTST和TinyTimeMixer (TTM)等模型的示例和教程,其中包括Google Colab教程。此外,项目还包含一个NeurIPS 2023演示的安装方法,但预训练和微调模型需另行获取。
* [Time-MoE/Time-MoE](https://github.com/Time-MoE/Time-MoE) Time-MoE是首个将时间序列基础模型扩展到 24 亿参数的项目,它使用混合专家架构,并通过 Time-300B数据集(包含超过 3000 亿个时间点)进行训练。Time-MoE 采用解码器结构,以自回归方式进行预测,支持任意预测范围和 4096 个时间点的上下文长度。目前已发布了不同规模的 Time-MoE 模型,包括 50M、200M 和 1.1B 参数的版本,并在 Hugging Face 上提供下载。
* [TDAmeritrade/stumpy](https://github.com/TDAmeritrade/stumpy) STUMPY是一个强大且可扩展的 Python 库,用于现代时间序列分析。它高效地计算“矩阵轮廓”,可以自动识别时间序列中每个子序列的最近邻。通过计算矩阵轮廓,STUMPY 可以用于各种时间序列数据挖掘任务,例如模式/基序发现、异常/新颖性发现、形状发现、语义分割、流式数据、快速近似矩阵轮廓、时间序列链、长时间序列摘要以及更多。
* [zhouhaoyi/Informer2020](https://github.com/zhouhaoyi/Informer2020) 效果远超Transformer的长序列预测,提出了ProbSparse self-attention机制来高效的替换常规的self-attention并且获得了的O(LlogL)时间复杂度以及O(LlogL)的内存使用率,提出了self-attention distilling操作,它大幅降低了所需的总空间复杂度O((2-e)LlogL);我们提出了生成式的Decoder来获取长序列的输出,这只需要一步,避免了在inference阶段的累计误差传播;
* [Nixtla/neuralforecast](https://github.com/Nixtla/neuralforecast) NixtlaNeuralForecast是一个易于使用且可扩展的神经网络时间序列预测库,它提供了30多种最先进的模型,包括RNN、Transformer等,并支持外生变量、多变量时间序列和多种频率数据。该库注重模型的性能、易用性和鲁棒性,旨在克服现有神经网络预测方法在易用性和效率方面的不足,并提供比传统统计方法更准确的预测结果。
* [amazon-science/chronos-forecasting](https://github.com/amazon-science/chronos-forecasting) 用于概率时间序列预测的预训练(语言)模型,通过缩放和量化将时间序列转换为标记序列,并使用交叉熵损失在这些标记上训练语言模型。经过训练后,通过在历史背景下对多个未来轨迹进行采样来获得概率预测。Chronos 模型已经在大量公开可用的时间序列数据以及使用高斯过程生成的合成数据上进行了训练。
* [thuml/Autoformer](https://github.com/thuml/Autoformer) 用于长期序列预测的具有自相关性的分解变压器。Autoformer超越了Transformer系列,首次实现了串联。在六个基准上进行实验,涵盖五个主流应用程序。我们将我们的模型与十个基线进行比较,包括 Informer、N-BEATS 等。通常,对于长期预测设置,Autoformer 实现了 SOTA,相对于之前的基线有38% 的相对改进。
* [Nixtla/neuralforecast](https://github.com/Nixtla/neuralforecast) Nixtla/neuralforecast 是一个易于使用且可扩展的神经网络预测库,它提供了超过30种最先进的预测模型,包括RNN、Transformer等,并支持多种特征,如外生变量、季节性和趋势,旨在提高预测管道的准确性和效率。该库提供快速准确的模型实现,并注重易用性,使其成为时间序列预测的理想选择。
* [linkedin/greykite](https://github.com/linkedin/greykite) Greykite 库通过其旗舰算法 Silverkite 提供灵活、直观和快速的预测。Silverkite 算法适用于大多数时间序列,尤其适用于趋势或季节性变化点、事件/假日效应和时间依赖性的那些。它是可解释的,因此对于值得信赖的决策和洞察力很有用。
* [kashif/pytorch-transformer-ts](https://github.com/kashif/pytorch-transformer-ts) 该项目提供基于 Transformer 的 PyTorch 时间序列模型,使用 `gluonts` API,并包含 Lag-Llama 模型,用于时间序列预测。项目依赖 `requirements.txt`中列出的库,最新版本的 Lag-Llama 模型可在 https://github.com/time-series-foundation-models/lag-llama 找到。
* [Nixtla/nixtla](https://github.com/Nixtla/nixtla) TimeGPT-1:用于预测和异常检测的生产就绪预训练时间序列基础模型。用于在超过 100B 数据点上训练的时间序列的生成式预训练转换器。它只需几行代码即可准确预测零售、电力、金融和物联网等各个领域。
* [VachelHU/EvoNet](https://github.com/VachelHU/EvoNet) Time-Series Event Prediction with Evolutionary State Graph 将时间序列转化为动态图进行表示的方法。该方法成功在阿里云 ·SLS 商业化,作为一项智能巡检服务,可以对大规模时间序列进行异常检测与分析。
* [rlabbe/Kalman-and-Bayesian-Filters-in-Python](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python) 使用 Jupyter Notebook 的 Kalman Filter book。专注于建立直觉和经验,而不是形式证明。包括卡尔曼滤波器、扩展卡尔曼滤波器、无迹卡尔曼滤波器、粒子滤波器等。所有练习都包括解决方案。
* [facebookresearch/Kats](https://github.com/facebookresearch/Kats) 用于分析时间系列数据的工具包,轻量级、易于使用、通用和可扩展的框架,用于执行时间系列分析,从了解关键统计数据和特征、检测变化点和异常,到预测未来趋势。
* [PaddlePaddle/PaddleTS](https://github.com/PaddlePaddle/PaddleTS) 基于PaddlePaddle的易于使用的深度时间序列建模,包括TSDataset,分析,转换,模型,AutoTS和Ensemble等综合功能模块,支持时间序列预测,表示学习和异常检测等多功能任务。
* [blue-yonder/tsfresh](https://github.com/blue-yonder/tsfresh) 时间序列特征提取python工具包,它会自动计算出大量的时间序列特征。此外,该工具包还包含了一些方法,用于评估回归或分类任务中这些特征的解释能力和重要性。
* [tslearn-team/tslearn](https://github.com/tslearn-team/tslearn) 时间序列机器学习python工具包,其中包括了一些基本的时间序列预测或者分类模型,如多层感知机,SVR,KNN以及基本的数据预处理工具和数据集的生成与加载模块。
* [adarnn](https://github.com/jindongwang/transferlearning/tree/master/code/deep/adarnn) 提出自适应的RNN模型,使得其可以更好地泛化。由时序相似性量化和时序分布匹配算法组成,前者用于表征时序中的分布信息,后者通过分布匹配构建广义RNN模型。
* [Secilia-Cxy/SOFTS](https://github.com/Secilia-Cxy/SOFTS) SOFTS 的代码存储库:PyTorch 中使用系列核心融合进行高效多元时间序列预测。一种可扩展的纯 MLP 模型,可在多元时间序列预测基准上实现最先进的性能。
* [AIStream-Peelout/flow-forecast](https://github.com/AIStream-Peelout/flow-forecast) 一个开源的深度学习时间序列预测库。包括模型:Vanilla LSTM、Full transformer、Simple Multi-Head Attention、Transformer w/a linear decoder、DA-RNN (CPU only for now)。
* [nnzhan/MTGNN](https://github.com/nnzhan/MTGNN) 通用的图神经网络框架 MTGNN,通过图学习模块融合外部知识和变量之间的单向关系,再使用 mix-hop 传播层和膨胀 inception 捕获空间和时序依赖。
* [microprediction/timemachines](https://github.com/microprediction/timemachines) 利用流行的python时间序列包的功能,如river,pydlm,tbats,pmdarima,statsmodels.tsa,neuralprophet,Facebook Prophet,Uber的orbit,Facebook的greykitite等。
* [zhengqi98/Hefei_ECG_TOP1](https://github.com/zhengqi98/Hefei_ECG_TOP1) “合肥高新杯”心电人机智能大赛 —— 心电异常事件预测 TOP1 Solution,依据心电图机8导联的数据和年龄、性别特征,预测心电异常事件
* [lucidrains/perceiver-pytorch](https://github.com/lucidrains/perceiver-pytorch) 具有迭代注意的通用感知器,利用非对称注意力机制将输入迭代地提取到一个紧密的潜在空间中,使其能够扩展以处理非常大的输入。
* [marcopeix/time-series-analysis](https://github.com/marcopeix/time-series-analysis) 该项目是一个用于时间序列分析的 Jupyter Notebook 集合,包含各种时间序列分析的示例和代码,方便学习和实践。
* [timeseriesAI/tsai](https://github.com/timeseriesAI/tsai) 时间序列 Timeseries 深度学习 机器学习 Pytorch fastai | Pytorch / fastai 中用于时间序列和序列的最先进的深度学习库
* [cesium-ml/cesium](https://github.com/cesium-ml/cesium) 用于时间序列推理的开源平台。从原始时间序列数据中提取特征,构建机器学习模型,为新数据生成预测。
* [bashtage/arch](https://github.com/bashtage/arch) 自回归条件异方差 (ARCH) 和其他金融计量经济学工具,用 Python 编写(使用 Cython 和/或 Numba 来提高性能)
* [jdb78/pytorch-forecasting](https://github.com/jdb78/pytorch-forecasting) pytorch的时间系列预测库,模型包括:RecurrentNetwork、DecoderMLP、NBeats 、DeepAR 、TemporalFusionTransformer。
* [facebookresearch/transformer-sequential](https://github.com/facebookresearch/transformer-sequential) 两篇论文的代码:Feedback Transformer 和 Expire-Span。用于使用类似 Transformer 的架构进行长序列建模。
* [fjxmlzn/DoppelGANger](https://github.com/fjxmlzn/DoppelGANger) 使用GAN共享网络时间序列数据:挑战,初步承诺和未解决的问题,IMC 2020(最佳论文入围)
* [ourownstory/neural_prophet](https://github.com/ourownstory/neural_prophet) 基于神经网络的时间系列模型,灵感来自 Facebook Prophet 和 AR-Net,建立在 PyTorch 之上。
* [eBay/RANSynCoders](https://github.com/eBay/RANSynCoders) 一种无监督的深度学习架构,用于在大型多元时间序列中进行实时异常检测和定位。
* [facebook/prophet](https://github.com/facebook/prophet) 用于为具有线性或非线性增长的多个季节性的时间序列数据生成高质量预测的工具。
* [slaypni/fastdtw](https://github.com/slaypni/fastdtw) 近似动态时间规整算法,提供与 O(N)时间和内存复杂性的最佳或接近最佳对齐。
* [alan-turing-institute/sktime](https://github.com/alan-turing-institute/sktime) 时间序列的机器学习统一框架 。包括时间序列分类、回归、聚类、注释和预测。
* [qingsongedu/time-series-transformers-review](https://github.com/qingsongedu/time-series-transformers-review) 专业策划的关于时间序列的变压器的很棒的资源(论文、代码、数据等)列表。
* [NSIBF/NSIBF](https://github.com/NSIBF/NSIBF) 通过神经系统识别和贝叶斯过滤对网络物理系统进行时间序列异常检测
* [zhhlee/InterFusion](https://github.com/zhhlee/InterFusion) KDD 2021:使用分层度量间和时间嵌入的多变量时间序列异常检测和解释
* [johannfaouzi/pyts](https://github.com/johannfaouzi/pyts) 时间序列分类工具包。提供预处理工具及若干种时间序列分类算法。
* [emadeldeen24/TS-TCC](https://github.com/emadeldeen24/TS-TCC) 一个无监督的时间序列表示学习框架,通过时间和上下文对比。
* [yhyhyhyhyhy/atfnet](https://github.com/yhyhyhyhyhy/atfnet) ATFNet:用于长期时间序列预测的自适应时频集成网络的正式实现
* [winedarksea/AutoTS](https://github.com/winedarksea/AutoTS) AutoTS 是 Python 的时间序列包,旨在快速大规模部署高精度预测。
* [alasdairtran/radflow](https://github.com/alasdairtran/radflow) [TheWebConf 2021] Radflow:时间序列网络的循环、聚合和可分解模型
* [deeptime-ml/deeptime](https://github.com/deeptime-ml/deeptime) 用于分析时间序列数据,包括降维,聚类和马尔可夫模型估计
* [unit8co/darts](https://github.com/unit8co/darts) python 库,用于对时间序列进行用户友好的预测和异常检测。
* [angus924/minirocket](https://github.com/angus924/minirocket) MINIROCKET:用于时间序列分类的非常快速(几乎)确定性转换
* [Alro10/deep-learning-time-series](https://github.com/Alro10/deep-learning-time-series) 使用深度学习进行时间序列预测的论文、代码和实验列表
* [arrigonialberto86/deepar](https://github.com/arrigonialberto86/deepar) Amazon于2017年提出的基于深度学习的时间序列预测方法
* [jiwidi/time-series-forecasting-with-python](https://github.com/jiwidi/time-series-forecasting-with-python) 使用 python 进行时间序列预测的以用例为中心的教程
* [EvilPsyCHo/Deep-Time-Series-Prediction](https://github.com/EvilPsyCHo/Deep-Time-Series-Prediction) Seq2Seq、Bert、Transformer、WaveNet 用于时间序列预测。
* [fulifeng/Temporal_Relational_Stock_Ranking](https://github.com/fulifeng/Temporal_Relational_Stock_Ranking) 基于图神经网络、图谱型数据的收益预测模型
* [nnzhan/MTGNN](https://github.com/nnzhan/MTGNN) 基于图神经网络的多变量时间序列预测模型
* [ElementAI/N-BEATS](https://github.com/ElementAI/N-BEATS) 基于神经网络的单变量时间序列预测模型
* [ngruver/llmtime](https://github.com/ngruver/llmtime) 大型语言模型是零样本的时间序列预测器
* [sktime/sktime-dl](https://github.com/sktime/sktime-dl) 基于TensorFlow的深度学习sktime配套包
* [yuezhihan/ts2vec](https://github.com/yuezhihan/ts2vec) 一个通用的时间序列表示学习框架
* [thuml/Anomaly-Transformer](https://github.com/thuml/Anomaly-Transformer) 基于关联偏差的时间序列异常检测
* [jambo6/neuralRDEs](https://github.com/jambo6/neuralRDEs) 长时间序列的神经粗糙微分方程
* [firmai/atspy](https://github.com/firmai/atspy) Python 中的自动化时间序列模型
* [locuslab/TCN](https://github.com/locuslab/TCN) 序列建模基准和时间卷积网络
* [gzerveas/mvts_transformer](https://github.com/gzerveas/mvts_transformer) 多元时间序列转换器框架
* [jsyoon0823/TimeGAN](https://github.com/jsyoon0823/TimeGAN) 时间序列生成对抗网络
## 金融股票
* [cantaro86/Financial-Models-Numerical-Methods](https://github.com/cantaro86/Financial-Models-Numerical-Methods) 量化金融的笔记本集合,带有交互式py代码。偏微分方程方法、Lévy 过程、傅里叶方法或卡尔曼滤波等主题。内容:1.1) Black-Scholes 布莱克-斯科尔斯数值方法(对数正态分布、测度变化、蒙特卡罗、二项式方法)。1.2) SDE仿真与统计(路径生成、置信区间、假设检验、几何布朗运动、Cox-Ingersoll-Ross过程、Euler Maruyama法、参数估计)1.3) 傅里叶反演方法(反演公式、数值反演、期权定价、FFT、刘易斯公式)1.4) SDE、Heston 模型(相关布朗运动、Heston 路径、Heston 分布、特征函数、期权定价)1.5) SDE,莱维过程(默顿,方差伽玛,NIG,路径生成,参数估计)2.1)布莱克-斯科尔斯偏微分方程(偏微分方程离散化,隐式方法,稀疏矩阵教程)2.2) 奇异期权(二元期权、障碍期权、亚洲期权)2.3) 美式期权(偏微分方程、早期行权、二项式法、Longstaff-Schwartz、永续看跌期权)3.1) Merton Jump-Diffusion PIDE(隐式-显式离散化、离散卷积、模型限制、蒙特卡罗、傅里叶反演、半闭式)3.2) Gamma Variance PIDE(近似跳跃扩散PIDE、蒙特卡洛、傅里叶反演、与Black-Scholes的比较)3.3) 正态逆高斯PIDE(近似跳跃扩散PIDE、蒙特卡罗、傅里叶反演、Lévy测度的性质)4.1) 交易成本定价(Davis-Panas-Zariphopoulou 模型、奇异控制问题、HJB 变分不等式、无差异定价、二项式树、性能)4.2) 波动率微笑和模型校准(波动率微笑、寻根方法、校准方法)5.1) 线性回归和卡尔曼滤波(市场数据清洗、线性回归方法、卡尔曼滤波设计、参数选择)5.2) 卡尔曼自相关跟踪 - AR(1) 过程(自回归过程、估计方法、卡尔曼滤波、卡尔曼平滑、变量自相关跟踪)5.3) 波动率跟踪(赫斯顿模拟、假设检验、分布拟合、估计方法、GARCH(1,1)、卡尔曼滤波、卡尔曼平滑)6.1) Ornstein-Uhlenbeck过程及应用(参数估计、命中时间、Vasicek PDE、卡尔曼滤波、交易策略)7.1) 经典 MVO(均值方差优化、二次规划、仅多头和长空、闭合公式)
* [kungfu-origin/kungfu](https://github.com/kungfu-origin/kungfu) 专为量化交易者设计的开源交易执行系统。解决以下问题:低延迟交易 - 量化交易者对系统内响应速度有极高要求,功夫提供微秒级别的系统响应,支持带纳秒级时间戳的交易数据实时存储和盘后分析。开放的策略编写方式 - 功夫支持 Python 3 及 C++ 形式的策略编写,策略师可以不受限的自由使用第三方计算库,放飞创意。友好的使用方式 - 告别 Linux shell 小黑屋,功夫提供图形化操作界面,简化策略运维流程。而进阶用户仍然具备通过底层 API 以无界面形式使用系统的能力。跨平台运行 - 三大主流平台(Windows、MacOSX、Linux)皆可编译运行。功夫系统架构如下:后台核心(C++)长拳(longfist) - 金融交易相关的数据格式定义,提供涵盖 c++/python/js/sqlite 的序列化支持。易筋经(yijinjing) - 专为金融交易设计的超低延迟时间序列内存数据库,提供纳秒级时间精度,可落地交易相关的全部数据。咏春(wingchun) - 策略执行引擎,提供策略开发接口,实时维护策略账目及持仓情况。策略接口(C++/Python)RxCpp - 响应式事件处理框架,可对丰富数据类型的金融交易数据进行灵活处理。numpy/pandas - 自带的 Python 运行环境原生提供 numpy/pandas 等工具供策略使用。前端UI(Node.js)Electron - 跨平台的桌面应用开发框架Vue.js - UI开发框架功夫在系统设计上支持任意柜台的对接(涵盖中国所有股票、期货市场),功夫开源版提供 XTP 柜台对接的参考实现。
* [hummingbot/hummingbot](https://github.com/hummingbot/hummingbot) Hummingbot是一个开源框架,帮助你设计和部署自动化交易策略(即机器人),可在多个中心化或去中心化交易所运行。Hummingbot用户在过去一年中,在140多个交易场所产生了超过340亿美元的交易量。Hummingbot代码库是免费的,并且在Apache 2.0开源许可下公开提供。我们的使命是通过创建一个全球算法交易者和开发者社区来共享知识并为代码库做出贡献,从而实现高频交易的民主化。Hummingbot连接器将REST和WebSocket API接口标准化到不同类型的交易所,使你能够构建复杂的交易策略,这些策略可以在多个交易所部署,而无需进行大量更改。Hummingbot支持中心化交易所(CEX)和去中心化交易所(DEX),以及CLOB现货市场、CLOB永续期货市场和AMM市场。Hummingbot感谢以下交易所通过经纪合作伙伴关系和赞助支持Hummingbot的开发和维护。
* [cuemacro/finmarketpy](https://github.com/cuemacro/finmarketpy) finmarketpy是一个基于 Python 的库,用于分析市场数据和回测交易策略,它提供易于使用的 API,并包含预构建模板来定义回测。该库提供预构建的交易策略回测模板、历史回报展示、交易策略季节性分析、数据事件市场事件研究、基于波动率目标的风险加权计算器等功能。它采用面向对象的方式编写,以提高代码的可重用性。该库与 pythalesians 库合并,并重新编写了 API,使其更简洁易用,并添加了许多新功能。finmarketpy 依赖于 chartpy 和 findatapy 库,分别用于图表绘制和市场数据加载。用户可以使用 findatapy 从彭博、Quandl、雅虎等平台轻松下载市场数据,并使用 chartpy 在 matplotlib、plotly 或 bokeh 中选择显示结果。该库目前处于持续开发中,API 文档较为完善,但计划添加更多通用文档。它使用 Apache 2.0 许可证。
* [juspay/hyperswitch](https://github.com/juspay/hyperswitch) 用 Rust 编写的开源支付开关,使支付快速、可靠且经济实惠。社区主导的开放式支付交换机,可为每个数字企业提供最佳支付基础设施。使用 Hyperswitch,您可以:减少对 Stripe 或 Braintree 等单个处理器的依赖;将开发工作量减少 90%,以添加和维护集成;通过无缝故障转移和自动重试提高成功率;通过智能路由降低处理费用;通过完全可见性和控制力自定义支付流程;通过本地/替代支付方式扩大业务覆盖面。截至 2023 年 9 月,我们支持 50+ 种支付处理器和多种全球支付方式。此外,我们还根据新处理器的覆盖范围和社区要求不断集成新处理器。我们的目标是到 2023 年下半年支持 100+ 处理器。您可以在此处找到最新的支付处理器列表、支持的方法和功能。
* [jealous/stockstats](https://github.com/jealous/stockstats) Stockstats 是一个基于 pandas DataFrame 的 Python 库,它提供了一系列内置的股票统计和指标计算功能,方便用户对股票数据进行分析。该库支持包括 delta、log return、SMA、EMA、RSI、MACD、Bolling、KDJ、DMI、TRIX、VR、MFI、CHOP、KER、KAMA、PPO、StochRSI、Supertrend、Aroon、Z、AO、BOP、MAD、ROC、Coppock、Ichimoku、CTI、LRMA、ERI、FTR、RVGI、Inertia、KST、PGO、PSL、PVO、QQE 等指标计算,并提供 `StockDataFrame` 类作为 DataFrame 的包装器,方便用户直接使用这些指标。用户可以通过 `pip install stockstats` 安装该库,并根据自己的数据格式进行初始化,即可使用库提供的功能。
* [pmorissette/bt](https://github.com/pmorissette/bt) bt是一个灵活的 Python 回测框架,用于测试量化交易策略。它允许用户轻松创建混合使用不同算法的策略,并旨在促进创建易于测试、可重复使用和灵活的策略逻辑块,以加速复杂交易策略的开发。bt 使用 Python 编写,并与丰富的 Python 数据分析生态系统相结合,可以利用机器学习、信号处理和统计库,避免重复造轮子。bt 基于 ffn(一个 Python 金融函数库)。主要功能包括:树状结构,算法堆栈,图表和报告,详细统计数据。未来发展方向包括提高速度,开发更多算法,改进图表和报告功能。可以通过 pip 安装:`pip install bt`。
* [bsolomon1124/pyfinance](https://github.com/bsolomon1124/pyfinance) 为投资管理和证券收益分析而构建的Python分析包。主要是对面向定量金融的现有包进行补充,如pyfolio和pandas-datareader等。pyfinance包含六个模块,它们分别是:datasets.py :金融数据下载,基于request进行数据爬虫;general.py:通用财务计算,例如主动份额计算,收益分配近似值和跟踪误差优化;ols.py:回归分析,支持pandas滚动窗口回归;options.py:期权衍生品计算和策略分析;returns.py:通过CAPM框架对财务时间序列进行统计分析,旨在模拟FactSet Research Systems和Zephyr等软件的功能,并提高了速度和灵活性;utils.py:基础架构。
* [vnpy/vnpy](https://github.com/vnpy/vnpy) 国内由陈晓优团队开发量化交易框架,它目前在github上star和fork的数量已经超过了zipline,目前是全球开源量化框架的首位。vn.py主要侧重于实盘交易,同样支持通过历史数据进行回测,包括数据的可视化、收益结果、参数调优等,除此之外,它还具备一些常用的CTA策略、SpreadTrading价差交易、行情录制等功能,并且它还具备完善的社区以及教程。新手在使用时,可以通过它的GUI环境VN Station进行使用,同时也可以基于它的策略模版进行自定义的策略开发。
* [aeturrell/coding-for-economists](https://github.com/aeturrell/coding-for-economists) 该项目为在线书籍 "Coding for Economists" 提供代码,读者可访问项目网站获取书籍内容。项目开发者可通过创建分支、安装 Python 环境、修改代码、运行预提交检查、提交代码并创建 Pull Request 等步骤贡献代码。项目提供 Dockerfile 用于简化环境搭建,开发者可通过VS Code 远程连接容器进行开发。项目依赖大量 Python 包,建议使用 Mamba 加速环境安装。项目还需安装自然语言处理模型、字体和 LaTeX 等额外资源。
* [tkfy920/qstock](https://github.com/tkfy920/qstock) 打造成个人量化投研分析包,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(策略backtest)模块。 qstock将为用户提供简洁的数据接口和规整化后的金融市场数据。可视化模块为用户提供基于web的交互图形的简单接口; 选股模块提供了同花顺的选股数据和自定义选股,包括RPS、MM趋势、财务指标、资金流模型等; 回测模块为大家提供向量化(基于pandas)和基于事件驱动的基本框架和模型。
* [quantopian/zipline](https://github.com/quantopian/zipline) 美国著名量化策略平台quantopian开发和维护的量化交易库,并且quantopian平台的回测引擎也是基于zipline的,除此之外,像国内有名的矿聚宽(JointQuant)、米筐(RiceQuant)、优矿的回测引擎也是基于此。zipline是一种事件驱动(event-driven)的回测框架,有完整的文档和社区,如果你是对国外美股交易感兴趣,那么zipline将比较合适;但是对于国内像A股的数据则无法支持,只能通过本地化的数据进行回测。
* [twopirllc/pandas-ta](https://github.com/twopirllc/pandas-ta) Pandas TA是一个易于使用的 Python 3 Pandas 扩展库,包含 130 多个指标和实用函数,以及 60 多个 TALib 烛台模式。它利用 Pandas 包,提供常用的指标,如烛台模式、简单移动平均线、移动平均线收敛背离、Hull 指数移动平均线、布林带、平衡量、阿隆指标和阿隆振荡器、压缩指标等等。为了使用所有烛台模式,需要安装 TA Lib 库(`pip install TA-Lib`)。如果没有安装 TA Lib,则只能使用内置的烛台模式。
* [TA-Lib/ta-lib-python](https://github.com/TA-Lib/ta-lib-python) TA-Lib-Python 是一个基于 Cython 的 TA-Lib (http://ta-lib.org) Python 语言包装器,它比 SWIG 版本更快、更易安装。TA-Lib 提供 150 多种技术指标(如 ADX、MACD、RSI、随机指标、布林带等)、烛台形态识别,以及 C/C++、Java、Perl、Python 和 .NET 的开源 API。TA-Lib-Python 支持 Polars和 Pandas 库,并提供多种安装方式,包括 PyPI、源代码安装和 Conda Forge。用户需要先安装 TA-Lib 库,并根据操作系统选择合适的安装方式。
* [jindaxiang/akshare](https://github.com/jindaxiang/akshare) 基于 Py 的财经数据接口库, 目的是实现对股票、期货、期权、基金、外汇、债券、指数、加密货币等金融产品的基本面数据、实时和历史行情数据、衍生数据从数据采集、数据清洗到数据落地的一套工具, 主要用于学术研究目的。特点是获取的是相对权威的财经数据网站公布的原始数据, 通过利用原始数据进行各数据源之间的交叉验证, 进而再加工, 从而得出科学的结论。
* [bukosabino/ta](https://github.com/bukosabino/ta) ta是一个基于 Pandas 和 Numpy 的 Python 技术分析库,用于从金融时间序列数据集(开盘价、收盘价、最高价、最低价、成交量)中进行特征工程。它实现了 43 个指标,包括成交量指标、动量指标、波动率指标、趋势指标等,例如 Money Flow Index (MFI)、Accumulation/Distribution Index (ADI)、On-Balance Volume (OBV)、Chaikin Money Flow (CMF)等等,可以帮助用户进行更深入的金融数据分析。
* [quantopian/alphalens](https://github.com/quantopian/alphalens) Python量化分析库,量化网站quantopian开发维护的量化三件套之一,用于股票因子(alpha)的性能分析。alphalens与zipline以及pyfolio常常一同使用,其中,pyfolio提供财务组合的性能和风险分析,zipline用于量化策略回测。alphalens的主要功能包括对一个alpha因子进行统计和绘图,包括:因子收益分析、因子信息系数分析、换手率分析以及分组分析。
* [rsvp/fecon235](https://github.com/rsvp/fecon235) fecon235 是一个面向金融经济学的 Python 库,它简化了数据获取、处理和分析流程。该库整合了 NumPy、pandas、statsmodels等工具,并提供 API 接口访问 FRED、Quandl 等数据源,支持获取经济和金融数据,进行时间序列分析、统计机器学习等操作,并提供可视化功能。该项目还提供 Jupyter Notebook 示例,方便用户快速上手。
* [RomelTorres/alpha_vantage](https://github.com/RomelTorres/alpha_vantage) 这是一个用于获取金融数据的 Alpha Vantage API 的 Python 封装库,它提供了一个简单的 JSON 或 Pandas 格式的免费 API,用于获取实时金融数据和常用的金融指标。该库支持多种数据类型,包括股票、加密货币、期权、商品和经济指标,并提供异步支持。用户可以通过 pip 安装该库,并使用 API 密钥来访问数据。
* [pmorissette/ffn](https://github.com/pmorissette/ffn) ffn是一个 Python 库,为量化金融领域提供各种实用函数。它基于 Pandas、Numpy、Scipy 等库,提供丰富的功能,包括性能度量、评估、图表绘制和常见数据转换等。ffn 可以帮助用户快速计算投资组合的均值-方差权重,并提供其他量化金融分析工具。用户可以使用 pip 命令安装 ffn,并参考官方文档进行使用。
* [shidenggui/easyquotation](https://github.com/shidenggui/easyquotation) easyquotation是一个 Python 库,用于快速获取新浪和腾讯的免费股票行情,以及集思录的分级基金行情。它使用简单易用,只需几行代码即可获取实时行情数据,速度快,响应时间仅需 200 毫秒左右。该项目还提供其他相关项目,例如 easytrader(股票程序化交易库)和 easyquant(量化交易框架)。
* [waditu/tushare](https://github.com/waditu/tushare) 拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。其SDK开发包支持语言,同时提供HTTP Restful接口,最大程度方便不同人群的使用。并且,它提供多种数据储存方式,如Oracle、MySQL,MongoDB、HDF5、CSV等,为数据获取提供了性能保证。
* [Rockyzsu/stock](https://github.com/Rockyzsu/stock) 这是一个量化交易学习项目,包含30天掌握量化交易的学习内容,项目包含数据分析、数据存储、基金分析、股票分析、K线策略、机器学习预测、交易模块、自动化交易实盘代码等模块,用户可根据项目提供的配置信息,自行修改数据库连接信息,并进行个性化配置。
* [afadil/wealthfolio](https://github.com/afadil/wealthfolio) 一个私密且安全的桌面投资追踪应用,支持本地数据存储,无需订阅和云服务。特色包括React前端、Tailwind CSS样式、Tauri构建桌面应用,适用于投资爱好者。项目包含开发工具如Vite、TypeScript和ESLint,以及详细的安装和运行指南。
* [firefly-iii/firefly-iii](https://github.com/firefly-iii/firefly-iii) 免费开源的个人理财经理,可以帮助您跟踪您的支出和收入,因此您可以花更少的钱并节省更多的钱。Firefly III 支持使用预算、类别和标签。使用一堆外部工具,您可以导入数据。它还有许多简洁的财务报告。
* [AlgoTraders/stock-analysis-engine](https://github.com/AlgoTraders/stock-analysis-engine) 回测 1000 种每分钟交易算法,使用来自 IEX、Tradier 和 FinViz 的自动定价数据训练 AI。数据集和交易表现自动发布到 S3,用于构建 AI 训练数据集,以教授 DNN 如何交易。在 Kubernetes 和 docker-compose 上运行。
* [amor71/LiuAlgoTrader](https://github.com/amor71/LiuAlgoTrader) 一个可扩展的、多进程的 ML 就绪框架,用于有效的算法交易。该框架简化了开发、测试、部署、分析和训练算法交易策略。该框架自动分析交易会话、超参数优化,分析可用于训练预测模型。
* [enigmampc/catalyst](https://github.com/enigmampc/catalyst) 对于虚拟货币交易的量化回测平台。Catalyst是一个底层基于zipline的算法交易框架,目前比较成熟,并且可以支持策略的回测与实盘( 目前支持四家交易所 Binance, Bitfinex, Bittrex, Poloniex) 。
* [jrothschild33/learn_backtrader](https://github.com/jrothschild33/learn_backtrader) BackTrader中文教程笔记,系统性介绍Bactrader的特性、策略构建、数据结构、回测交易等,彻底掌握量化神器的使用方法。章节:介绍篇、数据篇、指标篇、交易篇、策略篇、可视化篇…
* [je-suis-tm/quant-trading](https://github.com/je-suis-tm/quant-trading) Python 量化交易策略,包括 VIX 计算器、模式识别、商品交易顾问、蒙特卡洛、期权跨式、射击之星、伦敦突破、Heikin-Ashi、配对交易、RSI、布林带、抛物线 SAR、双推力、真棒、MACD
* [stefan-jansen/machine-learning-for-trading](https://github.com/stefan-jansen/machine-learning-for-trading) 旨在展示ML如何以实用而全面的方式为算法交易策略增加价值。它涵盖了从线性回归到深度强化学习的广泛 ML 技术,并演示了如何构建、回测和评估由模型预测驱动的交易策略。
* [gbeced/pyalgotrade](https://github.com/gbeced/pyalgotrade) 一个事件驱动的回测框架,虽然不如zipline的名气大,但是同样也具有完善的社区和详细的文档。据说pyalgotrade的运行速度和灵活度要比zipline强,但是缺点是不支持pandas。
* [AI4Finance-Foundation/DQN-DDPG_Stock_Trading](https://github.com/AI4Finance-Foundation/DQN-DDPG_Stock_Trading) 使用 DQN/DDPG 进行股票交易。Xiong, Z.、Liu, XY、Zhong, S.、Yang, H. 和 Walid, A.,2018 年。股票交易的实用深度强化学习方法,NeurIPS 2018 AI in Finance Workshop。
* [UFund-Me/Qbot](https://github.com/UFund-Me/Qbot) AI 自动量化交易机器人,旨在实现量化投资的潜力,赋能人工智能技术。支持多种机器学习建模范式。包括监督学习、市场动态建模和强化学习。
* [QuantConnect/Lean](https://github.com/QuantConnect/Lean) 开源算法交易引擎,旨在简化策略研究、回测和实时交易。我们与常见的数据提供商和经纪公司集成,因此您可以快速部署算法交易策略。
* [mementum/backtrader](https://github.com/mementum/backtrader) 一个功能强大的量化策略回测平台。backtrader允许你专注于编写可重用的交易策略、指标和分析工具,而不是花时间构建基础设施。
* [OpenBB-finance/OpenBBTerminal](https://github.com/OpenBB-finance/OpenBBTerminal) 适合每个人、任何地方的投资研究。OpenBB致力于通过专注于每个人都可以访问的开源基础架构来构建投资研究的未来。
* [alipay/alipay-easysdk](https://github.com/alipay/alipay-easysdk) 支付宝多语言(java、c#、php、ts 等)的 Easy SDK,让您享受极简的编程体验,快速接入支付宝开放平台的各种高频能力。
* [microsoft/qlib](https://github.com/microsoft/qlib) Qlib是一个面向AI的量化投资平台,旨在实现潜力,增强研究能力并创造AI技术在量化投资中的价值。包括多个模型。
* [ricequant/rqalpha](https://github.com/ricequant/rqalpha) 从数据获取、算法交易、回测引擎,实盘模拟,实盘交易到数据分析,为程序化交易者提供了全套解决方案
* [goiter/CoCPC](https://github.com/goiter/CoCPC) 基于 Copula 的对比预测编码 (Co-CPC)。通过考虑与宏观经济指标的耦合来发布股票走势预测的代码和数据。
* [StockSharp/StockSharp](https://github.com/StockSharp/StockSharp) 算法交易和量化交易开源平台,用于开发交易机器人(股票市场、外汇、加密货币、比特币和期权)。
* [bbfamily/abu](https://github.com/bbfamily/abu) 阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构
* [AI4Finance-Foundation/FinRL_Podracer](https://github.com/AI4Finance-Foundation/FinRL_Podracer) 一个优雅(轻量级、高效且稳定)的 FinRL 库,允许研究人员和量化交易者轻松开发算法策略。
* [quantopian/pyfolio](https://github.com/quantopian/pyfolio) 用于金融投资组合的性能和风险分析。它可以很好地与Zipline回测库一起工作。
* [tensortrade-org/tensortrade](https://github.com/tensortrade-org/tensortrade) 一个开源强化学习框架,用于训练,评估和部署强大的交易程序。
* [cedricporter/funcat](https://github.com/cedricporter/funcat) 将同花顺、通达信、文华财经麦语言等的公式写法移植到了 Python
* [AI4Finance-LLC/FinRL-Library](https://github.com/AI4Finance-LLC/FinRL-Library) 哥大开源“FinRL”: 一个用于量化金融自动交易的深度强化学习库
* [midas-research/sthan-sr-aaai](https://github.com/midas-research/sthan-sr-aaai) 通过时空超图注意力网络进行股票选择:一种学习排名方法
* [AI4Finance-Foundation/FinRL-Live-Trading](https://github.com/AI4Finance-Foundation/FinRL-Live-Trading) 自动股票交易的深度强化学习:一种集成策略。ICAIF 2020。
* [georgezouq/awesome-deep-reinforcement-learning-in-finance](https://github.com/georgezouq/awesome-deep-reinforcement-learning-in-finance) 金融市场上使用的那些AI(RL/DL/SL/进化/遗传算法)的集合
* [yumoxu/stocknet-dataset](https://github.com/yumoxu/stocknet-dataset) 从推文和历史股价预测股票走势的综合数据集。
* [wilsonfreitas/awesome-quant](https://github.com/wilsonfreitas/awesome-quant) 适用于量化金融的精选库、软件包和资源列表
* [hkgsas/LOB](https://github.com/hkgsas/LOB) 中国市场限价订单短期市场预测基准数据集。
* [AI4Finance-Foundation/FinRL-Meta](https://github.com/AI4Finance-Foundation/FinRL-Meta) 数据驱动金融强化学习的市场环境和基准
* [Heerozh/spectre](https://github.com/Heerozh/spectre) GPU 加速的因子分析库和回测工具。
* [wangshub/RL-Stock](https://github.com/wangshub/RL-Stock) 如何用深度强化学习自动炒股。
* [ranaroussi/yfinance](https://github.com/ranaroussi/yfinance) 从雅虎财经的 API 下载市场数据
* [QUANTAXIS/QUANTAXIS](https://github.com/QUANTAXIS/QUANTAXIS) 量化金融策略框架
# 生物医药
## 其他_生物医药
* [grailbio/reflow](https://github.com/grailbio/reflow) Reflow是一个用于云端增量数据处理的语言和运行时系统,它允许科学家和工程师使用普通编程结构组合现有的工具(打包在 Docker镜像中)。Reflow 在云环境中评估这些程序,透明地并行化工作并记忆结果。Reflow 由 GRAIL 创建,用于管理其 NGS(下一代测序)生物信息学工作负载,但也已用于许多其他应用程序,包括模型训练和临时数据分析。Reflow 包含一个函数式、惰性、类型安全的领域特定语言,用于编写工作流程序;一个运行时,用于增量评估 Reflow 程序,协调集群执行和透明记忆;一个集群调度器,用于从云提供商(目前支持 AWS)动态配置和拆卸资源。因此,Reflow 允许科学家和工程师编写简单的程序,然后在云环境中透明地执行它们。程序会自动并行化并在多台机器上分布,并且冗余计算(即使跨运行和用户)也会被其记忆缓存消除。Reflow 增量评估其程序:每当输入数据或程序更改时,仅重新计算依赖于更改数据或代码的输出。除了默认的集群计算模式之外,Reflow 程序还可以本地运行,利用本地机器的 Docker守护进程(包括 Docker for Mac)。Reflow 被设计为支持复杂的、大规模的生物信息学工作流,但应该广泛适用于科学和工程计算工作负载。它是使用 Go 构建的。Reflow 加入了一个旨在解决生物信息学工作负载的系统列表,但在重要方面与它们不同:它是一个垂直集成的系统,具有最少的外部依赖项集;这使得 Reflow 成为“即插即用”:带上您的云凭据,您就可以开始了;它定义了一个严格的数据模型,用于透明记忆和其他优化;它认真对待工作流软件:Reflow DSL 提供类型检查、模块化和其他在通用编程语言中常见的构造函数;由于其高级数据模型和缓存的使用,Reflow 增量计算:它始终能够计算出给定先前已计算内容的最小的操作集。
* [beamandrew/medical-data](https://github.com/beamandrew/medical-data) 这是一个收集了用于机器学习的医学数据的精选列表。该列表仅供参考,请确保您尊重此处列出的任何数据的任何和所有使用限制。该列表包含医学影像数据,如EchoNet-Dynamic(斯坦福大学的大型心脏运动视频数据资源)、MedPix(包含53,000张来自13,000名患者的带注释的医学图像,需要注册)、ABIDE(包含来自539名患有自闭症的个体和573名典型对照的 fMRI 图像,需要注册)、阿尔茨海默病神经影像倡议 (ADNI)(包含关于阿尔茨海默病患者和健康对照的 MRI 数据库,还需要注册)、CT 结肠造影(用于诊断结肠癌,包含没有息肉、6-9 毫米息肉和大于 10 毫米息肉的患者数据)、数字视网膜图像用于血管提取(DRIVE)(用于比较研究视网膜图像中血管分割的数据库,包含 40 张照片,其中 7 张显示轻度早期糖尿病视网膜病变的迹象)、SynthStrip(包含来自 600 多次 MRI、CT 和 PET 扫描的完整头部图像和地面真实脑部掩模,包含来自婴儿到患有胶质母细胞瘤的患者的各种对比度、分辨率和受试者群体的 MRI 扫描,可用于开发和评估脑提取(或颅骨剥离)算法)。此外,该列表还包含心脏 MRI 数据集,如 AMRG 心脏图谱、先天性心脏病 (CHD) 图谱、DETERMINE 和 MESA。
* [bioperl/bioperl-live](https://github.com/bioperl/bioperl-live) BioPerl是一个用于生物信息学计算的开源 Perl 工具项目,它包含了生物序列、格式读取器、序列比对、数据库搜索对象以及与EMBOSS、ClustalW 和 BLAST 等多个程序的接口等功能。这个项目包含多个模块,其中 BioPerl 模块是其他模块的基础。这个仓库只包含 BioPerl 模块,其他模块有各自的仓库。安装 BioPerl 模块需要使用 `cpanm` 命令,例如 `cpanm Bio::DB::EUtilities`。文档可以在 [metacpan](https://metacpan.org/pod/BioPerl) 网站上找到,也可以在 `examples/` 和 `bin/` 目录中找到示例代码。更多信息请访问 [项目网站](https://bioperl.org) 或加入 [[email protected]](mailto:[email protected]) 邮件列表或 freenode IRC 服务器的 `#bioperl` 频道。Bug 报告可以在这个仓库的 Github 页面上提交。有关项目结构、从源代码构建和运行测试套件的详细信息,请参阅 [`HACKING.md`](HACKING.md) 文件。
* [MAGIC-AI4Med/MMedLM](https://github.com/MAGIC-AI4Med/MMedLM) 【Nature Communications】“构建医学多语言语言模型”官方代码。在本文中,我们的目标是开发一种开源的多语言医学语言模型。总的来说,我们从以下几个方面提出贡献:语料库数据集。对于多语言医学特定的适应,我们构建了一个新的多语言医学语料库,其中包含大约 25.5B 个包含 6 种主要语言的标记,称为 MMedC,它可以对现有的通用LLMs进行自回归训练。基准。为了监测医学领域多语言LLMs的发展,我们提出了一个新的具有基本原理的多语言医学多选问答基准,称为 MMedBench。模型评估。我们在基准测试中评估了许多流行的LLMs ,以及在 MMedC 上进行进一步自回归训练的 LLM,因此,我们的最终模型(称为 MMedLM 2)仅具有 7B 个参数,与所有其他开放式模型相比,实现了卓越的性能。源模型,甚至可以与 MMedBench 上的 GPT-4 相媲美。
* [biojava/biojava](https://github.com/biojava/biojava) BioJava是一个开源项目,提供一个Java库用于处理生物数据。它包含分析和统计程序、常见文件格式的解析器、流行算法的参考实现,并支持对序列和3D结构进行操作。BioJava旨在促进生物信息学应用的快速开发。项目主页为http://biojava.org/,文档可在https://github.com/biojava/biojava-tutorial和http://biojava.org/wiki/BioJava:CookBook4.0/找到,完整Javadocs在http://biojava.org/docs/api。BioJava发布版可从Maven Central获取,可以通过在pom.xml中添加依赖项进行安装。项目的主要邮件列表为[email protected],用于一般讨论、建议、问题、帮助、公告、感谢、发布代码中的错误和功能请求。开发者讨论现在使用github issue。BioJava 5论文发表在PLOS Computational Biology 15(2): e1006791,DOI为10.1371/journal.pcbi.1006791。
* [mne-tools/mne-python](https://github.com/mne-tools/mne-python) MNE-Python是一个开源的Python库,用于探索、可视化和分析人类神经生理数据,例如脑磁图 (MEG)、脑电图 (EEG)、皮层脑电图 (sEEG)、皮层脑电图 (ECoG) 等。它包含用于数据输入/输出、预处理、可视化、源估计、时频分析、连接性分析、机器学习、统计等模块。MNE-Python的文档包含安装说明、教程和示例,涵盖各种主题,以及贡献指南和API参考。用户论坛是询问有关MNE-Python使用或贡献过程问题的最佳场所。该论坛还提供职位机会和其他公告。如果发现错误或有新功能的想法,请使用GitHub存储库的issue tracker。MNE-Python的最小依赖项是Python 3.9、NumPy 1.23、SciPy 1.9、Matplotlib 3.6、Pooch 1.5、tqdm、Jinja2、decorator、lazy-loader 0.3和packaging。MNE-Python是根据BSD-3-Clause许可证发布的。
* [knausb/vcfR](https://github.com/knausb/vcfR) vcfR是一个用于处理和可视化变异调用格式 (VCF) 数据的R 包。它提供了读取和写入 VCF 文件的函数,并使用解析器函数从 VCF 数据中提取矩阵,以便与 R 函数一起使用。vcfR 基于两个数据结构:vcfR 和 chromR,分别用于存储 VCF 文件中的数据和变异信息、可选序列 (FASTA) 和注释 (GFF) 信息。vcfR 提供了对 VCF 数据进行子集操作以及提取和解析数据的功能,例如访问单个基因型、序列深度或基因型似然。它还提供了可视化基因组数据的函数,并允许将数据写入 VCF 文件或转换为其他流行的 R 对象 (例如,genlight、DNAbin)。vcfR 将 VCF 数据与 R 环境连接起来,将熟悉的软件与基因组数据连接起来。
* [pyRiemann/pyRiemann](https://github.com/pyRiemann/pyRiemann) pyRiemann是一个基于 scikit-learn API 的 Python 机器学习包,它利用正定矩阵的黎曼几何来处理和分类实值或复值多元数据。该包主要针对生物信号(如脑电图、脑磁图或肌电图)处理,尤其适用于脑机接口领域,它可以从多通道时间序列中估计协方差矩阵,并利用 SPD 矩阵的黎曼几何进行分类。pyRiemann 还可应用于遥感领域,例如使用滑动窗口估计雷达图像的空间坐标上的协方差矩阵,并利用 SPD 或 HPD 矩阵的黎曼几何处理高光谱图像或合成孔径雷达 (SAR) 图像。该包提供了多种功能,例如协方差矩阵估计、黎曼度量学习、分类器等,并与 scikit-learn API 兼容,方便用户使用。
* [TimoLassmann/samstat](https://github.com/TimoLassmann/samstat) SAMStat是一个高效的C语言程序,用于快速显示下一代测序项目中存储在SAM/BAM格式的大型序列文件的统计信息。它可以识别各种问题,例如剩余的连接子和适配器序列,导致映射质量差。SAMStat可以用于验证大型分析管道中的各个处理步骤。它报告长度分布、碱基质量分布、映射统计信息、错配、插入和缺失错误概况。输出是一个包含所有统计信息的单个HTML页面。该程序依赖于HDF5库,可在Linux和Mac上安装。用户可以使用命令行参数指定输入文件和输出目录,并控制线程数量、统计数据报告范围等选项。SAMStat已被用于多个研究项目,并发表在Bioinformatics期刊上。
* [MultiQC/MultiQC](https://github.com/MultiQC/MultiQC) MultiQC是一个工具,可以将来自多个样本的生物信息学分析结果汇总到一个交互式图表报告中。它通过扫描给定目录以识别已知的日志文件来生成报告,解析这些文件并生成一个包含所有找到的日志统计信息的单个 HTML 报告。MultiQC 报告可以描述单个图表中的多个分析步骤和大量样本,以及多个分析工具,使其成为日常快速质量控制的理想选择。MultiQC 支持大量的生物信息学工具,可以轻松解析来自自定义脚本的数据(如果格式正确/配置正确),并且可以从 [PyPI](https://pypi.python.org/pypi/multiqc/) 或 [Bioconda](https://bioconda.github.io/) 安装。
* [Project-MONAI/MONAI](https://github.com/Project-MONAI/MONAI) MONAI是一个基于 PyTorch 的开源框架,用于医疗影像领域的深度学习,是 PyTorch 生态系统的一部分。它旨在建立一个学术、工业和临床研究人员共同合作的社区,并提供用于医疗影像的端到端训练工作流程,以及创建和评估深度学习模型的优化和标准化方法。MONAI 提供灵活的预处理功能,用于处理多维医学影像数据,并提供可组合和可移植的 API,便于集成到现有工作流程中。它还包含针对特定领域的网络、损失函数、评估指标等实现,并支持多 GPU 多节点数据并行。用户可以通过 pip 安装 MONAI,并参考官方文档和示例教程开始使用。
* [awslabs/dgl-lifesci](https://github.com/awslabs/dgl-lifesci) DGL-LifeSci 是一个基于 DGL 的开源工具包,用于在生命科学中使用图神经网络。它提供各种功能,包括图构建、特征化和评估方法、模型架构、训练脚本和预训练模型。DGL-LifeSci 支持 Linux、macOS 和 Windows 系统,并依赖于 Python 3.6+、DGL 0.7.0+ 和 PyTorch 1.5.0+。用户可以通过 pip 安装 DGL-LifeSci,也可以从源代码安装以尝试实验性功能。该项目还提供命令行界面,允许用户无需编程和深度学习背景即可进行建模。用户可以在 examples/README.md 中找到 DGL-LifeSci 中实现的所有工作的完整列表。如果在科学出版物中使用 DGL-LifeSci,请引用相关论文。
* [microsoft/hi-ml](https://github.com/microsoft/hi-ml) HI-ML是一个用于医疗影像深度学习的工具箱,包含用于 Azure 集成的功能。它提供低级和高级构建块,帮助研究人员和实践者简化和优化医疗保健和生命科学领域的深度学习模型开发。该工具箱包含两个 Python 包:hi-ml-azure(提供 AzureML辅助函数)和 hi-ml(提供机器学习组件),以及针对组织病理学图像的 hi-ml-cpath 代码库。用户可以通过pip 安装该工具箱,并使用 `hi-ml-azure` 包将 Python 脚本轻松运行在 Azure 机器学习服务上,例如,将存储在 Blob 存储中的图像进行预处理并写入 Blob 存储。详细的文档和示例可在 readthedocs 上找到。
* [dmis-lab/RAG2](https://github.com/dmis-lab/RAG2) RAG²是一个用于医疗问答的检索增强生成框架,旨在提高RAG在生物医学领域的可靠性。它通过三个关键创新来实现:1)训练一个小型的过滤模型,通过困惑度标签选择性地增强文档中的信息片段,并过滤掉干扰项;2)使用LLM生成的理由作为查询,以提高检索片段的效用;3)设计了一种结构,从四个生物医学语料库的综合集合中均匀检索片段,有效地减轻了检索器偏差。实验表明,RAG²在不同大小的最新LLM上取得了显著的改进,在三个医疗问答基准上,其性能比之前最好的医疗RAG模型高出5.6%。
* [Dana-Farber-AIOS/pathml](https://github.com/Dana-Farber-AIOS/pathml) PathML是一个用于计算病理学的开源工具包,旨在降低数字病理学研究的门槛。它强调可扩展性、标准化和易用性,提供了一系列工具,帮助研究人员利用机器学习和人工智能等先进的计算分析方法来分析海量病理图像数据。PathML 支持多种安装方式,包括使用 pip 安装、从源代码安装、使用 Docker 容器和在 Google Colab 中安装。它还提供了一个 AI 助手,可以帮助用户编写数字病理学分析代码,并提供逐步指导。用户可以访问官方文档和示例库,快速上手 PathML 并进行各种病理学分析。
* [rcedgar/muscle](https://github.com/rcedgar/muscle) Muscle是一款广泛使用的生物序列多重比对软件,在Balibase、Bralibase和Balifam基准测试中取得了最高分,并且可以在普通台式机上扩展到数千个序列或结构。它支持生成多个具有相同高精度的替代比对,通过比较来自不同比对的下游预测(例如树),生物学家可以评估结论对由歧义和错误引起的比对变化的稳健性。Muscle还支持结构比对,输入为`reseek`的`pdb2mega`命令生成的“mega”文件。项目提供二进制文件,无需依赖,可从GitHub发布页面下载。项目文档包括用户手册和构建说明。
* [BioContainers/containers](https://github.com/BioContainers/containers) BioContainers项目旨在利用 Docker 和 rkt 等容器技术来解决生物信息学软件开发和分发中的问题。它提供了一个社区驱动的平台,用于创建、管理和分发生物信息学容器,尤其关注蛋白质组学、基因组学、转录组学和代谢组学等组学领域。该项目提供了一系列可供生物信息学社区使用的容器,并定义了一套标准化的容器构建规范,方便用户将容器与其他工具集成。此外,BioContainers 还提供了完整的开发、部署和测试基础设施,并支持使用 Travis Continuous Integration 等持续集成套件。
* [bioSyntax/bioSyntax](https://github.com/bioSyntax/bioSyntax) bioSyntax是一个为计算生物学提供语法高亮的工具,支持 `.sam`, `.flagstat`, `.vcf`, `.fasta`, `.fastq`, `.faidx`, `.clustal`, `.pdb`, `.gtf`, `.bed` 等文件格式,并与 vim、less、sublime3 和 gedit 等文本编辑器无缝集成,通过文件扩展名或流入 `less` 来识别数据类型。用户可以通过 [bioSyntax.org](http://bioSyntax.org/) 网站获取更多信息,包括安装、使用手册、截图和最新版本下载。该项目由 Artem Babaian、Dylan Aïssi、Anicet Ebou、Alyssa Fegen、Jeffrey Kam、Gherman Novakovskiy、Li Yao 和 Jasper Wong 等开发人员共同维护。
* [bioFAM/MOFA](https://github.com/bioFAM/MOFA) MOFA是一个无监督的多组学数据整合框架,可以看作是主成分分析(PCA)在多组学数据上的推广。它通过推断隐藏因子来构建可解释的低维数据表示,这些因子代表了不同数据模态之间变异的驱动来源,从而帮助识别细胞状态或疾病亚群。模型训练完成后,可以用于可视化样本在因子空间中的分布、使用基因集富集分析自动注释因子、识别异常值(例如样本交换)以及填补缺失值。该项目提供多个示例工作流程,例如整合多组学癌症数据,并提供相应的教程和代码示例。
* [seqan/seqan3](https://github.com/seqan/seqan3) SeqAn3是一个现代的 C++ 库,用于生物序列分析。它提供通用算法和数据结构,用于序列表示和转换、全文索引和高效搜索、序列比对以及常见文件格式的输入/输出。SeqAn3 采用现代 C++ 编写,易于使用且性能出色。它是一个头文件库,易于集成到应用程序中,并采用宽松的开源许可证,允许集成到任何应用程序或库中。SeqAn3 拥有高代码质量标准,包括超过 97% 的单元测试覆盖率和性能回归测试。它还提供广泛的 API 文档和教程,旨在支持运行 Linux/POSIX 的任何 64 位架构。
* [jamescasbon/PyVCF](https://github.com/jamescasbon/PyVCF) PyVCF是一个用于Python的变异调用格式(VCF)读取器,它能够解析VCFv4.0和4.1版本的文件。该库模仿Python标准库中的csv模块,旨在提供一个简单易用的接口来读取VCF文件,并根据元信息行(如##INFO和##FORMAT)解析每个记录的字段。PyVCF提供了Record类作为主要接口,它包含了VCF规范中的8个固定字段,以及用于处理基因型信息的额外属性,例如samples和genotype。用户可以使用Record类的属性和方法来访问和分析VCF记录中的各种信息,例如位置、参考序列、变异类型、基因型等。
* [mikelove/awesome-multi-omics](https://github.com/mikelove/awesome-multi-omics) awesome-multi-omics是一个社区维护的软件包列表,用于多组学数据分析,它涵盖了转录组学、蛋白质组学等多种组学数据分析方法。该项目收集了多种用于分析多组学数据的软件包,这些软件包通常被称为多模态、多表或多路分析方法,它们的特点是分析来自同一组样本的不同测定结果,数据可以表示为多个矩阵或表格,这些矩阵或表格具有相同的样本数量,但特征数量不同。该项目借鉴了Sean Davis的awesome-single-cell项目,为单细胞分析方法提供了一个类似的资源。
* [chaoyi-wu/RadFM](https://github.com/chaoyi-wu/RadFM) RadFM是一个基于大规模 2D 和 3D 医学数据训练的放射学领域通用基础模型,论文发表在 arXiv 上。该项目收集了包含 1600 万张 2D 或 3D 医学图像的大规模多模态数据集 MedMD,并使用它训练 RadFM 模型,该模型支持 2D 和 3D 扫描、多图像输入和视觉语言交织案例。项目提供了快速入门指南,用户可以下载模型权重并进行简单的诊断测试,也可以通过修改代码进行模型的重新训练和测试。此外,项目还提供了数据集下载链接,包括公开数据集和需要授权访问的数据集。
* [mdshw5/pyfaidx](https://github.com/mdshw5/pyfaidx) 对 fasta 子序列的高效 pythonic 随机访问,Samtools 提供了一个函数“faidx”(FAsta InDeX),它创建一个小型平面索引文件“.fai”,允许快速随机访问索引 FASTA 文件中的任何子序列,同时将最少量的文件加载到内存中。该 python 模块实现纯 Python 类,用于使用 samtools 兼容索引对 FASTA 文件进行索引、检索和就地修改。 pyfaidx 模块与pygr seqdb 模块 API 兼容。命令行脚本“ faidx ”与 pyfaidx 模块一起安装,可以方便地对 FASTA 文件进行复杂的操作,而无需任何编程知识。
* [refresh-bio/KMC](https://github.com/refresh-bio/KMC) KMC是一个快速、节省空间的基于磁盘的k-mer计数工具,用于从FASTQ/FASTA文件(可能压缩为gzip格式)中计数k-mer。KMC支持从单个或多个文件中计数k-mer,并提供多种输出格式,例如文本文件、二进制数据库等。用户可以通过命令行参数控制k-mer长度、最小计数阈值等参数。KMC还提供了一个API,用于访问存储在KMC数据库中的k-mer信息。KMC使用C++编写,并针对性能进行了优化。用户可以通过源代码编译KMC,也可以从GitHub releases页面下载预编译的二进制文件。
* [brentp/cyvcf2](https://github.com/brentp/cyvcf2) cyvcf2是一个基于 Cython 和 htslib 的 Python 库,用于快速解析 VCF 和 BCF 文件,支持区域查询。它利用 Cython 的性能优势,直接访问 htslib 的 C 库,实现高效的解析和处理。cyvcf2 提供了方便的接口,可以轻松访问 VCF 文件的各种信息,例如变异位置、参考序列、替代序列、基因型、质量值等。用户可以使用 cyvcf2 进行变异分析、基因型推断、群体遗传学研究等。cyvcf2 支持 Python 2 和 3,并提供 pip 安装方式,用户可以根据自己的环境选择合适的安装方法。
* [MathOnco/NeoPredPipe](https://github.com/MathOnco/NeoPredPipe) NeoPredPipe是一个用于从单区域或多区域vcf文件预测新抗原的管道,它使用ANNOVAR和netMHCpan。该工具允许用户使用ANNOVAR和netMHCpan处理从单区域或多区域vcf文件中预测的新抗原。该管道支持netMHCpan-4.0和netMHCpan-4.1,并提供MHC-II预测功能(使用netMHCIIpan-3.2)。用户可以根据[Marta Luksza等人,Nature2017](https://www.nature.com/articles/nature24473)的描述,执行新抗原识别潜力分析。该项目已在BMC Bioinformatics上发表,用户可以使用[NeoPredViz](NeoPredViz.md)可视化预测结果。
* [lh3/bedtk](https://github.com/lh3/bedtk) bedtk是一个用于处理BED文件的简单工具集,它比bedtools更快、更节省内存,并提供一些便捷的功能,例如排序、合并和交集可以在一步完成。bedtk专注于性能,实现了交集、减法、排序、合并和覆盖范围计算等功能。它在速度和内存使用方面优于bedtools,并且提供了一些方便的功能,例如排序、合并和交集可以在一步完成,无需使用Unix管道。bedtk已发表在《生物信息学》杂志上,论文标题为“Bedtk: finding interval overlap with implicit interval tree”。
* [nilearn/nilearn](https://github.com/nilearn/nilearn) Nilearn是一个 Python 库,用于对脑部影像进行机器学习分析。它提供统计和机器学习工具,并拥有易于理解的文档和友好的社区。Nilearn 支持基于一般线性模型 (GLM) 的分析,并利用 scikit-learn 工具箱进行多元统计,可用于预测建模、分类、解码或连接性分析。Nilearn 可通过 pip 安装,并提供开发版本供用户使用。Nilearn 团队定期举办线上问答活动,用户可以在 Jitsi Meet 平台上与开发人员交流。Nilearn 依赖于其他 Python 库,如 scikit-learn 和 numpy。
* [kexinhuang12345/clinicalBERT](https://github.com/kexinhuang12345/clinicalBERT) ClinicalBERT是一个用于临床笔记的上下文表示模型,该项目提供预训练和微调权重以及相关脚本。它使用 MIMIC-III 数据集进行训练,并可以用于预测住院再入院。该项目还提供了用于从头开始预训练 ClinicalBERT 和 Clinical XLNet 的详细步骤说明。用户可以使用ClinicalBERT 权重测试任何临床笔记,但建议从项目提供的检查点进行进一步微调。项目还提供了用于预测 30 天住院再入院的脚本,以及用于预处理临床笔记和将笔记与入院信息合并的脚本。
* [common-workflow-language/common-workflow-language](https://github.com/common-workflow-language/common-workflow-language) Common Workflow Language (CWL) 是一种用于描述分析工作流和工具的规范,它使工作流在各种软件和硬件环境中(从工作站到集群、云和高性能计算 (HPC) 环境)可移植和可扩展。CWL 旨在满足数据密集型科学(如生物信息学、医学影像、天文学、物理学和化学)的需求。CWL 由一个由组织和个人组成的多供应商工作组开发,旨在使科学家能够共享数据分析工作流。CWL 基于 JSON-LD 等技术进行数据建模,并基于 Docker 等技术构建可移植运行时环境。
* [ewels/sra-explorer](https://github.com/ewels/sra-explorer) SRA-Explorer是一个小型网页应用,用于探索 NCBI 的序列读库(SRA)并轻松获取数据下载,可选择从 NCBI 下载 .sra 文件或通过 EBI ENA 下载 .fastq 文件。该工具无需任何后端设置,直接在浏览器中运行。它使用 Labrador 代码库进行 SRA API调用,并使用 Bootstrap 框架和 AngularJS 进行交互。除了网页版,你也可以下载 index.html 文件并在浏览器中打开。此外,还有一些更强大和稳定的命令行工具可供选择,例如 nf-core/fetchngs、pysradb 和 fetchfastq。
* [brentp/goleft](https://github.com/brentp/goleft) goleft是一个用 Go 语言编写的生物信息学工具集,以单个静态二进制文件形式发布,并采用 MIT 许可证。它包含多个工具,例如 covstats 用于估计覆盖率和插入大小统计信息,depth 用于并行调用 samtools,indexcov 用于快速覆盖率估计,indexsplit 用于生成跨队列的均匀数据区域,samplename 用于从 bam 文件的 SM 标签中报告样本名称。用户可以通过下载最新版本或使用 go 命令进行安装,并通过运行 `goleft` 命令查看子命令列表和帮助信息。
* [EBIvariation/vcf-validator](https://github.com/EBIvariation/vcf-validator) vcf-validator是一个使用C++11实现的变异调用格式(VCF)文件验证套件,它包含了vcftools套件中的所有检查,以及对VCF输入的额外词法、语法和语义分析。该工具可以识别并分类VCF文件中的错误和警告,并提供多种验证级别和报告格式,包括错误、警告、停止和摘要报告。用户可以通过命令行参数指定输入文件、验证级别、报告类型和输出目录。此外,该工具还包含一个vcf-assembly-checker,用于评估VCF文件相对于参考基因组的正确性。
* [mir-group/allegro](https://github.com/mir-group/allegro) Allegro是一个开源代码库,用于构建高度可扩展且准确的等变深度学习原子间势,它作为NequIP包的扩展包实现。Allegro模型通过`nequip-*`命令进行训练、评估和部署,与NequIP模型相同。用户可以通过`configs/example.yaml`文件训练更真实的模型。Allegro还提供LAMMPS插件`pair_allegro`,用于在LAMMPS模拟中使用Allegro模型,并支持Kokkos加速、MPI和并行模拟。该项目基于NequIP和e3nn框架,用户可通过GitHub Issues或Discussions提出问题或贡献代码。
* [brentp/vcfanno](https://github.com/brentp/vcfanno) vcfanno是一个用Go语言编写的工具,可以快速地将VCF文件与其他VCF、BED或tabixed文件进行注释。它使用简单的配置文件来指定源注释文件、字段以及如何将它们添加到查询VCF的INFO字段中。vcfanno支持自定义的Lua脚本,可以每秒注释超过8000个变异,并支持多种数据类型,包括VCF、BED和BAM。用户可以通过配置文件灵活地配置注释操作,例如使用“mean”、“max”、“sum”等操作对数值进行统计,或使用“self”操作保留原始值。
* [LieberInstitute/spatialLIBD](https://github.com/LieberInstitute/spatialLIBD) `spatialLIBD` 是一个开源项目,包含一个 Shiny 网页应用、一个 Bioconductor包和一篇研究论文。该项目提供了一个基于 10x Genomics Visium 平台的 LIBD 人类背外侧前额叶皮层 (DLPFC) 空间转录组学数据浏览器。用户可以通过网页应用浏览数据,也可以使用 Bioconductor 包下载数据并可视化自己的数据集。该项目还提供了一个本地版本的网页应用,允许用户使用自己的数据进行分析。研究论文详细介绍了该项目的数据集和分析结果。
* [brainiak/brainiak](https://github.com/brainiak/brainiak) Brain Imaging Analysis Kit(BrainIAK) 是一个用于神经科学的 Python 模块包,主要专注于功能性磁共振成像 (fMRI) 分析。它由英特尔和普林斯顿神经科学研究所 (PNI) 合作创建,提供各种工具用于 fMRI 数据处理、分析和可视化,例如功能对齐、空间模式识别和统计建模。用户可以通过 Conda 或 PyPI 安装 BrainIAK,并使用 Docker 容器进行测试。项目提供文档和示例,以及 Gitter 聊天室和 GitHub 问题追踪系统供用户交流和反馈。
* [CSSEGISandData/COVID-19](https://github.com/CSSEGISandData/COVID-19) CSSEGISandData提供的2019新型冠状病毒(COVID-19)病例数据,由约翰斯·霍普金斯大学卫生系统科学与工程中心(CSSE)维护。数据来源包括世界卫生组织、欧洲疾病预防控制中心等机构。该项目包含一个交互式可视化仪表板,可通过桌面和移动设备访问。数据可用于研究和监测,但请引用相关学术文章。该项目已停止全球疫情数据的收集和报告,建议使用世界卫生组织和美国疾病控制与预防中心等官方机构的数据。
* [coleygroup/pyscreener](https://github.com/coleygroup/pyscreener) pyscreener是一个使用 Python 进行高通量虚拟筛选的库和软件,它提供了一个 Python 接口,可以调用各种虚拟筛选软件,如 Vina、qvina2、smina、psovina 和 DOCK6。 pyscreener 支持 Docker 镜像构建,方便用户快速搭建环境,并提供了详细的安装指南和使用说明。 pyscreener 依赖于多个 Python 库,如 numpy、openbabel、openmm、pdbfixer、ray、rdkit、scikit-learn、scipy 和 tqdm,以及一些外部软件,如 Vina、qvina2、smina、psovina 和 DOCK6。
* [mir-group/nequip](https://github.com/mir-group/nequip) NequIP是一个开源代码库,用于构建E(3)等变的原子间势能模型。它使用PyTorch框架,并支持GPU加速。用户可以通过YAML配置文件定义模型超参数、训练选项和数据集,并使用`nequip-train`命令进行训练。NequIP提供了多种示例配置文件,包括一个最小化的玩具模型和一个更现实的模型。此外,NequIP还提供了Colab教程,方便用户快速上手。需要注意的是,NequIP目前处于beta版本,API和文件格式可能会有变化。
* [telatin/seqfu2](https://github.com/telatin/seqfu2) SeqFu是一个用于处理FASTA/FASTQ文件的通用程序,支持压缩文件,并提供多种功能,例如FASTQ文件互换、重命名序列、统计序列长度等。它可以通过Miniconda轻松安装,也可以从源代码编译。SeqFu已发表在Bioengineering期刊上,并提供完整的在线文档。fastq格式(格式缩写为fq)是一种存储生物序列和对应序列质量的文件格式。 现已成为存储高通量测序数据的事实标准,相当于fasta的plus(+quality)版。
* [ssadedin/bpipe](https://github.com/ssadedin/bpipe) Bpipe是一个用于运行和管理生物信息学流程的工具,它可以帮助用户轻松地创建、运行和管理复杂的生物信息学流程。Bpipe提供了依赖跟踪、任务管理、自动连接管道阶段、作业管理、并行处理、审计跟踪、与计算提供商集成以及深度集成选项等功能,可以有效地提高生物信息学流程的效率和可管理性。Bpipe 已经发表在 Bioinformatics 杂志上,并提供详细的文档和教程,方便用户学习和使用。
* [fhcrc/seqmagick](https://github.com/fhcrc/seqmagick) seqmagick是一个类似于 ImageMagick 的命令行工具,它使用 Biopython 库来方便地进行序列文件格式转换和操作。你可以使用它来转换序列文件格式(例如从 FASTA 转换为 PHYLIP)、去除序列中的间隙、反转序列、改变序列大小写、排序序列等。它还支持根据序列 ID、位置、质量得分、引物区域等条件对序列进行筛选和过滤。seqmagick 可以在 Python 3.5及以上版本中使用,并提供详细的文档和教程。
* [samtools/bcftools](https://github.com/samtools/bcftools) BCFtools是一个用于处理和分析高通量测序数据的工具集,包含文件格式转换、排序、查询、统计、变异调用和效应分析等功能。它包含了之前在 htslib 库中的所有 vcf* 命令(如 vcfcheck、vcfmerge、vcfisec 等)以及samtools 中 bcftools 子目录的 samtools BCF 调用。BCFtools 是一个开源项目,在 MIT 许可下发布,可免费用于商业和非商业用途。更多信息请参考官方文档:http://samtools.github.io/bcftools/。
* [samtools/htslib](https://github.com/samtools/htslib) HTSlib是一个用于访问高通量测序数据常用文件格式(如 SAM、CRAM 和 VCF)的统一 C 库,它是 samtools 和 bcftools 的核心库。它仅依赖于 zlib,并与 gcc、g++ 和 clang 兼容。HTSlib 实现了一个通用的 BAM 索引,扩展名为 `.csi`(坐标排序索引)。HTSlib 文件读取器首先查找新索引,如果不存在则查找旧索引。该项目还包括流行的 tabix索引器,它创建 `.tbi` 和 `.csi` 格式,以及 bgzip 压缩实用程序。
* [evrimagaci/periodum](https://github.com/evrimagaci/periodum) Periodum是一个交互式的开源元素周期表项目,最初由 Evrim Ağaç& Bionluk 开发的土耳其语版本,现已发展成为一个国际科学项目。项目提供多种语言版本,并欢迎开发者参与语言扩展。用户可以通过网站访问最新版本的周期表,并可通过提供的链接获取项目需求、路线图、设计文件和相关代码库。项目提供详细的安装步骤和命令,以及测试指南和贡献指南,方便开发者参与项目。
* [krishnanlab/pecanpy](https://github.com/krishnanlab/pecanpy) PecanPy是一个快速、并行化、内存高效且缓存优化的 Python 实现的 node2vec(+),用于学习大型图中节点的低维表示(嵌入)。它使用缓存优化的紧凑图数据结构和预计算/并行化来为各种规模和密度的生物网络生成快速、高质量的节点嵌入。PecanPy 提供三种模式:PreComp、SparseOTF 和 DenseOTF,分别针对不同规模和密度的网络进行优化。PecanPy 还支持 node2vec+,它可以更有效地处理加权图。
* [pezmaster31/bamtools](https://github.com/pezmaster31/bamtools) BamTools是一个C++库和命令行工具集,用于处理BAM格式的生物数据文件。它提供了一个编程接口和一个用户友好的工具集,方便用户对BAM文件进行操作。项目提供安装步骤、教程、API文档等信息,并鼓励用户加入邮件列表以获取更新信息或参与贡献。BamTools遵循MIT许可协议,并感谢Aaron Quinlan、Baptiste Lepilleur和Heng Li等对项目的贡献。用户可以通过邮件联系项目作者Derek Barnett。
* [CellProfiler/CellProfiler](https://github.com/CellProfiler/CellProfiler) CellProfiler是一个免费开源的生物图像分析软件,旨在帮助没有计算机视觉或编程经验的生物学家自动定量分析成千上万张图像中的表型。该软件提供稳定版、夜间版和测试版,用户可根据自身需求选择合适的版本。用户可以通过CellProfiler网站下载稳定版,而贡献者或模块维护者则需要从源代码编译软件。CellProfiler的更多信息可以在其GitHub Wiki页面找到。
* [nipy/nibabel](https://github.com/nipy/nibabel) NiBabel是一个 Python 包,用于访问各种神经影像文件格式,包括 ANALYZE、GIFTI、NIfTI1、NIfTI2、CIFTI-2、MINC1、MINC2、AFNI BRIK/HEAD、ECAT、Philips PAR/REC、FreeSurfer 的 MGH、几何、注释和形态测量文件,以及部分 DICOM 支持。NiBabel 的 API 提供对头信息(元数据)的完全或选择性访问,并通过 NumPy数组提供图像数据。更多信息请访问 NiBabel 的文档网站和 API 参考。
* [bioconda/bioconda-recipes](https://github.com/bioconda/bioconda-recipes) Bioconda是一个 Conda 软件包管理平台的生物信息学分支,它为Linux 和 macOS 提供生物信息学相关软件包,支持 x86_64和 aarch64/arm64 架构。该项目包含了这些软件包的 Conda recipes,用户可以通过 Bioconda 网站获取更多信息,开发者可以通过网站上的开发者指南了解如何贡献。该项目还提供 nightly build 状态,以确保所有 recipes 都能成功上传到 Bioconda 频道。
* [oxpig/AbLang](https://github.com/oxpig/AbLang) 抗体的语言模型。动机:一般蛋白质语言模型已被证明可以将蛋白质序列的语义总结为对最先进的预测方法有用的表示。然而,对于抗体特异性问题,例如恢复由于测序错误而丢失的残基,仅根据抗体训练的模型可能更强大。抗体是为数不多的可以获得此类语言模型所需序列数据的蛋白质类型之一,例如在观察到的抗体空间(OAS)数据库中。
* [MIC-DKFZ/Skeleton-Recall](https://github.com/MIC-DKFZ/Skeleton-Recall) 用于薄管状结构的连接保护和资源高效分割的骨架召回损失,准确分割细管状结构,如血管、神经、道路或裂缝,是计算机视觉中的一项关键任务。传统的基于深度学习的分割方法通常很难保持这些结构的连接性。本文介绍了Skeleton Recall Loss ,这是一种新颖的损失函数,旨在增强薄管状结构分割中的连通性守恒,而不会产生大量的计算开销。
* [lindenb/jvarkit](https://github.com/lindenb/jvarkit) JVARKIT是一个用Java编写的生物信息学工具集,提供了丰富的工具用于处理生物数据。该项目提供了预编译的jar包,用户可以通过conda或docker容器获取。从2023年起,大多数工具被整合到一个名为`jvarkit.jar`的应用程序中,用户可以通过`java -jar jvarkit.jar toolname`的方式运行工具。项目文档可在[https://jvarkit.readthedocs.io/](https://jvarkit.readthedocs.io/)获取。
* [broadinstitute/cromwell](https://github.com/broadinstitute/cromwell) Cromwell是一个开源的生物信息学工作流管理系统,旨在提供简单易用且可扩展的解决方案。它支持WDL工作流语言,并能够轻松地从单次使用场景过渡到大型生产环境。Cromwell提供多种后端,包括Google Cloud和Microsoft Azure,并拥有一个活跃的社区,为用户提供支持和扩展功能。用户可以在Terra平台上使用Cromwell,也可以自行安装和维护Cromwell实例。
* [CamDavidsonPilon/lifelines](https://github.com/CamDavidsonPilon/lifelines) Lifelines是一个纯 Python 库,用于生存分析。它可以帮助研究人员分析事件发生的时间,例如死亡、疾病缓解或客户流失。Lifelines提供了各种生存分析模型和工具,包括 Kaplan-Meier 估计器、Cox 回归模型和 Weibull 模型。该库还提供了可视化工具,用于可视化生存数据和模型结果。Lifelines 适用于各种领域,例如医疗保健、金融和市场营销。
* [brentp/somalier](https://github.com/brentp/somalier) somalier是一个用于从BAM/CRAM/BCF/VCF/GVCF文件提取信息位点、评估样本相关性和执行质量控制的工具。它可以快速识别样本交换和相关性,并提供交互式HTML输出。somalier可以从比对文件或联合调用VCF文件中提取信息位点,并使用这些信息计算样本之间的相关性。此外,somalier还可以推断一级亲属关系(父母-子女),并构建完整的家谱。
* [OHIF/Viewers](https://github.com/OHIF/Viewers) OHIFViewers 是由 Open Health Imaging Foundation (OHIF) 提供的零占用空间医疗影像查看器,它是一个可配置且可扩展的渐进式Web 应用程序,开箱即用地支持支持 DICOMweb 的图像档案。它提供测量跟踪、标签图分割、融合和自定义挂起协议、体积渲染、PDF 和 RT STRUCT 等功能。您可以在 GitHub 页面上找到演示链接,并通过文档了解详细信息。
* [danielecook/Awesome-Bioinformatics](https://github.com/danielecook/Awesome-Bioinformatics) Awesome-Bioinformatics 是一个精心整理的生物信息学软件、资源和库列表,主要包含命令行工具,并且大部分是免费或开源的。该项目涵盖了数据下载、压缩、处理、下一代测序、可视化、数据库访问等多个方面,并提供了一些成为生物信息学家的资源,例如在线学习平台、GitHub 上的生物信息学项目、相关博客和 YouTube 频道等。
* [nipy/nipype](https://github.com/nipy/nipype) Nipype是一个开源的 Python 项目,旨在为神经影像软件提供统一接口,并方便不同软件包之间进行交互。它允许用户轻松地组合来自不同软件包的处理步骤,并通过并行计算加速数据处理。Nipype 还支持用户开发新的工作流程并与社区共享,从而提高研究的可重复性和协作性。Nipype 支持 Python 3,并提供丰富的文档和社区支持。
* [greenelab/deep-review](https://github.com/greenelab/deep-review) Deep Review是一个关于深度学习在精准医疗中的应用的综述文章,它在GitHub上进行协作编写,并使用Manubot工具。该项目采用开放式贡献模式,欢迎任何人的贡献。该项目目前正在规划Deep Review 2.0版本,并计划在bioRxiv或其他预印本服务上发布预印本,以及在同行评审的期刊上发表最终版本。新贡献者将被列为2.0版本的作者。
* [bebop/poly](https://github.com/bebop/poly) Poly是一个用 Go 语言编写的生物工程工具包,旨在提供快速、现代、可重复和全面的合成生物学工具。它包含从通用密码子优化和引物设计到环状序列哈希等功能,旨在解决其他库和工具无法解决的问题。Poly 经过良好测试,可用于工业、学术和爱好者环境。它还提供教程、社区支持和贡献指南,鼓励用户参与项目发展。
* [HussainAther/awesome-alternative-splicing](https://github.com/HussainAther/awesome-alternative-splicing) 这是一个关于可变剪接的软件和信息资源库,包含了各种可变剪接类型、可变剪接分析软件和相关资源。该项目提供了一个关于可变剪接的全面概述,并列出了可用于分析可变剪接数据的各种软件工具,例如ALEXA-Seq、AltAnalyze、Cufflinks、DEXSeq、flotilla、GMAP和GSNAP等。此外,还提供了可变剪接类型和相关资源的链接。
* [biojs/biojs](https://github.com/biojs/biojs) BioJS是一个 JavaScript 库,用于表示生物数据。它提供了一套标准化工具和指南,避免在生命科学领域重复造轮子。BioJS 2.0 将每个组件都作为独立的 GitHub 仓库,用户可以在 BioJS 的注册中心搜索和下载所需组件。该项目的目标是促进生物信息可视化组件的开发和共享,并为生物数据分析提供一致的表示方式。
* [jdidion/biotools](https://github.com/jdidion/biotools) 这是一个生物信息学工具列表,包含从近期文献中收集的工具,按主题分类。该项目收集了大量生物信息学工具,涵盖临床数据、数据管理、数据集合、发现、基因组学、通用编程资源、统计/机器学习、可视化、出版/存档等多个领域,并提供了每个主题下的具体工具和资源链接,方便用户查找和使用。
* [lh3/seqtk](https://github.com/lh3/seqtk) Seqtk是一个快速轻量级的工具,用于处理 FASTA 或 FASTQ 格式的序列,支持压缩的 gzip 文件。它可以进行多种操作,包括格式转换、质量控制、序列提取、子采样、修剪等。例如,可以将 FASTQ 转换为 FASTA,提取特定序列,掩盖低质量碱基,子采样读取对,修剪低质量末端等。Seqtk 仅依赖 zlib 库,安装方便。
* [stephenturner/oneliners](https://github.com/stephenturner/oneliners) 该项目提供了一系列用于生物信息学的 Bash 一行命令,涵盖了基本awk 和 sed 操作、生物信息学相关操作、排序、查找、seqtk、GFF3 注解等内容,并包含一些通用的别名和资源链接。项目收集了来自多个博客和网站的实用命令,方便用户快速完成常见任务,例如提取特定字段、过滤数据、统计序列信息等。
* [rust-bio/rust-bio](https://github.com/rust-bio/rust-bio) Rust-Bio是一个用 Rust 语言编写的生物信息学库,提供经过严格测试的算法和数据结构,例如序列比对、基因组分析等。该库的 API 文档提供了详细的功能介绍和使用示例,并支持通过 DOI 引用特定版本。欢迎贡献代码、文档或 bug 报告,可以通过 GitHub提交 Pull Request 或在 Discord 服务器上与开发者交流。
* [shenwei356/seqkit](https://github.com/shenwei356/seqkit) SeqKit是一个跨平台的超快速FASTA/Q文件操作工具包,提供38个子命令,涵盖了序列文件处理的各种功能,例如提取、过滤、排序、统计、转换等。SeqKit支持多种文件格式(包括压缩文件),并提供易于使用的命令行界面和可重复的结果。用户可以通过下载预编译的可执行文件或使用conda安装SeqKit。
* [biocaml/biocaml](https://github.com/biocaml/biocaml) Biocaml是一个面向生物信息学的 OCaml 库,旨在提供高性能和易用性。该库包含丰富的 API,用户可以在官网上找到详细的文档。欢迎贡献者和用户反馈,任何意见和建议都可以在官网或邮件列表中提出。Biocaml 采用 LGPL + linking exception许可协议,具体信息请查看 LICENSE 文件。
* [Merck/BioPhi](https://github.com/Merck/BioPhi) BioPhi是一个开源的抗体设计平台,它提供自动抗体人源化(Sapiens)、人源性评估(OASis)以及计算机辅助抗体序列设计界面。BioPhi基于自然抗体库和深度学习,并提供一个公开的网页服务器(http://biophi.dichlab.org)。用户也可以在本地安装使用BioPhi,并通过Conda安装。
* [Emory-Melody/awesome-epidemic-modeling-papers](https://github.com/Emory-Melody/awesome-epidemic-modeling-papers) 这是一个专注于深度学习在流行病建模中的应用的资源库,它收集了最新论文并按任务进行分类。该项目还提供了一个名为EpiLearn的Python库,用于增强流行病建模和分析。它还包含一个关于图神经网络在流行病建模中的综述论文,并持续更新以跟踪最新进展。
* [allenai/scispacy](https://github.com/allenai/scispacys) 完整的 spaCy 管道和科学/生物医学文档模型。特别是,有一个自定义分词器,可以在 spaCy 基于规则的分词器之上添加分词规则,一个在生物医学数据和实体跨度检测模型上训练的 POS 标记器和句法解析器。另外,还有用于更具体任务的NER模型。
* [volkamerlab/kissim](https://github.com/volkamerlab/kissim) 提供了一种专为激酶口袋设计的新型指纹图谱策略,允许对结构覆盖的激酶组进行相似性研究。激酶指纹图谱基于 KLIFS 口袋比对,它定义了所有激酶结构的 85 个口袋残基。这样就可以逐个残基进行比较,而无需计算成本高昂的对齐步骤。
* [liulizhi1996/HPOFiller](https://github.com/liulizhi1996/HPOFiller) 基于图卷积网络(GCN)的方法,用于预测缺失的HPO注释。 人类表型本体(HPO)是描述人类疾病中遇到的表型异常的标准化词汇(疾病的术语)。探索人类蛋白质和异常表型之间的关系在疾病的预防、诊断和治疗中具有重要意义。
* [PathologyFoundation/plip](https://github.com/PathologyFoundation/plip) 病理学语言和图像预训练 (PLIP) 是 Pathology AI (Nature Medicine) 的第一个视觉和语言基础模型。PLIP 是一种大规模的预训练模型,可用于从病理图像和文本描述中提取视觉和语言特征。该模型是原始 CLIP 模型的微调版本。
* [BioDynaMo/biodynamo](https://github.com/BioDynaMo/biodynamo) 生物动力学建模器 可以通过该平台轻松创建、运行和可视化 3D 生物模拟。BioDynaMo 平台建立在最新的计算技术之上,将使用户能够执行以前无法实现的规模和复杂性的模拟,从而有可能解决具有挑战性的科学研究问题。
* [CBLUEbenchmark/CBLUE](https://github.com/CBLUEbenchmark/CBLUE) 中文医疗信息处理基准CBLUE 8个中文医疗语言理解任务。包括医学文本信息抽取(实体识别、关系抽取)、医学术语归一化、医学文本分类、医学句子关系判定和医学QA共5大类任务8个子任务。
* [CompbioLabUCF/omicsGAN](https://github.com/CompbioLabUCF/omicsGAN) omicsGAN 是一种基于生成对抗网络的框架,可以将两个 omiocs 数据与其交互网络相结合,以生成与每个组学特征相对应的合成数据,从而可以更好地预测表型。乳腺癌表型预测的样本数据集。
* [tianrun-chen/xLSTM-UNet-PyTorch](https://github.com/tianrun-chen/xLSTM-UNet-PyTorch) 用 xLSTM 取代 Mamba!它效果更好。我们证明 xLSTM-Unet 可以成为有效的语义分割主干。xLSTM-UNet 可以成为有效的 2D 和 3D 医学图像分割主干,其 Vision-LSTM (ViL) 优于 Mamba 对应产品。
* [d909b/drnet](https://github.com/d909b/drnet) 剂量反应网络 (DRNets) 是一种学习方法,用于学习使用神经网络从观察数据中估计多个参数治疗的个体剂量反应曲线。
* [HUANGLIZI/LViT](https://github.com/HUANGLIZI/LViT) [IEEE医学影像汇刊/TMI]此 repo 是“LViT:语言在医学图像分割中的视觉转换器”的官方实现
* [RyanWangZf/MedCLIP](https://github.com/RyanWangZf/MedCLIP) EMNLP'22 | MedCLIP:从不配对的医学图像和文本中进行对比学习。就像使用 CLIP 一样简单。
* [Tsedao/MultiRM](https://github.com/Tsedao/MultiRM) 基于注意力的多标签神经网络,用于对十二种广泛发生的 RNA 修饰进行综合预测和解释
* [OATML-Markslab/EVE](https://github.com/OATML-Markslab/EVE) 论文“使用进化数据和深度学习对遗传变异进行大规模临床解释”的官方存储库。
* [luost26/diffab](https://github.com/luost26/diffab) 使用基于扩散的蛋白质结构生成模型进行抗原特异性抗体设计和优化(NeurIPS 2022)
* [claudiashi57/dragonnet](https://github.com/claudiashi57/dragonnet) 适应神经网络以估计治疗效果 使用神经网络从观察数据中估计因果效应的方法。
* [jaswindersingh2/SPOT-RNA2](https://github.com/jaswindersingh2/SPOT-RNA2) 利用进化概况、突变耦合和二维迁移学习改进了RNA二级结构和三级碱基配对预测
* [XieResearchGroup/DeepREAL](https://github.com/XieResearchGroup/DeepREAL) 深度学习驱动的多尺度建模框架,用于预测配体结合的分布外受体活性
* [microsoft/InnerEye-DeepLearning](https://github.com/microsoft/InnerEye-DeepLearning) 用于在 Azure 机器学习上训练和部署 3D 分割模型的医学影像深度学习库
* [Graylab/IgFold](https://github.com/Graylab/IgFold) 通过深度学习对大量天然抗体进行快速、准确的抗体结构预测。
* [oxpig/dlab-public](https://github.com/oxpig/dlab-public) “DLAB——基于结构的抗体虚拟筛选的深度学习方法”论文代码
* [hybrid-kg/clep](https://github.com/hybrid-kg/clep) 用于生成由数据和先验知识驱动的新患者表示的 Python 包
* [ziyujia/Physiological-Signal-Classification-Papers](https://github.com/ziyujia/Physiological-Signal-Classification-Papers) 500余篇基于机器学习/深度学习的生理信号分类论文列表
* [ncbi-nlp/bluebert](https://github.com/ncbi-nlp/bluebert) BlueBERT,经过 PubMed 摘要和临床记录的预训练 (MIMIC-III)。
* [dmis-lab/biobert](https://github.com/dmis-lab/biobert) 用于生物医学文本挖掘的预训练生物医学语言表示模型
* [WLYLab/PepFormer](https://github.com/WLYLab/PepFormer) 基于Transformer的对比学习框架实现多肽可检测性预测
* [uci-cbcl/UFold](https://github.com/uci-cbcl/UFold) 利用深度学习进行快速准确的 RNA 二级结构预测
* [JieZheng-ShanghaiTech/KG4SL](https://github.com/JieZheng-ShanghaiTech/KG4SL) 用于人类癌症合成致死预测的知识图神经网络
* [haiyang1986/Subtype-GAN](https://github.com/haiyang1986/Subtype-GAN) 多组学数据综合癌症亚型的深度学习方法
* [kaist-amsg/Synthesizability-PU-CGCNN](https://github.com/kaist-amsg/Synthesizability-PU-CGCNN) 基于半监督学习的晶体结构的合成预测
* [ziyujia/Sleep-Stages-Classification-Papers](https://github.com/ziyujia/Sleep-Stages-Classification-Papers) 基于深度学习的睡眠阶段分类论文列表
* [ziyujia/Motor-Imagery-Papers](https://github.com/ziyujia/Motor-Imagery-Papers) 基于深度学习的运动想象分类论文列表
* [BojarLab/SweetNet](https://github.com/BojarLab/SweetNet) 图卷积神经网络分析复杂碳水化合物。
* [ziyujia/SalientSleepNet](https://github.com/ziyujia/SalientSleepNet) 用于睡眠分期的多模态凸波检测网络
* [alibaba-research/ChineseBLUE](https://github.com/alibaba-research/ChineseBLUE) 中国生物医学语言理解评估基准
* [lrsoenksen/CL_RNA_SynthBio](https://github.com/lrsoenksen/CL_RNA_SynthBio) RNA合成生物学的深度学习
* [Graylab/IgLM](https://github.com/Graylab/IgLM) 抗体设计的衍生语言建模
## 分子
* [Ligo-Biosciences/AlphaFold3](https://github.com/Ligo-Biosciences/AlphaFold3) 这是 Ligo 对 AlphaFold3 的开源实现,AlphaFold3 是一个正在进行的研究项目,旨在推进开源生物分子结构预测。此版本实现了完整的 AlphaFold3 模型以及训练代码。我们首先发布单链预测能力,一旦训练完成,我们将添加配体、多聚体和核酸预测能力。请在此处注册 Beta 测试。该存储库旨在加速实现 AlphaFold3 的忠实、完全开源实现,供整个生物技术社区免费使用。与 AlphaFold3 伪代码的差异:MSA 模块顺序:在补充信息中,MSA 模块通信步骤发生在 MSA 堆栈之前,这导致最后一个块的 MSA 堆栈对结构预测没有贡献,因为所有信息都通过对表示流出,根据伪代码中的顺序,最后一个块中的 MSA 堆栈没有机会更新对表示,我们交换 OuterProductMean 操作和 MSA 堆栈,以确保所有块都有助于结构预测,需要注意的是,此修正与 AlphaFold2 的 ExtraMSAStack 中的操作顺序一致, DeepMind 提到这些 MSA 模块块是“同质的”,目前尚不清楚这是否意味着跨块共享权重或相同的架构,如果层是共享的,那么梯度将流经所有层,但 MSA 堆栈的最终计算是空闲的 - 这可以安全地跳过(伪代码中未提及),我们将根据 DeepMind 的回应来解决这个歧义。损失缩放:补充信息中描述的损失缩放因子在初始化时不会给出单位损失,初始化时的单位损失是 Karras (2022)等人提出的特性之一, 在训练扩散模型时将其设置为损失函数的理想属性,Max Jaderberg 提到这是他们选择 Karras 等人的框架的原因之一,在此讲一下,我们认为这是补充信息中的一个简单的拼写错误,这是由于加法被输入为乘法——在我们的实现中,我们使用与 Karras (2022)等人一致的损失缩放因子,我们的测量表明,这会在初始化时产生单位 MSE 损失,而补充信息中的缩放比例在初始化时要大两到三个数量级,此外,本文中的损耗比例因子在 t = 16.0 处具有局部最小值,但随后随着噪声水平的增加而增加。这与 Karras 等人提出的损失函数的性质不相符,强调了在较高噪声水平下降低损失权重的重要性。DiT 块设计:AttentionPairBias 和 DiffusionTransformer 块的设计似乎紧密遵循 Peebles & Xie (2022) 在此介绍的 DiT 块设计,然而,剩余连接缺失,论文中没有解释为什么 DeepMind 选择省略它们,我们对两者进行了实验,发现(在我们训练模型的步骤范围内)具有残差连接的 DiT 块可以提供更快的收敛速度和更好的网络梯度流,请注意,这是我们最不确定的差异,如果原始实现不使用剩余连接,则可以在代码中的几行中更改它。
* [divelab/MoleculeX](https://github.com/divelab/MoleculeX) 用于分子探索的全新且快速发展的机器学习方法和软件工具。MoleculeX 的最终目标是实现各种基本和复杂的分子建模任务,例如分子性质预测、3D 几何建模等。目前,包括一套机器学习方法,用于基态 3D 分子几何预测和分子属性预测。具体来说,BasicProp包括基于图神经网络的基本监督学习方法,用于分子特性预测。BasicProp适用于有大量标记样本可用的任务,因此只需要监督学习。BasicProp已用于参与2021年OGB-LSC是获胜者之一。当只有少量标记样本可用时,AdvProp包括用于分子特性预测的机器学习方法,因此需要自我监督学习来实现理想的性能。此外,AdvProp能够处理来自不同类别的样本高度不平衡的任务。在这些情况下,我们采用先进的损失函数来优化曲线下的各个区域 (AUC)。AdvProp已被用于参与COVID-19 的 AI 治愈公开挑战赛排名第一。此外,Molecule3D提供了一套软件工具来处理我们提出的 Molecule3D 数据集,这是一种专门为基态 3D 分子几何预测而设计的新型数据集。它还包括几种几何预测的基线方法,以及使用预测的 3D 几何作为输入的量子特性预测方法。目前,MoleculeX 的 pip 包只包含 Molecule3D 模块的代码。我们将在未来逐步包含其他模块。
* [divelab/MoleculeX](https://github.com/divelab/MoleculeX) 用于分子探索的全新且快速发展的机器学习方法和软件工具。MoleculeX 的最终目标是实现各种基本和复杂的分子建模任务,例如分子性质预测、3D 几何建模等。目前,包括一套机器学习方法,用于基态 3D 分子几何预测和分子属性预测。具体来说,BasicProp包括基于图神经网络的基本监督学习方法,用于分子特性预测。BasicProp适用于有大量标记样本可用的任务,因此只需要监督学习。BasicProp已用于参与2021年OGB-LSC是获胜者之一。当只有少量标记样本可用时,AdvProp包括用于分子特性预测的机器学习方法,因此需要自我监督学习来实现理想的性能。此外,AdvProp能够处理来自不同类别的样本高度不平衡的任务。在这些情况下,我们采用先进的损失函数来优化曲线下的各个区域 (AUC)。AdvProp已被用于参与COVID-19 的 AI 治愈公开挑战赛排名第一。此外,Molecule3D提供了软件工具来处理我们提出的 数据集,这是一种专门为基态 3D 分子几何预测而设计的新型数据集。它还包括几种几何预测的基线方法,以及使用预测的 3D 几何作为输入的量子特性预测方法。目前,MoleculeX 的包只包含 Molecule3D 模块代码。
* [ccsb-scripps/AutoDock-Vina](https://github.com/ccsb-scripps/AutoDock-Vina) 速度最快、使用最广泛的开源分子对接引擎之一。基于简单的评分函数和快速梯度优化构象搜索。它最初由分子图形实验室的 Oleg Trott 博士设计和实现。在分子建模领域,对接docking是一种在配体和靶标相互结合形成稳定复合物时,预测一个分子对第二个分子的优选取向的方法。 反过来,优选方向的知识可用于预测两个分子之间的缔合强度或结合亲和力,例如使用评分函数。将小分子配体与蛋白质靶标对接产生稳定复合物。蛋白质、肽、核酸、碳水化合物和脂质等生物学相关分子之间的关联在信号转导中起着核心作用。此外,两个相互作用伙伴的相对方向可能会影响产生的信号类型(例如,激动与拮抗)。因此,对接对于预测产生的信号的强度和类型非常有用。分子对接是基于结构的药物设计中最常用的方法之一,因为它能够预测小分子配体与适当靶结合位点的结合构象。结合行为的表征在药物的合理设计以及阐明基本的生化过程中起着重要作用。
* [Acellera/htmd](https://github.com/Acellera/htmd) HTMD是一个基于Python的分子发现编程环境,旨在通过分子模拟解决数据生成和分析问题,提高可重复性。它提供了一个完整的模拟发现工作空间,并支持可编程扩展。HTMD社区版可免费用于非盈利工作,可在[https://software.acellera.com/htmd/installation.html](https://software.acellera.com/htmd/installation.html)下载。用户指南和API文档分别位于[https://software.acellera.com/htmd/tutorials.html](https://software.acellera.com/htmd/tutorials.html)和[https://software.acellera.com/htmd/api.html](https://software.acellera.com/htmd/api.html)。用户可以通过[https://github.org/acellera/htmd/issues](https://github.org/acellera/htmd/issues)报告问题,并欢迎社区贡献。如在出版物中使用HTMD,请引用文献:Stefan Doerr, Matthew J. Harvey, Frank Noé, and Gianni De Fabritiis. HTMD: High-throughput molecular dynamics for molecular discovery. Journal of Chemical Theory and Computation, 2016, 12(4), pp 1845–1852. doi:10.1021/acs.jctc.6b00049.
* [LiteGEM/kddcup2021-PCQM4M-LSC](https://github.com/PaddlePaddle/PaddleHelix/tree/dev/competition/kddcup2021-PCQM4M-LSC) LiteGEM:KDD Cup 2021 PCQM4M-LSC解决方案. PCQM4M-LSC是量子化学数据集,任务是预测给定分子的重要分子特性,即HOMO-LUMO间隙(图形回归)。即一个分子图的量子特性回归数据集,它包含了3,803,453个图。它基于PubChemQC项目的归纳式图回归数据集。它包含约400万以SMILES串描述的小分子。目的是加速量子化学计算,尤其是预测每个分子的HOMO-LUMO轨道距离。HOMO-LUMO距离是量子化学中最重要的属性之一,因为他和分子的反应性、光激励、电荷输送有关。每个分子的真实标签是通过昂贵的DFT计算得到,每个分子需要计算几个小时。在足够的训练数据支持下,类似GNN的基于分子图网络的机器学习模型,可以以很小代价得到近似DFT的结果。这些分子根据他们的PubChem ID按照8:1:1划分作为训练、验证、测试数据集。
* [jzhoulab/orca](https://github.com/jzhoulab/orca) Orca是一个基于深度学习的序列建模框架,用于预测从千碱基到全染色体尺度的多尺度基因组结构。Orca仅使用基因组序列作为输入,就能预测基因组相互作用。该项目提供了一个用于应用Orca模型或训练新模型的代码库,并提供了一个GPU支持的Web服务器,用于运行Orca的核心功能。用户可以使用Orca预测任何基因组变异的基因组结构影响,包括几乎任何大小的大的结构变异,并预测任何人类基因组序列的基因组3D结构,还可以通过执行虚拟遗传筛选来分析基因组3D结构的序列依赖性。Orca模型在高分辨率的micro-C数据集上进行训练,并提供预训练模型供用户使用。用户也可以使用提供的示例在Hi-C类型数据上训练自己的模型。
* [zjunlp/Mol-Instructions](https://github.com/zjunlp/Mol-Instructions) 用于大型语言模型的开放、大规模生物分子指令数据集。Mol-Instructions 包括 3 个主要成分:面向分子的指令:该组件深入研究了小分子的世界,强调了它们的固有特性和行为。它阐明了各种化学反应和分子设计的基本挑战,在六项任务中提供了 148,4K 条指令。面向蛋白质的指令:该组件植根于生物科学,在五类不同任务中提供 505K 条指令。这些任务旨在预测蛋白质的结构、功能和活性,并促进基于文本指令的蛋白质设计。生物分子文本指令:主要设计用于满足生物信息学和化学信息学领域的 NLP 任务,这部分封装了通过 53K 指令表示的六个信息提取和问答任务。
* [napoles-uach/stmol](https://github.com/napoles-uach/stmol) Stmol是一个 Streamlit 组件,使用 py3Dmol 渲染分子,旨在为研究人员提供一种用户友好的方式来可视化和渲染 3D分子结构。它可以轻松地将蛋白质和配体结构渲染到 Streamlit 网页应用程序中,仅需几行 Python 代码。Stmol使用 Py3Dmol 和 Speck 等可视化库,用户无需专业知识即可交互式导航,开发者可以轻松地将其集成到结构生物信息学和化学信息学管道中,为用户端研究人员提供一种简单的方式来推进生物学研究和药物发现工作。该项目提供了一些示例,例如使用 `showmol()` 函数可视化蛋白质结构,使用 `render_pdb_resn()` 函数标记蛋白质残基。
* [rampasek/GraphGPS](https://github.com/rampasek/GraphGPS) 通用、强大、可扩展的图形转换器的秘诀。如何构建图形转换器? 我们提供了一个由 3 部分组成的秘诀,介绍如何构建具有线性复杂度的图形转换器。 我们的 GPS 配方包括选择 3 种主要成分:位置/结构编码:LapPE、RWSE、SignNet、EquivStableLapPE,本地消息传递机制:GatedGCN、GINE、PNA,全局注意力机制:Transformer、Performer、BigBird。在ZINC 数据集上的图形回归任务目前SOTA。ZINC 是用于虚拟筛选的商用化合物的免费数据库。 ZINC 包含超过 2.3 亿种可购买的即用型 3D 格式化合物。 ZINC 还包含超过 7.5 亿种可购买的化合物,可用于搜索类似物。
* [lsj2408/Transformer-M](https://github.com/lsj2408/Transformer-M) Transformer-M是一个多功能的分子模型,可以将 2D 或 3D格式的分子数据作为输入,并生成有意义的语义表示。它基于标准 Transformer 架构,开发了两个独立的通道来编码 2D 和 3D 结构信息,并在网络模块中将它们与原子特征结合。当输入数据处于特定格式时,相应的通道将被激活,而另一个通道将被禁用。实验结果表明,Transformer-M可以在 2D 和 3D 任务上同时取得优异的性能,这是朝着化学领域通用分子模型迈出的第一步。该项目已在 PCQM4Mv2 数据集上取得了领先的性能,并被OGB 大规模挑战赛中所有前三名的队伍使用。
* [molecularsets/moses](https://github.com/molecularsets/moses) Molecular Sets (MOSES) 是一个用于评估分子生成模型的基准平台,它包含多个流行的分子生成模型,并提供了一套指标来评估生成分子的质量和多样性。MOSES 基于 ZINC 数据库构建了一个包含 1936962 个分子结构的基准数据集,并将其分为训练集、测试集和支架测试集。MOSES 提供了 CharRNN、VAE、AAE、JTN-VAE 和 LatentGAN 等模型,并使用唯一性、有效性、片段相似度、支架相似度、最近邻相似度、内部多样性、Frxc3xa9chet ChemNet 距离和新颖性等指标评估模型性能。MOSES 的目标是标准化分子生成研究,并促进新模型的共享和比较。
* [JuliaMolSim/Molly.jl](https://github.com/JuliaMolSim/Molly.jl) Molly.jl是一个用 Julia 编写的分子动力学 (MD) 模拟软件包,用于模拟从惰性气体到生物大分子等各种物理系统。它支持多种非键合和键合相互作用,包括 Lennard-Jones、库仑、谐波键、扭转角等。Molly.jl还提供多种积分器、恒温器、恒压器、边界条件、日志记录器、邻居列表算法和分析功能。此外,它还支持 GPU 加速、单位化、与其他 Julia 包(如 AtomsBase.jl、AtomsCalculators.jl、Unitful.jl 和 CellListMap.jl)的兼容性以及与 Python ASE 计算器的接口。Molly.jl 的独特功能是可微分分子模拟,这使其成为当前开发的重点。
* [jcchan23/CoMPT](https://github.com/jcchan23/CoMPT) 本文提出了Communicative Message Passing Transformer网络,一种通过在Transformer架构中融合消息传递机制并加强节点与边之间的消息交互来改进药物分子图的表征方法。此外,受热扩散现象的启发,该表征方法通过将消息传递机制转化为消息扩散机制减少了消息过度富集的影响。大量实验表明,本文提出的模型在七个化学性质数据集(图级任务)和两个化学位移数据集(节点级任务)上的性能优于基线模型的性能(平均性能提升约4%)。可视化研究也进一步表明该模型实现了更好的药物分子图表征能力。
* [mikolmogorov/Flye](https://github.com/mikolmogorov/Flye) Flye是一个专门针对单分子测序reads(如PacBio和Oxford NanoporeTechnologies产生的reads)的从头组装工具,适用于从小型细菌项目到大型哺乳动物规模的组装,提供完整的流程,从原始reads输入到最终的校正后的contigs输出,并支持宏基因组组装。Flye使用重复图作为核心数据结构,与需要精确k-mer匹配的de Bruijn图相比,重复图使用近似序列匹配构建,可以容忍SMS reads的较高噪声水平。Flye 2.9.5版本支持Python 3.12,并对ONT Guppy5+ reads和HiFi reads的组装进行了优化,还包含一些错误修复和性能改进。
* [CGATOxford/UMI-tools](https://github.com/CGATOxford/UMI-tools) UMI-tools是一个用于处理NGS数据集中唯一分子标识符(UMI)的工具集,它包含6个命令,包括提取UMI、构建细胞条码白名单、对PCR重复进行分组和去重、统计每个基因的唯一分子数等。UMI-tools利用网络方法来解决具有相同比对坐标的相似UMI,并提供多种UMI去重方案,其中推荐使用*directional*方法。此外,UMI-tools还推荐使用alevin工具进行单细胞RNA-Seq数据处理,alevin是一个快速、准确且方便的端到端工具,可以从fastq文件生成计数矩阵,并扩展UMI-tools中的UMI错误校正功能。
* [dptech-corp/Uni-Mol](https://github.com/dptech-corp/Uni-Mol) 通用的 3D 分子预训练框架,显着扩大了药物设计中的表示能力和应用范围。由两个模型组成:一个由 209M 分子 3D 构象训练的分子预训练模型; 由 3M 候选蛋白质口袋数据训练的口袋预训练模型。两种模型独立用于不同的任务,并在用于蛋白质-配体结合任务时结合使用。 Uni-Mol 在 14/15 分子特性预测任务中优于 SOTA。 此外,在3D空间任务中实现了卓越的性能,包括蛋白质-配体结合位姿预测(protein-ligand binding pose prediction)、分子构象生成(molecular conformation generation)等。
* [aamini/chemprop](https://github.com/aamini/chemprop) Chemprop是一个用于神经分子性质预测的快速且可扩展的库,它引入了证据深度学习方法,用于预测分子性质和指导虚拟筛选。该库基于消息传递神经网络,并结合了证据回归方法,能够输出每个预测值的置信度,从而提高模型的可靠性和可解释性。用户可以使用该库训练模型,并通过预测模块获得预测结果和置信度,还可以通过提供的脚本进行基准测试,比较不同方法的性能。该库还支持SchNet模型,并提供了示例代码和配置,方便用户进行实验和复现论文结果。
* [cdk/cdk](https://github.com/cdk/cdk) CDK是一个开源的 Java 库,用于化学信息学和生物信息学。它提供分子和反应的价键表示,支持多种文件格式的读写,包括 SMILES、SDF、InChI、Mol2、CML 等,并包含高效的分子处理算法,如环查找、Kekulisation、芳香性、坐标生成和渲染、规范标识符、子结构和 SMARTS 模式搜索、ECFP、Daylight、MACCS 等指纹方法用于相似性搜索,以及 QSAR 描述符计算。CDK 可以通过 Maven 安装,并提供预编译的 JAR 文件。Cinfony 项目通过 Jython 提供了对 CDK 的 Python 接口。
* [kaist-amsg/LocalRetro](https://github.com/kaist-amsg/LocalRetro) LocalRetro是一个用于有机分子逆合成预测的开源项目,由韩国科学技术院(KAIST)的Yousung Jung教授团队开发。该项目利用局部反应性和全局注意力机制,通过深度学习模型预测有机分子的合成路线。用户可以通过下载USPTO-50K或USPTO-MIT数据集,并进行数据预处理,训练LocalRetro模型,并使用训练好的模型对测试集进行预测,最终得到预测的反应物。该项目已发表在《美国化学会志》上,并提供详细的使用说明,方便用户进行模型训练和测试。
* [xjtu-omics/SVision](https://github.com/xjtu-omics/SVision) SVision是一个基于深度学习的结构变异检测工具,它利用单分子测序数据中的比对reads或contigs作为输入。SVision采用了一种针对性的多目标识别框架,从三通道相似性图像中检测和表征简单和复杂的结构变异。SVision支持MacOS、Ubuntu和CentOS等操作系统,用户可以通过conda或Docker进行安装。SVision提供了演示数据和支持脚本,用户可以参考相关文档进行使用。SVision的代码已开源,并提供商业版本。用户可通过联系项目作者获取更多信息。
* [gnina/libmolgrid](https://github.com/gnina/libmolgrid) libmolgrid是一个用于深度学习工作流程的快速、GPU 加速分子网格化库。它能够快速高效地将分子信息转换为网格数据,方便深度学习模型进行处理。该库基于 GPU 加速,并提供了 Python 接口,方便用户使用。libmolgrid 已经发表在《Journal of ChemicalInformation and Modeling》期刊上,并提供详细的文档和安装指南。用户可以通过 pip 或 conda 安装,也可以从源代码构建。项目还提供了示例代码,展示如何使用 libmolgrid 进行深度学习训练。
* [ur-whitelab/exmol](https://github.com/ur-whitelab/exmol) `exmol`是一个用于解释分子黑盒模型预测的 Python 包。它使用模型无关的解释方法来帮助用户理解为什么一个分子被预测具有某种性质。该包包含两种主要方法:反事实生成和描述符归因。反事实生成通过展示改变分子结构以改变预测结果所需的最小改变来解释预测。描述符归因通过计算与模型预测无关的分子结构性质的QSAR来解释预测。`exmol` 可以帮助用户理解黑盒模型的预测结果,并为其提供更深入的洞察。
* [MolecularAI/Chemformer](https://github.com/MolecularAI/Chemformer) Chemformer是一个基于BART Transformer的预训练语言模型,专门用于处理分子SMILES字符串。它通过优化去噪目标函数,在SMILES字符串上进行预训练,从而提高下游任务的泛化能力、性能、训练速度和有效性。该项目已在反应预测、逆合成预测、分子优化和分子性质预测等下游任务上进行了测试,并提供了预训练模型和数据集。用户可以通过提供的脚本进行微调,例如使用预训练模型进行逆合成预测或分子性质预测。
* [yangnianzu0515/MoleOOD](https://github.com/yangnianzu0515/MoleOOD) MoleOOD是 NeurIPS 2022 Spotlight 论文 "Learning Substructure Invariance for Out-of-Distribution Molecular Representations" 的官方实现,该项目旨在解决分子表示在分布外场景下的鲁棒性问题。它通过学习子结构不变性来增强分子表示的泛化能力,并在 OGB 和 DrugOOD等基准数据集上取得了显著的性能提升。项目提供代码、配置和预训练模型,方便用户在 OGB 数据集上训练和评估模型,并支持多种 GNN 架构,如 GCN、GIN 和 GraphSAGE。
* [scverse/squidpy](https://github.com/scverse/squidpy) Squidpy是一个用于分析和可视化空间分子数据的 Python 工具,它基于scanpy 和 anndata,继承了它们的模块化和可扩展性。Squidpy 利用数据的空间坐标以及可选的组织图像,提供分析工具。它可以构建和分析空间坐标的邻域图,计算细胞类型和基因的空间统计信息,高效地存储、分析和可视化大型组织图像,以及在 napari 中交互式地探索 anndata 和大型组织图像。Squidpy 是 scverse 项目的一部分,由 NumFOCUS 财政赞助。
* [coleygroup/molpal](https://github.com/coleygroup/molpal) MolPAL是一个用于加速高通量虚拟筛选的软件,通过分子池的主动学习方法,有效探索虚拟化学库。它利用机器学习模型预测分子活性,并根据预测结果选择最有希望的分子进行实验验证,从而加速药物发现过程。MolPAL支持多种机器学习模型,包括基于图神经网络的模型,并提供分布式训练和推理功能,可利用GPU加速计算。该项目包含用于重现论文结果的代码,并提供详细的文档和示例,方便用户使用。
* [chao1224/GraphMVP](https://github.com/chao1224/GraphMVP) GraphMVP是一个用于分子图表示预训练的项目,该项目在ICLR 2022上发表。它利用了分子结构的2D拓扑和3D几何信息进行预训练,并在下游任务中仅使用2D拓扑信息。该项目提供了多种图自监督学习(SSL)基线方法,包括生成式SSL、对比式SSL和预测式SSL。用户可以根据需要选择合适的基线方法进行实验。该项目还提供了详细的安装和数据预处理步骤,以及使用说明。未来,该项目将被整合到TorchDrug软件包中。
* [charnley/rmsd](https://github.com/charnley/rmsd) 该项目提供了一个 Python 工具,用于计算两个分子(以 xyz 或 pdb 格式存储)之间的均方根偏差 (RMSD)。它使用 Kabsch 算法或四元数算法进行旋转,以找到最小 RMSD。该工具可以忽略氢原子,并输出旋转后的结构以进行可视化比较。用户可以使用 `pip install rmsd` 安装该工具,并使用 `calculate_rmsd` 命令进行计算,例如 `calculate_rmsd tests/ethane.xyz tests/ethane_translate.xyz`。该项目还提供了详细的文档和使用示例。
* [ZhaoningYu1996/HM-GNN](https://github.com/ZhaoningYu1996/HM-GNN) 该项目是论文“基于异构基序图神经网络的分子表示学习”的官方PyTorch实现,该论文已被ICML 2022收录。项目使用异构基序图神经网络 (HM-GNN) 来学习分子表示,该模型通过构建包含不同类型节点和边的异构基序图来捕获分子结构信息。项目包含两个部分:第一部分是异构基序图的构建,第二部分是模型的训练和评估。用户可以通过运行提供的脚本构建HM-graph并进行模型训练和评估。
* [IBM/molformer](https://github.com/IBM/molformer) MolFormer是一个大型化学语言模型,旨在学习用SMILES字符串表示的小分子模型。它利用掩码语言建模,并结合旋转嵌入采用线性注意力Transformer。该模型在来自PubChem和Zinc的两个公共化学数据集的SMILES序列上进行自监督训练,并通过微调应用于不同的下游分子性质预测任务。MoLFormer采用高效的线性注意力机制和相对位置嵌入,以学习化学分子的有意义且压缩的表示。
* [xzenglab/KG-MTL](https://github.com/xzenglab/KG-MTL) 以协同的方式从知识图谱和分子图中提取特征。此外,我们设计了一个有效的共享单元,帮助模型在两个层次的图中共同保留药物实体的语义关系和化合物的相邻结构。在四个真实世界数据集上的广泛实验表明,我们提出的KG-MTL在两个具有代表性的分子相互作用预测任务上优于最先进的方法:药物-靶点相互作用(DTI)预测和化合物-蛋白质相互作用(CPI)预测。
* [biopython/biopython](https://github.com/biopython/biopython) Biopython是一个用于计算分子生物学和生物信息学的免费开源 Python 工具集,提供广泛的功能,例如解析各种生物学文件格式、处理序列数据、进行序列比对和分析等。用户可以通过 pip 命令轻松安装 Biopython,并使用其丰富的 API 进行各种生物信息学任务。Biopython拥有完善的文档和教程,并提供持续更新和维护,为生物信息学研究者提供强大的工具支持。
* [dewberryants/asciiMol](https://github.com/dewberryants/asciiMol) asciiMol是一个基于ncurses库的终端ASCII分子查看器,用Python编写。它可以打开默认的笛卡尔坐标.xyz文件,并提供正交视图、导航、缩放、旋转、自动旋转、键检测和显示等功能。它还支持简单的.xyz轨迹,并可以选择集成ASE和RDKit库以支持更多格式和SMILES。可以通过`pip install asciimol`安装,也可以使用`pip install asciimol[formats,smiles]`自动安装ASE和RDKit。
* [BioPandas/biopandas](https://github.com/BioPandas/biopandas) BioPandas是一个Python库,它允许你在pandas DataFrames中处理生物分子结构,例如PDB和MOL2文件。它将PDB文件中的信息转换为pandas DataFrames,方便你使用pandas强大的数据分析功能进行处理。例如,你可以轻松地提取原子信息、计算RMSD,以及对结构进行其他分析。BioPandas简化了生物分子结构数据处理流程,让你能够更方便地进行数据分析和可视化。
* [microsoft/Graphormer](https://github.com/microsoft/Graphormer) 图结构数据上的Transformer变种,应用于2D 分子化学结构图预测分子性质,还可以应用于主流图预测任务、社交网络的推荐和广告、知识图谱、自动驾驶的雷达点云数据、对交通物流运输等的时空预测和优化、程序理解和生成等等,还包括分子性质预测所涉及的行业,比如药物发掘、材料发现、分子动力学模拟、蛋白质结构预测等等。
* [lmmpf/PyAutoFEP](https://github.com/lmmpf/PyAutoFEP) PyAutoFEP:用于 GROMACS 的自动化 FEP 工作流程,集成了增强的采样方法.PyAutoFEP 是一种自动化自由能扰动 (FEP) 计算的工具,用于估计小分子与大分子目标的相对自由能结合 (RFEB)。它自动生成微扰图、构建配体对的双拓扑、设置 MD 系统和分析。与众不同的是,PyAutoFEP 支持多个力场,集成了增强的采样方法,并允许灵活的 λ 窗口方案。
* [DirectMolecularConfGen/DMCG](https://github.com/DirectMolecularConfGen/DMCG) DMCG是一个用于直接生成分子构象的开源项目,其代码已在TMLR2022中发布。该项目利用深度学习模型,通过对分子结构的学习,直接生成符合化学规则的分子构象。用户可以通过Docker或conda venv环境安装并运行该项目,并使用提供的GEOM-QM9和GEOM-Drugs数据集进行训练和推断。项目还提供了预训练模型和日志,方便用户复现实验结果。
* [ardigen/MAT](https://github.com/ardigen/MAT) MAT是分子注意力转换器(Molecule Attention Transformer)的官方实现,该项目提供MAT模型的代码、预训练权重和实验结果。MAT利用注意力机制来学习分子结构信息,并使用Transformer网络进行预测,在多个分子性质预测任务上取得了优异的性能。项目代码包含MAT模型的实现、示例代码和工具函数,预训练权重可用于快速进行模型部署。
* [zjunlp/MolGen](https://github.com/zjunlp/MolGen) MolGen是一个领域无关的分子生成模型,它利用化学反馈来生成高质量的分子。该模型在ICLR 2024上发表,并已在Hugging Face上开源。MolGen使用化学反馈机制来指导生成过程,并通过预训练和微调,在多个分子生成任务中取得了优异的性能。用户可以下载预训练模型和微调模型,并使用提供的代码进行分子生成实验。
* [torchmd/torchmd](https://github.com/torchmd/torchmd) 一个混合经典和机器学习势的分子模拟(molecular simulations)的框架。通过将MD(经典分子动力学)中的键合和非键合力术语扩展到任意复杂的DNN上,实现了机器学习势的快速成型和集成。TorchMD关键点:一,PyTorch编写,容易集成其他ML模型;二,提供执行端到端可微模拟能力,在参数上都是可微的。
* [CostaLab/scMEGA](https://github.com/CostaLab/scMEGA) scMEGA是一个用于构建单细胞多组学数据基因调控网络的R包,它利用增强子信息来推断基因调控关系。该包提供了详细的教程,涵盖了成纤维细胞分化、心肌细胞重塑以及使用10X多组学数据分析CD4 T细胞活化等应用场景。scMEGA已发表在Bioinformatics Advances期刊上,用户在使用该包时请引用相关文献。
* [project-gemmi/gemmi](https://github.com/project-gemmi/gemmi) GEMMI是一个用于处理生物大分子晶体学数据的C++11库,它可以帮助您处理各种数据格式,包括mmCIF、PDB、MTZ、MRC/CCP4等。GEMMI提供命令行工具、Python绑定、Fortran接口和WebAssembly端口,并附带文档和数据可视化项目。该项目由CCP4和Global Phasing Ltd.共同开发,并获得MPLv2或LGPLv3许可。
* [yuqianghan/editretro](https://github.com/yuqianghan/editretro) EditRetro:使用迭代字符串编辑模型进行逆合成预测。在这项工作中,我们提出了一种基于序列编辑的逆合成预测方法,称为EditRetro,它将单步逆合成表述为分子字符串编辑任务。 EditRetro 通过从目标产品字符串开始执行显式 Levenshtein 序列编辑操作来提供可解释的预测过程。
* [ehoogeboom/e3_diffusion_for_molecules](https://github.com/ehoogeboom/e3_diffusion_for_molecules) 该项目名为EDM,是一个基于E(3)等变扩散模型的3D分子生成模型。它利用等变神经网络(EGNN)来生成符合物理定律的分子结构。项目提供了训练和评估模型的代码,并支持条件生成,例如根据分子性质(如电负性)生成分子。项目还包含用于分析和可视化生成分子的工具。
* [teslacool/UnifiedMolPretrain](https://github.com/teslacool/UnifiedMolPretrain) UnifiedMolPretrain 项目是一个用于分子表示的统一 2D 和 3D预训练模型,该项目在 KDD2022 上发表。它使用 PCQM4Mv2 数据集(包含 338 万条数据)进行预训练,并提供预训练和微调的代码示例。该模型支持使用 PyTorch 和 Torch-Geometric,并提供 Dockerfile 用于构建 Docker 镜像。
* [BradyAJohnston/MolecularNodes](https://github.com/BradyAJohnston/MolecularNodes) MolecularNodes是一个 Blender 插件,利用几何节点技术,为分子动画提供工具。它可以快速导入和可视化结构生物学数据,支持从静态晶体结构创建动画,自定义蛋白质和分子样式,导入和回放来自多种来源的分子动力学轨迹,甚至导入电子显微镜密度图。
* [schrodinger/pymol-open-source](https://github.com/schrodinger/pymol-open-source) PyMOL开源项目是用户赞助的 PyMOL 分子可视化系统的开源基础,提供分子可视化功能。商业版 PyMOL(Incentive PyMOL)提供维护和支持,可从 pymol.org 获取。该项目采用 BSD 许可证,可从 INSTALL 文件了解安装信息,从 DEVELOPERS 文件了解贡献指南。
* [devalab/molgpt](https://github.com/devalab/molgpt) 使用下一个令牌预测任务在 Moses 和 Guacamol 数据集上训练小型自定义 GPT。然后将该模型用于无条件和有条件的分子生成。我们将我们的模型与之前在 Moses 和 Guacamol 数据集上的方法进行比较。使用Ecco库获得显着性图的可解释性。
* [marcopodda/fragment-based-dgm](https://github.com/marcopodda/fragment-based-dgm) 基于片段的分子深度生成模型.作者在ZINC数据集上进行了实验,该数据由250K类药物化合物组成。为了进一步评估LFM的影响,作者还使用了Pub Chem Bio Assay(PCBA)数据集测试了模型变体,该数据集包括约440k小分子。
* [chemprop/chemprop](https://github.com/chemprop/chemprop) Chemprop 是一个存储库,包含用于分子性质预测的消息传递神经网络。基于 PyTorch 的框架,用于训练和评估消息传递神经网络 (MPNN) 以进行分子特性预测。例如:预测新分子的溶解度、生成分子指纹图等等。
* [lucidrains/egnn-pytorch](https://github.com/lucidrains/egnn-pytorch) E(n)-等变图网络, 可能最终用于Alphafold2 复制。 适用于简单的不变特征,最终在准确性和性能上击败了所有以前的方法(包括 SE3 Transformer 和 Lie Conv)。 动力系统模型、分子活动预测任务等中的 SOTA。
* [anny0316/Drug3D-Net](https://github.com/anny0316/Drug3D-Net) 提出了一种新的基于分子空间几何结构的深度神经网络结构Drug3D-Net,用于预测分子性质。它是基于网格的三维卷积神经网络,具有时空门注意模块,可以提取卷积过程中分子预测任务的几何特征。
* [microsoft/FS-Mol](https://github.com/microsoft/FS-Mol) FS-Mol 是一个 Few-Shot 分子学习数据集,包含具有针对各种蛋白质靶标的活性测量值的分子化合物。该数据集提供了一个模型评估基准,旨在推动分子和图形结构数据领域的小样本学习研究。
* [nyu-dl/dl4chem-mgm](https://github.com/nyu-dl/dl4chem-mgm) 用于[Masked 图建模分子生成](https://translate.google.com/website?sl=en&tl=zh-CN&hl=zh-CN&client=webapp&u=https://www.nature.com/articles/s41467-021-23415-2)中进行实验的模型、数据和脚本。
* [whitead/dmol-book](https://github.com/whitead/dmol-book) 这是一个关于分子和材料深度学习的书籍项目,可在线访问 [dmol.pub](https://dmol.pub),该项目使用 Jupyter Book 构建,并提供本地构建和开发指南,支持 pre-commit 工具。
* [DeepGraphLearning/GraphAF](https://github.com/DeepGraphLearning/GraphAF) 基于Flow的自回归模型,以生成真实多样的分子图。由于标准化Flow的灵活性,GraphAF能够模拟复杂的分子分布,并在实验中生成新的和100%有效的分子。
* [IBM/QMO](https://github.com/IBM/QMO) 基于查询的分子优化。利用来自分子自动编码器的潜在嵌入。在一组分子特性预测和评估指标的指导下,基于有效查询改进输入分子的所需特性
* [gasteigerjo/dimenet](https://github.com/gasteigerjo/dimenet) DimeNet 和 DimeNet++ 模型,如“分子图的定向消息传递”(ICLR 2020)和“非平衡分子的快速和不确定性感知定向消息传递”(NeurIPS-W 2020)中提出
* [Saoge123/ccgnet](https://github.com/Saoge123/ccgnet) Co-Crystal Graph Network是二元有机共晶虚拟筛选的深度学习框架,将先验知识融入分子图的特征学习中,实现共晶筛选性能的极大提升。
* [deepmind/ogb_lsc/pcq](https://github.com/deepmind/deepmind-research/tree/master/ogb_lsc/pcq) DeepMind 进入OGB大规模挑战赛(OGB-LSC) 的PCQM4M-LSC(量子化学)轨道的条目 。通过汇集 20 个模型(10 倍 x 2 个种子)的集合来实现的。
* [lol88/Mol2Context-vec](https://github.com/lol88/Mol2Context-vec) 提供了一种深入的上下文感知分子表示,以推动药物发现的边界。它可以整合不同层次的内部状态,带来丰富的分子结构信息。
* [wenhao-gao/mol_opt](https://github.com/wenhao-gao/mol_opt) 实用分子优化 (PMO) 的开源基准,以促进对分子优化算法进展的透明和可重复评估。支持 23 种任务的 25 种分子设计算法。
* [THUDM/GraphMAE](https://github.com/THUDM/GraphMAE) 生成式自监督图学习方法,在节点分类、图分类和分子特性预测等任务上与现有对比方法相比具有竞争力或更好的性能。
* [HIPS/neural-fingerprint](https://github.com/HIPS/neural-fingerprint) 图卷积网络用于学习分子指纹。使用神经网络在数据样本中归纳总结,然后来预测新型分子的属性或者性质。
* [shenwanxiang/bidd-molmap](https://github.com/shenwanxiang/bidd-molmap) MolMapNet 可预测药物特性,通过广泛学习的基于知识的分子表示对药物特性进行开箱即用的深度学习预测
* [thomas0809/MolScribe](https://github.com/thomas0809/MolScribe) 通过图像到图生成实现稳健的分子结构识别。一种图像到图形模型,可将分子图像转换为其化学结构。
* [hannesstark/3dinfomax](https://github.com/hannesstark/3dinfomax) 通过使用分子的 3D 几何来预训练 GNN,使自我监督学习对分子起作用。在 DGL 和 Pytorch Geometric 中实现。
* [smiles724/Molformer](https://github.com/smiles724/Molformer) Molformer(以前称为 3D-Transformer)的存储库,它在许多分子表示学习问题中实现了最先进的技术。
* [tencent-ailab/grover](https://github.com/tencent-ailab/grover) 大规模分子数据上的自监督图转换器。支持预训练、微调、预测、指纹生成和评估功能。
* [grogdrinker/pyuul](https://bitbucket.org/grogdrinker/pyuul/src/master/) 旨在处理大分子的 3D 结构,例如 PDB,将它们转换为完全可微分的数据结构。
* [yvquanli/trimnet](https://github.com/yvquanli/trimnet) 论文代码“TrimNet:从生物医学的三元组消息中学习分子表示”
* [illidanlab/MoCL-DK](https://github.com/illidanlab/MoCL-DK) 论文 MoCL 的实现:具有多层次领域知识的分子图对比学习
* [zhang-xuan1314/Molecular-graph-BERT](https://github.com/zhang-xuan1314/Molecular-graph-BERT) 面向药物分子性质预测的大规模原子表征预训练模型
* [ChenDdon/AGBTcode](https://github.com/ChenDdon/AGBTcode) 代数图辅助双向变换器用于分子特性预测”的实现
* [GraphPKU/3DLinker](https://github.com/GraphPKU/3DLinker) 用于分子链接器设计的 E (3) 等变变分自动编码器
* [binghong-ml/retro_star](https://github.com/binghong-ml/retro_star) 自提升策略规划真实且可执行的分子逆合成路线
* [zetayue/MXMNet](https://github.com/zetayue/MXMNet) 具有分子结构多重图的分子力学驱动图神经网络
* [OptiMaL-PSE-Lab/DeepDock](https://github.com/OptiMaL-PSE-Lab/DeepDock) 预测生物活性分子结合构象的几何深度学习方法
* [MinkaiXu/GeoDiff](https://github.com/MinkaiXu/GeoDiff) 用于分子构象生成的几何扩散模型 (ICLR 2022)。
* [deepmodeling/deepmd-kit](https://github.com/deepmodeling/deepmd-kit) 用于多体势能表示和分子动力学的深度学习包
* [hongliangduan/Self-supervised-molecular-pretraining-strategy-for-low-resource-reaction-prediction-scenarios](https://github.com/hongliangduan/Self-supervised-molecular-pretraining-strategy-for-low-resource-reaction-prediction-scenarios) 低资源反应预测场景的自监督分子预训练策略
* [Lattice-Automation/seqviz](https://github.com/Lattice-Automation/seqviz) SeqViz是一款 DNA、RNA 和蛋白质序列查看器。
* [MinkaiXu/ConfVAE-ICML21](https://github.com/MinkaiXu/ConfVAE-ICML21) 基于双层规划的端到端分子构象生成框架
* [PattanaikL/GeoMol](https://github.com/PattanaikL/GeoMol) 直接从分子图生成 3D 构象集合的方法
* [futianfan/CORE](https://github.com/futianfan/CORE) 利用复制和改进策略自动优化分子
* [zhichunguo/Meta-MGNN](https://github.com/zhichunguo/Meta-MGNN) 用于分子性质预测的小样本图学习
* [ZJU-Fangyin/KCL](https://github.com/ZJU-Fangyin/KCL) 化学元素知识图谱的分子对比学习
* [binghong-ml/MolEvol](https://github.com/binghong-ml/MolEvol) 通过可解释进化进行分子优化
* [mohimanilab/molDiscovery](https://github.com/mohimanilab/molDiscovery) 使用质谱数据预测分子的身份
* [MolecularAI/GraphINVENT](https://github.com/MolecularAI/GraphINVENT) 基于GNN的分子生成平台
* [microsoft/BioGPT](https://github.com/microsoft/BioGPT) 用于生物医学文本生成和挖掘的生成预训练转换器的实现。提供预先训练的 BioGPT 模型检查点以及用于下游任务的微调检查点:用于PubMedQA(从PubMed摘要中收集的新颖的生物医学问答(QA)数据集。)上的问答任务、用于BC5CDR(人工标注的文档级关系抽取数据集,由1,500篇PubMed文档构成是生物医学特定领域,且仅考虑“化学诱导的疾病”关系)关系提取、用于DDI(药物间的相互作用)关系提取任务、用于KD-DTI(built *upon* *Drug*- *Bank* (*Wishart* *et* *al*. 2017) *and* *Therapeutic* *Target* *Database* (*briefly*, *TTD*) (*Wang* *et* *al*. 2020). DTI预测药物-靶点相互作用)关系提取任务、HoC 上的文档分类任务。
* [bjodah/chempy](https://github.com/bjodah/chempy) ChemPy是一个用 Python 编写的化学工具包,主要用于物理化学、无机化学和分析化学。它包含数值积分例程(用于化学动力学 ODE 求解器前端)、积分速率表达式(以及方便的拟合例程)、平衡求解器(包括多相系统)和物理化学关系(例如德拜-休克尔表达式、阿伦尼乌斯和艾林方程、爱因斯坦-斯莫卢霍夫斯基方程)。此外,它还提供了一些纯 Python 实现的性质,例如水的密度、介电常数、扩散系数和粘度,以及硫酸的密度等。ChemPy 可以通过 conda 或 pip 安装,并提供了一些可选依赖项,例如用于求解非线性方程组和常微分方程的 SciPy。
* [OpenChemistry/avogadrolibs](https://github.com/OpenChemistry/avogadrolibs) Avogadro libraries是一个开源项目,提供用于计算化学、分子建模、生物信息学、材料科学等领域的 3D 渲染、可视化、分析和数据处理功能。它是一个跨平台的项目,支持 Linux、Mac OS X 和 Windows 系统,并提供直观的界面和强大的插件架构。Avogadro2 是 Avogadro 项目的全新版本,采用现代代码开发方式,并提供高性能渲染引擎,显著提升了速度和稳定性。用户可以通过 GitHub actions 获取 nightly binaries,也可以根据提供的指南从源代码编译安装。项目欢迎各种形式的贡献,包括 bug 报告、功能建议、语言翻译、Python 插件和 C++ 代码开发。
* [chembl/chembl_webresource_client](https://github.com/chembl/chembl_webresource_client) ChEMBL webresource client 是 ChEMBL 官方提供的 Python 客户端库,方便用户从 Python中访问 ChEMBL 数据和化学信息学工具。它无需用户编写 SQL代码、与 REST API 交互或安装化学信息学框架,并支持结果缓存。该库通过 Django QuerySet 接口提供便捷的访问方式,并采用延迟评估机制,仅在需要时才执行请求,从而减少网络请求并提高性能。用户可以使用 `pip install chembl_webresource_client` 安装该库。此外,该库还提供了丰富的过滤器选项,支持多种查询方式,并允许用户通过 `Settings` 对象配置缓存、超时、并发等参数。
* [rdkit/rdkit](https://github.com/rdkit/rdkit) RDKit是一个用C++和Python编写的化学信息学和机器学习软件库,采用BSD开源协议,提供核心数据结构和算法,并支持Python、Java、C#、JavaScript等语言。RDKit提供2D和3D分子操作、机器学习的描述符和指纹生成、PostgreSQL分子数据库支持子结构和相似性搜索等功能,并包含社区贡献的扩展软件。用户可以通过conda安装RDKit,并参考官方文档和博客学习使用。用户可以通过GitHub讨论、邮件列表、GitHub issue等方式寻求帮助和交流。RDKit每年举办用户组会议,分享使用经验和最新进展。
* [CalebBell/thermo](https://github.com/CalebBell/thermo) Thermo是一个开源软件,用于帮助工程师、科学家、技术人员以及任何希望更深入地了解宇宙的人。它可以检索化学物质的常数,计算温度和压力相关的化学性质(包括热力学和传输性质),以及使用各种模型计算化学混合物的相同性质(包括相平衡)。Thermo 在所有支持 Python的操作系统上运行,安装快速,免费使用。Thermo 的设计易于使用,同时提供强大的功能。如果您需要了解有关化学物质或混合物的任何信息,请尝试使用 Thermo。
* [ReactionMechanismGenerator/RMG-Py](https://github.com/ReactionMechanismGenerator/RMG-Py) RMG-Py是一个自动生成化学反应机理的工具,用于模拟包括热解、燃烧、大气科学等反应体系。它包含 Arkane 包,用于从量子化学计算中计算热力学、高压极限速率系数和压力依赖速率系数。Arkane 支持多种量子化学软件,如 Gaussian、Q-Chem、Molpro、Orca、Psi4 和 TeraChem。用户可以从 GitHub 下载源代码并自行编译,也可以从 Anaconda 下载二进制文件。RMG-Py提供了详细的文档和 API 参考,并鼓励用户通过 GitHub 提交问题或加入聊天室进行反馈。
* [mcs07/PubChemPy](https://github.com/mcs07/PubChemPy) PubChemPy是一个 Python 库,它提供了一个与 PubChem 数据库交互的接口,可以使用 PubChem 的 REST API 进行化学搜索、化学标准化、化学文件格式转换、化学结构绘制和化学性质检索等操作。例如,可以使用 `get_compounds` 函数通过名称搜索化合物,并使用 `Compound` 类访问化合物的各种属性,如异构体 SMILES 和 xlogp 值。PubChemPy 可以通过 `pip install pubchempy` 命令安装,并提供完整的文档和代码仓库,欢迎用户提交功能建议和错误报告。
* [rxn4chemistry/rxnmapper](https://github.com/rxn4chemistry/rxnmapper) RXNMapper是一个无监督学习的原子映射工具,通过训练一个ALBERT模型,从大量化学反应数据中学习有机化学语法,从而实现对有效反应SMILES的原子映射。该项目提供了基于Python的API,可用于对化学反应进行原子映射,并提供置信度评分。用户可以使用`pip`或`git`安装,并通过`RXNMapper`或`BatchedMapper`类进行使用。该项目还提供了示例代码和测试用例,方便用户学习和使用。项目数据可从https://ibm.box.com/v/RXNMapperData获取。
* [epam/Indigo](https://github.com/epam/Indigo) EPAM Indigo是一个通用的化学信息学工具包,包含用于 .NET、Java、Python、R 和 WebAssembly 的绑定,以及一系列工具,例如 Bingo化学搜索引擎、Legio 组合化学 GUI 应用程序、ChemDiff 用于比较 SDF 或 SMILES 文件的工具、indigo-depict 用于绘制分子和反应的工具、indigo-cano 用于生成规范 SMILES 的工具以及 indigo-deco 用于 R 基团解卷积的工具。它提供详细的文档和下载链接,并支持多种平台的构建,包括 Windows、Linux 和 macOS。
* [datamol-io/datamol](https://github.com/datamol-io/datamol) Datamol是一个基于 RDKit 的 Python 库,旨在简化分子处理。它提供了一个简洁的 API,并以 RDKit 对象为基础,默认情况下提供合理的选项,并支持高效的并行化处理和进度条。Datamol 支持多种格式的读写操作,并提供在线试用环境和详细的文档。您可以使用 conda 安装 Datamol,并通过简单的 API 代码示例快速上手。RDKit 是一个由 C++和 Python 编写的化学信息学和机器学习软件集合。
* [nwchemgit/nwchem](https://github.com/nwchemgit/nwchem) NWChem是一个开源的高性能计算化学软件,由开发者联盟积极开发,并由美国能源部科学办公室用户设施环境分子科学实验室(EMSL)维护,该实验室位于华盛顿州太平洋西北国家实验室(PNNL)。 NWChem提供可扩展的计算化学工具,用户可以通过git clone命令获取源代码,并从GitHub页面下载发布文件。 该项目提供详细的文档,可从https://nwchemgit.github.io获取。
* [junxia97/awesome-pretrain-on-molecules](https://github.com/junxia97/awesome-pretrain-on-molecules) 这是一个关于化学预训练模型的资源列表,旨在帮助对该领域感兴趣的读者。该项目包含了大量论文、开源模型、预训练数据集等资源,并根据主题进行了分类,例如预训练策略、知识增强预训练策略、硬负样本挖掘策略、微调策略、应用等。该项目还包含了对化学预训练模型的系统性综述论文,并定期更新以保持最新。
* [chainer/chainer-chemistry](https://github.com/chainer/chainer-chemistry) Chainer Chemistry是一个基于 Chainer 的深度学习框架,用于生物学和化学领域,支持各种最先进的模型,特别是用于化学性质预测的图卷积神经网络(GCNN)。它依赖于 Chainer、pandas、scikit-learn、tqdm 和 h5py 等软件包,并需要手动安装 RDKit(release 2019.03.2.0)。可以通过 pip 命令安装 Chainer Chemistry,并参考文档了解更多信息。
* [deepmodeling/deepks-kit](https://github.com/deepmodeling/deepks-kit) DeePKS: A Comprehensive Data-Driven Approach toward Chemically Accurate Density Functional Theory 提出了构建准确且高效的密度泛函模型的通用机器学习框架,并且利用这一框架训练了具有化学精度的密度泛函模型,应用于电子结构性质的计算。
* [hsiaoyi0504/awesome-cheminformatics](https://github.com/hsiaoyi0504/awesome-cheminformatics) 化学信息学(也称为化学信息学、化学信息学和化学信息学)是使用计算机和信息技术应用于化学领域的一系列问题。一份精选的 Cheminformatics 软件、资源和库列表。主要基于命令行,并且是免费的或开源的。
* [openbabel/openbabel](https://github.com/openbabel/openbabel) Open Babel 是一个化学工具箱,旨在使用多种语言的化学数据。这是一个开放的协作项目,允许任何人搜索、转换、分析或存储来自分子建模、化学、固态材料、生物化学或相关领域的数据。
* [psi4/psi4](https://github.com/psi4/psi4) Psi4 是一套开源的 ab initio 量子化学程序,旨在高效、高精度地模拟分子特性。我们通常在多核机器上使用 >2500 基函数执行计算。
* [AI4Chem/ChemLLM-7B-Chat-1.5-DPO](https://huggingface.co/AI4Chem/ChemLLM-7B-Chat-1.5-DPO) 第一个用于化学和分子科学的开源大型语言模型,基于 InternLM-2 构建
* [awesome-python-chemistry](https://github.com/lmmentel/awesome-python-chemistry) 与化学相关的精彩 Python 框架、库、软件和资源的精选列表。
* [duerrsimon/bioicons](https://github.com/duerrsimon/bioicons) 一个免费的开源图标库,用于生物学和化学中的科学插图。
## 基因
* [waveygang/wfmash](https://github.com/waveygang/wfmash) `wfmash` 是一个基于稀疏同源映射和波前启动的泛基因组比对工具。它使用 MashMap 的变体来寻找大规模的序列同源性,然后通过 `wflign` 的分层波前比对算法使用 WFA 获得碱基级别的比对。`wfmash`旨在简化全基因组比对,在中等计算节点上,千兆碱基规模基因组的全基因组比对只需几分钟到几小时,具体取决于序列差异。它可以处理高序列差异,输入序列之间的平均核苷酸同一性低至 70%。`wfmash` 是 `pggb` (泛基因组图构建器)中的关键算法,它用于对输入基因组进行全对全比对,从而定义泛基因组图的基本结构。它可以扩展到支持数百个人类基因组的全对全比对。`wfmash` 将每个查询序列分解成由 `-s[N], --segment-length=[N]` 定义的非重叠片段,然后使用 MashMap 的映射算法对这些片段进行映射。与 MashMap 不同的是,`wfmash` 在大间隙上积极合并,找到距离 `-c[N], --chain-gap=[N]` 碱基对以内的最佳相邻片段。然后,每个映射位置都被用作 `wflign` 中波前启动算法的比对目标。生成的比对始终包含 `cg:Z:*` 标签中的扩展 CIGAR。可以使用 `-m, --approx-map` 获取近似映射。草图绘制、映射和比对都使用可配置的线程数并行运行。线程数必须手动设置,使用 `-t`,默认值为 1。`wfmash` 旨在加速变异图诱导中的比对步骤(`seqwish` / `smoothxg` 管道的第一步)。为此提供了合适的默认设置。七个参数决定了结果映射的长度、数量、同一性和比对差异。`-s[N], --segment-length=[N]` 是映射种子的长度(默认值:`1k`)。当两个连续的片段映射之间的距离小于 `-c[N], --chain-gap=[N]` 个碱基时,最佳的两个连续片段映射对将被合并。`-l[N], --block-length-min=[N]` 要求合并映射中的种子映射的总长度大于给定长度(默认值 5kb)。`-p[%], --map-pct-id=[%]` 是 _映射_ 步骤中的最小百分比同一性。`-n[N], --n-secondary=[N]` 是每个片段在 `--block-length-min` 以上报告的映射(和比对)的最大数量(短于片段长度的序列的映射数量由 `-S[N], --n-short-secondary=[N]` 定义,默认为 1)。默认情况下,我们通过将 WFA 的高阶版本应用于映射来获得碱基级别的比对。各种设置会影响成对比对的行为,但通常会根据映射子序列之间预期的差异来调整比对参数。指定 `-m, --approx-map` 允许我们在比对之前停止并获得近似映射(类似于没有 `-c` 的 `minimap2`)。
* [ExaScience/elprep](https://github.com/ExaScience/elprep) elPrep是一个用于分析测序管道中 .sam/.bam 文件的高性能工具,它可以执行包括变异调用在内的多种操作。elPrep 的主要优势在于它仅需单次遍历即可处理 .sam/.bam 文件,无论管道中需要执行多少个步骤,都能够显著提高运行效率。elPrep 作为一款内存型多线程应用程序,充分利用了现代服务器的处理能力,其软件架构基于函数式编程技术,可以轻松组合多个比对过滤器和优化,例如循环合并。为了实现这一点,elPrep 提出了一些新的算法,例如,针对重复标记,elPrep 设计了一种算法,使用记忆化技术和分层哈希表来实现高效的并行同步,将操作表示为单次遍历过滤器。针对碱基质量评分重新校准 (BQSR),elPrep 设计了一种并行范围缩减算法。针对变异调用,elPrep 设计了一种并行算法,尽可能地与管道中的其他阶段重叠执行。基准测试表明,elPrep 在执行 5 步变异调用最佳实践管道(排序、重复标记、碱基质量评分重新校准和应用以及变异调用)时,对于全外显子组数据,其速度比其他工具快 6-10 倍,对于全基因组数据,其速度快 8-20 倍。elPrep 的主要优势是能够在高端服务器上实现非常快的执行速度,例如通过云计算或自定义服务器设置。不建议在笔记本电脑、台式机或低端服务器上使用 elPrep。有关更多详细信息,请参阅下面的系统要求。elPrep 由 Imec 的 ExaScience Life Lab 开发。如有任何问题,请使用我们的邮件列表(如下)、我们的 GitHub 页面或通过 [email protected] 与我们联系。elPrep 5 采用双重许可方案发布和分发:1. 它作为开源项目发布,根据自由软件基金会发布的 GNU Affero 通用公共许可证版本 3 以及附加条款的条款进行发布。请参阅 LICENSE.txt 文件以获取 GNU Affero 公共许可证和附加条款的副本。
* [lh3/gfatools](https://github.com/lh3/gfatools) gfatools是一个用于操作 GFA 或 rGFA 格式的序列图的工具集,它实现了解析、子图提取和转换为 FASTA/BED 等功能。该项目提供了命令行工具,例如提取子图、将 GFA 转换为片段 FASTA 或将 rGFA 转换为稳定 FASTA 或 BED文件。GFA(Graphical Fragment Assembly)格式是一种用于表示序列图的标准格式,最初设计用于基因组组装图,但其应用范围已经扩展到包括变异图、对齐图等多种类型的序列图。GFA格式包括两种版本:GFA1和GFA2。GFA1主要用于表示组装图,而GFA2则进一步扩展了GFA1的功能,允许更详细或更简略地指定组装图,并引入了更多行类型以包含间隙,从而能够表示间隔序列。rGFA(Reference GFA)是基于GFA格式的一种改进版本,旨在解决基因组图中的坐标系统问题。rGFA格式为基因组图构建了中心线性参考,并为交替参考分配稳定名称和偏移坐标。这种格式不仅能够还原坐标和完成线性参考基因组注释的迁移,还可以有效地提供路径、路径来源以及与路径相关的坐标。rGFA格式在泛基因组研究中特别有用,因为它可以存储单倍型信息以及与线性参考基因组相关的节点染色体编号和坐标。此外,rGFA格式与jVCF(基因型图注释格式)互补,jVCF描述基因型图中站点和已测序变异,而rGFA则在构建基因组图时定义稳定参考。rGFA文件中的标签可以轻松添加定制信息以丰富内容,而不影响在其他工具中显示的图形。因此,rGFA格式在泛基因组图的可视化和分析中具有重要应用价值。
* [DaehwanKimLab/hisat2](https://github.com/DaehwanKimLab/hisat2) HISAT2是一个快速、敏感的比对工具,用于将二代测序数据(全基因组、转录组和外显子组测序数据)比对到人类基因组群体(以及单个参考基因组)。它基于图的FM索引(GFM),该索引是BWT在图上的扩展,并实现了首个GFM索引。HISAT2使用一个全局GFM索引来表示一般人群,并使用大量的小型GFM索引来覆盖整个基因组(每个索引代表56kb的基因组区域,覆盖人类基因组需要55,000个索引)。这些小型索引(称为局部索引)与多种比对策略相结合,可以有效地比对测序数据。这种新的索引方案称为分层图FM索引(HGFM)。HISAT2基于HISAT和Bowtie 2的实现。HISAT2需要一台运行Linux或Mac OS X的64位计算机,以及至少8GB的RAM。HISAT2的索引(HGFM)大小为6.2GB,包含人类参考基因组和1230万个常见SNP。HISAT2的内存占用相对较低,为6.7GB。HISAT2的运行时间估计比HISAT略慢(对于某些数据集,速度慢30%-100%)。HISAT2在比对包含SNP的reads方面具有更高的准确性。可以使用HISAT-3N来比对核苷酸转换测序reads,包括BS-seq、SLAM-seq、scBS-seq、scSLAM-seq、TAB-seq、oxBS-seq、TAPS和EM-seq。此比对过程需要大约10GB的RAM。HISAT2存储库与HISAT-genotype存储库分开。
* [RGLab/MAST](https://github.com/RGLab/MAST) MAST是一个R语言包,专门用于分析单细胞测序数据,它采用基于模型的方法,可以处理单细胞基因表达数据的双峰分布和零膨胀现象。MAST支持导入、子集化和操作表达矩阵,过滤低质量细胞,自适应阈值化背景噪声,进行单变量差异表达测试(可调整协变量),以及基因集富集分析(可调整协变量和基因间相关性)。MAST还提供基因间相关性和共表达的探索功能。用户可以通过`vignette('MAITAnalysis')`、`vignette('MAST-Intro')`或`vignette('MAST-interoperability')`访问MAST的示例和说明。MAST已移植到使用`SingleCellExperiment`,并已在Bioconductor中提供。最新版本还跟踪了测定内容(计数与对数计数),方便与Scater和SCRAN交互。用户可以通过Bioconductor支持网站或GitHub上的问题跟踪器获取帮助。用户可以使用`BiocManager::install("MAST")`安装或更新MAST。如果用户在研究中使用MAST,请引用相应的论文。对于使用MASTClassic版本的用户,可以使用`convertMastClassicToSingleCellAssay()`将数据从旧格式转换为新格式。
* [chhylp123/hifiasm](https://github.com/chhylp123/hifiasm) Hifiasm是一个快速、高精度、单倍型解析的从头组装工具,最初设计用于PacBio HiFi reads,最新版本支持利用超长Oxford Nanopore reads进行端粒到端粒的组装。Hifiasm结合HiFi、超长reads和Hi-C reads,可以生成高质量的单样本端粒到端粒组装结果,并且是使用亲本短reads进行三代组装的最佳单倍型解析组装工具之一。对于人类基因组,Hifiasm可以在一天内完成端粒到端粒组装。Hifiasm能够生成更长的拼接序列,并解决比其他组装工具更多的片段重复。Hifiasm可以利用Hi-C reads或亲本的短reads生成目前最优的单倍型解析组装结果,是人类泛基因组计划首批样本组装的首选工具。Hifiasm无需依赖第三方工具(如purge_dups)来清除单倍型之间的重复序列,也不需要像pilon或racon这样的抛光工具,简化了组装流程并节省了运行时间。Hifiasm速度快,可以半天组装一个人类基因组,三天组装一个约30Gb的红杉基因组,没有基因组太大无法组装。Hifiasm安装简单,使用方便,无需Python、R或C++11编译。
* [pachterlab/kallisto](https://github.com/pachterlab/kallisto) kallisto是一个用于从RNA-Seq数据中量化转录本丰度(或更一般地,使用高通量测序读数量化目标序列)的程序。它基于一种新颖的伪比对思想,可以快速确定读数与目标的兼容性,而无需进行比对。在标准RNA-Seq数据的基准测试中,kallisto可以在一台Mac台式机上用不到3分钟的时间量化3000万个人类批量RNA-seq读数,只需使用读数序列和一个构建时间不到10分钟的转录组索引。读数的伪比对保留了量化所需的关键信息,因此kallisto不仅速度快,而且与其他现有的量化工具具有可比的准确性。事实上,由于伪比对过程对读数中的错误具有鲁棒性,在许多基准测试中,kallisto的性能明显优于现有工具。kallisto算法在以下文献中进行了更详细的描述:NL Bray, H Pimentel, P Melsted and L Pachter, [Near optimal probabilistic RNA-seq quantification](http://www.nature.com/nbt/journal/v34/n5/abs/nbt.3519.html), Nature Biotechnology __34__, p 525--527 (2016)。 kallisto使用BSD-2许可证发布。
* [milkschen/leviosam2](https://github.com/milkschen/leviosam2) LevioSAM2是一个快速准确的比对坐标转换工具,它利用链文件将SAM/BAM/CRAM格式的短读长和长读长比对结果从一个参考基因组转换为另一个参考基因组。它支持多线程,并包含一个“选择性”管道工具,可用于处理源参考基因组和目标参考基因组之间存在重大差异的情况。LevioSAM2还提供了一个用于转换BED格式区间数据的工具(beta版)。用户可以使用Conda、Docker、Singularity或从源代码构建LevioSAM2。LevioSAM2使用链文件进行坐标转换,用户可以使用UCSC Genome Browser提供的链文件或使用UCSC recipe和nf-LO等工具生成链文件。LevioSAM2包含一个索引工具`leviosam2-index`,用于对链文件进行索引,并生成`.clft`格式的索引文件。`leviosam2-lift`是LevioSAM2的核心工具,它使用链文件索引进行坐标转换。建议在运行`leviosam2-lift`之前对输入BAM文件进行排序。LevioSAM2还提供了一个完整的流程,包含`leviosam2-lift`和选择性重映射策略,可以提高转换精度。
* [cole-trapnell-lab/cufflinks](https://github.com/cole-trapnell-lab/cufflinks) Cufflinks是一个用于RNA-Seq数据的转录组分析工具,它可以将比对后的RNA-Seq reads组装成转录本,估计它们的丰度,并进行差异表达和调控分析。它接受比对后的RNA-Seq reads,并将其组装成一个简约的转录本集合。Cufflinks然后根据支持每个转录本的reads数量来估计这些转录本的相对丰度,同时考虑了文库制备协议中的偏差。Cufflinks最初是加州大学伯克利分校Lior Pachter领导的数学和计算生物学实验室、约翰霍普金斯大学遗传医学研究所Steven Salzberg的计算基因组学小组以及加州理工学院Barbara Wold实验室共同努力的成果。该项目现在由华盛顿大学Cole Trapnell的实验室维护。Cufflinks采用OSI批准的Boost许可证。用户可以通过下载预编译的二进制包或从源代码构建Cufflinks来安装它。构建Cufflinks需要在系统上安装Boost C++库(版本1.47或更高)。用户还需要安装SAM工具。
* [lh3/bwa](https://github.com/lh3/bwa) BWA是一个用于将短读序列比对到大型参考基因组(如人类基因组)的软件包,包含三种算法:BWA-backtrack、BWA-SW和BWA-MEM。BWA-backtrack适用于长度不超过100bp的Illumina测序读长,而BWA-SW和BWA-MEM适用于更长的序列,范围从70bp到几兆碱基。BWA-MEM是最新版本,通常推荐使用,因为它更快、更准确。BWA-MEM在70-100bp的Illumina读长上也比BWA-backtrack表现更好。所有算法都需要先构建参考基因组的FM-index(使用index命令)。比对算法通过不同的子命令调用:BWA-backtrack使用aln/samse/sampe,BWA-SW使用bwasw,BWA-MEM使用mem。BWA发布在GPLv3许可下,最新源代码可在GitHub上免费获取。预编译的x86_64-linux二进制文件在bwakit中可用。除了BWA,该自一致性包还包含与BWA相关的和第三方工具,用于正确地将BAM转换为FASTQ、比对到ALT contigs、接头修剪、重复标记、HLA分型以及相关数据文件。
* [DecodeGenetics/Ratatosk](https://github.com/DecodeGenetics/Ratatosk) 在基因组组装过程中,de Bruijn 图通过将大量短序列(短读段)拼接成更长的序列,帮助科学家重建完整的基因组。由于现代测序技术(如高通量测序)产生了大量短读段,de Bruijn 图的使用变得尤为重要,因为它能够有效地处理这些数据并减少内存使用。Ratatosk是一款用于长读纠错的*从头*工具,旨在实现准确的变异检测和组装。它基于从准确的短读构建的压缩彩色 de Bruijn 图。读段在图中着色路径,而顶点则用候选*从头* SNP 和短重复序列进行注释。我们证明 Ratatosk 可以将 ONT 读段的原始错误率平均降低几倍,平均错误率低至 1.4%。在 Ratatosk校正后的数据上进行变异检测显示 SNP 和 indel 的 F1 分别为 99.91% 和 95.88%。从 Ratatosk 校正后的 ONT 读段创建的 Ashkenazi个体 HG002 的组装产生了 39.7 Mbp 的 contig N50 和 48.5 的质量值。
* [ga4gh/benchmarking-tools](https://github.com/ga4gh/benchmarking-tools) 该项目由全球基因组与健康联盟(GA4GH)基准测试团队开发,旨在为生殖系小变异调用建立标准化的性能指标和工具。该项目定义了高置信度变异调用和可用于基准的区域,开发了工具来比较变异调用,定义了性能指标,并开发了方法来根据变异类型和基因组上下文对性能进行分层。该项目还提供了参考基准引擎和其实现的链接,以及基准数据集。该项目提供了一个名为hap.py的参考实现,该实现允许用户在vcfeval和xcmp之间选择比较引擎,并使用GA4GH分层bed文件来评估不同基因组环境中的性能。该项目还提供了一系列标准化中间格式,用于指定真值集、分层区域和比较工具的中间输出。该项目还提供了资源,包括来自Genome in a Bottle和Illumina Platinum Genomes的基准调用和数据集,以及描述潜在困难区域的标准化bed文件。
* [biocommons/hgvs](https://github.com/biocommons/hgvs) hgvs是一个 Python 库,用于解析、格式化、验证、规范化和映射生物序列变异,遵循人类基因组变异协会 (HGVS) 的推荐。它专注于 HGVS 推荐中描述序列级变异的子集,这些变异与将高通量测序应用于临床诊断相关。该库提供易于使用的对象模型来表示大多数变异类型(SNV、插入缺失、重复、倒位等)和概念(内含子偏移、不确定位置、间隔),并包含一个变异规范化器,用于将变异重写为规范形式并替换参考序列(如果参考序列和转录本序列不同)。它还提供格式化程序,用于从内部表示生成 HGVS 字符串,以及用于在基因组、转录本和蛋白质序列之间映射变异的工具。该库支持可插拔数据提供程序,以支持转录本映射数据的替代来源,并具有广泛的自动化测试,包括针对所有变异类型和“问题”转录本的测试。
* [hail-is/hail](https://github.com/hail-is/hail) Hail是一个开源的、通用的、基于Python的数据分析工具,它包含用于处理基因组数据的额外数据类型和方法。Hail旨在扩展,并为多维结构化数据(如全基因组关联研究(GWAS)中的基因组数据)提供一流的支持。Hail作为Python库公开,使用Scala、Spark和越来越多的C++实现的分布式查询和线性代数原语。Hail在学术界和工业界被广泛采用,包括作为[基因组聚合数据库](https://gnomad.broadinstitute.org)和[英国生物银行快速GWAS](https://www.nealelab.is/uk-biobank)的分析平台。Hail由[Neale实验室](https://nealelab.is/)在[麻省理工学院和哈佛大学博德研究所](https://www.broadinstitute.org)的[斯坦利精神病学研究中心](https://www.broadinstitute.org/stanley)和[麻省总医院](https://www.massgeneral.org/)的[分析和转化遗传学部门](https://www.atgu.mgh.harvard.edu/)的团队维护。
* [pjedge/longshot](https://github.com/pjedge/longshot) Longshot是一款针对二倍体基因组的变异检测工具,专门用于处理来自PacBio SMRT和Oxford Nanopore Technologies (ONT)等长读测序技术的错误率高的测序数据。它以比对后的BAM/CRAM文件作为输入,输出包含变异和单倍型信息的已分型VCF文件。它还可以对输入的VCF文件进行基因型分型和分型。它可以输出单倍型分离的BAM文件,这些文件可用于下游分析。目前,它只调用单核苷酸变异(SNV),但如果输入VCF中存在插入缺失,它可以对插入缺失进行基因型分型。该项目已在Ubuntu 16.04和18.04、CentOS 6.6、Manjaro Linux 17.1.11和Mac OS 10.14.2 Mojave上测试过。它应该可以在任何安装了Rust和Cargo的Linux系统上运行。推荐使用Bioconda安装Longshot,也可以通过apt安装依赖项并使用Rust cargo包管理器进行手动安装。
* [OpenGene/gencore](https://github.com/OpenGene/gencore) gencore是一款高效的工具,用于通过生成共识序列来去除测序重复和消除测序错误。它比Picard和其他工具更快,内存占用更少。它基于生成共识序列的算法,因此得名gencore。gencore将来自同一原始DNA模板的reads分组,通过生成包含比原始reads更少错误的共识序列来合并它们。gencore支持具有唯一分子标识符 (UMI) 的数据。该工具可以消除文库制备和测序过程中引入的错误,从而减少下游变异检测的假阳性。它还可以用于去除重复reads。由于它从重复reads中生成共识序列,因此它输出比传统重复去除器更干净的数据。由于这些优势,它特别适用于处理癌症样本的超深度测序数据。gencore接受排序后的BAM/SAM文件及其对应的参考fasta文件作为输入,并输出未排序的BAM/SAM文件。
* [Zhong-Lab-UCSD/Genomic-Interactive-Visualization-Engine](https://github.com/Zhong-Lab-UCSD/Genomic-Interactive-Visualization-Engine) GIVE(Genomic Interactive Visualization Engine) 是一个 HTML5 库,它允许您像使用标准 HTML 元素一样嵌入基因组可视化面板,从而构建一个自定义基因组浏览器来可视化来自公共数据库(如 ENCODE)和/或内部数据的基因组数据。GIVE 使用 Web Components(特别是 Polymer库)来构建用户界面,并使用 Scaled Vector Graphics (SVG) 1.1 来绘制图形。这些组件在所有主流浏览器中都受支持。您可以在 GIVE 数据中心页面使用 GIVE-HUG (HTML Universal Generator) 生成嵌入所需的 HTML 代码。GIVE 数据中心可在公共 GIVE 实例(https://www.givengine.org/give-data-hub.html)上访问,您安装自己的 GIVE 实例后,它将位于相同的相对位置。如果您想自己编写 HTML 文件,您可以通过导入组件并直接使用标签来使用 GIVE Web Components。
* [TGAC/KAT](https://github.com/TGAC/KAT) 将待分析的序列(如原始读长或基因组)分割为一组长度为k的子序列,称为k-mer。KAT(K-mer Analysis Toolkit) 是一个用于分析和比较K-mer谱的工具集。它包含多个工具,例如hist用于创建K-mer出现频率直方图,gcp用于创建K-mer GC含量矩阵,comp用于比较两个或三个序列文件或哈希之间的共享K-mer,sect用于估计序列覆盖率,blob用于计算读段和组装体的K-mer覆盖率和GC含量,filter用于过滤K-mer哈希和FastQ/A文件,plot用于可视化K-mer分布和比较。KAT还包含一个Python脚本,用于分析K-mer谱中的数学分布,以确定每个峰值中存在多少内容。KAT可以通过brew、bioconda或从源代码安装,需要GCC V4.8+、make、autoconf V2.53+、automake V1.11+、libtool V2.4.2+、pthreads、zlib和Python V3.5+(可选,但强烈推荐)。
* [harbourlab/SparK](https://github.com/harbourlab/SparK) SparK是一个用于绘制 NGS 数据的工具,可以生成高质量的矢量图形,适用于出版物和管道集成。它支持绘制 bedgraph 轨迹,包括重复、重复平均、轨迹叠加、标准偏差和智能刻度条。用户可以定义控制组和处理组,并对它们进行分组和标记。SparK 还提供多种选项来控制 y 轴缩放,例如自动缩放、排除组和自定义缩放。此外,SparK 支持压缩和索引 bedgraph 文件,以提高数据检索速度。NGS(下一代测序)数据是指通过高通量测序技术获得的基因组、转录组或其他生物分子序列数据。这些数据通常以原始测序数据格式存储,如SRA格式或fastq格式。在处理NGS数据时,通常需要进行一系列的预处理和分析步骤,包括质量控制(QC)、序列比对、变异检测、注释和功能预测等。
* [comprna/SUPPA](https://github.com/comprna/SUPPA) 差异剪接分析是研究基因表达调控和蛋白质多样性的重要方法。随着RNA测序技术的发展,许多计算工具应运而生,以帮助研究人员识别和量化可变剪接事件。SUPPA2 是一个快速、准确且具有不确定性感知的差异剪接分析工具,可用于跨多个条件进行分析。它能够从注释中生成转录事件和局部可变剪接 (AS) 事件,量化多个样本中转录和局部 AS 事件的包含水平 (PSI),计算跨多个条件具有重复的 AS 事件的差异剪接和差异转录使用情况,以及根据跨条件的 PSI 值对事件和转录进行聚类。SUPPA2 使用灵活的模块化操作,可以单独运行,以满足不同的分析需求。它从 GTF 格式的注释文件中生成可变剪接事件,并输出 ioe 文件,其中包含每个事件的描述两种形式的转录本。
* [sigven/pcgr](https://github.com/sigven/pcgr) Personal Cancer Genome Reporter(PCGR) 是一个独立的软件包,用于对单个肿瘤基因组进行功能注释和解读,以用于精准肿瘤医学。它主要解读体细胞 SNV/InDels 和拷贝数变异,并额外支持对批量 RNA-seq 表达数据的解读。该软件根据致癌性和可操作性对变异进行分类,并提供交互式 HTML 输出报告,允许用户查询单个肿瘤中分子发现的临床影响。PCGR支持最新的两个人类基因组组装(GRCh37/GRCh38),并接受来自肿瘤-对照和肿瘤-单一测序分析的变异调用。该软件的大部分功能适用于全外显子组/全基因组测序分析,但您也可以将 PCGR 应用于靶向测序面板的输出。如果您对种系变异及其与癌症易感性的关系感兴趣,我们建议您尝试配套工具 Cancer PredispositionSequencing Reporter (CPSR)。
* [ChaissonLab/LRA](https://github.com/ChaissonLab/LRA) LRA是一款用于比对长读测序数据的工具,它可以比对来自单分子测序仪器(SMS)的长读序列,或来自SMS组装的兆碱基级片段。LRA采用种子链稀疏动态规划算法,结合凹形间隙函数,实现读序列和组装比对,并扩展到允许反转情况。LRA的比对方法提高了SV发现的敏感性和特异性,特别是在发现大于1kb的变异体以及从ONT读序列中发现变异体时,同时运行时间与现有方法相当(1.05-3.76倍)。当应用于从*从头*组装片段中调用变异体时,与minimap2+htsbox相比,Truvari F1得分提高了3.2%。LRA可以通过bioconda安装,并需要zlib和htslib依赖。用户可以使用`lra index`命令构建参考基因组的索引,然后使用`lra align`命令比对读序列。LRA支持多种输出格式,包括SAM、PAF、BED和成对比对。
* [shubhamchandak94/SPRING](https://github.com/shubhamchandak94/SPRING) SPRING是一个用于压缩 FASTQ 文件的工具,它针对单端和双端数据集提供接近最佳的压缩率,并支持快速且内存高效的解压缩。它支持长度高达 511 个碱基的可变长度短读(不使用 -l 标记),以及长度可变的长读(高达 42.9 亿)(使用 -l 标记)。SPRING 支持对读、质量得分和读标识符进行无损压缩,并支持对读进行重新排序(同时保留读配对信息)以提高压缩率。它还支持使用 QVZ、Illumina 8 级分箱和二进制阈值对质量值进行量化,并支持对读的子集进行解压缩(随机访问)。SPRING 支持在压缩(解压缩)期间使用 gzip 压缩的 fastq 文件作为输入(输出),并在 Linux 和 macOS 上进行了测试。用户可以使用 conda 在 Linux 上安装 SPRING,也可以从源代码下载并安装。
* [bcbio/bcbio-nextgen](https://github.com/bcbio/bcbio-nextgen) bcbio-nextgen是一个经过验证的、可扩展的、社区驱动的变异检测、RNA测序和小RNA分析项目。它使用一个高级配置文件来指定输入和分析参数,并通过并行运行来处理分布式执行、幂等处理重启和安全的交易步骤。bcbio提供了一个共享的社区资源,处理测序分析中的数据处理部分,使研究人员能够将更多时间集中在后续的生物学研究上。该项目已于2024年8月16日停止维护,但其代码库仍然可用,并提供了丰富的功能,包括社区开发、自动化安装、自动化验证、分布式计算和多种分析算法,例如变异检测、RNA测序、ATAC-seq、BS-Seq、单细胞RNA测序和小RNA分析。用户可以使用一个简单的安装脚本安装bcbio-nextgen,并自动创建样本配置,方便进行数据分析。
* [marbl/Winnowmap](https://github.com/marbl/Winnowmap) Winnowmap是一款针对ONT和PacBio长读测序数据,优化了对重复性参考序列比对的算法。它基于minimap2代码库,并引入了两种新思路来提高重复区域内的比对精度:**加权最小化器**采样算法(u003e=v1.0)和**最小可信比对子串**(u003e=v2.0)。加权最小化器算法降低了高频k-mer的权重,从而减少了它们被选为最小化器的概率,提高了复杂重复区域(如人类基因组中的长串联重复序列)的比对精度。最小可信比对子串方法将每个读比对视为一组可信子比对,更能容忍结构变异,并对旁系同源基因特异性变异(PSVs)更敏感。Winnowmap需要使用meryl工具预先计算参考序列中高频k-mer,并提供命令行工具用于比对长读测序数据和进行全基因组比对。
* [CostaLab/reg-gen](https://github.com/CostaLab/reg-gen) RGT是一个开源的Python 3.6+库,用于分析监管基因组学数据。它提供面向对象的编程方式,核心类提供处理监管基因组学数据的功能。RGT包含一个核心库和几个工具,例如HINT(ATAC-seq/DNase-seq足迹分析方法)、THOR(ChIP-Seq差异峰值调用器)、Motif Analysis(TBFS匹配和富集)、RGT-Viz(可视化工具)和TDF(DNA/RNA三链体结构域查找器)。详细的文档和教程可在https://reg-gen.readthedocs.io找到。推荐使用conda管理Python环境,安装方法请参考https://reg-gen.readthedocs.io/en/latest/rgt/installation.html。如果您使用RGT的任何子工具,请引用我们的主要论文:Li et al. (2023) RGT: a toolbox for theintegrative analysis of high throughput regulatory genomics data. BMC Bioinformatics 24(1):1-12.
* [brentp/echtvar](https://github.com/brentp/echtvar) Echtvar是一个快速高效的变异注释和过滤工具,它利用位压缩技术将来自大型群体数据集的变异等位基因频率和其他信息编码成紧凑的格式,从而实现每秒百万级变异的快速注释。它将基因组分成 1u003cu003c20 (~1 million) 个碱基块,并使用 32 位整数对每个变异进行编码,对于无法编码的变异则使用辅助表进行补充。Echtvar 使用zip 格式、delta 编码和整数压缩技术,创建了任何整数、浮点数或低基数字符串列的紧凑且可搜索的格式。用户可以通过 `echtvar encode` 命令创建自己的 echtvar 档案,也可以使用预制档案(例如 gnomAD 版本 3.1.2)。使用 `echtvar anno` 命令可以对分解后的 VCF 文件进行注释,并使用可选的过滤器对变异进行筛选。
* [mummer4/mummer](https://github.com/mummer4/mummer) MUMmer是一个用于DNA和蛋白质序列比对的通用工具。最新版本MUMmer4.x能够在32核以上工作站上以约3小时的速度比对两个哺乳动物基因组,而细菌或小型真核生物等更小的基因组可以在几秒或几分钟内完成比对。该工具包含nucmer和promer两个主要可执行文件,nucmer用于DNA序列比对,promer用于蛋白质或翻译序列比对。用户可以使用nucmer和promer进行简单的比对,例如,通过命令`./nucmer -p u003cprefixu003e ref.fa qry.fa`可以将参考序列文件ref.fa与查询序列文件qry.fa进行比对,并生成包含比对结果的u003cprefixu003e.delta文件。用户还可以使用show-coords命令查看比对坐标,使用mummerplot命令绘制比对结果图。更多信息请参考项目文档。
* [JiangBioLab/DeepST](https://github.com/JiangBioLab/DeepST) DeepST是一个利用深度学习识别空间转录组学数据中空间域的工具。它首先使用预训练的深度学习模型从 H&E 染色中提取组织形态信息,并根据相邻点的相似性对每个点的基因表达进行归一化。DeepST 进一步学习空间位置上的空间邻接矩阵,用于构建图卷积网络。DeepST 使用图神经网络自动编码器和降噪自动编码器共同生成增强型 ST 数据的潜在表示,同时使用域对抗神经网络 (DAN) 整合来自多批次或不同技术的 ST 数据。DeepST 的输出可用于识别空间域、批次效应校正和下游分析。该项目提供了名为 `DeepST`的 Python 包,使用 `scanpy` 简化空间转录组学数据集的整合和结果评估。DeepST 使用 `PyTorch` 和 `PyG` 库实现。
* [open2c/cooler](https://github.com/open2c/cooler) Hi-C是一种用于研究染色质三维结构的技术,源于染色体构象捕获(3C)技术。它结合了高通量测序技术和生物信息学分析方法,能够获得基因组内染色质的高分辨率三维结构信息。通过Hi-C实验,研究人员可以确定基因在基因组中的相对位置以及染色质的空间组织。Cooler是一个用于存储 Hi-C 数据的 Python 库,它提供了一种稀疏、压缩、二进制的持久化存储格式,方便高效地存储和访问 Hi-C数据。Cooler 库支持多种功能,包括数据读取、写入、索引、查询和可视化,并提供与其他工具的集成,例如 Juypter Notebook 和其他 Hi-C 分析软件。用户可以通过 Cooler 库轻松地管理和分析 Hi-C 数据,并进行更深入的研究。
* [ryanlayer/samplot](https://github.com/ryanlayer/samplot) samplot是一个命令行工具,用于快速、多样本的结构变异可视化。它使用 SV 坐标和 BAM 文件生成高质量的图像,突出显示任何支持 SV 的比对和深度信号。samplot 可以用于可视化各种结构变异,包括插入、缺失、重复、倒置和易位。它还支持从多个样本中可视化 SV,并提供各种选项来自定义输出图像。绘制来自许多 BAM 和 CRAM 的结构变体信号。BAM(Binary Alignment Map)和CRAM(Compressed Reference Alignment Map)是用于存储高通量测序数据的两种主要文件格式。它们通常用于存储DNA或RNA测序的比对结果,包含了序列读取与参考基因组的比对信息。这些格式在生物信息学中广泛应用,尤其是在结构变体(SV)分析中。
* [arq5x/bedtools2](https://github.com/arq5x/bedtools2) bedtools是一个用于基因组算术的瑞士军刀工具集,它提供了一系列工具,可以用于各种基因组分析任务。bedtools的核心功能是基因组算术,即对基因组进行集合运算,例如交集、合并、计数、补集和随机化。bedtools支持多种常用的基因组文件格式,如BAM、BED、GFF/GTF和VCF。bedtools的每个工具都设计用于执行相对简单的任务,但通过在UNIX命令行上组合多个bedtools操作,可以进行相当复杂的分析。bedtools2版本在算法上进行了改进,使其在处理预先按染色体和起始位置排序的数据集时,具有更好的可扩展性。bedtools由Aaron Quinlan于2009年春季创建,并在弗吉尼亚大学的Quinlan实验室维护。该项目遵循MIT许可证。
* [PharmGKB/PharmCAT](https://github.com/PharmGKB/PharmCAT) PharmCAT是一个生物信息学工具,用于分析基因变异以预测药物反应,并根据患者的基因特征定制医疗方案。它通过两阶段实现:1.处理来自下一代测序 (NGS) 或基因分型方法的 VCF 文件,识别药理基因组学 (PGx) 基因型并推断单倍型,通常称为星等位基因;2. 使用药理基因二倍体(母系和父系星等位基因的组合)来预测 PGx 表型,并报告来自 CPIC 指南、PharmGKB 注释的 DPWG 指南和 PharmGKB 注释的 FDA 批准的药物标签的相应药物处方建议。PharmCAT 仍在积极开发中,新功能、数据更新和错误修复将陆续发布。 所有技术要求和文档都可以在 PharmCAT.org 上找到。 PharmCAT 由斯坦福大学和宾夕法尼亚大学管理。
* [cortes-ciriano-lab/SComatic](https://github.com/cortes-ciriano-lab/SComatic) SComatic是一款用于检测单细胞数据中体细胞变异的工具,适用于单细胞RNA测序和单细胞ATAC测序等高通量单细胞基因组学和转录组学数据集。该工具利用一个四步流程,首先将所有细胞类型的比对读取文件根据预先计算的细胞类型注释拆分为细胞类型特定的BAM文件,然后使用预先计算的Panel of Normals (PoN)文件过滤掉常见的变异,接着使用贝叶斯模型识别潜在的体细胞变异,最后使用RNA编辑数据库过滤掉假阳性结果。SComatic需要两个输入数据类型:所有分析细胞类型的比对读取文件(BAM格式)和预先计算的细胞类型注释文件。该工具还提供了安装和使用指南,并提供了一些示例代码。
* [pachterlab/ffq](https://github.com/pachterlab/ffq) ffq是一个用于从公共数据库中查找测序数据和元数据的工具,支持 GEO、SRA、EMBL-EBI、DDBJ、NIH Biosample和 ENCODE 等数据库。它可以接收一个 accession 号,并返回该 accession 号的元数据以及所有下游 accession 号的元数据,同时支持指定返回的元数据级别。ffq 还支持从任何可用的主机(FTP、AWS、GCP 或 NCBI)获取 GEO 和 SRA id的原始数据下载链接。用户可以通过命令行输入 accession 号来获取信息,例如 `ffq SRR9990627` 或 `ffq GSE129845`,也可以输入多个 accession 号来获取多个数据的元数据。ffq 的最新版本可以通过 `pip install ffq` 安装,开发版本可以通过 `pip install git+https://github.com/pachterlab/ffq` 安装。
* [xiaochuanle/MECAT](https://github.com/xiaochuanle/MECAT) MECAT是一款超高速的单分子测序读段比对、纠错和从头组装工具,它采用新颖的比对和纠错算法,效率远超现有比对器和纠错工具。MECAT可用于高效地从头组装大型基因组,例如,在一台拥有32个线程、2.0 GHz CPU的计算机上,MECAT仅需9.5天就能基于54x SMRT数据组装一个人类基因组,速度是当前PBcR-Mhap管道的40倍。MECAT还可用于仅用25天基于102x SMRT数据组装一个二倍体人类基因组,后者组装质量比之前基于54x单倍体SMRT数据组装的基因组有很大提升。MECAT的性能已在五个真实数据集上与PBcR-Mhap管道、FALCON和Canu(v1.3)进行了比较,MECAT生成的组装重叠群质量与PBcR-Mhap管道和FALCON相当或更好。
* [lh3/minimap2](https://github.com/lh3/minimap2) minimap2是一个通用的序列比对程序,可以将DNA或mRNA序列比对到大型参考数据库。它适用于多种场景,例如:将PacBio或Oxford Nanopore基因组测序数据比对到人类基因组;寻找错误率高达15%的长读序列之间的重叠区域;将PacBio Iso-Seq或Nanopore cDNA或Direct RNA读序列比对到参考基因组;比对Illumina单端或双端测序数据;进行组装序列之间的比对;以及对两个差异小于15%的近缘物种进行全基因组比对。对于大约10kb的噪声读序列,minimap2比主流长读序列比对软件(如BLASR、BWA-MEM、NGMLR和GMAP)快数十倍。它在模拟长读序列上的准确性更高,并能生成可用于后续分析的生物学意义上的比对结果。
* [timbitz/Whippet.jl](https://github.com/timbitz/Whippet.jl) Whippet.jl是一个轻量级、快速、基于事件级别的 RNA-seq 定量工具。它使用 splice graph 来表示转录组结构,并能够从任何物种的基因组和注释文件中构建索引。Whippet.jl 支持 _de novo_ AS 事件发现,并提供高速 PolyA+ 剪接读段比对功能,包含重复读段分配、5' 序列和 GC 含量偏差校正等功能。它使用 EM 算法进行快速、稳健的转录组结构和表达定量,并能计算各种复杂度的剪接事件的动态构建和熵测量。Whippet.jl 还提供基于事件级别的 EM 计算的 PSI (Percent-spliced-in) 和基于转录本级别的 EM 计算的基因表达 (TPM),以及用于进行差异剪接比较的概率计算 delta PSI,支持多样本生物学重复。
* [hartwigmedical/hmftools](https://github.com/hartwigmedical/hmftools) WiGiTS是一个开源的基因组和转录组分析工具套件,专为癌症研究和诊断而设计。它包含多个组件,包括Amber、BamTools、Cider、Cobalt、Cuppa、Esvee、Lilac、Linx、Pave、Purple、Redux、Sage和Teal,分别用于肿瘤BAF文件生成、BAM指标分析、TCR/BCR V(D)J重组序列检测、读深度比率确定、组织来源预测、SV调用、HLA分型、SV注释和聚类、融合和破坏调用、点突变注释和基因影响、拷贝数、纯度和倍性估计、重复标记、一致性读取、UMI和读取反映射、点突变变异调用和过滤、端粒含量测量和端粒长度估计等功能。WiGiTS推荐使用NextFlow实现的OncoAnalyser运行,并提供WGS和靶向面板的示例管道。
* [BenLangmead/bowtie2](https://github.com/BenLangmead/bowtie2) Bowtie 2是一款快速、高效的序列比对工具,特别适用于将长度为 50到 1000 个字符的reads比对到较长的参考序列(如哺乳动物基因组)。它使用 FM 索引对基因组进行索引,以保持较小的内存占用,例如,对人类基因组的内存占用通常约为 3.2 GB。Bowtie 2 支持带间隙、局部和双端比对模式。可以通过 Bioconda 等包管理器安装 Bowtie 2,也可以从 GitHub 页面下载源代码和二进制文件。Bowtie 2 的比对命令 `bowtie2` 将 Bowtie 2 索引和一组reads文件作为输入,并输出一组 SAM 格式的比对结果。比对结果展示了reads序列与参考序列的相似性,并推测reads在参考基因组中的来源位置。
* [Griffan/VerifyBamID](https://github.com/Griffan/VerifyBamID) VerifyBamID2是一个强大的工具,用于使用无祖先方法从序列读取中估计DNA 污染。它通过使用基于 SVD 的方法来计算等位基因频率,避免了依赖于特定人群的等位基因频率,从而降低了污染估计的偏差。该方法在 1000 基因组数据集上进行了测试,结果表明,与其他方法相比,VerifyBamID2 能够更准确地估计污染水平,并能有效地减少污染估计的偏差。该工具支持 BAM 或 CRAM 格式的比对序列文件,并需要提供相关的标记文件(例如,基因型矩阵的 SVD 结果)。用户可以使用 bioconda 安装该工具,并通过提供的示例命令行和辅助资源文件来验证 BAM/CRAM 文件的质量。
* [ruanjue/wtdbg2](https://github.com/ruanjue/wtdbg2) Wtdbg2是一款针对PacBio或Oxford Nanopore Technologies (ONT)产生的长噪声reads的*从头*序列组装工具。它直接组装原始reads,无需纠错,然后从中间组装结果构建共识序列。Wtdbg2能够以比CANU和FALCON快数十倍的速度组装人类甚至32Gb的[Axolotl][Axolotl]基因组,同时生成具有相当碱基精度的contigs。在组装过程中,wtdbg2将reads切割成1024bp的片段,将类似的片段合并成一个顶点,并根据reads上的片段邻接关系连接顶点。生成的图被称为模糊布鲁因图(FBG)。它类似于De Bruijn图,但允许错配/间隙,并在折叠k-mers时保留reads路径。FBG的使用将wtdbg2与大多数长reads组装器区分开来。
* [gpertea/stringtie](https://github.com/gpertea/stringtie) StringTie是一个用于RNA-Seq数据转录本组装和定量的工具,它使用高效的算法从比对到参考基因组的RNA-Seq reads中恢复转录本结构并估计其丰度。它以坐标排序的SAM/BAM/CRAM格式的拼接比对作为输入,并生成一个GTF输出,其中包含组装的转录本结构及其估计的表达水平(FPKM/TPM和碱基覆盖率值)。该项目提供源代码和预编译的二进制包,支持多种Linux和Apple操作系统。用户可以使用`make release`命令从源代码构建最新版本,也可以从Releases页面下载预编译的二进制包。StringTie的通用命令格式为:`stringtie [-o u003coutput.gtfu003e] [other_options] u003cread_alignments.bamu003e`。
* [vals/umis](https://github.com/vals/umis) umis是一个用于处理 UMI RNA-tag 数据的工具集,它可以帮助估计 RNA-Seq 数据中的基因表达量,并通过分子标签校正扩增偏差。umis 包含四个步骤:格式化读取、过滤噪声细胞条形码、伪映射到 cDNA 和计数分子标识符。它可以将读取信息格式化为包含细胞条形码和分子条形码的格式,过滤掉未知的细胞条形码,并使用伪比对器(如 Kallisto 或 RapMap)将读取信息伪映射到 cDNA。最后,umis 会根据伪比对结果,计算每个基因的分子标识符数量,从而估计基因表达量。umis 还提供了一个名为 `kallisto` 的命令,可以将 FASTQ 文件格式化为 Kallisto 所需的格式。
* [dpryan79/ChromosomeMappings](https://github.com/dpryan79/ChromosomeMappings) 该项目提供不同基因组版本(如 GRCh37)的 UCSC、Ensembl 和 Gencode 之间的染色体/重叠群名称映射。文件命名为 `AAA_BBB2CCC.txt`,其中 `AAA` 是基因组和版本,`BBB` 和 `CCC` 是数据来源。每个文件包含两列,第一列是 `BBB` 中的染色体名称,第二列是 `CCC` 中的对应名称。例如,`GRCh37_gencode2ensembl.txt` 文件包含 Gencode 到 Ensembl 染色体名称的映射,例如 `chrX` 对应 `X`。项目还处理了不同来源之间染色体/重叠群缺失、大小不同以及多重映射等情况。此外,项目提供了一个命令行工具 `UpdateContigNames`,用于使用这些映射表更新分隔数据中的染色体名称。
* [GMOD/jbrowse](https://github.com/GMOD/jbrowse) JBrowse 1是一个使用 JavaScript 和 HTML5 构建的完整功能基因组浏览器。它提供了一个用户友好的界面,用于可视化和分析基因组数据。用户可以通过下载最新的 JBrowse zip 文件或从 GitHub 克隆仓库并运行 setup.sh 脚本来安装 JBrowse。对于开发人员,可以通过运行 `yarn watch` 来启动一个开发服务器,并使用 `yarn start` 来启动一个临时开发服务器。此外,还可以将 JBrowse 文件夹放入 Web 服务器目录中。为了提高下载速度,中国用户可以设置 npm 注册表镜像。JBrowse 1 仍然会继续进行错误修复和维护版本发布,但大部分开发工作都集中在 JBrowse 2 上。
* [oschwengers/bakta](https://github.com/oschwengers/bakta) Bakta是一个快速、标准化的细菌基因组、MAGs和质粒注释工具,它利用UniRef数据库进行全面且与分类无关的注释,并提供包含dbxref、sORF和机器可读JSON格式的注释,适用于自动化下游分析。Bakta通过无对齐序列识别(AFSI)方法使用全长MD5蛋白序列哈希摘要来精确识别RefSeq和UniProt中的已知相同蛋白序列(IPS),从而实现快速注释,并为基因等位基因(AMR)或密切相关的不同蛋白家族提供细粒度注释。Bakta还提供数据库交叉引用(dbxref)到RefSeq、UniRef100和UniParc,促进FAIR原则,并支持基因组提交、蛋白质批量注释和基因组绘图等功能。
* [vibansal/HapCUT2](https://github.com/vibansal/HapCUT2) HapCUT2是一款基于最大似然法的工具,用于从DNA测序数据中组装单倍型,旨在以极快的速度和准确性“正常工作”。它支持多种测序技术,包括NGS短读、单分子长读、连接读、邻近连接读、高覆盖率测序以及不同技术的组合。HapCUT2需要BAM文件和VCF文件作为输入,并通过两步运行:第一步使用extractHAIRS将BAM文件转换为包含单倍型相关信息的片段文件;第二步使用HAPCUT2将片段文件组装成单倍型块。输出结果包括一个单倍型块输出文件和一个单倍型VCF文件。对于PacBio和OxfordNanopore读数,可以使用--pacbio 1和--ont 1选项以提高准确性。
* [roblanf/minion_qc](https://github.com/roblanf/minion_qc) MinIONQC是一款用于Oxford Nanopore MinION和PromethION测序数据的快速有效质量控制工具。它直接分析ONT的Albacore或Guppy碱基调用器生成的`sequencing_summary.txt`文件,比其他工具更快,并能轻松比较多个流动池的数据。例如,它可以在笔记本电脑上用一个处理器在一分钟内分析一个4GB的流动池。MinIONQC提供一系列诊断图和数据,帮助用户评估测序数据的质量。用户可以通过命令行运行MinIONQC,并指定一个或多个`sequencing_summary.txt`文件作为输入。该工具会自动检测数据来自哪种流动池,并生成一系列图表和一个YAML文件,详细描述输出结果。
* [haowenz/chromap](https://github.com/haowenz/chromap) Chromap是一款超高速的染色质谱图比对和预处理工具,它可以快速完成以下任务:1) 修剪测序接头,将批量ATAC-seq 或 ChIP-seq 数据比对到人类基因组,并去除重复序列;2) 修剪测序接头,将单细胞 ATAC-seq 数据比对到人类基因组,校正条形码,去除重复序列,并进行 Tn5 位移校正;3) 对 Hi-C 数据进行拆分比对。Chromap 的速度比其他工具快 10-20 倍,同时保持了高精度。它支持从源代码编译安装,也提供 Bioconda 包,用户可以通过 `conda install -c bioconda -c conda-forge chromap` 命令进行安装。Chromap 支持多种输出格式,包括 BED 和 SAM 格式。
* [brentp/slivar](https://github.com/brentp/slivar) slivar是一个命令行工具集,用于快速查询和过滤 VCF 文件,支持对三代组和群体进行操作,并允许使用简单的 JavaScript 表达式进行任意操作。它可以用于注释变异,例如使用 gnomad 数据库注释变异频率,速度可达每秒超过 30,000个变异;调用 *denovo* 变异;定义和过滤任意群体;使用简单表达式过滤变异等。slivar 还提供子命令,例如 `expr` 用于过滤和注释,`make-gnotate` 用于创建压缩的注释文件,`compound-het` 用于使用相位遗传在基因注释中查找真正的复合杂合子。slivar 可以通过下载静态二进制文件或使用 Docker 镜像进行安装。
* [pangenome/pggb](https://github.com/pangenome/pggb) `pggb` 是一个用于构建泛基因组变异图的工具,它能够从一组输入序列中构建泛基因组变异图,该图是一种通用的多序列比对,可以帮助我们理解基因组之间任何类型的序列变异。`pggb` 使用全对全比对(wfmash)、图归纳(seqwish)和渐进式归一化(smoothxg、gfaffix)来构建这种图,并使用 odgi 生成图的诊断可视化。`pggb` 的输出以 GFAv1 格式写入,可以作为许多“基因组图”和泛基因组工具(如 vg 和 odgi 工具包)的输入。`pggb` 已在人类泛基因组参考联盟 (HPRC) 中进行了大规模测试,作为从人类泛基因组草案构建图的一种方法。
* [daler/pybedtools](https://github.com/daler/pybedtools) pybedtools是一个 Python 库,它包装并扩展了 BEDTools,BEDTools 是一个广泛用于基因组区间操作的生物信息学工具套件。pybedtools允许你在 Python 中进行特征级操作,并支持所有 BEDTools 支持的格式。它提供对所有 BEDTools 程序和参数的包装,并支持流式结果,类似于 Unix 管道。你可以通过索引或属性访问来迭代结果,并访问特征数据。与使用 shell 脚本相比,pybedtools 提供了更简洁、更易读的方式来进行基因组分析,例如查找与基因组间 SNP 距离小于 5kb 的基因名称。完整的文档和安装说明可以在 https://daler.github.io/pybedtools/ 找到。
* [ChristofferFlensburg/superFreq](https://github.com/ChristofferFlensburg/superFreq) superFreq是一个用于分析癌症外显子组数据的 R 包,它可以分析和过滤体细胞 SNV 和短插入缺失,调用拷贝数并跟踪来自同一患者的多个样本中的克隆。它可以识别每个克隆中的拷贝数变异和点突变,并通过变异注释和COSMIC 突出显示潜在的致病突变。superFreq 可以使用 `superFreq()` 函数运行,该函数需要输入元数据文件、参考正常样本目录、参考基因组信息、CPU 数量和模式等参数。该软件包还提供了用于分析多个患者的队列的选项,并支持多种基因组模式,包括外显子组、RNA 测序和全基因组。superFreq 的最新版本为 1.3.2。
* [hall-lab/svtools](https://github.com/hall-lab/svtools) svtools是一个用于处理和分析基因组结构变异的工具集,它可以高效地合并和基因型来自 speedseq sv 的结构变异调用结果,适用于数千甚至数万个基因组。svtools 包含多个子命令,用于处理结构变异的 VCF 或 BEDPE 文件,例如对 VCF 文件进行排序、合并、添加拷贝数信息、基因型计算、添加等位基因频率信息等。此外,svtools还提供了一些辅助脚本,例如将 BEDPE 文件转换为 BED12 格式,以便在 IGV 或 UCSC 浏览器中查看。svtools 可以通过 pip 安装,并提供详细的安装指南。用户可以通过 GitHub 仓库中的 issue 提交问题或寻求帮助。
* [abyzovlab/CNVpytor](https://github.com/abyzovlab/CNVpytor) 拷贝数变异(CNV)和拷贝数异常(CNA)是基因组学中重要的概念,涉及到基因组中DNA片段的数量变化。这些变化可以影响基因的表达和功能,进而与多种疾病,尤其是癌症的发生发展密切相关。CNVpytor是一个基于 Python 的工具,用于从比对reads的深度覆盖率分析CNV/CNA,是CNVnator的扩展。它由Mayo Clinic的Abyzov实验室开发,提供命令行工具和Python库,支持多种功能,包括可视化、合并和注释调用、检测体细胞CNA等。CNVpytor可以生成多种类型的图形,例如曼哈顿图、圆形图、区域图和比较图,并支持与igv.js和igv-webapp的集成。
* [macs3-project/MACS](https://github.com/macs3-project/MACS) MACS(Model-based Analysis of ChIP-Seq) 是一款用于识别转录因子结合位点的 ChIP-Seq 数据分析工具。它通过考虑基因组复杂性来评估富集的 ChIP 区域的显著性,并结合测序标签位置和方向信息来提高结合位点的空间分辨率。MACS可以单独用于 ChIP-Seq 数据分析,也可以与对照样本一起使用以提高特异性。此外,作为通用的峰值调用器,MACS还可以应用于任何“DNA 富集测定”,只要问题是:* 在哪里可以找到比随机背景更显著的读数覆盖率*。MACS3 项目由 Chan Zuckerberg Initiative (CZI) 赞助,并感谢用户社区多年来的支持、反馈和贡献。
* [mkanai/fujiplot](https://github.com/mkanai/fujiplot) Fuji plot是一个用于可视化多个GWAS (Genome-wide association study 全基因组关联分析) 结果的Circos绘图工具,它可以高效地总结数十个性状的显著SNP。该工具是Circos的包装脚本,可以从GWAS结果生成输入数据和配置文件。Fuji plot的名称来源于日本富士山,其山脊和山麓与该工具生成的图形非常相似。该工具需要R语言(包含dplyr和stringr包)以及Circos软件。用户可以通过命令行运行脚本,并提供显著性状相关位点文件和性状列表文件作为输入,生成Circos图形和可选的条形图。该工具的输出文件可以用于进一步的分析和可视化。
* [samtools/samtools](https://github.com/samtools/samtools) samtools是一个用于处理下一代测序数据的工具集,使用C语言编写,基于htslib库。它包含了用于处理SAM、BAM、CRAM文件的mpileup和其他工具,以及用于处理VCF、BCF文件的变异调用和其他工具。samtools最初的软件包已被拆分为三个独立但紧密协作的项目:htslib、samtools和bcftools。samtools可以从源代码构建,需要使用autoheader、autoconf和make命令。默认情况下,它会构建到`../htslib`中的HTSlib源代码树中,也可以通过`--with-htslib=DIR`配置选项指定其他位置。samtools在许多基因组学研究中被广泛使用,并已发表在《GigaScience》杂志上。
* [LieberInstitute/INTERACT](https://github.com/LieberInstitute/INTERACT) INTERACT是一个用于预测人类大脑中DNA甲基化(DNAm)调控变异的项目,它利用局部DNA序列来训练新的DNAm预测模型,并可用于任何具有全基因组DNAm谱的组织。该项目使用PyTorch框架,通过五个步骤来预测DNAm水平:1. 计算Illumina HumanMethylationEPIC (epic) 芯片中每个CpG位点的特征;2. 使用wgbs数据预训练DNAm预测模型;3. 使用epic芯片数据微调DNAm预测模型;4. 计算全基因组CpG位点的特征;5. 使用训练好的大脑特异性模型预测DNA序列中CpG位点的DNAm水平。该项目还提供了用于训练新模型的代码,可用于预测不同组织的DNAm水平。
* [hms-dbmi/scde](https://github.com/hms-dbmi/scde) scde是一个用于分析单细胞RNA测序数据的R包,它通过拟合单细胞RNA测序数据的个体误差模型来识别差异表达基因,并包含pagoda框架,可用于分析单细胞转录异质性。该软件包提供了用于评估细胞组间差异表达以及其他类型分析的工具,并包含用于识别单细胞转录异质性的途径和基因集过度分散分析。scde的差异表达分析方法在《Nature Methods》期刊上发表,而途径和基因集过度分散分析方法则在《Nature Methods》期刊上发表。用户可以访问scde网站和Bioconductor软件包页面获取更多安装信息、教程和相关资料。
* [luntergroup/octopus](https://github.com/luntergroup/octopus) Octopus是一个基于映射的变异调用工具,它在一个统一的单倍型感知框架内实现了多个调用模型。Octopus从粒子滤波中汲取灵感,通过构建单倍型树并在顺序方式下基于单倍型后验概率动态修剪和扩展树,从而在合理的时间内隐式考虑给定基因座的所有可能单倍型。目前有六种调用模型可用:单个样本、群体、三代、癌症、多克隆和细胞。Octopus调用SNV、中小型插入缺失和小型复杂重排,并以VCF 4.3格式输出结果。用户可以使用简单的命令行工具安装和运行Octopus,并参考GitHub页面上的文档获取更多信息。
* [calico/basenji](https://github.com/calico/basenji) Basenji是一个基于深度卷积神经网络的工具,用于预测长染色体序列上的调控活性。它可以训练模型来预测调控活性,并根据预测结果评估变异对调控活性的影响,还可以标注影响基因活性的远端调控元件和驱动调控元件功能的特定核苷酸。Basenji 基于 TensorFlow 开发,并提供多种功能,例如分布式计算和强大的开发者社区。此外,它还提供了用于训练和评估模型的工具,以及用于预测变异影响和标注调控元件的脚本。除了 Basenji,该项目还包含 Akita 和 Saluki,分别用于预测 3D 基因组折叠和 mRNA 半衰期。
* [liyu95/DeepSimulator](https://github.com/liyu95/DeepSimulator) DeepSimulator是首个基于深度学习的纳米孔测序模拟器,它能够模拟纳米孔测序的整个流程。该项目使用上下文相关的深度学习模型模拟电信号,并通过碱基识别过程生成模拟读段,更自然地模拟测序过程。与官方的上下文无关孔模型相比,DeepSimulator 生成的信号更接近实验获得的信号。用户可以通过参数界面获得不同准确率(83% 到 97%)的读段,默认参数生成的读段与真实数据具有几乎相同的特性。该项目提供详细的安装步骤和示例,用户可以根据需要选择上下文相关或上下文无关的孔模型进行模拟。
* [Boyle-Lab/Blacklist](https://github.com/Boyle-Lab/Blacklist) ENCODEBlacklist 是一个用于识别基因组中存在问题的区域的工具,这些区域在下一代测序实验中表现出异常、无结构或高信号,与细胞系或实验无关。该工具可用于人类、小鼠、蠕虫和果蝇基因组,并提供 dm3、dm6、ce10、ce11、mm10、hg19 和 hg38 版本的 blacklist。该工具需要大量的内存和磁盘空间,并建议使用至少 64GB 内存和 24 核 CPU 的计算机。Blacklist 是基于染色体或重叠群构建的,用户可以使用命令行工具生成 blacklist 文件。该工具还提供了历史版本,用户可以在 ENCODE网站或 UCSC 基因组浏览器中查看。
* [sstadick/perbase](https://github.com/sstadick/perbase) Perbase是一个高性能的工具,用于对BAM/CRAM文件进行逐碱基分析,它利用Rust的并发系统实现自动并行化,从而大幅提升运行速度。Perbase提供`base-depth`工具,可以计算每个位置的深度、每个碱基的数量以及插入和缺失的数量,并输出详细的统计信息,包括深度、A/C/G/T/N碱基数量、插入/缺失数量、参考跳过操作数量、过滤失败的读数数量等。Perbase的输出结果更加准确,例如它将DELs计入深度,而其他工具则不会。用户可以通过conda或cargo安装Perbase,也可以从GitHub Releases页面下载预编译的二进制文件。
* [maxplanck-ie/snakepipes](https://github.com/maxplanck-ie/snakepipes) SnakePipes是一个基于 Snakemake 的灵活强大的 NGS 数据分析工作流,它简化了 NGS 数据的分析流程。它包含了 DNA 测序、ChIP-seq、RNA 测序、ncRNA 测序、ATAC-seq、scRNA-seq、Hi-C、makePairs、全基因组亚硫酸盐测序等多种分析流程,其中部分流程还支持等位基因特异性分析。SnakePipes 使用 Conda进行安装,也可以从 GitHub 上直接安装。安装完成后需要进行一些配置,具体配置方法请参考文档。如果您使用 SnakePipes 进行分析,请引用相关文献。SnakePipes 目前仍在积极开发中,欢迎您提出功能需求或 bug 报告。
* [PapenfussLab/gridss](https://github.com/PapenfussLab/gridss) GRIDSS是一个模块化软件套件,包含用于检测基因组重排的工具。它利用基于比对引导的局部德布鲁因图基因组范围断点组装、分裂读和读对证据来调用变异。GRIDSS 广泛使用 SAM 规范定义的标准标签,并采用模块化设计,允许替换任何步骤(如分裂读识别),使其与其他工具互操作。GRIDSS 的核心功能包括基因组范围断点组装和针对 Illumina 测序数据的结构变异调用。它提供详细的文档和快速入门指南,并提供多种引用方式,包括针对不同版本的 GRIDSS 和其子模块 VIRUSBreakend 和 LINX 的引用。
* [millanek/Dsuite](https://github.com/millanek/Dsuite) Dsuite是一个快速计算Patterson's D (ABBA-BABA) 和f4-ratio统计量的工具,可用于分析多个群体/物种之间的基因流。该工具支持多种分析模式,包括Dtrios、Dquartets、Dinvestigate和Fbranch,可用于计算不同群体/物种三元组或四元组之间的D统计量和f4-ratio统计量,并进行后续分析。Dsuite需要一个VCF文件和一个包含群体/物种映射信息的SETS.txt文件作为输入,并可以处理多等位基因位点和插入缺失,但仅使用双等位基因SNP进行分析。Dsuite还提供了一个详细的教程,用于指导用户使用该工具进行基因流分析。
* [xjtu-omics/msisensor-pro](https://github.com/xjtu-omics/msisensor-pro) MSIsensor-pro 是一个用于检测癌症患者微卫星不稳定性 (MSI) 的软件,它基于高通量测序数据,可以处理全基因组测序、全外显子组测序和靶向区域测序数据。MSIsensor-pro 引入了一种多项式分布模型来量化每个肿瘤样本的聚合酶滑移,并采用了一种判别性位点选择方法,无需匹配正常样本即可进行 MSI 检测。对于不同测序深度和肿瘤纯度的样本,MSIsensor-pro 在准确性和计算成本方面显著优于当前需要匹配正常样本的领先方法。该项目已发表在《基因组学、蛋白质组学与生物信息学》期刊上。
* [marbl/canu](https://github.com/marbl/canu) Canu是一个用于组装大小基因组的单分子序列组装器,它是Celera Assembler的衍生项目,专门针对高噪声单分子测序数据(如PacBio RS II/Sequel或Oxford Nanopore MinION)。它是一个分层组装管道,包含四个步骤:使用MHAP检测高噪声序列中的重叠、生成校正后的序列共识、修剪校正后的序列以及组装修剪后的校正序列。Canu提供了快速入门指南和教程,帮助用户快速上手。用户可以通过命令行参数来控制组装过程。Canu支持多种安装方式,包括下载预编译版本、使用包管理器安装或从源代码编译。
* [NBISweden/GAAS](https://github.com/NBISweden/GAAS) GAAS(Genome Assembly and Annotation Service)是一个生物信息学工具集,提供基因组组装和注释相关任务的解决方案。该项目包含工具和知识,可用于生物信息学和注释相关工作。用户可以通过conda或传统的安装方式安装GAAS。conda安装方法简单,只需使用`conda install -cbioconda gaas`命令即可。传统安装方法需要先安装R和Perl,并使用cpanm或conda安装必要的Perl模块。安装完成后,用户可以利用GAAS提供的工具进行基因组组装和注释等操作。该项目还提供了一个知识库,包含基因组组装相关的知识。
* [bbuchfink/diamond](https://github.com/bbuchfink/diamond) DIAMOND是一个高性能的序列比对工具,用于蛋白质和翻译后的DNA搜索,比BLAST快100到10,000倍。它支持蛋白质聚类(最多数十亿个蛋白质)、长读分析的移码比对,资源占用低,适合在标准台式机或笔记本电脑上运行。DIAMOND提供多种输出格式,包括BLAST成对、表格和XML,以及分类学分类。该项目由Benjamin Buchfink开发,并积极维护和更新。用户可以通过GitHub问题跟踪器报告故障,并通过GitHub讨论区提出问题、评论、功能请求等。在已发表的研究中使用该工具时,请引用相应的文献。
* [brentp/smoove](https://github.com/brentp/smoove) Smoove 是一种简化和加速短读段结构变异 (SV) 调用和基因分型的工具。它通过过滤掉虚假比对信号并利用现有工具(如 lumpy、svtyper 和 duphold)来实现这一点。Smoove 既支持使用单个命令的小型队列,也支持使用四个步骤的群体级调用,其中两个步骤可以按样本并行执行。它提供并行处理、高覆盖区域移除和与 svtyper 集成进行基因分型等功能。Smoove 可以通过 Docker 映像安装,也可以从项目的发布页面下载二进制文件。它可以用于小型和大型队列,每种场景都有不同的使用命令。
* [COMBINE-lab/pufferfish](https://github.com/COMBINE-lab/pufferfish) Pufferfish是一个高效的索引结构,用于索引压缩、着色的de Bruijn图,它比传统的BWT索引方法更节省时间和内存,并能有效地处理重复序列。Pufferfish是基于cdBG(压缩的de Bruijn图)构建的,可以用于快速比对reads,并支持比对到转录组和基因组。Puffaligner是基于Pufferfish索引构建的快速、敏感和准确的比对器,它采用种子扩展策略,并借鉴了BWA-MEM和minimap2的链式比对方法,可以实现快速比对。Puffaligner还支持将reads比对到多个基因组或转录组,并可以引入诱饵序列来提高比对精度。
* [flowhub-team/awesome-omics](https://github.com/flowhub-team/awesome-omics) 关于所有组学的精彩内容的集合。欢迎任何人提供有关各种组学的信息。内容: Commons - 组学通用资源 MultiOmics - 多组学资源集合 基因组学- 基因组学资源集合 表观基因组学- 表观基因组学资源集合 微生物组学- 微生物组学资源集合 脂质组学- 脂质组学资源集合 蛋白质组学- 蛋白质组学资源集合 糖组学- 糖组学资源集合 食品组学- 食品组学资源集合 转录组学- 转录组学资源集合 代谢组学- 代谢组学资源集合 Nutrition 营养 Pharmacology 药理 Toxicology 毒理学 Company 公司
* [freebayes/freebayes](https://github.com/freebayes/freebayes) freebayes是一个基于贝叶斯模型的遗传变异检测工具,用于发现短读测序数据中的小多态性,包括SNP、Indel、MNP和复杂事件。它基于单倍型,根据比对到特定目标的reads的序列来调用变异,而不是它们的精确比对。freebayes使用短读比对(BAM文件)、参考基因组(FASTA格式)和可选的变异集(VCF)来确定每个位置上群体最可能的基因型组合,并以VCF格式报告发现的可能多态性位置。它由Erik Garrison和Pjotr Prins维护,可通过预编译的Linux二进制文件、Debian和Conda包以及源代码安装。
* [ablab/spades](https://github.com/ablab/spades) SPAdes是一个用于组装和分析测序数据的通用工具包,主要针对Illumina测序数据,但也支持IonTorrent数据。大多数SPAdes管道支持混合模式,即允许使用长读段(PacBio和Oxford Nanopore)作为补充数据。SPAdes软件包包含用于分离和单细胞细菌以及宏基因组和转录组数据的组装管道。其他模式允许发现细菌质粒和RNA病毒,以及执行HMM引导的组装。此外,SPAdes软件包还包括用于高效k-mer计数和基于k-mer的读段过滤、组装图构建和简化、序列到图比对和宏基因组binning细化的补充工具。
* [richarddurbin/pbwt](https://github.com/richarddurbin/pbwt) pbwt项目提供了一个用于存储和计算基因组变异数据的 PBWT (Positional Burrows-Wheeler Transform) 方法的核心实现和开发环境。PBWT 支持对齐的单倍型数据的行程长度压缩表示,可以在其上构建高效的匹配算法。通常 PBWT 压缩比通用压缩好得多,特别是对于大量单倍型,并且搜索算法在查询大小上是线性的,与参考大小无关。该项目还包含各种尚未发布的单倍型推断和填补方法。该项目支持从 .vcf 文件读取数据,并提供各种命令,例如计算单倍型频率谱、寻找最大匹配等。
* [pachterlab/sleuth](https://github.com/pachterlab/sleuth) sleuth是一个用于RNA-Seq数据差异分析的R包,它利用kallisto提供的定量不确定性估计,可以进行基因或转录本的精确差异分析,支持复杂实验设计,并提供sleuth live交互式探索数据分析功能。sleuth方法发表在Nature Methods上,相关代码可在GitHub上找到。安装sleuth最简单的方法是使用Bioconductor的devtools包,也可以通过conda安装。sleuth的详细文档可以在R中通过help()命令获取,并提供多个示例和教程。用户可以在GitHub上提交bug报告,并加入kallisto-sleuth用户Google Group寻求帮助。
* [BIMSBbioinfo/janggu](https://github.com/BIMSBbioinfo/janggu) Janggu是一个用于基因组学深度学习的Python包,提供易于访问基因组数据格式(如FASTA、BAM、BIGWIG、BED和GFF)并将其用于机器学习的功能。它支持多种数据规范化方法,并允许使用高阶序列特征(如二核苷酸特征)表示生物特征。Janggu还提供了一个Keras模型包装器,具有内置的日志记录功能和自动化的结果评估,并支持使用集成梯度方法进行输入特征重要性归因和变异效应预测评估。此外,它还提供了一些实用程序,例如用于扫描DNA双链以查找基序出现的Keras层。
* [Ensembl/ensembl-vep](https://github.com/Ensembl/ensembl-vep) EnsemblVariant Effect Predictor (VEP) 是一个功能强大的工具,用于预测基因组变异的功能影响。它可以识别变异对基因、转录本和蛋白质的影响,并提供详细的注释信息。VEP 支持多种输入格式,包括 VCF、BED 和 FASTA,并可以输出各种格式的结果,包括文本、JSON 和 HTML。除了 VEP,该项目还包含 Haplosaurus 工具,用于预测全转录本单倍型序列,以及 Variant Recoder 工具,用于在不同变异编码之间进行转换。VEP 可以通过命令行或 Docker 容器使用,并提供详细的文档和教程。
* [hall-lab/speedseq](https://github.com/hall-lab/speedseq) SpeedSeq是一个灵活的框架,用于快速进行基因组分析和解读。它提供了一套工具,可以快速完成基因组比对、变异检测、体细胞变异检测、结构变异检测和重新比对等任务。SpeedSeq利用了BWA、FreeBayes、LUMPY、Sambamba、SAMBLASTER、Vawk、GNU Parallel和mbuffer等工具,并通过一个配置文件(speedseq.config)来管理这些工具的路径。用户可以通过简单的命令行操作来运行SpeedSeq,并获得基因组分析结果。SpeedSeq还提供了示例脚本和Amazon Machine Image(AMI),方便用户快速上手。
* [GreenleafLab/chromVAR](https://github.com/GreenleafLab/chromVAR) chromVAR是一个R包,用于分析来自单细胞或批量ATAC或DNAse-seq数据的稀疏染色质可及性数据。该软件包旨在识别与单个细胞或样本之间染色质可及性变化相关的基序或其他基因组注释。该方法的详细概述,请参见[出版物](https://www.nature.com/nmeth/journal/vaop/ncurrent/full/nmeth.4401.html) ([pdf](http://greenleaf.stanford.edu/assets/pdf/nmeth.4401.pdf),[补充](https://drive.google.com/file/d/0B8eUn6ZURmqvUjBCbE5Hc0p4UFU/view?usp=sharing))。 chromVAR可以通过BiocManager安装,并推荐使用BiocParallel进行并行化。
* [bactopia/bactopia](https://github.com/bactopia/bactopia) Bactopia是一个灵活的细菌基因组全方位分析管道,旨在通过一系列工具处理您的数据,让您更快地进行分析。它包含两个主要部分:Bactopia分析管道(使用Nextflow,对单个样本进行质量控制、组装、注释、minmer sketch查询、序列分型等分析)和Bactopia工具(用于比较分析,例如汇总报告、泛基因组或系统发育树构建)。Bactopia的灵感来自Staphopia,并从一开始就着重于易用性、可移植性和速度。您可以使用Conda安装Bactopia,并通过简单的命令行操作运行分析。
* [cokelaer/bioservices](https://github.com/cokelaer/bioservices) BioServices是一个 Python 包,提供对众多生物信息学 Web 服务(例如 UniProt)的访问,并提供一个框架,方便地实现基于 WSDL/SOAP或 REST 协议的 Web 服务包装器。BioServices 的主要目标是使用 Python 作为粘合语言,为多个生物信息学 Web 服务提供编程访问。它旨在利用现有的生物数据库,并减轻开发人员/用户对 Web 服务的专业知识需求。BioServices 提供了对大约 40个 Web 服务的访问。例如,可以使用 UniProt Web 服务搜索人类中的 zap70 基因,并以表格格式获取结果。
* [signalbash/how_are_we_stranded_here](https://github.com/signalbash/how_are_we_stranded_here) how_are_we_stranded_here 是一个 Python 包,用于检测 RNA-Seq fastq 文件的链特异性。它通过使用 kallisto 进行比对,并利用 RSeQC 的 infer_experiment.py 工具分析比对结果,从而判断数据是否为 RF/fr-firststrand、FR/fr-secondstrand或 unstranded。该项目需要 kallisto、RSeQC 和 Python 3.6.0 以上版本,以及转录组注释文件(.fasta和 .gtf)。用户只需提供 fastq 文件、gtf 文件和 transcripts fasta 文件,即可运行 check_strandedness 命令,该命令会输出分析结果,并提供对数据的链特异性判断。
* [pmelsted/bifrost](https://github.com/pmelsted/bifrost) Bifrost是一个高性能的工具,用于构建、索引和查询彩色压缩的de Bruijn图。它可以处理reads或组装的基因组作为输入,并输出GFA格式的图(可以使用Bandage可视化),FASTA或二进制格式。Bifrost支持多线程,无需估计其他工具的参数,并提供精确或近似k-mer查询。它还提供C++ API,允许用户将自己的数据与顶点关联,添加或删除子序列/k-mer/颜色,以及查找包含查询k-mer的unitigs。Bifrost已被多个工具集成或使用,包括Kallisto、Ratatosk、ggCaller、popIns2和PLAST。
* [griffithlab/regtools](https://github.com/griffithlab/regtools) RegTools是一个工具集,用于整合DNA测序和RNA测序数据,帮助解释突变在基因表达调控和剪接方面的作用。它可以识别RNA读段中与突变相关的异常剪接现象,提取RNA测序BAM文件中的外显子-外显子连接,并使用已知转录组信息对这些连接进行注释。此外,RegTools还可以对突变进行剪接区域注释,并提供方便的安装和使用指南。该项目提供测试数据和示例命令,方便用户验证安装和测试功能。用户可以通过GitHub Issue Tracker和邮件列表寻求帮助和支持。
* [BatzoglouLabSU/SIMLR](https://github.com/BatzoglouLabSU/SIMLR) SIMLR是一个用于单细胞RNA测序数据分析的相似性学习框架,它通过结合多个核函数来学习最适合数据结构的距离度量,从而实现降维、聚类和可视化。SIMLR能够比现有的降维方法更准确地分离已知的亚群,并在10x Genomics的GemCode单细胞技术产生的高通量外周血单个核细胞(PBMC)数据集中表现出高灵敏度和准确性。该项目提供R和Matlab两种语言的实现,包括标准版本、大规模数据集处理版本和特征排序版本,以及用于估计数据中聚类数量的脚本。
* [zhengxwen/SNPRelate](https://github.com/zhengxwen/SNPRelate) SNPRelate是一个 R 包,用于对 SNP 数据进行平行计算,加速了两个关键计算:主成分分析 (PCA) 和基于血缘关系的分析。它使用C/C++ 编写内核并高度优化,支持 GDS 格式,该格式针对仅占用两个比特的整数进行了优化。该项目还推荐使用SeqArray 包来处理大规模全外显子组和全基因组测序变异数据。SNPRelate 在 Bioconductor 上发布,并提供教程和引用信息。开发者可以使用 Github 上的开发版本。该项目还使用 Intel Intrinsics 进行优化,以提高计算效率。
* [eblerjana/pangenie](https://github.com/eblerjana/pangenie) PanGenie是一个基于泛基因组的短读基因型分析工具,它利用泛基因组图中表示的各种遗传变异(如SNP、Indel和结构变异)对短读序列进行基因型分析。该工具基于读取k-mer计数和一组已知的完全组装的单倍型来计算基因型。PanGenie需要一个有向无环泛基因组图作为输入,该图以VCF文件形式表示,该文件必须具有以下特性:多样本、完全定相、非重叠变异和序列解析。PanGenie可以对二倍体个体进行基因型分析,并需要输入变异和短读序列数据。
* [arq5x/lumpy-sv](https://github.com/arq5x/lumpy-sv) LUMPY是一个用于结构变异发现的概率框架,它可以识别基因组中的结构变异,例如插入、缺失、重复和倒置。该项目提供两种使用方式:LUMPY Express和LUMPY(传统)。LUMPY Express是一个自动化流程,适用于标准分析,而LUMPY则更灵活,可用于高级用户进行定制化的分析。LUMPY需要g++编译器和CMake,LUMPY Express则需要Samtools、SAMBLASTER、Python 2.7、pysam、NumPy、sambamba和gawk。用户可以通过git clone命令下载并安装LUMPY,并使用lumpyexpress命令运行LUMPY Express。
* [MareesAT/GWA_tutorial](https://github.com/MareesAT/GWA_tutorial) 该项目是一个关于全基因组关联分析 (GWAS) 和多基因风险评分 (PRS) 的综合教程,提供了一系列脚本和教程,涵盖了 GWAS数据分析的各个步骤,包括质量控制、群体分层处理、关联分析和 PRS 分析。教程使用可公开获取的数据,并提供详细的步骤指南,适合初学者学习和实践。教程使用 Unix/Linux 系统运行,需要按照顺序依次完成前三个教程,第四个教程则可以独立进行。项目还推荐了 eMAGMA 教程,可以用于进行 eQTL 驱动的基因组关联分析。
* [lh3/minigraph](https://github.com/lh3/minigraph) Minigraph是一个序列到图的比对器和图构建器,它可以将查询序列比对到序列图,并使用与图不同的长查询子序列来增量构建现有图。Minigraph借鉴了minimap2的思想和代码,效率很高,可以使用24个CPU核心在几天内从90个人类组装中构建一个图。最新版本可以进行碱基比对,建议在图生成时添加选项“-c”,因为它通常可以提高图的质量。Minigraph可以将序列映射到图,并生成图,还可以调用结构变异。它支持多种格式,包括GFA、rGFA、PAF和GAF。
* [vgteam/vg](https://github.com/vgteam/vg) vg是一个用于处理基因组变异图的工具集,它包含变异图数据结构、交换格式、比对、基因型分析和变异调用方法。vg 使用节点和边来表示基因组序列,并使用路径来描述基因组、序列比对和注释。vg 的工具可以将图相对数据投影到参考相对坐标空间,并提供稳定的坐标,即使图的结构发生变化。vg 支持多种功能,包括基因组变异图构建、比对、基因型分析、变异调用和可视化。用户可以通过下载预编译版本或从源代码构建来安装 vg。
* [nygenome/lancet](https://github.com/nygenome/lancet) Lancet是一个用于NGS数据的体细胞变异检测工具,能够检测短读数据中的SNVs和Indels。它采用局部微组装策略,通过将肿瘤和正常样本的reads在同一个图中联合分析,来提高肿瘤/正常样本对的体细胞突变检测的敏感性和准确性。Lancet基于彩色de Bruijn图组装范式,并利用实时重复序列分析和自适应k-mer策略,提高了低复杂度序列区域的检测特异性。Lancet需要使用BWA对原始reads进行比对,并用C++实现。该项目可用于学术和非商业研究目的。
* [ACEnglish/truvari](https://github.com/ACEnglish/truvari) Truvari是一个用于结构变异 (SV) 的工具包,可以进行 SV 的基准测试、合并和注释。它使用 Python 3.6+编写,可以通过 pip 安装。Truvari 提供了多个命令,例如 `bench` 用于比较两个 VCF 文件并计算性能指标,`collapse` 用于合并可能冗余的 VCF 条目,`refine` 用于使用 phab 自动细化基准测试结果,`anno` 用于向 VCF添加 SV 注释,`phab` 用于使用 MSA 协调变异表示,`consistency` 用于生成多个 VCF 之间的一致性报告等等。更多信息请参考项目 WIKI 页面。
* [ndaniel/fusioncatcher](https://github.com/ndaniel/fusioncatcher) FusionCatcher是一个用于 RNA-seq 数据中寻找体细胞融合基因的工具。它可以识别新的或已知的体细胞融合基因、易位和嵌合体,并提供高检测率、高 RT-PCR 验证率和易用性。FusionCatcher 利用生物学知识和数据库过滤掉已知的假阳性,并自动选择最佳参数进行分析,例如自动识别接头、质量修剪和构建外显子-外显子连接。用户可以根据需要进行手动调整,以获得最佳的检测结果。该项目提供详细的文档和论坛,方便用户使用和交流。
* [igvteam/igv](https://github.com/igvteam/igv) IGV是一个快速、高效、可扩展的基因组数据和注释可视化工具,适用于 Mac、Windows 和 Linux。它允许用户以交互式方式浏览和分析基因组数据,包括基因组序列、基因注释、变异、表达数据等。IGV 支持多种数据格式,并提供丰富的功能,例如基因组浏览、数据可视化、数据分析、数据共享等。用户可以通过预构建的版本或从源代码构建 IGV。IGV还支持 Amazon Web Services,允许用户访问和加载存储在 Amazon S3 存储桶中的公共数据文件。
* [vcftools/vcftools](https://github.com/vcftools/vcftools) VCFtools 是一套用 Perl 和 C++ 编写的工具,用于处理 VCF 文件,这是一种存储遗传变异数据的标准格式。它提供了各种功能来处理、分析和汇总 VCF 数据。该项目由 1000 基因组计划开发,并根据 GNU 宽通用公共许可证版本 3.0 发布。您可以从发布 tarball 或直接从 GitHub 存储库构建 VCFtools。文档和使用示例可在线获取,您可以通过向邮件列表发送电子邮件获得帮助。如果您在研究中使用 VCFtools,请引用《生物信息学》中的相应出版物。
* [aertslab/SCENIC](https://github.com/aertslab/SCENIC) SCENIC是一个用于从单细胞RNA测序数据推断基因调控网络和细胞类型的R包,它已被弃用,推荐使用其Python版本pySCENIC。SCENIC通过整合基因表达数据和转录因子-靶基因关系信息来推断细胞类型特异的基因调控网络,并提供相应的分析工具和教程,包括R、Python和SCope网页界面。SCENIC的输出结果可以用于探索细胞类型特异的基因调控网络,并进行相关分析。该项目还提供Nextflow工作流和Jupyter notebooks,方便用户在不同场景下使用SCENIC。
* [deeptools/pyGenomeTracks](https://github.com/deeptools/pyGenomeTracks) pyGenomeTracks是一个用于绘制精美且高度可定制的基因组浏览器轨迹的独立程序和库,它可以绘制bigwig、bed/gtf、bedgraph、bedgraph矩阵、epilogos、窄峰、链接(以弧线、三角形或正方形表示)、Hi-C矩阵(以三角形或正方形表示)、fasta和maf等多种数据类型。该项目的工作原理是将输入数据转换为可视化轨迹,并使用matplotlib库进行绘制,可以生成包含或不包含Hi-C数据的图形。例如,它可以用于绘制来自Ramírez et al. 2017的研究结果。
* [dellytools/delly](https://github.com/dellytools/delly) DELLY2是一个整合了配对末端和分割读取分析的结构变异(SV) 预测方法,能够在短读长和长读长的大规模平行测序数据中以单核苷酸分辨率发现、基因型和可视化缺失、串联重复、倒位和易位。它使用配对末端、分割读取和读取深度来敏感而准确地描绘整个基因组的基因组重排。DELLY2可通过 Bioconda、Docker 容器、静态链接二进制文件和 Singularity 容器安装。它支持并行计算,并提供用于短读长、长读长和拷贝数变异调用的示例。
* [netZoo/netZooR](https://github.com/netZoo/netZooR) netZooR是一个用 R 语言实现的网络生物学软件包,用于重建、分析和绘制生物网络。它集成了 PANDA 和 CONDOR 两种方法,PANDA 用于估计双向基因调控网络,CONDOR 用于双向网络中的社区检测。PANDA 通过整合基因表达数据、蛋白质-蛋白质相互作用数据和转录因子结合基序数据来估计基因调控网络,CONDOR 则通过优化双向网络的模块化指标来识别社区。netZooR 提供了丰富的功能,可以帮助研究人员深入理解生物网络的结构和功能。
* [ratschlab/metagraph](https://github.com/ratschlab/metagraph) MetaGraph是一个用于构建和分析大型基因组图的工具,它支持构建包含数万亿个节点和数百万个注释标签的图。MetaGraph使用简洁的数据结构和高效的表示方案,可以实现极高的可扩展性。它提供了一个Python API,用于在服务器模式下查询图,并支持对非常大的注释图进行序列比对。MetaGraph还支持自定义字母表,并提供用于差异组装的算法。MetaGraph可以用于索引DNA序列、比对序列和组装基因组。它可以通过conda或docker安装。
* [COMBINE-lab/salmon](https://github.com/COMBINE-lab/salmon) Salmon是一个快速且准确的 RNA-seq 数据转录本水平定量工具,它利用选择性比对(一种快速且准确的传统读比对替代方法)和并行随机坍缩变分推断等技术来实现高效的定量。用户可以选择提供原始测序读或已比对的 BAM 文件,Salmon 都能快速准确地估计转录本丰度。此外,Salmon 还支持使用诱饵序列来提高定量精度,通过索引转录组和基因组,可以有效地识别并排除来自非预期来源的片段,从而提高定量结果的准确性。
* [dasmoth/dalliance](https://github.com/dasmoth/dalliance) Biodalliance是一个交互式网页基因浏览器,可在Chrome、Firefox、Safari和IE11等主流浏览器中运行,并支持移动端浏览器。它提供高交互性,可用于浏览基因组数据,并提供多种功能,例如数据可视化、基因组注释、数据分析等。用户可通过访问[https://www.biodalliance.org/human37.html](https://www.biodalliance.org/human37.html)体验其功能。开发者可使用Gulp构建系统进行开发,并可通过Github issue tracker或邮件列表进行问题反馈和功能建议。
* [davidaknowles/leafcutter](https://github.com/davidaknowles/leafcutter) Leafcutter是一个用于无注释RNA剪接定量的工具,它利用短读RNA测序数据,通过分析跨越内含子的剪接reads来量化(差异)内含子使用情况。Leafcutter的优势包括:能够轻松检测新的内含子,对比外显子PSI更复杂地建模剪接事件,避免了同种型丰度估计的挑战,以及简单高效的算法,可扩展至数百甚至数千个样本。Leafcutter还提供了一个shiny应用程序,用于可视化Leafcutter结果,例如GTEx脑组织和心脏组织的差异剪接结果。
* [ryanlayer/giggle](https://github.com/ryanlayer/giggle) GIGGLE是一个基因组搜索引擎,可以识别和排名查询特征与数千个基因组区间文件之间共享的基因组位点的显著性。它通过构建一个索引来存储基因组区间数据,并使用该索引来快速搜索和分析查询特征。GIGGLE支持多种基因组区间文件格式,包括BED和VCF文件。它还提供了一系列功能,例如计算重叠区间数量、计算显著性分数以及过滤结果。GIGGLE的代码开源,可以在GitHub上获取,并提供详细的使用文档和示例。
* [ncbi/SKESA](https://github.com/ncbi/SKESA) SKESA是一个用于微生物基因组的从头测序组装工具,它使用保守的启发式方法,旨在在基因组的重复区域创建断点,从而在不显著影响连续性的情况下获得出色的序列质量。SKESA 还包含 SAUTE,一个基于 de Bruijn 图的目标富集从头组装工具,用于组装使用 Illumina 测序的基因组和 RNA 测序读数。SKESA 和 SAUTE 都基于 de Bruijn 图,并共享 k-mer 相关代码。该项目还包含一个 GFA 连接器,用于从一组重叠群创建 GFA 图。
* [secastel/phaser](https://github.com/secastel/phaser) phASER是一个用于从RNA-seq数据中进行单倍型推断和等位基因特异性表达分析的工具。它利用来自DNA和RNA测序数据的比对信息,并提供RNA测序数据中单倍型表达的度量。该项目由纽约基因组中心Lappalainen实验室开发,并已在Nature Communications和Genome Biology上发表论文。phASER可用于分析GTEx项目版本8中所有15,253个样本的单倍型水平ASE数据,这些数据涵盖了54个人体组织。该项目采用GNU GENERAL PUBLIC LICENSE v3许可证。
* [pnpnpn/dna2vec](https://github.com/pnpnpn/dna2vec) dna2vec是一个开源库,用于训练可变长度k-mer的分布式表示。它使用Word2Vec模型来学习DNA序列的向量表示,并可以用于各种生物信息学任务,例如序列相似性比较、基因功能预测和蛋白质结构预测。该项目提供预训练的dna2vec模型,并允许用户使用自己的DNA序列进行训练。该项目还提供了用于计算k-mer之间余弦距离的函数。用户可以使用该库来计算不同DNA序列之间的相似性,并进行其他生物信息学分析。
* [openvax/pyensembl](https://github.com/openvax/pyensembl) PyEnsembl是一个Python库,可以访问Ensembl数据库中的参考基因组元数据,例如外显子和转录本。它从Ensembl FTP服务器下载GTF和FASTA文件,并将它们加载到本地数据库中。PyEnsembl还可以使用用户提供的GTF和FASTA文件处理自定义参考数据。用户可以使用`pyensembl install`命令下载和安装Ensembl数据,并使用`EnsemblRelease`对象访问基因、转录本和蛋白质信息。PyEnsembl还支持使用本地文件路径或远程URL加载非Ensembl数据。
* [bigdatagenomics/adam](https://github.com/bigdatagenomics/adam) ADAM是一个基因组分析平台,使用Apache Avro、Apache Spark和Apache Parquet构建了专门的文件格式。它可以利用Apache Spark在集群/云计算环境中并行化基因组数据分析,支持多种基因组文件格式,如SAM/BAM/CRAM、BED/GFF3/GTF和VCF,以及存储在Apache Parquet格式中的数据。ADAM在单节点上提供与优化多线程工具相媲美的性能,同时能够扩展到拥有超过一千个内核的集群。ADAM的API可以在Scala、Java、Python、R和SQL中使用。
* [popgenmethods/smcpp](https://github.com/popgenmethods/smcpp) SMC++是一个使用全基因组测序数据推断种群历史的程序。它可以估计种群大小的历史变化,并可视化结果。SMC++使用 Docker 镜像进行分发,并需要 Python 3.7 或更高版本、C++-11 编译器以及一些科学计算库才能运行。用户可以通过命令行工具 vcf2smc 将 VCF 文件转换为 SMC++ 输入格式,然后使用 estimate 工具拟合模型,最后使用 plot工具可视化结果。此外,SMC++ 还支持估计和绘制多个种群的联合种群历史。
* [tseemann/prokka](https://github.com/tseemann/prokka) Prokka是一个快速、便捷的细菌、古细菌和病毒基因组注释工具,它可以快速识别基因组序列中的特征并进行标记。Prokka支持多种安装方式,包括Bioconda、Brew、Docker和Singularity等,并提供多种命令行选项以满足不同用户的需求,例如自定义输出文件名称、使用已有的基因组进行注释、指定基因组类型等。Prokka生成的注释结果可以用于多种分析工具,例如Artemis可视化工具和Sequin基因组编辑工具。
* [s-andrews/FastQC](https://github.com/s-andrews/FastQC) FastQC是一款用于高通量测序数据质量控制分析的工具,它对 fastq 或 bam 格式的原始序列文件进行一系列分析,并生成一份报告来总结结果。FastQC 可以识别出测序库中可能存在的问题,并提醒用户关注这些问题。该工具适用于各种类型的测序实验,例如基因组测序、ChIP-Seq、RNA-Seq、BS-Seq 等。项目页面包含源代码,但实际使用时建议访问项目网站下载适用于 Windows、OSX 和 Linux 的编译包。
* [gabraham/flashpca](https://github.com/gabraham/flashpca) FlashPCA2是一个用于对大规模全基因组数据进行快速主成分分析 (PCA) 的工具,类似于 EIGENSOFT 的 smartpca 和 shellfish。它基于 Spectra 库,具有快速、可扩展、高精度等特点,能够在 2GB 内存下对 50 万个个体和 10 万个 SNP 进行 PCA 分析,并支持 PLINK bed/bim/fam 文件格式。FlashPCA2 可以通过 R 包 flashpcaR进行调用,方便用户使用。该项目由 Gad Abraham 开发,并已发表在 Bioinformatics 和 PLOS ONE 杂志上。
* [LieberInstitute/HumanPilot](https://github.com/LieberInstitute/HumanPilot) HumanPilot是一个空间转录组学项目,它包含一个在线应用、一个Bioconductor 包和一篇研究论文。该项目使用 10x Genomics Visium平台对人类前额叶皮层 (DLPFC) 进行空间转录组学分析,并提供了一个在线应用来浏览和分析数据。用户可以通过 Bioconductor 包下载数据,并使用该应用可视化自己的数据集。该项目还提供了一套模型来分析基因表达,并允许用户上传自己的基因集和层富集统计信息。
* [tjiangHIT/cuteSV](https://github.com/tjiangHIT/cuteSV) cuteSV是一个基于长读测序数据的基因组结构变异检测工具,它能够高灵敏度地检测各种结构变异,包括插入、缺失、重复、倒位和易位等。cuteSV利用了一种基于深度学习的算法,可以有效地识别和过滤假阳性结果,并提供准确的变异断点信息。cuteSV支持多种长读测序平台的数据,并提供了友好的命令行界面和Python API,方便用户使用。用户可以通过pip、conda或git clone的方式安装cuteSV。
* [maickrau/GraphAligner](https://github.com/maickrau/GraphAligner) GraphAligner是一个用于将长错误率高的reads比对到基因组图的种子扩展程序,它支持多种种子匹配方法,包括最小化器、最大唯一匹配(MUM)和最大精确匹配(MEM)。它可以处理GFA和VG格式的图,并输出GAF或VG格式的对齐结果。该项目提供多种安装方式,包括使用bioconda或手动编译。用户可以使用命令行参数控制种子匹配方法、对齐参数等,并根据不同的应用场景选择合适的参数预设。
* [twolinin/LongPhase](https://github.com/twolinin/LongPhase) LongPhase是一个超快速程序,可用于同时对Nanopore和PacBio平台的SNP、小插入缺失、大SV和(5mC)修饰进行共同定相。它可以使用Nanopore超长读长生成几乎染色体级别的单倍型区块,无需额外的三代测序、染色体构象和链特异性测序数据。LongPhase可以在大约1分钟内对30x人类基因组进行定相(参见[速度](#speed))。它支持SNP、indel、SV和修饰的共同定相,并提供命令行界面和详细的文档。
* [adamewing/bamsurgeon](https://github.com/adamewing/bamsurgeon) Bamsurgeon是一个用于向现有 .bam 文件添加突变的工具集,主要用于测试突变检测工具。它包含 addsnv.py、addindel.py 和addsv.py 三个工具,分别用于添加单核苷酸变异、插入/缺失和结构变异。Bamsurgeon 需要依赖SAMtools、BWA、Picard tools、Exonerate、Velvet 和 pysam 等工具,用户可以通过 bioconda 安装 Bamsurgeon。使用 Bamsurgeon时,需要提供目标 BAM 文件、参考基因组序列、突变信息文件等参数。
* [nerettilab/GINOM](https://github.com/nerettilab/GINOM) GINOM是一个用于评估多个基因组特征区间重叠的统计框架。该框架通过将.bed文件转换为.mat文件,并利用这些文件进行数据预处理,最终计算区间重叠情况。用户需要将.bed文件转换为.mat文件,并提供mappability文件和染色体长度文件,GINOM将根据这些文件进行分析,最终得到区间重叠的统计结果。该框架适用于评估基因组特征之间的重叠关系,例如基因和调控元件之间的重叠。
* [tseemann/snippy](https://github.com/tseemann/snippy) Snippy是一个快速且高效的单倍体变异检测和核心基因组比对工具,它能够识别参考基因组和NGS测序数据之间的SNPs和Indels,并利用多核CPU加速计算。Snippy能够生成一系列一致的输出文件,包括变异信息、比对结果以及核心SNP比对文件,方便用户进行后续分析。用户可以使用conda、Homebrew或直接从GitHub源代码安装Snippy,并使用简单的命令行参数进行变异检测和核心基因组比对。
* [illumina/paragraph](https://github.com/illumina/paragraph) Paragraph是一个基于图的结构变异基因分型工具套件,旨在利用短读测序数据对已知变异进行精确基因分型。该项目提供了一种准确的结构变异基因分型方法,并支持多种输入格式,包括VCF文件。用户可以通过简单的命令行操作运行Paragraph,并获得基因分型结果,包括VCF格式的基因型和更详细的JSON格式输出。该项目还提供测试数据和详细的文档,方便用户进行测试和学习。
* [bulik/ldsc](https://github.com/bulik/ldsc) LDSC (LD Score) 是一个命令行工具,用于从 GWAS (全基因组关联分析 Genome-wide association study) 汇总统计数据中估计遗传力、遗传相关性,并计算 LD Score。该工具提供 LD Score 估计、遗传力估计(包括分层遗传力)、遗传相关性估计和 LD Score 回归截距估计等功能。用户可从 1000 基因组项目获取欧洲和东亚人群的 LD Score 数据,并通过 wiki 文档获取详细的使用教程和常见问题解答。
* [PopicLab/cue](https://github.com/PopicLab/cue) Cue是一个基于深度学习的SV calling和genotyping框架,它将序列比对转换为图像,利用训练好的神经网络生成高斯响应置信度图,并最终将高置信度SV预测结果映射回基因组坐标。Cue目前支持检测和基因分型5kbp以上的DELs、DUPs、INVs、INVDELs和INVDUPs。用户可以下载预训练模型和合成数据,并通过提供的Jupyter notebook进行演示。该框架还包含用于模型训练、评估和图像生成的脚本。
* [vcflib/vcflib](https://github.com/vcflib/vcflib) vcflib是一个C++库和命令行工具集,用于解析和操作VCF文件,并提供Python和Zig语言绑定。它提供VCF格式解析和操作的API,以及用于执行常见操作的命令行工具,例如过滤、排序、合并和转换VCF文件。vcflib是生物信息学中处理VCF变异调用格式的常用工具,它支持pangenome分析,并包含用于处理复杂变异的工具,如vcfwave和vcfcreatemulti,可用于解析和重组重叠和嵌套的等位基因。
* [deweylab/RSEM](https://github.com/deweylab/RSEM) RSEM是一个用于从RNA-Seq数据中估计基因和转录本表达水平的软件包,提供用户友好的界面,支持多线程并行计算EM算法,支持单端和双端测序数据、质量得分、可变长度读段和RSPD估计。此外,它还提供表达水平的后验均值和95%置信区间估计。RSEM可以从基因注释文件中提取参考转录本,也可以直接提供转录本序列。RSEM支持Bowtie/Bowtie2/STAR/HISAT2比对程序,并提供模拟器。
* [broadinstitute/tensorqtl](https://github.com/broadinstitute/tensorqtl) tensorQTL是一个基于 GPU 的 QTL 映射工具,与基于 CPU 的实现相比,它可以将 *cis* 和 *trans* QTL 映射速度提高约 200-300 倍。它使用经验贝塔近似 p 值,并支持 PLINK 格式的基因型数据。用户可以使用 pip 或从 GitHub 仓库安装 tensorQTL,并需要配置 GPU 环境以获得最佳性能。tensorQTL 需要三种输入:基因型、表型和协变量,并提供示例笔记本以说明如何使用该工具进行 QTL 映射。
* [KarchinLab/open-cravat](https://github.com/KarchinLab/open-cravat) Open-CRAVAT是一个用于基因组变异解释的Python工具包,它可以对变异进行影响评估、注释和评分。它采用模块化架构,包含由CRAVAT团队和更广泛的变异分析社区开发的大量分析模块。Open-CRAVAT是约翰霍普金斯大学Karchin实验室的产物,由美国国立癌症研究所的ITCR项目提供资金。项目文档和安装说明可在Open-CRAVAT Docs网站上找到,用户可以通过GitHub问题追踪器报告问题。
* [pcingola/SnpEff](https://github.com/pcingola/SnpEff) SnpEff是一个用于注释单核苷酸多态性(SNP)和变异的工具,它可以快速高效地将变异映射到基因组并预测其对基因的影响。SnpEff使用预先构建的基因组索引,可以快速地分析大量变异数据,并提供详细的注释信息,包括变异类型、基因位置、影响的基因和蛋白等。该项目由Pablo Cingolani开发,文档可以在[https://pcingola.github.io/SnpEff/](https://pcingola.github.io/SnpEff/)找到。
* [kcleal/dysgu](https://github.com/kcleal/dysgu) dysgu是一个用于使用短读或长读序列数据进行结构变异检测的命令行工具集和Python API。它支持配对末端读和长读数据,并提供了一系列命令行工具和Python API,用于执行结构变异检测、过滤、合并和基因型分析等操作。dysgu还支持从多个样本中合并结构变异调用结果,并提供用于识别体细胞结构变异的工具。该项目还提供了Docker镜像,方便用户快速部署和使用。
* [brentp/cruzdb](https://github.com/brentp/cruzdb) cruzdb是一个 Python 库,用于访问 UCSC 基因组数据库,它简化了对基因组注释、调控、变异等数据的获取和分析。用户可以通过该库轻松地查询基因信息,例如获取基因的内含子、外显子、CDS 序列等。此外,cruzdb 还支持空间查询,例如查找基因的 k 最近邻、上游和下游基因等。该库还提供了将 UCSC 数据库镜像到本地 SQLite数据库的功能,方便用户离线访问数据。
* [NBISweden/AGAT](https://github.com/NBISweden/AGAT) AGAT是一个强大的基因注释分析工具包,可以处理任何格式的GTF/GFF文件。它可以标准化和清理GTF/GFF文件,并提供各种工具来执行与GTF/GFF相关的任务,例如合并、修改、过滤、提取FASTA序列等。AGAT对各种GTF/GFF文件都很健壮,即使是最糟糕的格式也能处理。它还提供了一个名为“AGAT parser”的工具,可以将GTF/GFF文件转换为标准化的GXF格式,以便与其他工具兼容。
* [brianhie/scanorama](https://github.com/brianhie/scanorama) Scanorama是一个用于单细胞RNA测序数据批次校正和整合的工具,它可以有效地将来自不同实验的单细胞数据整合到一个统一的空间中。Scanorama基于一种基于图的算法,通过寻找数据集中细胞之间的相似性来实现整合。它可以用于各种下游分析,例如聚类、可视化和差异基因表达分析。Scanorama可以与Scanpy等流行的单细胞分析工具集成,并提供Python和R语言的接口。
* [VanLoo-lab/ascat](https://github.com/VanLoo-lab/ascat) ASCAT是一个R包,用于推断肿瘤纯度、倍性和等位基因特异性拷贝数谱。它基于等位基因特异性拷贝数分析,可以分析来自SNP芯片、全外显子测序和全基因组测序的数据。ASCAT 3.2.0 版本引入了新的功能,包括改进的LogR校正方法、更友好的颜色方案以及对男性X染色体拷贝数分析的改进。此外,它还包含了用于处理高通量测序数据的alleleCounter工具的安装说明。
* [pysam-developers/pysam](https://github.com/pysam-developers/pysam) Pysam是一个用于读取、操作和写入基因组数据的 Python 包,支持 SAM/BAM/CRAM 和 VCF/BCF 文件格式。它是一个轻量级的HTSlib API 包装器,与 samtools、bcftools 和 tabix 使用相同的 API。Pysam 可以通过 conda 或 pip 安装,推荐使用bioconda 安装,因为它可以解决非 Python 依赖项并使用预配置的编译选项。Pysam 的文档可以在官方网站上找到,用户可以在用户组中提问或评论。
* [kstreet13/slingshot](https://github.com/kstreet13/slingshot) Slingshot是一个R包,用于在单细胞数据中识别和表征连续的开发轨迹。它通过推断低维数据中的连续分支谱系结构来模拟单细胞RNA测序数据中的开发轨迹,并作为降维和聚类后的分析流程中的一个组件。Slingshot可以处理任意数量的分支事件,并允许通过监督图构建来整合先验知识。该项目还提供了一个Python版本,可从https://github.com/mossjacob/pyslingshot获取。
* [uci-cbcl/D-GEX](https://github.com/uci-cbcl/D-GEX) D-GEX是一个基于深度学习的基因表达推断方法,它利用少量“地标基因”的表达信息来推断其余“目标基因”的表达。与传统的线性回归方法相比,D-GEX能够更好地捕捉基因之间复杂的非线性关系,在多个数据集上的测试结果表明,D-GEX在基因表达推断方面显著优于线性回归,能够有效降低推断误差。该项目提供代码和数据,可用于复现D-GEX的主要结果。
* [kblin/ncbi-genome-download](https://github.com/kblin/ncbi-genome-download) 这是一个用于从NCBI FTP服务器下载基因组的Python脚本,灵感来源于Mick Watson的Kraken下载脚本。该脚本可以下载细菌和真菌基因组,并支持多种格式(如GenBank、FASTA)和组别(如细菌、病毒)。用户可以指定要下载的组别、格式、组装级别和参考类别,并通过参数控制并行下载数量。该脚本易于安装,可以使用pip或conda安装,并支持Python 3.7及以上版本。
* [walaj/svaba](https://github.com/walaj/svaba) SvABA是一个利用全基因组局部组装检测结构变异的工具,它使用自定义的SGA(String Graph Assembler)和BWA-MEM进行组装和比对。SvABA对每个25kb窗口(带少量重叠)进行局部组装,并使用BWA-MEM将组装的contigs比对到参考基因组,以识别变异。SvABA支持多种输入文件格式,包括BAM、CRAM和SAM,并可以进行case-control分析,生成体细胞和生殖系变异的VCF文件。
* [Illumina/hap.py](https://github.com/Illumina/hap.py) Hap.py是一个基于htslib的工具集,用于将变异调用结果与金标准数据集进行比较,并提供两种比较模式:hap.py用于基因型级别的单倍型比较,som.py用于基于染色体、位置和等位基因身份的比较。该工具能够处理复杂的变异表示,通过构建参考图谱并枚举所有可能的单倍型序列,实现对不同变异调用方法产生的单倍型序列进行准确的比较和评估。
* [moshi4/pyCirclize](https://github.com/moshi4/pyCirclize) pyCirclize是一个基于 matplotlib 的 Python 包,用于轻松绘制圆形图表,例如 Circos 图和 Chord 图。它还包含用于生物信息学领域的基因组和系统发育树可视化方法。pyCirclize 的灵感来自 circlize 和 pyCircos,并提供 Circos 图、Chord 图、雷达图等多种图表类型,以及基因组和系统发育树可视化功能。项目文档包含详细的 API 使用说明和代码示例。
* [brentp/mosdepth](https://github.com/brentp/mosdepth) mosdepth是一个快速计算BAM/CRAM文件深度信息的工具,适用于全基因组测序、外显子组测序和靶向测序。它可以输出多种深度信息,包括每个碱基的深度、每个窗口的平均深度、每个区域的平均深度、每个区域的累积覆盖度直方图、每个染色体和全基因组的覆盖度分布等。mosdepth比samtools depth快约两倍,可以高效地处理大型测序数据。
* [vanheeringen-lab/genomepy](https://github.com/vanheeringen-lab/genomepy) genomepy是一个 Python 库,旨在简化基因组数据的下载和使用。它支持 Ensembl、UCSC、NCBI 和 GENCODE 等数据库,并提供搜索可用数据、查看元数据、自动下载和预处理数据以及生成可选比对索引等功能。genomepy 通过简单的命令行界面和 PythonAPI 提供易于使用的功能,并提供详细的文档和示例。用户可以通过 bioconda、pip 或 git 安装 genomepy。
* [cpockrandt/genmap](https://github.com/cpockrandt/genmap) GenMap是一个用于快速计算基因组可比性的工具,它可以计算基因组中每个位置的k-mer唯一性,并允许最多e个错配。GenMap可以应用于单个或多个基因组,帮助找到独特或共享的区域。GenMap使用高效算法,可以快速计算可比性,并支持多种输出格式,方便后续处理和可视化。用户可以使用Bioconda或下载预编译的二进制文件安装GenMap。
* [RabadanLab/arcasHLA](https://github.com/RabadanLab/arcasHLA) arcasHLA是一个快速准确的 HLA 基因型推断工具,可从 RNA-seq数据中推断 HLA 基因型。该工具通过生物信息学工具conda 安装,并提供多种功能,包括从 BAM 文件中提取染色体 6 序列,对提取的序列进行基因型分析,以及对部分 HLA 等位基因进行基因型分析。用户可以通过命令行工具访问这些功能,并通过选项控制程序的运行参数。
* [divonlan/genozip](https://github.com/divonlan/genozip) Genozip是一个现代的基因组文件压缩工具,支持FASTQ、BAM/CRAM、VCF、FASTA、GFF/GTF/GVF等多种格式,压缩效率比gzip高5倍,速度也更快。Genozip是商业产品,但允许某些学术研究使用。Genozip提供源代码以确保用户始终可以访问解压缩文件所需的代码,但禁止逆向工程、代码修改、衍生作品或将代码或部分代码包含到其他软件包中。
* [dib-lab/khmer](https://github.com/dib-lab/khmer) khmer是一个用于内存中核苷酸序列 k-mer 计数、过滤、图遍历等的 Python 库。它支持多种功能,包括 k-mer 计数、过滤、图遍历等。khmer 是一个研究软件,在使用它进行科学出版时需要引用。用户可以通过 pip 安装 khmer,并使用 pytest 进行测试。khmer 项目由加州大学戴维斯分校的数据密集型生物学实验室开发,并接受社区贡献。
* [KrishnaswamyLab/MAGIC](https://github.com/KrishnaswamyLab/MAGIC) MAGIC (Markov Affinity-based Graph Imputation of Cells) 是一种用于填补大型生物数据集缺失值并恢复其结构的方法。它通过学习数据流形,利用得到的图来平滑特征并恢复数据的结构,主要应用于单细胞RNA测序数据降噪。MAGIC已在Python、Matlab和R中实现,并提供教程,包括基于Python的EMT和骨髓教程,以及基于R的EMT和骨髓教程。
* [kipoi/models](https://github.com/kipoi/models) 基因组学的预测模型,并用作Kipoi的模型源。Kipoi(发音:kípi;来自希腊语 κήποι:gardens)是一个API和用于基因组学的即用型训练模型的存储库。它目前包含 2201 个不同的模型,涵盖转录和转录后基因调控中的规范预测任务。例如预测称为转录因子的蛋白质如何与DNA结合,或者酶可能在何处拼接遗传密码。
* [ctlab/fgsea](https://github.com/ctlab/fgsea) fgsea是一个用于快速预排序基因集富集分析 (GSEA) 的R 包。该包可以快速准确地计算大量基因集的任意低GSEA P 值。P 值估计基于自适应多级分割蒙特卡洛方案。该项目在 Bioconductor 上可用,并提供详细的教程和安装说明。用户可以利用 fgsea 进行快速运行,并通过示例数据展示如何进行富集分析,并生成富集图。
* [hammerlab/pileup.js](https://github.com/hammerlab/pileup.js) pileup.js是一个交互式的浏览器内轨迹查看器,它利用现代 JavaScript 生态系统(如 ES2015、静态类型分析、React.js 和 Promises)构建。用户可以通过它查看基因组数据,例如参考基因组、比对结果和变异信息。用户可以设置显示区域,缩放,并通过 CSS自定义样式。pileup.js 提供了丰富的 API,方便用户操作和定制。
* [HazyResearch/hyena-dna](https://github.com/HazyResearch/hyena-dna) HyenaDNA是一个基于 Hyena 架构的远程基因组基础模型,能够处理长达 100 万个 token 的序列,并以单核苷酸分辨率进行训练。该项目提供预训练模型和代码,用户可以通过 Colab、Pytorch Lightning 或独立运行的方式使用这些模型,并进行下游任务,例如基因组基准测试。该项目还提供 Discord 频道供用户交流和提问。
* [scverse/scanpy](https://github.com/scverse/scanpy) Scanpy是一个用于分析单细胞基因表达数据的Python工具包,它可以处理超过一百万个细胞的数据集。Scanpy包含预处理、可视化、聚类、轨迹推断和差异表达测试等功能。它与anndata库协同工作,并提供高效的Python实现。Scanpy是scverse项目的一部分,并由NumFOCUS赞助。如果你在工作中使用Scanpy,请引用相关文献。
* [www.serratus.io](https://www.serratus.io/) 一个开放科学的病毒发现平台。NCBI 序列读取存档数据库包含来自全球研究实验室十多年来收集的数百万个生物多样性样本的 DNA 和 RNA 测序数据。我们正在重新分析 NCBI 短读存档中的所有 RNA-seq、元基因组学、元转录组学和环境测序数据,以发现新病毒。即>600 万个生物样本或 >10 PB 的测序数据。
* [linzhi2013/MitoZ](https://github.com/linzhi2013/MitoZ) MitoZ是一个用于动物线粒体基因组组装、注释和可视化的工具包,它可以帮助研究人员快速、准确地分析线粒体基因组数据,并提供直观的可视化结果,包括基因结构、基因序列和基因表达信息。MitoZ支持多种输入格式,并提供多种功能,包括基因组组装、基因注释、序列比对、进化分析和可视化。
* [tanghaibao/goatools](https://github.com/tanghaibao/goatools) GOATOOLS是一个用于基因本体论分析的Python库,它可以处理基因本体论(GO)术语,并提供多种功能,包括GO富集分析(GOEA)、GO列表比较和随机GOEA模拟。该库支持多种多重校正方法,并提供可视化工具来帮助用户更轻松地理解GOEA结果。GOATOOLS已在Scientific Reports上发表,并被广泛用于生物学研究。
* [daler/gffutils](https://github.com/daler/gffutils) gffutils是一个 Python 包,用于处理和操作 GFF 和 GTF 格式的基因组注释文件。它将文件加载到 sqlite3 数据库中,允许对层次结构特征(例如基因、转录本和外显子)进行更复杂的处理,而不仅仅是使用纯文本方法。项目文档位于 https://daler.github.io/gffutils,GitHub 仓库位于 https://github.com/daler/gffutils。
* [ncbi/TPMCalculator](https://github.com/ncbi/TPMCalculator) TPMCalculator是一个从比对结果(BAM文件)直接计算mRNA丰度的工具。它使用与比对相同的GTF文件作为输入,并输出四个文件,分别包含基因、转录本、外显子和内含子的TPM值和原始读数计数。TPMCalculator支持单端和双端测序数据,并可通过Bioconda、NIH Biowulf、Docker和CWL等方式安装和使用。
* [KamilSJaron/smudgeplot](https://github.com/KamilSJaron/smudgeplot) 利用全基因组测序数据推断倍性和杂合性结构。该工具从 kmer 计数数据库中提取杂合 kmer 对。够通过比较 kmer 对覆盖率 (CovA + CovB) 的总和与其相对覆盖率 (CovB / (CovA + CovB)) 来解开基因组结构。这种方法还使我们能够分析具有重复性、各种倍性水平等的晦涩基因组。
* [google/deepvariant](https://github.com/google/deepvariant) 使用深度神经网络从下一代 DNA 测序数据中调用遗传变异。基于深度学习的 trio 变体调用器,构建在 DeepVariant 之上。DeepTrio 扩展了 DeepVariant 的功能,使其能够利用神经网络的力量来预测三人组或二重组的基因组变异。
* [enformer](https://github.com/deepmind/deepmind-research/tree/master/enformer) 一种新的Transformer模型,“通过整合长程相互作用从序列中有效预测基因表达“,可大大提高从 DNA 序列预测基因表达的准确性,其能够「阅读」很长的 DNA 序列,可处理的序列长度达到之前的 5 倍(20W 个碱基对)
* [mcveanlab/mccortex](https://github.com/mcveanlab/mccortex) 从头基因组组装和多样本变异检出,使用 Linked de bruijn 图进行多样本从头组装和变体调用。有和没有参考基因组的变异检出。在密切相关的样本或高度分歧的样本之间。从细菌基因组到哺乳动物基因组。
* [STAR-Fusion/STAR-Fusion](https://github.com/STAR-Fusion/STAR-Fusion) STAR-Fusion是一个用于从RNA测序数据中检测融合基因的软件,其文档可以在项目Wiki中找到。用户可以从“Releases”标签中下载“FULL”版本的软件,或者使用git clone --recursive命令递归克隆代码库。
* [BackofenLab/CRISPRloci](https://github.com/BackofenLab/CRISPRloci) CRISPRloci 在细菌和古细菌基因组上提供了 CRISPR-Cas 系统的自动化和全面的计算机表征。它是完整的 CRISPR 基因座表征套件,包括 CRISPR 阵列定向、保守前导检测、cas 基因注释和亚型分类。
* [HantaoShu/DeepSEM](https://github.com/HantaoShu/DeepSEM) 基于深度学习的方法,具有新颖的神经网络架构,可以推断基因调控网络,嵌入scRNA-seq数据,并通过解释不同的模块来模拟真实的scRNA-seq数据。
* [franciscozorrilla/metaGEM](https://github.com/franciscozorrilla/metaGEM) 一个易于使用的工作流程,用于生成特定于上下文的基因组规模代谢模型并直接从宏基因组数据预测微生物群落内的代谢相互作用
* [sourmash-bio/sourmash](https://github.com/sourmash-bio/sourmash) 快速搜索、比较和分析基因组和宏基因组数据集。 K-mer 分析多功能工具,为各种序列比较提供稳定、强大的编程和命令行 API。
* [TencentAILabHealthcare/MLA-GNN](https://github.com/TencentAILabHealthcare/MLA-GNN) 对于胶质瘤数据集,基于共表达基因模块用于疾病诊断和预后的多级注意力图神经网络。
* [jianhuupenn/SpaGCN](https://github.com/jianhuupenn/SpaGCN) SpaGCN:整合基因表达、空间位置和组织学,通过图卷积网络识别空间域和空间可变基因
* [jerryji1993/DNABERT](https://github.com/jerryji1993/DNABERT) 来自 Transformers 模型的预训练双向编码器表示,用于基因组中的 DNA 语言
* [schulter/EMOGI](https://github.com/schulter/EMOGI) 一种基于图卷积网络的可解释多组学图集成方法预测癌症基因。
* [shenwei356/kmcp](https://github.com/shenwei356/kmcp) 准确的宏基因组分析和快速的大规模序列/基因组搜索
* [suhrig/arriba](https://github.com/suhrig/arriba) 从 RNA-Seq 数据中快速准确地检测基因融合
* [RasmussenLab/vamb](https://github.com/RasmussenLab/vamb) 用于宏基因组分档的变分自动编码器
* [Google-Health/genomics-research](https://github.com/Google-Health/genomics-research) Google Health 共享的基因组学研究代码
## 抗菌肽
* [reymond-group/MLpeptide](https://github.com/reymond-group/MLpeptide) 机器学习设计非溶血性抗菌肽。使用来自DBAASP的数据训练RNN来设计非溶血性抗菌肽(Antimicrobial peptides, AMP),合成并测试了28个生成肽,鉴定出针对绿脓杆菌、鲍曼不动杆菌和耐甲氧西林金黄色葡萄球菌 (MRSA) 的8种新的非溶血性 AMP。结果表明机器学习可以用来设计非溶血性AMP。
* [vail-uvm/amp-gan](https://github.com/vail-uvm/amp-gan) 一种基于双向条件生成对抗网络的抗菌肽(AMPs)设计方法AMPGAN v2。AMPGAN v2使用生成器和鉴别器来学习数据驱动的先验知识,并使用条件变量控制生成。
* [IBM/controlled-peptide-generation](https://github.com/IBM/controlled-peptide-generation) IBM利用深度生成模型和分子动力学模拟加速抗菌肽发现
## 细胞
* [pinellolab/dictys](https://github.com/pinellolab/dictys) Dictys是一个用于从单细胞RNA测序和单细胞ATAC测序数据重建和分析细胞类型特异性和动态基因调控网络的工具。Dictys首先利用单细胞染色质可及性信息推断转录因子(TF)结合网络,然后利用单细胞转录组信息对网络进行细化。Dictys通过利用TF结合信息来确定因果关系,对转录速率进行建模以重建循环兼容网络,并使用概率编程来捕获scRNA-seq过程,从而解决了网络推断中的传统挑战。Dictys可以在全局(所有细胞类型)、成对(两个细胞类型之间)和单个GRN级别进行网络分析和可视化。Dictys直接从GRN中量化TF调控活性,并支持一系列分析,例如细胞类型特异性TF发现作为调控标记、差异调控分析以及差异表达分析,以及通过子网络和顶部激活/抑制目标来阐释TF调控程序。这些基于GRN的分析可以捕获从平均表达中无法获得的独特生物学见解。Dictys从scRNA-seq和scATAC-seq数据集中推断和分析动态GRN,沿着(推断的)轨迹。这避免了人为的细胞子集和来自群体不平衡的潜在偏差,并允许对驱动TF及其个体调控进行(伪)时间分辨的发现和研究。Dictys提供了一个集成的网络查看器,用于动态GRN可视化,以动画形式同步显示面板。
* [kharchenkolab/conos](https://github.com/kharchenkolab/conos) Conos是一个R包,用于分析多个单细胞RNA测序数据集,它将多个数据集连接在一起,识别重复出现的细胞簇,并在多样本或图谱级集合中传播信息。Conos专注于在异质样本集合中对同源细胞类型进行统一映射。例如,用户可以研究来自癌症患者的数十个外周血样本与数十个对照样本的集合,其中可能包括相关组织(如淋巴结)的样本。Conos通过将每个样本对进行比对来建立加权样本间细胞到细胞的连接,从而构建一个联合图,然后分析该图以识别不同样本中的亚群。相同类型的细胞倾向于在许多这样的成对比较中相互映射,形成可以识别为簇(图社区)的团。Conos处理可以分为三个阶段:过滤和归一化、识别多个可能的样本间映射、联合图构建。Conos最终会将一个大型、可能异质的样本面板,并以一种对样本间差异具有鲁棒性的方式,将类似的细胞亚群分组在一起。
* [kharchenkolab/pagoda2](https://github.com/kharchenkolab/pagoda2) pagoda2是一个 R 包,用于分析和交互式探索大规模单细胞 RNA测序数据集。它针对现代 scRNAseq 数据集(既大又稀疏)进行了优化,提供质量控制、过滤、聚类、可视化、差异表达、交叉切割方面/状态以及基因集/通路过度分散分析等方法。配套的前端应用程序允许用户找出哪些基因表达模式导致数据中不同亚群的出现,并通过注释基因集和通路(包括基因本体论 (GO) 类别)检查亚群的基因表达模式。用户还可以通过前端应用程序突出显示特定集群并执行差异表达。需要注意的是,pagoda2 是一个用于分析独立 scRNAseq 数据集的 R 包。对于多个数据集的联合分析,请参阅 [conos](https://github.com/kharchenkolab/conos) 包(pagoda2 主要用于预处理 conos 的输入数据集)。该包中的几种方法是基于 [SCDE](https://hms-dbmi.github.io/scde/) 和 PAGODA1 中实现的原始方法开发的。
* [devCellPy-Team/devCellPy](https://github.com/devCellPy-Team/devCellPy) devCellPy是一个用于基于单细胞 RNA 测序 (scRNA-seq)对细胞进行分层多层分类的 Python 包。它使用机器学习算法极端梯度提升 (XGBoost) 自动预测跨复杂层级和子层级注释的细胞身份。devCellPy 允许用户自定义分类方案,将 scRNA-seq 数据集的注释层次结构输入到 devCellPy 中,以指导根据提供的层次结构对细胞进行自动分类和预测。devCellPy 允许用户在每个分类层指定任何身份,并且不受细胞类型限制,例如,将时间点指定为其中一个注释层,允许在该层进行细胞身份预测,以根据细胞的年龄进行条件化。除了分层细胞分类外,devCellPy 还实现了 SHapley Additive exPlanations (SHAP) 包,它为用户提供了模型的可解释性方法,并确定了跨所有注释层的细胞身份的正负基因预测因子。该项目已在 Nature Communications 上发表,并提供教程和预训练模型。
* [kharchenkolab/Baysor](https://github.com/kharchenkolab/Baysor) Baysor是一个用于对基于成像的空间转录组学数据进行细胞分割的工具。它通过考虑转录组成、细胞大小和形状的可能性来优化分割。该方法可以考虑核或细胞质染色,但也可以仅基于检测到的分子进行分割。该方法的详细信息在[论文](https://www.nature.com/articles/s41587-021-01044-w)或[预印本](https://www.biorxiv.org/content/10.1101/2020.10.05.326777v1)(旧版本)中描述。要重现论文中的分析,请参阅[BaysorAnalysis](https://github.com/kharchenkolab/BaysorAnalysis) 仓库。Baysor 可通过下载二进制文件或作为 Julia 包安装。如果在出版物中使用 Baysor,请引用:[Petukhov V, Xu RJ, Soldatov RA, Cadinu P, Khodosevich K, Moffitt JR & Kharchenko PV. Cell segmentation in imaging-based spatial transcriptomics. Nat Biotechnol (2021). https://doi.org/10.1038/s41587-021-01044-w](https://doi.org/10.1038/s41587-021-01044-w)。
* [aertslab/pySCENIC](https://github.com/aertslab/pySCENIC) pySCENIC是一个快速高效的Python实现的SCENIC管道(单细胞调控网络推断和聚类),它允许生物学家从单细胞RNA测序数据中推断转录因子、基因调控网络和细胞类型。该项目基于R语言的先驱工作,并发表在Nature Methods上。pySCENIC可以在一台桌面机器上运行,但可以轻松扩展到多核集群,以快速分析数千个细胞。它利用dask框架进行分布式计算。项目文档可在Read the Docs上获取,并提供完整的工具列表和更多信息。最新版本支持使用spawn而不是fork作为multiprocessing method.Pool,并使用ravel而不是flatten来避免在aucell中进行不必要的内存复制。它还支持使用Feather v2格式的数据库,并支持集群化的motif数据库。此外,它使用自定义的多进程而不是dask,默认情况下。Docker镜像使用python 3.10,只包含CLI使用所需的pySCENIC依赖项。
* [kharchenkolab/numbat](https://github.com/kharchenkolab/numbat) Numbat是一个基于单细胞和空间转录组数据的单倍型感知CNV分析工具,它整合了基因表达、等位基因比率和群体来源的单倍型信息,能够准确地推断单细胞中的等位基因特异性CNV,并重建它们的谱系关系。Numbat可以用于检测单细胞RNA测序和空间转录组中的等位基因特异性拷贝数变异,区分肿瘤微环境中的肿瘤细胞和正常细胞,推断分析肿瘤的克隆结构和进化历史。Numbat不需要配对的DNA或基因型数据,仅使用供体scRNA-seq数据(例如,10x Cell Ranger输出)。有关该方法的详细信息,请查看我们的论文:Teng Gao, Ruslan Soldatov, Hirak Sarkar, Adam Kurkiewicz, Evan Biederstedt, Po-Ru Loh, Peter Kharchenko. Haplotype-aware analysis of somatic copy number variations fromsingle-cell transcriptomes. Nature Biotechnology (2022).
* [smorabit/hdWGCNA](https://github.com/smorabit/hdWGCNA) hdWGCNA是一个 R 包,用于在高维转录组学数据(如单细胞 RNA测序或空间转录组学)中执行加权基因共表达网络分析(WGCNA)。hdWGCNA 模块化程度高,可以在细胞和空间层次结构中构建特定于上下文的共表达网络。hdWGCNA识别高度共表达基因的模块,并通过统计检验和生物学知识来源为这些模块提供上下文。hdWGCNA 使用格式化为 Seurat 对象的数据集。请查看单细胞数据教程或空间转录组学数据教程以开始使用。hdWGCNA 现在能够执行转录因子调控网络分析。此功能在我们发表的论文中介绍。如果您在研究中使用hdWGCNA,请除了原始 WGCNA 论文之外,还引用以下论文:Morabito 等人,Cell Reports Methods (2023);Morabito & Miyoshi 等人,Nature Genetics (2021)。
* [immunomind/immunarch](https://github.com/immunomind/immunarch) Immunarch是一个 R 包,用于快速、无缝地分析单细胞和批量 T 细胞/抗体免疫库。它支持各种数据类型,包括单细胞、批量、数据表和数据库。Immunarch 提供直观的界面,只需几行代码即可完成复杂的分析,并提供自动格式检测和解析功能,支持 MiXCR、ImmunoSEQ、10XGenomics 和 ArcherDX 等流行的免疫测序格式。Immunarch 由 ImmunoMind 开发,ImmunoMind 是一家位于加州大学伯克利分校的初创公司,致力于通过精确识别 T 细胞亚群及其免疫特征来改进 CAR-T 等过继性 T 细胞疗法的设计。Immunarch 已被全球近 30,000 名研究人员和医学科学家使用,并受到辉瑞、诺华、再生元、斯坦福大学、加州大学旧金山分校和麻省理工学院等知名机构的信赖。
* [saezlab/decoupler-py](https://github.com/saezlab/decoupler-py) `decoupler` 是一个 Python 包,它提供了一套用于从组学数据中提取生物活动的富集分析方法。它包含了多种统计方法,并提供了一个统一的框架。`decoupler` 具有快速、内存效率高的特点,是 `decoupleR` 的 Python 实现版本。用户可以从 `pip` 或 `conda` 安装 `decoupler`,也可以从源代码安装以获取最新版本。`decoupler` 是 `scverse`生态系统的一部分,该生态系统包含了用于单细胞组学数据分析的 Python 工具。`decoupler` 中的富集方法可用于学术或商业目的,但 `viper` 仅限于非商业用途。`decoupler` 使用 OmniPath 数据库,该数据库中包含的每个资源都有其自己的许可信息。用户可以从 `decoupler` 的文档中获取更多信息和示例教程。
* [kaizhang/SnapATAC2](https://github.com/kaizhang/SnapATAC2) SnapATAC2是一个灵活、通用且可扩展的单细胞组学分析框架,它可以处理超过1000万个细胞的数据。它包含快速预处理工具,用于将BAM文件转换为片段文件并生成计数矩阵,以及适用于各种单细胞组学数据(包括单细胞ATAC-seq、单细胞RNA-seq、单细胞Hi-C和单细胞甲基化)的无矩阵谱嵌入算法。SnapATAC2还提供高效且可扩展的共嵌入算法,用于整合单细胞多组学数据,并包含一个完整的单细胞ATAC-seq数据分析流程,包括预处理、降维、聚类、数据整合、峰值调用、差异分析、基序分析和调控网络分析。此外,它与Scanpy等其他单细胞分析软件包无缝集成,并实现了完全支持的AnnData。
* [ziyili20/CAMLU](https://github.com/ziyili20/CAMLU) CAMLU是一个基于自动编码器的R包,用于从scRNA-seq数据中注释细胞类型。它可以识别训练数据中不存在的未知细胞,并考虑未知细胞类型对所有细胞类型进行注释。该项目由Ziyi Li、Yizhuo Wang、Irene Ganan-Gomez、Simona Colla和Kim-Anh Do创建,目前由Ziyi Li维护。用户可以通过安装devtools包并使用install_github函数安装CAMLU。该包依赖于R keras包,用户可以通过install.packages('keras')进行安装。CAMLU的主要函数有6个输入参数:x_train、x_test、full_annotation、y_train、ngene和lognormalize。用户可以通过输入训练数据和测试数据来识别未知细胞,并通过设置full_annotation参数对所有细胞类型进行注释。
* [细菌和古细菌细胞结构图谱](https://jensenlab.caltech.edu/book/) 随着近 20 年低温电子断层扫描 (cryo-ET) 的发展,我们对细菌和古细菌细胞结构的理解有了爆炸式增长,但传统教科书并没有跟上所有新信息。为了解决这个问题,并与世界分享我们所见,我们创作了这本书。它遵循 1960 年代和 1970 年代细胞结构图谱的传统,显示了不同细胞和组织的显微照片以及扩展的图形图例,以帮助每个人了解他们在看什么。五十年后,我们有了一组新的图像——这次是 3D 冷冻断层照片——以及展示它们的新技术:我们的每个免费数字页面都包含一部 3D 断层照片的电影,而不是一本昂贵的书中的静态 2D 数字。一个单元格,带有注释和动画。
* [jinworks/CellChat](https://github.com/jinworks/CellChat) CellChat v2是一个用于从单细胞和空间分辨转录组数据推断、可视化和分析细胞间通讯的 R 工具包。它可以推断空间邻近细胞群之间的细胞间通讯,并扩展了 CellChatDB v2 数据库,其中包含超过 1000 种蛋白质和非蛋白质相互作用(例如代谢和突触信号传导)。CellChat v2 还提供了新的功能,可以轻松地与其他单细胞数据分析和细胞间通讯分析的计算工具进行交互,并提供交互式 Web 浏览器功能,以探索空间邻近细胞间通讯的 CellChat 输出。CellChat v2 还可以定量地表征和比较推断的细胞间通讯网络,并提供一个易于使用的工具来提取和可视化推断网络的高阶信息。
* [theislab/cpa](https://github.com/theislab/cpa) CPA(Compositional Perturbation Autoencoder,组合扰动自编码器)是一个深度生成框架,用于学习单细胞水平扰动的影响。CPA 可以对未见过的药物组合进行 OOD 预测,学习可解释的嵌入,估计剂量反应曲线,并提供不确定性估计。CPA 允许对不同细胞类型、剂量和组合的药物反应进行编码和学习,并可以预测未见过的药物和基因组合在不同剂量和细胞类型中的影响,学习可解释的药物和细胞类型潜在空间,估计每种扰动及其组合的剂量反应曲线,将扰动效应从一种细胞类型转移到未见过的细胞类型,以及在潜在空间和基因表达空间中进行批次效应去除。
* [pachterlab/gget](https://github.com/pachterlab/gget) gget是一个免费的开源命令行工具和 Python 包,用于高效查询基因组数据库。gget 包含一系列独立但可互操作的模块,每个模块都旨在用一行代码简化特定类型的数据库查询。例如,可以使用 gget 获取人类参考基因组和注释文件,搜索包含特定关键词的基因,获取基因和转录本的信息,提取蛋白质序列,进行序列比对,使用 Enrichr 进行基因本体分析,获取基因在不同组织中的表达信息,下载蛋白质结构,以及查找蛋白质序列中的线性模体等。gget 还支持使用 scRNAseq 数据集进行查询,例如获取特定基因、组织和细胞类型的 scRNAseq 计数矩阵。
* [heislab/scarches](https://github.com/theislab/scarches) scArches 是一个将新生成的单细胞数据集集成到集成参考图谱中的包。我们的方法可以通过分散的培训和不同组的多个数据集的集成来促进大型协作项目。scArches 与[scanpy](https://scanpy.readthedocs.io/en/stable/)兼容。并为单细胞数据托管了几个条件生成模型的有效实现。构建单模态或多模态 (CITE-seq) 参考图集并共享经过训练的模型和数据(如果可能)。为您感兴趣的地图集下载预先训练的模型,使用新数据集对其进行更新并与您的合作者分享。在参考的顶部投影和集成查询数据集,并使用潜在表示进行下游任务,例如:差异测试、聚类、分类
* [pachterlab/kb_python](https://github.com/pachterlab/kb_python) `kb-python` 是一个用于处理单细胞 RNA 测序数据的 Python 包,它封装了 `kallisto` 和 `bustools` 命令行工具,以统一多种处理流程。它最初由加州理工学院 Lior Pachter 实验室的 Kyung Hoi (Joseph) Min 和 A. Sina Booeshaghi开发。`kb-python` 包含五个子命令:`info`、`compile`、`ref`、`count` 和 `extract`,分别用于显示包信息、编译二进制文件、构建索引、生成计数矩阵和提取 reads。`kb ref` 命令使用基因组注释文件 (GTF) 和基因组文件 (FASTA) 构建一个物种特异性的索引,用于 reads 的伪比对。预构建的索引可以在 https://github.com/pachterlab/kallisto-transcriptome-indices 获取。
* [ma-compbio/SpiceMix](https://github.com/ma-compbio/SpiceMix) SpiceMix是一个无监督的工具,用于空间转录组学的潜在表征学习。它将细胞/斑点中观察到的基因表达建模为潜在因子的混合物。这些因子被认为在相邻细胞之间具有空间亲和性。SpiceMix直接从数据中学习这些因子和亲和性,从而学习到比其他方法更具表现力的细胞身份表征。SpiceMix可以应用于任何类型的空间转录组学数据,包括MERFISH、seqFISH和Visium,以及其他空间组学数据。该项目提供了可重复性结果的代码,并包含了使用PyTorch和GPU进行优化的版本。用户可以通过命令行运行SpiceMix,并需要准备包含表达矩阵和邻域图的输入文件。
* [alexisvdb/singleCellHaystack](https://github.com/alexisvdb/singleCellHaystack) singleCellHaystack是一个用于预测单细胞和空间基因组数据中差异活跃特征(如基因、蛋白质、染色质可及性)的 R 包。它使用 Kullback-Leibler 散度来寻找在任何输入空间(一维、二维或更高维)中非随机定位的样本子集中具有活动模式的特征,而无需依赖于样本的任意聚类。该软件包最初专注于差异表达基因的预测,但已更新并变得更具通用性,现在可以用于寻找 scATAC-seq 中的差异可及基因组区域、沿轨迹的差异表达基因、空间差异表达基因或任何其他具有非随机活动水平的特征。该项目提供Python 版本,并有详细的文档和演示。
* [dpeerlab/Palantir](https://github.com/dpeerlab/Palantir) Palantir是一个用于单细胞轨迹检测的算法,它将细胞分化建模为一个随机过程,其中干细胞通过低维表型流形的一系列步骤分化为终末分化细胞。Palantir有效地捕捉了细胞状态的连续性和细胞命运决定的随机性,可用于处理来自多种技术的单细胞数据,例如质谱流式细胞术和单细胞RNA测序。该项目提供Python3实现,可通过pip或conda安装,并提供教程和文档。项目还提供三个复制的预处理数据和元数据,以及与其他轨迹检测算法的比较结果。该算法已发表在Nature Biotechnology杂志上,并提供引用信息。
* [epierson9/ZIFA](https://github.com/epierson9/ZIFA) ZIFA是一种用于单细胞数据降维的零膨胀算法,由 Emma Pierson 和 ChristopherYau 开发。该算法考虑了单细胞数据中常见的零膨胀现象,并通过对数据进行降维,揭示隐藏的生物学变异。ZIFA 的代码包含在 ZIFA.py 和 block_ZIFA.py文件中,并提供示例代码演示其优于因子分析的性能。对于大型数据集,推荐使用 block_ZIFA,它通过对基因进行分块来提高效率。ZIFA 依赖于 pylab、scipy、numpy 和 scikit.learn 库。用户可以通过 `git clone https://github.com/epierson9/ZIFA` 下载代码,并使用 `python setup.py install` 安装该软件包。
* [stemangiola/tidyseurat](https://github.com/stemangiola/tidyseurat) tidyseurat是一个将 Seurat 单细胞分析包与 tidyverse 整合的 R包,它允许用户将 Seurat 对象视为一个 tidyverse tibble,并提供 Seurat 兼容的 dplyr、tidyr、ggplot 和 plotly 函数。 tidyseurat 提供了 Seurat 对象的 tidyverse 表示,并允许用户使用tidyverse 函数来分析和可视化单细胞数据,例如使用 dplyr 进行数据过滤和转换,使用 tidyr 进行数据重塑,使用 ggplot2进行数据可视化。 tidyseurat 还提供了其他实用程序,例如将 Seurat 对象转换为 tibble、将特征信息加入 tibble、将细胞基因表达聚合为伪组织等。
* [rankchen121212/RHSNet](https://github.com/frankchen121212/RHSNet) 用于重组热点识别和量化的 RHSNet 的 TF 和 Keras 实现。 重组热点是基因组中相对于中性预期表现出重组率升高的区域。热点内的重组率可以是周围区域的数百倍。 重组热点是由这些区域中较高的 DNA 断裂形成引起的,适用于有丝分裂和减数分裂细胞。这个称谓可以指由程序减数分裂双链断裂的不均匀分布引起的重组事件。通过交叉进行的减数分裂重组被认为是细胞促进同源染色体正确分离和修复 DNA 损伤的机制。交叉需要 DNA 双链断裂,然后是同源物的链入侵和随后的修复。
* [dmcable/spacexr](https://github.com/dmcable/spacexr) SpaceXR是一个开源R包,用于空间转录组数据的细胞类型识别(包括细胞类型混合物)和细胞类型特异性差异表达分析。该项目包含9个示例和教程,演示了RCTD(细胞类型识别)和C-SIDE(差异表达)方法在Slide-seq、Visium和MERFISH数据上的应用。RCTD可以将单一细胞类型或细胞类型混合物分配给空间转录组点,并提供三种模式:双峰模式、全模式和多模式。C-SIDE可以检测沿一个或多个用户定义轴(称为解释变量)的差异表达,例如跨区域、细胞间相互作用或病理学相互作用。
* [dtm2451/dittoSeq](https://github.com/dtm2451/dittoSeq) dittoSeq是一个用于分析和可视化单细胞和批量 RNA 测序数据的R 包,旨在为新手、经验丰富的程序员和色盲用户提供友好的工具。它支持 Seurat、scran、scater 等单细胞数据分析包,以及 edgeR、DESeq2 等批量数据分析包,并提供易于阅读的色盲友好型图表(ggplot2、plotly 或 pheatmap/ComplexHeatmap)。dittoSeq 还允许用户轻松访问底层数据,以便提交给期刊或在图表中添加额外的图层。它还支持多模态数据可视化,并允许用户对 `dittoDotPlot()` 中的变量进行分类。
* [snap-stanford/GEARS](https://github.com/snap-stanford/GEARS) GEARS是一个基于几何深度学习的模型,用于预测新型多基因扰动对转录组的影响。它可以利用单细胞RNA测序数据,预测单基因和多基因扰动的转录响应。该模型已在多个数据集上进行测试,并可用于预测组合扰动的结果。用户可以使用提供的API来复现论文结果,或用自己的扰动数据集训练GEARS模型。该项目提供了一些演示,例如数据集教程、模型教程和不确定性教程,以及使用训练好的模型进行预测的Colab示例。用户可以引用该论文来使用GEARS。
* [xuranw/MuSiC](https://github.com/xuranw/MuSiC) MuSiC是一个用于单细胞RNA测序实验的分析工具包,可以利用多样本单细胞RNA测序数据估计群体RNA测序数据中的细胞类型比例。MuSiC2是MuSiC的迭代算法,可以利用单细胞RNA测序数据作为参考,对来自具有多种临床条件的样本的群体RNA测序数据进行细胞类型解卷积,其中至少有一种条件不同于单细胞RNA测序参考。MuSiC和MuSiC2功能都包含在一个包中,可以通过devtools::install_github('xuranw/MuSiC')安装。MuSiC支持GitHub Codespaces环境,并提供详细的代码文档。
* [zhanghao-njmu/SCP](https://github.com/zhanghao-njmu/SCP) SCP是一个端到端的单细胞数据分析流程,旨在简化单细胞数据的全面分析和探索。它包含了单细胞数据质量控制、标准化、降维、细胞群体识别、数据整合、差异特征识别、富集分析、GSEA分析、动态特征识别、PAGA、RNA速度、Palantir、Monocle2、Monocle3等多种功能,并提供自动注释、数据集投影和高质量数据可视化方法。SCP基于Seurat对象开发,与其他Seurat函数兼容,并可将数据快速部署到SCExplorer(一个Shiny应用程序)进行交互式可视化。
* [COMBINE-lab/alevin-fry](https://github.com/COMBINE-lab/alevin-fry) alevin-fry是一个高效灵活的单细胞测序数据处理工具,目前专注于单细胞转录组学和特征条形码。它可以快速、准确、节省内存地处理单细胞和单核测序数据,它使用由piscem或salmon alevin生成的RAD文件,并执行生成许可列表、估计每个细胞中每个基因的不同分子数量等常见操作。alevin-fry专注于安全、准确和效率(时间和内存使用方面)。推荐使用piscem作为后端映射器,而不是salmon,因为它在资源节约、速度和未来发展方面更具优势。
* [saeyslab/nichenetr](https://github.com/saeyslab/nichenetr) NicheNet是一个用于研究细胞间通讯的R语言包,它利用细胞间相互作用的基因表达数据,结合一个整合了已知配体-靶标信号通路信息的先验模型,来预测可能驱动目标细胞基因表达变化的配体-受体相互作用。NicheNet通过整合配体-受体相互作用、信号通路和转录因子调控信息,构建了一个从配体到下游靶基因的完整通讯网络,能够预测哪些配体影响其他细胞的表达,哪些靶基因受每个配体影响,以及哪些信号介质可能参与其中。
* [ZJUFanLab/scDeepSort](https://github.com/ZJUFanLab/scDeepSort) 使用带有加权图神经网络的深度学习对单细胞转录组学进行细胞类型注释.单细胞 RNA 测序 (scRNA-seq) 的最新进展已经实现了对多个复杂组织中数千个细胞的大规模转录表征,其中准确的细胞类型识别成为 scRNA-seq 研究的先决条件和重要步骤。开发了一种预训练的细胞类型标注方法,scDeepSort 是基于加权 GNN 框架构建的,然后在两个嵌入的高质量 scRNA-seq 图集中学习,该图集包含人类和小鼠 88 个组织中的 764,741 个细胞。
* [TencentAILabHealthcare/scBERT](https://github.com/TencentAILabHealthcare/scBERT) 单细胞RNA-seq数据细胞类型注释的大规模预训练深度语言模型。可靠的细胞类型注释是单细胞RNA测序数据下游分析的先决条件。受大规模预训练语言模型的启发,提出了基于预训练深度神经网络的模型scBERT。scBERT的第一阶段,它通过对大量未标记的scRNA-seq数据进行预训练,获得了对基因 - 基因相互作用的一般理解。然后,预先训练的scBERT可以通过监督微调用于看不见和用户特异性scRNA-seq数据的细胞注释任务。
* [bioinform/somaticseq](https://github.com/bioinform/somaticseq) SomaticSeq是一个用于检测体细胞突变的集成方法,它利用机器学习过滤掉其他调用工具产生的假阳性结果。该项目已发表在《GenomeBiology》期刊上,并提供用于基准测试和模型构建的训练数据。SomaticSeq利用来自多个调用工具的结果,并使用机器学习模型来提高检测的准确性。用户可以使用SEQC2提供的体细胞突变参考数据和调用集来构建和评估SomaticSeq模型。该项目还提供Dockerfile,方便用户安装和使用SomaticSeq。
* [Teichlab/celltypist](https://github.com/Teichlab/celltypist) CellTypist是一个用于单细胞RNA测序数据半自动细胞类型分类的工具,它基于随机梯度下降算法优化后的逻辑回归分类器进行细胞预测。CellTypist可以使用内置模型(目前主要关注免疫亚群)或自定义模型进行细胞预测,帮助用户准确地识别不同细胞类型和亚型。该工具提供交互式教程,并支持使用pip或conda进行安装。用户可以下载预训练模型或创建自定义模型,并使用CellTypist进行细胞类型分类。
* [enblacar/SCpubr](https://github.com/enblacar/SCpubr) SCpubr是一个R包,旨在为单细胞转录组学数据提供简化的可视化生成方式,生成高质量的、可直接用于出版物的图表。该包的目标是自动生成高质量的图表,这些图表可以直接用于研究文章,或者只需进行最小的修改即可使用。SCpubr可以从CRAN或GitHub安装,并提供详细的教程和参考手册。该项目正在积极开发中,并定期更新新功能。用户可以通过访问项目网站或联系[email protected]获取更多信息。
* [seandavi/awesome-single-cell](https://github.com/seandavi/awesome-single-cell) 这是一个社区维护的单细胞软件包和数据资源列表,涵盖了RNA测序、ATAC测序等领域。它提供了一个全面的资源,包含了用于单细胞数据分析的软件包,以及相关研究人员的信息。该列表包含了各种功能的软件包,包括质量控制、基因调控网络识别、免疫受体分析、细胞聚类、降维、伪时间推断、细胞类型识别等。此外,还提供了教程、工作流程、网络门户、数据库和相关论文等资源。
* [OmicsML/dance](https://github.com/OmicsML/dance) DANCE是一个用于大规模单细胞基因表达分析的深度学习库和基准平台,旨在构建一个深度学习社区和基准平台,用于单细胞分析中的计算模型。它目前包含三个模块:单一模态分析、单细胞多模态组学和空间分辨转录组学。用户可以轻松地复制 DANCE 中实现的计算单细胞方法的原始论文中所呈现的选定实验,这些实验可以在 [`examples`](https://github.com/OmicsML/dance/tree/main/examples) 目录下找到。
* [parashardhapola/scarf](https://github.com/parashardhapola/scarf) Scarf是一个高度内存高效的单细胞RNA测序、scATAC测序和CITE测序数据分析工具包,它可以让你在笔记本电脑上分析数百万细胞的图谱级数据集。Scarf利用了一种创新的数据结构,可以将内存占用减少到传统方法的十分之一,同时保持高精度和速度。你可以通过pip安装Scarf,并参考其文档和教程快速上手。Scarf还发表在Nature Communications杂志上,并提供Github问题跟踪功能,方便用户获取支持。
* [aristoteleo/spateo-release](https://github.com/aristoteleo/spateo-release) Spateo是一个用于单细胞空间转录组学时空建模的通用框架,它能够识别空间极性基因、揭示利基因子和细胞类型特异性配体-受体相互作用的空间效应,并重建整个胚胎的3D模型,进行3D形态学分析。Spateo还引入了细胞迁移的“形态学向量场”的概念,并整合了空间微分几何来揭示果蝇各种器官发生模式背后的调控程序。Spateo能够在3D空间中研究器官的生态学,超越了孤立的单个细胞。
* [theislab/cellrank](https://github.com/theislab/cellrank) CellRank是一个模块化的框架,用于基于多视图单细胞数据的马尔可夫状态模型研究细胞动力学。它可以估计基于多种生物先验的细胞分化方向,包括RNA速度、伪时间、发育潜能、实验时间点、代谢标记等,并计算初始、终端和中间宏观状态,推断命运概率和驱动基因,可视化和聚类基因表达趋势等。CellRank扩展到大量细胞,与scverse生态系统完全兼容,易于使用,并由pyGPCCA提供支持。
* [theislab/scgen](https://github.com/theislab/scgen) scGen是一个生成模型,用于预测跨细胞类型、研究和物种的单细胞扰动响应(Nature Methods, 2019)。scGen基于scvi-tools框架实现,可用于预测不同条件下细胞类型的扰动效应,跨物种预测扰动效应,去除批次效应,以及预测特定细胞类型或物种的扰动响应。scGen建议使用归一化数据进行训练,并可选地使用高变异基因(HVG)。用户可通过pip安装scGen,并在官方文档网站上找到示例和代码。
* [scRNA-tools/scRNA-tools](https://github.com/scRNA-tools/scRNA-tools) scRNA-tools是一个单细胞RNA测序数据分析软件数据库,旨在提供一个全面的单细胞RNA测序分析软件资源。该数据库包含了可供下载和公开使用的软件,并持续更新。用户可以通过网站 https://www.scRNA-tools.org 访问该数据库,并通过提交表格或加入团队的方式进行贡献。该项目已发表在 PLOS Computational Biology 和 Genome Biology 杂志上,用户可根据其使用情况进行引用。
* [gao-lab/GLUE](https://github.com/gao-lab/GLUE) GLUE(Graph-Linked Unified Embedding) 是一种用于单细胞多组学数据整合的工具,它利用图链接统一嵌入来整合来自不同组学平台的数据,并提供一个统一的嵌入空间来分析细胞类型、细胞状态和细胞间相互作用。GLUE 可以通过conda或pip安装,并提供中文文档和教程。用户可以利用GLUE进行单细胞多组学数据整合、细胞类型识别、细胞状态分析和细胞间相互作用研究。
* [gao-lab/SLAT](https://github.com/gao-lab/SLAT) scSLAT是一个用于对单细胞空间组学数据进行比对的工具包,它实现了SLAT(Spatial Linked Alignment Tool)模型。该模型通过考虑空间信息来对不同样本的细胞进行比对,从而可以更准确地识别细胞类型和空间结构。scSLAT提供了Docker镜像、PyPI安装包以及开发版本,用户可以选择最适合自己的安装方式。scSLAT还提供了详细的教程和文档,方便用户学习和使用。
* [gustaveroussy/sopa](https://github.com/gustaveroussy/sopa) Sopa是一个技术无关的空间组学分析管道,支持Xenium、MERSCOPE、CosMX、PhenoCycler、MACSima、Hyperion等多种技术,可扩展至数百万个细胞。它基于SpatialData构建,使用标准数据结构和输出,并提供交互式可视化、质量控制报告和SpatialData `.zarr`目录等输出。Sopa可通过PyPI安装,并提供Snakemake管道、CLI和API三种使用方式,方便用户快速构建和定制分析流程。
* [theislab/diffxpy](https://github.com/theislab/diffxpy) diffxpy是一个用于单细胞 RNA 测序数据的差异表达分析的 Python 库,它提供快速且可扩展的分析方法,并与 scanpy 工作流程集成。该库涵盖了单细胞 RNA 测序场景中遇到的各种差异表达分析场景,并提供差异表达分析工具(`de.test.*` 模块)和基于差异表达结果的基因集富集分析工具(`de.enrich.*` 模块)。详细内容请参考官方文档和教程。
* [ZJUFanLab/bulk2space](https://github.com/ZJUFanLab/bulk2space) Bulk2Space是一个基于深度学习框架的双步空间解卷积方法,它将批量转录组转化为空间分辨的单细胞表达谱。该方法需要五个格式化的.csv文件作为输入,并提供两个测试数据集用于演示。用户可以选择点状数据(如10x Genomics、ST或Slide-seq)或图像数据(如MERFISH、SeqFISH或STARmap)作为空间参考,并根据不同的数据类型参考相应的教程。
* [xiaoyeye/CCST](https://github.com/xiaoyeye/CCST) 使用图神经网络对空间转录组学数据进行细胞聚类。利用最近的两个技术发展,空间转录组学和图神经网络,用图神经网络进行空间转录组学数据的细胞聚类,一种基于图卷积网络的无监督细胞聚类方法,以改进从头算细胞聚类和发现 基于策划的细胞类别注释的新型子细胞类型。 CCST是处理各种空间分辨转录组学的通用框架。
* [zpliulab/GENELink](https://github.com/zpliulab/GENELink) GENELink是一个基于图注意力网络的基因调控关系预测模型,它利用单细胞RNA测序数据中的基因表达矩阵和基因拓扑矩阵,学习低维向量化表示,并通过点积或因果推断来预测基因之间的调控关系。该项目依赖Python 3.8、Pytorch 1.6.0等库,用户可以通过运行main.py脚本训练模型,并根据需要选择点积或因果推断作为评分指标。
* [powellgenomicslab/Nebulosa](https://github.com/powellgenomicslab/Nebulosa) Nebulosa是一个 R 包,用于基于加权核密度估计可视化单细胞基因表达数据。它旨在通过整合细胞之间的相似性来恢复因数据稀疏性而丢失的特征信号,从而实现对细胞特征的“卷积”。Nebulosa 可用于 Seurat 和 SingleCellExperiment 对象,并提供相应的教程。该软件包可在 Bioconductor 上获取,也可以从 GitHub 上安装开发版本。
* [satijalab/seurat](https://github.com/satijalab/seurat) Seurat是一个用 R 语言编写的单细胞基因组学工具包,由纽约基因组中心 Satija 实验室开发和维护。Seurat v5版本引入了新的功能,包括空间、多模态和可扩展的单细胞分析,并与之前的版本向后兼容。Seurat 已成功安装在 Mac OS X、Linux 和 Windows 上,用户可以通过 GitHub 页面获取文档、教程和版本历史记录。
* [STOmics/Stereopy](https://github.com/STOmics/Stereopy) Stereopy是一个用于空间转录组学数据分析的 Python 工具包,它可以用于挖掘和可视化 Stereo-seq 等空间转录组学数据。Stereopy 提供了丰富的功能,包括数据预处理、空间聚类、细胞类型识别、基因表达分析等,并支持多种数据格式。该项目正在快速发展,并欢迎用户和开发者贡献代码。
* [QSong-github/scGCN](https://github.com/QSong-github/scGCN) 单细胞图卷积网络模型(single-cell Graph Convolutional Network)可以实现跨越不同数据集的知识转移(knowledge transfer)。通过在30个单细胞组学数据集上进行基准测试实验,结果表明scGCN在利用来自不同组织、平台和物种以及分子层的细胞方面展现了优于其他方法的准确性。
* [pinellolab/pyrovelocity](https://github.com/pinellolab/pyrovelocity) Pyro-Velocity是一个基于概率模型的RNA velocity工具,它利用Pyro概率编程语言进行建模,并结合了单细胞RNA测序数据,能够更准确地预测细胞轨迹和动态变化。该项目提供了一个Python包,并包含了完整的文档和示例,方便用户进行RNA velocity分析。
* [samuel-marsh/scCustomize](https://github.com/samuel-marsh/scCustomize) scCustomize是一个 R 包,包含一系列专门为单细胞数据可视化和分析而创建或整理的函数。它提供详细的教程,涵盖所有功能,并可通过 CRAN 安装。用户可以提交 GitHub 问题报告错误或请求新功能,并通过 Pull Request 贡献代码。
* [broadinstitute/Tangram](https://github.com/broadinstitute/Tangram) 单细胞转录组数据的空间对齐。单细胞数据集和空间数据集应该从相同的解剖区域/组织类型中收集,最好是从生物复制中收集,并且需要共享一组基因。Tangram 通过在共享基因上拟合基因表达来对齐空间中的单细胞数据。
* [cole-trapnell-lab/monocle3](https://github.com/cole-trapnell-lab/monocle3) Monocle3 是一个用于单细胞 RNA 测序实验的分析工具包,需要 R 统计计算环境(版本 3.0 或更高)和Bioconductor 和 CRAN 上的几个软件包。该项目网站 http://cole-trapnell-lab.github.io/monocle3/提供了安装和使用 Monocle 3 的详细信息。
* [LiuJJ0327/CCPE](https://github.com/LiuJJ0327/CCPE) scRNA-seq 数据的细胞周期假体估计。细胞周期(cell cycle)是指细胞从一次分裂完成开始到下一次分裂结束所经历的全过程,分为间期与分裂期两个阶段。
* [CutillasLab/DRUMLR](https://github.com/CutillasLab/DRUMLR) 利用机器学习预测抗癌药物疗效。提出Drug Ranking Using ML方法,使用omics数据,根据药物抗肿瘤细胞增殖疗效对超过400种药物进行排序。
* [NYSCF/monoqlo_release](https://github.com/NYSCF/monoqlo_release) 提出了模块化的深度学习框架Monoqlo来自动识别细胞集落,并从细胞成像中识别克隆性。
* [hui2000ji/scETM](https://github.com/hui2000ji/scETM) 生成主题模型,可促进对大规模单细胞 RNA 测序数据的综合分析。
* [mauragarofalo/LICTOR](https://github.com/mauragarofalo/LICTOR) 抗体体细胞突变的机器学习分析预测免疫球蛋白轻链毒性
* [lanagarmire/DeepImpute](https://github.com/lanagarmire/DeepImpute) 一种基于深度神经网络来插补单细胞RNA测序数据的方法
* [immunogenomics/symphony](https://github.com/immunogenomics/symphony) 使用 Symphony 进行高效、精确的单细胞参考图谱映射
* [immunogenomics/symphony](https://github.com/immunogenomics/symphony) 使用 Symphony 进行高效、精确的单细胞参考图谱映射
* [juexinwang/scGNN](https://github.com/juexinwang/scGNN) 新型的用于单细胞RNA测序分析的图神经网络框架
* [calico/scnym](https://github.com/calico/scnym) 用于对单细胞分类的半监督对抗式神经网络
* [scverse/scvi-tools](https://github.com/scverse/scvi-tools) 单细胞组学数据的深度概率分析
## 药物-靶标_药物-药物_化合物-蛋白质_相互作用
* [AstraZeneca/chemicalx](https://github.com/AstraZeneca/chemicalx) 基于 PyTorch 和 TorchDrug 的深度学习库,用于药物对评分。(KDD 2022 年)。ChemicalX 是一个用于药物相互作用、多药副作用和协同作用预测的深度学习库。该库由数据加载器和集成的基准测试数据集组成。它还包括最先进的深度神经网络架构,用于解决药物对评分任务。实现的方法涵盖传统的基于 SMILES 字符串的技术和基于神经消息传递的模型。我们的框架解决了计算化学的药物对评分任务。在这项任务中,机器学习模型必须预测在生物或化学环境中同时施用两种药物的结果。解决此任务的深度学习模型的架构具有两个不同的部分:1.一个药物编码器层,将一对药物作为输入(下面的蓝色和红色药物)。2.在管理上下文中输出分数的头层 - 在我们的解释图中为 polypharmacy。
* [rdk/p2rank](https://github.com/rdk/p2rank) P2Rank是一个基于机器学习的蛋白质-配体结合位点预测工具,它是一个独立的命令行程序/Java库,用于从蛋白质结构预测配体结合口袋。P2Rank通过对蛋白质溶剂可及表面上的点进行评分和聚类来进行预测,并利用机器学习模型对单个点的配体结合能力进行评分,该模型是在已知蛋白质-配体复合物数据集上训练的。P2Rank无需依赖外部软件来计算复杂特征或已知蛋白质-配体模板数据库,即可实现高预测成功率。P2Rank支持多种文件格式,包括PDB、mmCIF和BinaryCIF,并提供针对AlphaFold模型和NMR/cryo-EM结构的特殊配置文件。P2Rank可在Linux、macOS和Windows系统上运行,并提供二进制包和源代码下载。
* [gnn4dr/DRKG](https://github.com/gnn4dr/DRKG) DRKG是一个用于药物再利用的综合性生物知识图谱,它包含基因、化合物、疾病、生物过程、副作用和症状之间的关系。DRKG整合了来自DrugBank、Hetionet、GNBR、String、IntAct和DGIdb等六个现有数据库的信息,以及最近出版物中收集的数据,尤其与Covid19相关。它包含97,238个实体,属于13种实体类型;以及5,874,261个三元组,属于107种边类型。这107种边类型展示了17种实体类型对之间的一种交互类型(同一实体对之间可能存在多种类型的交互),如下图所示。它还包括许多关于如何使用统计方法或机器学习方法(如知识图谱嵌入)来探索和分析DRKG的笔记本。
* [FreshAirTonight/af2complex](https://github.com/FreshAirTonight/af2complex) AF2Complex是一个基于 AlphaFold 的深度学习工具,用于预测蛋白质-蛋白质相互作用并构建蛋白质复合物的结构模型。它利用 AlphaFold 的能力,通过分析蛋白质序列,预测蛋白质相互作用并构建复合物结构。AF2Complex 支持 AlphaFold 的多个版本,包括 AlphaFold-Multimer,并提供多种功能,例如配对 MSA、界面评分评估和复合物聚类等,可以应用于各种场景,例如预测膜蛋白的瞬时相互作用。AF2Complex 还提供了一个 Google Colab 笔记本,方便用户测试和探索蛋白质-蛋白质相互作用。
* [wengong-jin/nips17-rexgen](https://github.com/wengong-jin/nips17-rexgen) 该项目使用Weisfeiler-Lehman网络预测有机反应结果,并包含NIPS 2017论文的代码和数据。项目提供了三种模型:核心识别模型、WLN+sum-pooling模型和WL Difference Network (WLDN)模型,分别用于反应核心识别和候选排序。项目还包含USPTO-15K和USPTO数据集,以及用于人类研究的80个反应。该项目使用Tensorflow-0.12.1开发,并提供样本使用方法。项目作者为Wengong Jin和Connor W. Coley。该项目已更新,建议使用更新的仓库https://github.com/connorcoley/rexgen_direct,该仓库使用Tensorflow 1.3.0版本。
* [dmis-lab/PerceiverCPI](https://github.com/dmis-lab/PerceiverCPI) PerceiverCPI是一个基于PyTorch实现的化合物-蛋白质相互作用预测模型,它利用嵌套交叉注意力机制来改进药物和靶标相互作用的表征学习能力,并利用扩展连接指纹来提高性能。该模型在Davis、KIBA和Metz三个主要数据集上进行了评估,结果表明PerceiverCPI在所有实验中都取得了令人满意的性能,并显著优于先前的方法。该项目提供训练和推理脚本,方便用户使用和评估模型。用户可以通过指定数据集路径、保存路径等参数来训练模型或进行推理。
* [SmritiChawla/Precily](https://github.com/SmritiChawla/Precily) Precily是一个基于深度神经网络的框架,用于预测体内和体外环境中的药物反应。该项目提供代码来重现论文中的关键结果,并包含用于训练CCLE/GDSC和CCLE/CTRPv2模型的压缩文件,以及用于评估Precily的GSVA通路评分。用户可以使用提供的预训练模型进行药物反应预测,并根据测试集中的样本生成药物反应预测列表。该项目还包含用于评估CCLE/GDSC数据训练模型的代码,以及用于评估Precily在scRNA-seq数据集和前列腺癌细胞系数据集上的代码。
* [gnina/gnina](https://github.com/gnina/gnina) gnina是一个基于深度学习的分子对接程序,它集成了卷积神经网络来对配体进行评分和优化,是smina和AutoDock Vina的衍生版本。gnina使用深度学习模型来预测配体与蛋白质的结合亲和力,并优化配体的构象,从而找到最佳的配体结合方式。用户可以通过预构建的Docker镜像或源代码安装gnina,并使用其进行分子对接、虚拟筛选等操作。gnina的论文发表在《Journal of Cheminformatics》和《Journal of Chemical Information and Modeling》等期刊上。
* [lightdock/lightdock](https://github.com/lightdock/lightdock) LightDock是一个基于Glowworm Swarm Optimization (GSO) 算法的蛋白质-蛋白质、蛋白质-肽和蛋白质-DNA 对接框架。它高度灵活,支持用户自定义评分函数、局部无梯度最小化,并允许从一开始就限制模拟以专注于用户指定的相互作用区域。LightDock 还支持受体和配体伙伴中的残基约束。该软件已在 macOS、GNU/Linux 和 Google Colab 平台上测试,并依赖于 NumPy、Scipy、Cython、ProDy 和 Freesasa 等库。用户可以通过 pip 命令安装 LightDock。
* [yiren-jian/Tcell-Peptide-PhyAugmentation](https://github.com/yiren-jian/Tcell-Peptide-PhyAugmentation) 该项目提出了一种基于物理模型增强伪标签的 T 细胞受体-肽相互作用预测方法,并将其应用于 KDD 2022论文中。项目提供了构建 TCR 和肽序列的结合能(作为伪标签)的代码,并包含了相应的论文、幻灯片和数据。项目依赖于 MODELLER 和 HDOCK 等软件,并要求用户安装 Anaconda、Biopython 和 blast+ 等工具。用户可以通过提供的代码和数据构建结合能,并利用这些信息进行 T 细胞受体-肽相互作用预测。
* [baranwa2/Struct2Graph](https://github.com/baranwa2/Struct2Graph) Struct2Graph是一个基于PyTorch的蛋白质-蛋白质相互作用预测模型,它使用两个带权共享的图卷积网络(GCN)和一个相互注意力网络来提取与查询蛋白质对相关的几何特征。该模型在UniProt Acc. 和 IntAct数据库中下载了包含4024个蛋白质的11160个相互作用数据(5580个正样本对,5580个负样本对)。模型提供了一系列Python脚本,用于下载PDB文件、处理蛋白质图、创建训练和测试数据集以及训练GCN分类器。
* [cansyl/DEEPScreen](https://github.com/cansyl/DEEPScreen) DEEPScreen是一个基于深度卷积神经网络的大规模药物靶标相互作用预测系统,用于早期药物发现。它使用易于获取的化合物二维结构表示作为输入,而不是传统性能有限的描述符。DEEPScreen从二维表示中学习复杂特征,从而产生高度准确的预测。该项目包含用于模型训练和测试的源代码、预处理的ChEMBL数据集和结果文件,并提供化合物二维图像的下载链接。
* [Azra3lzz/LaGAT](https://github.com/Azra3lzz/LaGAT) LaGAT是一个用于药物-药物相互作用预测的链接感知图注意力网络。它利用链接感知图注意力机制来捕获药物之间的相互作用关系,并使用多层感知器来预测药物之间的相互作用。该项目提供了KEGG数据集,并支持使用5折交叉验证来评估模型性能。用户可以通过修改代码来使用平衡后的负样本数据集,并使用`-K`参数来测试模型在冷启动场景下的泛化能力。
* [kaist-amsg/LocalTransform](https://github.com/kaist-amsg/LocalTransform) LocalTransform是一个基于图神经网络的模型,用于预测有机反应活性。它通过提取局部反应模板,并利用图神经网络学习模板之间的关系来预测反应活性。该项目提供了一个完整的代码库,包括数据预处理、模型训练和测试。用户可以下载并运行代码来复现论文中的结果,并使用该模型预测新的反应活性。模型大小已从 59MB 缩减至 36.4MB,并支持 CPU运行。
* [a-r-j/graphein](https://github.com/a-r-j/graphein) Graphein是一个用于构建蛋白质和 RNA 结构以及生物相互作用网络的几何表示的Python 库。它与标准 PyData 格式兼容,并提供易于与流行深度学习库一起使用的图对象。Graphein 支持从 PDB 数据库创建数据集,并提供 FoldComp 数据集。它还包含一个蛋白质张量模块,用于将蛋白质结构表示为张量。Graphein 的文档、论文、教程和安装指南可以在项目网站上找到。
* [kexinhuang12345/DeepPurpose](https://github.com/kexinhuang12345/DeepPurpose) PyTorch来解锁50多个用于药物-靶标相互作用(Drug-Target Interaction)预测的模型。DTI预测是新药研发中的一项基本任务。DeepPurpose的操作模式是像scikit-learn一样。只需几行代码,就可以利用最前沿的深度学习和药物研发模型。DeepPurpose还有一个简单的界面来做DTI预测的两个重要应用:虚拟筛选(Virtual Screening)和旧药新用(Drug Repurposing)。
* [ETHmodlab/molgrad](https://github.com/ETHmodlab/molgrad) 通过将积分梯度可解释人工智能(XAI)方法应用于图神经网络模型,提高了理性分子设计的建模透明度,并基于四个药理学相关ADME终点的实验,验证了所提出的方法能够突出与已知药效团基序一致的分子特征和结构元素,正确识别性质断崖,并提供了对非特异性配体-靶标相互作用的见解。
* [yueyu1030/SumGNN](https://github.com/yueyu1030/SumGNN) multi-typed drug interaction prediction via efficientknowledge graph summarization 基于高效知识图谱汇总的多类型药物关联预测。 整合了DDI信息(药物-药物相互作用)以及生物医学KG数据,并提出了有效的聚合机制以进行DDI预测。实验结果表明,该模型具有良好的预测性能。
* [kanz76/SSI-DDI](https://github.com/kanz76/SSI-DDI) 预测药物之间不良DDI的深度学习框架。首次将药物间相互作用预测的任务转化为子结构间相互作用预测的任务。实验结果表明,该方法有着目前最好的性能。并在transductive和inductive (冷启动场景)设置方面都取得了良好的效果。
* [lvguofeng/GNN_PPI](https://github.com/lvguofeng/GNN_PPI) 提出了一种基于图神经网络的方法 (GNN-PPI),以更好地预测新蛋白质之间的相互作用。在不同规模的真实世界数据集上的实验结果表明,GNN-PPI 显着优于最先进的 PPI 预测方法,特别是对于小说间的蛋白质相互作用预测。
* [jacklin18/KGNN](https://github.com/jacklin18/KGNN) IJCAI‘20 ”KGNN: Knowledge Graph Neural Network for Drug-Drug Interaction Prediction” 基于知识图谱的图神经网络(KGNN),以解决DDI预测问题。该框架可通过在KG中挖掘相关联的关系,来有效地捕获药物及其潜在的邻域实体信息。
* [ddinter.scbdd.com](http://ddinter.scbdd.com/) 专门针对药物-药物相互作用的综合、专业和开放存取的数据库。它为每个 DDI 关联提供了丰富的注释,包括机制描述、风险级别、管理策略、替代药物等,以改善临床决策和患者安全。
* [biomed-AI/GraphPPIS](https://github.com/biomed-AI/GraphPPIS) GraphPPIS 是一种使用深度图卷积网络进行基于结构的蛋白质-蛋白质相互作用位点预测的新框架,它能够从高阶空间相邻氨基酸中捕获信息。
* [biomed-AI/GraphSite](https://github.com/biomed-AI/GraphSite) 用于使用图形转换器和来自 AlphaFold2 的预测蛋白质结构进行基于序列的蛋白质-DNA 结合位点预测。
* [violet-sto/TGSA](https://github.com/violet-sto/TGSA) TGSA 的 PyTorch 实现:基于蛋白质-蛋白质关联的双图神经网络用于相似性增强的药物反应预测
* [YifanDengWHU/DDIMDL](https://github.com/YifanDengWHU/DDIMDL) 具有多种药物特征的多模式深度学习框架来预测药物-药物相互作用(DDI)事件。
* [Ieremie/TransformerGO](https://github.com/Ieremie/TransformerGO) 通过对基因本体术语集之间的注意力进行建模来预测蛋白质-蛋白质相互作用
* [THinnerichs/DTI-VOODOO](https://github.com/THinnerichs/DTI-VOODOO) 使用深度图学习方法进行药物靶标相互作用预测的 PPI 网络驱动方法。
* [CSUBioGroup/BACPI](https://github.com/CSUBioGroup/BACPI) 用于化合物-蛋白质相互作用和结合亲和力预测的双向注意力神经网络
* [twopin/CAMP](https://github.com/twopin/CAMP) 用于多层次肽-蛋白质相互作用预测的基于卷积注意力的神经网络
* [Liuxg16/GeoPPI](https://github.com/Liuxg16/GeoPPI) 用于模拟突变对蛋白质-蛋白质结合亲和力的影响的深度几何表示
* [aqlaboratory/hsm](https://github.com/aqlaboratory/hsm) 使用机器学习对蛋白质-肽相互作用和信号网络进行生物物理预测
* [ohuelab/QEPPI](https://github.com/ohuelab/QEPPI) 针对蛋白质-蛋白质相互作用的化合物早期筛选的定量估计指数
* [PaddleHelix/drug_target_interaction/sign](https://github.com/PaddlePaddle/PaddleHelix/tree/dev/apps/drug_target_interaction/sign) 用于预测蛋白质-配体结合亲和力的结构感知交互式图神经网络
* [IsXudongZhang/Molormer](https://github.com/IsXudongZhang/Molormer) 基于分子图空间结构的轻量级自注意药物相互作用预测方法
* [Layne-Huang/EGFI](https://github.com/Layne-Huang/EGFI) 融合丰富实体和句子信息的药物-药物相互作用提取和生成
* [DeepRank/deeprank](https://github.com/DeepRank/deeprank) 使用 CNN 数据挖掘蛋白质-蛋白质相互作用的深度学习框架
* [biomed-AI/CoSMIG](https://github.com/biomed-AI/CoSMIG) 多关系归纳药物-基因相互作用预测的交际子图表示学习
* [pharmai/plip](https://github.com/pharmai/plip) 根据 PDB 文件分析和可视化非共价蛋白质-配体相互作用
* [isjakewong/MIRACLE](https://github.com/isjakewong/MIRACLE) 多视图图对比表示学习用于药物药物相互作用预测
* [FangpingWan/DeepCPI](https://github.com/FangpingWan/DeepCPI) 基于深度学习的化合物和蛋白质相互作用预测框架
* [KailiWang1/DeepDTAF](https://github.com/KailiWang1/DeepDTAF) 预测蛋白质与配体结合亲和力的深度学习方法
* [thinng/GraphDTA](https://github.com/thinng/GraphDTA) 使用图神经网络预测药物-靶标的结合亲和力
## 药物发现_药物设计
* [XuhanLiu/DrugEx](https://github.com/XuhanLiu/DrugEx) 多药理学中基于帕累托的多目标优化药物设计深度学习工具包。由于可用于寻找可行的类药物分子的类药物化学空间大,合理的药物设计通常从添加或修饰侧链/取代基的特定支架开始。随着深度学习在药物发现中应用的快速增长,已经开发出多种有效的方法来进行从头药物设计。提出了DrugEx 的方法,该方法可以应用于基于多目标深度强化学习的多药理学。为了提高普遍适用性, DrugEx 以设计基于支架的药物分子,支架由用户提供的多个片段组成。在这项工作中,Transformer 用于生成分子结构。Transformer 包含一个接收支架作为输入的编码器和一个生成分子作为输出的解码器。为了处理分子的图形表示,我们提出了一种基于邻接矩阵的每个原子和键的新位置编码,以扩展 Transformer 的架构。每个分子都是通过生长和连接给定支架中的片段的程序生成的,这些片段被统一到一个模型中。此外,我们在强化学习框架下训练了这个生成器,以增加所需配体的数量。
* [jdurrant/deepfrag](https://git.durrantlab.pitt.edu/jdurrant/deepfrag) 药物发现是一个成本高昂且耗时的过程。在前期,研究员试图找到能够初步抑制某些疾病关联蛋白的苗头化合物。但这些化合物必须经过先导优化,包括添加或交换某些化学部分,旨在提高化合物的结合亲合力或其他与吸收、分布、代谢、排泄和毒性有关的化学性质(ADMET)。而计算机辅助药物设计(CADD)能够加速前期的这些研究。例如,作者团队最近开发了基于3D卷积神经网络的模型DeepFrag来进行更进一步的先导优化,不幸的是,基于深度学习的模型对于非计算机专业研究者并不友好。为了追求更高的易用性,作者开发了名为DeepFrag的网页应用,为对编程不太熟悉的研究人员提供了图形化的界面,利用本地资源即可运行DeepFrag进行CADD的研究。
* [illidanlab/MolSearch](https://github.com/illidanlab/MolSearch) MolSearch是一个基于搜索的多目标分子生成和性质优化框架,旨在解决药物发现领域中高效生成满足多个性质要求的分子这一挑战。该项目利用从大型化合物库中系统地推导出的转换规则,采用两阶段搜索策略,逐步将现有分子修改为新的分子。MolSearch在多个基准生成设置中表现出有效性和效率,其性能与深度学习方法相当甚至更好,同时计算效率更高。该项目依赖于ChEMBL数据库和medchem_moves库,并提供详细的安装和运行指令,包括代码示例。该研究由美国国家科学基金会、美国海军研究办公室和美国国立卫生研究院资助,并得到密歇根州立大学网络化研究机构的支持。
* [isayev/ReLeaSE](https://github.com/isayev/ReLeaSE) ReLeaSE(Reinforcement Learning for Structural Evolution) 是一个基于深度强化学习的药物设计工具,使用 PyTorch 实现。该项目需要 NVIDIA GPU (compute capability 3.5 或更高)、CUDA 9.0、PyTorch 0.4.1、Tensorflow 1.8.0、RDKit、Scikit-learn、Numpy、tqdm 和 Mordred 等软件。项目包含多个演示,例如 JAK2 pIC50 最小化和最大化、LogP 优化以及使用 OpenChem 工具包训练循环神经网络预测 SMILES 的 logP。项目还提供了一个 JAK2 活动数据,但由于许可协议限制,演示使用随机森林预测器而不是循环神经网络。该项目已发表在 Science Advances 杂志上,论文标题为“Deep Reinforcement Learning for de novo Drug Design”。
* [SeonghwanSeo/PharmacoNet](https://github.com/SeonghwanSeo/PharmacoNet) PharmacoNet是一个开源的基于蛋白质的药效团建模工具,它利用深度学习技术加速大规模虚拟筛选。该项目的主要特点包括:基于图像实例分割模型的自动化蛋白质药效团建模、药效团层面的粗粒度图匹配以实现高通量筛选、具有参数化解析函数的药效团感知评分函数,以及用于深度学习开发人员的改进口袋表示。PharmacoNet是一个速度极快且精度合理的配体评估工具,具有很高的生成能力。用户可以通过命令行界面快速进行药效团建模和虚拟筛选。该项目还提供了预训练的泊坞代理,方便用户快速上手。
* [jshang123/G-Bert](https://github.com/jshang123/G-Bert) G-Bert是一个用于药物推荐的图增强Transformer模型,它结合了图神经网络 (GNN) 和 BERT 的优势。G-Bert 利用 GNN 从医疗本体中提取医疗代码的结构信息,并将 GNN 表示集成到基于Transformer的访问编码器中,并在单次访问的电子健康记录 (EHR) 数据上进行预训练。预训练的访问编码器和表示可以微调用于下游医疗预测任务。G-Bert 是第一个将语言模型预训练模式引入医疗领域的模型,在药物推荐任务上取得了最先进的性能。该项目包含代码、数据和预处理脚本,用户可以根据提供的指南进行预训练和微调。
* [arneschneuing/DiffSBDD](https://github.com/arneschneuing/DiffSBDD) DiffSBDD是一个基于结构的药物设计框架,它使用等变扩散模型生成新的药物分子。该项目提供预训练模型,支持从头设计、亚结构修复和分子优化等多种应用场景。用户可以通过提供的示例代码轻松上手,并使用预训练模型生成新的分子。项目提供多种模型,包括基于Cα原子和全原子模型,并支持条件和联合训练模式。用户可以从Zenodo下载预训练模型,并使用提供的代码进行推理和评估。该项目还提供了详细的训练和推理脚本,以及用于评估模型性能的基准数据集。
* [mims-harvard/TxGNN](https://github.com/mims-harvard/TxGNN) TxGNN是一个基于几何深度学习的模型,用于预测疾病的治疗机会,尤其适用于治疗选择有限且分子机制不明确的疾病。它利用了人类中心的设计理念,并预先训练于包含17,080种临床认可疾病和7,957种治疗候选药物的知识图谱。TxGNN可以处理多种治疗任务,例如适应症和禁忌症预测,并能够在训练后对新疾病进行零样本推断,无需额外参数或微调。该项目提供核心API接口,用户可以复现论文结果,并利用少量代码在自己的药物再利用数据集上训练TxGNN,并生成图解释。
* [dglai/Graph-Neural-Networks-in-Life-Sciences](https://github.com/dglai/Graph-Neural-Networks-in-Life-Sciences) 该项目是KDD 2022年关于“生命科学中的图神经网络:机遇与解决方案”的动手教程。它介绍了生命科学中各种生物医学图/网络的类型,以及图机器学习算法在解决这些问题中的应用。教程包含四个动手环节,涵盖了使用图神经网络进行小分子性质预测、大分子性质和功能预测、蛋白质-配体对的结合亲和力预测以及利用知识图谱进行药物发现和再利用等应用。该项目还提供了DGL-lifesci和DGL-KE两个扩展库,帮助参与者快速上手图机器学习,推动生命科学研究和发展。
* [microsoft/Drug-Interaction-Research](https://github.com/microsoft/Drug-Interaction-Research) 该项目由微软团队开发,旨在利用人工智能技术进行药物相互作用研究,包括药物-靶标相互作用预测、药物-药物相互作用预测、药物组合、药物对相互作用预测等。项目包含了两个主要的 AI 模型:DSN-DDI 和 IGT,分别用于药物-药物相互作用预测和药物-靶标相互作用预测,并提供了预训练模型和代码。用户可以参考项目中的论文进行引用,并联系项目负责人王彤博士获取技术支持。该项目遵循 MIT 许可协议。
* [longlongman/DESERT](https://github.com/longlongman/DESERT) DESERT是一个基于草图绘制和生成进行零样本3D药物设计的项目,该项目在NeurIPS 2022上发表。DESERT利用ParaGen模型,通过草图绘制的方式,根据目标蛋白的口袋结构,生成新的药物分子。用户可以利用CAVITY工具获取目标蛋白的口袋结构,并通过sketching.py脚本进行草图绘制,随后利用generate.sh脚本生成新的药物分子。该项目提供预训练模型和部分训练数据,用户可以根据项目说明进行配置和训练。
* [hetio/hetionet](https://github.com/hetio/hetionet) Hetionet是一个整合了生物学信息的异构网络,包含多种节点和边类型,用于系统地识别药物作用机制并预测新的药物治疗方案。该项目包含47,031个节点,11种节点类型,2,250,197条边,24种边类型。用户可下载JSON、Neo4j、TSV和矩阵格式的Hetionet数据。该项目还包含基于Hetionet的衍生网络,例如用生物表达语言(BEL)表示的Hetionet,以及用于随机化边连接的五种Hetionet排列版本。
* [yangnianzu0515/MoleRec](https://github.com/yangnianzu0515/MoleRec) MoleRec是一个基于子结构感知分子表示学习的组合药物推荐模型,其官方实现代码已发布在GitHub上。该项目包含数据处理、模型定义、训练和评估等代码,并提供数据生成脚本和依赖库配置。MoleRec在TheWebConf 2023上发表,并已集成到PyHealth软件包中作为组合药物推荐任务的基准方法。该模型利用药物的子结构信息来学习更有效的分子表示,从而提高药物推荐的准确性。
* [seyonechithrananda/bert-loves-chemistry](https://github.com/seyonechithrananda/bert-loves-chemistry) ChemBERTa是一个基于BERT的化学模型集合,应用于SMILES数据,用于药物设计、化学建模和性质预测。该项目提供了一系列预训练模型,并在HuggingFace上发布。用户可以使用这些模型进行掩码语言建模(MLM)预测任务,并通过提供的教程学习如何使用ChemBERTa进行迁移学习。该项目还计划发布更大的预训练模型,并支持更多性质预测任务,例如BBBP。
* [PaddlePaddle/PaddleHelix](https://github.com/PaddlePaddle/PaddleHelix/) 螺旋桨(PaddleHelix)是一个生物计算工具集,是用机器学习的方法,特别是深度神经网络,致力于促进以下领域的发展。**新药发现**。提供1)大规模预训练模型:化合物和蛋白质; 2)多种应用:分子属性预测,药物靶点亲和力预测,和分子生成。**疫苗设计**。提供RNA设计算法,包括LinearFold和LinearPartition。**精准医疗**。提供药物联用的应用。
* [caiyajunx/DrugsearchJump](https://github.com/caiyajunx/DrugsearchJump) DrugsearchJump是一个专门为药物研发人员设计的文献、资料、数据检索工具,旨在帮助他们更加高效地进行药物研发相关信息的搜索。该项目基于searchEngineJump,并针对药物研发领域进行了优化,能够自动生成更精准的搜索关键词,并跳转到相关文献、资料、数据所在的网站,提升药物研发人员的工作效率。
* [mims-harvard/TDC](https://github.com/mims-harvard/TDC) Therapeutics Data Commons (TDC),第一个机器学习在生物医药的大规模数据集。TDC目前包含了20+有意义的任务,和70多个高质量数据集,从靶蛋白的发现,药物动力学,安全性,药物生产都有包含到。而且不仅仅是小分子,还有抗体,疫苗,miRNA等。之后也会加入CRISPR,Clinical Trials等等。
* [griffithlab/pVACtools](https://github.com/griffithlab/pVACtools) pVACtools是一个用于癌症免疫治疗的工具套件,包含pVACseq、pVACbind、pVACfuse、pVACvector和pVACview等工具。它可以从VCF文件或FASTA文件中识别和优先排序新抗原,并帮助用户设计个性化的癌症疫苗。pVACtools支持Linux系统,需要Python 3.6或更高版本,可以通过pip安装。
* [maxime-langevin/scaffold-constrained-generation](https://github.com/maxime-langevin/scaffold-constrained-generation) 基于现有的 SMILES 循环神经网络模型来执行支架约束生成。支架约束生成和优化并不是很好研究的问题,但在处理药物发现项目时(尤其是在化合物的后期优化中),这是我们试图解决的问题。
* [mattragoza/LiGAN](https://github.com/mattragoza/LiGAN) 用于基于结构的药物发现的 3D 网格深度生成模型。LiGAN 是一个基于结构的药物发现研究项目,具有原子密度网格的深度生成模型。它基于pytorch和molgrid ,并广泛使用rdkit和openbabel 。
* [emreg00/toolbox](https://github.com/emreg00/toolbox) 疾病和药物相关的生物学数据集时所使用的各种脚本。它包含用于数据处理的通用实用程序(例如,解析,基于网络的分析,邻近性等)。
* [deepchem/deepchem](https://github.com/deepchem/deepchem) DeepChem 旨在提供一个高质量的开源工具链,使深度学习在药物发现、材料科学、量子化学和生物学中的使用民主化。
* [cansyl/MDeePred](https://github.com/cansyl/MDeePred) 多通道蛋白质的特征化来解决深度学习下药物发现中亲和力预测问题
* [pyli0628/MPG](https://github.com/pyli0628/MPG) 一种有效的自我监督框架,用于学习药物发现的表达性分子全局表示
* [zty2009/GCN-DNN](https://github.com/zty2009/GCN-DNN) 基于图卷积网络和深度神经网络的药物靶点相互作用识别
* [ruoqi-liu/DeepIPW](https://github.com/ruoqi-liu/DeepIPW) 基于真实世界患者数据的药物重定位的深度学习框架
* [Mariewelt/OpenChem](https://github.com/Mariewelt/OpenChem) 用于计算化学和药物设计研究的深度学习工具包
* [luost26/3D-Generative-SBDD](https://github.com/luost26/3D-Generative-SBDD) 基于结构的药物设计的 3D 生成模型 (NeurIPS 2021)
* [kekegg/DLEPS](https://github.com/kekegg/DLEPS) 利用深度学习从基因转录数据中预测药物疗效
* [WebyGit/CGINet](https://github.com/WebyGit/CGINet) 大规模药物信息网络构建及图卷积预测模型
* [tencent-ailab/DrugOOD](https://github.com/tencent-ailab/DrugOOD) 人工智能辅助药物发现的 OOD 数据集和基准
* [DeepGraphLearning/torchdrug](https://github.com/DeepGraphLearning/torchdrug) 药物发现强大而灵活的机器学习平台
## 蛋白质结构
* [evolutionaryscale/esm](https://github.com/evolutionaryscale/esm) ESM3是生物学的前沿生成模型,能够联合推理蛋白质的三个基本生物学特性:序列、结构和功能。这三种数据模式在 ESM3 的输入和输出处表示为离散标记的轨迹。您可以使用跨轨道的部分输入组合来呈现模型,ESM3 将为所有轨道提供输出预测。ESM3 是一种生成屏蔽语言模型。您可以使用部分序列、结构和函数关键字提示它,并迭代地对屏蔽位置进行采样,直到所有位置都被取消屏蔽。这种迭代采样就是.generate()函数所做的。ESM3 架构由于其变压器骨干和对离散令牌序列的全面推理而具有高度可扩展性。在最大规模的情况下,ESM3 在 27.8 亿个蛋白质和 7710 亿个独特令牌上进行了 1.07e24 次 FLOP 训练,并拥有 980 亿个参数。通过阅读博客文章和预印本了解更多信息(Hayes 等人,2024) 。在这里,我们介绍esm3-open-small 。它具有 1.4B 参数,是该系列中最小、最快的型号。 ESM3-open 可在非商业许可下使用,并在LICENSE.md下复制。请访问我们的讨论页面以取得联系、提供反馈、提出问题或分享您的 ESM3 体验!
* [NREL/EvoProtGrad](https://github.com/NREL/EvoProtGrad) EvoProtGrad是一个基于梯度的离散马尔科夫链蒙特卡洛(MCMC)方法,用于在蛋白质序列空间中进行定向进化。它允许用户使用预训练模型(包括蛋白质语言模型)构建自定义模型,将序列映射到功能,从而指导和约束搜索。EvoProtGrad通过对输入(即敏感性分析)进行模型梯度来识别有希望突变的氨基酸。它使用专家乘积MCMC范式,允许用户通过组合不同的专家模型来构建自定义目标函数,每个模型都贡献了关于蛋白质适应度景观的知识。与蛮力搜索和随机搜索相比,该采样器更高效、更有效,同时保持了大部分通用性和灵活性。用户可以使用HuggingFace轻松集成蛋白质语言模型,并通过`evo_prot_grad.get_expert`创建专家模型。例如,可以使用`evo_prot_grad.DirectedEvolution`运行搜索,返回每个马尔科夫链的最佳变体。
* [martinpacesa/BindCraft](https://github.com/martinpacesa/BindCraft) BindCraft是一个用户友好的、准确的结合剂设计管道,利用AlphaFold2反向传播、MPNN和PyRosetta。只需选择你的目标,脚本就会完成剩下的工作,直到你拥有足够的设计可以进行订购。BindCraft提供了一个方便的Google Colab笔记本,用于测试代码功能,但由于管道需要大量的GPU内存才能运行较大的目标+结合剂复合物,建议使用本地安装和至少32GB的GPU内存运行。为了加速结合剂生成并最小化GPU内存需求,请始终尝试将输入目标PDB修剪到尽可能小的尺寸。为了获得一些可接受的结合剂,至少需要运行几百条轨迹,对于困难的目标,甚至可能需要几千条轨迹。BindCraft支持SLURM和本地运行,用户可以通过配置目标.json文件和过滤器、高级设置文件来定制设计流程。
* [HeliXonProtein/OmegaFold](https://github.com/HeliXonProtein/OmegaFold) 《从原生层序进行高分辨率从头构造预测》的代码。AI预测蛋白质3D结构,仅通过单条蛋白序列就能搞定。也就是说,AI预测蛋白质结构,可以不需要蛋白质进化过程中的同源信息。一些人工设计的蛋白质药物和工业合成用酶,也可以通过AI预测3D结构,确定其对人体的功能。达成这一成就的AI算法名为OmegaFold,在最近的全球持续蛋白质预测竞赛中,整体预测能力已经与DeepMind此前开发的AlphaFold2,和华盛顿大学开发的RoseTTAFold不相上下,甚至有些指标优于后两者。研究成果来自国内AI创新药物公司华深智药,一家成立不到一年的中国初创企业,孵化自张亚勤旗下的清华大学智能产业研究院。
* [aqlaboratory/proteinnet](https://github.com/aqlaboratory/proteinnet) ProteinNet是一个用于蛋白质结构机器学习的标准化数据集,它提供蛋白质序列、结构(二级和三级)、多序列比对、位置特异性评分矩阵和标准化训练/验证/测试集。ProteinNet基于两年一度的CASP评估,该评估对最近解决但尚未公开的蛋白质结构进行盲预测,以提供推动计算方法发展前沿的测试集。它被组织成一系列数据集,涵盖CASP 7到12(覆盖十年),以提供一系列数据集大小,使评估新方法在数据贫乏和数据丰富的环境中成为可能。该项目旨在通过提供标准化数据集和标准化训练/验证/测试集,促进蛋白质结构的机器学习研究,类似于ImageNet推动计算机视觉技术的发展。
* [sacdallago/bio_embeddings](https://github.com/sacdallago/bio_embeddings) BioEmbeddings是一个用于从蛋白质序列生成蛋白质嵌入的项目,它提供了一个统一的接口,方便用户利用语言模型进行生物序列表示的迁移学习。该项目包含多种来自不同实验室、针对不同目的训练的模型,并提供丰富的示例和文档,帮助用户轻松使用。项目还包含一个管道,可以将序列嵌入到矩阵或向量表示中,并使用UMAP或t-SNE进行降维和可视化,并提取注释信息。此外,该项目还提供了一个Web服务器,将管道封装成一个分布式API,方便用户进行可扩展和一致的工作流程。用户可以通过pip或docker安装Bio Embeddings,并根据需要选择不同的模型和功能。
* [steineggerlab/foldcomp](https://github.com/steineggerlab/foldcomp) Foldcomp是一个高效的蛋白质结构压缩库和格式,它利用扭转角将蛋白质结构压缩到仅需13字节/残基,比直接保存3D坐标节省了一个数量级的存储空间。Foldcomp将主链原子压缩到8字节,侧链压缩到每个残基额外4-5字节,因此一个平均大小为350个残基的蛋白质只需要约6kb的存储空间。Foldcomp使用紧凑的二进制文件格式(FCZ)对主链和侧链的扭转角进行编码,并提供快速解压缩功能,其速度与gzip相当。Foldcomp目前仅支持单链PDB文件的压缩,可用于压缩单个PDB文件、目录或tar文件,并提供解压缩、提取序列或pLDDT、检查压缩文件和计算RMSD等功能。
* [soedinglab/MMseqs2](https://github.com/soedinglab/MMseqs2) MMseqs2是一个用于搜索和聚类海量蛋白质和核酸序列集的开源软件套件,它基于 C++ 语言开发,支持 Linux、MacOS 和 Windows(通过 cygwin)。MMseqs2 能够在多核和服务器上运行,具有极高的可扩展性,速度比 BLAST 快 10000 倍,在速度提升 100 倍的情况下仍能保持几乎相同的灵敏度。它可以执行与 PSI-BLAST 具有相同灵敏度的概要搜索,速度是其 400 多倍。MMseqs2 的文档可以在 GitHub Wiki 或 PDF 文件中找到,并提供教程帮助用户学习如何使用真实数据。用户可以通过编译源代码、下载静态编译的二进制文件、使用 Homebrew、conda 或 Docker 来安装 MMseqs2。
* [ml4bio/Dense-Homolog-Retrieval](https://github.com/ml4bio/Dense-Homolog-Retrieval) DenseHomolog Retriever (DHR) 是一个基于深度密集检索的蛋白质远程同源物检测工具,它能够快速、敏感地识别蛋白质之间的远程同源关系。该项目基于 Nature Biotechnology 发表的论文,并提供了预训练模型和代码,用户可以利用该工具进行蛋白质同源物检索和结构预测。DHR 使用了深度学习模型,通过将蛋白质序列嵌入到高维空间中,并利用 Faiss 库进行快速检索,从而实现高效的同源物识别。用户可以根据自己的需求选择离线嵌入或在线检索模式,并利用 ColabFold 进行结构预测。该项目还提供了详细的文档和示例代码,方便用户快速上手。
* [williamgilpin/pypdb](https://github.com/williamgilpin/pypdb) PyPDB是一个 Python 3 工具包,用于与 RCSB 蛋白质数据库(PDB) 进行搜索。它可以用于执行高级搜索,以查找匹配各种条件的 PDB ID,以及查找与特定 PDB ID 关联的信息。该工具允许从 PDB 网站(BLAST、PFAM 查找等)执行的标准操作在 Python 脚本中执行。该项目提供了简单的 API 和高级搜索和查询逻辑,可以用于获取与特定搜索词、实验类型、结构和其他常见标准相关的 PDB ID 列表,以及获取与 PDB ID 关联的数据,包括沉积日期、作者和相关出版物列表、序列或结构、顶级 BLAST 匹配和其他查询特定属性,例如配体或化学结构列表。
* [dptech-corp/Uni-Fold](https://github.com/dptech-corp/Uni-Fold) Uni-Fold是一个开源平台,用于开发超越AlphaFold的蛋白质模型。它用PyTorch框架重新实现了AlphaFold和AlphaFold-Multimer模型,并通过从头开始训练实现了与AlphaFold相当的精度,支持单体和多体模型。Uni-Fold在现有AlphaFold实现中效率最高,并基于Uni-Core提供便捷的分布式训练,包括半精度训练、样本梯度裁剪和融合CUDA内核。Uni-Fold还包含UF-Symmetry,可以快速预测大型对称复合物。Uni-Fold在PDB结构上表现出色,与AlphaFold相比,在单体预测精度上相当,在多体预测精度上更好。Uni-Fold的端到端训练效率大约是官方AlphaFold的2.2倍。
* [opendilab/awesome-AI-based-protein-design](https://github.com/opendilab/awesome-AI-based-protein-design) 这是一个收集了基于人工智能的蛋白质设计研究论文的项目,旨在跟踪该领域的前沿进展。项目包含了来自Nature、Nature Biomedical Engineering、Nature Communications、NatureMachine Intelligence、Science等期刊的论文,以及来自ICML、ICLR、NeurIPS、Arxiv和bioRxiv的论文。项目特色在于利用人工智能工具解决蛋白质结构预测问题,例如AlphaFold 2,并将其应用于蛋白质设计,例如预测氨基酸序列、蛋白质结构完成和结合能量函数与分子动力学模拟相结合的蛋白质设计。项目还包含了不同蛋白质设计方法的介绍和对应的AI问题定义。
* [songlab-cal/tape](https://github.com/songlab-cal/tape) TAPE(Tasks Assessing Protein Embeddings) 是一个包含五个生物相关半监督学习任务的基准测试集,涵盖蛋白质生物学的不同领域。该项目提供预训练语料库、五个监督下游任务、预训练语言模型权重和基准测试代码,旨在评估蛋白质嵌入的性能。该项目使用 PyTorch 重新实现,并提供 Huggingface API 加载预训练模型,方便用户使用和未来开发。项目还提供了一个排行榜,展示不同模型在不同任务上的表现。用户可以通过安装 `tape_proteins` 包使用该项目,并参考项目提供的示例代码进行模型训练、评估和使用。
* [microsoft/evodiff](https://github.com/microsoft/evodiff) EvoDiff是一个基于扩散模型的蛋白质序列生成框架,它结合了进化尺度数据,可以生成高保真、多样化且结构合理的蛋白质序列。EvoDiff能够生成结构模型无法生成的蛋白质,例如具有无序区域的蛋白质,同时还能设计功能性结构基序的支架,展现了基于序列的公式的通用性。EvoDiff能够扩展蛋白质工程的能力,超越结构-功能范式,实现可编程的、以序列为中心的蛋白质设计。项目提供EvoDiff-Seq和EvoDiff-MSA模型,分别用于序列和多序列比对生成,并提供相关文档和示例,方便用户使用。
* [biolists/folding_tools](https://github.com/biolists/folding_tools) 这是一个收集了各种蛋白质折叠工具的项目,包含基于多序列比对(MSA)的预测工具、其他工具和扩展、数据库和数据集、网络服务器以及已停止维护的工具。该项目旨在提供一个全面、易于访问的资源,帮助研究人员找到合适的工具来解决蛋白质折叠问题。项目特色包括:包含了多种基于 AlphaFold 2 和蛋白质语言模型的工具,并根据工具类型进行分类;提供了每个工具的详细信息,包括代码库、论文链接、功能等;还包含了已停止维护的工具列表,方便用户了解工具的最新状态。
* [PeptoneLtd/dspp-keras](https://github.com/PeptoneLtd/dspp-keras) dspp-keras是一个 Keras 集成,用于 [蛋白质结构倾向数据库](https://peptone.io/dspp),该数据库提供了 7200 多种不相关蛋白质的 **氨基酸序列**,以及它们 **形成二级结构或保持无序的倾向**。该项目旨在为持续学习应用提供自动更新周期,并提供蛋白质结构和动态信息。项目利用蛋白质结构倾向数据库中的数据,通过 Keras 框架进行机器学习,并提供示例模型供用户训练和测试。该项目可以帮助研究人员更好地理解蛋白质的结构和动态,并为蛋白质功能和药物开发提供新的见解。
* [westlake-repl/SaprotHub](https://github.com/westlake-repl/SaprotHub) SaprotHub是一个开源项目,旨在让所有生物学家都能使用蛋白质建模技术。它基于 Open Protein Modeling Consortium (OPMC) 的合作倡议,该倡议旨在通过共享和共同构建资源来促进蛋白质建模领域的发展。SaprotHub 提供了一个平台,支持各种蛋白质预测,并提供 ColabSaprot等工具,让用户无需机器学习专业知识就能进行蛋白质建模。该项目由来自 MIT、首尔国立大学、微软等多家机构的学者共同参与。用户可以在本地服务器上部署 ColabSaprot,并通过 GitHub 仓库获取相关信息和帮助。
* [soedinglab/hh-suite](https://github.com/soedinglab/hh-suite) HH-suite3是一个开源软件包,用于基于隐藏马尔可夫模型 (HMM)的成对比对进行敏感的蛋白质序列搜索。它提供了一个用户指南,包含许多使用示例、常见问题解答以及构建自定义数据库的指南。HH-suite3 可以通过下载静态编译版本、conda 或 Docker 进行安装,并支持 SSE2 和 AVX2 指令集。它还提供了多个可用的数据库,包括 Uniclust30、BFD、Pfam/SCOP/PDB70/dbCAN 以及 MPI 生物信息学工具包维护的数据库 (COG/ECOG/CD/...)。用户可以从源代码编译 HH-suite3,需要 C/C++ 编译器和 CMake。
* [westlake-repl/ProTrek](https://github.com/westlake-repl/ProTrek) ProTrek是一个三模态蛋白质语言模型,它联合建模蛋白质序列、结构和功能(SSF)。它使用对比学习,通过三种核心对齐策略:序列-结构、序列-功能和结构-功能之间的相互监督,将真实样本对拉近,将负样本推远。ProTrek在序列-功能和功能-序列检索方面提升了30倍和60倍,蛋白质-蛋白质搜索速度比Foldseek和MMseqs2快100倍,在11个下游预测任务中,有9个任务的表现优于ESM-2。该项目提供预训练模型,并提供环境安装、模型下载、嵌入获取和相似度计算等功能。
* [a-r-j/ProteinWorkshop](https://github.com/a-r-j/ProteinWorkshop) Protein Workshop是一个蛋白质表示学习基准测试框架,包含大量预训练和下游任务数据集、模型以及训练/任务工具。该项目提供了一个用于蛋白质表示学习研究项目的模板,并包含可用于项目的模块库以及用于快速运行蛋白质表示学习评估和预训练配置的CLI工具。该项目还提供了预处理数据集和预训练权重,方便用户使用。用户可以使用该框架进行蛋白质表示学习研究,例如训练模型、微调模型、运行实验、嵌入数据集、可视化嵌入、执行模型归因等。
* [tbepler/protein-sequence-embedding-iclr2019](https://github.com/tbepler/protein-sequence-embedding-iclr2019) 该项目提供ICLR 2019论文 "Learning protein sequence embeddings using information fromstructure" 的源代码和预训练模型。项目利用蛋白质结构信息来训练蛋白质序列嵌入模型,提供SCOPe、Pfam、蛋白质二级结构、跨膜蛋白和CASP12接触图等数据集,并提供预训练模型供下载。用户可以使用这些模型进行蛋白质序列分析和预测等任务。项目代码使用Python编写,依赖PyTorch等库,并提供详细的安装和使用说明。该项目遵循CC BY-NC 4.0许可协议,仅供非商业用途使用。
* [THUDM/ProteinLM](https://github.com/THUDM/ProteinLM) ProteinLM是一个基于 Megatron-LM 框架的蛋白质语言模型,它在TAPE(Tasks Assessing Protein Embeddings)数据集上取得了良好的性能。该项目提供预训练和微调代码,用户可以下载预训练模型或自行训练。ProteinLM 在五个生物相关任务上表现出色,包括接触预测、远程同源性、二级结构预测、荧光预测和稳定性预测。例如,在接触预测任务中,ProteinLM (3B) 的 P@L/5 指标达到了 0.75,显著优于 TAPE 的 0.36。用户可以参考项目中的 README 文件获取详细的使用说明。
* [patrickbryant1/MoLPC](https://github.com/patrickbryant1/MoLPC) MoLPC是一个用于预测大型蛋白质复合物结构的工具,它利用AlphaFold2和FoldDock管道,无需结构模板即可预测包含多个亚基的蛋白质复合物结构。该工具适用于10-30个链的复合物,也适用于更小的复合物。MoLPC可以利用来自任何方法的亚基预测结果,例如AlphaFold-multimer,但会增加运行时间。用户需要准备包含蛋白质序列和化学计量信息的CSV文件,以及可选的链间相互作用信息。MoLPC提供了测试用例和安装脚本,用户可以通过命令行运行该工具。
* [FreyrS/dMaSIF](https://github.com/FreyrS/dMaSIF) 蛋白质表面的快速端到端学习.蛋白质的生物学功能由其 3D 分子表面的几何和化学结构定义。最近的工作表明,几何深度学习可用于蛋白质的基于网格的表示,以识别潜在的功能位点,例如潜在药物的结合目标。不幸的是,使用网格作为蛋白质结构的底层表示有多个缺点,包括需要预先计算输入特征和网格连接性。这成为蛋白质科学中许多重要任务的瓶颈。在本文中,我们提出了一个新的蛋白质结构深度学习框架,以解决这些限制。
* [dauparas/ProteinMPNN](https://github.com/dauparas/ProteinMPNN) 基于深度学习的蛋白质序列设计方法,在计算和实验测试中都有出色的表现。在本地蛋白质骨架上,它的序列恢复率为52.4%,而Rosetta为32.9%。不同位置的氨基酸序列可以在单链或多链之间进行耦合,从而能够应用于当前广泛的蛋白质设计挑战。研究员利用X射线晶体学、冷冻电镜和功能研究证明了它的广泛实用性和高准确性,挽救了使用Rosetta或AlphaFold进行的蛋白质单体、环状同源寡聚体、四面体纳米颗粒和靶标结合蛋白的失败设计。
* [hpcaitech/FastFold](https://github.com/hpcaitech/FastFold) FastFold是一个针对蛋白质结构预测模型 AlphaFold 的高性能实现,它优化了Evoformer 模块,使其在 GPU 集群上具有更快的训练和推理速度。FastFold 的主要特点包括:优异的 GPU 内核性能、支持动态轴向并行 (DAP),DAP 可以突破单 GPU 的内存限制并加速训练和推理,使其能够处理超长序列,易于使用,只需少量代码修改即可获得显著的性能提升,并提供更快的预处理速度,能够显著减少 GPU 内存占用,支持超过 10000 个残基的序列推理。
* [zjunlp/OntoProtein](https://github.com/zjunlp/OntoProtein) OntoProtein 是一种将 GO(Gene Ontology)中的结构用于文本增强的蛋白质预训练模型的有效方法。一种知识增强的蛋白质语言模型,它共同优化了 KE 和 MLM 目标,为广泛的蛋白质任务带来了出色的改进。并且我们引入了**ProteinKG25**,一个新的大规模KG数据集,促进了蛋白质语言预训练的研究。支持ss3, ss8( 3-class and 8-class protein secondary structure 3类和8类蛋白质二级结构), contact, remote_homology, fluorescence 荧光, stability 稳定等下游任务。
* [westlake-repl/SaProt](https://github.com/westlake-repl/SaProt) SaProt: 使用结构感知词汇表进行蛋白质语言建模 (AA+3Di)。我们提出了一种用于蛋白质语言建模的结构感知词汇表。通过使用 foldseek 将蛋白质结构编码为离散的 3D 标记来构建词汇表。我们将残基标记和结构标记组合在一起,形成一个结构感知序列。通过大规模的预训练,我们的模型,即 SaProt,可以学习结构和序列之间的关系。有关更多详细信息,请参阅我们的论文 https://www.biorxiv.org/content/10.1101/2023.10.01.560349v2。
* [sokrypton/ColabDesign](https://github.com/sokrypton/ColabDesign) ColabDesign是一个基于 Google Colab 的蛋白质设计平台,旨在让所有人都能轻松使用蛋白质设计工具。它提供了多种模型,包括使用 TrRosetta、AlphaFold 和RoseTTAFold 进行结构预测和设计的 TrDesign、AfDesign 和 RfDesign,以及使用 ProteinMPNN 和 TrMRF 进行序列预测的模型。此外,它还包含用于序列和结构预测的实验性模型,例如 MSA_transformer 和 Rfdiffusion。该项目还拥有一个 Discord频道供用户交流,并提供相关演示文稿和视频。
* [microsoft/AI2BMD](https://github.com/microsoft/AI2BMD) AI²BMD是一个利用*从头算*精度高效模拟蛋白质分子动力学的程序。该项目提供模拟程序、数据集和相关材料,并已在《自然》杂志上发表。AI²BMD使用机器学习模型来加速*从头算*电子结构计算,从而实现对蛋白质动力学的准确模拟。用户可以通过提供的Docker镜像和Python启动器轻松运行模拟,并可下载包含2000万个二肽构象的蛋白质单元数据集和包含200万个Chignolin构象的AIMD-Chig数据集,用于训练和验证模型。
* [baaihealth/OpenComplex](https://github.com/baaihealth/OpenComplex) OpenComplex是一个开源平台,用于开发蛋白质和 RNA 复合物模型,基于 DeepMind 的Alphafold 2 和 AQ Laboratory 的 OpenFold,它支持 Alphafold 2和 OpenFold 的几乎所有功能,并引入了新的功能,例如重新实现 Alphafold-Multimer 模型、高精度 RNA 和蛋白质-RNA复合物模型、在 Ampere GPU 上的内核融合和优化,可提高 16% 的性能。该项目提供了安装指南、数据准备方法、训练和推理示例,以及测试和引用信息,并提供 Apache 2.0 许可证。
* [dptech-corp/Uni-Fold-jax](https://github.com/dptech-corp/Uni-Fold-jax) Uni-Fold-JAX 是一个基于 JAX 的可训练的 AlphaFold 实现,它允许用户从头开始训练自己的深度蛋白质折叠模型。该项目基于 DeepMind的 AlphaFold v2.0 开源代码,并提供了训练模型所需的代码。Uni-Fold-JAX 使用 Transformer 架构,并采用与 AlphaFold2 相同的数据处理流程,用户可以利用提供的脚本下载必要的数据库和工具来准备训练数据。Uni-Fold-JAX 还提供了一个名为Hermite 的蛋白质结构预测服务,用户可以免费试用。
* [adaptyvbio/ProteinFlow](https://github.com/adaptyvbio/ProteinFlow) ProteinFlow是一个开源 Python 库,用于简化蛋白质结构数据预处理,以便用于深度学习应用。它允许用户从蛋白质数据库 (PDB) 和 SAbDab等资源中高效地过滤、聚类和生成新的数据集。ProteinFlow 支持处理单链和多链蛋白质结构,计算各种特征,包括二级结构特征、扭转角等,并提供各种数据加载选项和转换,以适应不同的下游训练框架。此外,它还提供访问最新的预计算蛋白质结构数据集。
* [sarpaykent/GBPNet](https://github.com/sarpaykent/GBPNet) GBPNet是一个用于蛋白质结构的通用几何表示学习项目,包含模型实现、数据处理管道和测试脚本。项目提供了一个用于蛋白质结构预测(CPD)任务的演示模型,并利用PyTorch、PyTorch Lightning、PyTorch Geometric等库,并参考了Ingraham等人的NeurIPS 2019论文、Townshend等人的NeurIPS 2020论文以及Jing等人的ICLR 2021论文。用户可通过运行测试脚本自动下载数据集,并使用提供的演示模型进行评估。
* [BenevolentAI/DeeplyTough](https://github.com/BenevolentAI/DeeplyTough) DeeplyTough是一个基于PyTorch的工具,用于学习蛋白质结合位点的结构比较,其论文发表在ACS期刊上。该工具可以用于训练和评估蛋白质结合位点比较模型,并支持三个内置数据集:TOUGH-M1、Vertex和ProSPECCTs。用户可以下载这些数据集并使用DeeplyTough进行模型训练和评估,也可以使用自定义数据集进行训练。DeeplyTough还提供代码用于数据预处理,方便用户从原始数据开始进行处理。
* [Zuricho/ParallelFold](https://github.com/Zuricho/ParallelFold) ParaFold是一个基于 AlphaFold2 的高通量蛋白质结构预测工具,它将 AlphaFold 的 CPU 部分(MSA 和模板搜索)和 GPU 部分(预测模型)分开,从而加速了多结构预测。ParaFold 支持 AlphaFold 2.3.1 版本,并提供了一些改进,例如跳过特征提取步骤,以及一个运行脚本 `run_alphafold.sh` 用于执行 `run_alphafold.py`。用户需要下载 AlphaFold 的序列数据库,并使用 `conda` 安装 ParaFold 和相关依赖库。
* [biolib/openprotein](https://github.com/biolib/openprotein) OpenProtein是一个基于 PyTorch 的蛋白质三级结构预测框架,它提供了一个内存优化的数据加载器和预处理工具,可以将 ProteinNet 格式的数据转换为 hdf5 文件,并以高效的方式进行处理。该项目包含模型开发和预测使用的示例代码,用户可以自定义模型并使用预训练模型进行预测。此外,OpenProtein 还提供了一个实时仪表板,用于监控模型性能,并允许用户自定义仪表板。
* [jonathanking/sidechainnet](https://github.com/jonathanking/sidechainnet) SidechainNet是一个蛋白质结构预测数据集,它基于ProteinNet,并添加了描述完整蛋白质结构(包括主链和侧链,但不包括氢原子)的蛋白质角度和坐标测量。该项目提供SidechainNet数据集、数据加载和批处理方法、蛋白质结构可视化方法、数据集增强方法以及与OpenMM的接口,用于计算蛋白质能量和原子力。你可以使用`SCNDataset`和`SCNProtein`对象轻松地与SidechainNet交互。
* [HICAI-ZJU/InstructProtein](https://github.com/HICAI-ZJU/InstructProtein) InstructProtein 是第一个探索人类语言和蛋白质语言之间双向生成可行性的大型生成语言模型。这个想法来自未被充分研究的蛋白质倡议的研究:一些蛋白质,如肿瘤抑制因子 p53,已经被广泛研究。相比之下,数以千计的人类蛋白质仍然“研究不足”。为了将蛋白质与自然语言保持一致,InstructProtein 在由 Knowledge Instruction 构建的高质量数据集上进行了微调。
* [haddocking/pdb-tools](https://github.com/haddocking/pdb-tools) 用于操作和编辑 PDB 文件的瑞士军刀。PDB文件格式(PDB为蛋白质数据库英语名称“Protein Data Bank”缩写),顾名思义是一种由蛋白质数据库最先采纳,用于储存蛋白质三维结构的文件格式。 这种文件格式详细记录了蛋白质中每个原子的坐标信息、蛋白质二级结构信息,以及原子之间的相互作用等信息,同时附有简要的蛋白质的名称与生物学性质信息。
* [zaixizhang/PocketGen](https://github.com/zaixizhang/PocketGen) PocketGen是一个用于生成蛋白质配体结合口袋的全原子模型的工具。它使用深度学习模型来预测蛋白质结构中的配体结合口袋,并生成包含所有原子信息的口袋模型。该项目提供了两个基准数据集CrossDocked和Binding MOAD,以及预处理后的数据集。实验结果表明,PocketGen在口袋生成任务上优于其他方法,在AAR、可设计性和Vina评分方面都取得了显著的提升。
* [ISYSLAB-HUST/ProtFlash](https://github.com/ISYSLAB-HUST/ProtFlash) ProtFlash是一个轻量级的蛋白质语言模型,它使用UniRef50数据集进行预训练,提供两种模型尺寸:ProtFlash-base(1.74亿参数)和ProtFlash-small(7900万参数)。用户可以通过pip安装并使用它进行蛋白质序列嵌入,并加载预训练模型权重文件。该项目提供详细的使用示例和代码,并支持MIT开源协议。在使用该项目或预训练模型进行研究时,请引用相关论文。
* [steineggerlab/foldseek](https://github.com/steineggerlab/foldseek) Foldseek是一款快速、敏感的蛋白质结构集比较工具,可以用于搜索大型蛋白质结构数据库,例如 AlphaFoldDB 和 PDB。它基于 MMseqs2算法,并提供多种功能,包括结构搜索、聚类和多聚体搜索。Foldseek 可以在几秒钟内完成搜索,并提供多种输出格式,例如表格、PDB 文件和交互式 HTML。Foldseek 还提供 Web 服务器和命令行工具,方便用户使用。
* [OATML-Markslab/ProteinGym](https://github.com/OATML-Markslab/ProteinGym) ProteinGym 是一套广泛的深度突变扫描 (DMS) 检测和注释的人类临床变异,旨在对不同方案中的各种突变效应预测因子进行彻底比较。 DMS 检测和临床变异均分为 1) 替代基准,目前由 217 种 DMS 检测和 2,525 种临床蛋白质中约 270 万错义变异的实验表征组成,2) 插入缺失基准,包括 74 种检测中约 30 万个突变体DMS 检测和 1,555 种临床蛋白质。
* [RosettaCommons/RoseTTAFold](https://github.com/RosettaCommons/RoseTTAFold) 结合AlphaFold相关思想的网络架构,并通过三轨网络获得了最佳性能,其中1D序列、2D距离图和3D坐标的信息依次转换和集成。三轨网络精度接近AlphaFold2,能够快速解决具有挑战性的X-ray晶体学和冷冻电镜结构建模问题,并提供对当前未知结构蛋白质功能的见解。还能够仅从序列信息中快速生成准确的蛋白质-蛋白质复合物模型。
* [HannesStark/EquiBind](https://github.com/HannesStark/EquiBind) EquiBind是一个基于几何深度学习的模型,用于快速预测小分子与蛋白质结合的3D结构。它能够直接预测受体结合位置(盲对接)以及配体的结合姿势和方向,比传统方法和最新基准方法速度快得多。该项目提供预处理数据和模型权重,用户可以使用自己的蛋白质-配体对进行预测,并提供详细的步骤和环境配置说明。
* [elttaes/Revisiting-PLMs](https://github.com/elttaes/Revisiting-PLMs) 该项目研究了基于蛋白质语言模型(PLM)的蛋白质功能预测方法,并探索了两种类型的模型:进化感知模型和自由模型。项目提供了两个数据集:金属离子结合数据集和抗生素抗性数据集,以及用于训练ESM-1b和MSA-Transformer模型的Alphafold2训练数据。项目还提供了使用Jax和Pytorch环境的安装指南,并提供了参考文献。
* [salesforce/progen](https://github.com/salesforce/progen) ProGen是一个开源项目,提供用于蛋白质工程和设计的模型和工具。该项目包含一系列语言模型,可以预测蛋白质序列的适应性并生成新的蛋白质序列,为蛋白质设计提供强大工具。项目代码和模型采用BSD-3许可证,并强调在使用这些模型进行蛋白质设计时应注意伦理问题,确保安全、非恶意和合乎道德的应用。
* [prody/ProDy](https://github.com/prody/ProDy) 用于蛋白质动力学分析的 Python 包。ProDy 是一个免费的开源 Python 包,用于蛋白质结构、动力学和序列分析。它允许对蛋白质结构动力学和序列共同进化进行比较分析和建模。快速灵活的 ProDy API 适用于交互式使用以及应用程序开发。 ProDy 还附带多个分析应用程序和用于可视化分析的图形用户界面。
* [lucidrains/ddpm-proteins](https://github.com/lucidrains/ddpm-proteins) 专为条件生成蛋白质分布图而定制的去噪扩散概率模型 (DDPM),去噪扩散概率模型在 Pytorch 中的实现。这是一种新的生成建模方法,可能具有与 GAN 竞争的潜力。它使用去噪分数匹配来估计数据分布的梯度,然后通过朗之万采样从真实分布中进行采样。该实现是从此处的官方 Tensorflow 版本转录的。
* [microsoft/foldingdiff](https://github.com/microsoft/foldingdiff) 蛋白质结构的扩散模型;三角学和注意力就是你所需要的!我们提出了一种用于生成新型蛋白质骨架结构的扩散模型。有关更多详细信息,请参阅我们在arXiv上的预印本。我们还在HuggingFace 空间和SuperBio上托管了模型的训练版本,因此您只需使用浏览器就可以开始生成蛋白质结构!
* [deepmind/alphafold](https://github.com/deepmind/alphafold) 此包提供了 AlphaFold v2.0 的推理流线的实现。AlphaFold是Google旗下DeepMind开发的一款人工智能程序,它使用深度学习算法通过蛋白质序列来预测蛋白质结构。蛋白质通过卷曲折叠会构成三维结构,蛋白质的功能正由其结构决定。了解蛋白质结构有助于开发治疗疾病的药物。
* [bigbio/py-pgatk](https://github.com/bigbio/py-pgatk/) 蛋白质组学分析工具包的 Python 工具。蛋白质组学是生物学研究的一个领域,它利用蛋白质组学、基因组学和转录组学的组合来帮助发现和识别/量化肽和蛋白质。蛋白质组学用于通过将 MS/MS 光谱与源自基因组和转录组学信息的蛋白质数据库进行比较来识别新肽。
* [cbalbin-bio/pymol-color-alphafold](https://github.com/cbalbin-bio/pymol-color-alphafold) 这是一个PyMOL扩展,可以根据AlphaFold蛋白结构数据库中的置信度(pLDDT)对AlphaFold结构进行着色。该扩展可以从PyMOL命令行中加载,并使用`coloraf model_name`命令调用,以根据pLDDT值对模型进行着色。
* [RosettaCommons/rosetta](https://github.com/RosettaCommons/rosetta) Rosetta 软件套件包括用于计算建模和蛋白质结构分析的算法。它使计算生物学领域取得了显着的科学进步,包括从头蛋白质设计、酶设计、配体对接以及生物大分子和大分子复合物的结构预测。
* [nferruz/ProtGPT2](https://huggingface.co/nferruz/ProtGPT2) 一种蛋白质语言模型,可用于从头蛋白质设计和工程。ProtGPT2产生的序列保留了天然蛋白质的关键特征(氨基酸倾向、二级结构含量和球形度),同时探索蛋白质空间的未被发现的区域。
* [j3xugit/RaptorX-3DModeling](https://github.com/j3xugit/RaptorX-3DModeling) RaptorX 通过深度卷积残差网络预测蛋白质接触/距离/方向和局部结构特性(例如,二级结构和 phi/psi 角度)。它还使用预测的距离/方向和 phi/psi 角度构建蛋白质序列的 3D 模型。
* [Superzchen/iLearnPlus](https://github.com/Superzchen/iLearnPlus) 具有基于图形和基于 Web 的用户界面的机器学习平台,可以构建自动化机器学习管道,以使用核酸和蛋白质序列进行计算分析和预测。
* [agemagician/ProtTrans](https://github.com/agemagician/ProtTrans) 正在为蛋白质提供最先进的预训练语言模型。使用 Transformers 模型在 Summit 的数千个 GPU 和数百个 Google TPU 上进行了训练。
* [pengxingang/Pocket2Mol](https://github.com/pengxingang/pocket2mol) 基于 3D 蛋白质口袋的高效分子采样 使用等变图神经网络来提高以前基于结构的药物设计模型的效率和分子质量。
* [salesforce/provis](https://github.com/salesforce/provis) BERTology Meets Biology: Interpreting Attention in Protein Language Models 注意力机制在蛋白质语言模型的应用
* [bowman-lab/diffnets](https://github.com/bowman-lab/diffnets) 采用DiffNets通过比较结构集来深度学习蛋白质生化特性的结构决定因素
* [adaptyvbio/ProteinFlow](https://github.com/adaptyvbio/ProteinFlow) 用于处理深度学习应用的蛋白质结构数据的多功能计算管道。
* [ElwynWang/DeepFragLib](https://github.com/ElwynWang/DeepFragLib) 基于深度神经网络和改进的片段测序方法从头预测蛋白质结构
* [jertubiana/ScanNet](https://github.com/jertubiana/ScanNet) 可解释的几何深度学习模型,用于结构的蛋白质结合位点预测
* [aqlaboratory/openfold](https://github.com/aqlaboratory/openfold) AlphaFold2的可训练、内存效率高且GPU友好的 PyTorch 再现。
* [debbiemarkslab/EVcouplings](https://github.com/debbiemarkslab/EVcouplings) 使用进化序列共变预测蛋白质结构、功能和突变。
* [gjoni/trRosetta](https://github.com/gjoni/trRosetta) 从序列数据中预测蛋白质残基间几何形状的软件包
* [pylelab/USalign](https://github.com/pylelab/USalign) 核酸和蛋白质单体结构和复杂结构的通用结构比对
* [fogleman/ribbon](https://github.com/fogleman/ribbon) 解析 PDB 文件并在纯 Go 中渲染蛋白质的带状图。
* [sokrypton/ColabFold](https://github.com/sokrypton/ColabFold) 让蛋白质折叠预测人人可及,预测蛋白质结构。
* [nadavbra/protein_bert](https://github.com/nadavbra/protein_bert) 专为蛋白质序列和功能设计的通用深度学习模型
* [luoyunan/ECNet](https://github.com/luoyunan/ECNet) 用于蛋白质工程的进化上下文集成深度学习框架
* [luoyunan/ECNet](https://github.com/luoyunan/ECNet) 用于蛋白质工程的进化上下文集成深度学习框架
* [facebookresearch/esm](https://github.com/facebookresearch/esm) 进化规模建模(esm):蛋白质的预训练语言模型
* [phermosilla/IEConv_proteins](https://github.com/phermosilla/IEConv_proteins) 用于学习 3D 蛋白质结构的内在-外在卷积和池化
* [HICAI-ZJU/KnowRLM](https://github.com/HICAI-ZJU/KnowRLM) 用于蛋白质定向进化的知识感知强化语言模型
* [steineggerlab/foldmason](https://github.com/steineggerlab/foldmason) 使用 FoldMason 进行大规模多种蛋白质结构比对
* [deepmodeling/Uni-Fold](https://github.com/deepmodeling/Uni-Fold) Uni-Fold:训练您自己的深度蛋白质折叠模型。
* [RosettaCommons/RFDesign](https://github.com/RosettaCommons/RFDesign) 用RoseTTAFold 实现蛋白质幻觉(AI 生成)和修复
* [strauchlab/scaffold_design](https://github.com/strauchlab/scaffold_design) 小蛋白质折叠结构和序列空间的采样
* [baldassarreFe/graphqa](https://github.com/baldassarreFe/graphqa) 使用图卷积网络进行蛋白质质量评估
* [flatironinstitute/DeepFRI](https://github.com/flatironinstitute/DeepFRI) 基于结构和GCN的蛋白质功能预测
* [ProteinDesignLab/protein_seq_des](https://github.com/ProteinDesignLab/protein_seq_des) 具有学习潜力的蛋白质序列设计
* [uw-ipd/RoseTTAFold2NA](https://github.com/uw-ipd/RoseTTAFold2NA) RoseTTAFold2蛋白/核酸复合物预测
* [gjoni/trDesign](https://github.com/gjoni/trDesign) 用于蛋白质设计的 trRosetta
* [sameerkhurana10/DSOL_rv0.2](https://github.com/sameerkhurana10/DSOL_rv0.2) 深度蛋白质溶解度预测
# 硬件
## CPU_RISC-V
* [xoreaxeaxeax/sandsifter](https://github.com/xoreaxeaxeax/sandsifter) Sandsifter是一个 x86 处理器模糊测试工具,通过系统地生成机器码来搜索处理器的指令集,并监控执行过程中的异常,从而发现隐藏指令和硬件漏洞。它已经发现了所有主要厂商的秘密处理器指令、反汇编器、汇编器和模拟器中的普遍软件错误、企业虚拟机管理程序中的缺陷,以及 x86 芯片中的良性和安全关键硬件错误。该工具旨在让用户能够检查自己的系统是否存在隐藏指令和错误。运行基本审计的命令为 `sudo ./sifter.py --unk --dis --len --sync --tick -- -P1 -t`,扫描过程可能需要数小时到数天,完成后可以使用 `./summarize.py data/log` 命令总结结果。Sandsifter 已经发现了数十个操作码类别中的未公开处理器功能、企业虚拟机管理程序中的缺陷、几乎所有主要反汇编和模拟工具中的错误,以及可能导致处理器本身出现安全漏洞的关键硬件错误。详细结果可在项目白皮书中找到。安装 Capstone 反汇编器后,可以使用 `make` 命令构建 Sandsifter,并使用 `sudo ./sifter.py --unk --dis --len --sync --tick-- -P1 -t` 命令运行。
* [wyvernSemi/riscV](https://github.com/wyvernSemi/riscV) 这是一个开源的 RISC-V 32 位项目,包含 Verilog 软核和 C++ 指令集模拟器,旨在通过使用 RISC-V 开源架构作为基础,提供一个现代且相关的处理器架构,帮助用户学习处理器模型和逻辑实现。该项目目前仅限于 32 位规范,但其设计可扩展,可以混合匹配各种 RISC-V 扩展规范。Verilog 软核包含所有 RV32I 指令,可配置为 RV32E,并支持 Zicsr 扩展、RV32M 扩展功能,以及独立的指令和数据内存接口。ISS 支持 RV32I 指令集,并支持 RV32E、RV32G、RV32C 扩展,以及陷阱处理、循环计数、实时时钟、中断处理等功能。该项目还提供基本内部内存模型、外部内存回调功能、外部中断回调功能、反汇编器、ELF 程序加载到内存、与 Verilog 或混合信号逻辑模拟器的联合仿真支持,以及远程 gdb 调试接口。
* [risc0/risc0](https://github.com/risc0/risc0) RISC Zero是一个基于 zk-STARKs 和 RISC-V 微架构的零知识可验证通用计算平台。它允许一方(证明者)在不透露所有细节的情况下,向另一方(验证者)证明某件事的真实性。在 RISC Zero 中,证明者可以证明他们正确地执行了一些代码(双方都知道),同时只向验证者透露代码的输出,而不是任何输入或执行过程中的状态。代码在名为 zkVM 的特殊虚拟机中运行,该虚拟机模拟一个小型 RISC-V 计算机,允许它运行任何语言的任意代码,只要存在针对 RISC-V 的编译器工具链。目前,SDK 支持 Rust、C 和 C++。该协议使用三层递归证明系统,基于经过充分研究的 zk-STARK 协议和 Groth16 协议,并提供 98 位的推测安全性。
* [sysprog21/rv32emu](https://github.com/sysprog21/rv32emu) `rv32emu` 是一个高效的 RISC-V RV32I[MAFC]处理器模拟器,它忠实地实现了 RISC-V 指令集架构 (ISA)。它是一个现代 RISC 处理器模型的练习,展示了设备的操作,而无需硬件实现的复杂性。代码易于理解和扩展,使其成为理想的教育工具和定制起点。它主要用 C99 编写,注重效率和可读性。它支持 RV32I 和 M、A、F、C 扩展,并包含 ELF 加载器、newlib 系统调用、SDL 显示/事件/音频系统调用(用于运行视频游戏)、远程 GDB 调试以及分层 JIT 编译以提高性能。用户可以通过 `make` 命令构建模拟器,并使用预构建的 RISC-V ELF 文件进行验证,例如运行 Doom 和 Quake 游戏。
* [SpinalHDL/NaxRiscv](https://github.com/SpinalHDL/NaxRiscv) NaxRiscv是一个RISC-V处理器核心,具有乱序执行、寄存器重命名、超标量(例如2个解码器、3个执行单元、2个退休单元)等特性,支持RV32/RV64 IMAFDC SU指令集,并已在硬件上成功运行Linux/Buildroot。该项目以低面积使用和高最大频率为目标,采用分散式硬件描述,并提供管道框架以简化定制。NaxRiscv还包含非阻塞数据缓存、BTB+GSHARE+RAS分支预测器、硬件重填MMU(SV32、SV39)、3个周期加载到使用延迟(通过推测性缓存命中预测器)等功能,并支持通过Verilator仿真和Konata(gem5文件格式)进行管道可视化。该项目已集成到litex中,并支持JTAG/OpenOCD/GDB调试。
* [tommythorn/yarvi](https://github.com/tommythorn/yarvi) YARVI2是一个面向 FPGA 的 RISC-V 软核,它采用顺序执行架构并包含分支预测功能。YARVI2 是 YARVI 的完全重写版本,旨在提升性能。它采用 ISC 许可证,与 MIT 或 BSD 许可证类似,完全免费开源。目前已实现并测试 RV32I 指令集,拥有八级流水线,并采用 YAGS 分支预测器。在 Lattice Semi ECP5 85F上,YARVI2 的频率可达 56.6 MHz,在 Altera Cyclone-V A9 C8 上可达 100+ MHz。未来计划包括提高性能、添加缓存和外部内存接口、实现乘法器和原子操作,并考虑虚拟内存、64 位、压缩指令、浮点运算等功能。最终目标是实现乱序执行和双发射,以进一步提升性能。
* [risc0/risc0-lean4](https://github.com/risc0/risc0-lean4) risc0-lean4 是一个使用 Lean 4 定理证明器构建的 RISCZero zkVM 和生态系统模型,旨在为 RISC Zero 生态系统提供形式化安全性和健全性证明。该项目包含对 ELF 文件处理、RV32IM 模拟、SHA2-256、Merkle树解析和包含证明验证、Baby Bear 字段、NTT、FRI 验证、算术电路解析和评估以及 zkVM 收据解析和验证等功能的执行模型。目前正在开发这些系统的元理论,并提供用于测试和未来扩展的工具,包括收据验证器、zkVM 模拟器和 ELF 导出器。该项目与 zkVM 存储库同步,并在 Cargo.lock 中提供版本信息。可以通过 Lean 4 的 Quickstart 指南进行构建和运行。
* [tvlad1234/pico-rv32ima](https://github.com/tvlad1234/pico-rv32ima) 该项目使用RISC-V模拟器在Raspberry Pi Pico上运行Linux,利用SPI PSRAM芯片作为系统内存,Linux内核和根文件系统存储在SD卡上。项目特色包括无MMU 32位RISC-V Linux、8或16MB RAM、SD卡块设备、VGA文本显示和PS/2键盘支持以及128KB的二级联想缓存。用户需要Raspberry Pi Pico、SD卡、一个或两个8MB SPI PSRAM芯片以及可选的VGA显示和PS/2键盘连接。项目提供了预构建的Linux内核和文件系统镜像,用户也可以自行构建。开机后,板子等待BOOTSEL按钮按下,然后将Linux内核复制到RAM中,并在几秒钟后开始在控制台上显示内核消息。
* [ultraembedded/exactstep](https://github.com/ultraembedded/exactstep) ExactStep是一个支持RISC-V(RV32IMAC,RV64IMAC)、MIPS(mips-i)和ARM-v6m(即将支持更多架构)的简单多目标指令集模拟器。该项目注重扩展性,使其可以作为库用于联合仿真、外设开发和System-C总线接口,而不是追求原始执行性能。与使用动态二进制翻译的QEMU和其他CPU模拟器不同,ExactStep每次调用**cpu::step()**执行一条指令。它支持各种模拟CPU架构,用于运行针对这些ISA编译的裸机可执行文件。它还包含一个内置的SBI(Supervisor Binary Interface)实现,可以启动针对监管模式编译的RISC-V Linux内核。
* [pulp-platform/pulpino](https://github.com/pulp-platform/pulpino) 开源的单核微控制器系统,基于苏黎世联邦理工学院开发的32位RISC-V内核。PULPino可以配置为使用RISCY或零RISCY内核。具有4个流水线级,其IPC接近1,完全支持基本整数指令集(RV32I),压缩指令(RV32C)和乘法指令集扩展(RV32M)。它可以配置为具有单精度浮点指令集扩展(RV32F)。它实现了多个 ISA 扩展,例如:硬件环路、后递增加载和存储指令、位操作指令、MAC 操作、支持定点运算、打包 SIMD 指令和点积。它旨在提高超低功耗信号处理应用的能效。RISCY实现了1.9特权规范的子集。
* [skyzh/RISCV-Simulator](https://github.com/skyzh/RISCV-Simulator) 这是一个用 C++ 实现的 RISC-V 模拟器,支持 RV32I指令集。该项目包含两种实现:一种是 5 阶段流水线模拟器,另一种是支持 Tomasulo 算法和推测的乱序执行模拟器。项目还提供运行时可视化功能,并附有项目报告。乱序执行模拟器基于 Tomasulo 算法和推测,包含 3 个加载缓冲区、3 个存储缓冲区、4个 ALU 单元和一个 12 项重排序缓冲区。此外,该项目还包含一个基于流水线的 RISC-V 模拟器,以及一个基于 Haskell 的 MIPS 模拟器和一个基于 Verilog 的 MIPSCPU。
* [chipsalliance/Cores-VeeR-EH1](https://github.com/chipsalliance/Cores-VeeR-EH1) Chipsalliance/Cores-VeeR-EH1 项目提供了一个名为 VeeR EH1 的 RISC-V处理器核心设计,该核心采用 Apache-2.0 许可证。项目包含核心设计 RTL 代码,并支持多种配置,用户可以通过 `veer.config` 脚本调整 DCCM 大小、目标配置等参数。项目还提供测试平台、示例代码和文档,方便用户进行验证和使用。该项目依赖 Verilator、espresso 和 RISC-V 工具链,用户可以通过 `make` 命令进行编译和构建。
* [misprit7/computerraria](https://github.com/misprit7/computerraria) Computerraria是一个在 Terraria 游戏中构建的完全符合 RISC-V 规范的计算机。它利用游戏中的布线系统,通过 WireHead 模组加速,实现了约 5kHz 的时钟频率、96kb 的内存和 rv32i 指令集。该项目旨在通过在游戏环境中构建计算机,展示软件功能不受硬件限制,并推动计算机速度的提升。项目已成功运行 Pong 游戏,并提供完整的代码和 Dockerfile 用于开发和运行应用程序。
* [MoonbaseOtago/vroom](https://github.com/MoonbaseOtago/vroom) VRoom!是一个高性能 RISC-V CPU 实现,目标是达到云服务器级别性能。它采用乱序执行、超标量和推测执行技术,支持 RV64-IMAFDCHBK(V) 指令集,峰值 IPC 可达 8,目标平均 IPC 为 4,目前已超过目标。它支持双路同步多线程和多核架构,目前 Dhrystone 性能约为 11.3 DMips/MHz,仍在开发中。VRoom! 已经可以在 AWS-FPGA 实例上启动 Linux,并采用 GPL3 许可,也可能提供双重许可。
* [openhwgroup/cv32e40p](https://github.com/openhwgroup/cv32e40p) CV32E40P是一款基于PULP平台RI5CY的4级RISC-V RV32IMFCXpulp CPU。一款小巧高效的32位有序RISC-V内核,具有4级流水线,可实现RV32IM[F|Zfinx]C 指令集架构和 PULP 自定义扩展,可实现更高的代码密度、性能和能效。它最初是基于OpenRISC ISA的OR10N CPU内核的一个分支。然后,以RI5CY的名义,它成为RISC-V核心(2016年),并由PULP平台团队维护,直到2020年2月,它被贡献给OpenHW集团。
* [inpyjama/c-ninja-listings](https://github.com/inpyjama/c-ninja-listings) 该项目提供"C Ninja, in Pyjama!"一书中的代码示例,并提供配套的YouTube视频教程,帮助学习者掌握RISC-V CPU上的底层汇编和C语言裸机编程。项目基于QEMU模拟器,无需购买硬件即可学习核心概念,并提供Docker容器环境,确保所有用户拥有相同的开发环境。项目包含Mac OS和Linux系统下的Docker容器搭建步骤,并提供测试示例,帮助用户验证环境是否搭建成功。
* [chipsalliance/Cores-VeeR-EL2](https://github.com/chipsalliance/Cores-VeeR-EL2) VeeR EL2Core 是一个基于 RISC-V 架构的处理器核心,该项目提供了其 RTL 设计。它支持多种配置,包括 DCCM 大小、目标配置(如 `default`、`typical_pd` 和 `high_perf`)以及 FPGA 优化。用户可以通过 `veer.config`脚本进行配置,并使用 `make` 命令进行构建。该项目还包含示例汇编文件、测试用例和测试平台。需要注意的是,该项目依赖于 Verilator、espresso 和 RISC-V 工具链。
* [mrLSD/riscv-fs](https://github.com/mrLSD/riscv-fs) 这是一个用 F# 编写的 RISC-V 指令集架构 (ISA)的正式规范,并可执行。它采用纯粹的函数式风格,使用简单易懂的 F# 实现,方便非 F# 用户理解和使用。该项目支持 RV32I 和 RV64I 基本指令集,并包含对 M、A 扩展的支持,C、F、D 扩展以及虚拟内存方案正在开发中。该项目可以作为 RISC-VISA 语义的阅读参考,并可作为 RISC-V ELF 二进制文件的模拟器/仿真器运行。
* [franzflasch/riscv_em](https://github.com/franzflasch/riscv_em) riscv_em是一个用 C 语言编写的简单 RISC-V 模拟器,它能够运行 Linux。该项目旨在提供一个易于理解的 RISC-V架构实现,并能够运行 Linux 系统。模拟器支持 RV32IMA 和 RV64IMA 指令集,并实现了 CLINT、PLIC和 UART 等外设。它还支持 PMP 和 MMU,并提供构建 Linux 镜像的指南。用户可以通过命令行参数加载 Linux 镜像和设备树文件,并使用 RAM 磁盘来扩展存储空间。
* [riscv-boom/riscv-boom](https://github.com/riscv-boom/riscv-boom) 伯克利乱序 RISC-V 处理器.一个可合成和可参数化的开源 RV64GC RISC-V 内核,用[Chisel](https://chisel.eecs.berkeley.edu/)硬件构造语言编写。其重点是为研究创建一个高性能、可综合和可参数化的核心。当前版本的 BOOM 微架构([SonicBOOM,或 BOOMv3](https://carrv.github.io/2020/papers/CARRV2020_paper_15_Zhao.pdf))与商用高性能无序内核具有竞争力,达到 6.2 CoreMarks/MHz。
* [minerva-cpu/minerva](https://github.com/minerva-cpu/minerva) Minerva是一个基于 RISC-V `RV32IMZicsr`指令集的 32 位软处理器,其微架构使用 Amaranth HDL以 Python 代码描述。它受 LatticeMico32 处理器启发,采用 6 级流水线架构,并包含指令缓存、数据缓存和写缓冲,支持 RV32M 扩展。用户可以通过配置参数自定义缓存大小、写缓冲深度等,并使用提供的 riscv-formal 测试平台进行验证。Minerva 采用 BSD 许可证发布。
* [gem5/gem5](https://github.com/gem5/gem5) gem5是一个模块化的计算机系统架构模拟器,用于评估新的硬件设计、系统软件更改以及编译时和运行时系统优化。它支持多种体系结构,包括ARM、MIPS、POWER、RISCV、SPARC 和 X86。用户可以通过配置脚本运行模拟,并使用 gem5 提供的工具分析结果。gem5 的官方网站为 http://www.gem5.org,用户可以在该网站上找到文档、教程和资源。
* [splinedrive/lets_build_a_compiler_for_riscv](https://github.com/splinedrive/lets_build_a_compiler_for_riscv) 这是一个基于C语言和RISC-V架构的编译器教程项目,它以Jack Crenshaw的“Let's Build a Compiler”为基础,并提供了相应的RISC-V汇编代码生成。该项目还包含一个经过修改的Spike模拟器,支持UART输出。用户可以尝试运行项目中的示例程序,例如一个ASCII字符循环程序,并通过修改、优化和扩展代码来学习编译器的构建过程。
* [risclite/ARM9-compatible-soft-CPU-core](https://github.com/risclite/ARM9-compatible-soft-CPU-core) ARM9 兼容软 CPU 内核 ARMv4 兼容的 CPU 内核内置在可合成的 verilog 中。它可以在 MODELSIM 中启动 uCLinux 和 Linux。它具有很高的 Dhrystone 基准值:1.2 DMIPS/MHz。如果您掌握了这个 .v 文件的接口,它可以在您的 FPGA 设计中作为一个子模块使用。该 IP 核非常紧凑。它是一个 .v 文件,只有不到 1800 行。
* [lowRISC/ibex](https://github.com/lowRISC/ibex) 小型 32 位 RISC-V CPU 内核,以前称为 zero-riscy。用 System Verilog 编写的生产级开源 32 位 RISC-V CPU 内核。CPU 内核高度可参数化,非常适合嵌入式控制应用。Ibex 正在接受广泛的验证,并且已经看到多个流片。Ibex 支持整数 (I) 或嵌入式 (E)、整数乘除法 (M)、压缩 (C) 和B(位操作)扩展。
* [jasonlin316/RISC-V-CPU](https://github.com/jasonlin316/RISC-V-CPU) 支持向量指令的 RISC-V 5 级流水线 CPU。使用 U18 技术流片。这是一个 32 位 5 级流水线 RISC-V CPU,支持基本指令和一些向量运算。为了流片,还要进行栅极级合成和APR。仿真由NC-verilog完成,并由Desgin Compiler合成。该芯片已于2019年12月2日进行了测试,所有功能均正常工作。
* [nxbyte/ARM-LEGv8](https://github.com/nxbyte/ARM-LEGv8) Verilog 编写的 ARM LEGv8 CPU 的源代码。支持的指令包括:LDUR, STUR, ADD, SUB, ORR, AND, CBZ, B, 和NOP.单周期:模拟 ARM LEGv8 单周期 CPU 仅流水线:模拟 ARM LEGv8 多周期/流水线 CPU Pipelined with Hazard Detection and Forwarding Unit:模拟具有危险检测和转发功能的 ARM LEGv8 多周期/流水线 CPU
* [openhwgroup/cva6](https://github.com/openhwgroup/cva6) 6 级、单期、有序CPU,它实现了64位RISC-V指令集。它完全实现了第I卷中指定的I、M、A 和C扩展:用户级ISA V2.3以及草案权限扩展 1.10。它实现了三个特权级别 M、S、U 以完全支持类 Unix 操作系统。此外,它还符合外部调试规范草案 0.13。
* [drom/awesome-riscv](https://github.com/drom/awesome-riscv) 这是一个整理的 RISC-V 实现列表,包含开源实现,列出了每个项目的语言、架构、微架构、目标平台和许可证,并提供GitHub 星标数量。该项目旨在为开发者提供一个方便的资源,帮助他们找到合适的 RISC-V 实现。
* [syntacore/scr1](https://github.com/syntacore/scr1) 开源且免费使用的RISC-V兼容MCU级内核,由Syntacore设计和维护。它是工业级和硅验证(包括全晶圆生产),在所有主要的EDA流程和Verilator中开箱即用,并带有广泛的宣传资料和文档。
* [earlephilhower/arduino-pico](https://github.com/earlephilhower/arduino-pico) 这是 Arduino 到 RP2040(Raspberry Pi Pico 处理器)和 RP2350(Raspberry Pi Pico 2 处理器)的端口。它使用裸 Raspberry Pi Pico SDK 和自定义 GCC 14.2/Newlib 4.3 工具链,并支持 ARM 和 RISC-V 内核。
* [YosysHQ/picorv32](https://github.com/YosysHQ/picorv32) 尺寸优化的 RISC-V CPU.实现[RISC-V RV32IMC 指令集](http://riscv.org/)的 CPU 内核。它可以配置为 RV32E、RV32I、RV32IC、RV32IM 或 RV32IMC 内核,并可选择包含内置中断控制器。
* [lvyufeng/step_into_mips](https://github.com/lvyufeng/step_into_mips) 重庆大学由2017年开始实施的计算机组成原理课程改革实验内容,通过合理的梯度划分,一步一步由单独器件连接构成CPU,最后实现一个简单的MIPS五级流水CPU。
* [ljlin/MIPS48PipelineCPU](https://github.com/ljlin/MIPS48PipelineCPU) 冯爱民老师《计算机组成原理A》课程设计 本实验通过工程化方法,使用 verilog 了一个支持 MIPS 指令执行集中 48 条指令,通过转向和支持阻尼冒险的 CPU。
* [mit-pdos/xv6-riscv](https://github.com/mit-pdos/xv6-riscv) xv6 是丹尼斯 · 里奇和肯 · 汤普森的Unix 版本 6 (v6)的重新实现。 xv6 松散地遵循 v6 的结构和风格,但使用 ANSI C 为现代 RISC-V 多处理器实施。
* [microdynamics-cpu/tree-core-cpu](https://github.com/microdynamics-cpu/tree-core-cpu) 从零开始编写的一系列RISC-V软核处理器。现在,我们使用所有开源工具链(凿子,铣削,验证器,NEMU,AM和difftest框架等)进行设计和验证。
* [TheThirdOne/rars](https://github.com/TheThirdOne/rars) RARS,RISC-V汇编器,模拟器和运行时,将组装和模拟RISC-V汇编语言程序的执行。主要目标是为开始使用RISC-V的人们提供一个有效的开发环境。
* [olofk/serv](https://github.com/olofk/serv) 一款屡获殊荣的位串行 RISC-V 内核的CPU。 SERV 是世界上最小的 RISC-V CPU。每当您需要一些计算并且硅空间非常宝贵时,它都是完美的伴侣。
* [riscv-mcu/e203_hbirdv2](https://github.com/riscv-mcu/e203_hbirdv2) 开源 Hummingbirdv2 E203 RISC-V 处理器内核和 SoC 项目,它由中国大陆领先的 RISC-V IP 和解决方案公司Nuclei System Technology开发和开源。
* [microdynamics-cpu/tree-core-ide](https://github.com/microdynamics-cpu/tree-core-ide) 用于处理器设计和验证的下一代集成开发环境。它具有多硬件语言支持、开源 IP 管理和易于使用的 RTL 仿真工具集。
* [stnolting/neorv32](https://github.com/stnolting/neorv32) 一款小巧、可定制且高度可扩展的 MCU 级 32 位 RISC-V 软核 CPU 和类似微控制器的 SoC,采用独立于平台的 VHDL 编写。
* [larsbrinkhoff/awesome-cpus](https://github.com/larsbrinkhoff/awesome-cpus) 所有 CPU 和 MCU 文档都集中在一个地方。此存储库包含各种 CPU 的文档。有数据表、程序员手册、快速参考卡等。
* [rustsbi/rustsbi](https://github.com/rustsbi/rustsbi) Rust 中的 RISC-V Supervisor 二进制接口 (RISC-V SBI) 库;在 M 或 HS 模式下运行;对嵌入式 Rust 生态系统的良好支持。
* [pulp-platform/pulpino](https://github.com/pulp-platform/pulpino) 基于RISC-V的开源微控制器系统 苏黎世联邦理工学院开发的32位RISC-V内核。可配置为使用RISCY或零风险内核。
* [d0iasm/rvemu](https://github.com/d0iasm/rvemu) RISC-V仿真器,用于CLI和Web,用Rust和WebAssembly编写。它支持 xv6 和 Linux(正在进行中)。
* [unicorn-engine/unicorn](https://github.com/unicorn-engine/unicorn) Unicorn CPU仿真器框架(ARM,AArch64,M68K,Mips,Sparc,PowerPC,RiscV,S390x,TriCore,X86)
* [liuqidev/8-bits-RISC-CPU-Verilog](https://github.com/liuqidev/8-bits-RISC-CPU-Verilog) 基于有限状态机的8位RISC(精简指令集)CPU(中央处理器)简单结构和Verilog实现。
* [riscv2os/riscv2os](https://github.com/riscv2os/riscv2os) 手把手帶你學習 RISC-V 到可以自製 RISC-V 處理器上的作業系統的電子書。
* [risclite/R8051](https://github.com/risclite/R8051) 8051软核CPU。111 条指令的 700 行语句。完全可合成的 Verilog-2001 内核。
* [rcore-os/rCore-Tutorial-v3](https://github.com/rcore-os/rCore-Tutorial-v3) 让我们从头开始编写一个可以在 Rust 中的 RISC-V 上运行的操作系统!
* [litex-hub/linux-on-litex-vexriscv](https://github.com/litex-hub/linux-on-litex-vexriscv) 使用 VexRiscv CPU 运行 Linux,这是一种 32 位的 Linux 功能 RISC-V CPU。
* [plctlab/PLCT-Open-Reports](https://github.com/plctlab/PLCT-Open-Reports) PLCT实验室的公开演讲,或者决定公开的组内报告 RISCV LLVM 等。
* [ucb-bar/chipyard](https://github.com/ucb-bar/chipyard) 具有有序内核、无序内核、加速器等的敏捷 RISC-V SoC 设计框架
* [probe-rs/probe-rs](https://github.com/probe-rs/probe-rs) 在单独主机上调试嵌入式 ARM 和 RISC-V 目标的调试工具集和库
* [ZipCPU/openarty](https://github.com/ZipCPU/openarty) Arty 上实现ZipCPU,以及所有 Arty 外围设备的开源驱动程序。
* [plctlab/writing-your-first-riscv-simulator](https://github.com/plctlab/writing-your-first-riscv-simulator) 《从零开始的RISC-V模拟器开发》配套的PPT和教学资料
* [liangkangnan/tinyriscv](https://gitee.com/liangkangnan/tinyriscv) 一个从零开始写的极简、非常易懂的RISC-V处理器核。
* [fallen/tinycpu](https://github.com/fallen/tinycpu) Tiny CPU 是一个小型的 32 位 CPU,主要用于教育目的。
* [OSCPU/NutShell](https://github.com/OSCPU/NutShell) 国科大学生设计的RISC-V SoC。目前它支持 riscv64/32。
* [cccriscv/mini-riscv-os](https://github.com/cccriscv/mini-riscv-os) 从零开始为 RISC-V 构建最小的多任务操作系统内核
* [chipsalliance/rocket-chip](https://github.com/chipsalliance/rocket-chip) 实例化 RISC-V Rocket Core 所需的 Rocket 芯片生成器。
* [mortbopet/Ripes](https://github.com/mortbopet/Ripes) 用于 RISC-V ISA 的图形处理器模拟器和装配编辑器
* [shawn110285/Cookabarra](https://github.com/shawn110285/Cookabarra) rv32im cpu 的训练目标实现,设计简单易懂。
* [darklife/darkriscv](https://github.com/darklife/darkriscv) 一个晚上从零开始在 Verilog 实现 RISC-V cpu
* [plctlab/riscv-operating-system-mooc](https://github.com/plctlab/riscv-operating-system-mooc) 《从头写一个RISC-V OS》课程配套的资源
* [LekKit/RVVM](https://github.com/LekKit/RVVM) 用С编写和实现的RISC-V CPU和系统软件
* [olgirard/openmsp430](https://github.com/olgirard/openmsp430) 用 Verilog 编写的16 位微控制器内核。
* [chsasank/ARM7](https://github.com/chsasank/ARM7) ARM7 TDMI流水线处理器Verilog的实现。
* [ucb-bar/riscv-mini](https://github.com/ucb-bar/riscv-mini) Chisel 编写的简单 3 级流水线 RISC-V
* [riscv-software-src/riscv-tools](https://github.com/riscv-software-src/riscv-tools) RISC-V 工具(ISA 模拟器和测试)
* [SpinalHDL/VexRiscv](https://github.com/SpinalHDL/VexRiscv) FPGA 友好的 32 位 RISC-V CPU 实现
* [riscv-collab/riscv-gnu-toolchain](https://github.com/riscv-collab/riscv-gnu-toolchain) 用于RISC-V的GNU工具链,包括GCC
* [sgmarz/osblog](https://github.com/sgmarz/osblog) 在 Rust 中编写 RISC-V 操作系统
* [SI-RISCV/e200_opensource](https://github.com/SI-RISCV/e200_opensource) 蜂鸟 E203 开源处理器核心
* [jmahler/mips-cpu](https://github.com/jmahler/mips-cpu) 在 Verilog 中实现的 MIPS CPU
* [OpenXiangShan/XiangShan](https://github.com/OpenXiangShan/XiangShan) 开源高性能 RISC-V 处理器
* [ultraembedded/riscv](https://github.com/ultraembedded/riscv) RISC-V CPU 核心 (RV32IM)
* [ucb-bar/riscv-sodor](https://github.com/ucb-bar/riscv-sodor) risc-v isa 的教育微架构
* [qing-2/CPU](https://github.com/qing-2/CPU) 单周期 8指令 MIPS32CPU
* [Lichee-Pi/Tang_E203_Mini](https://github.com/Lichee-Pi/Tang_E203_Mini) LicheeTang 蜂鸟E203 Core
* [ultraembedded/biriscv](https://github.com/ultraembedded/biriscv) 32 位超级RISC-V Cpu
* [freecores/8051](https://github.com/freecores/8051) 8051软核
## 硬件_其他
* [sbabic/swupdate](https://github.com/sbabic/swupdate) SWUpdate是一个用于嵌入式 Linux 设备的软件更新代理,旨在提供一种高效且安全的更新方式。它支持本地和 OTA 更新,多种更新策略,并以安全为设计理念。SWUpdate 支持更新设备的所有组件(包括根文件系统、内核、引导加载程序、微控制器固件),并支持在嵌入式介质(如 eMMC、SD、Raw NAND、UBIFS、NOR 和 SPI-NOR 闪存)上安装。它还提供 GPT 和 MBR 分区表的分割器,并允许在多个设备上交付单个镜像。SWUpdate 支持多种接口(本地和 OTA)来获取软件,包括本地存储(USB 等)、集成 Web 服务器、集成 REST 客户端连接器到 hawkBit(用于舰队更新)、远程服务器下载等。它支持使用镜像、压缩的 tarball 等形式交付软件,并允许自定义处理程序来安装 FPGA 固件、通过自定义协议安装微控制器固件。SWUpdate 还支持基于 librsync 的增量更新,并提供故障安全和原子更新机制。它使用 Lua 解释器来扩展更新规则,并提供硬件/软件兼容性、小型占用空间(用于生成恢复系统以恢复设备)、加密签名和更新验证(支持 OpenSSL、mbedTLS、WolfSSL)、使用对称 AES 密钥加密工件、更新前后的脚本、少量资源需求、可通过库控制、进度接口(将更新状态报告给应用程序/HMI)等功能。
* [PetoiCamp/OpenCat](https://github.com/PetoiCamp/OpenCat) OpenCat是一个开源的四足机器人宠物框架,基于Arduino和Raspberry Pi,由Petoi开发,旨在为STEM教育、编码和机器人教育、物联网机器人应用、AI增强机器人应用服务、研究和DIY机器人套件开发提供一个平台。该项目受到波士顿动力公司的Big Dog和Spot Mini的启发,旨在促进四足机器人研究、教育和工程开发的协作,并为大众带来STEM概念,鼓励更多人(包括儿童和成人)加入机器人AI革命,创造更多应用。OpenCat已部署在Petoi的所有仿生手掌大小、逼真的机器人宠物上,包括可爱的机器人猫Nybble和高性能的机器人狗Bittle。该项目提供了一个基础的开源平台,用于创建令人惊叹的可编程步态、运动和逆运动学四足机器人的部署,并通过基于块的编码/C/C++/Python编程语言将模拟带到现实世界。用户已经部署了许多机器人/AI/IoT应用,例如:具有自主运动和物体检测的机器人狗、Raspberry Pi机器人项目、NVIDIA Issac模拟和强化学习、基于视觉和激光雷达的SLAM、使用Tiny Machine Learning Models的模仿学习、使用AWS的机器人车队物联网自动化、3D打印配件以及构建自己的DIY 3D打印机器人宠物。
* [etchdroid/etchdroid](https://github.com/etchdroid/etchdroid) EtchDroid是一款开源应用,可在安卓设备上无需root权限将镜像写入USB驱动器,方便用户在笔记本电脑无法启动时制作可启动的系统USB驱动器。支持多种设备,包括USB闪存盘、SD卡适配器、硬盘/固态硬盘、USB扩展坞和集线器、内置SD卡插槽、光驱或软驱、Thunderbolt设备。支持多种镜像类型,包括现代GNU/Linux操作系统镜像(如Arch Linux、Ubuntu、Debian、Fedora、pop!_OS、Linux Mint、FreeBSD、BlissOS等)、树莓派SD卡镜像、官方微软Windows ISO镜像、社区制作的Windows镜像(需谨慎使用,可能包含病毒)、苹果DMG磁盘镜像、2010年之前的GNU/Linux操作系统镜像(如Damn Small Linux)。用户可以通过Patreon、GitHub Sponsors或网站上的捐赠选项支持项目。项目支持翻译,用户可参与翻译工作。EtchDroid Google Play和GitHub版本收集最小化的匿名数据,包括打开的镜像文件名和USB设备ID,用于诊断硬件问题。用户可以选择在应用菜单中禁用数据收集,或下载F-Droid版本的EtchDroid。
* [adam-maj/tiny-gpu](https://github.com/adam-maj/tiny-gpu) Verilog 中的最小 GPU 设计,可从头开始了解 GPU 的工作原理。内置<15个完整记录的Verilog文件,有关架构和ISA的完整文档,工作矩阵加法/乘法内核,以及对内核模拟和执行跟踪的完全支持。由于 GPU 市场竞争如此激烈,所有现代架构的低级技术细节仍然是专有的。最好的选择是通过 Miaow 和 VeriGPU 等开源 GPU 实现,并尝试弄清楚发生了什么。这是具有挑战性的,因为这些项目旨在实现功能完整和功能,因此它们非常复杂。tiny-gpu 是一个最小的 GPU 实现,针对从头开始了解 GPU 的工作原理进行了优化。具体来说,随着通用 GPU (GPGPU) 和 ML 加速器(如 Google 的 TPU)的趋势,tiny-gpu 专注于突出所有这些架构的一般原则,而不是图形特定硬件的细节。该项目主要侧重于探索:架构 - GPU 的架构是什么样的?最重要的元素是什么?并行化 - SIMD progamming 模型是如何在硬件中实现的?内存 - GPU 如何解决内存带宽有限的限制?
* [jart/blink](https://github.com/jart/blink) 最小的 x86-64-Linux 模拟器,blink 是在不同的操作系统和硬件体系结构上运行 x86-64-linux 程序的虚拟机。它被设计为执行与 qemu-x86_64 命令相同的操作,除了:Blink 的大小为 221kb(禁用可选功能时为 115kb),而 qemu-x86_64 是 4mb 的二进制文件。Blink 可以在任何 POSIX 系统上运行您的 Linux 二进制文件,而 qemu-x86_64 仅支持 Linux。在某些基准测试中,Blink 的速度比 qemu-x86_64 快 2 倍,例如 SSE 整数/浮点数学。Blink 在运行编译器等临时程序时也快得多。blinkenlights 是一个终端用户界面,可用于跨平台调试 x86_64-Linux 或 i8086 程序。与 GDB 不同,Blinkenlights 专注于可视化程序执行。它使用 UNICODE IBM Code Page 437 字符来显示二进制内存面板,这些面板会随着您单步执行程序的汇编代码而变化。可以使用鼠标滚轮滚动和缩放这些内存面板。Blinkenlights 还允许反向调试,其中在汇编显示上滚动允许倒带执行历史记录。
* [cyberman54/ESP32-Paxcounter](https://github.com/cyberman54/ESP32-Paxcounter) Wifi 和 BLE 驱动的客流计量,使用廉价的 ESP32 板。Paxcounter 是一款基于 ESP32 MCU 的设备,用于实时计量客流和多传感器数据。它计算周围有多少移动设备。这可以估计周围有多少人。Paxcounter 检测空中的 Wifi 和蓝牙信号,通过评估移动设备的 MAC 地址来关注移动设备。同时,它读取和存储来自多个连接的环境传感器的数据。这个项目的目的是在不侵犯隐私的情况下做到这一点:如果你只是想计算它们,你不需要跟踪人们拥有的设备。因此,Paxcounter不会持久存储MAC地址,也不会对扫描的设备进行指纹识别。数据可以存储在本地SD卡上,使用LoRaWAN网络(例如TheThingsNetwork或Helium)或基于TCP/IP的MQTT传输到云端,也可以使用串行(SPI)接口传输到本地主机。您可以使用 ESP32 深度睡眠模式构建此项目电池供电,并使用单个 18650 锂离子电池实现较长的正常运行时间。
* [Serial-Studio/Serial-Studio](https://github.com/Serial-Studio/Serial-Studio) Serial Studio是一款跨平台的多功能串口数据可视化和处理工具,专为嵌入式工程师、学生、黑客和教师设计。它允许用户可视化、分析和表示来自其项目和设备的数据,而无需定制的项目特定可视化软件。Serial Studio 提供灵活的解决方案,适应各种用例,使其成为教育和专业环境的理想选择。该工具诞生于我在多个 CanSat 比赛中的经验,在这些比赛中,我经常发现自己为每个项目开发新的地面站软件。随着时间的推移,我意识到维护一个单一的、灵活的地面站软件会更有效率和可持续,该软件允许用户定义如何处理和显示传入数据。今天,Serial Studio 是一款功能强大且适应性强的工具,不仅适用于 CanSat 比赛,也适用于任何数据采集和可视化项目。它支持从各种来源检索数据,包括硬件和软件串口、MQTT、蓝牙低功耗(BLE) 和网络套接字 (TCP/UDP)。
* [joeycastillo/Sensor-Watch](https://github.com/joeycastillo/Sensor-Watch) Sensor Watch是一款经典Casio F-91W腕表的电路板替换方案,它使用Microchip SAM L22微控制器,并集成了段式LCD控制器。用户可以使用提供的库编写自己的程序,通过USB连接的UF2引导加载程序对腕表进行编程,并将电路板安装到现有的腕表表壳中,在手腕上运行自己的软件。该电路板具有ARM Cortex M0+微控制器、32KHz晶体(用于实时时钟和闹钟功能)、十位数段式LCD、五个指示灯、三个可中断按钮、红绿PWM可控LED背光、可选的蜂鸣器、板载USB Micro B接口、双击启动UF2引导加载程序的复位按钮以及九针柔性PCB连接器。该项目旨在让用户自由添加自己想要的传感器,而不是预先选择传感器,传感器通过九针连接器进行连接,并提供电源、I2C接口、五个通用IO引脚(可配置为模拟输入、数字输入、数字输出、SPI控制器、UART、PWM、外部唤醒输入)等功能。
* [jakkra/ZSWatch](https://github.com/jakkra/ZSWatch) ZSWatch - 基于 Zephyr™ 的开源智能手表,包括硬件和固件。 这款智能手表名为ZSWatch,其核心硬件包括: - nRF5340 BLE芯片(u-blox NORA-B10模块),具有128 MHz双核处理器 - 512 KB RAM和1 MB Flash存储 - 240x240圆形触摸屏显示屏 - 多种传感器,如Bosch BMI270 IMU、BME688环境传感器、BMP581高性能压力传感器、ST LIS2MDLTR磁力计等 - 64 MB外部闪存(Macronix MX25U51245GZ4I00) - Broadcom APDS-9306-065光传感器、Micro Crystal RV-8263-C8 RTC、Knowles SPK0641HT4H-1 I2S麦克风等 - Nordic nPM1300 PMIC用于电源和系统管理 软件方面,ZSWatch支持与GadgetBridge Android应用程序进行蓝牙LE通信,具备多种功能,如显示时间、日期、天气、步数、未读通知等。手表支持不同的表盘,可以动态更改。 ZSWatch的外壳可以选择3D打印或金属CNC加工。手表还支持与iOS设备通信,无需额外应用程序。
* [blynkkk/blynk-library](https://github.com/blynkkk/blynk-library) 用于物联网板的 Blynk 库。适用于 Arduino、ESP32、ESP8266、Raspberry Pi、Particle、ARM Mbed 等。Blynk 是一个独特的物联网平台,用于将任何硬件连接到云、设计应用程序来控制它们,以及大规模管理已部署的产品。使用 Blynk Library,您可以将 400 多种硬件型号(包括 ESP8266、ESP32、NodeMCU、所有 Arduinos、Raspberry Pi、Particle、Texas Instruments 等)连接到 Blynk Cloud。使用适用于 iOS 和 Android 应用程序的 Blynk 应用程序,您可以轻松地拖放任何 DIY 或商业项目的图形界面。这是一种纯粹的 WYSIWG 体验:无需在 iOS 或 Android 上编码。硬件可以使用主板上可用的硬件连接(如 ESP32)或使用各种扩展板(以太网、WiFi、GSM、LTE 等)通过 Internet 连接到 Blynk Cloud。Blynk Cloud 可供 Blynk 的每个用户免费使用。
* [KomputeProject/kompute](https://github.com/KomputeProject/kompute) Kompute是一个通用 GPU 计算框架,基于 Vulkan,支持数千个跨供应商的显卡(AMD、Qualcomm、NVIDIA 等)。它速度极快、支持移动设备、异步且针对高级 GPU 数据处理用例进行了优化。Kompute 提供灵活的 Python 模块和 C++ SDK,支持异步和并行处理,并通过 GPU 家族队列实现。它支持移动设备,并通过 Android NDK 在多个架构上提供示例。Kompute 采用 BYOV(自带 Vulkan)设计,可以与现有的 Vulkan 应用程序协同工作。它提供明确的 GPU 和主机内存所有权和管理关系,并拥有 90% 的单元测试代码覆盖率。Kompute 在机器学习、移动开发和游戏开发等领域拥有广泛的应用。它拥有活跃的社区,提供每月电话会议、Discord 聊天等服务。Kompute 是 Linux 基金会 LF AI & Data 基金会托管的项目。
* [micronucleus/micronucleus](https://github.com/micronucleus/micronucleus) Micronucleus是一个专为 AVR ATtiny 微控制器设计的引导加载程序,它具有最小化的 USB 接口、跨平台的基于 libusb 的程序上传工具,并着重于引导加载程序的紧凑性。据作者所知,这是迄今为止 AVR ATtiny 最小的 USB 引导加载程序。V2.0 版本完全重写了固件,并相对于 V1.x 版本提供了显著改进,包括支持整个 ATtiny 系列(而非仅限 ATtiny85)、更小的尺寸(所有配置都低于 2kb)、无中断的 V-USB、更快的上传速度、支持使用超过 8kb 闪存的 ATtiny 以及许多鲁棒性改进。引导加载程序驻留在与用户程序相同的内存中,因为它需要在用户程序使用自编程功能时小心避免覆盖引导加载程序。引导加载程序会将自身修补到用户程序的复位向量中,不会更改其他中断向量。
* [SpacehuhnTech/esp8266_deauther](https://github.com/SpacehuhnTech/esp8266_deauther) 经济实惠的WiFi黑客平台,用于测试和学习。扫描WiFi设备,阻止选定的连接,创建数十个网络并混淆WiFi扫描仪。此固件允许您轻松执行各种操作以使用ESP8266测试 802.11 网络。这也是一个学习WiFi、微控制器、Arduino、黑客和电子/编程的好项目。取消身份验证攻击是主要功能,可用于断开设备与其WiFi网络的连接。尽管这种拒绝服务攻击并不是什么新鲜事,但许多设备仍然容易受到攻击。幸运的是,随着更多支持WiFi 6的设备的使用,这种情况正在慢慢改变。但是许多过时的WiFi设备仍然存在,例如在廉价的物联网硬件中。使用ESP8266 Deauther,您可以轻松地在2.4GHz WiFi网络/设备上测试这种攻击,看看它是否成功。如果是这样,您就知道应该升级您的网络。
* [micropython/micropython-lib](https://github.com/micropython/micropython-lib) 一个包的存储库,旨在用于编写 MicroPython 应用程序。此处的包分为与四个顶级目录相对应的类别:`python-stdlib`:Python 标准库中模块的兼容版本。这些应该是相应 Python 模块的直接替代品。`python-ecosys`:来自更广泛的 Python 生态系统的兼容但功能缩减的包版本。例如,可以在 Python 包索引中找到的包。`micropython`:特定于 MicroPython 的包,在其他 Python 环境中没有等效包。这包括硬件(例如传感器、外围设备或显示器)的驱动程序、使用嵌入式功能(例如蓝牙)的库,或 CPython 中没有等效项的特定于 MicroPython 的包。`unix-ffi`:这些软件包专门用于 MicroPython Unix 移植,并通过 FFI 提供对操作系统和第三方库的访问,或者对非 Unix 移植没有用的功能。
* [embassy-rs/embassy](https://github.com/embassy-rs/embassy) 现代嵌入式框架,使用 Rust 和 async。Embassy 是嵌入式应用程序的下一代框架。使用 Rust 编程语言、其异步工具和 Embassy 库,更快地编写安全、正确和节能的嵌入式代码。Rust 编程语言速度极快且内存效率高,没有运行时、垃圾回收器或操作系统。它在编译时捕获各种错误,这要归功于其完整的内存和线程安全性以及富有表现力的类型系统。Rust 的 async/await 允许在嵌入式系统中实现前所未有的简单和高效的多任务处理。任务在编译时转换为协作运行的状态机。它不需要动态内存分配,而是在单个堆栈上运行,因此不需要对每个任务的堆栈大小进行调整。它摒弃了对具有内核上下文切换的传统 RTOS 的需求,并且比 RTOS 更快、更小!
* [basicmi/AI-Chip](https://github.com/basicmi/AI-Chip) 用于 AI、机器学习和深度学习的 IC 和 IP 列表。专门收集和整理用于AI、机器学习和深度学习的集成电路(IC)和知识产权(IP)的列表。这个仓库由basicmi维护,旨在为开发者和研究人员提供一个全面的资源,帮助他们了解和选择适合其项目需求的AI芯片和相关技术。内容和目的:AI芯片的多样性:和提到,这个列表包括了多种类型的AI芯片,如Xcore.ai和AlphaICs设计的芯片,这些芯片针对不同的AI工作负载进行了优化,例如边缘计算和深度学习任务。广泛的应用领域:和提到,这个列表涵盖了AI、机器学习和深度学习的各个方面,包括硬件设计、软件栈和生态系统。
* [ExpressLRS/ExpressLRS](https://github.com/ExpressLRS/ExpressLRS) 基于 STM32/ESP32/ESP8285 的高性能无线电链路,适用于 RC 应用。它旨在成为最好的 FPV 链接, 它基于梦幻般的 Semtech SX127x/SX1280 LoRa 硬件与乐鑫或 STM32 处理器相结合。使用 LoRa 调制以及减小的数据包大小,它实现了同类最佳范围和延迟.它使用高度优化的无线数据包结构来实现这一点,从而提供同时范围和延迟优势。它支持 900 MHz 和 2.4 GHz 链路,每种链路都有自己的优势。900 MHz 支持最大 200 Hz 的数据包速率,具有更高的穿透率。2.4 GHz 在 EdgeTX 上支持极快的 1000 Hz。拥有 60 多个不同的硬件目标和 13 个硬件制造商,硬件的选择不断增加,不同的硬件适合不同的要求。
* [MCUdude/MiniCore](https://github.com/MCUdude/MiniCore) 适用于 ATmega8、ATmega48、ATmega88、ATmega168、ATmega328 和 ATmega328PB 的 Arduino 硬件包。从 MiniCore 版本 3 及更高版本开始,Optiboot 引导加载程序已被高级 Urboot 引导加载程序所取代。它更小、更快,并具有自动波特率检测功能,并且可以读取和写入 EEPROM。引导加载程序提供但MiniCore未使用的其他很酷的功能是存储在闪存中的用户程序元数据(可以通过Avrdude -xshowall轻松查看)和芯片擦除功能。如果您已经安装了 Optiboot 并且不想将其替换为 Urboot,您仍然可以上传程序而不会出现任何兼容性问题。但是,如果您要将引导加载程序刻录到新芯片上,Urboot 是您的不二之选。
* [espressif/arduino-esp32](https://github.com/espressif/arduino-esp32) ESP32、ESP32-S2、ESP32-S3、ESP32-C3、ESP32-C6 和 ESP32-H2 的 Arduino 核心。ESP32 是由乐鑫设计的单 2.4 GHz Wi-Fi 和蓝牙 SoC(片上系统)。ESP32 专为移动、可穿戴电子产品和物联网 (IoT) 应用而设计。它具有低功耗芯片的所有先进特性,包括细粒度时钟门控、多种功耗模式和动态功耗调节。例如,在低功耗物联网传感器中枢应用场景中,ESP32 会定期唤醒,并且仅在检测到指定条件时才会唤醒。低占空比用于最大限度地减少芯片消耗的能量。功率放大器的输出也是可调的,因此有助于在通信范围、数据速率和功耗之间实现最佳平衡。ESP32 系列可作为芯片或模块提供。
* [huggingface/lerobot](https://github.com/huggingface/lerobot) LeRobot:用于现实世界机器人的最先进的人工智能。LeRobot 旨在为 PyTorch 中的现实世界机器人提供模型、数据集和工具。目标是降低进入机器人技术的门槛,以便每个人都可以做出贡献并从共享数据集和预训练模型中受益。LeRobot 包含最先进的方法,这些方法已被证明可以转移到现实世界,重点是模仿学习和强化学习。机器人已经提供了一组预训练模型、包含人类收集演示的数据集以及无需组装机器人即可开始使用的模拟环境。在接下来的几周内,该计划将在最实惠、功能最强大的机器人上增加对现实世界机器人技术的越来越多的支持。
* [nodemcu/nodemcu-firmware](https://github.com/nodemcu/nodemcu-firmware) NodeMCU 是乐鑫基于 Lua 的开源固件,用于 ESP8266 WiFi SOC,并使用基于闪存的模块 SPIFFS 文件系统。NodeMCU 是用 C 语言实现的,并分层在乐鑫 NON-OS SDK 上。该固件最初是作为流行的基于ESP8266的 NodeMCU 开发模块的配套项目开发的,但该项目现在得到了社区的支持,并且固件现在可以在任何 ESP 模块上运行。总结:易于编程的无线节点和/或接入点;基于 Lua 5.1.4 或 Lua 5.3,但没有 debug 、 io os 和 (大多数) math 模块;异步事件驱动编程模型;超过 70 个内置 C 模块和近 20 个 Lua 模块;提供带或不带浮点支持的固件(仅整数使用较少的内存)。
* [issus/altium-library](https://github.com/issus/altium-library) 开源Altium数据库库,拥有超过200,000个高质量组件和完整的3D模型。Celestial Altium库是由Altium行业专家Mark Harris创建的用于Altium Designer的大型免费开源数据库库。该数据库托管在为图书馆构建的专用云平台上,以确保您始终拥有最新的组件。Celestial Altium图书馆从概念上就被设计为包含高质量的数据,具有准确的足迹和出色的3D模型。它是免费使用的,并且是开源的。Celestial Altium图书馆已经包含大量组件,并且正在积极开发中以扩大组件覆盖范围。使用Celestial Altium库更快地构建您的下一个项目,创建精美的原理图和令人惊叹的3D PCB。
* [wookayin/gpustat](https://github.com/wookayin/gpustat) gpustat是一个简单的命令行工具,用于查询和监控 GPU 状态,它比 nvidia-smi更轻量级。gpustat 支持 NVIDIA 显卡,目前不支持 AMD。gpustat 可以显示 GPU 的使用率、内存使用情况、温度、风扇速度、编码器/解码器使用情况、功耗等信息。gpustat 还支持显示正在运行的进程信息,例如进程名称、用户、PID、内存使用情况等。gpustat 可以使用 `pip install gpustat` 安装,并支持多种选项,例如显示颜色、显示进程信息、显示风扇速度、显示编码器/解码器使用情况、显示功耗等。gpustat 还支持 JSON 输出、watch 模式和 shell 自动补全功能。
* [Bodmer/TFT_eSPI](https://github.com/Bodmer/TFT_eSPI) Arduino 和 PlatformIO IDE 兼容 TFT 库,针对支持不同驱动芯片的 Raspberry Pi Pico (RP2040)、STM32、ESP8266 和 ESP32 进行了优化。功能丰富的Arduino IDE兼容图形和字体库,适用于32位处理器。该库面向 32 位处理器,已针对 RP2040、STM32、ESP8266 和 ESP32 类型进行了性能优化,可以使用其他 32 位处理器,但将使用较慢的通用 Arduino 接口调用。可以使用Arduino IDE的库管理器加载库。直接内存访问 (DMA) 可与带有 SPI 接口显示器的 ESP32、RP2040 和 STM32 处理器一起使用,以提高渲染性能。具有并行接口(8 位和 16 位)的 DMA 仅支持 RP2040。
* [google/esh](https://github.com/google/esh) esh是一个基于 UART 的嵌入式 shell,旨在用于嵌入式系统学习、实验和诊断。它提供了一个类似终端的界面,允许工程师和研究人员通过shell 接口编写小型函数来探索硬件。esh 具有低内存占用 (u003c 4kB) 的特点,支持 C、C++ 和汇编语言,并提供自动源文件和头文件发现功能。它支持多种处理器架构,包括 ARM、RISC-V 等,并提供示例代码和快速设置指南。用户可以通过 `./manage -s` 或 `.scripts/setup` 命令安装依赖项,并使用 `make` 和 `make run` 命令运行示例代码。此外,esh 还支持 GDB 调试功能。
* [apirrone/Open_Duck_Mini](https://github.com/apirrone/Open_Duck_Mini) OpenDuck Mini 是一个正在进行的项目,旨在制作迪士尼BDX Droid的微型版本,高约35厘米。该项目使用Isaac Gym和AWD进行策略训练,并使用Sim2Sim技术将模拟从Isaac迁移到Mujoco。该项目还包括Sim2Real步行功能,并提供CAD设计、RL代码、BOM清单和组装指南。项目代码库是一个资源中心,包含各种脚本和文档。项目还包含一个嵌入式运行时代码库,用于在树莓派Zero 2W上运行策略。该项目还提供了一些有趣的论文和资源,以及有关BDX Droid的直接相关信息,并参考了行为克隆、模仿学习和MPC等技术。
* [RIOT-OS/RIOT](https://github.com/RIOT-OS/RIOT) RIOT是一个开源的微控制器操作系统,专为物联网 (IoT) 设备和其他嵌入式设备设计,支持各种 8 位、16 位和 32 位微控制器。RIOT 秉持着节能、实时性、小内存占用、模块化和统一 API 访问等设计原则,提供预emptive调度器、灵活的内存管理、高分辨率计时器、MTD抽象层、文件系统集成等功能,并支持200多种基于AVR、MSP430、ESP8266、ESP32、RISC-V、ARM7和ARM Cortex-M的开发板。RIOT还支持IPv6、6LoWPAN、UDP、RPL、CoAP、OTA更新、MQTT、USB、显示屏/触摸屏、CCN-Lite、LoRaWAN、UWB和蓝牙等协议和功能。
* [feilipu/Arduino_FreeRTOS_Library](https://github.com/feilipu/Arduino_FreeRTOS_Library) 适用于所有 Arduino ATmega 设备(Uno R3、Leonardo、Mega 等)的 FreeRTOS 库。FreeRTOS 具有多种配置选项,可以从 FreeRTOSConfig.h 文件中指定这些选项。为了保持与所有Arduino硬件选项的通用性,选择了一些合理的默认值。当您获得使用 FreeRTOS 的经验时,请随意更改这些默认值。通常,ATmega 看门狗定时器用于生成 15ms 时间片(Ticks)。对于需要高精度定时的应用,滴答声可来自硬件定时器或外部时钟。在分配的时间片完成之前暂停或延迟的任务将执行还原回计划程序。
* [neu-rah/ArduinoMenu](https://github.com/neu-rah/ArduinoMenu) arduino 框架的通用菜单/交互系统,全自动或用户代码驱动的导航系统。使用此系统,您可以定义处理所有输入/输出的菜单、子菜单、输入字段和其他迭代对象,并可以作为用户迭代的结果调用用户定义的处理程序。用户函数可以作为单击/进入时调用的单个操作进行操作,也可以作为事件驱动函数响应焦点输入/输出或输入/Esc 事件。该系统被设计为一个非阻塞轮询系统,允许并发任务运行。或者,系统可以在半自动模式下运行,从用户代码发出导航命令。
* [nasa/fprime](https://github.com/nasa/fprime) F´(F Prime) 是一个由 NASA 喷气推进实验室开发的开源飞行软件框架,用于快速开发和部署航天和其他嵌入式软件应用,已成功应用于多个太空项目,例如 CubeSats、SmallSats 和仪器。该框架采用组件驱动架构,将飞行软件分解成具有明确定义接口的独立组件,并提供 C++ 框架、建模工具、测试工具等,帮助开发者高效构建可靠的飞行软件。用户可以通过 `pip install fprime-bootstrap` 和 `fprime-bootstrap project` 命令快速创建项目,并参考官方文档和教程进行学习。
* [LibrePCB/LibrePCB](https://github.com/LibrePCB/LibrePCB) LibrePCB是一个免费的EDA套件,用于在Windows、Linux和MacOS上开发印刷电路板。它提供强大的功能、创新的设计理念和直观的界面。你可以从官方网站下载稳定版本,并参考用户手册和快速入门教程进行安装和使用。该项目欢迎贡献,你可以通过官方网站和CONTRIBUTING.md文件了解如何参与。LibrePCB使用C++开发,需要g++、Qt、OpenCASCADE、OpenGL Utility Library、zlib、OpenSSL和CMake等软件组件。你也可以使用预先安装了所有依赖项的Docker镜像来构建LibrePCB。
* [kitspace/awesome-electronics](https://github.com/kitspace/awesome-electronics) 这是一个为电子工程师和爱好者精心整理的资源列表,涵盖学习、文档、模拟器、Gerber 查看器、免费和付费 EDA 软件、PCB 批量服务、元件搜索引擎、项目分享平台、库存管理和采购、其他软件项目、开发板零售商、博客、论坛、播客、视频、订阅套件服务、3D 元件模型、其他列表以及阿拉伯语部分。该项目提供各种资源,包括技术教程、课程、理论知识、软件工具、硬件平台、社区资源等,旨在帮助用户学习、设计和构建电子电路。
* [pConst/basic_verilog](https://github.com/pConst/basic_verilog) 这是一个包含常用 Verilog 和 SystemVerilog 模块的集合,所有代码都高度可重用,适用于各种 FPGA 项目和主流 FPGA 供应商。该项目包含基本任务和高级或特殊用途例程的代码,并提供详细的描述和实例化模板。项目还包含各种 FPGA 项目的示例、脚本和模板,以及用于 Xilinx 和 Intel HLS 的脚本。代码已获得 CC BY-SA 4.0 许可,您可以自由地将其用于任何目的,包括商业用途,但必须提供创建者的姓名并以相同的许可证分发您的贡献。
* [limine-bootloader/limine](https://github.com/limine-bootloader/limine) Limine是一个现代、先进、可移植的多协议引导加载程序和引导管理器,也是[Limine引导协议](PROTOCOL.md)的参考实现。它支持多种架构,包括IA-32、x86-64、aarch64、riscv64和loongarch64,并支持多种引导协议,如Linux、Limine、Multiboot 1、Multiboot 2和链式加载。Limine还支持多种分区方案,如MBR、GPT和未分区介质,以及多种文件系统,如FAT12/16/32、ISO9660和ext2/3/4。用户可以通过[Liberapay](https://liberapay.com/mintsuki/donate)捐赠以支持Limine的开发。
* [Ultimaker/Cura](https://github.com/Ultimaker/Cura) UltimakerCura 是一个基于 Uranium 框架构建的 3D 打印机切片软件,它可以将 3D 模型切片并生成打印指令,以便在 3D 打印机上打印。Cura 提供了数百种设置和社区管理的打印配置文件,可以帮助用户成功完成 3D 打印项目。用户可以贡献打印机配置文件,并通过官方文档添加新机器配置文件。Cura 还支持翻译,用户可以参考官方文档进行翻译。Cura 提供了构建、插件、机器、报告、设置和本地化等功能,并拥有丰富的社区支持。
* [fulldecent/system-bus-radio](https://github.com/fulldecent/system-bus-radio) 在没有无线电发射硬件的计算机上利用 system bus 传输AM无线电信号。有些计算机故意与世界其他地方断开连接。这包括删除他们的互联网、无线、蓝牙、USB、外部文件存储和音频功能。这称为“气隙”。即使在这种情况下,该程序也可以传输无线电。公开可用的文件已经讨论了使用各种电磁辐射从安全系统中渗透的问题。美国国家安全局和美国国防部发布的 TEMPEST 指南中对此进行了记录。这个项目只是增加了这个讨论。
* [Qirun/ARM_Cortex-M3](https://github.com/Qirun/ARM_Cortex-M3) 在FPGA上搭建Cortex-M3软核、图像协处理器,并通过OV5640摄像头采集车牌图像,实现对车牌的识别与结果显示。基于Altera DE1 FPGA搭载Cortex-M3软核,依据AHB-Lite总线协议,将LCD1602、RAM、图像协处理器等外设挂载至Cortex-M3。视频采集端,设计写FiFo模块、SDRAM存储与输出、读FiFo模块、灰度处理模块、二值化、VGA显示等模块。最终将400位宽的结果数据(对应20张车牌)存储在RAM中,输出至AHB总线,由Cortex-M3调用并显示识别结果。
* [nhivp/Awesome-Embedded](https://github.com/nhivp/Awesome-Embedded) Awesome-Embedded 是一个精选的嵌入式编程资源列表,包含面试准备、嵌入式软件技能、常见问题、MCU 编程、树莓派、Beaglebone、Linux 内核和设备驱动开发、汇编、RTOS、汽车、操作系统、Windows CE、编译器、引导加载程序、Makefile、外设、嵌入式 GUI 开发、MCU 上的机器学习和 AI、实用工具、技巧和窍门、技术博客、书籍等内容。该项目旨在为嵌入式开发者提供一个便捷的资源库,帮助他们学习和提升嵌入式编程技能。
* [MarkFzp/mobile-aloha](https://github.com/MarkFzp/mobile-aloha) Mobile ALOHA是一个基于低成本全身遥操作的双臂移动机械臂学习项目,该项目基于ALOHA项目,并包含了Mobile ALOHA硬件的遥操作和数据收集实现。该项目提供硬件组装教程和快速入门指南,并支持Ubuntu 18.04和20.04系统,目前正在测试ROS 2和Ubuntu 22.04的兼容性。项目代码库包含配置、启动文件和Python代码,用户可以通过USB连接4个机器人并使用Dynamixel Wizard进行调试,并通过创建符号链接将每个机器人绑定到固定端口。
* [BasedHardware/openglass](https://github.com/BasedHardware/openglass) OpenGlass是一个开源项目,可以将任何眼镜变成价格低廉(不到 25 美元)的智能眼镜。它使用现成的组件,并通过连接到手机,可以实现多种功能,例如记录生活、识别物体、翻译文本等。该项目提供硬件和软件指南,用户可以通过 3D 打印眼镜架,并使用 Arduino IDE 上传固件到 ESP32S3 开发板,然后通过手机应用程序连接并使用 OpenGlass 的功能。该项目还提供预制套件,并鼓励用户加入社区以获取更多支持。
* [imbushuo/mac-precision-touchpad](https://github.com/imbushuo/mac-precision-touchpad) 该项目为苹果MacBook系列和Magic Trackpad 2实现了Windows Precision Touchpad协议,支持USB(传统和T2)、SPI和蓝牙触控板。该项目提供Windows 10驱动程序,支持各种MacBook型号,包括2018/2019年之前的旧款机型。用户可以通过GitHub发布页面下载最新版本,并通过设备管理器进行安装。该项目还提供Chocolatey包,方便用户使用Chocolatey进行安装。开发者可以使用Windows 10 Driver Development Kit Version 2004或更高版本进行开发和测试。
* [FreeRTOS/FreeRTOS](https://github.com/FreeRTOS/FreeRTOS) FreeRTOS是一个经典的实时操作系统,提供内核源代码、示例项目和各种补充库,包括LTS库。该项目使用Git Submodules来管理依赖组件,并提供详细的文档和支持资源,包括快速入门指南、支持设备和编译器列表、API参考和FAQ。用户可以使用HTTPS或SSH协议克隆该项目,并通过命令行工具更新子模块。项目结构包含内核源代码、示例项目和各种库,其中许多库都是从其各自的Git仓库中作为子模块包含的。
* [zephyrproject-rtos/zephyr](https://github.com/zephyrproject-rtos/zephyr) 一个可扩展的实时操作系统 (RTOS),支持多种硬件架构,针对资源受限的设备进行了优化,并在构建时考虑到了安全性。Zephyr OS 基于小尺寸内核,专为资源受限系统而设计:从简单的嵌入式环境传感器和 LED 可穿戴设备到复杂的智能手表和物联网无线网关。Zephyr 内核支持多种架构,包括 ARM(Cortex-A、Cortex-R、Cortex-M)、Intel x86、ARC、Nios II、Tensilica Xtensa 和 RISC-V、SPARC、MIPS 以及大量支持的主板。
* [tlkh/asitop](https://github.com/tlkh/asitop) asitop是一个适用于 Apple Silicon (M1) Mac 的命令行性能监控工具,类似于 nvtop。它利用 macOS 内置的 powermetrics 工具,提供 CPU、GPU、内存、电源等硬件性能指标的实时监控。asitop 可以显示 CPU 和 GPU 的利用率、频率、功耗,以及内存使用情况等信息。它还提供 CPU 和 GPU 功耗的图表,并支持峰值功耗和滚动平均值的显示。asitop 仅适用于 macOS Monterey 上的 Apple Silicon Mac。该工具轻量级,对性能影响很小。
* [yaqwsx/KiKit](https://github.com/yaqwsx/KiKit) KiKit是一个用于 KiCAD 的自动化工具,它提供 Python 库、KiCAD插件和命令行工具,可以自动化 KiCAD 工作流程中的多个任务,例如板子拼板(包括规则形状和不规则形状)、基于制造商预设的自动化制造数据导出、KiCAD 中的多板项目以及构建板子演示页面。KiKit 可以帮助你简化 KiCAD 工作流程,例如创建面板、导出 Gerber 文件和组装数据等,并支持自定义脚本和 Makefile 来进一步自动化你的工作流程。
* [fastmachinelearning/hls4ml](https://github.com/fastmachinelearning/hls4ml) hls4ml是一个用于在 FPGA 上进行机器学习推理的软件包,它使用高层次综合语言 (HLS) 创建机器学习算法的固件实现。该项目可以将传统的开源机器学习包模型转换为 HLS,以便用户可以根据自己的用例进行配置。hls4ml 支持 Xilinx Vivado HLS,并提供详细的教程和文档,方便用户快速上手。用户可以使用 pip 命令安装 hls4ml,并通过简单的 Python 代码创建 HLS项目,并使用 Vivado HLS 进行模型合成。
* [tock/tock](https://github.com/tock/tock) Tock是一个为微控制器设计的嵌入式操作系统,旨在运行多个并发且相互不信任的应用程序,支持 Cortex-M 和 RISC-V 架构。Tock 的设计核心是保护,包括防止潜在恶意应用程序和设备驱动程序的攻击。Tock 使用 Rust 语言编写内核和设备驱动程序,以实现编译时内存安全和类型安全,并使用内存保护单元隔离应用程序和内核。Tock 2.x 版本带来了新的功能和改进,详细信息请查看变更日志。
* [alibaba/AliOS-Things](https://github.com/alibaba/AliOS-Things) AliOS Things是面向物联网领域的、高可伸缩的物联网操作系统,由阿里巴巴开发,支持多种CPU架构,包括ARM、C-Sky、MIPS、RISCV等。它拥有分层架构和组件架构,包括BSP、HAL、Kernel、Network、Security、AOS API、VFS驱动框架和丰富的组件,支持多种网络协议,如Wi-Fi、蓝牙、LoRaWAN等,并提供安全机制,如TLS、ID2、SST等。开发者可以在GitHub上获取AliOS Things的源代码,并通过官网了解更多信息。
* [phodal/awesome-iot](https://github.com/phodal/awesome-iot) Awesome IoT是一个协作项目,收集了大量关于物联网框架、库、操作系统和平台的优质资源。它包含了各种分类,例如框架、库、应用、存储、安全、操作系统、语音控制器、平台、云平台、API、中间件、工具包、数据可视化、实时数据、硬件、家庭自动化、IDE、机器人等。项目还提供了许多其他资源,例如课程、网站、博客、小组、GitHub 组织、免费书籍、相关资源项目和教程。
* [Keycapsss/awesome-mechanical-keyboard](https://github.com/Keycapsss/awesome-mechanical-keyboard) 这是一个开源机械键盘资源库,旨在收集机械键盘相关的项目(优先考虑开源项目)。项目包含了多种类型,包括错位键盘、正交键盘、分体式键盘、其他键盘类型、固件、工具、教程等,用户可以在网站 [Keebfolio.netlify.app](https://keebfolio.netlify.app/) 或 GitHub 上浏览这些资源。项目使用 Astro 作为静态网站生成器,并提供详细的本地开发环境搭建指南,欢迎用户贡献内容。
* [analogdevicesinc/hdl](https://github.com/analogdevicesinc/hdl) ADI HDL库和项目是一个包含各种参考设计和原型系统的HDL代码库。它提供Verilog或VHDL代码以及Tcl脚本,用于使用Xilinx或Intel工具链创建和构建特定FPGA示例设计。该项目支持基于Intel和Xilinx FPGA开发板或独立的各种ADI板的参考设计。用户需要安装Vivado Design Suite或Quartus Prime Design Suite以及GNU Make工具才能构建项目。可以通过EngineerZone获得支持,并提供详细的构建指南和文档。
* [clash-lang/clash-compiler](https://github.com/clash-lang/clash-compiler) Clash是一个基于Haskell的函数式硬件描述语言,它使用Haskell语法和语义将高层次的设计描述转换为可合成的VHDL、Verilog或SystemVerilog。Clash具有强类型推断、交互式REPL、高阶函数、支持多时钟域等特性,方便用户进行安全、快速、简洁的硬件原型设计。用户可以通过Clash网站获取最新稳定版本或从源代码编译安装。Clash支持多种GHC版本,具体兼容情况请参考项目文档。
* [platformio/platformio-core](https://github.com/platformio/platformio-core) PlatformIO Core是一个开源的嵌入式软件开发平台,提供跨平台 IDE、统一调试器、静态代码分析器、远程单元测试、多平台和多架构构建系统等功能,帮助开发者轻松构建和调试嵌入式项目。它拥有丰富的库管理功能,支持与主流 IDE 集成,并提供持续集成服务。PlatformIO Core 还支持高级功能,例如调试和单元测试,帮助开发者更高效地开发嵌入式软件。
* [scottbez1/smartknob](https://github.com/scottbez1/smartknob) SmartKnob是一个开源的输入设备,具有软件可配置的端点和虚拟止动。它将无刷万向节电机与磁性编码器配对,提供闭环扭矩反馈控制,从而可以动态创建和调整止动和端点的触感。该项目目前处于积极开发中,并提供了一个集成显示屏的“SmartKnob View”版本。该项目提供3D CAD模型和演示视频,展示了其在视频编辑器时间线控制等应用中的潜力。
* [tilde-lab/awesome-materials-informatics](https://github.com/tilde-lab/awesome-materials-informatics) 这是一个整理的材料信息学领域资源列表,涵盖了软件、云平台、数据集、标准化工作等方面。该项目旨在整合材料科学、计算机科学和数据科学,利用现代计算技术和数据分析方法来加速材料的发现和设计。项目特色包括:提供各种材料信息学软件和工具,例如AFLOW、AiiDA、ASE等;收录了机器可读的材料数据集,以及标准化工作和相关资源。
* [XuehaiPan/nvitop](https://github.com/XuehaiPan/nvitop) nvitop是一个交互式的 NVIDIA-GPU 进程查看器,也是 GPU 进程管理的一站式解决方案。它提供设备和进程状态、资源监控、CUDA可见设备选择工具以及机器学习框架的回调函数等功能。用户可以通过命令行选项和环境变量自定义 nvitop 的行为,并使用键盘快捷键在监控模式下进行操作。nvitop 的完整 API 文档可在 u003chttps://nvitop.readthedocs.iou003e找到。
* [tinygo-org/tinygo](https://github.com/tinygo-org/tinygo) 通过创建一个基于 LLVM 的新编译器,将 Go 编程语言引入嵌入式系统和现代 Web。可以在超过 94 个不同的微控制器板上编译和运行 TinyGo 程序,例如 BBC micro:bit 和 Arduino Uno。还可以生成大小非常紧凑的 WebAssembly (WASM) 代码。您可以为 Web 浏览器以及支持 WebAssembly 系统接口 (WASI) 系列接口的服务器和边缘计算环境编译程序。
* [SpinalHDL/SpinalHDL](https://github.com/SpinalHDL/SpinalHDL) SpinalHDL是一个基于Scala的硬件描述语言,它可以生成VHDL/Verilog文件,并与EDA工具兼容。与VHDL、Verilog和SystemVerilog相比,SpinalHDL语法更强大、功能更丰富,同时代码更简洁。它基于RTL描述范式,但更进一步,允许使用面向对象编程和函数式编程来设计和验证硬件。SpinalHDL完全免费,可在工业界使用,无需任何许可证。
* [rwaldron/johnny-five](https://github.com/rwaldron/johnny-five) JavaScript Robotics和IoT编程框架,由Bocoup开发。一个开源的,基于Firmata协议的物联网和机器人编程框架,由Nodebots社区开发。Johnny-Five 程序可以编写为 Arduino(所有型号)、Electric Imp、Beagle Bone、Intel Galileo & Edison、Linino One、Pinoccio、pcDuino3、Raspberry Pi、Particle/Spark Core & Photon、Tessel 2、TI Launchpad 等
* [GlasgowEmbedded/glasgow](https://github.com/GlasgowEmbedded/glasgow) GlasgowInterface Explorer 是一个电子设备开发工具,类似于瑞士军刀,提供丰富的功能和接口。该项目目前处于相对不活跃的状态,因为主要维护者 Catherine @whitequark 经历了一些困难,但她现在状况良好,项目将很快恢复活跃,并增加更多维护者。如果您想支持 Catherine,可以访问她的 Patreon 页面。
* [help-14/mechanical-keyboard](https://github.com/help-14/mechanical-keyboard) 该项目是一个DIY机械键盘资源库,提供各种键盘布局、组件和相关链接,帮助用户快速找到自己喜欢的键盘布局并开始DIY自己的定制键盘。项目包含常见键盘、人体工学键盘、正交键盘、数字键盘/宏键盘等,并提供控制器、外壳、面板、键帽等组件信息,以及固件、工具和教程链接。
* [dpretet/axi-crossbar](https://github.com/dpretet/axi-crossbar) 这是一个用 SystemVerilog 实现的 AXI4 交叉开关,用于构建 SOC的基础。交叉开关连接多个主设备和从设备,并映射到内存空间。它包含一组开关,用于将主设备请求路由到从设备,并将完成信号传回设备。交叉开关是 SOC 中常用的逻辑,用于连接处理器与外设,如内存、IO、协处理器等。
* [seemoo-lab/openhaystack](https://github.com/seemoo-lab/openhaystack) 一个框架,用于通过Apple庞大的“查找我的”网络跟踪个人蓝牙设备。使用它来创建您自己的跟踪标签,您可以将其附加到物理对象(钥匙圈、背包等)或将其集成到其他支持蓝牙的设备(如笔记本电脑)中。是苹果的Find My网络(或离线查找)的逆向工程和安全分析工作的结果。
* [MCUdude/MightyCore](https://github.com/MCUdude/MightyCore) 用于 ATmega8535、ATmega16、ATmega32、ATmega164、ATmega324、ATmega644 和 ATmega1284 的 Arduino 内核,均运行 Urboot 引导加载程序。大多数Arduino UNO兼容库都可以使用此内核。如果没有,移植库是相当简单的。此内核至少需要 Arduino IDE v1.6,其中建议使用 v1.8.9 或更高版本。IDE 2.x 也应该可以工作。
* [peng-zhihui/ElectronBot](https://github.com/peng-zhihui/ElectronBot) ElectronBot是一个迷你桌面机器人项目,旨在打造类似WALL-E的桌面机器人。它通过USB连接,拥有6个自由度(包括滚动、俯仰、旋转等),并使用自定义的控制板和传感器进行交互。项目提供完整的开源代码和SDK,方便用户进行二次开发,并提供视频教程供参考。
* [beeper/beepy](https://github.com/beeper/beepy) Pi Zero的显示器键盘外设。超低功耗、高对比度、高分辨率、夏普存储液晶显示器。带背光和触摸板的点击式键盘,便于输入和导航。可自定义的键盘映射以满足您的需求。由Pi Zero W(可选)或任何其他兼容的SBC(如Radxa Zero、MQ-Pro)供电,具有薄型无焊接头。
* [WalkerLau/DetectHumanFaces](https://github.com/WalkerLau/DetectHumanFaces) 采用ARM Cortex-M3软核及FPGA构成了轻量级的实时人脸检测SOC,通过ov5640摄像头采集实时图像,经过检测系统的检测后,将已经框出人脸的实时图像通过HDMI输出到显示器,同时可以通过UART查看检测时间等信息,还能通过板载LED灯查看检测到的人脸数量。
* [cesanta/mongoose](https://github.com/cesanta/mongoose) 用于 C/C++ 的网络库。它为 TCP、UDP、HTTP、WebSocket、MQTT 实现了事件驱动的非阻塞 API。它专为连接设备并使其联机而设计。自 2004 年以来在市场上,被大量开源和商业产品使用 - 它甚至在国际空间站上运行!猫鼬使嵌入式网络编程快速、强大且简单。
* [PX4/PX4-Autopilot](https://github.com/PX4/PX4-Autopilot) 用于无人机的 PX4 飞行控制解决方案,主要应用程序位于 src/modules 目录中。它还包含 PX4 无人机中间件平台,该平台提供运行无人机的驱动程序和中间件。PX4 具有高度的便携性,独立于操作系统,并支持开箱即用的 Linux、NuttX 和 MacOS。
* [killerp/off_asr](https://gitee.com/killerp/off_asr) 智能遥控器(离线版)本项目基于esp32a1s模组,设计了一个遥控器,除了实现基本的红外遥控功能,人们还能通过语音,手机远程进行红外遥控。同时又加入温度传感器,并支持将温度数据上传云端,使能随时随地查看、分析数据。
* [open-sdr/openwifi](https://github.com/open-sdr/openwifi) openwifi:Linux mac80211 兼容全栈 IEEE802.11/Wi-Fi 设计,基于 SDR(软件定义无线电)。此存储库包括 Linux 驱动程序和软件。openwifi-hw 存储库具有 FPGA 设计。您有责任遵守您的本地频谱法规或使用电缆来避免潜在的空中干扰。
* [amaranth-lang/amaranth](https://github.com/amaranth-lang/amaranth) 开源工具链,用于使用 Python 编程语言开发基于同步数字逻辑的硬件,以及评估板定义、片上系统工具包等。它旨在易于学习和使用,减少或消除常见的编码错误,并使用可重用的组件简化复杂硬件的设计。
* [jbush001/NyuziProcessor](https://github.com/jbush001/NyuziProcessor) Nyuzi 是一款实验性 GPGPU 处理器,专注于计算密集型任务。它包括用System Verilog编写的可综合硬件设计,指令集仿真器,基于LLVM 的C / C++编译器,软件库和测试。它可用于试验微架构和指令集设计权衡。
* [meshtastic/firmware](https://github.com/meshtastic/firmware) Meshtastic固件项目包含用于 Meshtastic 设备的固件,该设备是一个开源的无线网络协议,允许设备通过无线电波进行通信。该项目提供构建和刷写固件的详细说明,并使用 Repobeats 提供项目统计信息。
* [hlorenzi/customasm](https://github.com/hlorenzi/customasm) 汇编程序,允许您提供自己的自定义指令集来汇编您的源文件!例如,如果您正在尝试测试新虚拟机的字节码,或者您渴望为刚刚在 FPGA 芯片中实现的新微处理器架构编写程序,它可能很有用!
* [MiSTer-devel/Main_MiSTer](https://github.com/MiSTer-devel/Main_MiSTer) MiSTer是一个开放项目,旨在使用现代硬件重新创建各种经典计算机、游戏机和街机。它允许软件和游戏图像像在原始硬件上一样运行,使用鼠标、键盘、游戏杆和其他游戏控制器等外围设备。
* [awrie/fpga_pio](https://github.com/lawrie/fpga_pio) 尝试在 FPGA 中重新创建 RP2040 PIO.PIO 代表 Progammaable I/O,它是 RP2040 SoC 的一部分,它比 SPI、I2C、UART 等特定协议的硬件实现灵活得多。它可以实现所有这些协议,甚至更多速度和任何 GPIO 引脚。
* [stlink-org/stlink](https://github.com/stlink-org/stlink) stlink 是一个开源工具集,用于对 STMicroelectronics 制造的 STM32 器件和电路板进行编程和调试。它支持几个所谓的STLINK编程器板(及其克隆),这些板使用微控制器芯片将命令从USB转换为JTAG/SWD。
* [chipsalliance/chisel](https://github.com/chipsalliance/chisel) 现代硬件设计语言,Constructing Hardware in a Scala Embedded Language 是一种开源硬件描述语言 (HDL),用于在寄存器传输级别描述数字电子和电路,促进 ASIC 和 FPGA 的高级电路生成和设计重用。
* [gfx-rs/gfx](https://github.com/gfx-rs/gfx) gfx-rs 是 Rust 中的一个低级、跨平台的图形和计算抽象库。从 v0.9 版本开始,gfx-hal 现在处于维护模式。GFX-HAL 的开发主要由 WGPU 驱动,WGPU 现在已经切换到自己的 GPU 抽象,称为 WGPU-HAL。
* [1technophile/OpenMQTTGateway](https://github.com/1technophile/OpenMQTTGateway) MQTT网关,用于ESP8266,ESP32,Sonoff RF Bridge或Arduino,双向433mhz / 315mhz / 868mhz,红外通信,BLE,蓝牙,信标检测,mi flora,mi jia,LYWSD02,LYWSD03MMC,Mi Scale,TPMS,BBQ温度计兼容性,SMS和LORA。
* [adafruit/circuitpython](https://github.com/adafruit/circuitpython) 适合初学者的 Python 开源版本,适用于称为微控制器的微型廉价计算机。微控制器是许多电子产品的大脑,包括用于构建业余爱好项目和原型的各种开发板。CircuitPython 基于 MicroPython。
* [chrislgarry/Apollo-11](https://github.com/chrislgarry/Apollo-11) 阿波罗11号制导计算机(AGC)指令舱(Comanche055)和登月舱(Luminary099)的原始源代码。由虚拟AGC和麻省理工学院博物馆的人们数字化。目标是成为原始阿波罗 11 号源代码的存储库。
* [arduino/Arduino](https://github.com/arduino/Arduino) 基于简单 I/O 板和实现处理/布线语言的开发环境的开源物理计算平台。Arduino可用于开发独立的交互式对象,也可以连接到计算机上的软件(例如Flash,Processing和MaxMSP)。
* [HQarroum/awesome-iot](https://github.com/HQarroum/awesome-iot) 精选的物联网项目和资源列表。目录:硬件、软件、操作系统、编程语言、框架、中间件、库和工具、杂项、协议和网络、技术、标准和联盟、资源、书、文章、文件
* [arduino/arduino-cli](https://github.com/arduino/arduino-cli) Arduino CLI 是一个多合一的解决方案,它提供板/库管理器、草图构建器、板检测、上传器以及从命令行或机器界面使用任何 Arduino 兼容板和平台所需的许多其他工具。
* [arendst/Tasmota](https://github.com/arendst/Tasmota) 基于 ESP8266 和 ESP32 的设备的替代固件,使用 webUI 轻松配置、OTA 更新、使用计时器或规则实现自动化、可扩展性以及对 MQTT、HTTP、串行或 KNX 的完全本地控制。
* [FPGAwars/icestudio](https://github.com/FPGAwars/icestudio) 简化开源 FPGA 的数字设计:icestudio.io。专注于 FPGA 领域新人的设计工具:第 1 步:绘制电路。第 2 步:将其上传到您喜欢的开源 FPGA 板。第 3 步:完成!
* [hughperkins/VeriGPU](https://github.com/hughperkins/VeriGPU) 开源 GPU,在 Verilog 中,松散地基于 RISC-V ISA,构建面向 ASIC 流片的开源 GPU,用于机器学习 (“ML”)。希望可以让它与 PyTorch 深度学习框架一起使用。
* [eclipse/mosquitto](https://github.com/eclipse/mosquitto) MQTT 协议版本 5.0、3.1.1 和 3.1 的服务器的开源实现。它还包括一个 C 和 C++ 客户端库,以及用于发布和订阅的 `mosquitto_pub` 和 `mosquitto_sub` 实用程序。
* [Neutrino-1/Fitness_Watch](https://github.com/Neutrino-1/Fitness_Watch) 一款基于 esp12E 和 arudino 框架的健身手表。功能包括:自动显示开启和关闭、运动检测、心率传感器、NTP时间同步、触觉反馈、SMTP 电子邮件功能
* [lexus2k/ssd1306](https://github.com/lexus2k/ssd1306) 适用于在 Arduino/ESP32/Linux (Rasperry) 平台上运行的 SSD1306、SSD1331、SSD1351、IL9163、ILI9341、ST7735、PCD8544、诺基亚 5110 显示器的驱动程序。
* [MarlinFirmware/Marlin](https://github.com/MarlinFirmware/Marlin) 基于Arduino平台的RepRap 3D打印机的优化固件。许多商用3D打印机都安装了Marlin。如果您需要特定计算机的源代码,请咨询您的供应商。
* [SpenceKonde/ATTinyCore](https://github.com/SpenceKonde/ATTinyCore) 适用于 ATtiny 1634、828、x313、x4、x41、x5、x61、x7 和 x8 的 Arduino 内核。支持通过 ISP、串行 (Optiboot) 或 VUSB (Micronucleus) 进行编程。
* [lvgl/lvgl](https://github.com/lvgl/lvgl) 强大且易于使用的嵌入式 GUI 库,具有许多小部件、高级视觉效果(不透明度、抗锯齿、动画)和低内存要求(16K RAM、64K 闪存)。
* [moononournation/Arduino_GFX](https://github.com/moononournation/Arduino_GFX) Arduino_GFX是一个Arduino图形库,支持具有各种数据总线接口的各种显示器。这个库从 Adafruit_GFX、LovyanGFX、TFT_eSPI、Ucglib 等开始重写
* [MichaIng/DietPi](https://github.com/MichaIng/DietPi) 非常轻量级的基于 Debian 的操作系统。它针对最小的 CPU 和 RAM 资源使用进行了高度优化,确保您的 SBC 始终发挥其最大潜力。
* [abnoname/iceZ0mb1e](https://github.com/abnoname/iceZ0mb1e) 使用完整的开源 FPGA[工具链流程](http://www.clifford.at/yosys/) 构建基于 TV80 的演示片上系统,包括使用 SDCC 进行固件编译。
* [MichMich/MagicMirror](https://github.com/MichMich/MagicMirror) 开源的模块化智能镜子平台。随着可安装模块的不断增加,MagicMirror² 允许您将走廊或浴室镜子转换为您的私人助理。
* [enjoy-digital/litex](https://github.com/enjoy-digital/litex) LiteX 框架提供了一个方便高效的基础设施来创建 FPGA 内核/SoC,探索各种数字设计架构并创建完整的基于 FPGA 的系统。
* [LibreHardwareMonitor/LibreHardwareMonitor](https://github.com/LibreHardwareMonitor/LibreHardwareMonitor) Open Hardware Monitor 的一个分支,是一款免费软件,可以监控计算机的温度传感器、风扇速度、电压、负载和时钟速度。
* [travisgoodspeed/gbrom-tutorial](https://github.com/travisgoodspeed/gbrom-tutorial) 关于掩模ROM恢复的快速小教程,我们将从任天堂GameBoy的掩模ROM照片开始,最后得到一个可以拆卸或模拟的ROM文件。
* [DarkFlippers/unleashed-firmware](https://github.com/DarkFlippers/unleashed-firmware) Flipper Zero Unleashed 固件存储库,最稳定的自定义固件专注于原始固件组件的新功能和改进,几乎没有 UI 更改
* [mainflux/mainflux](https://github.com/mainflux/mainflux) 工业物联网消息传递和设备管理平台。用 Go 编写的现代、可扩展、安全、开源且无专利的物联网云平台。
* [larryli/u8g2_wqy](https://github.com/larryli/u8g2_wqy) 适合 u8g2 的中文字体,采用文泉驿点阵宋体作为源本,提供 12x12、13x13、14x14、15x15 和 16x16 点阵字库。
* [copy/v86](https://github.com/copy/v86) v86 模拟兼容 x86 的 CPU 和硬件。机器代码在运行时被转换为 WebAssembly 模块,以实现良好的性能。
* [esphome/esphome](https://github.com/esphome/esphome) 通过简单而强大的配置文件来控制您的 ESP8266/ESP32 并通过家庭自动化系统远程控制它们的系统。
* [logisim-evolution/logisim-evolution](https://github.com/logisim-evolution/logisim-evolution) 用于设计和仿真数字逻辑电路的教育软件。 Logisim-evolution是免费、开源和跨平台的。
* [mpaland/printf](https://github.com/mpaland/printf) 用于嵌入式系统的微小、快速、非依赖和满载的 printf 实现。广泛的测试套件通过。
* [awesome-robotic-tooling](https://github.com/Ly0n/awesome-robotic-tooling) 用于 C++ 和 Python 专业机器人开发的工具,带有 ROS、自动驾驶和航空航天的触感。
* [ZoneMinder/zoneminder](https://github.com/ZoneMinder/zoneminder) 一个免费的开源闭路电视软件应用程序,为Linux开发,支持IP,USB和模拟摄像机。
* [eloquentarduino/EloquentTinyML](https://github.com/eloquentarduino/EloquentTinyML/) 用于微控制器的Tensorflow Lite的Eloquent接口,可在arduino上进行机器学习计算推理。
* [Ly0n/awesome-robotic-tooling](https://github.com/Ly0n/awesome-robotic-tooling) 用于 C++ 和 Python 专业机器人开发的工具,带有 ROS、自动驾驶和航空航天功能。
* [openscopeproject/InteractiveHtmlBom](https://github.com/openscopeproject/InteractiveHtmlBom) 交互式HTML BOM生成插件,适用于KiCad,EasyEDA,Eagle,Fusion360和Allegro PCB设计器
* [ClemensElflein/OpenMower](https://github.com/ClemensElflein/OpenMower) 让我们将廉价的现成机器人割草机升级为基于 RTK GPS 的现代智能割草机器人
* [cyberbotics/webots](https://github.com/cyberbotics/webots) 完整的开发环境,用于对机器人、车辆和机械系统进行建模、编程和仿真。
* [LeiWang1999/FPGA](https://github.com/LeiWang1999/FPGA) 本项目旨在帮助大家进行FPGA的入门,分享FPGA相关的优秀文章,优秀项目。
* [RetroPie/RetroPie-Setup](https://github.com/RetroPie/RetroPie-Setup) Shell脚本,用于设置带有RetroArch模拟器和各种内核的Raspberry Pi / Odroid / PC
* [vernemq/vernemq](https://github.com/vernemq/vernemq) 基于 Erlang/OTP 的分布式 MQTT 消息代理。专为高质量和工业用例而设计。
* [emqx/emqx](https://github.com/emqx/emqx) 适用于物联网、工业物联网和互联汽车的最具可扩展性的开源 MQTT 代理
* [FreeCAD/FreeCAD](https://github.com/FreeCAD/FreeCAD) FreeCAD的官方源代码,FreeCAD是一个免费的开源多平台3D参数化建模器。
* [FASTSHIFT/WatchX](https://github.com/FASTSHIFT/WatchX) 开源智能手表, 高质量流畅(60FPS+)的动画效果, 易于扩展的系统框架.
* [OpenMachine-ai/tinyfive](https://github.com/OpenMachine-ai/tinyfive) 轻量级的RISC-V仿真器和汇编器,Python编写,带有神经网络示例。
* [tzapu/WiFiManager](https://github.com/tzapu/WiFiManager) ESP8266具有网络强制门户的WiFi连接管理器,带回退的Web 配置门户
* [Aircoookie/WLED](https://github.com/Aircoookie/WLED) 通过 WiFi 使用 ESP8266 或 ESP32 控制WS2812B和更多类型的数字 RGB LED
* [thingsboard/thingsboard](https://github.com/thingsboard/thingsboard) 开源物联网平台,包括设备管理、数据收集、处理和可视化。
* [TimRudy/ice-chips-verilog](https://github.com/TimRudy/ice-chips-verilog) Verilog 中所有常见分立逻辑器件的库 74LS、74HC、74HCT 系列芯片
* [coolsnowwolf/lede](https://github.com/coolsnowwolf/lede) Lean 的 LEDE 路由器系统的源码仓库。LEDE是OpenWrt 的一个分支。
* [espressif/esp-skainet](https://github.com/espressif/esp-skainet) 乐鑫推出的智能语音助手,目前支持唤醒词和命令词识别。
* [MegEngine/MegPeak](https://github.com/MegEngine/MegPeak) 测试处理器峰值计算工具,支持OpenCL驱动的arm,x86和GPU。
* [pbatard/rufus](https://github.com/pbatard/rufus) 实用程序,可帮助格式化和创建可启动的USB闪存驱动器。
* [MetaWu2077/Esp32_VoiceChat_LLMs](https://github.com/MetaWu2077/Esp32_VoiceChat_LLMs) 基于 ESP32 的设备,主要用于与大型语言模型的语音聊天
* [Arduino-IRremote/Arduino-IRremote](https://github.com/Arduino-IRremote/Arduino-IRremote) Arduino红外远程库:使用多种协议发送和接收红外信号
* [hybridgroup/gobot](https://github.com/hybridgroup/gobot) 用于机器人、无人机和物联网 (IoT) 的 Golang 框架
* [benhoyt/inih](https://github.com/benhoyt/inih) 简单。C 语言的 INI 文件解析器,适用于嵌入式系统
* [revoxhere/duino-coin](https://github.com/revoxhere/duino-coin) 几乎可以用任何东西开采的硬币,包括 Arduino 板。
* [micropython/micropython](https://github.com/micropython/micropython) 用于微控制器和受限系统的精简高效的 Python 实现
* [microsoft/devicescript](https://github.com/microsoft/devicescript) 用于微型物联网设备的 TypeScript(ESP32、RP2040 等)
* [sipeed/MaixPy](https://github.com/sipeed/MaixPy) MicroPython for K210 RISC-V,让我们更轻松地玩边缘AI
* [blakeblackshear/frigate](https://github.com/blakeblackshear/frigate) NVR具有实时本地物体检测功能,适用于IP摄像机
* [ultraembedded/cores: Various HDL (Verilog) IP Cores](Verilog) IP Cores](https://github.com/ultraembedded/cores) 各种 HDL
* [Rem0o/FanControl.Releases](https://github.com/Rem0o/FanControl.Releases) 适用于 Windows 的高度可定制的风扇控制软件。
* [thibmaek/awesome-raspberry-pi](https://github.com/thibmaek/awesome-raspberry-pi) 精选的RaspberryPi工具、项目、图像和资源列表
* [qmk/qmk_firmware](https://github.com/qmk/qmk_firmware) 适用于 Atmel AVR 和 Arm USB 系列的开源键盘固件
* [thibmaek/awesome-raspberry-pi](https://github.com/thibmaek/awesome-raspberry-pi) 树莓派工具、项目、图像和资源的精选列表
* [avakar/usbcorev](https://github.com/avakar/usbcorev) 用 Verilog 编写的全速设备端 USB 外设内核。
* [corundum/corundum](https://github.com/corundum/corundum) 用于网络计算的开源基于 FPGA 的 NIC 和平台
* [qewer33/qpaperOS](https://github.com/qewer33/qpaperOS) 适用于 LILYGO T ESP32 开发板的智能手表固件
* [brickbots/HandiPi](https://github.com/brickbots/HandiPi) 带键盘和显示屏的手持式 树莓派4 计算机
* [edgeimpulse/example-esp32-cam](https://github.com/edgeimpulse/example-esp32-cam) 在 ESP32 Cam 上构建并运行导出的图像分类
* [Kevincoooool/ESP_MASTER](https://github.com/Kevincoooool/ESP_MASTER) ESP32-CAM 带 LVGL 语音/人脸识别红外控制
* [justcallmekoko/ESP32Marauder](https://github.com/justcallmekoko/ESP32Marauder) 一套适用于 ESP32 的 WiFi/蓝牙攻防工具
* [mcxiaoke/mqtt](https://github.com/mcxiaoke/mqtt) MQTT协议3.1.1中文翻译版,IoT,物联网
* [RT-Thread/rt-thread](https://github.com/RT-Thread/rt-thread) 开源的物联网实时操作系统 (RTOS)
* [dawsonjon/fpu](https://github.com/dawsonjon/fpu) Verilog 中可合成的 IEEE 754 浮点库。
* [danjulio/lepton/ESP32](https://github.com/danjulio/lepton/tree/master/ESP32) 基于 ESP32 的热像仪(Lepton 3.5)。
* [pebri86/esplay_micro_hardware](https://github.com/pebri86/esplay_micro_hardware) esplay硬件微版,基于ESP32的游戏机
* [alexforencich/verilog-ethernet](https://github.com/alexforencich/verilog-ethernet) 用FPGA实现的 Verilog 以太网组件
* [mqttjs/MQTT.js](https://github.com/mqttjs/MQTT.js) Node.js 和浏览器的 MQTT 客户端
* [mit-han-lab/tiny-training](https://github.com/mit-han-lab/tiny-training) 256KB 内存下的设备上训练DNN
* [peng-zhihui/Dummy-Robot](https://github.com/peng-zhihui/Dummy-Robot) 超迷你机械臂机器人项目。
* [killerp/smart_control](https://gitee.com/killerp/smart_control) 智能遥控器(在线版)。
* [OctoPrint/OctoPrint](https://github.com/OctoPrint/OctoPrint) 3D打印机的活泼Web界面
* [zhengnianli/EmbedSummary](https://github.com/zhengnianli/EmbedSummary) 精品嵌入式资源汇总
* [sqfmi/Watchy](https://github.com/sqfmi/Watchy) 完全开源的电子手表
* [nf9/police_light](https://github.com/nf9/police_light) Lichee Tang板实现警灯
* [Lichee-Pi/Tang_FPGA_Examples](https://github.com/Lichee-Pi/Tang_FPGA_Examples) LicheeTang FPGA例程