[3/3 - 3/9] GitHub Weekly Digest

March 9, 2025

📌 ComposioHQ/composio

Description: Composio equip's your AI agents & LLMs with 100+ high-quality integrations via function calling
🌐 Python|⭐️ 23,556 | 8737 stars this week

簡介

Composio 提供一套生產就緒的 AI 代理工具集,支援超過 250 種工具,涵蓋軟體工具 (如 GitHub、Notion、Gmail 等)、作業系統操作工具以及搜尋功能 (如 Google、Perplexity 等)。它支援多種框架 (OpenAI、Claude、Langchain 等),並提供管理式身份驗證和可擴充套件架構,提升工具呼叫準確度,並提供白標方案。

主要功能

  • 支援超過 250 種工具,涵蓋軟體、OS 操作和搜尋等多種型別。
  • 支援 OpenAI, Groq, Claude, LlamaIndex, Langchain, CrewAI, Autogen, Gemini 等多種框架。
  • 提供管理式身份驗證,支援 OAuth、API Keys、Basic JWT 等多種協定。
  • 最佳化設計,提升工具呼叫準確度達 40%。
  • 提供白標方案,方便後端整合。
  • 採用可插拔架構,支援客製化工具和擴充套件。

如何使用

  • 安裝: 使用 pip install composio-core (Python) 或 npm install composio-core (JavaScript) 安裝套件。 若需 OpenAI 外掛,則使用 pip install composio-openai
  • 連線帳號: 使用 composio add github (於終端機執行) 連線 GitHub 帳號 (以 GitHub 為例)。
  • 設定 API 金鑰: 設定環境變數 COMPOSIO_API_KEYOPENAI_API_KEY
  • 建立代理程式: 使用提供的程式碼範例,建立一個 AI 代理程式,並指定要使用的工具。 範例中展示瞭如何使用 OpenAI 和 GitHub 工具。
  • 執行任務: 提交任務給代理程式,代理程式將會使用已設定的工具來完成任務。 範例中示範瞭如何讓代理程式幫使用者 star GitHub repository。
  • 處理工具呼叫: 使用 composio_tool_set.wait_and_handle_assistant_tool_calls 函式 (Python) 或等效的 JavaScript 函式來處理工具呼叫的結果。

📌 codecrafters-io/build-your-own-x

Description: Master programming by recreating your favorite technologies from scratch.
🌐 Markdown|⭐️ 350,549 | 6437 stars this week

簡介

這個程式碼庫彙集了許多逐步指導,教你從零開始重建我們喜愛的各種技術。其理念來自理查·費曼的名言:「我無法創造的東西,我就無法理解。」透過親自動手實作,能更深入地學習相關技術。程式庫涵蓋了3D渲染器、擴增實境、BitTorrent客戶端、區塊鏈/加密貨幣、機器人、命令列工具、資料庫、Docker、模擬器/虛擬機器、前端框架/函式庫、遊戲、Git、網路堆疊、神經網路、作業系統、物理引擎、程式語言、正規表示式引擎、搜尋引擎、Shell、模板引擎、文字編輯器、影像辨識系統、體素引擎、網頁瀏覽器和網頁伺服器等多種技術的教學資源。

主要功能

  • 提供從零開始重建各種常用技術的逐步教學。
  • 收錄多種程式語言的教學範例,例如C、C++、C#、Go、Java、JavaScript、Python、Rust等。
  • 涵蓋範圍廣泛,包含圖形學、網路程式設計、資料庫、機器學習、系統程式設計等領域。
  • 教學內容詳盡,包含程式碼範例和詳細說明。
  • 提供不同難度的教學,適合不同程度的學習者。
  • 包含許多影片教學,方便學習者理解。
  • 持續更新,加入更多新的技術和教學內容。
  • 以專案為導向,幫助學習者掌握實務技能。

如何使用

  • 瀏覽程式碼庫中的各個技術分類,例如“Build your own 3D Renderer”、“Build your own Blockchain / Cryptocurrency”等。
  • 選擇你感興趣的技術,並參考其提供的教學資源。
  • 根據教學步驟,逐步完成程式碼實作。
  • 可以參考不同程式語言的實作範例,選擇最適合你的語言。
  • 遇到問題可以參考教學中的說明,或者搜尋網路上的相關資源。
  • 可以將完成的專案貢獻回程式碼庫,分享你的學習成果。
  • 程式庫提供多種不同技術的教學資源,可以根據自己的需求選擇學習方向。
  • 建議循序漸進,從簡單的專案開始,逐步挑戰更複雜的技術。

📌 LadybirdBrowser/ladybird

Description: Truly independent web browser
🌐 C++|⭐️ 35,050 | 5435 stars this week

簡介

Ladybird 是一款基於網頁標準的全新引擎開發的獨立網頁瀏覽器,目前仍處於預覽階段 (pre-alpha),僅供開發者使用。它目標是打造一個完整且可用的現代化網頁瀏覽器。

主要功能

  • 使用多程式架構,包含主要 UI 程式、多個 WebContent 渲染程式、影像解碼程式和請求伺服器程式。
  • 影像解碼和網路連線在獨立程式中執行,以提高對惡意內容的容錯能力。
  • 每個分頁擁有各自的渲染程式,並與系統其餘部分隔離 (sandboxed)。
  • 許多核心函式庫元件繼承自 SerenityOS:
    • LibWeb: 網頁渲染引擎
    • LibJS: JavaScript 引擎
    • LibWasm: WebAssembly 實作
    • LibCrypto/LibTLS: 加密基礎和傳輸層安全性
    • LibHTTP: HTTP/1.1 客戶端
    • LibGfx: 2D 圖形函式庫、影像解碼和渲染
    • LibUnicode: Unicode 和地區設定支援
    • LibMedia: 音訊和視訊播放
    • LibCore: 事件迴圈、作業系統抽象層
    • LibIPC: 程式間通訊

