15個本週Github上大模型等有趣專案

banq發表於2024-04-26

15個本週Github上大模型等有趣的專案、工具和庫

1、Aider
在終端中進行 AI 配對程式設計

  • Aider 是一個命令列工具,可讓您將程式與 LLM 配對,以編輯儲存在本地 git 儲存庫中的程式碼。
  • Aider 將直接編輯本地原始檔中的程式碼,並 使用合理的提交訊息git 提交更改。
  • 您可以開始一個新專案或使用現有的 git 儲存庫。
  • Aider 的獨特之處在於它允許您請求對現有的更大的程式碼庫進行更改。
  • Aider 與 GPT 3.5、GPT-4、GPT-4 Turbo with Vision 和 Claude 3 Opus 配合良好。它還支援連線到幾乎任何 LLM。

以下是一些示例記錄,展示瞭如何透過聊天來aider使用 GPT-4 編寫和編輯程式碼。
  • Hello World Flask 應用程式:從頭開始,讓助手建立一個具有各種端點的簡單 Flask 應用程式,例如將兩個數字相加並計算斐波那契數列。
  • Javascript 遊戲修改:深入研究現有的開源儲存庫,並獲得助手的幫助來理解它並進行修改。
  • 透過除錯進行復雜的多檔案更改:Aider 進行跨多個原始檔協調的複雜程式碼更改,並透過檢查錯誤輸出和文件片段來解決錯誤。
  • 建立黑盒測試用例:Aider 建立一個“黑盒”測試用例,無需訪問正在測試的方法的原始碼,僅使用 基於 tree-sitter 的儲存庫的高階對映

2、Morphic
具有生成式使用者介面的人工智慧驅動的搜尋引擎。

請注意,該儲存庫與官方網站morphic.sh之間存在差異。官方網站是該儲存庫的一個分支,具有身份驗證等附加功能,這是提供線上服務所必需的。 Morphic 的核心原始碼位於此儲存庫中,它的設計目的是輕鬆構建和部署。使用 Morphic 時,請記住儲存庫和網站的不同角色。

技術:

  • 應用程式框架:Next.js
  • 文字流/生成 UI:Vercel AI SDK
  • 生成模型:OpenAI
  • 搜尋 API:Tavily AI
  • 元件庫:shadcn/ui
  • 無頭元件原語:Radix UI
  • 樣式:Tailwind CSS


3、CoreNet
蘋果公司用於訓練深度神經網路的庫。

CoreNet 是一個深度神經網路工具包,允許研究人員和工程師為各種任務訓練標準和新穎的小型和大型模型,包括基礎模型(例如 CLIP 和 LLM)、物件分類、物件檢測和語義分割。


4、Cria
在本地執行大模型,儘可能減少摩擦。

Cria 是一個透過 Python 以程式設計方式執行大型語言模型的庫。 Cria 的構建使您需要儘可能少的配置 - 即使具有更高階的功能。

  • 簡單:開箱即用,無需配置。入門只需五行程式碼。
  • 簡潔:編寫更少的程式碼以節省時間並避免重複。
  • 高效:在您自己的ollama例項或子流程中使用高階功能。

5、lunatik
Lunatik 是一個使用 Lua 編寫 Linux 核心指令碼的框架。

Lunatik 是一個用 Lua 編寫 Linux 核心指令碼的框架。它由以下部分組成:

  • 一個裝置驅動程式(用 Lua 編寫 =)為在核心中執行而修改的 Lua 直譯器;
  • 一個命令列工具,用於從使用者空間載入和執行指令碼以及管理執行時環境;
  • 一個 C API,用於從核心載入和執行指令碼以及管理執行時環境;
  • 以及 Lua API,用於將核心設施與 Lua 指令碼繫結。


6、Captable
開源 Captable,Carta、Pully、Angelist 等的替代品。

