引言
在数据科学和机器学习领域,创建交互式应用程序是展示模型和算法的重要方式。Streamlit 是一个开源的 Python 库,可以轻松地创建和共享优美的自定义 Web 应用。本篇文章将带你了解如何在 Streamlit 应用中存储和使用聊天消息历史。
主要内容
1. 安装与环境配置
首先,我们需要安装 langchain-community
和 streamlit
。运行以下命令来确保安装最新版本:
pip install -U langchain-community streamlit
2. 在 Streamlit 中管理聊天历史
StreamlitChatMessageHistory
类允许我们将消息存储在 Streamlit 会话状态中,并且可以指定键。默认键为 "langchain_messages"
。
from langchain_community.chat_message_histories import StreamlitChatMessageHistory
history = StreamlitChatMessageHistory(key="chat_messages")
history.add_user_message("hi!")
history.add_ai_message("whats up?")
这些历史记录会在每次应用重新运行时保留,确保用户体验的一致性。
3. 与 LangChain 的结合
我们可以将消息历史与 LCEL Runnables 结合使用。这使得应用在不同用户会话中不会共享历史记录。
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.runnables.history import