GitHub 每周热点(240428)
潘忠显 / 2024-04-28
GitHub 每周热点(2024-04-28)
本周 GitHub Trending 项目榜单中,周新增 Star 数量超过 500 的项目有 18 个。
2024年4月18日,Meta发布了Llama 3。本周的热点项目,仍然是主要围绕着 Llama 3 的一些项目,包括:llama3 的官网项目,本地运行模型的工具 ollama,微调相关的 LLaMa-Factory、unsloth、torchtune、llama-recipes,以及安全相关的 PurpleLlama,还有 WebUI 项目 open-webui。
除此之外,OpenVoice 是之前上榜很多次项目,这次上榜因为其刚发布了 V2 版本。
还有一些相对独立的一些项目:dify 是一个 AI 工作流项目;chess 是国际象棋游玩的平台;phidata 是为了补充 LLM 的工具;my-tv 是可以安装在小米TV上观看卫视直播的APP; MaxKB 是大语言模型的知识库问答系统;it-tools 则是给IT人员的常用工具,有独立的网站。
meta-llama/llama3
总 Star: 17994, 本周新增 Star: 11700
链接:https://github.com/meta-llama/llama3
项目介绍: Meta Llama 3 在GitHub上的官方仓库,释放了大型语言模型的潜力。作为最新版本的 Llama,现在可以让个人、创作者、研究人员和各种规模的企业都能够负责地实验、创新和扩展他们的想法。此版本包括预训练和调整说明的 Llama 3 语言模型的模型权重和起始代码,包括参数从 8B 到 70B 不等的各种规模。
该仓库旨在提供一个最小示例,用于加载 Llama 3 模型并运行推断。
要获取下载链接,需要根据指引在 https://llama.meta.com/llama-downloads/ 填上个人信息,他会往你的邮箱中发一个唯一的 URL,这个在调用 ./download.sh
的时候需要填写。
我实际下载的时候,遇到了在国内下载会报 403 的问题:
但是通过设置 https_proxy
指向日本的代理之后,能够获得不错的下载速度:
但实际上,我们有跟方便的方式去使用 Llama 3,这就是下边这个排名第 2 的 Ollama 项目的作用。
ollama/ollama
总 Star: 61397, 本周新增 Star: 4377
链接:https://github.com/ollama/ollama
项目介绍:该项目可以让你在本地运行 Llama 3, Mistral, Gemma 等大语言模型,安装和运行都非常的简单。
在 Linux 环境直接运行即可安装 ollama:
curl -fsSL https://ollama.com/install.sh | sh
安装完 ollama 之后,还需要拉取对应的模型:
拉取完之后便可运行,这个过程有点像使用 Docker 指令哈?
可以通过 RESTful API 的方式进行调用,这种就跟请求 ChatGPT API 的方式类似:
hiyouga/LLaMA-Factory
总 Star: 20153, 本周新增 Star: 3232
链接:https://github.com/hiyouga/LLaMA-Factory
项目介绍:更简单、高效地微调大模型
简单——通过页面勾选生成参数:
高效:与 ChatGLM 官方的 P-Tuning 微调相比,LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比,同时在广告文案生成任务上取得了更高的 Rouge 分数。结合 4 比特量化技术,LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 显存消耗。
open-webui/open-webui
总 Star: 16819, 本周新增 Star: 2779
链接:https://github.com/open-webui/open-webui
项目介绍:Open WebUI(前身为 Ollama WebUI)是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全脱机运行。它支持各种 LLM 运行器,包括上边提到的 Ollama 和兼容 OpenAI API。
特性包括:
- 直观界面:聊天界面灵感源自 ChatGPT,确保用户友好体验。
- 响应式设计:在桌面和移动设备上都能获得无缝体验。
- 快速响应:享受快速且响应灵敏的性能。
- 无缝设置:使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)轻松安装,无烦恼体验。
- 主题定制、代码语法高亮、完整支持 Markdown 和 LaTeX、本地 RAG 整合、RAG 嵌入支持、网页浏览功能。
该项目还具有诸多功能,支持多模型和多语言设置,旨在提供全面的聊天体验,提高用户互动的灵活性和多样性。
langgenius/dify
总 Star: 25300, 本周新增 Star: 2566
链接:https://github.com/langgenius/dify
项目介绍:Dify 是一个开源的 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、Agent、模型管理、可观测性功能等,让您可以快速从原型到生产。以下是其核心功能列表:
- 工作流: 在画布上构建和测试功能强大的 AI 工作流,利用以下所有功能以及更多功能。
- 全面的模型支持: 与数百种专有/开源 LLMs 以及数十种推理提供商和自托管解决方案无缝集成,涵盖 GPT、Mistral、Llama3 以及任何与 OpenAI API 兼容的模型。
- 其他:Prompt IDE、RAG Pipeline、Agent 智能体、LLMOps 运维工具、后端即服务等
myshell-ai/OpenVoice
总 Star: 19859, 本周新增 Star: 1690
链接:https://github.com/myshell-ai/OpenVoice
项目介绍:MyShell 开发的声音 clone 工具。
自 2023 年 5 月以来,OpenVoice 一直为 myshell.ai 的即时语音克隆功能而努力。2024 年 4 月他们发布 OpenVoice V2,包含了 V1 的所有功能,并具有:
- 更好的音频质量。采用了不同的训练策略,提供更好的音频质量。
- 原生多语言支持。原生支持英语、西班牙语、法语、中文、日语和韩语。
- 商业免费使用,采用 MIT 许可发布,可自由用于商业目的。
OpenVoice V1 具有三重优势:
- 准确的音色克隆。OpenVoice 能够准确克隆参考音色,并生成多种语言和口音的语音。
- 灵活的语音风格控制。OpenVoice 允许对语音风格进行细致的控制,如情感、口音,以及其他风格参数,包括节奏、停顿和语调。
- 零样本跨语言语音克隆。生成的语音的语言和参考语音的语言均不需要出现在庞大的多语种说话人训练数据集中。
TODO: 实际使用一下。
unslothai/unsloth
总 Star: 7668, 本周新增 Star: 1679
链接:https://github.com/unslothai/unsloth
项目介绍:通过 Unshloth,可以更快速地以 80% 更少的内存对 Mistral、Gemma、Llama 2-5x 进行微调。对初学者友好。添加您的数据集,点击“Run All”,即可获得2倍更快速的微调模型,可导出到 GGUF、vLLM 或上传到 Hugging Face。
支持的模型,速度和内存使用比较如下:
- Llama-3 8b:比传统方法快2倍,内存使用减少60%
- Gemma 7b:比传统方法快2.4倍,内存使用减少71%
这些交互式笔记本对 ShareGPT ChatML / Vicuna 模板非常有用。
code100x/chess
总 Star: 1469, 本周新增 Star: 1378
链接:https://github.com/code100x/chess
项目介绍:这个项目旨在构建一个平台,在平台上人们可以:注册账号、创建新的棋局/加入现有的棋局、在比赛中让用户下棋、使用类似标准国际象棋评分的评分系统。
phidatahq/phidata
总 Star: 4476, 本周新增 Star: 1243
链接:https://github.com/phidatahq/phidata
项目介绍:Add memory, knowledge and tools to LLMs。LLM(大型语言模型)具有有限的上下文,要克服这一局限性,可以通过添加内存、知识和工具的方式:
- 内存:通过在数据库中存储聊天记录,使 LLM 能够进行长期对话。
- 知识:通过在矢量数据库中存储信息,为 LLM 提供业务上下文。
- 工具:使 LLM 能够做一些动作,如从 API 获取数据,发送电子邮件或查询数据库。
内存和知识使LLM变得更加智能,而工具使它们变得自主。
步骤 1:创建一个助手(Assistant)
步骤 2:添加工具(函数)、知识(矢量数据库)和存储(数据库)
步骤 3:使用 Streamlit、FastApi 或 Django 进行服务,构建您的人工智能应用程序
lizongying/my-tv
总 Star: 25366, 本周新增 Star: 1028
链接:https://github.com/lizongying/my-tv
项目介绍:我的电视 电视直播软件,小米电视上安装即可使用
meta-llama/PurpleLlama
总 Star: 1865, 本周新增 Star: 1010
链接:https://github.com/meta-llama/PurpleLlama
项目介绍:Set of tools to assess and improve LLM security,包括针对网络安全和输入/输出保护的工具和评估。
为什么叫 Purple(紫色)? 借鉴了网络安全领域的概念,要真正缓解生成式人工智能所面临的挑战,可能需要以攻击(红队)和防御(蓝队)的姿态来应对。紫队合作,由红队和蓝队的责任组成,是评估和缓解潜在风险的协作方法,同样的理念也适用于生成式人工智能。
1Panel-dev/MaxKB
总 Star: 3980, 本周新增 Star: 929
链接:https://github.com/1Panel-dev/MaxKB
项目介绍:💬 基于 LLM 大语言模型的知识库问答系统。开箱即用,支持快速嵌入到第三方业务系统,1Panel 官方出品。
mendableai/firecrawl
总 Star: 1942, 本周新增 Star: 869
链接:https://github.com/mendableai/firecrawl
项目介绍:Firecrawl 是一个由 Mendable.ai 构建的项目,可以爬取并将任何网站转换成适用于 LLM 的 Markdown 格式。
这个仓库目前处于早期开发阶段,作者正在将自定义模块合并到这个单一仓库中。主要目标是通过利用干净的数据来增强 LLM 响应的准确性。
Firecrawl 是一个 API 服务,接收一个网址,对其进行爬取,并将其转换为干净的 Markdown 格式。可以爬取所有可访问的子页面,并为每个页面提供干净的 Markdown,而不需要提供站点地图。
PawanOsman/ChatGPT
总 Star: 4421, 本周新增 Star: 762
链接:https://github.com/PawanOsman/ChatGPT
项目介绍:提供了一个免费的自托管 API 访问 ChatGPT(gpt-3.5-turbo)的逆向代理。它使用 OpenAI 的结构,因此无需更改代码即可使用。
提供了安装和自托管 ChatGPT API 的指南,包括使用 Docker 或手动在您的 PC/服务器上运行,以及在 Android 手机上使用 Termux 运行。
pytorch/torchtune
总 Star: 2801, 本周新增 Star: 720
链接:https://github.com/pytorch/torchtune
项目介绍:一个基于PyTorch的库,专门用于轻松创建、微调和实验大型语言模型(LLMs)。这个库的主要特点和功能包括:
- 原生PyTorch实现的流行LLMs:
torchtune
使用可组合和模块化的构建块,提供了流行的大型语言模型的原生PyTorch实现。 - 易于使用的微调技术:
torchtune
提供了一些流行的微调技术(如LoRA和QLoRA)的易于使用和可修改的训练配方。这些配方不需要额外的训练器或框架,只需要PyTorch。 - YAML配置:
torchtune
使用YAML配置文件,可以轻松配置训练、评估、量化或推理配方。 - 对多种数据集格式和提示模板的内置支持:
torchtune
内置了对许多流行数据集格式和提示模板的支持,帮助你快速开始训练。
此外,torchtune
还专注于与生态系统中的流行工具和库集成,例如Hugging Face Hub(用于访问模型权重)、EleutherAI的LM Eval Harness(用于评估训练模型)、Hugging Face Datasets(用于访问训练和评估数据集)、PyTorch FSDP(用于分布式训练)、torchao(用于低精度数据类型和训练后量化技术)、Weights & Biases(用于记录指标和检查点,跟踪训练进度)、ExecuTorch(用于使用微调模型进行设备上的推理)以及bitsandbytes(用于单设备配方的低内存优化器)。
上榜可能是因为是 torchtune
宣布正式支持Meta Llama3,并提供了Llama3-8B-Instruct的LoRA、QLoRA和全面微调的方法。
meta-llama/llama-recipes
总 Star: 9177, 本周新增 Star: 617
链接:https://github.com/meta-llama/llama-recipes
项目介绍:Meta Llama 3 模型的配套产品。该存储库的目标是提供一个可扩展的库,用于微调 Meta Llama 模型,以及一些示例脚本和笔记本,以便快速开始在各种用例中使用模型,包括域适应的微调和使用 Meta Llama 和 LLM 生态系统中的其他工具构建基于 LLM 的应用程序。这里的示例展示了如何在本地、云端和本地运行 Meta Llama。
CorentinTh/it-tools
总 Star: 11226, 本周新增 Star: 580
链接:https://github.com/CorentinTh/it-tools
项目介绍:Collection of handy online tools for developers, with great UX.
meta-llama/codellama
总 Star: 15013, 本周新增 Star: 565
链接:https://github.com/meta-llama/codellama
项目介绍:Code Llama 是一个基于 Llama 2 的大型代码语言模型系列,提供了在开放模型中最先进的性能、填充能力、对大型输入上下文的支持以及零-shot指令跟随能力,用于编程任务。
2023年8月,Meta 继发布用于生成文本、翻译语言和创建音频的人工智能模型之后,开源了 Code Llama。
Code Llama 是从 Llama-2 基础模型微调而来,共有三个版本:基础模型(Code Llama)、Python 专业化模型(Code Llama - Python)和指令跟随模型(Code Llama - Instruct),分别具有 7B、13B 和 34B 的参数量。类似于 GitHub Copilot 和 Amazon CodeWhisperer,以及 StarCoder、StableCode 和 PolyCoder 等开源人工智能代码生成器,Code Llama 可以跨多种编程语言完成代码并调试现有代码,包括 Python、C、Java、PHP、 Typescript、C# 和 Bash。
所有模型都是在 16k 个标记的序列上进行训练,并在最多 100k 个标记的输入上显示出改进。
7B 和 13B 的 Code Llama 和 Code Llama - Instruct 变体支持基于周围内容的填充。
与 Llama 2 一样,其对模型的微调版本也应用了相当多的安全措施。