@@ -419,17 +419,31 @@ def get_embedder_config() -> dict[str, Any]:
419419 },
420420 }
421421
422+ @staticmethod
423+ def get_reader_config () -> dict [str , Any ]:
424+ """Get reader configuration."""
425+ return {
426+ "backend" : os .getenv ("MEM_READER_BACKEND" , "simple_struct" ),
427+ "config" : {
428+ "chunk_type" : os .getenv ("MEM_READER_CHAT_CHUNK_TYPE" , "default" ),
429+ "chunk_length" : int (os .getenv ("MEM_READER_CHAT_CHUNK_TOKEN_SIZE" , 1600 )),
430+ "chunk_session" : int (os .getenv ("MEM_READER_CHAT_CHUNK_SESS_SIZE" , 20 )),
431+ "chunk_overlap" : int (os .getenv ("MEM_READER_CHAT_CHUNK_OVERLAP" , 2 )),
432+ },
433+ }
434+
422435 @staticmethod
423436 def get_internet_config () -> dict [str , Any ]:
424437 """Get embedder configuration."""
438+ reader_config = APIConfig .get_reader_config ()
425439 return {
426440 "backend" : "bocha" ,
427441 "config" : {
428442 "api_key" : os .getenv ("BOCHA_API_KEY" ),
429443 "max_results" : 15 ,
430444 "num_per_request" : 10 ,
431445 "reader" : {
432- "backend" : "simple_struct" ,
446+ "backend" : reader_config [ "backend" ] ,
433447 "config" : {
434448 "llm" : {
435449 "backend" : "openai" ,
@@ -455,6 +469,7 @@ def get_internet_config() -> dict[str, Any]:
455469 "min_sentences_per_chunk" : 1 ,
456470 },
457471 },
472+ "chat_chunker" : reader_config ,
458473 },
459474 },
460475 },
@@ -656,6 +671,8 @@ def get_product_default_config() -> dict[str, Any]:
656671 openai_config = APIConfig .get_openai_config ()
657672 qwen_config = APIConfig .qwen_config ()
658673 vllm_config = APIConfig .vllm_config ()
674+ reader_config = APIConfig .get_reader_config ()
675+
659676 backend_model = {
660677 "openai" : openai_config ,
661678 "huggingface" : qwen_config ,
@@ -667,7 +684,7 @@ def get_product_default_config() -> dict[str, Any]:
667684 "user_id" : os .getenv ("MOS_USER_ID" , "root" ),
668685 "chat_model" : {"backend" : backend , "config" : backend_model [backend ]},
669686 "mem_reader" : {
670- "backend" : "simple_struct" ,
687+ "backend" : reader_config [ "backend" ] ,
671688 "config" : {
672689 "llm" : APIConfig .get_memreader_config (),
673690 "embedder" : APIConfig .get_embedder_config (),
@@ -680,6 +697,7 @@ def get_product_default_config() -> dict[str, Any]:
680697 "min_sentences_per_chunk" : 1 ,
681698 },
682699 },
700+ "chat_chunker" : reader_config ,
683701 },
684702 },
685703 "enable_textual_memory" : True ,
@@ -750,6 +768,7 @@ def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, General
750768 qwen_config = APIConfig .qwen_config ()
751769 vllm_config = APIConfig .vllm_config ()
752770 mysql_config = APIConfig .get_mysql_config ()
771+ reader_config = APIConfig .get_reader_config ()
753772 backend = os .getenv ("MOS_CHAT_MODEL_PROVIDER" , "openai" )
754773 backend_model = {
755774 "openai" : openai_config ,
@@ -764,7 +783,7 @@ def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, General
764783 "config" : backend_model [backend ],
765784 },
766785 "mem_reader" : {
767- "backend" : "simple_struct" ,
786+ "backend" : reader_config [ "backend" ] ,
768787 "config" : {
769788 "llm" : APIConfig .get_memreader_config (),
770789 "embedder" : APIConfig .get_embedder_config (),
@@ -777,6 +796,7 @@ def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, General
777796 "min_sentences_per_chunk" : 1 ,
778797 },
779798 },
799+ "chat_chunker" : reader_config ,
780800 },
781801 },
782802 "enable_textual_memory" : True ,
@@ -845,6 +865,10 @@ def create_user_config(user_name: str, user_id: str) -> tuple[MOSConfig, General
845865 "LongTermMemory" : os .getenv ("NEBULAR_LONGTERM_MEMORY" , 1e6 ),
846866 "UserMemory" : os .getenv ("NEBULAR_USER_MEMORY" , 1e6 ),
847867 },
868+ "search_strategy" : {
869+ "bm25" : bool (os .getenv ("BM25_CALL" , "false" ) == "true" ),
870+ "cot" : bool (os .getenv ("VEC_COT_CALL" , "false" ) == "true" ),
871+ },
848872 },
849873 },
850874 "act_mem" : {}
@@ -912,6 +936,10 @@ def get_default_cube_config() -> GeneralMemCubeConfig | None:
912936 "LongTermMemory" : os .getenv ("NEBULAR_LONGTERM_MEMORY" , 1e6 ),
913937 "UserMemory" : os .getenv ("NEBULAR_USER_MEMORY" , 1e6 ),
914938 },
939+ "search_strategy" : {
940+ "bm25" : bool (os .getenv ("BM25_CALL" , "false" ) == "true" ),
941+ "cot" : bool (os .getenv ("VEC_COT_CALL" , "false" ) == "true" ),
942+ },
915943 "mode" : os .getenv ("ASYNC_MODE" , "sync" ),
916944 },
917945 },
0 commit comments