feat:实现具有向量和元数据索引的统一内存存储系统

- 添加了 UnifiedMemoryStorage 类,用于管理带向量嵌入的内存块。
- 集成了 FAISS,以实现高效的向量存储和搜索。
- 实现了内存缓存、关键字、类型和用户索引。
- 增加了内存遗忘和自动保存存储数据的支持。
- 包含用于存储、搜索和遗忘记忆的方法。
- 引入了存储行为和性能的配置选项。
- 实现了从磁盘加载和保存内存及向量数据。
This commit is contained in:
Windpicker-owo
2025-10-01 18:02:42 +08:00
parent e09e8fd79e
commit 9359e489a9
28 changed files with 1883 additions and 499 deletions

View File

@@ -172,20 +172,22 @@ class PromptBuilder:
@staticmethod
async def build_memory_block(text: str) -> str:
# 使用新的增强记忆系统检索记忆
# 使用新的统一记忆系统检索记忆
try:
from src.chat.memory_system.enhanced_memory_integration import recall_memories
from src.chat.memory_system import get_memory_system
enhanced_memories = await recall_memories(
query=text,
memory_system = get_memory_system()
enhanced_memories = await memory_system.retrieve_relevant_memories(
query_text=text,
user_id="system", # 系统查询
chat_id="system"
scope_id="system",
limit=5
)
related_memory_info = ""
if enhanced_memories and enhanced_memories.get("has_memories"):
for memory in enhanced_memories.get("memories", []):
related_memory_info += memory.get("content", "") + " "
if enhanced_memories:
for memory_chunk in enhanced_memories:
related_memory_info += memory_chunk.display or memory_chunk.text_content or ""
return await global_prompt_manager.format_prompt("memory_prompt", memory_info=related_memory_info.strip())
return ""