Bases: BaseRetriever
转换检索器。
接收现有的检索器和查询转换,并在运行检索器之前运行查询转换。
Source code in llama_index/core/retrievers/transform_retriever.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 | class TransformRetriever(BaseRetriever):
"""转换检索器。
接收现有的检索器和查询转换,并在运行检索器之前运行查询转换。"""
def __init__(
self,
retriever: BaseRetriever,
query_transform: BaseQueryTransform,
transform_metadata: Optional[dict] = None,
callback_manager: Optional[CallbackManager] = None,
object_map: Optional[dict] = None,
verbose: bool = False,
) -> None:
self._retriever = retriever
self._query_transform = query_transform
self._transform_metadata = transform_metadata
super().__init__(
callback_manager=callback_manager, object_map=object_map, verbose=verbose
)
def _get_prompt_modules(self) -> PromptMixinType:
"""获取提示子模块。"""
# NOTE: don't include tools for now
return {"query_transform": self._query_transform}
def _retrieve(self, query_bundle: QueryBundle) -> List[NodeWithScore]:
query_bundle = self._query_transform.run(
query_bundle, metadata=self._transform_metadata
)
return self._retriever.retrieve(query_bundle)
|