本週20個Github有趣專案如llmware等

banq發表於2024-05-17

有趣的專案、工具和庫


1、llmware
提供企業級基於LLM的開發框架、工具和微調模型。

從快速構建 POC 到適用於企業的可擴充套件 LLM 應用程式,LLMWare 包含您所需的所有工具。
llmware是一個包含 50 多個模型的整合框架,用於快速開發基於 LLM 的應用程式,包括檢索增強生成 (RAG) 和代理工作流的多步驟編排。
該專案提供了一套全面的工具,任何人(從初學者到最成熟的人工智慧開發人員)都可以使用它來快速構建工業級、基於知識的企業法學碩士應用程式。
我們的具體重點是輕鬆整合開源小型專業模型並安全可靠地連線企業知識。


編寫程式碼llmware基於幾個主要概念:

  • 模型目錄:無論底層實現如何,都可以透過輕鬆查詢的方式訪問所有模型。
  • 庫包:大規模攝取、組織和索引知識集合 - 解析、文字塊和嵌入。
  • 查詢:混合了文字、語義、混合、後設資料和自定義過濾器的查詢庫。
  • Prompt with Sources:將知識檢索與法學碩士推理相結合的最簡單方法。
  • RAG 最佳化模型- 專為 RAG 工作流程整合和本地執行而設計的 1-7B 引數模型。
  • 易於擴充套件的資料庫選項- 從膝上型電腦到並行叢集的整合資料儲存。
  • 具有函式呼叫和 SLIM 模型的代理

模型:

  • SLIM 模型系列:針對函式呼叫和多步驟、多模型代理工作流程進行微調的小型專用模型。
  • DRAGON 模型系列: 生產級 RAG 最佳化的 6-7B 引數模型 - “在...上交付 RAG”領先的基礎基礎模型。
  • BLING 模型系列: 基於 CPU 的小型 RAG 最佳化、遵循指令的 1B-3B 引數模型。
  • 行業 BERT 模型: 開箱即用的定製訓練句子轉換器嵌入模型針對以下行業進行了微調:保險、合同、資產管理、SEC。
  • GGUF 量化:我們提供許多 SLIM、DRAGON 和 BLING 模型的“gguf”和“工具”版本,針對 CPU 部署進行了最佳化。

克隆儲存庫後,根據您的 IDE 環境,您可能需要執行以下額外步驟:

  1. 安裝requirements.txt - 在/llmware路徑內 - 例如,pip3 install -r llmware/requirements.txt (如果將requirements.txt檔案複製到專案資料夾的根目錄中,那麼許多IDE將自動安裝需求和/或者您可以執行規範pip3 install -r requirements.txt)
  2. 執行示例- 將示例 .py 檔案複製到根專案路徑中。 (我們已經看到幾個 IDE 會嘗試從巢狀的 /example 路徑以互動方式執行,然後無法訪問 /llmware 模組。我們將考慮使用一個小型自動化指令碼來修復此問題,但目前,簡單的修復方法是隻需將要執行的示例複製到根路徑中)。
  3. 安裝向量資料庫- 要使用向量資料庫,您需要單獨安裝該向量資料庫的 python 庫,例如 、pip3 install pymilvus或pip3 install chromadb。

2、MindNLP
基於MindSpore的易於使用、高效能的NLP和LLM框架,相容Huggingface的模型和資料集。

MindNLP 目前支援業界領先的大語言模型(LLM),包括Llama、GLM、RWKV等。大語言模型相關的支援,包括預訓練、微調、推理演示示例,可以在“llm”目錄。

預訓練模型支援Huggingface Transformer-like api,包括BERTRobertaGPT2T5等 60 多個模型。

MindNLP 支援語言模型、機器翻譯、問答、情感分析、序列標註、摘要等 NLP 任務,您可以透過示例訪問它們。

MindNLP是一個基於MindSpore的開源NLP庫。它支援解決自然語言處理任務的平臺,包含許多 NLP 中的常見方法。它可以幫助研究人員和開發人員更方便、更快速地構建和訓練模型。

