LangFriend:一款能記住你的日記應用
本文經翻譯并二次整理自LangFriend: a Journal with Long-Term Memory一文。講述了LangChain在模型記憶功能方面進行的一次深入的應用實戰,并推出了具備記憶能力的日記應用-LangFriend。
- 立即體驗日記應用https://journal.langchain.com/
- 申請開發者API訪問https://forms.gle/j3Aaa2ibNpg5pC4q7
我們深信,記憶功能將是大型語言模型(LLM)系統中最具潛力的一部分。生成性AI的魅力在于它能即時創造獨特的內容,這在個性化用戶體驗方面展現出巨大潛力。這種個性化可以通過利用已有的用戶信息來實現,也可以通過記住用戶之前的互動并從中學習來達成。
正是這種“記憶”功能,讓我們充滿探索的熱情。我們相信,隨著用戶與LLM之間互動的增多,聊天機器人將成為LLM應用的主要形式。這意味著在這些對話中,將交換更多有價值的用戶信息,比如個人的喜好、朋友關系和目標等。了解這些信息,并將它們融入到應用中,將極大地提升用戶體驗。
在探索記憶的過程中,我們認為通過一個具體的例子來激發我們的工作是非常有幫助的。我們選擇了日記應用作為這個例子,并將其命名為“LangFriend”,今天正式向大家介紹。雖然它還只是一個初步的研究版本,但我們希望收集大家的反饋,找出優點和改進空間,最終將其開源。
在本文中,我們將討論一些關于記憶的學術研究,以及其他公司在這方面的創新工作。我們還將詳細介紹我們的日記應用及其功能。如果你對記憶技術感興趣,歡迎聯系我們。
學術研究
我們發現了兩篇對我們的工作頗有啟發的學術論文。
首先是MemGPT。這項由加州大學伯克利分校的研究者們完成的研究表明,通過賦予LLM一些特定的功能,比如記憶特定事實和回憶相關內容,可以增強其在長對話和文檔分析等任務中的實用性。
大型語言模型(LLMs)已經徹底改變了 AI,但受到有限上下文窗口的限制,阻礙了它們在像擴展對話和文檔分析這樣的任務中的實用性。為了在有限的上下文窗口之外使用上下文,我們提出了虛擬上下文管理,一種從傳統操作系統中的層次記憶系統獲取靈感的技術,它通過在物理內存和磁盤之間分頁提供擴展虛擬內存的幻覺。使用這種技術,我們引入了 MemGPT(MemoryGPT),一個系統,它智能地管理不同的存儲層次,以有效地在 LLM 的有限上下文窗口內提供擴展上下文。
其次是Generative Agents。。斯坦福大學的研究者們通過反思經驗來形成記憶,并將這些記憶存儲起來,以便在需要時程序性地檢索。
我們通過消融展示了我們代理架構的組成部分——觀察、規劃和反思——每一個都對代理行為的可信度做出了關鍵貢獻。通過將大型語言模型與計算交互代理融合,這項工作引入了架構和交互模式,以實現人類行為的可信模擬。
這兩篇論文展示了LLM在主動使用記憶和作為背景過程兩種不同方式的應用。
業界動態
一些公司在記憶技術上取得了顯著進展。
Plastic Labs 正在開發像 TutorGPT 這樣的項目,這是一個動態的、以心智理論為基礎的教學輔助工具。
Good AI 最近開源了一個帶有長期記憶功能的聊天助手Charlie。這個助手不僅能夠記住用戶的交互,還能在必要時檢索和整合這些記憶,以提供更加個性化的服務。
乍一看,Charlie 可能與現有的 LLM 代理如 ChatGPT、Claude 和 Gemini 類似。然而,其獨特的特點是實現了 LTM,使其能夠 從每次交互中學習。這包括 將用戶消息、助手回應和環境反饋存儲和整合到 LTM 中,以便在與手頭任務相關時檢索。
OpenAI 也在其 ChatGPT 中加入了記憶功能,進一步提升了用戶體驗。
這些公司的做法展示了記憶功能可以是LLM主動調用的一部分,也可以是自動運行的背景過程。
為何選擇日記應用?
我們在尋找一個適合測試長期記憶用例時,立刻想到了日記應用。我們認為,與普通聊天應用相比,日記中的互動包含更多值得記憶的信息。
在普通聊天應用中,可能充斥著許多無關緊要的交流,比如“嘿!”、“嗨”、“怎么樣?”等。而在日記的環境中,人們更快地分享真實而深刻的感受和見解。
盡管如此,我們還是為這個應用添加了聊天功能。這主要是為了展示我們的應用能夠學習和記住用戶的信息,并利用這些信息為用戶提供個性化的回應。
在這里,你可以看到應用記住了我喜歡意大利菜,以及我在鍛煉后感到精神煥發的信息。
應用界面截圖
當你發表了第一篇日記并與我們的助手進行交流后,你會在導航欄中看到一個“記憶”按鈕。點擊它,你將看到我們從你的日記中提取的所有重要記憶。
記憶列表界面截圖
你會注意到,這個列表并不長,只包含了最重要的事實。實際上,我們在后臺從你的日記中提取了更多的信息,并且你可以搜索所有的記憶!
開始在“搜索記憶...”輸入框中輸入關鍵詞,你將實時看到LangFriend為你保存的各種事實:
搜索記憶界面截圖
個性化設置
我們希望LangFriend能夠吸引各種用戶。因此,我們允許用戶自定義系統消息,這是與我們的助手進行所有聊天的前綴和基調。我們提供了一個默認設置,但如果你想要一些不同的東西,你可以根據自己的喜好進行調整。
找到系統提示,訪問“日志”頁面并點擊“配置”按鈕進行更改。這里會彈出一個對話框,你可以在這里編輯你的系統提示。
配置界面截圖
所有更改都將在會話之間保留,并將成為你未來所有聊天對話的前綴。
總結
LangFriend是一個充滿潛力的研究預覽版,它展示了將長期記憶整合到LLM應用中的巨大潛力。通過專注于日記應用,我們旨在捕獲用戶的有意義信息,提供個性化的回應,從而增強用戶體驗。受到學術研究和業界創新的啟發,LangFriend證明了記憶可以被積極地使用,也可以作為背景過程整合進來,創造出引人入勝、能夠適應用戶需求的交互體驗。我們很興奮地邀請社區來體驗LangFriend,提供反饋,并與我們一起推動LLM應用中記憶技術的邊界,釋放生成性AI的全部潛力,為用戶帶來更強大、更個性化、更有意義的體驗。
