1. huggingface/lerobot
![]()

🌟 截止发稿星数: 2108
🇨🇳 仓库语言: Python
🤝 仓库开源协议: Apache License 2.0
🔗 仓库地址: https://github.com/huggingface/lerobot
🤗 LeRobot 是由 Hugging Face 团队开发的一个专注于真实世界机器人的机器学习库,旨在通过提供模型、数据集和工具,降低机器人领域的入门门槛,促进数据和预训练模型的共享。该库基于 PyTorch 构建,包含模仿学习和强化学习等领域的尖端技术,并已证明这些技术可以成功应用于现实世界。
🤗 LeRobot 提供了预训练模型、人类收集演示的数据集以及模拟环境,使得用户无需组装机器人即可开始使用。未来计划增加对市场上最具性价比和能力的机器人的支持。预训练模型和数据集托管在 Hugging Face 社区页面: huggingface.co/lerobot。
库中包含多个预训练模型在模拟环境中的示例,如 ACT 政策在 ALOHA 环境、TDMPC 政策在 SimXArm 环境、Diffusion 政策在 PushT 环境等。此外,还对 Tony Zaho、Zipeng Fu、Cheng Chi、Zhenjia Xu、Nicklas Hansen、Yunhai Feng、Vincent Moens 等人的开源工作表示感谢,他们的贡献对 LeRobot 的设计和实现起到了重要作用。
安装 🤗 LeRobot 非常简单,只需克隆仓库、创建虚拟环境并使用 pip 安装即可。库还提供了 gymnasium 环境的额外安装选项,如 aloha、xarm 和 pusht。通过 Weights and Biases 进行实验跟踪也是支持的。
🤗 LeRobot 的目录结构清晰,包含示例、配置文件、通用类和实用程序、脚本、输出结果和测试等。用户可以通过脚本可视化数据集、评估预训练政策或训练自己的政策。对于贡献者,库提供了详细的贡献指南,包括如何添加新数据集和预训练政策的说明。
最后,如果用户希望引用此工作,可以使用提供的 BibTeX 条目。🤗 LeRobot 的目标是推动机器人技术的民主化,让更多人能够参与并从中受益。
2. HVision-NKU/StoryDiffusion
🌟 截止发稿星数: 3377
🇨🇳 仓库语言: Jupyter Notebook
🤝 仓库开源协议: Apache License 2.0
🔗 仓库地址: https://github.com/HVision-NKU/StoryDiffusion
StoryDiffusion 是一款创新的图像和视频生成工具,它通过一致的自注意力机制实现了长序列内角色一致的图像生成,并且能够预测长距离视频中的运动变化。该工具的核心特性包括两个主要部分:一是用于长序列图像生成的角色一致性自注意力模块,该模块与所有基于 SD1.5 和 SDXL 的图像扩散模型兼容,用户需提供至少 3 个文本提示以驱动生成过程,推荐使用 5-6 个提示以获得更好的布局效果;二是用于长距离视频生成的运动预测器,它能够在压缩的图像语义空间中预测条件图像之间的运动,实现更大的运动预测范围。StoryDiffusion 不仅能够生成连贯的漫画,还能将生成的图像转换为视频,通过无缝过渡实现两阶段长视频生成。目前,该项目提供了漫画生成和图像到视频生成的源代码,以及一个基于 gradio 的演示应用。用户可以通过提供的 jupyter notebook 或启动本地 gradio 演示来体验生成过程。项目团队鼓励用户通过电子邮件进行交流和讨论,同时强调用户在使用该工具时应遵守当地法律并负责任地使用。StoryDiffusion 的目标是为 AI 驱动的图像和视频生成领域带来积极影响,并为用户提供一个强大的创作工具。
3. ejoy/ant
🌟 截止发稿星数: 3413
🇨🇳 仓库语言: Lua
🤝 仓库开源协议: MIT License
🔗 仓库地址: https://github.com/ejoy/ant
Ant 游戏引擎,由灵犀互娱倾力打造,是一款开源的游戏开发利器。目前,该项目已公开代码仓库,但尚未正式发布,其文档和示例等资源正在 Wiki 上逐步完善。对于开发者而言,若在探索过程中遇到任何疑问,可在 Discussions 板块发帖交流,而 Issues 板块则专为 Bug 追踪而设。
在引擎的使用上,首先需更新并初始化第三方库,通过执行 git submodule update --init 命令来完成。随后,根据不同的操作系统搭建编译环境:在 Windows 系统中,可选择 MSVC 或 MINGW 方式进行安装;而在 MacOS 系统中,则需安装 xcode 和 ninja。此外,通用步骤中还包括了编译构建工具 luamake 的安装。
编译过程分为多个步骤,首先编译 runtime,使用 luamake 命令;接着编译 tools,通过 luamake -mode release tools 命令实现,其中 release 模式相比 debug 模式效率更高。编译选项可通过 luamake [target] -mode [debug/release] 命令进行设置,默认模式为 debug。
运行引擎时,可通过 bin/msvc/debug/ant.exe test/simple/main.lua 命令运行一个简单示例。若要启动编辑器,则使用 bin/msvc/debug/lua.exe tools/editor/main.lua [projectdir] 命令,例如 test/simple。
调试方面,需安装 VSCode 并配置 Lua Debug 插件,随后在 .vscode/launch.json 中添加调试配置。Ant 游戏引擎的目录结构清晰,包括编译结果的 bin 目录、编译中间结果的 build 目录、C/C++代码的 clibs 目录、引擎基础支持代码的 engine 目录、功能包的 pkg 目录、不同平台运行时支持的 runtime 目录、测试工程的 test 目录以及相关工具的 tools 目录。
Ant 游戏引擎以其开源的特性,为游戏开发者提供了一个强大而灵活的平台,无论是编译环境的搭建,还是编译、运行、调试的流程,都体现了其设计的专业性与便捷性。随着文档和示例的不断完善,Ant 游戏引擎有望成为游戏开发领域的一颗新星。
4. hbb1/2d-gaussian-splatting


