LeapfrogAI 是一個自託管人工智慧平台,旨在部署在隔離環境中。該專案旨在透過託管人工智慧堆疊的所有必要組件,將複雜的人工智慧解決方案引入氣隙資源有限的環境。
我們的服務包括向量資料庫、模型後端、API 和 UI。這些功能可以輕鬆存取並與您現有的基礎設施集成,確保無論您的環境有何限制,都可以利用人工智慧的力量。
大型語言模型 (LLM) 是人工智慧驅動的決策、內容生成等方面的強大資源。 LeapfrogAI 如何將人工智慧帶入您的使命?
資料獨立性:將敏感資訊傳送至第三方服務可能不適合或不允許所有類型的資料或組織。透過託管自己的法學碩士,您可以完全控制自己的資料。
可擴展性:即用即付的人工智慧服務可能會變得昂貴,特別是當涉及大量數據並且需要持續連接時。對於各種規模的任務來說,運行自己的法學碩士通常是一種更具成本效益的解決方案。
任務整合:透過託管您自己的法學碩士,您可以自訂模型的參數、訓練資料等,根據您的特定需求自訂人工智慧。
LeapfrogAI 建構在 Defense Unicorns 的安全運作環境 Unicorn Delivery Service (UDS) 之上,並包含多項功能,例如:
LeapfrogAI 儲存庫遵循基於 API 的 monorepo 結構,每個元件都包含在專用的packages
目錄中。處理 LeapfrogAI 的開發和最新部署的 UDS 捆綁包位於bundles
目錄中。結構如下:
leapfrogai/
├── src/
│ ├── leapfrogai_api/ # source code for the API
│ ├── leapfrogai_evals/ # source code for the LeapfrogAI evaluation framework
│ ├── leapfrogai_sdk/ # source code for the SDK
│ └── leapfrogai_ui/ # source code for the UI
├── packages/
│ ├── api/ # deployment infrastructure for the API
│ ├── llama-cpp-python/ # source code & deployment infrastructure for the llama-cpp-python backend
│ ├── repeater/ # source code & deployment infrastructure for the repeater model backend
│ ├── supabase/ # deployment infrastructure for the Supabase backend and postgres database
│ ├── text-embeddings/ # source code & deployment infrastructure for the text-embeddings backend
│ ├── ui/ # deployment infrastructure for the UI
│ ├── vllm/ # source code & deployment infrastructure for the vllm backend
│ └── whisper/ # source code & deployment infrastructure for the whisper backend
├── bundles/
│ ├── dev/ # uds bundles for local uds dev deployments
│ └── latest/ # uds bundles for the most current uds deployments
├── Makefile
├── pyproject.toml
├── README.md
└── ...
運行 LeapfrogAI 的首選方法是使用 UDS 進行本地 Kubernetes 部署。
請參閱 LeapfrogAI 文件網站的快速入門部分,以了解系統需求和說明。
LeapfrogAI 提供的 API 與 OpenAI 的 API 非常匹配。此功能允許使用 OpenAI/ChatGPT 建構的工具與 LeapfrogAI 後端無縫運作。
LeapfrogAI SDK 提供了一組標準的 protobuf 和 Python 實用程序,用於使用 gRPC 實現後端。
LeapfrogAI 提供了一個支援常見用例的 UI,例如一般聊天和「文件問答」。
LeapfrogAI 為各種用例提供了多個後端。以下是後端支援和相容性矩陣:
後端 | AMD64 | ARM64 | CUDA | 碼頭工人 | 庫伯內斯 | 統一資料系統 |
---|---|---|---|---|---|---|
駱駝-cpp-python | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
耳語 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
文字嵌入 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
佛洛姆 | ✅ | ❌1 | ✅ | ✅ | ✅ | ✅ |
轉發器“模型”是一個基本的“後端”,它將接收到的所有輸入重複返回給使用者。它的建構方式與所有實際後端相同,主要用於測試 API。
LeapfrogAI 附帶了一個與 DeepEval 整合的評估架構。有關在 LeapfrogAI 中運行和利用評估的更多信息,請參閱 Evals 自述文件。
每個元件都有不同的映像和值,它們引用特定的映像註冊表和/或強化來源。這些圖像是使用 Zarf Flavors 打包的:
upstream
:使用來自開源容器註冊表和儲存庫的上游供應商映像registry1
:使用來自 Repo1 港口登錄的 IronBank 強化映像以下是目前的組件口味清單:
成分 | upstream | registry1 |
---|---|---|
應用程式介面 | ✅ | ✅ |
使用者介面 | ✅ | ? |
蘇帕貝斯 | ✅ | ? |
遷移 | ✅ | ? |
駱駝-cpp-python | ✅ | ? |
耳語 | ✅ | ? |
文字嵌入 | ✅ | ? |
佛洛姆 | ✅ | ? |
佛洛姆 | ✅ | ? |
含有任何標記為 ? 的成分的風味劑尚不能作為快速啟動捆綁包部署。請參閱 DEVELOPMENT.md 以取得有關如何建置元件的 Zarf 套件以進行本機測試的說明。
若要建置 LeapfrogAI UDS 捆綁包並進行部署,請參閱 LeapfrogAI 文件網站。在文件網站中,您將找到與本地開發和貢獻無關的所有 LeapfrogAI 事物的系統要求和說明。
若要在本機 Python 或 Node.js 環境中為每個元件提供本機部署和開發,請繼續閱讀下一部分。
筆記
在嘗試本地開發之前,請先造訪 LeapfrogAI 文件網站
每個 LeapfrogAI 組件也可以在 Kubernetes 或容器化環境之外單獨運作。這在測試特定組件的變更時很有用,但無助於 LeapfrogAI 的完整部署。請參閱上面的部署說明部分。請參閱下一節以了解向 LeapfrogAI 貢獻的規則。
首先參考DEVELOPMENT.md文件了解一般開發細節。
然後參考每個子目錄的本機開發說明的連結自述文件。
所有潛在和目前的貢獻者必須確保他們在向此儲存庫提出問題或拉取請求之前已閱讀貢獻文件、安全政策和行為準則。
提交問題或開啟 PR 時,請先確保您已根據現有或已關閉的問題和 PR 搜尋潛在問題或 PR。認為重複的問題將關閉,因此請參考並區分您的貢獻與無關或類似的問題和 PR。
LeapfrogAI 得到了使用者和貢獻者社群的支持,包括:
想要將您的組織或徽標新增至此清單嗎?打開公關!
vLLM 需要為 ARM64 建置的支援 CUDA 的 PyTorch,但無法透過 pip 或 conda ↩
SDK並不是功能上獨立的單元,只有與API和Backends作為依賴組合封裝後才成為一個功能單元。 ↩
請注意,API 和 UI 在 2 個子目錄下有工件。與packages/
相關的子目錄專注於Zarf打包和Helm圖表,而與src/
相關的子目錄包含實際的原始程式碼和開發說明。 ↩ ↩ 2