ValueError: dimensions ('chain', 'draw', 'y_dim_0') must have the same length as the number of data dimensions, ndim=2

Please find the working code:

import arviz as az
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import pymc as pm
print(pm.__version__)
from aesara import shared

def bayesian_lin_reg_fit(x_data_shared,y_data_shared,display_plot=True,Intercept=True):  
    with pm.Model() as linear_model:
        sigma = pm.Uniform('Sigma',0,100)
        intercept = pm.Uniform('Intercept',0,1200)
        x_coeff = pm.Uniform('Slope',-10,10)
        if(Intercept==True):
            yhat = pm.math.dot(x_data_shared,x_coeff)+intercept
        else:
            yhat = pm.math.dot(x_data_shared,x_coeff)
        #Likelihood
        likelihood = pm.Normal('y',yhat,sigma,observed=y_data_shared)
        print(likelihood)
        

        #Inference
        trace_linear = pm.sample(500,cores=1,init="auto",tune=500,progressbar=True)
        
        if(display_plot):
            plt.figure(figsize=(7,7))
            az.plot_trace(trace_linear,combined=True)
            plt.tight_layout()

        print(pm.summary(trace_linear))
        return linear_model,trace_linear

bayes_reg = bayesian_lin_reg_fit(x_data_shared=x_data_shared,y_data_shared=y_data_shared)
ppc_CI = pm.sample_posterior_predictive(bayes_reg[1],
                                            model=bayes_reg[0],
                                            progressbar=True)
predicted = ppc_CI.posterior_predictive['y']
n_samples = 1000
nb_point = x_data_shared.get_value().shape[0]
x = np.reshape(predicted,(n_samples,nb_point))

Error:

**ValueError** : dimensions ('chain', 'draw', 'y_dim_0') must have the same length as the number of data dimensions, ndim=2