玖叶教程网

前端编程开发入门

「Github一周热点32期」本周最火的5个开源项目

GitHub 一周热点汇总第32期(2024/07/14-07/20) ,本期内容包括动画图解算法教程、用LLM写完整报告、爬虫和和浏览器自动化库、自托管的AI编码助手和个性化AI记忆层,一起来看具体内容吧。

#1 hello-algo

  • 项目名称:hello-algo - 动画图解算法教程
  • GitHub 链接:https://github.com/krahets/hello-algo
  • 上周 Star 数:7600+

hello-algo旨在打造一本开源免费、新手友好的数据结构与算法入门教程。

一般来说算法给人的印象是相对枯燥和深奥,而本书通过动画图解的方式,让复杂的算法活了起来,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。

源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。项目中提供了12 种主流编程语言的源码,包括Java、Python、C++、Go、JavaScript、Rust 等 。只要你熟悉其中任意一门编程语言,就可以直接拿来上手使用。

项目提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。

另外本项目还有同步的书籍,我之前也给大家推荐过,还送过福利,书确实还是挺不错的。

项目一直保持着很不错的 热度,最近这一周又再次迎来一波热度高峰。


#2 storm

  • 项目名称:storm - LLM写完整报告
  • GitHub 链接:https://github.com/stanford-oval/storm
  • 上周 Star 数:2000+

STORM 是一个由大型语言模型(LLM)驱动的知识整合系统,它能够从零开始研究一个主题,并生成带有引用的完整报告。


STORM 的工作原理

STORM 将生成带引用的长篇文章分为两个步骤:

  1. 写作前阶段:系统进行基于互联网的调研,收集参考资料并生成提纲。
  2. 写作阶段:系统利用提纲和参考文献生成带有引文的全文文章。

STORM 将研究过程自动化的核心定义为自动提出好的问题。直接提示语言模型提出问题效果不佳。为了提高问题的深度和广度,STORM 采用了两种策略:

  1. 观点引导的提问:给定输入主题,STORM 通过调查类似主题的现有文章来发现不同的观点,并使用它们来控制提问过程。
  2. 模拟对话:STORM 模拟维基百科作者和基于互联网资源的主题专家之间的对话,以使语言模型能够更新对主题的理解并提出后续问题。

基于两个阶段的分离,STORM 使用dspy以高度模块化的方式实现。

最简单的使用本项目的方式就是通过pip来安装,当然也可以通过源码来安装,这样更便于自行修改和定制。

pip install knowledge-storm

虽然该系统无法生成通常需要大量编辑的可发布文章,但经验丰富的维基百科编辑发现它在撰写前阶段很有帮助。

#3 crawlee-python

  • 项目名称:crawlee-python - 爬虫和和浏览器自动化库
  • GitHub 链接:https://github.com/apify/crawlee-python
  • 上周 Star 数:1900+

本项目是crawlee的python库,Crawlee — 一个用于 Python 的网页抓取和浏览器自动化库,用于构建可靠的爬虫。提取 AI、LLM、RAG 或 GPT 的数据。从网站下载 HTML、PDF、JPG、PNG 和其他文件。适用于 BeautifulSoup、Playwright 和原始 HTTP。有头模式和无头模式。具有代理旋转功能。

crawlee 原先是 基于NodeJs的,所以通过NPM来安装,现在推出了python的版本,也方便了广大的python开发者,安装方式非常简单,通过PIP安装即可。

pip install crawlee

还有更多功能的附加可选依赖项,都将作为软件包附加内容提供,比如计划解析 HTML 并使用 CSS 选择器,请为crawlee额外安装beautifulsoup

pip install 'crawlee[beautifulsoup,playwright]'



验证Crawlee是否安装成功:

python -c 'import crawlee; print(crawlee.__version__)'

开始使用 Crawlee 的最快方法是使用 Crawlee CLI 并选择其中一个准备好的模版

pipx run crawlee create my-crawler
#如果已经装好crawlee
crawlee create my-crawler

以下是 的一些能力特点:

  • HTTP 和无头浏览器抓取的统一界面。
  • 根据可用的系统资源自动并行抓取。
  • 用 Python 编写,带有类型提示增强 DX(IDE 自动完成)并减少错误(静态类型检查)。
  • 出现错误或被阻止时自动重试。
  • 集成代理轮换和会话管理。
  • 可配置的请求路由将 URL 直接发送到适当的处理程序。
  • 要抓取的URL 的持久队列。
  • 表格数据和文件的可插入存储。
  • 强大的错误处理

#4 tabby

  • 项目名称:tabby - 自托管的AI编码助手
  • GitHub 链接:https://github.com/TabbyML/tabby
  • 上周 Star 数:1300+

Tabby 是一款自托管的 AI 编码助手,为 GitHub Copilot 提供开源和本地替代方案。它具有许多与GitHub Copilot类似的关键功能。本项目的几个主要特性包括:

  • 自包含,无需 DBMS 或云服务。
  • OpenAPI接口,易于与现有基础设施(例如Cloud IDE)集成。
  • 支持消费级 GPU。

现在在AI编码助手这个领域真的非常非常卷,就拿国内来说几乎每个涉足AI的大厂都有自己的产品。产品力和产品体验的角度Tabby不一定有什么特别优势,比较引人注目的还是开源和可以自托管这两点。

当然项目一直在不断进化功能,从Codestral集成到Answer Engine的引入,Tabby的功能不断更新,为开发者带来一次又一次的惊喜。

启动 Tabby 服务器的最简单方法是使用以下 Docker 命令:

docker run -it \\
  --gpus all -p 8080:8080 -v $HOME/.tabby:/data \\
  tabbyml/tabby \\
  serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct

有没有发现,它用的chat模型是阿里的qwen2。

#5 mem0

  • 项目名称:mem0 - 个性化AI记忆
  • GitHub 链接:https://github.com/mem0ai/mem0
  • 上周 Star 数:1200 +

Mem0 可以用来开发长期、短期记忆,它能记住用户的偏好、过去的交互、事情的进展,可以为应用构建适应性的学习体验。使用场景包括虚拟陪伴、生产力工具、健康关怀或 AI Agent 客户支持等。

简单的说,Mem0 为大语言模型提供了一个智能、自我改进的记忆层,实现了跨应用的个性化 AI 体验。其核心功能包括多层次记忆、自适应个性化、开发者友好的 API、跨平台一致性,并且你可以在本地计算机上运行这个程序。

Mem0 是 RAG 发展的下一个阶段,相比 RAG 的核心区别:关注实体和实体关系;关注最近、最相关的;上下文连续性;适应性学习;动态更新信息。而普通 RAG 只是单纯的从静态的文档中检索信息。

核心功能包括:

  • 多级内存:用户、会话和 AI 代理内存保留
  • 自适应个性化:基于交互的持续改进
  • 开发人员友好型 API:轻松集成到各种应用程序
  • 跨平台一致性:跨设备的统一行为
  • 托管服务:无忧托管解决方案

在mem0的文档中还提供了一些例子来方便大家更好的理解其作用,比如个人AI助理、AI旅行助手、客服AI助手等,都包含说明和 示例的代码。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言