Explorar el Código

how agent find_tree_nodes_by_conditional_ratio update

liuzhiheng hace 1 mes
padre
commit
c0a6749d82
Se han modificado 1 ficheros con 6 adiciones y 0 borrados
  1. 6 0
      examples_how/overall_derivation/tools/find_tree_node.py

+ 6 - 0
examples_how/overall_derivation/tools/find_tree_node.py

@@ -628,6 +628,7 @@ async def find_tree_nodes_by_conditional_ratio(
         node_belonging_dim_platform: Optional[dict[str, str]] = None
         dim_source = ""
         derived_dim_names: list[str] = []
+        derived_items_len = len(derived_items or [])
         if log_id and str(log_id).strip():
             derived_dim_names = _load_derived_dim_tree_node_names(
                 account_name, post_id, str(log_id).strip(), int(round)
@@ -648,6 +649,11 @@ async def find_tree_nodes_by_conditional_ratio(
             else:
                 dim_source = "未读到 derived_dims(无对应维度分析文件或为空),未收窄"
 
+        # 当 derived_items 太多时,用 derived_dim_names 作为条件概率计算锚点:
+        # 将每个 derived_dim_names 的 name 都映射为 (topic=name, source_node=name)。
+        if derived_items_len > 15 and derived_dim_names:
+            derived_list = [(n, n) for n in derived_dim_names]
+
         # 1)账号人设树:按条件概率筛选;帖子选题点匹配仅走账号 match_data(match_derivation_to_post_points)
         items = get_nodes_by_conditional_ratio(
             account_name,