run-llama / llama_parse

Parse files for optimal RAG
https://www.llamaindex.ai
MIT License
1.79k stars 157 forks source link

Getting Error while Using FlagEmbeddingReranker i.e AttributeError: 'Dispatcher' object has no attribute 'get_dispatch_event' #232

Closed MuhammadHaseeb1604 closed 3 weeks ago

MuhammadHaseeb1604 commented 3 weeks ago

I have been using FlagEmbeddingReranker and it was working fine and now when I installed flag Reranker in new venv getting Attribute Error

My Code:

reranker = FlagEmbeddingReranker(
    top_n=4,
    model="BAAI/bge-reranker-base",
    use_fp16=True
)

response_synthesizer = get_response_synthesizer(
    text_qa_template=getPromptTemplate(),
    response_mode=ResponseMode.COMPACT,
    streaming=False
)

query_engine = RetrieverQueryEngine.from_args(
    llm=llm,
    embed_model =  embed_model,
    retriever=retriever,
    response_synthesizer= response_synthesizer,
    node_postprocessors=[reranker], 
)

Error while querying

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\instrumentation\dispatcher.py:198, in Dispatcher.span.<locals>.wrapper(func, instance, args, kwargs)
    [194](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:194) self.span_enter(
    [195](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:195)     id_=id_, bound_args=bound_args, instance=instance, parent_id=parent_id
    [196](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:196) )
    [197](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:197) try:
--> [198](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:198)     result = func(*args, **kwargs)
    [199](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:199) except BaseException as e:
    [200](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:200)     self.event(SpanDropEvent(span_id=id_, err_str=str(e)))

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\base\base_query_engine.py:51, in BaseQueryEngine.query(self, str_or_query_bundle)
     [49](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:49)     if isinstance(str_or_query_bundle, str):
     [50](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:50)         str_or_query_bundle = QueryBundle(str_or_query_bundle)
---> [51](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:51)     query_result = self._query(str_or_query_bundle)
     [52](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:52) dispatcher.event(
     [53](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:53)     QueryEndEvent(query=str_or_query_bundle, response=query_result)
     [54](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:54) )
     [55](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/base/base_query_engine.py:55) return query_result

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\instrumentation\dispatcher.py:198, in Dispatcher.span.<locals>.wrapper(func, instance, args, kwargs)
    [194](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:194) self.span_enter(
    [195](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:195)     id_=id_, bound_args=bound_args, instance=instance, parent_id=parent_id
    [196](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:196) )
    [197](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:197) try:
--> [198](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:198)     result = func(*args, **kwargs)
    [199](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:199) except BaseException as e:
    [200](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/instrumentation/dispatcher.py:200)     self.event(SpanDropEvent(span_id=id_, err_str=str(e)))

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\query_engine\retriever_query_engine.py:189, in RetrieverQueryEngine._query(self, query_bundle)
    [185](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:185) """Answer a query."""
    [186](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:186) with self.callback_manager.event(
    [187](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:187)     CBEventType.QUERY, payload={EventPayload.QUERY_STR: query_bundle.query_str}
    [188](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:188) ) as query_event:
--> [189](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:189)     nodes = self.retrieve(query_bundle)
    [190](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:190)     response = self._response_synthesizer.synthesize(
    [191](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:191)         query=query_bundle,
    [192](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:192)         nodes=nodes,
    [193](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:193)     )
    [194](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:194)     query_event.on_end(payload={EventPayload.RESPONSE: response})

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\query_engine\retriever_query_engine.py:145, in RetrieverQueryEngine.retrieve(self, query_bundle)
    [143](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:143) def retrieve(self, query_bundle: QueryBundle) -> List[NodeWithScore]:
    [144](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:144)     nodes = self._retriever.retrieve(query_bundle)
--> [145](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:145)     return self._apply_node_postprocessors(nodes, query_bundle=query_bundle)

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\query_engine\retriever_query_engine.py:138, in RetrieverQueryEngine._apply_node_postprocessors(self, nodes, query_bundle)
    [134](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:134) def _apply_node_postprocessors(
    [135](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:135)     self, nodes: List[NodeWithScore], query_bundle: QueryBundle
    [136](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:136) ) -> List[NodeWithScore]:
    [137](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:137)     for node_postprocessor in self._node_postprocessors:
--> [138](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:138)         nodes = node_postprocessor.postprocess_nodes(
    [139](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:139)             nodes, query_bundle=query_bundle
    [140](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:140)         )
    [141](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/query_engine/retriever_query_engine.py:141)     return nodes

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\core\postprocessor\types.py:55, in BaseNodePostprocessor.postprocess_nodes(self, nodes, query_bundle, query_str)
     [53](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/postprocessor/types.py:53) else:
     [54](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/postprocessor/types.py:54)     pass
---> [55](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/core/postprocessor/types.py:55) return self._postprocess_nodes(nodes, query_bundle)

File d:\Python Projects\Arabic AI Law\env\Lib\site-packages\llama_index\postprocessor\flag_embedding_reranker\base.py:52, in FlagEmbeddingReranker._postprocess_nodes(self, nodes, query_bundle)
     [47](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:47) def _postprocess_nodes(
     [48](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:48)     self,
     [49](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:49)     nodes: List[NodeWithScore],
     [50](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:50)     query_bundle: Optional[QueryBundle] = None,
     [51](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:51) ) -> List[NodeWithScore]:
---> [52](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:52)     dispatch_event = dispatcher.get_dispatch_event()
     [53](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:53)     dispatch_event(
     [54](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:54)         ReRankStartEvent(
     [55](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:55)             query=query_bundle,
   (...)
     [59](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:59)         )
     [60](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:60)     )
     [62](file:///D:/Python%20Projects/Arabic%20AI%20Law/env/Lib/site-packages/llama_index/postprocessor/flag_embedding_reranker/base.py:62)     if query_bundle is None:

AttributeError: 'Dispatcher' object has no attribute 'get_dispatch_event'

Packages Installed for Reranker:

FlagEmbedding @ git+https://github.com/FlagOpen/FlagEmbedding.git@6f12019cc3280b09fde20c7469cbb05ffa0c096b
llama-index-postprocessor-flag-embedding-reranker==0.1.2
MuhammadHaseeb1604 commented 3 weeks ago

Updated the Packages and rerunning the notebook resolved the issue