Fix duplicated metadata issue while adding or updating memories (#2592)
This commit is contained in:
@@ -7,6 +7,7 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
import warnings
|
import warnings
|
||||||
|
from copy import deepcopy
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
|
|
||||||
@@ -292,7 +293,7 @@ class Memory(MemoryBase):
|
|||||||
memory_id = self._create_memory(
|
memory_id = self._create_memory(
|
||||||
data=resp.get("text"),
|
data=resp.get("text"),
|
||||||
existing_embeddings=new_message_embeddings,
|
existing_embeddings=new_message_embeddings,
|
||||||
metadata=metadata,
|
metadata=deepcopy(metadata),
|
||||||
)
|
)
|
||||||
returned_memories.append(
|
returned_memories.append(
|
||||||
{
|
{
|
||||||
@@ -306,7 +307,7 @@ class Memory(MemoryBase):
|
|||||||
memory_id=temp_uuid_mapping[resp["id"]],
|
memory_id=temp_uuid_mapping[resp["id"]],
|
||||||
data=resp.get("text"),
|
data=resp.get("text"),
|
||||||
existing_embeddings=new_message_embeddings,
|
existing_embeddings=new_message_embeddings,
|
||||||
metadata=metadata,
|
metadata=deepcopy(metadata),
|
||||||
)
|
)
|
||||||
returned_memories.append(
|
returned_memories.append(
|
||||||
{
|
{
|
||||||
@@ -1039,7 +1040,9 @@ class AsyncMemory(MemoryBase):
|
|||||||
elif resp.get("event") == "ADD":
|
elif resp.get("event") == "ADD":
|
||||||
task = asyncio.create_task(
|
task = asyncio.create_task(
|
||||||
self._create_memory(
|
self._create_memory(
|
||||||
data=resp.get("text"), existing_embeddings=new_message_embeddings, metadata=metadata
|
data=resp.get("text"),
|
||||||
|
existing_embeddings=new_message_embeddings,
|
||||||
|
metadata=deepcopy(metadata),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
memory_tasks.append((task, resp, "ADD", None))
|
memory_tasks.append((task, resp, "ADD", None))
|
||||||
@@ -1049,7 +1052,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
memory_id=temp_uuid_mapping[resp["id"]],
|
memory_id=temp_uuid_mapping[resp["id"]],
|
||||||
data=resp.get("text"),
|
data=resp.get("text"),
|
||||||
existing_embeddings=new_message_embeddings,
|
existing_embeddings=new_message_embeddings,
|
||||||
metadata=metadata,
|
metadata=deepcopy(metadata),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
memory_tasks.append((task, resp, "UPDATE", temp_uuid_mapping[resp["id"]]))
|
memory_tasks.append((task, resp, "UPDATE", temp_uuid_mapping[resp["id"]]))
|
||||||
|
|||||||
Reference in New Issue
Block a user