I have this situation where I need to create a callback_manager per api request.
If I do
Settings.callback_manager = callbackmanager
when requests A and B are running in parallel kinda, where it starts from A then to B sequential. B would override A's callback_manager right?
If I want to keep each requests token_counter separate, that means I shouldn't use Settings.callback_manager, and directly pass callback_maanger into it's respective engines right?
When I try to pass callback_manager manually into every thing that can take a callback_manager, I usually get incomplete callback traces and token_counters that end up showing as 0. Where as if I just Settings.callback_manager=callback_manager, everything seems to just work.
If I don't have to worry about B overriding A, I would like to keep using settings.callback_manager=callback_manager π
If I do the following manually, I get
TypeError: llama_index.core.indices.vector_store.retrievers.retriever.VectorIndexRetriever() got multiple values for keyword argument 'callback_manager'
I'm using arize_phoenix
vector_query_engine = base_index.as_query_engine(
vector_store_kwargs={"qdrant_filters": vector_filters},
callback_manager=callback_manager,
node_postprocessors=[rerank],
similarity_top_k=10,
use_async=True
)