當前位置: 妍妍網 > 碼農

STORM:史丹佛大學開源,用LLM生成類似維基百科一樣的深度長篇內容

2024-06-08碼農

計畫簡介

STORM是由史丹佛大學開發的一個基於大型語言模型的知識整理系統,旨在透過互聯網研究生成具有參照的完整報告,編寫類似維基百科的文章。該系統透過自動生成問題和模擬對話來增強研究的深度和廣度,從而幫助使用者從多個視角探索特定主題。STORM的實作高度模組化,支持使用者根據需求自訂各個元件,如資訊檢索、文章生成等。

掃碼加入AI交流群

獲得更多技術支持和交流

(請註明自己的職業)

工作原理

STORM 將生成帶參照的長文章分為兩個步驟:

預寫階段: 系統進行基於互聯網的研究,收集參考資料並生成大綱。

寫作階段: 系統利用大綱和參考資料生成帶參照的完整文章。

STORM 確定自動化研究過程的核心是自動提出好問題。直接提示語言模型提問效果並不好。為了提高問題的深度和廣度,STORM 采用了兩種策略:

視角引導的問題提問: 給定輸入主題,STORM 透過調查類似主題的現有文章,發現不同的視角,並利用這些視角控制提問過程。

模擬對話: STORM 模擬維基百科作者和主題專家之間的對話,該對話基於互聯網資源,使語言模型能夠更新對主題的理解並提出後續問題。基於這兩個階段的分離,STORM 采用了高度模組化的方式,使用 dspy 實作。

客製STORM

·管道客製

STORM是一個知識管理引擎,包含4個模組:

1.知識管理模組:收集關於給定主題的廣泛資訊。

2.大綱生成模組:透過生成層次化大綱來組織收集的資訊。

3.文章生成模組:根據生成的大綱填充收集的資訊。

4.文章潤色模組:最佳化和增強書面文章,以便更好地呈現。

每個模組的介面在src/interface.py中定義,而它們的實作則在src/storm_wiki/modules/*中例項化。這些模組可以根據你的具體需求進行客製(例如,生成計畫符號格式的部份而不是完整段落)。

·檢索模組的客製

作為一個知識管理引擎,STORM透過檢索模組獲取資訊。檢索模組的介面在src/interface.py中定義。如果你計劃建立新例項或替換預設搜尋引擎API,請查閱介面文件。預設情況下,STORM使用You.com搜尋引擎API(參見src/rm.py中的YouRM)。

使用Bing搜尋測試STORM。參見src/rm.py中的BingSearch配置,您可以在我們的範例指令碼中指定--retriever bing來使用Bing搜尋。

·語言模型的客製

STORM 提供了以下語言模型實作

1. OpenAIModel

2. ClaudeModel

3. VLLMClient

4. TGIClient

5. TogetherClient

計畫連結

https://github.com/stanford-oval/storm

關註「 開源AI計畫落地 」公眾號

與AI時代更靠近一點