本周Github有趣的项目、工具和库
1、Bend
Bend 是一种大规模并行的高级编程语言。
与 CUDA 和 Metal 等低级替代方案不同,Bend 具有 Python 和 Haskell 等富有表现力的语言的感觉和功能,包括快速对象分配、具有完全闭包支持的高阶函数、无限制递归,甚至延续。
然而,它在 GPU 等大规模并行硬件上运行,基于核心数实现近乎线性的加速,并且没有显式并行注释:没有线程生成、没有锁、互斥、原子。Bend 由HVM2运行时提供支持。
2、HVM2
一种大规模并行、最佳功能运行时,使用 Rust。
高阶虚拟机 2(HVM2)是一个大规模并行交互组合器 评估器。通过将高级语言(如 Python 和 Haskell)程序编译到 HVM,人们可以直接在 GPU 等大规模并行硬件上运行这些语言,并获得近乎理想的加速。
HVM2 是HVM1的后继者,与其前身相比,HVM2 更简单、更快,最重要的是更正确。
此存储库提供用于指定 HVM2 网络的低级 IR 语言以及从该语言到 C 和 CUDA 的编译器。它不适合直接供人类使用。如果您正在寻找与 HVM2 交互的高级语言,请改为查看Bend。
3、Quary
面向工程师的开源 BI。
借助 Quary,工程师可以:
- 连接到他们的数据库
- 编写 SQL 查询来转换、组织和记录数据库中的表
- 创建图表、仪表板和报告(正在开发中)
- 通过版本控制进行迭代测试、协作和重构
- 将组织好的、记录好的模型部署到数据库
Quary 中的资产类型
定义以下资产类型并将其作为代码进行管理:
- 来源:定义输入到 Quary 的外部数据源,例如数据库表、平面文件或 API(使用 DuckDB)。
- 模型:使用 SQL 将来自源的原始数据转换为可供分析的数据集,这让工程师可以将复杂的查询分解为原子组件。
- 图表:使用 SQL 创建数据的可视化表示。
- 仪表板(WIP):将多个图表组合成一个视图,让工程师可以在一个地方监控和分析数据。
- 报告(WIP):创建详细报告,与您的团队或利益相关者分享见解和发现。
安装
- Quary 是 VSCode 扩展(接口)和基于 Rust 的 CLI(核心)
- VSCode 扩展插件可以在这里安装。请注意,它依赖于正在安装的 CLI。
4、Vinix
Vinix 致力于用V 编程语言编写一个现代、快速且实用的操作系统。、
Vinix 是关于什么的?
- 保持代码尽可能简单易懂,同时不牺牲性能并优先考虑代码正确性。
- 制作一个可以在真实硬件上运行的可用操作系统,而不仅仅是在模拟器或虚拟机上运行。
- 针对现代 64 位架构、CPU 功能和多核计算。
- 保持与 Linux 良好的源级兼容性,以便轻松移植程序。
- 探索裸机编程中的 V 功能并改进编译器以满足裸机编程中不常见的需求。
- 正玩得开心。
5、PinePods
PinePods 是一个基于 Rust 的播客管理系统,它管理播客并支持多用户,并依赖于一个中央数据库,客户端可以连接到它。它基于浏览器,由于所有内容都存储在服务器上,因此您的播客和设置在各个设备之间随您而动。它适用于移动设备,也可以与 Nextcloud 服务器同步,因此您也可以使用 Antennapod 等外部应用程序!
- 它允许使用 Podcast Index 或 iTunes 搜索新播客,并提供现代风格的 UI 来浏览节目和剧集
- 此外,Pinepods 提供简单的用户管理,可由多个用户同时使用浏览器或应用程序版本。
- 所有内容都保存在 Mysql(替代数据库支持已列入计划)数据库中,包括用户设置、播客和剧集。
6、 Experts.js
创建和部署 OpenAI 助手并将它们链接在一起作为工具的最简单方法,以创建具有扩展内存和注重细节的高级多 AI 代理系统。
OpenAI 推出的全新 Assistants API 树立了行业新标准,大大超越了广泛采用的 Chat Completions API。它代表了 AI 代理可用性以及工程师与 LLM 交互方式的重大飞跃。
与尖端的GPT-4o模型相结合,Assistant 现在可以在一个称为线程的托管上下文窗口内引用附加文件和图像作为知识源。
与自定义 GPT不同,Assistant 支持最多 256,000 个字符的指令,可与 128 种工具集成,并利用创新的Vector Store API 实现每个 Assistant 最多可对 10,000 个文件进行高效文件搜索。
Experts.js 旨在通过消除管理Run对象的复杂性并允许将助手作为工具链接在一起来简化此新 API 的使用。
const thread = await Thread.create(); |
更重要的是,Experts.js 引入了助手作为工具,从而可以创建多 AI 代理系统。
- 每个工具都是一个 LLM 支持的助手,可以代表其父助手或工具承担专门的角色或完成复杂的任务。
- 允许复杂的编排工作流程或编排一系列紧密结合的任务。
在概述部分,我们展示了一个三层代理系统,它可以回答以下类型的问题。这些示例使用了 Experts.js 框架的大多数功能。
- 现有产品总量是多少?
- 显示包含所有顶级类别总数的条形图。
- 为成熟的漫画爱好者寻找男士配饰。
7、Farfalle
开源 AI 搜索引擎。
运行本地 LLM(llama3、gemma、mistral、phi3)或使用云模型(Groq/Llama3、OpenAI/gpt4-o)
特征
- 使用多个搜索提供商进行搜索(Tavily、Searxng)
- 使用云模型回答问题(OpenAI/gpt4-o、OpenAI/gpt3.5-turbo、Groq/Llama3)
- 使用本地模型(llama3、mistral、gemma、phi3)回答问题
8、Langtrace
开源和开放遥测 (OTEL) 可观察 LLM 应用程序。
Langtrace 是一款开源可观察性软件,可让您捕获、调试和分析利用 LLM API、矢量数据库和基于 LLM 的框架的所有应用程序的跟踪和指标。
要在本地运行 Langtrace,您必须运行三个服务:
- Next.js 应用
- Postgres 数据库
- Clickhouse 数据库
9、llama3.np
是 Llama 3 模型的纯 NumPy 实现。
- 有关英文的详细解释,请参阅纯NumPy实现的 Llama 3。[英文版]
- 我们使用 NumPy来训练我们的第一个 3 级样本。[韩文版]
10、AgentOps
AgentOps 帮助开发人员构建、评估和监控 AI 代理。用于从原型到生产构建代理的工具。
仅用 3 行代码即可重播会话
初始化 AgentOps 客户端并自动获取每个 LLM 调用的分析。
import agentops |
所有会话均可在AgentOps 仪表板上查看。
11、LLM 模型和 RAG 动手指南
本指南专为有兴趣使用检索增强生成 (RAG) 开发基本对话式 AI 解决方案的技术团队而设计。
此存储库提供了使用大型语言模型 (LLM) 和 RAG 技术构建对话式 AI 系统的全面指南。内容结合了理论知识和实际代码实现,适合具有基础技术背景的人。
本指南主要面向致力于使用 RAG 解决方案开发基础对话式 AI 的技术团队。它提供了技术方面的基本介绍。本指南可帮助任何具有基本技术背景的人涉足 AI 领域。本指南结合了理论、基础知识和代码实现。
12、FunClip
阿里巴巴的开源、准确且易于使用的视频语音识别和剪辑工具,集成基于 LLM 的 AI 剪辑。
13、cover-agent
一种用于自动测试生成和代码覆盖率增强的 AI 驱动工具!
这个存储库包含 TestGen-LLM 的第一个已知实现,在 Meta 的论文《使用大型语言模型实现自动化单元测试改进》中进行了描述。
这个重点项目利用生成式人工智能来自动化和增强测试生成(目前主要是单元测试),旨在简化开发工作流程。Cover-Agent 可以通过终端运行,并计划集成到流行的 CI 平台中。
此工具是一套更广泛的实用程序的一部分,旨在自动创建软件项目的单元测试。它利用先进的生成式 AI 模型,旨在简化和加快测试过程,确保高质量的软件开发。该系统由几个组件组成:
- 测试运行器:执行命令或脚本来运行测试套件并生成代码覆盖率报告。
- 覆盖率解析器:验证代码覆盖率是否随着测试的增加而增加,确保新测试有助于整体测试有效性。
- 提示生成器:从代码库收集必要的数据并构建要传递给大型语言模型 (LLM) 的提示。
- AI Caller:与 LLM 交互以根据提供的提示生成测试。
14、llama3-from-scratch
在这个文件中,从头开始实现了 llama3,每次一个张量和矩阵乘法。
15、Docker-Blue-Green-Runner
从 Dockerfiles 开始的简单零停机蓝绿部署
- 纯Docker(无需二进制安装文件和复杂配置)
- 通过您的项目及其唯一的 Dockerfile,Docker-Blue-Green-Runner 使用wait-for-it、consul-template和Nginx管理持续部署 (CD) 过程的剩余部分。
- 专注于单机零宕机部署。