🌟 截止发稿星数: 842
🇨🇳 仓库语言: Python
🤝 仓库开源协议: Other
🔗 仓库地址: https://github.com/hbb1/2d-gaussian-splatting
本仓库提供了名为“2D Gaussian Splatting for Geometrically Accurate Radiance Fields”的论文的官方实现,该论文通过使用一组 2D 定向圆盘(表面元素)来表示场景,并采用透视正确的可微分光栅化技术来光栅化这些表面元素。该方法还开发了正则化技术以提高重建质量,并设计了用于高斯散射的网格化方法。最新特性包括支持无界网格提取,通过将空间收缩到一个球体并执行自适应 TSDF 截断来实现。安装过程简单,通过 conda 环境创建和激活即可。训练和测试命令行参数提供了调整选项,如正则化参数和深度比率,以适应不同数据集。此外,还提供了快速示例和自定义数据集的准备指南。评估脚本用于新视角合成和几何重建的完整评估。该项目建立在 3DGS、Open3D、Multinerf 等多个优秀项目的基础上,并对这些项目的作者表示感谢。如果该代码或论文对您有所帮助,请考虑引用相关文献。
5. wandb/openui


🌟 截止发稿星数: 11338
🇨🇳 仓库语言: TypeScript
🤝 仓库开源协议: Apache License 2.0
🔗 仓库地址: https://github.com/wandb/openui
OpenUI 是一个旨在简化 UI 组件构建过程的开源项目,它致力于使 UI 开发变得有趣、快速和灵活。该项目由 W&B 团队开发,用于测试和原型化基于大型语言模型(LLM)的强大应用程序构建工具的下一代工具。OpenUI 允许用户通过想象力描述 UI,并实时渲染,支持将 HTML 转换为 React、Svelte、Web Components 等多种格式。虽然它不像 v0 那样精致,但作为开源项目,它提供了更多的灵活性。
用户可以通过提供的链接尝试在线演示,也可以在本地运行 OpenUI,使用 Ollama 提供的模型。安装 Ollama 后,可以拉取如 CodeLlama 等模型,并通过简单的命令行操作在本地运行 OpenUI。此外,OpenUI 还支持通过 Docker Compose 和 Docker 进行部署,用户可以根据自己的环境选择合适的方式。
在开发方面,OpenUI 提供了一个 dev container 配置,方便开发者快速开始工作。GitHub Codespaces 也支持 OpenUI,开发者可以在 Codespaces 中运行服务器和前端服务,实现自动重载和浏览器实时更新。Ollama 在 Codespaces 中自动安装,并预先下载了 llava 模型,用户可以通过设置选择不同的 Ollama 模型。
OpenUI 的详细开发指南和资源可以在前端和后端的 README 文件中找到,为开发者提供了全面的指导和帮助。总的来说,OpenUI 是一个强大的开源工具,旨在提升 UI 开发的效率和乐趣,适合希望在 LLM 基础上构建应用程序的开发者和团队使用。
6. langgenius/dify
🌟 截止发稿星数: 27937
🇨🇳 仓库语言: TypeScript
🤝 仓库开源协议: Other
🔗 仓库地址: https://github.com/langgenius/dify
Dify 是一个开源的 LLM(大型语言模型)应用开发平台,它提供了一个直观的界面,集成了 AI 工作流、RAG(检索增强生成)管道、代理功能、模型管理、可观察性特性等,使得从原型到生产的过程变得迅速而高效。Dify 的核心特性包括:1. 工作流:在可视化画布上构建和测试强大的 AI 工作流,利用所有以下特性和更多。2. 全面的模型支持:无缝集成数百个专有/开源 LLM,来自数十个推理提供商和自托管解决方案,涵盖 GPT、Mistral、Llama3 以及任何 OpenAI API 兼容模型。3. 提示 IDE:直观的界面用于制作提示、比较模型性能,并为基于聊天的应用添加额外功能,如文本到语音。4. RAG 管道:广泛的 RAG 能力,覆盖从文档摄入到检索的所有内容,对 PDF、PPT 等常见文档格式的文本提取提供开箱即用的支持。5. 代理功能:可以基于 LLM 函数调用或 ReAct 定义代理,并添加预构建或自定义工具。Dify 提供了 50 多种内置工具,如 Google 搜索、DELL·E、Stable Diffusion 和 WolframAlpha。6. LLMOps:监控和分析应用日志和性能随时间的变化。您可以根据生产数据和注释持续改进提示、数据集和模型。7. 后端即服务:Dify 的所有功能都带有相应的 API,因此您可以轻松地将 Dify 集成到自己的业务逻辑中。
Dify 的使用方式包括:1. 云服务:我们提供了一个 Dify Cloud 服务,任何人都可以零设置尝试。它提供了自部署版本的所有功能,并在沙盒计划中包含 200 次免费 GPT-4 调用。2. 自托管 Dify 社区版:通过 快速启动指南 快速在您的环境中运行 Dify。使用我们的 文档 获取进一步的参考和更深入的说明。3. Dify for 企业/组织:我们提供额外的以企业为中心的功能。 安排与我们开会 或 发送电子邮件 讨论企业需求。
Dify 还鼓励社区贡献,包括代码贡献、社交媒体分享、在活动和会议上的推广,以及帮助翻译 Dify 到其他语言。社区和联系方式包括 GitHub 讨论、GitHub 问题、电子邮件、Discord 和 Twitter。安全问题应直接发送到[email protected]。该仓库根据 Dify 开源许可证 提供,基本上是 Apache 2.0,带有几个额外的限制。
7. assafelovic/gpt-researcher

