當大模型成本逐漸降低,可靠性提升後,這意味著越來越多的業務應用將會與 LLM 結合,為了讓這種結合更加順暢,需要有與現有基礎設施相相容的工具和框架來支撐 LLM 應用開發的快速開發
通用大模型效能評測參見:
- github:https://github.com/CLUEbenchmark/SuperCLUE
- 線上報告:https://www.cluebenchmarks.com/
一、應用開發平臺Maas
1.1 阿里:百鍊大模型平臺
-
應用構建工具: 外掛中心, 流程編排, Prompt工程, RAG, Agent
- 模型開發工具: 訓練資料管理, 模型調優, 模型評測, 模型部署
1.2 百度:千帆大模型平臺
- 資料管理: 資料集、 資料標註、 資料處理、 資料迴流
- 應用工具: 外掛編排[對話類、生成類、編排類]、 RAG、 Prompt模板、 Prompt最佳化、 Prompt評估
- 模型調優: 模型精調【精調樣板,Post-PreTrain, SFT, DPO, RLHF】、模型評估、模型壓縮
- AppBuilder:元件編排
1.3 位元組跳動:Coze
- Bots、外掛、工作流、知識庫
- 文件地址:https://www.coze.com/docs/guides/welcome?_lang=zh
對比說明可參考: https://mp.weixin.qq.com/s/9v5TdLoGokZqAx-_B_IuZg
二、應用開發平臺開源
2.1 Dify:開源的 LLM 應用開發平臺。其直觀的介面結合了 AI 工作流、RAG 、Agent、模型管理、可觀測性功能等,讓您可以快速從原型到生產。以下是其核心功能列表:
- github:https://github.com/langgenius/dify
- 應用工具: AI 工作流、Prompt IDE、RAG、Agent、後端即服務(Dify 的功能都帶有相應的 API)
- 模型工具:LLMOps、全面的模型支援
-
原騰訊雲 CODING DevOps 團隊的核心成員傾力打造
2.2 FastGPT:一個基於 LLM 大語言模型的知識庫問答系統,提供開箱即用的資料處理、模型呼叫等能力
- github:https://github.com/labring/FastGPT
- 應用工具:RAG、應用編排
- 模型工具:多模型支援(one API)
2.3 bisheng(畢昇):一款領先的開源大模型應用開發平臺,賦能和加速大模型應用開發落地,幫助使用者以最佳體驗進入下一代應用開發模式。
- github:https://github.com/dataelement/bisheng
- 應用工具:RAG
- 模型工具:模型微調(待驗證)
------ 完整度的順序 Dify > FastGPT > 畢昇
2.5 其它
- QAnything :【網易有道】是致力於支援任意格式檔案或資料庫的本地知識庫問答系統,可斷網安裝使用
- AnythingLLM :是一個高效、可定製、開源的企業級文件聊天機器人解決方案。
- LangChain-Chatchat :基於 ChatGLM 等大語言模型與 Langchain 等應用框架實現,開源、可離線部署的檢索增強生成(RAG)大模型知識庫專案。
- quivr: 構建了一個完全可控的知識庫問答平臺,支援docker部署,用法也比較簡單,定義知識庫,上傳文件,問答時選定知識庫即可
- FLowise:拖放式介面構建定製化LLM流程
- GPTCache:透過實現快取來提高基於LLM的應用程式的效率和速度
- OneAPI:是一個 API 管理和分發系統,支援幾乎所有主流 API 服務。OneAPI 透過簡單的配置允許使用一個 API 金鑰呼叫不同的服務,實現服務的高效管理和分發。
三、智慧文件解析
3.1 RAGFlow:是一款基於深度文件理解構建的開源 RAG 引擎。
- github:https://github.com/infiniflow/ragflow
- RAGFlow 的最大特色,就是多樣化的文件智慧處理,它沒有采用現成的 RAG 中介軟體,而是完全重新研發了一套智慧文件理解系統,確保資料 Garbage In Garbage Out 變為 Quality In Quality Out,並以此為依託構建 RAG 任務編排體系。
- 對於使用者上傳的文件,它會自動識別文件的佈局,包括標題、段落、換行等,還包含圖片和表格等。
- RAGFlow 的 DeepDoc 模組提供了對多種不同格式文件的深度解析。
3.2 Unstructured:是一個靈活的Python 庫,專門用於處理非結構化資料
- github:https://github.com/Unstructured-IO/unstructured
- 它可以處理各種文件格式,包括 PDF、CSV 和 PPT 等。該庫被多個專案用於非結構化資料的提取,如網易有道的QAnything、Dify 等。
3.3 PaddleOCR:是由百度推出的 OCR 開源專案,旨在提供全面且高效的文字識別和資訊提取功能
- github:https://github.com/PaddlePaddle/PaddleOCR?tab=readme-ov-file
- PaddleOCR 提供了版面分析、表格識別和文字識別等多種功能。PaddleOCR的應用場景廣泛,包括金融、教育、法律等多個行業,其高效的處理速度和準確率使其成為業界領先的 OCR 解決方案之一
3.4 EasyOCR:使用很友好的OCR服務
3.5 Surya:由 VikParuchuri 開發,支援超過 90 種語言的OCR識別,能夠進行線級文字檢測、佈局分析(如表格、影像、標題等的檢測)以及閱讀順序的識別,適用於多種文件型別
- github:https://github.com/VikParuchuri/surya
- 佈局分析:可以檢測文件中的表格、影像、標題等元素
- 閱讀順序檢測:能夠識別文字的閱讀順序,最佳化資訊的獲取
3.6 PDF-Extract-Kit:內容與佈局提取識別
- github:https://github.com/opendatalab/PDF-Extract-Kit
- 佈局檢測:使用 LayoutLMv3 模型進行區域檢測,如影像,表格,標題,文字等;
- 公式檢測:使用 YOLOv8 進行公式檢測,包含行內公式和行間公式;
- 公式識別:使用 UniMERNet 進行公式識別;
- OCR識別:使用 PaddleOCR 進行文字識別;
3.7 OmniParse:能夠將任何非結構化資料攝取並解析為結構化、可操作的資料,包含文件、表格、影像、影片、音訊、網頁等
- github:https://github.com/adithya-s-k/omniparse
四、BI與DB
4.1 DB-GPT :是一個開源的資料庫領域大模型框架。目的是構建大模型領域的基礎設施,透過開發多模型管理、Text2SQL效果最佳化、RAG框架以及最佳化、Multi-Agents框架協作等多種技術能力,讓圍繞資料庫構建大模型應用更簡單,更方便。
- github:https://github.com/eosphoros-ai/DB-GPT
- RAG、GBI、微調框架、Multi-Agents框架、資料工廠、資料來源
-
由螞蟻集團、阿里巴巴、京東、美團等公司的研究人員共同開發
4.2 Chat2DB: 阿里開源智慧的通用資料庫SQL客戶端和報表工具
- github:https://github.com/chat2db/Chat2DB
4.3 DefogAI SQLCoder:SQLCoder 是 Defog 團隊推出的一款前沿的大語言模型,專門用於將自然語言問題轉化為 SQL 查詢,這是一個擁有150億引數的模型。
- github:https://github.com/defog-ai/sqlcoder
4.4 BIRD-SQL:由多位作者聯合創作,一作是港大,二作是阿里達摩院
- github:https://github.com/AlibabaResearch/DAMO-ConvAI/tree/main/bird
4.4 閉源專案參考:
- TableAgent: 九章雲極推出的資料分析,機器學習智慧體
- Kyligence Copilot:Kyligence釋出一站式指標平臺的 AI 數智助理,支援對話式指標搜尋,異動歸因等等
- chat2query: PingCap產品,text2sql 相比以上兩位支援更自然的文字指令,以及更復雜的資料分析類的sql生成
- ChatBI:網易數帆釋出ChatBI對話資料分析平臺
- DataHerald:Text2SQL一個由AI驅動的自然語言到SQL代理
4.5 其它
- superduperdb (4K):一個通用的AI開發和部署框架,直接與您現有的資料庫相連而設計
- Vanna (6K):使用人工智慧(AI)的工具,可以讓您更輕鬆地與資料庫進行互動。該工具可用於SQL Server和PostgreSQL資料庫,它使用自然語言處理技術,使您能夠使用英語命令來查詢和更新資料庫。
五、本地部署工具
5.1 ollama:Ollama 是一個開源框架,專門為在本地機器上便捷部署和執行大型語言模型(LLM)而設計
- github:https://github.com/ollama/ollama
- 功能齊全:Ollama將模型權重、配置和資料捆綁到一個包中,定義成Modelfile。它最佳化了設定和配置細節,包括GPU使用情況,從而提高了模型執行的效率
- 輕量級:Ollama的程式碼簡潔明瞭,執行時佔用資源少。這使得它能夠在本地高效地執行,不需要大量的計算資源。此外,它還支援熱載入模型檔案,無需重新啟動即可切換不同的模型,這使得它非常靈活多變
- 易用性:Ollama提供了多種安裝方式,支援Mac和Linux平臺,並提供了Docker映象。使用者只需按照安裝指南進行操作即可完成安裝,無需具備專業的技術背景
5.2 OpenLLM:OpenLLM 於 2023 年 6 月開源,是一個用於部署大語言模型的框架。其最初的口號是透過一行程式碼或相對輕鬆地在不同的大語言模型之間切換,為個人使用者提供方便。
- github:https://github.com/bentoml/OpenLLM
- 簡化部署:自動生成 LLM 伺服器 Docker 映象或透過 BentoCloud 部署為無伺服器端節點
- 自由構建:對 LangChain、BentoML 和 Hugging Face 具有一級支援,可以透過將 LLM 與其它模型和服務組合來輕鬆建立自己的 AI 應用程式
5.3 LM Studio:LM Studio提供了一個簡單的視覺化LLM安裝程式,使用者只需幾個簡單的步驟就可以輕鬆安裝和執行
- 下載地址:https://lmstudio.ai/
- 對各種模型的廣泛支援。它不僅支援所有公開發布的大型語言模型,而且不需要使用者進行額外的編譯或微調
5.4 Xinference:Xorbits Inference(Xinference)是一個效能強大且功能全面的分散式推理框架。透過 Xorbits Inference,你可以輕鬆地一鍵部署你自己的模型或內建的前沿開源模型。
- github: https://github.com/xorbitsai/inference
- 模型推理,輕而易舉:大語言模型,語音識別模型,多模態模型的部署流程被大大簡化。一個命令即可完成模型的部署工作。
- 開放生態,無縫對接: 與流行的三方庫無縫對接,包括 LangChain,LlamaIndex,Dify,以及 Chatbox。
六、推理服務框架
LLM推理有很多框架,各有其特點,下表中七個框架的關鍵點如下圖
6.1 vLLM:適用於大批次Prompt輸入,並對推理速度要求高的場景
6.2 Text generation inference:依賴HuggingFace模型,並且不需要為核心模型增加多個adapter的場景
6.3 CTranslate2:可在CPU上進行推理
6.4 OpenLLM:為核心模型新增adapter並使用HuggingFace Agents,尤其是不完全依賴PyTorch;
6.5 Ray Serve:穩定的Pipeline和靈活的部署,它最適合更成熟的專案
6.6 MLC LLM:可在客戶端(邊緣計算)(例如,在Android或iPhone平臺上)本地部署LLM
6.7 DeepSpeed-MII:使用DeepSpeed庫來部署LLM
6.8 llama.cpp: 是一個純 C/C++ 實現的模型量化推理工具,具有極高的效能,可以同時在 GPU 和 CPU 環境下執行
七、大模型微調
7.1 LlamaFactory:北航釋出LlamaFactory,零程式碼大模型微調平臺,一鍵快速實現大模型訓練/微調/評估
- Github:https://github.com/hiyouga/LLaMA-Factory
- 論文地址:https://arxiv.org/pdf/2403.13372.pdf
八、大模型聚合平臺
8.1 Hugging Face:Hugging Face 是一個開源的機器學習平臺,該平臺目前託管了超過320,000個模型和50,000個資料集,成為全球機器學習社群合作開發模型、資料集和應用程式的主要集合地。
- 地址:https://huggingface.co/
- 開源精神:Hugging Face秉承開源精神,與社群一起構建機器學習工具的基礎
九、開發庫與工具
- LangChain:對於 LLM 應用開發入門者來說,這是一個必選的工具
- LlamaIndex:這是一個資料框架,它可以輕鬆地將大型語言模型連線到你的自定義資料來源,方便你進行資料的儲存、查詢和索引
- Promptflow:這是微軟開源的一套開發工具,旨在簡化基於 LLM 的應用的開發週期。它讓提示工程變得更加容易,並幫助你構建具有生產質量的 LLM 應用
- Langflow:這是一個無程式碼編排工具,許多平臺都在使用它,可以幫助你輕鬆地將不同的模組拼接起來,讓它們協同工作
- ChatGPT-Next-Web:一鍵免費部署你的私人 ChatGPT 網頁應用
十、向量資料庫
- 參考Vector DB Comparison:https://superlinked.com/vector-db-comparison
-
2023年7月Vector DB Bench向量資料庫排行榜Top50
十一、參考學習文章
- 全棧學習資料:https://github.com/DSXiangLi/DecryptPrompt
- AutoGen與FastGPT 優缺點全面解析
- 利用大模型與AI Agent,實現企業資料智慧分析
- 基於大模型(LLM)的智慧化自助分析系統搭建探索
- 十種 Agent 工具,多種思路
- 盤點 20 種 LLM 應用開發者工具,強烈推薦你使用這三款!
- LLM七種推理服務框架總結
- AI大模型語言開源大語言模型完整列表
- 大模型技術棧思維導圖
- AI+BI:結合大語言模型實現對話式的智慧報表系統
- https://mp.weixin.qq.com/s/mRnpx1rsuqi1hM3jro_MrQ
算力相關學習資料
- 英偉達系列顯示卡大解析B100、H200、L40S、A100、H100、V100如何選擇,含架構技術和效能對比帶你解決疑惑
- 大模型訓練為什麼用A100不用4090