From dbdda0fbabff048a96db16f833938dfedc789fef Mon Sep 17 00:00:00 2001 From: TeslaZY Date: Fri, 28 Nov 2025 13:30:53 +0800 Subject: [PATCH] Feat: optimize meta filter generation for better structure handling (#11586) ### What problem does this PR solve? optimize meta filter generation for better structure handling ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- rag/prompts/generator.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rag/prompts/generator.py b/rag/prompts/generator.py index 82c6466a2..dd33d885e 100644 --- a/rag/prompts/generator.py +++ b/rag/prompts/generator.py @@ -430,9 +430,13 @@ def rank_memories(chat_mdl, goal:str, sub_goal:str, tool_call_summaries: list[st def gen_meta_filter(chat_mdl, meta_data:dict, query: str) -> dict: + meta_data_structure = {} + for key, values in meta_data.items(): + meta_data_structure[key] = list(values.keys()) if isinstance(values, dict) else values + sys_prompt = PROMPT_JINJA_ENV.from_string(META_FILTER).render( current_date=datetime.datetime.today().strftime('%Y-%m-%d'), - metadata_keys=json.dumps(meta_data), + metadata_keys=json.dumps(meta_data_structure), user_question=query ) user_prompt = "Generate filters:"