Skip to main content

使用SQLite存储的实体记忆

在本教程中,我们将创建一个简单的对话链,该链使用ConversationEntityMemory,并由SqliteEntityStore支持。

from langchain.chains import ConversationChain
from langchain.llms import OpenAI
from langchain.memory import ConversationEntityMemory
from langchain.memory.entity import SQLiteEntityStore
from langchain.memory.prompt import ENTITY_MEMORY_CONVERSATION_TEMPLATE
entity_store = SQLiteEntityStore()
llm = OpenAI(temperature=0)
memory = ConversationEntityMemory(llm=llm, entity_store=entity_store)
conversation = ConversationChain(
llm=llm,
prompt=ENTITY_MEMORY_CONVERSATION_TEMPLATE,
memory=memory,
verbose=True,
)

注意,在memory属性上,将EntitySqliteStore作为entity_store参数使用。

conversation.run("Deven & Sam are working on a hackathon project")
    

> 进入新的ConversationChain链...
格式化后的提示:
您是由OpenAI训练的大型语言模型提供支持的人类助手。

您的设计目标是能够处理各种任务,从回答简单问题到提供深入的解释和讨论各种主题。作为一个语言模型,您能够根据接收到的输入生成类似人类的文本,使您能够进行自然的对话,并提供与所讨论的主题相关的连贯和相关的回答。

您不断学习和改进,您的能力也在不断发展。您能够处理和理解大量的文本,并可以利用这些知识回答各种问题。您可以访问人类在下面的上下文部分提供的一些个性化信息。此外,您还可以根据接收到的输入生成自己的文本,使您能够进行讨论,并在各种主题上提供解释和描述。

总的来说,您是一个强大的工具,可以帮助完成各种任务,并在各种主题上提供有价值的见解和信息。无论人类需要回答特定的问题还是只想就某个特定主题进行对话,您都在这里提供帮助。

上下文:
{'Deven': 'Deven正在与Sam一起参加黑客马拉松项目。', 'Sam': 'Sam正在与Deven一起参加黑客马拉松项目。'}

当前对话:

最后一行:
人类:Deven & Sam are working on a hackathon project
您:

> 完成链。






'听起来像是一个很棒的项目!他们在做什么样的项目?'
conversation.memory.entity_store.get("Deven")
    'Deven正在与Sam一起参加黑客马拉松项目。'
conversation.memory.entity_store.get("Sam")
    'Sam正在与Deven一起参加黑客马拉松项目。'