Hi Ptkyr. Try using the extra_fields argument in your sampler.run() line. This lets you pull out additional properties of each sample, e.g. the log-likelihood. I have an example of using something similar (though a little more complicated) in a post on my blog. From there, you can estimate the evidence (though with bad numerical convergence, so be careful) from this list of log likelihoods much like you do in your snippet.
Otherwise, try looking at nested sampling in numpyro, which provides evidences much more directly. It has worse “mapping” of the probability contours, but yields much better convergence for the evidence.