在異世界的魔法學院中,學生和教授們都在研究如何使他們的魔法更加強大和持久。最近,學院引入了一個新的技巧,稱為「魔法鏈的記憶」,這使得魔法師可以在他們的魔法鏈中保留某些資訊,從而使其在連續的施法中更加有效。
魔法鏈可以使用一個名為Memory的物件進行初始化,這將使得在呼叫魔法鏈時可以保留資料。這使得魔法鏈具有狀態,也就是說它可以「記住」之前的施法。
例如,以下是一個簡單的示範:
from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory
conversation = ConversationChain(
llm=chat,
memory=ConversationBufferMemory()
)
conversation.run("Answer briefly. What are the first 3 colors of a rainbow?")
# 輸出: The first three colors of a rainbow are red, orange, and yellow.
conversation.run("And the next 4?")
# 輸出: The next four colors of a rainbow are green, blue, indigo, and violet.
在這個示範中,魔法鏈首先回答了關於彩虹的前三種顏色的問題,然後在下一次呼叫時,它「記住」了之前的回答,並繼續描述接下來的四種顏色。
基本上,BaseMemory定義了一個介面,描述了langchain如何儲存記憶。它允許通過load_memory_variables
方法讀取存儲的資料,並通過save_context
方法存儲新資料。如果你想深入了解這個技巧,可以參考魔法學院的「記憶」章節。
總之,這個新技巧為魔法師們提供了一個強大的工具,使他們能夠在連續的施法中更加有效。無論你是新手還是經驗豐富的魔法師,都可以從這個技巧中受益匪淺。畢竟,掌握魔法的記憶,是成為一名真正的魔法大師的關鍵。