louvain_cluster_leaves

louvain_cluster_leaves(
    idx,
    coords,
    embeddings,
    leaf_k=10,
    similarity_threshold=0.5,
    resolution=1.0,
)

Cluster tree leaves via centroid KNN + Louvain community detection.

Finds natural communities without requiring a target k. Builds a KNN graph over leaf centroids, filters weak edges by cosine similarity threshold, then runs Louvain to discover communities.

Parameters

Name Type Description Default
idx An open LazyIndex handle. required
coords (N, 2-or-3) UMAP coordinates for every item. required
embeddings (N, D) embedding matrix (float32). required
leaf_k Number of nearest neighbors per leaf centroid (default 10). 10
similarity_threshold Minimum cosine similarity to keep an edge (default 0.5). 0.5
resolution Louvain resolution parameter; higher = more communities (default 1.0). 1.0

Returns

Name Type Description
Same tuple as agglomerate_tree_leaves:
(point_labels, lsh_names, lsh_label_data, item_leaf_map, | | | | tree_structure).
Returns (None, {}, [], None, tree) when the tree has fewer than
two leaves.