<｜begin▁of▁sentence｜>### Instruction:
Given a function that generates a random array with dimensions provided in 'dims' and an optional 'seed' for reproducibility, can you use the 'py_random_state' decorator from NetworkX to generate a random array of shape (2, 3) with a fixed seed of 12345, ensuring that the output is the same each time the function is called?
### Response:
import networkx as nx

@nx.utils.py_random_state(1)
def random_array(dims, seed=None):
    return seed.rand(*dims)

# Using the decorator to ensure reproducible randomness
array = random_array((2, 3), seed=12345)
print(array)
<|EOT|>
