利用檢索增強(qiáng)生成(RAG)技術(shù)快速開(kāi)發(fā)解決方案,助力問(wèn)答 LLM 工作流程,由此催生出新型系統(tǒng)架構(gòu)。NVIDIA 將 AI 用于內(nèi)部運(yùn)營(yíng),并在系統(tǒng)功能與用戶期望之間取得了多項(xiàng)重要發(fā)現(xiàn)。
研究發(fā)現(xiàn),無(wú)論預(yù)期的范圍或用例如何,用戶通常都希望能夠執(zhí)行非 RAG 任務(wù),例如執(zhí)行文檔翻譯、編輯電子郵件甚至編寫(xiě)代碼。一個(gè)普通的 RAG 應(yīng)用程序可能會(huì)這樣實(shí)現(xiàn):對(duì)每個(gè)消息執(zhí)行檢索管道,從而導(dǎo)致令牌的過(guò)度使用,并由于包含不相關(guān)的結(jié)果而導(dǎo)致不必要的延遲。
研究還發(fā)現(xiàn),即使應(yīng)用程序?qū)樵L問(wèn)內(nèi)部私有數(shù)據(jù)而設(shè)計(jì),用戶也非常喜歡訪問(wèn) Web 搜索和摘要功能。我們使用 Perplexity 的搜索 API 來(lái)滿足這一需求。
NVIDIA NIM 微服務(wù)及其 LlamaIndex 連接器使開(kāi)發(fā)具有自我管理或托管 LLM 的 LLM 應(yīng)用變得輕而易舉。Chainlit 和 LlamaIndex Workflow 事件因其共享的事件驅(qū)動(dòng)架構(gòu)而完美契合,因此可以輕松為用戶界面提供有關(guān) LLM 響應(yīng)的完整追蹤信息。

LlamaIndex Workflow 處理過(guò)程
LlamaIndex Workflow events 通過(guò)其事件驅(qū)動(dòng)、基于步驟的方法來(lái)控制應(yīng)用程序的執(zhí)行流程,準(zhǔn)確地提供了我們所需的解決方案。我們發(fā)現(xiàn),將應(yīng)用程序擴(kuò)展為 Workflow events 要容易得多,速度也更快,同時(shí)仍保留關(guān)鍵的 LlamaIndex 功能,例如必要時(shí)的向量存儲(chǔ)和檢索器。下圖為 Workflow 事件流程。
LlamaIndex Workflow 處理過(guò)程
LlamaIndex Workflow events 通過(guò)其事件驅(qū)動(dòng)、基于步驟的方法來(lái)控制應(yīng)用程序的執(zhí)行流程,準(zhǔn)確地提供了我們所需的解決方案。我們發(fā)現(xiàn),將應(yīng)用程序擴(kuò)展為 Workflow events 要容易得多,速度也更快,同時(shí)仍保留關(guān)鍵的 LlamaIndex 功能,例如必要時(shí)的向量存儲(chǔ)和檢索器。下圖為 Workflow 事件流程。

LlamaIndex Workflow 功能與特點(diǎn)
1. 數(shù)據(jù)攝取:
· 數(shù)據(jù)連接器: LlamaIndex 提供到各種數(shù)據(jù)源的連接器,如數(shù)據(jù)庫(kù)、API、文件等,允許用戶輕松地將數(shù)據(jù)攝取到工作流程中。
· 文檔解析: 提供解析不同文檔格式的工具,以便為索引和查詢做好數(shù)據(jù)準(zhǔn)備。
2. 索引:
· 數(shù)據(jù)索引: 數(shù)據(jù)攝取后,LlamaIndex 將數(shù)據(jù)以一種大型語(yǔ)言模型可以高效處理和查詢的方式進(jìn)行索引。這包括創(chuàng)建嵌入,即捕捉文本語(yǔ)義含義的向量表示。
· 自定義索引結(jié)構(gòu): 用戶可以定義自定義索引結(jié)構(gòu)或使用預(yù)構(gòu)建的索引結(jié)構(gòu),以優(yōu)化不同類型的查詢。
3. 查詢:
· 查詢引擎: 一個(gè)理解如何從索引數(shù)據(jù)中檢索相關(guān)信息的查詢引擎。它可以使用相似性搜索、關(guān)鍵詞搜索或更高級(jí)的檢索技術(shù)。
· 語(yǔ)境搜索: 能夠執(zhí)行語(yǔ)境相關(guān)的搜索,利用大型語(yǔ)言模型的語(yǔ)義理解。
4. 與LLMs的集成:
· 提示工程: LlamaIndex Workflow 促進(jìn)提示工程,用戶可以設(shè)計(jì)提示來(lái)引導(dǎo)LLM的響應(yīng),增強(qiáng)特定任務(wù)的模型輸出。
· 響應(yīng)生成: 工作流程與LLMs集成,以基于索引數(shù)據(jù)和用戶查詢生成響應(yīng)。
5. 應(yīng)用開(kāi)發(fā):
· API和SDK: 提供開(kāi)發(fā)者可以用來(lái)將LlamaIndex功能集成到其應(yīng)用程序中的API和SDK。
· 端到端解決方案: 幫助構(gòu)建從數(shù)據(jù)攝取到提供基于該數(shù)據(jù)的答案或見(jiàn)解的端到端應(yīng)用。
6. 優(yōu)化和性能:
· 緩存: 為了提高性能,LlamaIndex 可以緩存結(jié)果或中間步驟,以避免重復(fù)計(jì)算。
· 并行處理: 支持并行處理以同時(shí)處理大數(shù)據(jù)集或多個(gè)查詢。
7. 可擴(kuò)展性:
· 插件和擴(kuò)展: 用戶可以通過(guò)插件或自定義擴(kuò)展來(lái)擴(kuò)展LlamaIndex的功能,允許進(jìn)行專業(yè)任務(wù)或與其他工具集成。
使用場(chǎng)景:
· 知識(shí)檢索: 從龐大的數(shù)據(jù)集或文檔庫(kù)中快速查找信息。
· 聊天機(jī)器人和虛擬助手: 通過(guò)提供基于大知識(shí)庫(kù)的理解和響應(yīng)能力,增強(qiáng)對(duì)話代理。
· 數(shù)據(jù)分析: 通過(guò)提供見(jiàn)解或總結(jié)大量文本數(shù)據(jù)來(lái)協(xié)助數(shù)據(jù)分析。
· 教育和研究: 通過(guò)提供相關(guān)文獻(xiàn)或數(shù)據(jù)來(lái)支持研究。
LlamaIndex Workflow
對(duì)于希望利用大型語(yǔ)言模型來(lái)處理需要從復(fù)雜數(shù)據(jù)集中深入理解和檢索信息的任務(wù)的組織或個(gè)人特別有用。它旨在填補(bǔ)原始數(shù)據(jù)與LLMs能力之間的差距,使得利用AI進(jìn)行信息檢索和分析變得更容易。
