test_summary_buffer_memory.py — langchain Source File
Architecture documentation for test_summary_buffer_memory.py, a python file in the langchain codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR dccf7ecc_1c53_876a_de81_3e01e7a633e6["test_summary_buffer_memory.py"] 83265fcb_f239_126b_4b58_47636471c382["langchain_classic.memory.summary_buffer"] dccf7ecc_1c53_876a_de81_3e01e7a633e6 --> 83265fcb_f239_126b_4b58_47636471c382 7e88f5ce_ff41_7d87_8fb2_f355489a149e["tests.unit_tests.llms.fake_llm"] dccf7ecc_1c53_876a_de81_3e01e7a633e6 --> 7e88f5ce_ff41_7d87_8fb2_f355489a149e style dccf7ecc_1c53_876a_de81_3e01e7a633e6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Test memory functionality."""
from langchain_classic.memory.summary_buffer import ConversationSummaryBufferMemory
from tests.unit_tests.llms.fake_llm import FakeLLM
def test_summary_buffer_memory_no_buffer_yet() -> None:
"""Test ConversationSummaryBufferMemory when no inputs put in buffer yet."""
memory = ConversationSummaryBufferMemory(llm=FakeLLM(), memory_key="baz")
output = memory.load_memory_variables({})
assert output == {"baz": ""}
async def test_summary_buffer_memory_no_buffer_yet_async() -> None:
"""Test ConversationSummaryBufferMemory when no inputs put in buffer yet."""
memory = ConversationSummaryBufferMemory(llm=FakeLLM(), memory_key="baz")
output = await memory.aload_memory_variables({})
assert output == {"baz": ""}
def test_summary_buffer_memory_buffer_only() -> None:
"""Test ConversationSummaryBufferMemory when only buffer."""
memory = ConversationSummaryBufferMemory(llm=FakeLLM(), memory_key="baz")
memory.save_context({"input": "bar"}, {"output": "foo"})
assert memory.buffer == "Human: bar\nAI: foo"
output = memory.load_memory_variables({})
assert output == {"baz": "Human: bar\nAI: foo"}
async def test_summary_buffer_memory_buffer_only_async() -> None:
"""Test ConversationSummaryBufferMemory when only buffer."""
memory = ConversationSummaryBufferMemory(llm=FakeLLM(), memory_key="baz")
await memory.asave_context({"input": "bar"}, {"output": "foo"})
assert memory.buffer == "Human: bar\nAI: foo"
output = await memory.aload_memory_variables({})
assert output == {"baz": "Human: bar\nAI: foo"}
def test_summary_buffer_memory_summary() -> None:
"""Test ConversationSummaryBufferMemory when only buffer."""
llm = FakeLLM(queries={0: "summary"}, sequential_responses=True)
memory = ConversationSummaryBufferMemory(
llm=llm,
memory_key="baz",
max_token_limit=5,
)
memory.save_context({"input": "bar"}, {"output": "foo"})
memory.save_context({"input": "bar1"}, {"output": "foo1"})
assert memory.buffer == "System: summary\nHuman: bar1\nAI: foo1"
output = memory.load_memory_variables({})
assert output == {"baz": "System: summary\nHuman: bar1\nAI: foo1"}
async def test_summary_buffer_memory_summary_async() -> None:
"""Test ConversationSummaryBufferMemory when only buffer."""
llm = FakeLLM(queries={0: "summary"}, sequential_responses=True)
memory = ConversationSummaryBufferMemory(
llm=llm,
memory_key="baz",
max_token_limit=5,
)
await memory.asave_context({"input": "bar"}, {"output": "foo"})
await memory.asave_context({"input": "bar1"}, {"output": "foo1"})
assert memory.buffer == "System: summary\nHuman: bar1\nAI: foo1"
output = await memory.aload_memory_variables({})
assert output == {"baz": "System: summary\nHuman: bar1\nAI: foo1"}
Domain
Subdomains
Functions
Dependencies
- langchain_classic.memory.summary_buffer
- tests.unit_tests.llms.fake_llm
Source
Frequently Asked Questions
What does test_summary_buffer_memory.py do?
test_summary_buffer_memory.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, RunnableInterface subdomain.
What functions are defined in test_summary_buffer_memory.py?
test_summary_buffer_memory.py defines 6 function(s): test_summary_buffer_memory_buffer_only, test_summary_buffer_memory_buffer_only_async, test_summary_buffer_memory_no_buffer_yet, test_summary_buffer_memory_no_buffer_yet_async, test_summary_buffer_memory_summary, test_summary_buffer_memory_summary_async.
What does test_summary_buffer_memory.py depend on?
test_summary_buffer_memory.py imports 2 module(s): langchain_classic.memory.summary_buffer, tests.unit_tests.llms.fake_llm.
Where is test_summary_buffer_memory.py in the architecture?
test_summary_buffer_memory.py is located at libs/langchain/tests/unit_tests/chains/test_summary_buffer_memory.py (domain: CoreAbstractions, subdomain: RunnableInterface, directory: libs/langchain/tests/unit_tests/chains).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free