🌟 截止发稿星数: 9514
🇨🇳 仓库语言: Python
🤝 仓库开源协议: MIT License
🔗 仓库地址: https://github.com/assafelovic/gpt-researcher
GPT Researcher 是一款专为多样化在线研究任务设计的自主代理工具。它能够生成详细、事实性和无偏见的研究报告,并提供定制选项,专注于相关资源、大纲和课程。受到 Plan-and-Solve 和 RAG 论文的启发,GPT Researcher 解决了速度、确定性和可靠性问题,通过并行化代理工作,提供更稳定的性能和更快的速度。该工具旨在通过利用 AI 的力量,为个人和组织提供准确、无偏见和事实信息。GPT Researcher 的优势在于,它能够快速形成客观结论,避免当前大型语言模型(LLMs)基于过时信息和幻觉风险的问题,以及现有服务在网络搜索时可能导致的表面和偏见回答。其架构包括“规划者”和“执行”代理,规划者生成研究问题,执行代理根据每个生成的研究问题寻找最相关的信息。最终,规划者过滤和聚合所有相关信息,并创建研究报告。GPT Researcher 利用 gpt3.5-turbo 和 gpt-4-turbo 模型完成研究任务,平均研究任务约 3 分钟完成,成本约为$0.1。它具有生成研究、大纲、资源和课程报告的功能,能够生成超过 2000 字的长篇详细研究报告,聚合超过 20 个网络资源以形成客观和事实性结论,并包括易于使用的网页界面。用户可以通过 Python 3.11 或更高版本安装该工具,设置 API 密钥后即可开始使用。此外,GPT Researcher 还提供了详细的文档,包括入门指南、定制和配置、示例演示、集成和 Docker 支持等。该工具欢迎贡献,并提供了贡献指南和路线图页面。用户可以通过 Discord 社区或电子邮件与开发者联系。需要注意的是,GPT-4 语言模型的使用可能会产生较高的成本,用户需负责监控和管理自己的令牌使用和相关费用。
8. gabime/spdlog
🌟 截止发稿星数: 22410
🇨🇳 仓库语言: C++
🤝 仓库开源协议: Other
🔗 仓库地址: https://github.com/gabime/spdlog
spdlog 是一个高性能的 C++ 日志库,以其快速和灵活的特点受到开发者的青睐。它支持头文件只有和编译两种模式,并且兼容多种平台,包括 Linux、Windows、macOS 和 Android 等。通过各种包管理器,如 Debian、Homebrew、MacPorts 等,可以轻松安装 spdlog。
该库提供了丰富的功能,包括异步模式、自定义格式化、多线程/单线程日志记录器、多种日志目标(如旋转日志文件、每日日志文件、控制台日志、syslog、Windows 事件日志等),以及易于扩展的自定义日志目标。spdlog 还支持日志过滤,允许在运行时和编译时修改日志级别,并支持从命令行参数或环境变量加载日志级别。
使用 spdlog 非常简单,通过包含相应的头文件和调用 spdlog 提供的宏和函数,即可实现日志记录。例如,创建一个基本的控制台日志记录器,只需包含 “spdlog/spdlog.h” 并调用 spdlog::info() 函数。此外,spdlog 还支持创建旋转文件日志记录器、每日日志记录器等,以及实现自定义的日志目标。
spdlog 的性能非常出色,通过提供的基准测试可以看到,在同步模式和异步模式下,它都能保持高效率的日志记录。详细的文档可以在项目的 wiki 页面找到,为开发者提供了全面的指南和示例。
总的来说,spdlog 是一个功能强大、易于使用且性能卓越的 C++ 日志库,适用于各种规模的项目,无论是小型应用还是大型企业级系统,都能提供稳定可靠的日志记录支持。
9. Blealtan/efficient-kan
🌟 截止发稿星数: 1790
🇨🇳 仓库语言: Python
🔗 仓库地址: https://github.com/Blealtan/efficient-kan
本仓库提供了一种高效的 Kolmogorov-Arnold 网络(KAN)实现方案。原始的 KAN 实现存在性能问题,主要是因为它需要将所有中间变量扩展以执行不同的激活函数。对于具有
in_features输入和out_features输出的层,原始实现需要将输入扩展为一个形状为(batch_size, out_features, in_features)的张量以执行激活函数。然而,所有激活函数都是一组固定基函数的线性组合,这些基函数是 B 样条。因此,我们可以将计算重新表述为激活输入与不同的基函数,然后线性组合它们。这种重新表述可以显著降低内存成本,并将计算简化为直接的矩阵乘法,自然适用于前向和后向传递。
关键问题在于 稀疏化,这是 KAN 可解释性的关键。作者提出了一种在输入样本上定义的 L1 正则化,这需要在 (batch_size, out_features, in_features) 张量上进行非线性操作,因此与重新表述不兼容。我改为使用在权重上的 L1 正则化,这在神经网络中更为常见,并且与重新表述兼容。作者的实现确实包括了这种正则化,所以我认为它可能有所帮助。需要更多的实验来验证这一点;但至少原始方法在追求效率时是不可行的。
另一个区别是,除了可学习的激活函数(B 样条),原始实现还包括每个激活函数的可学习尺度。我提供了一个名为 enable_standalone_scale_spline 的选项,默认设置为 True 以包含此功能;禁用它将使模型更高效,但可能会损害结果。这需要更多的实验。
2024 年 5 月 4 日更新:@xiaol 暗示 base_weight 参数的常量初始化在 MNIST 上可能是一个问题。目前,我已经将 base_weight 和 spline_scaler 矩阵的初始化更改为 kaiming_uniform_,遵循 nn.Linear 的初始化。这在 MNIST 上似乎效果好得多(从约 20%提高到约 97%),但我不确定这在一般情况下是否是一个好主意。