(global_config)
| 144 | |
| 145 | |
| 146 | def hierarchical_clustering(global_config): |
| 147 | entity_results,relation_results=get_common_rag_res(global_config['working_dir']) |
| 148 | all_entities=embedding_data(entity_results) |
| 149 | hierarchical_cluster = Hierarchical_Clustering() |
| 150 | all_entities,generate_relations,community =hierarchical_cluster.perform_clustering(global_config=global_config,entities=all_entities,relations=relation_results,\ |
| 151 | WORKING_DIR=WORKING_DIR,max_workers=global_config['max_workers']) |
| 152 | try : |
| 153 | all_entities[-1]['vector']=embedding(all_entities[-1]['description']) |
| 154 | build_vector_search(all_entities, f"{WORKING_DIR}") |
| 155 | except Exception as e: |
| 156 | print(f"Error in build_vector_search: {e}") |
| 157 | for layer in all_entities: |
| 158 | if type(layer) != list : |
| 159 | if "vector" in layer.keys(): |
| 160 | del layer["vector"] |
| 161 | continue |
| 162 | for item in layer: |
| 163 | if "vector" in item.keys(): |
| 164 | del item["vector"] |
| 165 | if len(layer)==1: |
| 166 | item['parent']='root' |
| 167 | save_relation=[ |
| 168 | v for k, v in generate_relations.items() |
| 169 | ] |
| 170 | save_community=[ |
| 171 | v for k, v in community.items() |
| 172 | ] |
| 173 | write_jsonl(save_relation, f"{global_config['working_dir']}/generate_relations.json") |
| 174 | write_jsonl(save_community, f"{global_config['working_dir']}/community.json") |
| 175 | create_db_table_mysql(global_config['working_dir']) |
| 176 | insert_data_to_mysql(global_config['working_dir']) |
| 177 | |
| 178 | if __name__=="__main__": |
| 179 | try: |
no test coverage detected