本周Github16个有趣项目Mem0等

有趣的项目、工具和库

1、Mem0
个性化人工智能的内存层。

Mem0 为大型语言模型 (LLM) 提供智能、自适应的内存层,通过保留和利用不同应用程序中的上下文信息来增强个性化 AI 体验。这种增强的内存功能对于从客户支持和医疗诊断到自主系统和个性化内容推荐等各种应用程序都至关重要,它使 AI 能够记住用户偏好、适应个人需求并随着时间的推移不断改进。

核心功能

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


2、modelsmith
Python 库,可让您从 Anthropic、Google Vertex AI 和 OpenAI 模型中获取 Pydantic 模型和 Python 类型形式的结构化响应

特点

  • 结构化响应:将 Pydantic 模型和 Python 类型指定为 LLM 响应的输出。
  • 模板:在提示中使用 Jinja2 模板来允许复杂的提示逻辑。
  • 默认和自定义提示:提供了默认提示模板,但您也可以指定自己的提示模板。
  • 重试逻辑:重试次数由用户配置。
  • 验证:LLM 的输出将根据您请求的响应模型进行验证。错误将反馈给 LLM,以尝试纠正任何验证失败。

目前它允许您使用以下类别的模型:

  • AnthropicModel (与 Anthropic 的模型集一起使用,例如claude-3-haiku、claude-3-sonnet和)claude-3-opusclaude-3_5-sonnet
  • OpenAIModel(与 OpenAI 的模型集一起使用,例如gpt-3.5-turbo、gpt-4和gpt-4o)
  • VertexAIChatModel(与 Google Vertex AI 的聊天模型一起使用,例如chat-bison)
  • VertexAITextGenerationModel(与 Google Vertex AI 的文本生成模型一起使用,例如text-bison)
  • VertexAIGenerativeModel(与 Google Vertex AI 的生成模型一起使用,例如gemini-pro)

Modelsmith 为所有这些提供了统一的接口。它被设计为可扩展的,将来可以适应其他模型。


3、DinkyDash
儿童家庭仪表盘。

DinkyDash 是一款简单、可自定义的仪表板,旨在显示面向家庭的信息,例如重复任务、特殊事件倒计时和每日轮换。它非常适合安装在带有显示器的 Raspberry Pi 上,并放在家中的公共区域,为所有家庭成员提供一目了然的信息。
DinkyDash 非常适合快速回答孩子们喜欢一遍又一遍问的那些问题。

  • “还有几天到圣诞节?”
  • “轮到谁倒垃圾了?”
  • “我的生日聚会什么时候举行?”

仪表板显示:
  • 今天的日期
  • 重复的任务或角色(例如,轮到谁洗碗)
  • 重要日期(生日、节假日、活动)的倒计时

DinkyDash 使用 Flask 构建,可以使用 YAML 文件轻松配置,从而无需深入研究代码即可轻松更新和维护。

4、PDF-Extract-Kit
用于高质量 PDF 内容提取的综合工具包。

PDF 文档包含丰富的知识,但从 PDF 中提取高质量内容并非易事。为了解决这个问题,我们将 PDF 内容提取任务分解为几个部分:

  • 布局检测:使用LayoutLMv3模型进行区域检测,如images、tables、titles、text等;
  • 公式检​​测:使用YOLOv8检测公式,包括inline formulas和isolated formulas;
  • 公式识别:使用UniMERNet进行公式识别;
  • 光学字符识别:使用PaddleOCR进行文本识别;

结果可视化

通过对多种 PDF 文档进行注释,我们为layout detection和训练了稳健的模型formula detection。我们的流程对学术论文、教科书、研究报告和财务报表等多种类型的 PDF 文档都实现了准确的提取结果,即使在扫描模糊或有水印的情况下也具有很强的稳健性。


5、llama-agentic-system
Llama Stack API 的 Agentic 组件。

有了这个软件仓库,您就可以将 Llama 3.1 作为一个能够执行 "代理 "任务的系统来运行,例如:

  • 将任务分解并执行多步骤推理。
  • 使用工具的能力
    • 内置:模型具有搜索或代码解释器等工具的内置知识
    • 零样本:模型可以学习使用以前未见过的上下文工具定义来调用工具

此外,我们希望将安全评估从模型级别转移到整个系统级别。这使得底层模型能够保持广泛的可操纵性,并适应需要不同级别安全保护的用例。
其中一项安全保护措施由 Llama Guard 提供。默认情况下,Llama Guard 用于输入和输出过滤。但是,系统可以配置为修改此默认设置。例如,在经常观察到拒绝良性提示的情况下,建议使用 Llama Guard 进行输出过滤,只要您的用例满足安全要求即可。

Rust语言开源项目:
6、json-threat-protection.rs
防御恶意 JSON 负载
此包提供了根据一组约束来验证 JSON 负载的功能。

  • JSON 结构的最大深度。
  • 字符串的最大长度。
  • 数组中的最大条目数。
  • 对象中的最大条目数。
  • 对象条目名称的最大长度。
  • 是否允许重复的对象条目名称。

此包的典型用例是在部署在独立位置的应用程序的业务逻辑之前验证 JSON 有效负载。

7、rustaceanvim
在 Neovim 中增强你的 Rust 体验!rust-tools.nvim 的一个经过大量修改的分支

8、jiff
Jiff 是一个 Rust 日期时间库,它鼓励您跳入成功的深渊。该库的重点是提供难以误用且性能合理的高级日期时间原语。Jiff 支持与时区数据库的自动无缝集成、DST 感知算法和舍入、无损格式化和解析时区感知日期时间、选择加入 Serde 支持等等。

其他:
9、NativeLink
NativeLink 是一个开源高性能构建缓存和远程执行服务器,与 Bazel、Buck2、Reclient 和其他与 RBE 兼容的构建系统兼容。它提供了显著加快的构建速度、降低的测试不稳定性以及专门的硬件。

10、piku
你见过的最小的 PaaS。Piku 允许你对自己的服务器进行 git push 部署。

11、git-spice
git-spice 是一种用于堆叠 Git 分支的工具。它让你可以管理和浏览分支堆栈,方便地修改和变基,以及从它们创建 GitHub Pull 请求。

12、studio
开源的、本地优先的 Webflow 替代方案。直接在你的实时 React 网站中设计并发布你的代码更改。

13、Mako
一个非常快的生产级 Web 捆绑器。

14、Tabby
Tabby 是一个自托管的 AI 编码助手,提供 GitHub Copilot 的开源和本地替代方案。

15、Klama
 由 AI 驱动的 CLI 助手,用于解决与 DevOps 相关的问题。

16、Kardinal
Kardinal 是在 Kubernetes 中启动开发和测试环境的最轻量级方法。部署必要的绝对最少的资源,并在一个集群中实现开发、测试和质量保证。