Post on: 2024-5-15Last edited: 2024-5-19Words 00 min

type
status
date
slug
summary
tags
category
icon
password
😀
前言:
2024.5-月度GitHub仓库榜,个人向,也就是说是这个月我用过的项目中,我最喜欢的5个项目,分享给大家~

📝 仓库介绍

1.open-webui / open-webui

open-webui
open-webuiUpdated Sep 24, 2024
是一个LLM的用户友好型WebUI(LLM即大语言模型,WebUI即网络产品界面设计)。Open WebUI是一个可扩展、功能丰富、用户友好的自托管WebUI,旨在完全离线操作。它支持各种LLM运行程序,包括Ollama和OpenAI兼容的API。有关更多信息,请务必查看官方Open WebUI文档
Open WebUI有着功能丰富的聊天界面,提供了多种便捷的功能,包括模型管理、主题定制、代码高亮、Markdown 和 LaTeX 支持、本地 RAG 集成、网页浏览、提示支持、RLHF 注释、会话标记、模型下载和删除、多模型支持、多模态支持、模型文件构建、多模型对话、多用户管理等。该界面还支持语音输入、配置式文本到语音端点、高级参数控制、图像生成集成、OpenAI API 集成、API 密钥生成、外部 Ollama 服务器连接、多 Ollama 实例负载均衡、多用户管理等功能,并提供了安全认证、权限控制、后端反向代理支持、多语言支持等特性。

