LangChain Memory - 给AI增加记忆(一)
LangChain Memory - 给AI增加记忆(二)
从上两次的学习,我们都可以看到,每次给AI输入的时候,最终吐给大模型都会带上之前的信息及对应的回复。token不断变大,太花钱了,也很容易导致溢出。针对Token逐渐增加的情况,我们有两种处理方案,一种优化历史信息,一种限制Token长度。
查官方资料后发现大模型记忆有多种:
ConversationBufferMemory:一字不漏的储存对话信息。随着对话轮数增加,传给模型的历史消息列表越来越长,消耗的token越来越多。当消息长度达到模型上下文窗口token的限制时,就无法传给模型。需要手动进行截断。
实例化:memory = ConversationBufferMemory(return_messages=True)
调用链:chain = ConversationChain(llm=model, memory=memory)
示例:
ConversationBufferWindowMemory:参数k:最多储存的历史对话数量
实例化:memory = ConversationBufferWindowMemory(return_messages=True,k=整数)
调用链:chain = ConversationChain(llm=model, memory=memory)
示例:
from langchain.chains import ConversationChain
from langchain_openai import ChatOpenAI
from langchain.memory import ConversationBufferWindowMemory
model = ChatOpenAI(
openai_api_key = "你的API-KEY",
openai_api_base = "API-KEY域名/v1",
model_name = "Qwen3-235B-A22B",
temperature = 0.4,
streaming = True,
max_retries = 0,
presence_penalty = 0.95,
request_timeout = 60
)
memory = ConversationBufferWindowMemory(return_messages=True,k=2)
chain = ConversationChain

最低0.47元/天 解锁文章
9002

被折叠的 条评论
为什么被折叠?