Captable(股權結構表)、Carta、Pully和Angelist都是與初創公司和股權管理相關的工具或平臺。

  1. Captable(股權結構表):一份股權結構表是一份記錄了公司所有股東、股東所持股份、每輪融資後的股權結構等資訊的文件。這種表格是公司管理者和投資者用來了解公司股權分佈的重要工具。
  2. Carta:Carta是一家提供股權管理和投資者服務的公司。它提供了一個線上平臺,幫助公司管理其股權結構、員工持股、融資資訊等。透過Carta,公司可以方便地進行股權發放、管理股票期權計劃、跟蹤投資者持股等。
  3. Pully:Pully是一種股權管理工具,旨在幫助初創公司更輕鬆地管理其股權結構和股東資訊。它提供了一套工具,讓公司能夠追蹤股權變化、管理股權發放和轉讓等。
  4. Angelist:Angelist是一個連線初創公司和投資者的平臺,它提供了一系列工具,幫助初創公司進行融資、招募人才等。在Angelist上,投資者可以瀏覽各種投資機會,而初創公司則可以透過該平臺尋找投資者、釋出招聘資訊等。

Captable, Inc.將遵循 "Open Cap Table Coalition "格式,這是一種開源標準,旨在防止鎖定並降低律師費。不作承諾。

  • 資料可移植性:每個聯盟成員都將努力遵守開放資本表格式 (OCF),以便創始人和初創企業運營商可以透過單一資本表格式使用 OCF 提供商、投資者和公司。簡而言之,這意味著律師事務所、風險投資公司和其他利益相關者之間不再有混亂的股權結構表交換。
  • 訪問格式:看一下開放資本表格式的第一次迭代,這是一種開源格式,旨在開啟資本資料管理領域更具協作性的新時代,旨在優先考慮公司不斷變化的需求並幫助生態系統變得更加高效

7、Tiron
Tiron是一種易於使用且速度儘可能快的自動化工具。它使用 SSH 實現無代理,並具有用於任務輸出的 TUI。這裡有一個 Tiron 配置示例。

特徵

  • 無 YAML: Tiron 使用HCL作為配置語言。
  • 無代理:透過使用 SSH,Tiron 連線到遠端計算機,無需先安裝代理。
  • TUI: Tiron 有一個內建的終端使用者介面來顯示正在執行的任務的輸出。
  • 正確性: Tiron 會預先驗證所有 Runbook 檔案,並在任務開始執行之前丟擲錯誤。
  • 速度:在驗證所有輸入時,Tiron 還會預先填充任務的所有資料,並將它們一次性傳送到遠端計算機,以節省客戶端和遠端計算機之間的往返時間。
  • LSP: Tiron 提供了一個 LSP 伺服器,可以提供語法高亮、linting、格式化、程式碼跳轉、補全等功能。


8、bridge
Django 的自動化基礎設施。

Bridge 使您能夠無縫執行和部署完整 Django 專案所需的所有基礎設施。

  • 兩行復制貼上配置
  • 自動配置並連線本地Postgres資料庫
  • 本地Redis例項自動配置並連線
  • 本地 Celery 和 Celery Flower 例項自動配置和連線
  • 輕鬆使用一命令將配置部署到渲染

9、Penzai
用於構建、編輯和視覺化神經網路的 JAX 研究工具包。

Penzai 是一個 JAX 庫,用於將模型編寫為清晰的函式式 pytree 資料結構,以及用於視覺化、修改和分析模型的工具。 Penzai 專注於讓經過訓練的模型變得更容易進行操作,使其成為涉及逆向工程或消融模型元件、檢查和探測內部啟用、執行模型手術、除錯架構等研究的絕佳選擇。 (但如果您只想構建和訓練模型,您也可以這樣做!)

盆(“筆”,托盤) 栽(“在”,種植) -一種古老的中國藝術,以微型方式形成樹木和景觀,也稱為盆景,是日本盆景藝術的祖先。

