Это один косвенный способ сделать это: сгенерировать первый массив, а затем использовать отдельный элемент этого массива в качестве верхнего предела для генерации второго массива снова, используя np.random.uniform
import numpy as np; np.random.seed(121)
random_A = np.random.uniform(low=0, high=10, size=(10,))
print (random_A)
# [1.11330828 2.10767575 2.32962488 1.51944557 8.30178138 4.07919415 5.557906 7.45523942 2.48499756 9.68659399]
random_B = np.array([np.random.uniform(0, i) for i in random_A])
print (random_B)
# [1.06063118 1.03244254 0.04262587 1.30308582 3.36170915 2.53919206 1.64164697 6.93030501 1.00795353 5.49521109]
EDIT
Еще лучше, как предложено @Severin в комментариях ниже
random_B = np.random.uniform(low=0, high=random_A, size=(10,))