使用默认配置安装(四种方案任选其一)

  1. (推荐)如果本地已装有Ollama, 运行以下指令:
    1. 直接在浏览器搜索“Ollama”即可找到官网并安装,目前支持macOS,Linux和Windows。安装好Ollama后,运行Ollama run xxx即可和本地模型对话,无需联网,如果本地没有这个模型,它会自动下载(下载当然需要联网hhh)。推荐安装qwen、llama2、llama3,用轻薄本的CPU也能运行,所以带轻薄本出门办公的小伙伴即使遇到无法上网的情况,也能使用大模型了。
      notion image
      只不过,在后端和模型对话不够舒适,所以我们需要前端的WebUI,它能够在浏览器上使用,这就得靠open-webui了。你安装完Ollama后就可以用上面的指令在Docker上安装open-webui了,它会从你的本地IP开一个3000端口,用浏览器打开http://localhost:3000/http://127.0.0.1:3000/即可。点开“模型文件”一栏,可导入和导出模型,还能去OpenWebUI社区下载各种各样的预设模型,比如Ai Writing Tutor。
      notion image
      notion image
  1. 如果本地未装有Ollama, 运行以下指令:
    1. 仅用于OpenAI API使用的安装:
      1. 使用绑定的Ollama支持安装Open WebUI:
        1. 使用一个容器映像将Open WebUI与Ollama捆绑在一起,允许通过单个命令进行简化设置。

      2.LlamaFamily / Llama-Chinese

      Llama-Chinese
      LlamaFamilyUpdated Sep 24, 2024
      旨在提供一种优雅且高效的方式来处理中文文本数据。它提供了一系列功能强大的工具和库,帮助用户在处理中文文本时更加便捷。这个项目的独特之处在于它不仅提供了基本的文本处理功能,还深入探讨了中文文本特有的一些挑战和需求。
      该项目的主要特点和功能包括:
      1. 分词工具:提供了快速且准确的中文分词功能,可以将中文文本按照词语进行分割,方便后续处理。
      1. 文本清洗:支持对中文文本进行清洗和预处理,去除特殊符号、停用词等,以提高后续处理的效果。
      1. 文本向量化:提供了将中文文本转换为向量表示的功能,支持多种向量化方法,包括词袋模型、TF-IDF 等,帮助用户将文本数据转换为可供机器学习模型使用的格式。
      1. 文本相似度计算:支持计算两段文本之间的相似度,可以用于文本匹配、推荐系统等场景。
      1. 情感分析:提供了情感分析的功能,可以判断一段文本的情感倾向,如积极、消极或中性。
      1. 中文 NLP 支持:为中文自然语言处理(NLP)任务提供了一些基础的支持,包括词性标注、命名实体识别等。
      有条件能够亲手跑这个项目的小伙伴,重点看该项目GitHub仓库的模型预训练模型微调模型量化三个模块。其中模型预训练,从根本上解决了llama原版模型缺少中文预训练的问题,为此,该仓库为llama中文社区提供了模型预训练脚本预训练实现代码、DeepSpeed加速(分别针对单卡多卡训练),以及效果度量指标;关于模型微调,分环境准备、数据准备、微调脚本和加载微调模型四步走;模型量化,完成微调后的模型量化,这样方便以更少的计算资源运行。普通的电脑算力一般是不够的,不要瞎搞。llama中文社区有算力提供,价格不算太高。
      llama中文社区于5月15日发布了支持ollama运行的Llama3-Chinese-8B-Instruct,可以在我介绍的前一个项目open-webui运行。
      然而,这些并不是最重要的。我介绍这个项目主要是想分享它的llama中文社区,社区有模型、算力、项目、应用等栏,还有Llama3在线体验。社区主页标出开了发者们的愿景:Llama模型的开源无疑极大促进了大模型技术的发展,我们致力于构建一个开放平台,能够让所有的开发者与技术爱好者一起共创Llama开源生态。从大模型到小模型,从文本到多模态,从软件到硬件算法优化,我们期望开源能够带给全人类以AI普惠。在一个科技爆发的时代,加入Llama Family,与技术一同进步,与社区一同前行,一起迈向AGI!
      那么,我已经没有什么可以介绍嘞,你们自己上网去看~~~
      notion image

      3.HVision-NKU / StoryDiffusion 🤗

      StoryDiffusion
      HVision-NKUUpdated Sep 24, 2024
      是完全开源的文本-漫画生成器。有高性能版本(显存>24g)和低性能版本(显存<24g)。在高性能版本下,用NVIDIA 2×A10G large生成一组10图连环漫画大概只需两分半,用A100G只需半分钟左右。当然,注意把提示词写规范,提示词仅支持英文。电脑显卡性能不够好的可以用开发者提供的huggingface网页版,反正我GPU13.7g的3060显卡是不行,就算的低性能版本也得跑半天,只能缩小图片尺寸到512×512以下,这样响应速度会快一点。如果你注重数据隐私,可以用jupyter notebook自行部署,或者复制该项目的huggingface空间(Duplicate this Space)为个人私密空间再使用该私密空间。
      StoryDiffusion可以通过生成一致的图像和视频来创建一个神奇的故事(连环画),该项目主要有两部分:
      1. 一致的自我关注,用于长距离序列上的字符一致的图像生成。它是可热插拔的,与所有基于SD1.5和SDXL的图像扩散模型兼容。对于当前的实现,用户需要为一致的自我关注模块提供至少3个文本提示。建议至少5-6个文本提示,以便更好地安排布局;
      1. 用于长距离视频生成的运动预测器,在压缩的图像语义空间中预测条件图像之间的运动,实现更大的运动预测。
      请注意,目前开源的版本只是测试版本0.01,以后会有更加惊艳的功能——图像到视频生成,大致原理是利用一致的自我关注机制生成的图像,在这些图像之间无缝转换来扩展创建视频的过程。这可以被认为是一种两阶段的长视频生成方法,将这两部分结合起来可以生成非常长且高质量的AIGC视频,该GitHub仓库页面展有图片生成示例,敬请期待这个功能吧!
      总之,目前的测试版只是生成连环画就够我们玩了,它的各张图像的一致性远远高于Stable Diffusion,期待它图片-视频生成模块的加入(希望它能超越TMElyralab/MuseV)!
      notion image
      notion image
      notion image
      notion image

      4.TMElyralab / MuseV 🤗

      MuseV
      TMElyralabUpdated Sep 24, 2024
      是一个开源图片-视频生成器。它可以将以人物为中心的图片(漫画或真实照片均可)扩展成视频,且扩展时常可自行设置,角色各部分的运动幅度可通过提示词输入自行调整,包括五官的微动幅度(这里可以参考官方提供的两个案例)。MuseV项目是我已知的最好的开源图片-视频生成器。
      但是,值得注意的是,该项目需要巨大的显存,寻常电脑根本跑不动,12g显存已经有点吃力了,经过我的测试,就连NVIDIA 2×A10G large跑起来也很费劲儿,生成2秒的6fps视频就要耗时90秒,难以想象生成视频短篇需要多少时间和金钱(huggingface的NVIDIA 2×A10G large耗资$3.00/hour)。不过不要灰心,会有人优化该项目,据说已经有人实现了使得它支持8g显存的优化方法,以后有时间我会回到这里把它添上。
      电脑显卡性能不佳的小伙伴,如果不想花钱,可以试用项目开发者发布的线上版本:HuggingfaceSpace,我也在huggingface部署过空间,终端是看不到输入的非文本内容和输出的图片的。除非该空间主人为了故意要偷看你不惜花一些手段,所以关于隐私问题你也可基本放心。所以开发者部署的项目线上版本对不将项目商用的用户来说是不二之选,只不过有时队列会繁忙,甚至连接断开导致运行失败,这很耗费耐心。

      电脑本地部署

      首先克隆仓库,如果使用镜像后git clone 仍然断开,直接在GitHub仓库点击绿色按钮Code后选最下面的“Download ZIP”,下载完压缩包后解压到你想放的目录,然后最好规范一下重命名文件夹,去掉后面的“-main”。
      然后选取以下几个方案之一
      方案1: Docker部署
      运行Docker后,缺少的模型会自行下载,请注意网络代理,huggingface需要特定网络环境,否则请手动安装模型。
      方案2: conda部署
      在终端一口气安装好几GB的模型,寻常网络是难以成功的,容易断开,这时设置增加响应时间并不能从根本上解决问题,因为还是会有很长时间停止不下载,只不过是没给你彻底断开而已。所以只能自己从终端报错处找到模型安装网址,用IDM等好用的下载器来下载模型,再放到项目要求的模型目录下(自己读setup.py的代码,我不信你找不到模型目录),当然,修改代码中的模型目录为你喜欢的别的目录也行。手动安装模型的方法在该GitHub仓库的安装教程下方有详细说明,仔细就看就是了,别问我~~~
      notion image
      那么这个项目有什么用呢?它得配合上我要介绍的下一个项目

      5.TMElyralab / MuseTalk 🤗

      MuseTalk
      TMElyralabUpdated Sep 24, 2024
      项目能够将带有角色的视频和音频结合,生成对上口型的有声视频,而且视频中的口动不模糊,后者是其他大多数同类项目难以实现的。
      开发者发布的huggingface space爆显存了,但这不是问题,你只要在复制该空间时选规格较高的硬盘就行了,A10G就行了。
      所以,最近网上比较热门的数字人短视频,你也可以低成本实现(按时计费的显卡租金总数肯定低于开通科技软件的会员所需资金,不然那些科技公司赚什么)。下面通过开源项目(非科技公司的付费软件)实现数字人短视频。

      制作有声数字人短视频:

      step1:使用ComfyUIStable Diffusion,通过从C站下载的合适的生图模型,以及输入合适的提示词,生成你需要的角色图片;
      step2:使用MuseV项目,用该图片生成生动的视频;
      step3:准备音频,可以自行录音或网络下载,也可以用我以前介绍过的GPT-SoVITS项目训练语音模型,生成你需要的音色的音频;
      step4:使用MuseTalk项目,将用MuseV生成的视频和你所准备的音频整合,这一步画面的口型会和音频对上,尽管放心。
      如此,一条简单的数字人短视频就完成了!熟练使用ComfyUI的小伙伴也。可以把MuseV、MuseTalk和GPT-SoVITS集成到ComfyUI工作流,这样跑完整个数字人短视频的过程就只占用一个本地端口了,同时也方便用内网穿透技术为整个数字人项目创建一个隧道,以供其他设备运行该项目。未来我会特别出一期讲解如何实现内网穿透。

      6.VinciGit00 / Scrapegraph-ai

      Scrapegraph-ai
      ScrapeGraphAIUpdated Sep 24, 2024
      是一个用于网页抓取的Python库,它使用LLM和直接图形逻辑为网站和本地文档(XML、HTML、JSON等)创建抓取管道。
      可用于从网站(或本地文件)中提取信息的三个主要抓取模式:
      1. SmartScraperGraph:只需要用户提示和输入源的单页抓取;
      1. SearchGraph:从搜索引擎的前n个搜索结果中提取信息的多页抓取;
      1. SpeechGraph:从网站中提取信息并生成音频文件的单页抓取器。
      这些模块的使用方式为”from scrapegraphai.graphs import xxx”。

      安装方法:

      打开终端或,运行以下指令即可:

      模型调用:

      1. 大模型(LLM)调用
        1. 调用Ollama的本地模型
          调用OpenAI等非本地的大模型
      1. 文本转语音模型(TTS)调用

        运行示例:

        我克隆了仓库,修改并并运行了在目录“…\Scrapegraph-ai\examples\openai”下的示例“speech_graph_openai.py”,只需修改模型调用和抓取网站的网址处的代码即可。我加入的自己的OpenAI API,抓取网站还是默认示例,运行片刻,得到一条语音生成,以及以下结果:
        其中显示了token使用情况,以及消耗的USD。

        🤗 总结归纳

        发现有意思的项目,和大家分享~
        大家多多支持这些项目的作者,去GitHub上给项目加星标吧!

        📎 参考文章

         
        💡
        有关这些项目的安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~

        Loading...
        如何启动你的GitHub之旅?

        🗒️如何启动你的GitHub之旅?

        本文旨在为读者提供一份详尽的Github使用指南,内容包括如何创建和管理一个Github账户,创建和克隆仓库,提交和推送更改,利用分支与合并请求,以及如何在Github社区中互动。


        2024.4-月度GitHub仓库榜

        🗒️2024.4-月度GitHub仓库榜

        2024.4-月度GitHub仓库榜,个人向。 1.    tangly1024 / NotionNext 2.    Comfyanonymous / ComfyUI 3.    ultralytics / yolov5 4.    ManimCommunity / manim 5.    RocketChat / Rocket.Chat 6.    facebookresearch / audiocraft 7.    kovidgoyal / calibre 8.    krahets / hello-algo 9.    d2l-ai / d2l-zh 10.   YunYouJun / cook