Penzai 的結構是模組化工具的集合,這些工具一起設計,但每個工具都可以獨立使用:

  • penzai.nn( pz.nn):一個基於組合器的宣告性神經網路庫,也是 Flax、Haiku、Keras 或 Equinox 等其他神經網路庫的替代方案,它公開了模型 pytree 中模型前向傳遞的完整結構。這意味著您可以透過漂亮地列印模型來檢視模型所做的一切,並使用jax.tree_util.與 Equinox 一樣,沒有什麼魔力:模型只是底層可呼叫的 pytree。
  • penzai.treescope( pz.ts):一個超級強大的互動式 Python 漂亮印表機,它可以作為普通 IPython/Colab 渲染器的直接替代品。它旨在幫助理解 Penzai 模型和其他深度巢狀的 JAX pytree,並內建對視覺化任意維 NDArray 的支援。
  • penzai.core.selectors( pz.select):pytree 瑞士軍刀,將 JAX 的.at[...].set(...)語法推廣到任意型別驅動的 pytree 遍歷,並且可以輕鬆地對 Penzai 模型和其他資料結構進行復雜的重寫或即時修補。
  • penzai.core.named_axes( pz.nx):一個輕量級的命名軸系統,它將普通的 JAX 函式提升為對命名軸進行向量化,並允許您在命名和位置程式設計風格之間無縫切換,而無需學習新的陣列 API。
  • penzai.data_effects( pz.de):一個用於輔助引數、隨機數和狀態變數的選擇系統,它基於 pytree 遍歷而構建,讓您能夠掌控一切,而不會妨礙編寫或使用模型。


10、BeyondLLM
構建、評估和觀察 LLM 應用程式。

Beyond LLM 提供了一個用於實驗、評估和部署檢索增強生成 (RAG) 系統的一體化工具包,透過自動整合、可定製的評估指標以及對各種大型語言模型 (LLM) 的支援來簡化流程特定需求,最終旨在減少法學碩士幻覺風險並提高可靠性。

演示如何使用 Beyond LLM 以不到 8 行的程式碼建立 Chat with YouTube 影片 RAG 應用程式。這8行程式碼包括:

  • 獲取自定義資料來源
  • 檢索檔案
  • 生成 LLM 回覆
  • 評估嵌入
  • 評估 LLM 回覆


11、Hashquery
用於定義和查詢資料倉儲中的 BI 模型的 Python 框架。

Hashquery 是一個用於定義和查詢資料倉儲中的 BI 模型的 Python 框架。
Hashquery 表示式在 Python 中定義,編譯為 SQL,並直接針對資料倉儲執行。它能夠表達複雜的、多層的資料查詢,遠遠超出了標準 SQL 的能力。它本身與上游語義層整合,並且可以與Hashboard一起用作無頭 BI 介面。

  • hashquery如何獲取資料? Hashquery 模型被編譯為 SQL 並直接針對您的資料倉儲執行。後端快取結果以提高效能,但沒有中間資料儲存 - 計算全部發生在您自己的基礎設施上。
  • 這與 LookML 或 Malloy 等其他分析 DSL 有何不同? 我們構建 hashquery 是因為我們喜歡 Malloy 等資料建模語言的表達能力和強大功能,但希望避免自定義 DSL 的可移植性和開發人員體驗缺陷。 Hashquery 是一個可以在任何地方執行的 Python 包,它可以用作查詢語言、語義層或無頭 BI API,或者同時用作三者。
  • 我需要成為 Hashboard 使用者才能使用 hashquery 嗎? 在測試期間,hashquery SQL 編譯器無法在本地執行,因此您需要在 Hashboard 內部定義資料連線並使用其 API 來執行查詢。但我們確實計劃在不久的將來使完整的 hashquery 堆疊可在本地執行。


12、torchtune
用於 LLM 微調的 Native-PyTorch 庫。

torchtune 是一個 PyTorch 原生庫,可以輕鬆地使用 LLM 進行創作、微調和實驗。我們很高興地宣佈我們的 alpha 版本!
torchtune 提供:

  • 使用可組合和模組化構建塊對流行的 LLM 進行本機 PyTorch 實現
  • 針對流行微調技術(LoRA、QLoRA)的易於使用且可破解的培訓方案 - 沒有培訓師,沒有框架,只有 PyTorch!
  • YAML 配置可輕鬆配置訓練、評估、量化或推理方法
  • 內建支援多種流行的資料集格式和提示模板,幫助您快速開始訓練

