本週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) 過程的剩餘部分。
- 專注於單機零當機部署。