|
|
@@ -2,16 +2,32 @@ import pytest
|
|
|
from app.memory.store import MemoryManager
|
|
|
|
|
|
|
|
|
+class FakeEmbeddings:
|
|
|
+ """最小 Embeddings 桩(O-14 终裁 2026-11-08 09:1x)。
|
|
|
+
|
|
|
+ MemoryManager.__init__(embeddings) 已将 embeddings 改为必传
|
|
|
+ (向量版记忆,langchain_chroma.Chroma 替换已废弃 langchain.memory)。
|
|
|
+ 本桩实现 langchain Embeddings 兼容接口,返回固定 4 维向量,
|
|
|
+ 仅用于单测构造 MemoryManager,不触发真实嵌入。
|
|
|
+ """
|
|
|
+
|
|
|
+ def embed_documents(self, texts):
|
|
|
+ return [[0.0, 0.1, 0.2, 0.3] for _ in texts]
|
|
|
+
|
|
|
+ def embed_query(self, text):
|
|
|
+ return [0.0, 0.1, 0.2, 0.3]
|
|
|
+
|
|
|
+
|
|
|
@pytest.mark.asyncio
|
|
|
async def test_memory_manager_init():
|
|
|
- mgr = MemoryManager()
|
|
|
+ mgr = MemoryManager(embeddings=FakeEmbeddings())
|
|
|
assert mgr is not None
|
|
|
assert mgr.memory_vectorstore is not None
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
async def test_working_memory():
|
|
|
- mgr = MemoryManager()
|
|
|
+ mgr = MemoryManager(embeddings=FakeEmbeddings())
|
|
|
mem = mgr.get_working_memory()
|
|
|
assert mem is not None
|
|
|
assert mem.memory_key == "history"
|
|
|
@@ -19,7 +35,7 @@ async def test_working_memory():
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
async def test_longterm_memory():
|
|
|
- mgr = MemoryManager()
|
|
|
+ mgr = MemoryManager(embeddings=FakeEmbeddings())
|
|
|
mem = mgr.get_longterm_memory(user_id=1)
|
|
|
assert mem is not None
|
|
|
- assert mem.memory_key == "long_term_memory"
|
|
|
+ assert mem.memory_key == "long_term_memory"
|