torchtune 專注於與生態系統中的流行工具和庫整合。這些只是一些示例,更多示例正在開發中:
  • Hugging Face Hub用於訪問模型權重
  • EleutherAI 的 LM Eval Harness用於評估經過訓練的模型
  • 擁抱人臉資料集訪問訓練和評估資料集
  • 用於分散式訓練的PyTorch FSDP
  • torchao用於較低精度的資料型別和訓練後量化技術
  • 用於記錄指標和檢查點以及跟蹤訓練進度的權重和偏差
  • ExecuTorch使用微調模型進行裝置上推理
  • 用於我們的單裝置配方的低記憶體最佳化器[url=https://huggingface.co/docs/bitsandbytes/main/en/index]的bitsandbytes[/url]


13、InstructLab
命令列介面。使用它與模型聊天或訓練模型(訓練消耗分類資料)

InstructLab 為大型語言模型 (LLM) 使用了一種新穎的基於合成資料的對齊調整方法。Instruct Lab 中的“ lab ”代表聊天機器人 的大型對齊。

ilab是一個命令列介面 (CLI) 工具,允許您:

  1. 下載預先訓練的大型語言模型 (LLM)。
  2. 與 LLM 聊天。

要向預訓練的法學碩士新增新知識和技能,您必須向配套分類庫新增新資訊。完成後,您可以:
  1. 用於ilab根據本地taxonomy儲存庫中的更改生成新的綜合訓練資料。
  2. 使用新的訓練資料重新訓練法學碩士。
  3. 與重新培訓的法學碩士聊天以檢視結果。

整個過程在工作流程圖中以圖形方式描述。


14、Portr
專為團隊設計的開源 ngrok 替代方案

Portr 是一種隧道解決方案,允許您將本地 http、tcp 或 websocket 連線公開到公共網際網路。它在底層利用 SSH 遠端埠轉發來安全地建立隧道連線。

Portr 主要是為希望在公共 URL 上公開開發伺服器的小型團隊而設計的。不建議與生產伺服器一起使用。

15、anthropic-cookbook
展示了使用 Claude 的一些有趣且有效的方法。

Anthropic Cookbook 提供了旨在幫助開發人員使用 Claude 進行構建的程式碼和指南,並提供了可複製的程式碼片段,您可以輕鬆地將其整合到自己的專案中。

要充分利用本食譜中的示例,您需要一個 Anthropic API 金鑰(在此處免費註冊)。
雖然程式碼示例主要是用 Python 編寫的,但這些概念可以適用於任何支援與 Anthropic API 互動的程式語言。

  • 工具使用:瞭解如何將 Claude 與外部工具和功能整合以擴充套件其功能。建立客戶服務代理,為 Claude 提供計算器訪問許可權,並瞭解如何提示 Claude進行 SQL 查詢
  • 檢索增強生成:學習如何透過從向量資料庫維基百科特定網頁網際網路檢索的資料來補充 Claude 的知識並提高 Claude 響應的準確性和相關性。
  • 引文:瞭解如何促使 Claude 在其回覆中引用來源。
  • 子代理:學習如何將 Haiku 作為子代理與 Opus 結合使用。
  • 嵌入:瞭解如何使用 Voyage AI 處理嵌入。
  • 與 Claude 一起探索視覺:這本烹飪書提供了影像入門技巧和最佳實踐技術,以確保影像的最高質量效能。瞭解如何使用影像有效地提示 Claude 執行諸如解釋和分析圖表從表單中提取內容等任務。
  • 使用 Claude 生成影像:這本食譜將向您展示如何讓 Claude 透過穩定擴散生成影像。
  • 將 PDF 上傳到 Claude:瞭解如何解析 PDF 並將其作為文字傳遞給 Claude
  • 自動化評估:瞭解如何使用 Claude 來自動執行即時評估過程。
  • 啟用 JSON 模式:確保您始終透過這本快速簡單的食譜獲得 JSON。或者使用工具來獲得結構化輸出。
  • 使用 Claude 建立稽核過濾器:瞭解如何使用 Claude 為您的應用程式建立內容稽核過濾器。


 

相關文章