<｜begin▁of▁sentence｜>### Instruction:
Imagine you're working on a digital art installation that visualizes complex networks. For one of your pieces, you've decided to represent the social connections within a small community using an interactive network display. You want to create a digital representation of this network using a random model that is akin to the social dynamics at play.

In this creative endeavor, you're looking to craft an undirected Erdős-Rényi network model that symbolizes a community with 10 individuals and 15 connections amongst them. You plan to bring this concept to life using NetworkX, a powerful Python library, to transform this abstract network model into a manipulable graph object.

For a deeper narrative in your artwork, you're curious about the number of distinct social circles that emerge within this virtual community. Specifically, you're keen to compute the separate connected components in this graphical representation, which would translate to the different cliques or friend groups in the community.

So, in the language of your digital artistry, could you embody this scenario by synthesizing an undirected Erdős-Rényi graph with the specifics I've provided, transmute it into a NetworkX graph object, and deduce the quantity of isolated social constellations (connected components) this network comprises?
### Response:
import numpy as np
from graspologic.simulations import er_nm
import networkx as nx

# Parameters
np.random.seed(1)
n = 10    # Number of vertices
m = 15    # Number of edges
directed = False

# Generate a graph
A = er_nm(n, m, directed=directed)

# Convert to a NetworkX graph
G = nx.from_numpy_array(A)

# Use networkx to compute the number of connected components
num_connected_components = nx.number_connected_components(G)

print('Number of connected components:', num_connected_components)
<|EOT|>
