本周Github上有趣的11个项目

本周Github上有趣的项目:

1、AI 网关
速度极快的 AI 网关。通过 1 个快速且友好的 API 升读 100 多个大模型。

Portkey 的 AI 网关是您的应用程序和托管 LLM 之间的接口。它通过统一的 API 简化了对 OpenAI、Anthropic、Mistral、LLama2、Anyscale、Google Gemini 等的 API 请求。

  •  速度极快(快 9.9 倍),占用空间极小(已安装约 45kb)
  •   跨多个模型、提供程序和密钥的负载平衡
  •   回退确保您的应用程序保持弹性
  •   默认情况下具有指数回退的 自动重试
  •  插件中间件根据需要
  •  经过超过100B 标记


2、spin
使用 Docker 在本地复制您的生产环境。只需运行“spin”即可。真的就是这么简单。

不要再浪费时间去解决已经解决的生产问题。Spin 是一个 bash 实用程序,可以改善使用 Docker 的团队的用户体验。在任何计算机上复制任何环境,无论它们运行的​​是 MacOS、Windows 还是 Linux。使用 Docker 从单个配置文件集中您的基础设施。

Spin 是一个包装脚本,可显着改善开发人员使用 Docker 时的体验。Spin 使用 Docker 官方支持的功能和最佳实践。

3、Triplit
一个在服务器和客户端上运行的全栈同步数据库。可插拔存储(indexeddb、sqlite、持久对象),通过 websockets 同步,并与您最喜欢的框架(React、Solid、Vue、Svelte)配合使用。 

Triplit 提供了一个实时同步数据存储,您可以将其作为 Typescript 包放入您的应用程序中。Triplit 负责将您的数据存储在服务器上,并智能地将您的查询同步到您的客户端。我们将这种类型的系统称为“全栈数据库” ——您可以在此处观看我们向本地优先社区介绍的有关此新范例的演示。

特点:

  • 实时同步增量更新和属性级别的冲突解决
  • 由成熟的客户端数据库支持的本地缓存
  • 带有管理仪表板的耐用服务器端存储
  • 可插入存储提供程序,例如 SQLite、IndexedDB、LevelDB、Memory 等
  • 乐观的更新让每次互动都感觉快捷
  •  复杂数据模型的关系查询
  •  具有自动重新连接和一致性保证的离线模式
  • 失败更新的回滚和重试管理
  •  数据安全和 Typescript 自动完成的模式
  •  服务器上强制执行的读取和写入授权
  •  由CRDT 提供支持的协作/多人游戏
  • 使用增量补丁以最小的网络流量实现低延迟
  • 用于在普通 Javascript 和 React 中查询和更改数据的简单 API

4、RemoteStorage
RemoteStorage 是一个简单的库,它将 localStorage API 与远程服务器相结合,以跨浏览器和设备保存数据。 

在 localStorage 中存储数据很有用,但当您存储需要在多个设备或浏览器之间共享的数据时,这并不是一个好的解决方案。
例如,假设您想向所有注册您产品的新用户显示欢迎模式。如果您使用 localStorage 来跟踪用户是否已经看到此模式,则您的用户每次切换设备或浏览器时都将继续一遍又一遍地获得体验。

这就是 RemoteStorage 的用武之地。使用与 localStorage 相同的 API,remoteStorage 允许您轻松地动态读写数据,同时跨浏览器和设备维护状态,以提供更好的用户体验。

  • 简单的 API(与 localStorage 相同)
  • 适用于所有 Javascript 框架
  • 轻量级(缩小到 1 kB)
  • 开源服务器和客户端(MIT 许可证)
  • 免费托管社区服务器


5、Plotteus
Plotteus 是一个 JavaScript 数据可视化库,旨在帮助您讲述更好的故事。

用于讲述数据故事。通过完全控制故事的呈现方式、具有一流对象稳定性的无缝过渡以及内置响应能力,将数据驱动的故事提升到一个新的水平。


本周Github上有趣的Python项目

1、marimo
一个反应式 Python 笔记本,可复制、git 友好且可作为脚本或应用程序部署。

marimo 是 Python 的反应式笔记本。它允许您快速试验数据和模型,对笔记本的正确性充满信心地进行编码,并将笔记本生产为管道或交互式 Web 应用程序。

