GitHub 每周热点(240114)
潘忠显 / 2024-01-14
本周上榜的仓库,有两个大规模语言模型的 UI,还有持续在榜上的多角色的 Crew AI,语音即时转换的 OpenVoice,会做家务的 Mobile ALOHA。李笑来又回来教英语了,开始不断更新书稿。还有meta开源的语音直接转人像视频的项目,以及移动应用的一体化后端服务 pocketbase。
另外,在介绍项目的过程中,我也会介绍一些关联的项目,比如跟 pocketbase 类似的 Supabase,跟 Crew AI 有关联的 XAgent 以及 AutoGPT。
本地 Chat App - mckaywrigley/chatbot-ui
总 Star: 22856, 本周新增 Star: 2688
项目介绍:使用 TypeScript 写的 Chat Bot UI。可以通过打开的本地桌面 App,管理云上托管的模型、以及本地的模型。
项目所生成的 App 依赖 Supabase,项目中有介绍出于安全、存储限制、多模式用例限制等考虑,使用 Supabase 来替代了最初的本地文件存储。
这里也顺便介绍一下Supabase:它是一个开源的 Firebase 替代品,可以自托管(在自己服务器上部署)。它是一个由多个开源工具组成的后端即服务(Backend as a Service)平台,提供了数据库、身份验证、存储、函数等功能,可以帮助开发者快速构建现代应用。以下是 Supabase 的一些主要组件:
- PostgreSQL数据库:Supabase 使用的是 PostgreSQL,这是一个功能强大、开源的关系型数据库。你可以使用SQL进行查询,也可以使用RESTful或者实时Websocket API进行访问。
- 实时订阅:Supabase提供了实时的数据库订阅功能。你可以订阅数据库中的任何更改,当数据发生变化时,你的应用会立即收到更新。
- 身份验证和授权:Supabase提供了内置的用户身份验证和授权功能。它支持多种登录方式,包括电子邮件、第三方提供商(如Google、GitHub等)以及JWT(JSON Web Tokens)。
- 存储:Supabase提供了一个对象存储服务,可以用来存储图片、视频等文件。
- Serverless函数:Supabase支持Postgres存储过程和触发器,你可以使用它们来构建serverless函数。
可以在 Supabase 的云平台上使用这些服务,也可以在自己的服务器上部署和使用(有许多开源软件都采用了这种模式,既提供云服务,也支持自托管。这种模式允许用户根据自己的需求和资源选择最适合的部署方式。类似的 Grafana、GitLab、Jenkins 等都有提供对应的云服务)
另外,项目依赖 Ollama 来管理和运行本地模型,比如 Llama 2、Mistral 等大语言模型。
- Llama 2 由 Meta 发布,该模型在 2 万亿个令牌上进行训练,默认情况下支持 4096 的上下文长度。Llama 2 Chat 模型针对超过 100 万条人工注释进行了微调,专为聊天而设计。7b 型号通常需要至少 8GB RAM
- Mistral 是 Mistral AI 这家公司发布的开源模型。Mistral AI 由 Arthur Mensch、Guillaume Lample 和 Timothée Lacroix 于 2023 年 4 月共同创立。在共同创立 Mistral AI 之前,Arthur Mensch 曾在Google 人工智能实验室DeepMind工作,而 Guillaume Lample 和 Timothée Lacroix 则在 Meta 工作。2023年9月发布的 Mistral 7B 声称该模型在所有测试的基准测试中均优于LLaMA 2 13B,并且在许多测试的基准测试中与 LLaMA 34B 相当。
这些模型都有语言的限制,如果你熟练使用英语,在本地运行这些模型使用起来就比较顺畅了。
本地 Chat App - janhq/jan
总 Star: 6202, 本周新增 Star: 2681
项目介绍:Jan 也是一个 Chat Bot UI,也是主要用 TypeScript 来编写的,可以100%的离线运行本地模型。
简单地使用了一下,它跟 chatbot-ui 主要的不同是:Jan 提供安装包,开箱即用;chatbot-ui 需要命令行安装一些依赖。
虽然用户没有感知到,但是 Jan 也介绍了下它依赖另外两个开源项目:
- llama.cpp:在 MacBook 上使用 4 位整数量化(4-bit integer quantization)运行 LLaMA 模型
- NVIDIA/TensorRT:NVIDIA TensorRT 的开源软件 (OSS) 组件,包括 TensorRT 插件和解析器(Caffe 和 ONNX)
Jan 也支持 Llama 2、Mistral 等很多大语言模型。因为其用法比较简单,相信后边 Star 的上升势头也不亚于 chatbot-ui。
分角色智能 - joaomdmoura/crewAI
总 Star: 4432, 本周新增 Star: 2571
项目介绍:用于编排角色扮演、自主人工智能代理的框架。通过促进协作智能,CrewAI 使代理能够无缝协作,处理复杂的任务。这个项目上周也有上榜。
- 基于角色的代理设计:定制具有特定角色、目标和工具的代理。
- 代理间自主委派:代理可以自主委派任务并相互查询,提高解决问题的效率。
- 灵活的任务管理:使用可定制的工具定义任务并将其动态分配给代理。
- 流程驱动:目前仅支持
sequential
任务执行,但正在处理更复杂的流程,例如共识和分层。
像前两个 UI 类似,crew AI 也可以通过 Ollama 来支持基于本地模型运行,增强灵活性和定制性。以利用自己的模型,这对于特殊任务或数据隐私问题特别有用。
之前有类似的两个有名的项目:
- AutoGPT 可将这单个复杂计划拆分为若干个子任务,并能够基于的 GPT-4 或 GPT-3.5 在线模型来实现这些任务
- XAgent 由面壁智能和清华大学 NLP 实验室共同推出,对标 AutoGPT, 可以实现自主解决复杂任务的全新 AI 智能体,以 LLM 为核心,能够理解人类指令、制定复杂计划并自主采取行动
声音克隆 - myshell-ai/OpenVoice
总 Star: 12223, 本周新增 Star: 2466
项目介绍:由 MyShell AI 发布的即时语音克隆:
- 准确的音色克隆。 OpenVoice 可以准确克隆参考音色并生成多种语言和口音的语音。
- 灵活的音色控制。 OpenVoice 可以对语音风格(例如情感和口音)以及其他风格参数(包括节奏、停顿和语调)进行精细控制。
- 零样本跨语言语音克隆。 生成语音的语言和参考语音的语言都不需要出现在大规模说话人多语言训练数据集中。
一体化后端 - pocketbase/pocketbase
总 Star: 30248, 本周新增 Star: 1540
项目介绍:PocketBase 是一个开源后端,由具有实时订阅功能的嵌入式数据库 (SQLite)、内置身份验证管理、方便的仪表板 UI 和简单的 REST-ish API 组成。跟前面介绍的 Supabase 非常相似。
使用 PocketBase 或者 Supabase 的原因就是以比较低的成本去搭建简单的移动应用、网站应用。这时候用户不多,吞吐量不大,开发者没有必要将精力去放在像存储、鉴权等一些不那么核心的功能上去。所以,使用这种一个服务能提供所有周边功能的应用,就非常合适:
声音转视频 - facebookresearch/audio2photoreal
总 Star: 2067, 本周新增 Star: 1490
项目介绍:音频生成人像演讲视频,原理是 Pixel Codec Avatars (Meta 的论文)。仓库中提供了代码和数据集,可以直接使用demo进行操作:
- 录制音频
- 可以更改要生成的样本数量 (1-10),并通过单击每个视频右上角的下载按钮来下载喜欢的视频
家务机器人 - Mobile ALOHA
MarkFzp下边的两个 ALOHA 仓库,都是从 tonyzhaozh 下的两个仓库 Fork 出来的。两周前,谷歌DeepMind团队和斯坦福大学华人团队合作研发的能炒菜、做家务的通用机器人刷屏全网,就是这个 Mobile ALOHA。
* MarkFzp/mobile-aloha
总 Star: 2668, 本周新增 Star: 1159
项目介绍:从 tonyzhaozh/aloha fork 出来的,包含使用 Mobile ALOHA 硬件进行远程操作和数据收集的实现。通过低成本全身远程操作学习双手移动操作。
要构建 ALOHA,请遵循一些的硬件组装教程和快速入门指南。
* MarkFzp/act-plus-plus
总 Star: 2210, 本周新增 Star: 1385
项目介绍:从tonyzhaozh/ACT fork的,用于训练 ALOHA 模仿学习算法,需要安装 ACT for Mobile ALOHA。模仿学习算法包括:ACT、扩散策略、VINN。
李笑来回来了 - xiaolai/everyone-can-use-english
总 Star: 12259, 本周新增 Star: 1016
项目介绍:人人都能用英语,李笑来又开始写书了:
我 2010 年写的,2015 年网络发布,2019 年上传到 github 上的《人人都能用英语》,也许你应该去大致扫一遍。2024 年,我要做的事情之一,就是写《人人都能用英语》的新版,或许更名为《多语的真相》。
李笑来是个挺传奇的人物。从新东方老师,到投资互联网、XX币,再到“通往财富自由之路”,有兴趣的可以搜搜。
他个人网站上部分书籍有原稿可以阅读:https://lixiaolai.com/#/
十亿行挑战打榜 - gunnarmorling/1brc
总 Star: 2224, 本周新增 Star: 874
项目介绍:十亿行挑战,这是一个打榜的挑战。任务是用 Java 编写一个程序,读取文件 10亿行文件,计算每个气象站的最低、平均和最高温度值,并在标准输出上发出结果。因为提 PR 的人太多,作者要求新的提交在 10 秒或更短时间内运行。挑战时间是2024年1月1日到1月31日。
React框架 - refinedev/refine
总 Star: 18574, 本周新增 Star: 805
项目介绍:Refine是一个元React框架,可以快速开发各种 Web 应用程序。
从内部工具到管理面板、B2B 应用程序和仪表板,它是构建任何类型的CRUD应用程序的全面解决方案。
Refine 的内部挂钩和组件通过为项目的关键方面(包括身份验证、访问控制、路由、网络、状态管理和i18n )提供行业标准解决方案,简化了开发流程并消除了重复性任务。
可以能够通过浏览器中的交互式分步过程构建 Refine 应用程序:
开源阅读器 - tachiyomiorg/tachiyomi
总 Star: 27092, 本周新增 Star: 770
项目介绍:开源免费的安卓平台的动漫阅读器。项目本身没什么特别介绍的。看到这个 tachiyomi 一看就是个日文的发音,就让ChatGPT给翻译了一下,结果还真准确。
Rust写操作系统 - llenotre/maestro
总 Star: 2525, 本周新增 Star: 767
项目介绍:Maestro 是一个用 Rust 编写的轻量级类 Unix 内核。目标是提供一个轻量级操作系统,能够使用 Rust 语言的可靠安全功能。