master 分支與MindSpore master一起使用。
主要特點

  • 資料處理全面:將多個經典NLP資料集打包成友好的模組,方便使用,如Multi30k、SQuAD、CoNLL等。
  • 友好的NLP模型工具集:MindNLP提供各種可配置元件。使用MindNLP來定製模型是很友好的。
  • 易於使用的引擎:MindNLP 簡化了 MindSpore 中複雜的訓練過程。它支援訓練器和評估器介面,可以輕鬆地訓練和評估模型。


3、storm
一個由 LLM 驅動的知識管理系統,用於研究主題並生成帶有引文的完整報告。

STORM 是一個大模型系統,可以根據網際網路搜尋從頭開始編寫類似維基百科的文章。
雖然該系統無法生成通常需要大量編輯的可發表文章,但經驗豐富的維基百科編輯發現它在預寫作階段很有幫助。

STORM 將生成帶有引用的長文章分為兩個步驟:

  1. 預寫階段:系統進行基於網際網路的研究,收集參考資料並生成大綱。
  2. 寫作階段:系統使用大綱和參考文獻生成帶有引文的全文文章。

STORM 認為研究過程自動化的核心是自動提出好的問題。直接提示語言模型提出問題效果並不好。為了提高問題的深度和廣度,STORM 採用了兩種策略:

  1. 觀點引導提問:給定輸入主題,STORM 透過調查類似主題的現有文章來發現不同的觀點,並使用它們來控制提問過程。
  2. 模擬對話:STORM 模擬維基百科作者和基於網際網路資源的主題專家之間的對話,使語言模型能夠更新其對主題的理解並提出後續問題。

基於兩個階段的分離,STORM 使用dspy以高度模組化的方式實現。

STORM 是一個知識管理引擎,由 4 個模組組成:

  1. 知識管理模組:收集有關給定主題的廣泛資訊。
  2. 大綱生成模組:透過為策劃的知識生成分層大綱來組織收集的資訊。
  3. 文章生成模組:用收集到的資訊填充生成的大綱。
  4. 文章潤色模組:完善和增強書面文章,以更好地呈現。

cap
實現即時螢幕共享。開源且跨平臺。 

Cap 是 Loom 的開源替代品。它是一款影片訊息工具,可讓您在幾秒鐘內錄製、編輯和共享影片。

在這個由 Turborepo 驅動的 monorepo 中,我們結合使用了 Rust、React (Next.js)、TypeScript、Tauri、Drizzle (ORM)、MySQL、TailwindCSS。
應用:

  • desktop:一個Tauri (Rust) 應用程式,在前端使用Next.js。
  • web:Next.js網路應用程式。

套餐:
  • ui:React共享元件庫。
  • utils:React共享實用程式庫。
  • tsconfig:tsconfig整個 monorepo 使用的共享配置。
  • database:ReactDrizzle ORM共享資料庫庫。
  • config:eslint配置(包括eslint-config-next、eslint-config-prettier整個 monorepo 中使用的其他配置)。

4、Pipecat
用於語音和多模式會話 AI 的開源框架。

pipecat是構建語音(和多模式)對話代理的框架。比如私人教練、會議助理、兒童講故事玩具、客戶支援機器人、攝入流程和尖刻的社交夥伴。


5、PGMQ
輕量級訊息佇列。類似於 AWS SQS 和 RSMQ,但在 Postgres 上。 

特徵

  • 輕量級 - 沒有後臺工作人員或外部依賴項,只有打包在擴充套件中的 Postgres 函式
  • 保證在可見性超時內將訊息“恰好一次”傳遞給消費者
  • API 與AWS SQSRSMQ同等
  • 訊息保留在佇列中,直到明確刪除
  • 訊息可以存檔,而不是刪除,以實現長期保留和可重玩性

pgmq 保證在可見性超時內只傳送一次訊息。可見性超時是指訊息在被消費者讀取後對其他消費者不可見的時間量。如果訊息在可見性超時內沒有被刪除或存檔,它將再次變得可見並且可以被其他消費者讀取。