如何使用

  • 請參考建置說明 (build instructions) 以獲取 Ladybird 的建置方法。
  • Ladybird 支援 Linux、macOS、Windows (使用 WSL2) 和許多其他類 Unix 系統 (*Nixes)。
  • 程式碼相關檔案位於 documentation 資料夾。
  • 加入 Discord 伺服器以參與社群。

📌 virattt/ai-hedge-fund

Description: An AI Hedge Fund Team
🌐 Python|⭐️ 14,616 | 5309 stars this week

簡介

  • 這個專案是一個概念驗證,旨在探索使用人工智慧進行交易決策的可能性。
  • 系統模擬一個 AI 驅動的避險基金,不進行實際交易。
  • 採用多個 AI 代理,分別模擬不同投資策略和風格,例如價值投資、成長投資、宏觀交易等。
  • 僅供教育和研究用途,不保證任何投資回報,也不承擔任何財務損失責任。
  • 需要設定多個 API 金鑰才能使用所有功能,包含 OpenAI, Groq 和 Financial Datasets API。

主要功能

  • 模擬多位知名投資大師的投資策略,例如 Ben Graham、Bill Ackman、Cathie Wood 等。
  • 使用多個 AI 代理協同工作,包括估值代理、情緒代理、基本面代理、技術面代理、風險管理代理和投資組合管理代理。
  • 計算股票的內在價值並生成交易訊號。
  • 分析市場情緒、基本面資料和技術指標。
  • 計算風險指標並設定倉位限制。
  • 做出最終的交易決策並產生訂單。
  • 提供回測功能,評估策略在歷史資料上的表現。

如何使用

  • 使用 Git clone 複製程式碼庫:git clone https://github.com/virattt/ai-hedge-fund.git
  • 安裝 Poetry:curl -sSL https://install.python-poetry.org | python3 -
  • 安裝相依套件:poetry install
  • 設定環境變數,包含 OpenAI, Groq 和 Financial Datasets API 金鑰 (參考 .env.example 檔案)。
  • 執行避險基金模擬:poetry run python src/main.py --ticker AAPL,MSFT,NVDA (可新增 --show-reasoning, --start-date, --end-date 等引數)。
  • 執行回測:poetry run python src/backtester.py --ticker AAPL,MSFT,NVDA (可新增 --start-date, --end-date 等引數)。
  • AAPL, GOOGL, MSFT, NVDA, TSLA 等股票資料免費,其他股票需設定 FINANCIAL_DATASETS_API_KEY

📌 allenai/olmocr

Description: Toolkit for linearizing PDFs for LLM datasets/training
🌐 Python|⭐️ 8,910 | 4250 stars this week

簡介

  • olmOCR 是一個用於訓練語言模型處理各種 PDF 檔案的工具包。
  • 它包含一系列工具,可以提升大型語言模型 (LLM) 對 PDF 檔案的文字解析能力。
  • 提供線上示範網站:https://olmocr.allenai.org/
  • 核心功能包含提示策略、評估工具包、資料過濾、模型微調和高效能處理流程。
  • 支援在單機或多節點叢集環境下執行,並能整合 AWS S3 和 Beaker 等雲端服務。
  • 需具備 NVIDIA GPU 和相應的軟體環境才能有效執行。

主要功能

  • 高效的 PDF 處理流程 (pipeline.py): 能處理大量的 PDF 檔案,並支援單機和多節點叢集模式,以及 AWS S3 儲存。
  • 提示策略 (buildsilver.py): 設計用於從 ChatGPT 等模型中獲得更準確的自然文字解析結果。
  • 評估工具 (runeval.py): 方便比較不同處理流程版本的效能。
  • 資料過濾 (filter.py): 基本的功能包含根據語言過濾及移除 SEO 垃圾內容。
  • 模型微調 (train.py): 提供 Qwen2-VL 和 Molmo-O 模型的微調程式碼。
  • Dolma 檔案檢視器 (dolmaviewer.py): 用於檢視從 PDF 提取的 Dolma 格式 JSONL 檔案。

如何使用

  • 安裝: 需要 NVIDIA GPU (至少 20GB GPU RAM) 和 30GB 磁碟空間,並安裝 poppler-utils 和必要的字型。使用 conda 建立環境並安裝 olmocr 及其相依套件 (包含 sglang 和 flashinfer,用於 GPU 推理)。
  • 單一 PDF 轉換: 使用 python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/horribleocr.pdf 命令處理單個 PDF 檔案。
  • 多個 PDF 轉換: 使用 python -m olmocr.pipeline ./localworkspace --pdfs tests/gnarly_pdfs/*.pdf 命令處理多個 PDF 檔案。
  • 結果檢視: 轉換後的結果儲存為 JSONL 檔案於 ./localworkspace/results 目錄下,可以使用 cat 命令檢視,並使用 python -m olmocr.viewer.dolmaviewer 命令與原始 PDF 檔案進行比對檢視。
  • 多節點/叢集使用: 支援在 AWS S3 上處理大量 PDF 檔案,並使用多節點平行處理。 可以使用 --beaker 旗標在 Beaker 叢集上執行。
  • 詳細引數設定: 使用 python -m olmocr.pipeline --help 命令檢視所有可用引數。