iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
AI & Data

關於我轉生變成AI詠唱師這檔事系列 第 25

魔法的記憶:LangChain的對話摘要

  • 分享至 

  • xImage
  •  

在這個魔法充滿的異世界裡,我發現了一個名為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?"

這種魔法不僅可以幫助我們摘要對話,還可以幫助我們更好地理解對話的內容,並提供有關對話的詳細資訊。這對於我在這個異世界中的冒險非常有幫助,因為我經常需要與各種生物進行對話,並且需要快速理解他們的意思。


上一篇
魔法的會話緩衝:LangChain的Conversation Buffer Window
下一篇
魔法的緩衝:LangChain的SummaryBuffer與TokenBuffer
系列文
關於我轉生變成AI詠唱師這檔事31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言