參考知乎: 大模型Agent智慧體25款產品、商業案例隨筆記(一) 、 基於大模型的AI搜尋15款產品隨筆記(二)
LLM 擴充套件開發工具:
1、開源且無需編碼(No-Code)的 LLM 應用構建工具: https://flowiseai.com/ ,將永遠免費供商業和個人使用。
程式碼庫: https://github.com/FlowiseAI/Flowise 使用 Node、React 開發。
Flowise 是專門為 LangChain 打造的使用者介面 (UI),利用了 React-Flow 技術。
2、專注於 RAG 應用程式構建的開源資料框架: https://www.llamaindex.ai/
開原始碼庫: https://github.com/run-llama/llama_index
文件庫: https://docs.llamaindex.ai/en/stable/
3、LangChain-Chatchat (原 Langchain-ChatGLM): https://github.com/chatchat-space/Langchain-Chatchat
基於 Langchain 與 ChatGLM 等大語言模型的本地知識庫問答應用實現
https://github.com/chatchat-space/Langchain-Chatchat/wiki/
4、 (創新AI企業) LinkAI - 一站式AI智慧體平臺 - 極簡未來 (link-ai.tech)
開原始碼: https://github.com/zhayujie/chatgpt-on-wechat 開源文件:docs.link-ai.tech/cow
5、 基於 LLM 大模型的開源 AI 知識庫構建平臺 : https://fastgpt.in
開源庫: https://github.com/labring/FastGPT
6、百度 - AI Studio、 文心智慧體平臺 | 想象即現實 ( https://agents.baidu.com )
7、阿里modelspace: Modelscope-Agent是一個可定製的、可擴充套件的Agent程式碼框架。單Agent具有角色扮演、LLM呼叫、工具使用、規劃、記憶等能力。
釘釘AI助理:
8、生成式 AI 應用創新引擎: dify.AI ,中文 https://dify.ai/zh, 開源的 LLM 應用開發平臺
9、autochain (目前更新慢了): https://autochain.forethought.ai/examples/
https://github.com/Forethought-Technologies/AutoChain
LangChain-Chatchat (原 Langchain-ChatGLM): 基於 Langchain 與 ChatGLM 等大語言模型的本地知識庫問答應用實現。
🤖️ 一種利用 langchain 思想實現的基於本地知識庫的問答應用,目標期望建立一套對中文場景與開源模型支援友好、可離線執行的知識庫問答解決方案。
💡 受 GanymedeNil 的專案 document.ai 和 AlexZhangji 建立的 ChatGLM-6B Pull Request 啟發,建立了全流程可使用開源模型實現的本地知識庫問答應用。本專案的最新版本中透過使用 FastChat 接入 Vicuna, Alpaca, LLaMA, Koala, RWKV 等模型,依託於 langchain 框架支援透過基於 FastAPI 提供的 API 呼叫服務,或使用基於 Streamlit 的 WebUI 進行操作。
✅ 依託於本專案支援的開源 LLM 與 Embedding 模型,本專案可實現全部使用開源模型離線私有部署。與此同時,本專案也支援 OpenAI GPT API 的呼叫,並將在後續持續擴充對各類模型及模型 API 的接入。
⛓️ 本專案實現原理如下圖所示,過程包括載入檔案 -> 讀取文字 -> 文字分割 -> 文字向量化 -> 問句向量化 -> 在文字向量中匹配出與問句向量最相似的 top k
個 -> 匹配出的文字作為上下文和問題一起新增到 prompt
中 -> 提交給 LLM
生成回答。
演算法流程
大家可以前往Bilibili平臺檢視原理介紹影片:
📺 原理介紹影片
開發組也為大家繪製了一張實現原理圖,效果如下:
從文件處理角度來看,實現流程如下:
技術路線圖(截止0.2.10)
- Langchain 應用
- 本地資料接入
- 接入非結構化文件
- .txt, .rtf, .epub, .srt
- .eml, .msg
- .html, .xml, .toml, .mhtml
- .json, .jsonl
- .md, .rst
- .docx, .doc, .pptx, .ppt, .odt
- .enex
- .jpg, .jpeg, .png, .bmp
- .py, .ipynb
- 結構化資料接入
- .csv, .tsv
- .xlsx, .xls, .xlsd
- 分詞及召回
- 接入不同型別 TextSplitter
- 最佳化依據中文標點符號設計的 ChineseTextSplitter
- 接入非結構化文件
- 搜尋引擎接入
- Bing 搜尋
- DuckDuckGo 搜尋
- Metaphor 搜尋
- Agent 實現
- 基礎React形式的Agent實現,包括呼叫計算器等
- Langchain 自帶的Agent實現和呼叫
- 智慧呼叫不同的資料庫和聯網知識
- 本地資料接入
- LLM 模型接入
- 支援透過呼叫 FastChat api 呼叫 llm
- 支援 ChatGLM API 等 LLM API 的接入
- 支援 Langchain 框架支援的LLM API 接入
- Embedding 模型接入
- 支援呼叫 HuggingFace 中各開源 Emebdding 模型
- 支援 OpenAI Embedding API 等 Embedding API 的接入
- 支援 智譜AI、百度千帆、千問、MiniMax 等線上 Embedding API 的接入
- 基於 FastAPI 的 API 方式呼叫
- Web UI
- 基於 Streamlit 的 Web UI