input: Write a python function to create a simple neural network with one hidden layer using numpy and make predictions with it.
  assert np.allclose(neural_network(np.array([4, 1, 3])), np.dot(sigmoid(np.dot(np.array([4, 1, 3]), weights[0])), weights[1]))
  assert np.allclose(neural_network(np.array([2, 5, 6])), np.dot(sigmoid(np.dot(np.array([2, 5, 6]), weights[0])), weights[1]))
  assert np.allclose(neural_network(np.array([7, 8, 9])), np.dot(sigmoid(np.dot(np.array([7, 8, 9]), weights[0])), weights[1]))
output: import numpy as np
  
  def sigmoid(x):
      return 1 / (1 + np.exp(-x))
  
  def neural_network(inputs):
      np.random.seed(0)
      input_size = inputs.shape[0]
      hidden_layer_size = 4
      output_size = 1
      
      weights_input_to_hidden = np.random.rand(input_size, hidden_layer_size)
      weights_hidden_to_output = np.random.rand(hidden_layer_size, output_size)
      
      hidden_layer_input = np.dot(inputs, weights_input_to_hidden)
      hidden_layer_output = sigmoid(hidden_layer_input)
      
      output_layer_input = np.dot(hidden_layer_output, weights_hidden_to_output)
      output = sigmoid(output_layer_input)
      
      return output
  
  np.random.seed(0)
  weights = [np.random.rand(3, 4), np.random.rand(4, 1)]