在這個魔法充滿的異世界裡,我發現了一個名為LangChain的神奇工具,它具有強大的記憶魔法,可以幫助我們摘要和理解長篇的對話。這種魔法被稱為「ConversationSummaryMemory」。
ConversationSummaryMemory 是一種複雜的記憶魔法,它可以隨著對話的進行創建對話的摘要。這對於隨著時間壓縮對話中的資訊非常有用。對於較長的對話,這種記憶魔法可以幫助我們保存對話的摘要,而不是將過去的消息歷史完整地保存在提示中,這樣可以節省許多令牌。
以下是這種魔法的基本功能示範:
from langchain.memory import ConversationSummaryMemory, ChatMessageHistory
from langchain.llms import OpenAI
memory = ConversationSummaryMemory(llm=OpenAI(temperature=0))
memory.save_context({"input": "hi"}, {"output": "whats up"})
memory.load_memory_variables({})
# Output: {'history': '\nThe human greets the AI, to which the AI responds.'}
我們還可以獲得消息的歷史列表,這在與聊天模型一起使用時非常有用。此外,我們還可以直接使用predict_new_summary
方法。
當我們有了這種魔法後,我們可以在魔法鏈中使用它。以下是一個使用這種魔法的魔法鏈的示範:
from langchain.llms import OpenAI
from langchain.chains import ConversationChain
llm = OpenAI(temperature=0)
conversation_with_summary = ConversationChain(
llm=llm,
memory=ConversationSummaryMemory(llm=OpenAI()),
verbose=True
)
conversation_with_summary.predict(input="Hi, what's up?")
# Output: "Hi there! I'm doing great. I'm currently helping a customer with a technical issue. How about you?"
這種魔法不僅可以幫助我們摘要對話,還可以幫助我們更好地理解對話的內容,並提供有關對話的詳細資訊。這對於我在這個異世界中的冒險非常有幫助,因為我經常需要與各種生物進行對話,並且需要快速理解他們的意思。