MCPcopy Index your code
hub / github.com/KnowledgeXLab/LeanRAG / hierarchical_clustering

Function hierarchical_clustering

build_graph.py:146–176  ·  view source on GitHub ↗
(global_config)

Source from the content-addressed store, hash-verified

144
145
146def 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
178if __name__=="__main__":
179 try:

Callers 1

build_graph.pyFile · 0.85

Calls 9

perform_clusteringMethod · 0.95
build_vector_searchFunction · 0.90
write_jsonlFunction · 0.90
create_db_table_mysqlFunction · 0.90
insert_data_to_mysqlFunction · 0.90
get_common_rag_resFunction · 0.85
embedding_dataFunction · 0.85
embeddingFunction · 0.70

Tested by

no test coverage detected