|
|
@ -1,4 +1,6 @@
|
|
|
|
"""DocumentFilter that uses an LLM chain to extract the relevant parts of documents."""
|
|
|
|
"""DocumentFilter that uses an LLM chain to extract the relevant parts of documents."""
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
|
|
from typing import Any, Callable, Dict, Optional, Sequence
|
|
|
|
from typing import Any, Callable, Dict, Optional, Sequence
|
|
|
|
|
|
|
|
|
|
|
|
from langchain import LLMChain, PromptTemplate
|
|
|
|
from langchain import LLMChain, PromptTemplate
|
|
|
@ -70,7 +72,7 @@ class LLMChainExtractor(BaseDocumentCompressor):
|
|
|
|
prompt: Optional[PromptTemplate] = None,
|
|
|
|
prompt: Optional[PromptTemplate] = None,
|
|
|
|
get_input: Optional[Callable[[str, Document], str]] = None,
|
|
|
|
get_input: Optional[Callable[[str, Document], str]] = None,
|
|
|
|
llm_chain_kwargs: Optional[dict] = None,
|
|
|
|
llm_chain_kwargs: Optional[dict] = None,
|
|
|
|
) -> "LLMChainExtractor":
|
|
|
|
) -> LLMChainExtractor:
|
|
|
|
"""Initialize from LLM."""
|
|
|
|
"""Initialize from LLM."""
|
|
|
|
_prompt = prompt if prompt is not None else _get_default_chain_prompt()
|
|
|
|
_prompt = prompt if prompt is not None else _get_default_chain_prompt()
|
|
|
|
_get_input = get_input if get_input is not None else default_get_input
|
|
|
|
_get_input = get_input if get_input is not None else default_get_input
|
|
|
|