From 9c79fd95d81e1dad3fd10d0db366dcc50e20fdc9 Mon Sep 17 00:00:00 2001 From: hs Date: Tue, 18 Jun 2024 16:50:45 +0800 Subject: [PATCH] add cli_config & fix api --- memory_scope/cli/cli_config.py | 67 ++++++++++++++++++- memory_scope/db/elastic_search_client.py | 2 +- memory_scope/models/dash_client.py | 4 +- memory_scope/node/memory_wrap_node.py | 2 +- memory_scope/parsers/response_text_parser.py | 2 +- memory_scope/pipeline/memory.py | 9 ++- ...y_service_bailian.py => memory_service.py} | 17 +++-- memory_scope/utils/context_handler.py | 2 +- memory_scope/utils/timer.py | 2 +- memory_scope/utils/tool_functions.py | 31 ++------- memory_scope/utils/user_profile_handler.py | 4 +- memory_scope/worker/base_worker.py | 6 +- memory_scope/worker/es/es_insight_worker.py | 4 +- memory_scope/worker/es/es_keyword_worker.py | 4 +- memory_scope/worker/es/es_new_obs_worker.py | 4 +- .../worker/es/es_not_reflected_worker.py | 4 +- .../worker/es/es_retrieve_all_worker.py | 4 +- memory_scope/worker/es/es_similar_worker.py | 4 +- memory_scope/worker/es/es_today_obs_worker.py | 5 +- memory_scope/worker/es/load_profile_worker.py | 10 +-- memory_scope/worker/memory_base_worker.py | 18 ++--- memory_scope/worker/memory_store_worker.py | 11 ++- memory_scope/worker/parse_params_worker.py | 4 +- .../worker/retrieve/extract_time_worker.py | 2 +- .../worker/retrieve/fuse_rerank_worker.py | 4 +- .../worker/retrieve/semantic_rank_worker.py | 6 +- .../worker/summary_long/get_insight_worker.py | 4 +- .../summary_long/get_reflection_worker.py | 4 +- .../summary_long/long_contra_repeat_worker.py | 4 +- .../summary_long/summary_collect_worker.py | 4 +- .../summary_long/update_insight_worker.py | 4 +- .../summary_long/update_profile_worker.py | 6 +- .../summary_short/contra_repeat_worker.py | 4 +- .../get_observation_with_time_worker.py | 6 +- .../summary_short/get_observation_worker.py | 6 +- .../summary_short/info_filter_worker.py | 2 +- tests/test_memory.py | 8 +-- 37 files changed, 162 insertions(+), 122 deletions(-) rename memory_scope/pipeline/{memory_service_bailian.py => memory_service.py} (93%) diff --git a/memory_scope/cli/cli_config.py b/memory_scope/cli/cli_config.py index fdb68c7c..8812cec3 100644 --- a/memory_scope/cli/cli_config.py +++ b/memory_scope/cli/cli_config.py @@ -1 +1,66 @@ -# runtime params apikey or overwrite config params + +import json +from pydantic import BaseModel + +from models.dash_embedding_client import DashEmbeddingClient +from models.dash_generate_client import DashGenerateClient +from models.dash_rerank_client import DashReRankClient +from models.elastic_search_client import ElasticSearchClient +from pipeline.memory_service import MemoryService +from enumeration.memory_type_enum import MemoryTypeEnum +from utils.tool_functions import init_instance_by_config + +class Wrapper: + """Wrapper class for anything that needs to set up during init""" + + def __init__(self): + self._provider = None + + def register(self, provider): + self._provider = provider + + def __getattr__(self, key): + if self.__dict__.get("_provider", None) is None: + raise AttributeError("Please run init() first using qlib") + return getattr(self._provider, key) + +class Config(BaseModel): + thread_pool_max_count: int = 5 + pipeline: dict = { + "retrive": """ +parse_params,es.load_profile,[retrieve.extract_time|es.es_similar|es.es_keyword],retrieve.semantic_rank,retrieve.fuse_rerank +""".strip(), + "summary_long": """ +parse_params,summary_short.info_filter,[es.es_today_obs|summary_short.get_observation|summary_short.get_observation_with_time],summary_short.contra_repeat,memory_store +""".strip(), + "summary_short": """ +parse_params,[es.load_profile|es.es_new_obs|es.es_insight],[summary_long.update_insight|summary_long.get_reflection,summary_long.get_insight|summary_long.update_profile],summary_long.summary_collect,memory_store +""".strip() + } + model_embedding = _default_embedding_client + model_generate = _default_generate_client + model_rerank = _default_rerank_client + db = _default_es_client + +class UserConfig(BaseModel): + memory_id: str = "" + +C = Wrapper() + +def init(config_path): + config = json.loads(config_path) + C.register(Config(**config)) + + # ## register modules + C.model_embedding = init_instance_by_config(C.model_embedding) + C.model_generate = init_instance_by_config(C.model_generate) + C.model_rerank = init_instance_by_config(C.model_rerank) + C.db = init_instance_by_config(C.db) + + ## register workers + C.worker = json.loads(C.worker) + + ## register services + for k,v in C.pipeline.items(): + C.pipeline[k] = MemoryService(k) + diff --git a/memory_scope/db/elastic_search_client.py b/memory_scope/db/elastic_search_client.py index 74138cf3..ec069f5e 100644 --- a/memory_scope/db/elastic_search_client.py +++ b/memory_scope/db/elastic_search_client.py @@ -2,7 +2,7 @@ from elasticsearch import Elasticsearch from elasticsearch.helpers import bulk from common.dash_embedding_client import DashEmbeddingClient -from common.logger import Logger +from utils.logger import Logger from constants.common_constants import ES_ENV_URL_DICT from enumeration.env_type import EnvType diff --git a/memory_scope/models/dash_client.py b/memory_scope/models/dash_client.py index 6d07fed4..1d526279 100644 --- a/memory_scope/models/dash_client.py +++ b/memory_scope/models/dash_client.py @@ -4,8 +4,8 @@ from http import HTTPStatus import requests -from common.logger import Logger -from common.timer import Timer +from utils.logger import Logger +from utils.timer import Timer from enumeration.env_type import EnvType diff --git a/memory_scope/node/memory_wrap_node.py b/memory_scope/node/memory_wrap_node.py index 84029fe6..899dd323 100644 --- a/memory_scope/node/memory_wrap_node.py +++ b/memory_scope/node/memory_wrap_node.py @@ -1,6 +1,6 @@ from pydantic import Field, BaseModel -from model.memory_node import MemoryNode +from node.memory_node import MemoryNode class MemoryWrapNode(BaseModel): diff --git a/memory_scope/parsers/response_text_parser.py b/memory_scope/parsers/response_text_parser.py index cfeee808..48dbbd9c 100644 --- a/memory_scope/parsers/response_text_parser.py +++ b/memory_scope/parsers/response_text_parser.py @@ -1,6 +1,6 @@ import re -from common.logger import Logger +from utils.logger import Logger class ResponseTextParser(object): diff --git a/memory_scope/pipeline/memory.py b/memory_scope/pipeline/memory.py index 37457eec..769dab4b 100644 --- a/memory_scope/pipeline/memory.py +++ b/memory_scope/pipeline/memory.py @@ -1,12 +1,11 @@ from typing import List, Dict -from pydantic import Field +from pydantic import Field, BaseModel -from model.message import Message -from model.user_attribute import UserAttribute -from request.base_model import RequestBaseModel +from node.message import Message +from node.user_attribute import UserAttribute -class MemoryServiceRequestModel(RequestBaseModel): +class MemoryServiceRequestModel(BaseModel): user: UserConfig = None messages: List[Message] = Field(..., diff --git a/memory_scope/pipeline/memory_service_bailian.py b/memory_scope/pipeline/memory_service.py similarity index 93% rename from memory_scope/pipeline/memory_service_bailian.py rename to memory_scope/pipeline/memory_service.py index cf7ca0f9..3a505a02 100644 --- a/memory_scope/pipeline/memory_service_bailian.py +++ b/memory_scope/pipeline/memory_service.py @@ -6,17 +6,16 @@ from importlib import import_module from itertools import zip_longest from typing import Dict, Any -from worker.memory.base_worker import BaseWorker - -from common.context_handler import ContextHandler -from common.logger import Logger -from common.timer import timer, Timer +from worker.base_worker import BaseWorker +from utils.context_handler import ContextHandler +from utils.logger import Logger +from utils.timer import timer, Timer from common.tool_functions import under_line_to_hump from constants import common_constants from constants.common_constants import RESPONSE_EXT_INFO, MAX_WORKERS, PIPELINE from enumeration.memory_method_enum import MemoryMethodEnum -from request.memory import MemoryServiceRequestModel -from config.env_config import C, Workers +from pipeline.memory import MemoryServiceRequestModel +from cli.cli_config import C from utils.tool_functions import init_instance_by_config @@ -26,7 +25,7 @@ class MemoryService(object): self.context_handler = ContextHandler() # 线程池 - self.thread_pool = ThreadPoolExecutor(max_workers=C.THREAD_POOL_MAX_COUNT) + self.thread_pool = ThreadPoolExecutor(max_workers=C.thread_pool_max_count) # 全部初始化的worker self.worker_dict: Dict[str, BaseWorker] = {} @@ -40,7 +39,7 @@ class MemoryService(object): def get_worker(self, worker_name: str, is_multi_thread: bool = False) -> BaseWorker: return init_instance_by_config( - config = W.get(worker_name), + config = C.worker.get(worker_name), try_kwargs={ "is_multi_thread": is_multi_thread, "thread_pool": self.thread_pool diff --git a/memory_scope/utils/context_handler.py b/memory_scope/utils/context_handler.py index 71ed7bcd..a4ee67d4 100644 --- a/memory_scope/utils/context_handler.py +++ b/memory_scope/utils/context_handler.py @@ -2,7 +2,7 @@ import os import threading from typing import Dict, Any -from common.logger import Logger +from utils.logger import Logger class ContextHandler(object): def __init__(self): diff --git a/memory_scope/utils/timer.py b/memory_scope/utils/timer.py index 4098d120..0c576363 100644 --- a/memory_scope/utils/timer.py +++ b/memory_scope/utils/timer.py @@ -6,7 +6,7 @@ date: 20221106 import time -from common.logger import Logger +from utils.logger import Logger class Timer(object): diff --git a/memory_scope/utils/tool_functions.py b/memory_scope/utils/tool_functions.py index 959f8f41..849c9e0d 100644 --- a/memory_scope/utils/tool_functions.py +++ b/memory_scope/utils/tool_functions.py @@ -4,29 +4,8 @@ from datetime import datetime from typing import Dict, List from constants.common_constants import WEEKDAYS -from enumeration.env_type import EnvType from importlib import import_module -global_env_type = None - - -def get_global_env_type(): - global global_env_type - - if global_env_type is None: - env = os.environ.get("APP_ENV", "") - if env is None or not env: - raise EnvironmentError("Environment variable APP_ENV must be set") - env = env.split("-")[-1] - - if env not in EnvType.__members__.values(): - global_env_type = EnvType.DAILY - else: - global_env_type = EnvType(env) - - return global_env_type - - def under_line_to_hump(underline_str): sub = re.sub(r'(_\w)', lambda x: x.group(1)[1].upper(), underline_str) return sub[0:1].upper() + sub[1:] @@ -165,10 +144,10 @@ def time_to_formatted_str(time: datetime | str | int | float = None, return return_str -def init_instance_by_config(config, default_module_path=None, try_kwargs={}): - import_module(config.get("module_path", default_module_path)) - clazz = getattr(module, config.get("module_name")) +def init_instance_by_config(config: dict, default_module_path=None, try_kwargs={}): + import_module(config.pop("path", default_module_path)) + clazz = getattr(module, config.pop("name")) try: - return clazz(**config.get("kwargs"),**try_kwargs) + return clazz(**config,**try_kwargs) except: - return clazz(**config.get("kwargs")) \ No newline at end of file + return clazz(**config) \ No newline at end of file diff --git a/memory_scope/utils/user_profile_handler.py b/memory_scope/utils/user_profile_handler.py index 9a390f95..6c8bcf07 100644 --- a/memory_scope/utils/user_profile_handler.py +++ b/memory_scope/utils/user_profile_handler.py @@ -2,8 +2,8 @@ import json from typing import List, Dict from enumeration.memory_node_status import MemoryNodeStatus -from model.memory_wrap_node import MemoryWrapNode -from model.user_attribute import UserAttribute +from node.memory_wrap_node import MemoryWrapNode +from node.user_attribute import UserAttribute class UserProfileHandler(object): diff --git a/memory_scope/worker/base_worker.py b/memory_scope/worker/base_worker.py index 1509e2df..0cac7505 100644 --- a/memory_scope/worker/base_worker.py +++ b/memory_scope/worker/base_worker.py @@ -2,9 +2,9 @@ import time from concurrent.futures import ThreadPoolExecutor, as_completed from typing import Any, List -from common.context_handler import ContextHandler -from common.logger import Logger -from common.timer import Timer +from utils.context_handler import ContextHandler +from utils.logger import Logger +from utils.timer import Timer class BaseWorker(object): diff --git a/memory_scope/worker/es/es_insight_worker.py b/memory_scope/worker/es/es_insight_worker.py index 620b1e26..a42ad613 100644 --- a/memory_scope/worker/es/es_insight_worker.py +++ b/memory_scope/worker/es/es_insight_worker.py @@ -3,8 +3,8 @@ from typing import List from constants.common_constants import INSIGHT_NODES from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsInsightWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/es/es_keyword_worker.py b/memory_scope/worker/es/es_keyword_worker.py index f251b630..5df1cfd7 100644 --- a/memory_scope/worker/es/es_keyword_worker.py +++ b/memory_scope/worker/es/es_keyword_worker.py @@ -4,8 +4,8 @@ from constants.common_constants import KEY_WORD, KEYWORD_OBS_NODES, RECALL_TYPE, from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_recall_type import MemoryRecallType from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory_wrap_node import MemoryWrapNode -from worker.bailian.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsKeywordWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/es/es_new_obs_worker.py b/memory_scope/worker/es/es_new_obs_worker.py index b8aa02cc..55a5d3e3 100644 --- a/memory_scope/worker/es/es_new_obs_worker.py +++ b/memory_scope/worker/es/es_new_obs_worker.py @@ -3,8 +3,8 @@ from typing import List from constants.common_constants import NEW, NEW_OBS_NODES from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsNewObsWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/es/es_not_reflected_worker.py b/memory_scope/worker/es/es_not_reflected_worker.py index e4c9957d..690f9269 100644 --- a/memory_scope/worker/es/es_not_reflected_worker.py +++ b/memory_scope/worker/es/es_not_reflected_worker.py @@ -3,8 +3,8 @@ from typing import List from constants.common_constants import REFLECTED, NOT_REFLECTED_OBS_NODES from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsNotReflectedWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/es/es_retrieve_all_worker.py b/memory_scope/worker/es/es_retrieve_all_worker.py index b0d006d6..8f388dd7 100644 --- a/memory_scope/worker/es/es_retrieve_all_worker.py +++ b/memory_scope/worker/es/es_retrieve_all_worker.py @@ -2,8 +2,8 @@ from typing import List from constants.common_constants import ALL_NODES, ALL_MEMORIES from enumeration.memory_node_status import MemoryNodeStatus -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsRetrieveAllWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/es/es_similar_worker.py b/memory_scope/worker/es/es_similar_worker.py index 9a198e09..c0abd514 100644 --- a/memory_scope/worker/es/es_similar_worker.py +++ b/memory_scope/worker/es/es_similar_worker.py @@ -4,8 +4,8 @@ from constants.common_constants import SIMILAR_OBS_NODES, RECALL_TYPE from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_recall_type import MemoryRecallType from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsSimilarWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/es/es_today_obs_worker.py b/memory_scope/worker/es/es_today_obs_worker.py index c1d8f673..d362b331 100644 --- a/memory_scope/worker/es/es_today_obs_worker.py +++ b/memory_scope/worker/es/es_today_obs_worker.py @@ -4,9 +4,8 @@ from common.tool_functions import time_to_formatted_str from constants.common_constants import TODAY_OBS_NODES, DT from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker - +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class EsTodayObsWorker(MemoryBaseWorker): def __init__(self, es_today_obs_top_k, *args, **kwargs): diff --git a/memory_scope/worker/es/load_profile_worker.py b/memory_scope/worker/es/load_profile_worker.py index ef7cbab1..c8c5a182 100644 --- a/memory_scope/worker/es/load_profile_worker.py +++ b/memory_scope/worker/es/load_profile_worker.py @@ -1,13 +1,13 @@ from typing import List, Dict -from common.user_profile_handler import UserProfileHandler +from utils.user_profile_handler import UserProfileHandler from constants import common_constants from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from model.user_attribute import UserAttribute -from request.memory import MemoryServiceRequestModel -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from node.user_attribute import UserAttribute +from pipeline.memory import MemoryServiceRequestModel +from worker.memory_base_worker import MemoryBaseWorker class LoadProfileWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/memory_base_worker.py b/memory_scope/worker/memory_base_worker.py index 606eac9a..850b0d3d 100644 --- a/memory_scope/worker/memory_base_worker.py +++ b/memory_scope/worker/memory_base_worker.py @@ -3,11 +3,11 @@ from typing import List, Dict, Optional from constants import common_constants from constants.common_constants import CONFIG, MESSAGES, PROMPT_CONFIG from enumeration.message_role_enum import MessageRoleEnum -from model.message import Message -from model.user_attribute import UserAttribute -from request.memory import MemoryServiceRequestModel -from worker.memory.base_worker import BaseWorker -from config.env_config import EnvConfig +from node.message import Message +from node.user_attribute import UserAttribute +from pipeline.memory import MemoryServiceRequestModel +from worker.base_worker import BaseWorker +from cli.cli_config import C class MemoryBaseWorker(BaseWorker): def __init__(self, **kwargs): @@ -52,19 +52,19 @@ class MemoryBaseWorker(BaseWorker): @property def emb_client(self): - return C.emb_client + return C.model_embedding @property def gene_client(self): - return C.gene_client + return C.model_generate @property def rerank_client(self): - return C.rerank_client + return C.model_rerank @property def es_client(self): - return C.es_client + return C.db @property def tenant_id(self): diff --git a/memory_scope/worker/memory_store_worker.py b/memory_scope/worker/memory_store_worker.py index 5740dc89..35ef8b1c 100644 --- a/memory_scope/worker/memory_store_worker.py +++ b/memory_scope/worker/memory_store_worker.py @@ -1,12 +1,11 @@ from typing import List -from common.user_profile_handler import UserProfileHandler +from utils.user_profile_handler import UserProfileHandler from constants.common_constants import MODIFIED_MEMORIES, NEW_USER_PROFILE -from model.memory_node import MemoryNode -from model.memory.memory_wrap_node import MemoryWrapNode -from model.user_attribute import UserAttribute -from worker.memory.memory_base_worker import MemoryBaseWorker - +from node.memory_node import MemoryNode +from node.memory_wrap_node import MemoryWrapNode +from node.user_attribute import UserAttribute +from worker.memory_base_worker import MemoryBaseWorker class MemoryStoreWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/parse_params_worker.py b/memory_scope/worker/parse_params_worker.py index 76bff3ee..e26620a7 100644 --- a/memory_scope/worker/parse_params_worker.py +++ b/memory_scope/worker/parse_params_worker.py @@ -2,8 +2,8 @@ import json from config.bailian_memory_config import BailianMemoryConfig from constants.common_constants import REQUEST, CONFIG -from request.memory import MemoryServiceRequestModel -from worker.memory.base_worker import BaseWorker +from pipeline.memory import MemoryServiceRequestModel +from worker.base_worker import BaseWorker class ParseParamsWorker(BaseWorker): diff --git a/memory_scope/worker/retrieve/extract_time_worker.py b/memory_scope/worker/retrieve/extract_time_worker.py index 0a492431..fd297d14 100644 --- a/memory_scope/worker/retrieve/extract_time_worker.py +++ b/memory_scope/worker/retrieve/extract_time_worker.py @@ -3,7 +3,7 @@ import re from common.tool_functions import time_to_formatted_str from constants.common_constants import DATATIME_WORD_LIST, DATATIME_KEY_MAP from constants.common_constants import EXTRACT_TIME_DICT -from worker.memory.memory_base_worker import MemoryBaseWorker +from worker.memory_base_worker import MemoryBaseWorker class ExtractTimeWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/retrieve/fuse_rerank_worker.py b/memory_scope/worker/retrieve/fuse_rerank_worker.py index e56bb7aa..7b579eca 100644 --- a/memory_scope/worker/retrieve/fuse_rerank_worker.py +++ b/memory_scope/worker/retrieve/fuse_rerank_worker.py @@ -2,8 +2,8 @@ from typing import Dict, List from constants.common_constants import RELATED_MEMORIES, EXTRACT_TIME_DICT, ALL_ONLINE_NODES, \ TIME_MATCHED -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class FuseRerankWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/retrieve/semantic_rank_worker.py b/memory_scope/worker/retrieve/semantic_rank_worker.py index c20e672c..2864ef74 100644 --- a/memory_scope/worker/retrieve/semantic_rank_worker.py +++ b/memory_scope/worker/retrieve/semantic_rank_worker.py @@ -1,11 +1,11 @@ from typing import List, Dict -from common.user_profile_handler import UserProfileHandler +from utils.user_profile_handler import UserProfileHandler from constants.common_constants import SIMILAR_OBS_NODES, RECALL_TYPE, KEYWORD_OBS_NODES, ALL_ONLINE_NODES, \ QUERY_KEYWORDS from enumeration.memory_recall_type import MemoryRecallType -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class SemanticRankWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_long/get_insight_worker.py b/memory_scope/worker/summary_long/get_insight_worker.py index ede0c44e..1c6b4458 100644 --- a/memory_scope/worker/summary_long/get_insight_worker.py +++ b/memory_scope/worker/summary_long/get_insight_worker.py @@ -6,8 +6,8 @@ from constants.common_constants import NEW_INSIGHT_NODES, DT, NOT_REFLECTED_MERG INSIGHT_VALUE, REFLECTED from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class GetInsightWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_long/get_reflection_worker.py b/memory_scope/worker/summary_long/get_reflection_worker.py index 45ea8060..0e8fe4ca 100644 --- a/memory_scope/worker/summary_long/get_reflection_worker.py +++ b/memory_scope/worker/summary_long/get_reflection_worker.py @@ -3,8 +3,8 @@ from typing import List from common.response_text_parser import ResponseTextParser from constants.common_constants import NEW_OBS_NODES, NOT_REFLECTED_OBS_NODES, REFLECTED, INSIGHT_NODES, INSIGHT_KEY, \ NEW_INSIGHT_KEYS, NOT_REFLECTED_MERGE_NODES -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class GetReflectionWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_long/long_contra_repeat_worker.py b/memory_scope/worker/summary_long/long_contra_repeat_worker.py index 87bb77d8..a517d830 100644 --- a/memory_scope/worker/summary_long/long_contra_repeat_worker.py +++ b/memory_scope/worker/summary_long/long_contra_repeat_worker.py @@ -5,8 +5,8 @@ from constants.common_constants import NEW_OBS_NODES, TODAY_OBS_NODES, MSG_TIME, MODIFIED_MEMORIES from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory_wrap_node import MemoryWrapNode -from worker.bailian.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class LongContraRepeatWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_long/summary_collect_worker.py b/memory_scope/worker/summary_long/summary_collect_worker.py index d42520aa..613638b9 100644 --- a/memory_scope/worker/summary_long/summary_collect_worker.py +++ b/memory_scope/worker/summary_long/summary_collect_worker.py @@ -2,8 +2,8 @@ from typing import List, Dict from constants.common_constants import NEW_INSIGHT_NODES, MODIFIED_MEMORIES, INSIGHT_NODES, NEW_OBS_NODES, \ NOT_REFLECTED_OBS_NODES, NEW, NOT_REFLECTED_MERGE_NODES -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class SummaryCollectWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_long/update_insight_worker.py b/memory_scope/worker/summary_long/update_insight_worker.py index e30b0e3d..96f49c6a 100644 --- a/memory_scope/worker/summary_long/update_insight_worker.py +++ b/memory_scope/worker/summary_long/update_insight_worker.py @@ -2,8 +2,8 @@ from typing import List from common.response_text_parser import ResponseTextParser from constants.common_constants import INSIGHT_NODES, NEW_OBS_NODES, INSIGHT_KEY, INSIGHT_VALUE -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class UpdateInsightWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_long/update_profile_worker.py b/memory_scope/worker/summary_long/update_profile_worker.py index e2f621b7..1bcb7d13 100644 --- a/memory_scope/worker/summary_long/update_profile_worker.py +++ b/memory_scope/worker/summary_long/update_profile_worker.py @@ -3,9 +3,9 @@ from typing import List from common.response_text_parser import ResponseTextParser from constants.common_constants import NEW_OBS_NODES, NEW_USER_PROFILE from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from model.user_attribute import UserAttribute -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from node.user_attribute import UserAttribute +from worker.memory_base_worker import MemoryBaseWorker class UpdateProfileWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_short/contra_repeat_worker.py b/memory_scope/worker/summary_short/contra_repeat_worker.py index 34ca3760..fa8d8f45 100644 --- a/memory_scope/worker/summary_short/contra_repeat_worker.py +++ b/memory_scope/worker/summary_short/contra_repeat_worker.py @@ -4,8 +4,8 @@ from common.response_text_parser import ResponseTextParser from constants.common_constants import NEW_OBS_NODES, TODAY_OBS_NODES, MSG_TIME, NEW_OBS_WITH_TIME_NODES, \ MODIFIED_MEMORIES from enumeration.memory_node_status import MemoryNodeStatus -from model.memory.memory_wrap_node import MemoryWrapNode -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from worker.memory_base_worker import MemoryBaseWorker class ContraRepeatWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_short/get_observation_with_time_worker.py b/memory_scope/worker/summary_short/get_observation_with_time_worker.py index 4d5a772f..26983ea6 100644 --- a/memory_scope/worker/summary_short/get_observation_with_time_worker.py +++ b/memory_scope/worker/summary_short/get_observation_with_time_worker.py @@ -7,9 +7,9 @@ from constants.common_constants import REFLECTED, DT, TIME_INFER, NEW, MSG_TIME, NEW_OBS_WITH_TIME_NODES from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from model.message import Message -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from node.message import Message +from worker.memory_base_worker import MemoryBaseWorker class GetObservationWithTimeWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_short/get_observation_worker.py b/memory_scope/worker/summary_short/get_observation_worker.py index 3d850259..b4b77b47 100644 --- a/memory_scope/worker/summary_short/get_observation_worker.py +++ b/memory_scope/worker/summary_short/get_observation_worker.py @@ -7,9 +7,9 @@ from constants.common_constants import REFLECTED, DT, NEW_OBS_NODES, TIME_INFER, DATATIME_WORD_LIST from enumeration.memory_node_status import MemoryNodeStatus from enumeration.memory_type_enum import MemoryTypeEnum -from model.memory.memory_wrap_node import MemoryWrapNode -from model.message import Message -from worker.memory.memory_base_worker import MemoryBaseWorker +from node.memory_wrap_node import MemoryWrapNode +from node.message import Message +from worker.memory_base_worker import MemoryBaseWorker class GetObservationWorker(MemoryBaseWorker): diff --git a/memory_scope/worker/summary_short/info_filter_worker.py b/memory_scope/worker/summary_short/info_filter_worker.py index 311c8d8b..0723ea54 100644 --- a/memory_scope/worker/summary_short/info_filter_worker.py +++ b/memory_scope/worker/summary_short/info_filter_worker.py @@ -1,6 +1,6 @@ from common.response_text_parser import ResponseTextParser from enumeration.message_role_enum import MessageRoleEnum -from worker.memory.memory_base_worker import MemoryBaseWorker +from worker.memory_base_worker import MemoryBaseWorker class InfoFilterWorker(MemoryBaseWorker): diff --git a/tests/test_memory.py b/tests/test_memory.py index 24d263a1..a6ef0235 100644 --- a/tests/test_memory.py +++ b/tests/test_memory.py @@ -3,12 +3,12 @@ import os import time from typing import List, Dict -from common.logger import Logger +from utils.logger import Logger from constants.common_constants import NEW_USER_PROFILE, MODIFIED_MEMORIES, RELATED_MEMORIES from enumeration.memory_method_enum import MemoryMethodEnum -from model.memory_node import MemoryNode -from model.user_attribute import UserAttribute -from request.memory import MemoryServiceRequestModel +from node.memory_node import MemoryNode +from node.user_attribute import UserAttribute +from pipeline.memory import MemoryServiceRequestModel from service.memory_service_bailian import MemoryServiceBailian """