特点:

  • 反应式:运行一个单元格,marimo会自动更新所有受影响的单元格和输出
  • 交互式:将滑块、表格、绘图等绑定到 Python - 无需回调
  • 可重现:无隐藏状态,确定性执行顺序
  • 可执行文件:作为Python脚本执行
  • 可共享:部署为应用程序
  • git-Friendly:存储为.py文件

2、surya
任何语言的精确行级文本检测和识别 (OCR)。

Surya 是一个多语言文档 OCR 工具包。它可以做到:

  • 准确的行级文本检测
  • 文本识别(即将推出)
  • 表格和图表检测(即将推出)

它适用于一系列文档和语言

3、Pathway
Pathway 是一个高吞吐量、低延迟的数据处理框架,可以为您处理实时数据和流。 

无缝结合 LLM 应用程序的批处理、流处理和实时 API。每当收到新的输入和请求时,Pathway 的分布式运行时都会提供数据管道的最新结果。

首先,Pathway 的设计初衷是为面临实时数据源(需要对新数据做出快速反应)的 Python 开发人员和 ML/AI 工程师提供救星(或至少节省时间)。尽管如此,Pathway 仍然是一个强大的工具,可以用于很多事情。如果您想在 Python 中进行流处理、构建 AI 数据管道,或者如果您正在寻找下一个 Python 数据处理框架,请继续阅读。

Pathway 提供了 Python 中的高级编程接口,用于定义数据转换、聚合和数据流上的其他操作。借助 Pathway,您可以轻松设计和部署复杂的数据工作流程,从而高效地实时处理大量数据。

Pathway 可与各种数据源和接收器(例如 Kafka、CSV 文件、SQL/noSQL 数据库和 REST API)互操作,允许您连接和处理来自不同存储系统的数据。

Pathway 的典型用例包括实时数据处理、ETL(提取、转换、加载)管道、数据分析、监控、异常检测和推荐。Pathway 还可以独立为实时 LLM 应用程序提供轻型 LLMOps 堆栈的骨干。

在 Pathway 中,数据以表格的形式表示。实时数据流也被视为表。该库提供了一组丰富的操作,例如过滤、联接、分组和窗口。


4、DataMapPlot
创建漂亮的数据地图图。

DataMapPlot 是一个小型库,旨在帮助您制作漂亮的数据地图,以便包含在演示文稿、海报和论文中。重点是用尽可能少的工作量生成美观的静态图。您所需要做的就是在数据地图中标记点簇,DataMapPlot 将处理剩下的事情。虽然这涉及到大多数美学选择的自动化,但该库提供了多种方法来根据您的需求定制结果图。


5、Python-Redlines
Docx 跟踪了 Python 生态系统的变更红线。

该项目的主要目标是解决开源生态系统中围绕.docx文档比较工具的重大差距。目前,比较和生成红线文档(突出版本之间变化的文档)的过程很复杂,并且主要由商业软件主导。这些工具虽然有效,但通常在可访问性和集成灵活性方面存在成本障碍和限制。

Python-redlines旨在使 .docx 运行跟踪变更红线的能力民主化,为开源社区提供.docx无需商业软件即可创建红线的工具。这将使更多的法律黑客和业余创新者尝试并创建适用于企业和法律的工具。


6、phidata
使用 LLM 函数调用构建自主助手。

Phidata 是一个通过让 LLM 调用函数来构建自主助手的框架。

助手可以通过函数调用智能地选择行动方案来完成任何任务。例如,要回答文档中的问题,助手可以调用函数来搜索文档、综合结果并返回答案。

助手配备内置内存、知识、存储和工具,可以轻松构建 RAG、自主或多模式应用程序,例如:

  • 知识助手:回答文档(PDF、文本)中的问题
  • 数据助手:通过运行 SQL 查询来分析数据。
  • Python 助手:通过运行 python 代码来执行任务。
  • 股票助理:分析股票和研究公司。
  • 营销助理:提供营销见解、文案和内容创意。
  • 客户助理:使用产品描述和购买历史记录回答客户的疑问。
  • 旅行助理:通过研究目的地帮助计划旅行。
  • 膳食准备助理:通过研究食谱并将配料添加到购物清单来帮助计划膳食。

构建助手后,使用Streamlit、FastApi或Django来构建您的 AI 应用程序。