LLMLinguaCompressor#
- class langchain_community.document_compressors.llmlingua_filter.LLMLinguaCompressor[source]#
Bases:
BaseDocumentCompressor
Compress using LLMLingua Project.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- param additional_compress_kwargs: dict = {'condition_compare': True, 'condition_in_question': 'after', 'context_budget': '+100', 'dynamic_context_compression_ratio': 0.4, 'reorder_context': 'sort'}#
Extra compression arguments
- param device_map: str = 'cuda'#
The device to use for llm lingua
- param instruction: str = 'Given this documents, please answer the final question'#
The instruction for the LLM
- param lingua: Any = None#
The instance of the llm linqua
- param model_configuration: dict [Optional] (alias 'model_config')#
Custom configuration for the model
- param model_name: str = 'NousResearch/Llama-2-7b-hf'#
The hugging face model to use
- param open_api_config: dict [Optional]#
open_api configuration
- param rank_method: str = 'longllmlingua'#
The ranking method to use
- param target_token: int = 300#
The target number of compressed tokens
- async acompress_documents(documents: Sequence[Document], query: str, callbacks: list[BaseCallbackHandler] | BaseCallbackManager | None = None) Sequence[Document] #
Async compress retrieved documents given the query context.
- Parameters:
documents (Sequence[Document]) – The retrieved documents.
query (str) – The query context.
callbacks (list[BaseCallbackHandler] | BaseCallbackManager | None) – Optional callbacks to run during compression.
- Returns:
The compressed documents.
- Return type:
Sequence[Document]
- compress_documents(documents: Sequence[Document], query: str, callbacks: list[BaseCallbackHandler] | BaseCallbackManager | None = None) Sequence[Document] [source]#
Compress documents using BAAI/bge-reranker models.
- Parameters:
documents (Sequence[Document]) – A sequence of documents to compress.
query (str) – The query to use for compressing the documents.
callbacks (list[BaseCallbackHandler] | BaseCallbackManager | None) – Callbacks to run during the compression process.
- Returns:
A sequence of compressed documents.
- Return type:
Sequence[Document]
- extract_ref_id_tuples_and_clean(contents: List[str]) List[Tuple[str, int]] [source]#
Extracts reference IDs from the contents and cleans up the ref tags.
This function processes a list of strings, searching for reference ID tags at the beginning and end of each string. When a ref tag is found, it is removed from the string, and its ID is recorded. If no ref ID is found, a generic ID of “-1” is assigned.
The search for ref tags is performed only at the beginning and end of the string, with the assumption that there will be at most one ref ID per string. Malformed ref tags are handled gracefully.
- Parameters:
contents (List[str]) – A list of contents to be processed.
- Returns:
The cleaned string and the associated ref ID.
- Return type:
List[Tuple[str, int]]
Examples
>>> strings_list = [ '<#ref0#> Example content <#ref0#>', 'Content with no ref ID.' ] >>> extract_ref_id_tuples_and_clean(strings_list) [('Example content', 0), ('Content with no ref ID.', -1)]
Examples using LLMLinguaCompressor