老师好,最近我在开发企业内部的rag问答系统,现在公司的需求是要保存所有用户和人工智能的聊天对话,并且需要有聊天记忆,现在弄的我就不太清楚怎么做,是否要使用这章学的内容用ConversationChain和ConversationBufferMemory,但是要实现长时记忆和永久记忆是不是就要用redis和mysql了。
目前我的想法是每个用户的前10条对话历史存在redis,其余所有对话历史存在mysql,然后将10条对话历史转成字符串嵌入到PromptTemplate里面,加上预设提示词和用户问题一起发给大模型。
还有一种设计是使用ChatPromptTemplate、MessagesPlaceholder、HumanMessage和AIMessage,将10条历史对话记录循环组合HumanMessage和AIMessage,并用消息占位MessagesPlaceholder加入到ChatPromptTemplate中,再发给大模型。
这两种设计是不是可以的?还是说要用其他方式,老师有什么建议呢?
登录后可查看更多问答,登录/注册