XGBoost Python: predict() Vs predict(pred_contribs=True)

The predict() method of XGBoost Python can generate only prediction or feature importance(by passing the argument “predict_contribs=True” )
When i sum up the feature importance(SHAP values) it does not match with the predicted value.
How can i calculate the predicted value from the feature importance? What is the role of Bias value?

What function has been used to calculate the feature importance through the Spark API of XGBoost. The value doesnot match with the SHAP value using import shap in python

import pandas as pd
import xgboost as xgb
from sklearn.datasets import load_boston

data = load_boston()

X = pd.DataFrame(data.data, columns=data.feature_names)
y = pd.Series(data.target)

model = xgb.XGBRegressor(random_state=1,
                         n_estimators=10,
                         max_depth=2,
                         learning_rate=0.1
                         )
model.fit(X, y)
predict_shap = model._Booster.predict(
    xgb.DMatrix(X), pred_contribs=True).sum(axis=1)
predict_value = model.predict(X)
assert np.allclose(predict_shap, predict_value)
print(model.get_params()['base_score']) # 0.5