ValueError: Not enough samples to build a trace

To be sure, you did:

    with pm.Model() as bayesian_model:
        # Defining Log complementary cdf of Weibull distribution
        def weibull_lccdf(x, beta, eta):
            return -(x / eta) ** beta

        # Priors for unknown model parameters
        beta = pm.Gamma("beta", mu=3, sigma=vague_prior_sd)  # alpha=0.001, beta=0.001)
        eta = pm.Normal("eta", 0, vague_prior_sd, shape=X_predictors.shape[1])
        reg = X_predictors_.dot(eta)

        # Expected value of lambda parameter
        lambda_obs = pm.Deterministic("lambda_obs", tt.exp(reg[~cens_]))
        lambda_cens = pm.Deterministic("lambda_cens", tt.exp(reg[cens_]))

        # Likelihood (sampling distribution) of observations
        y_obs = pm.Weibull("y_obs", alpha=beta, beta=lambda_obs, observed=y[~cens])
        y_cens = pm.Potential("y_cens", weibull_lccdf(y[cens], beta, lambda_cens))

        trace = pm.sample(target_accept=0.9, draws=draws, tune=tune, random_seed=123, return_inferencedata=True)

and it still didn’t work?