we could patch the evaluator to work with both yea, good catch.
I'm not sure what you mean for the first issue. You mean when you load the index from disk? When you load, you need to make sure you pass in the service context again. Or just set a global service context to make things easier
from llama_index import set_global_service_context
set_global_service_context(service_context)