如果要使用 pgmq 分割槽佇列,則需要安裝 pg_partman。

6、Freeter
最智慧的計算機工作方式。

Freeter是一個免費的開源組織者,適合那些在計算機上工作的人。將工作所需的一切收集在一個地方,按專案和工作流程進行組織,並透過Ctrl or Cmd+ Shift+F按鍵或托盤圖示快速訪問它們。在專案和工作流程之間輕鬆切換,並專注於當前需要做的事情。

支援的作業系統

  • Linux;大多數發行版;英特爾 64 位。
  • Windows 10 及更高版本;英特爾 64 位。
  • Mac 作業系統 10.15 及更高版本;英特爾和蘋果晶片。


7、goldboot
桌面的不可變基礎設施!

人們通常不會經常從頭開始重新安裝作業系統。當他們這樣做的時候,一接觸到純淨的桌面或終端,混亂就隨之而來。設定被更改,應用程式被安裝,臃腫的軟體被刪除,檔案被下載到這裡或那裡。透過手動點選滑鼠和按鍵,系統通常會從原始狀態變為新的 "定製 "狀態。

這種標準方法就像可變型基礎設施,也就是說,你要反覆改變系統的狀態,直到它最終滿足你的需求。一旦出現問題,就必須進行必要的更改,使其恢復正常。

對大多數人來說,可變基礎架構一直都很好用,直到出現重大故障或不得不遷移到新電腦上。在這種情況下,他們可能最終會從頭開始,重新應用他們的更改(這次可能會略有不同)。

老練的計算機精英們可能會採用不可變基礎架構。這意味著,他們每次啟動系統時,系統的狀態幾乎與之前完全相同。執行過程中的任何更改都會在重啟時消失。這種方法確實有一些好處,但需要使用者付出相當大的努力。

goldboot 是一款為真實硬體構建機器映像的工具,它可以幫助你實現接近不可變的基礎架構,而無需為自己增加大量額外工作。

在 goldboot 方法中,你要為每臺要部署的機器建立一個宣告式配置檔案。使用該配置,goldboot 會在本地機器或 Github Actions 等 CI 平臺上構建一個映象。生成的映像可以透過 USB 驅動器或 PXE 啟動部署到真實硬體上。

警告:該工具完全未編譯,只能用於測試!請自行承擔風險!

8、Kaytu 
Kaytu CLI 透過找到完美的伺服器大小來幫助您節省雲成本。 Kaytu 分析歷史使用情況並提供量身定製的建議,確保您只需為所需的資源付費。

概述

  • 易於使用:一行命令。無需修改工作負載或更改配置即可使用。
  • 基於實際使用情況:透過雲原生監控 (CloudWatch) 分析過去 7 天的使用情況,包括高階 AWS CloudWatch 指標(如果可用)。
  • 自定義:針對區域、CPU、記憶體、網路效能、儲存、許可證等進行最佳化,以滿足您的特定要求。
  • 安全——無需共享憑證;從客戶端提取所需的指標
  • 開放核心理念使用時無需擔心鎖定。 CLI已經開源,Server端也即將開源。
  • 即將推出:非互動模式、Azure 支援、GPU 最佳化、Burst 例項的信用利用率以及來自 Prometheus 的可觀測性資料


9、Greenmask
PostgreSQL 資料庫匿名工具。

Greenmask是一個功能強大的開源實用程式,專為邏輯資料庫備份轉儲、混淆和恢復而設計。它提供了廣泛的備份、匿名化和資料遮蔽功能。

Greenmask 完全用純 Go 編寫,幷包含移植的 PostgreSQL 庫,使其獨立於平臺。該工具是無狀態的,不需要對資料庫架構進行任何更改。它被設計為高度可定製並向後相容現有的 PostgreSQL 實用程式。

