Files
langchain/docs/extras/integrations/memory/motorhead_memory.ipynb
T

4.7 KiB

Motörhead Memory

Motörhead is a memory server implemented in Rust. It automatically handles incremental summarization in the background and allows for stateless applications.

Setup

See instructions at Motörhead for running the server locally.

In [1]:
from langchain.memory.motorhead_memory import MotorheadMemory
from langchain.llms import OpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

template = """You are a chatbot having a conversation with a human.

{chat_history}
Human: {human_input}
AI:"""

prompt = PromptTemplate(
    input_variables=["chat_history", "human_input"], template=template
)
memory = MotorheadMemory(
    session_id="testing-1", url="http://localhost:8080", memory_key="chat_history"
)

await memory.init()
# loads previous state from Motörhead 🤘

llm_chain = LLMChain(
    llm=OpenAI(),
    prompt=prompt,
    verbose=True,
    memory=memory,
)
In [2]:
llm_chain.run("hi im bob")
Out [2]:

> Entering new LLMChain chain...
Prompt after formatting:
You are a chatbot having a conversation with a human.


Human: hi im bob
AI:

> Finished chain.
' Hi Bob, nice to meet you! How are you doing today?'
In [3]:
llm_chain.run("whats my name?")
Out [3]:

> Entering new LLMChain chain...
Prompt after formatting:
You are a chatbot having a conversation with a human.

Human: hi im bob
AI:  Hi Bob, nice to meet you! How are you doing today?
Human: whats my name?
AI:

> Finished chain.
' You said your name is Bob. Is that correct?'
In [4]:
llm_chain.run("whats for dinner?")
Out [4]:

> Entering new LLMChain chain...
Prompt after formatting:
You are a chatbot having a conversation with a human.

Human: hi im bob
AI:  Hi Bob, nice to meet you! How are you doing today?
Human: whats my name?
AI:  You said your name is Bob. Is that correct?
Human: whats for dinner?
AI:

> Finished chain.
"  I'm sorry, I'm not sure what you're asking. Could you please rephrase your question?"
In [ ]: