1. 前言
在日常開發(fā)中,為了保證技術(shù)方案的質(zhì)量,一般會在撰寫前進(jìn)行調(diào)研。如果先前沒有相關(guān)領(lǐng)域的知識儲備,筆者的調(diào)研方式一般是先通過搜索引擎進(jìn)行關(guān)鍵字查詢,然后再基于搜索的結(jié)果進(jìn)行發(fā)散。這樣調(diào)研的結(jié)果受關(guān)鍵字抽象程度和搜索引擎排名影響較大,可能會存在偏差導(dǎo)致調(diào)研不充分。剛好大模型風(fēng)靡有一段時(shí)間了,就想如果AI能自動檢索資料并進(jìn)行內(nèi)容總結(jié),豈不美哉。避免重復(fù)造輪子,先在網(wǎng)上檢索了一下,發(fā)現(xiàn)剛好有一個(gè)工具“STORM”滿足訴求。
2. 什么是STORM?
?STORM是一個(gè)由斯坦福大學(xué)開發(fā)的基于大型語言模型(LLM)的知識管理系統(tǒng),它能夠針對特定主題進(jìn)行研究,并生成帶有引用的完整報(bào)告。系統(tǒng)分為預(yù)寫階段和寫作階段,通過互聯(lián)網(wǎng)研究收集參考資料并生成大綱,然后利用這些信息生成帶引用的全文。STORM通過視角引導(dǎo)提問和模擬對話來提高生成內(nèi)容的質(zhì)量,支持自定義檢索器和語言模型,以適應(yīng)不同的使用場景?;镜膱?zhí)行流程如下圖:
??
3. 怎么使用STORM?
可以自己將倉庫Clone到本地編譯運(yùn)行(需要設(shè)置openai_api_key)或者直接訪問STORM試用,下面使用直接訪問網(wǎng)頁的方式進(jìn)行說明。
① 設(shè)置內(nèi)容主題并描述撰寫的目的
主題設(shè)置為“代碼可視化”,并將撰寫目的設(shè)置為“介紹技術(shù)的核心概念和前沿應(yīng)用”。
??
② 自動檢索互聯(lián)網(wǎng)相關(guān)資料
??
③ 使用LLM生成文章內(nèi)容
??
④ 通過模擬對話優(yōu)化生成內(nèi)容
??
⑤ 展示生成內(nèi)容
得到生成文章,可以下載為PDF格式。
??
4. 原理淺析
STORM通過兩個(gè)主要階段來生成帶有引用的長篇文章:
?預(yù)寫階段(Pre-writing stage):這個(gè)階段系統(tǒng)基于互聯(lián)網(wǎng)收集參考資料,并生成一個(gè)文章大綱。這是文章寫作的準(zhǔn)備階段,幫助確定文章的結(jié)構(gòu)和將要包含的關(guān)鍵點(diǎn);
?寫作階段(Writing stage):有了大綱和參考資料,系統(tǒng)會利用這些資料生成完整的文章,并在文章中加入適當(dāng)?shù)囊谩?/p>
??
STORM的優(yōu)勢在于過程的自動化,特別是自動的提出好問題。但直接提示語言模型提出的問題效果并不理想,為了提高問題提問的深度和廣度,STORM采用了兩種策略:
?視角引導(dǎo)的問題提問(Perspective-Guided Question Asking):通過調(diào)查類似主題相關(guān)文章來發(fā)現(xiàn)不同的視角,并利用這些視角來控制提問的過程;
?模擬對話(Simulated Conversation):模擬了一個(gè)維基百科作者和一個(gè)互聯(lián)網(wǎng)主題專家之間的對話,使語言模型能夠更新對主題的理解并提出后續(xù)問題。
??
整個(gè)生成的執(zhí)行流程如下,可以看到生成一篇文章會進(jìn)行多趟的處理:
??
更多關(guān)于功能和原理的介紹可以閱讀論文:Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models。
5. 總結(jié)
使用STORM做技術(shù)調(diào)研相當(dāng)?shù)氖娣?,只需要拿到它生成的文章進(jìn)行閱讀并對內(nèi)容進(jìn)行甄別(大模型存在幻覺問題),這極大的提升了工作效率。在大模型時(shí)代如果有人說他不知道怎么學(xué)習(xí)和查找資料,那么估計(jì)99.9999999...%的概率只是懶而已
審核編輯 黃宇
-
AI
+關(guān)注
關(guān)注
87文章
31463瀏覽量
269848 -
大模型
+關(guān)注
關(guān)注
2文章
2533瀏覽量
3004
發(fā)布評論請先 登錄
相關(guān)推薦
評論