特徵

  • 跨平臺- 由於其基於 Go 的架構消除了平臺依賴性,因此可以在任何平臺上輕鬆構建和執行。
  • 資料庫型別安全- 透過驗證資料並利用資料庫驅動程式進行編碼和解碼操作,確保資料完整性。這種方法保證了資料格式的儲存。
  • 轉換驗證和易於維護- 在混淆開發過程中,Greenmask 提供驗證警告和轉換差異功能,使您能夠在整個軟體生命週期中有效地監控和維護轉換。
  • 分割槽錶轉換繼承- 定義一次轉換配置並將其應用於分割槽表中的所有分割槽,從而簡化了混淆過程。
  • 無狀態- Greenmask 作為邏輯轉儲執行,不會影響現有的資料庫架構。
  • 向後相容- 它完全支援與現有普通 PostgreSQL 實用程式相同的功能和協議。 Greenmask 建立的轉儲可以使用 pg_restore 實用程式成功恢復。
  • 可擴充套件- 使用者可以靈活地以任何程式語言實現基於域的轉換或使用預定義的模板。
  • 宣告式- Greenmask 允許您以結構化、易於解析和可識別的格式定義配置。
  • 可整合- 將 Greenmask 無縫整合到您的 CI/CD 系統中,以實現自動資料庫混淆和恢復。
  • 並行執行- 利用並行轉儲和恢復,顯著減少交付結果所需的時間。
  • 提供多種儲存- Greenmask 為本地和遠端資料儲存提供多種儲存選項,包括目錄和類似 S3 的儲存解決方案。


10、llm-ui
LLM 的 React 庫。

特徵

  • 刪除損壞的 Markdown 語法
  • 將您自己的自定義元件新增到 LLM 輸出。
  • 節流可以消除 LLM 流式輸出中的暫停
  • 以本機幀速率渲染輸出
  • Shiki適用於每種語言的程式碼塊
  • 無頭:帶來你自己的風格


11、mactop
mactop 是一個基於終端的監控工具“top”,旨​​在顯示 Apple Silicon 晶片的實時指標。 

它提供了一種簡單有效的方法來直接從您的終端監控 CPU 和 GPU 使用情況、E 核和 P 核、功耗以及其他系統指標!

相容性

  • 僅限 Apple Silicon (ARM64)
  • macOS 蒙特利 12.3+

特徵
  • 用 Go Lang 編寫的 Apple Silicon Monitor Top(程式碼少於 1,000 行)
  • 實時CPU和GPU電量使用情況顯示。
  • 不同 CPU 叢集(E 核和 P 核)的詳細指標。
  • 記憶體使用情況和交換資訊。
  • 網路使用資訊
  • 磁碟活動讀/寫
  • 易於閱讀的終端使用者介面
  • 兩種佈局:預設佈局和替代佈局
  • 可自定義的 UI 顏色(綠色、紅色、藍色、青色、洋紅色、黃色和白色)
  • 可自定義更新間隔(預設為1000ms)
  • 支援所有 Apple Silicon 型號。


12、Glance
一個自託管儀表板,可將您的所有源放在一個位置。

各種小部件

  • RSS訂閱
  • Reddit 子版塊帖子
  • 天氣
  • 書籤
  • 來自特定頻道的最新 YouTube 影片
  • 日曆
  • 股票
  • iframe
  • Twitch 頻道和熱門遊戲
  • GitHub 釋出
  • 儲存庫概述
  • 網站監控

快速且輕便
  • 最少的 JS,沒有臃腫的框架
  • 依賴很少
  • 單個、易於分發的 <15mb 二進位制檔案,就像小型 docker 容器一樣
  • 所有請求都是並行的,未快取的頁面通常在約 1 秒內載入(取決於網際網路速度和小部件的數量)


13、Frame
Frame 是一種 Markdown 語言,用於在 Python 中建立狀態機(自動機)以及生成 UML 文件。

該專案包含用於構建框架語言轉譯器 - Framepiler的程式碼。 Framepiler 用 Rust 編寫,並將 Frame 規範文件轉換為 Python(即將推出更多語言)以及 UML 狀態圖。


14、UXsim
UXsim是一個用 Python 編寫的免費、開源的宏觀和細觀網路流量模擬器。它模擬汽車旅行者的運動和道路網路中的交通擁堵。它適合模擬大規模(例如城市規模)的交通現象。 UXsim 由於其簡單、輕量級和可定製的功能,對於科學和教育目的特別有用,但使用者可以自由地將 UXsim 用於任何目的。

15、itrm
該庫提供了多個函式,可以將資料很好地列印到終端。 

該庫提供了多個函式,用於將資料很好地列印到終端。MatPlotLib 是一個非常不錯的庫,但有時可能有點繁瑣,因為你需要的只是一些快速而骯髒的東西。

  • 每個獨立的圖都需要用 plt.figure() 語句來引入。
  • 大型資料集的渲染速度會很慢。
  • 如果在終端上以全屏方式工作,繪圖可能會把你拉到另一個視窗,這可能會令人討厭。
  • 執行任何 plt.show() 命令後,整個 python 程式和終端都會被鎖定,直到關閉所有圖形視窗。
  • 除非將圖形儲存到單獨的檔案中,否則沒有緩衝區來顯示過去執行的圖形。
  • 有時也無法使用緩衝區,例如透過 SSH 在伺服器上執行程式碼時。

16、drf-api-action
drf-api-action 使用 action_api 夾具提升了 Django Rest Framework 測試,將 REST 端點測試簡化為無縫、類似函式的體驗。
藉助 api_action ,該包使您能夠輕鬆測試 REST 端點,就像它們是常規函式一樣。
特徵:

  • 簡化測試:使用 api_action 外掛測試 DRF REST 端點,將它們視為常規函式。
  • 無縫整合:您不需要在現有伺服器程式碼中執行任何操作。
  • 輕鬆除錯:client獲取導致錯誤的真實回溯,而不是使用預設的 drf 測試物件獲取帶有錯誤程式碼的響應。
  • 分頁支援:透過使用引數輕鬆地分頁page。


17、TimesFM
TimesFM(時間序列基礎模型)是 Google Research 開發的用於時間序列預測的預訓練時間序列基礎模型。

  • 論文:用於時間序列預測的僅解碼器基礎模型,將出現在 ICML 2024 中。
  • 谷歌研究部落格

18、piko
Ngrok 的開源替代品,旨在服務生產流量並且易於託管(特別是在 Kubernetes 上)

例如,您可以使用 Piko 在客戶網路中公開服務、自帶雲 (BYOC) 服務或連線到 IoT 裝置。

代理伺服器可以託管為節點叢集,以實現容錯、擴充套件和零停機部署。

上游服務連線到 Piko 並註冊端點。然後,Piko 將透過其僅出站連線將對端點的請求路由到已註冊的上游服務。這意味著您可以在不開啟公共埠的情況下公開您的服務。

Piko 旨在服務生產流量,而不是作為測試和開發工具。例如您可以使用 Piko 來:

  • 訪問客戶網路
  • 構建自帶雲 (BYOC) 解決方案
  • 訪問物聯網裝置

為了支援這一點,Piko 可以作為節點叢集執行,以實現容錯、水平擴充套件並支援零停機部署。它還具有用於監視和除錯的可觀察性工具。

Piko 旨在輕鬆託管在 Kubernetes 上。 Piko 叢集可以作為 Kubernetes StatefulSet 託管在 HTTP 負載均衡器或 Kubernetes 閘道器後面。
上游服務連線和代理客戶端請求可以負載平衡到叢集中的任何節點,Piko 將管理將請求路由到正確的上游。

19、Snaker
用 Go 編寫的線上多人經典貪吃蛇遊戲
您可以與機器人一起玩雙人或單人遊戲

20、logdy-core
基於網路的實時日誌檢視器。使用自動生成的過濾器將任何內容流式傳輸到 Web UI。使用 TypeScript 解析任何格式。

Logdy 是一個單二進位制檔案,您可以將其新增到 PATH 中,因此它就像任何其他工具一樣可用:grep、awk、sed、jq。無需安裝、無需部署、無需編譯。

相關文章