基础:BaseDocumentCompressor

使用NVIDIA NeMo Retriever Reranking API的LangChain文档压缩器。

创建一个新的NVIDIA Rerank文档压缩器。

此类提供对NVIDIA NIM的访问权限用于重排序。默认情况下,它连接到一个托管NIM,但可以通过使用base_url参数配置为连接到本地NIM。连接到托管NIM需要API密钥。

参数
  • model (str) – 用于重排序的模型。

  • nvidia_api_key (str) – 用于连接到托管NIM的API密钥。

  • api_key (str) – nvidia_api_key的替代项。

  • base_url (str) – 要连接到的NIM的基本URL。

  • truncate (str) – "NONE","END",当输入文本超过模型的上下文长度时截断。默认值取决于模型,如果输入太长可能会引发错误。

API密钥:- 提供API密钥的推荐方法是通过NVIDIA_API_KEY

环境变量。

param base_url: str[Required]

模型的列表和调用的基本URL。

param max_batch_size: int = 32

最大批量大小。

约束
  • 最小值 = 1

param model: Optional[str] = None

用于重排序的模型。

param top_n : int = 5

返回的文档数量。

约束
  • 最小值 = 0

param truncate : Optional[Literal['NONE', 'END']] = None

如果输入文本超过模型的最大令牌长度,则截断输入文本。默认值取决于模型,如果输入太长可能会引发错误。

async acompress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document]

异步压缩检索到的文档,给定查询上下文。

参数
返回

压缩后的文档。

返回类型

Sequence[Document]

compress_documents(documents: Sequence[Document], query: str, callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]] = None) Sequence[Document][source]

使用NVIDIA NeMo Retriever重排序微服务API压缩文档。

参数
  • documents (Sequence[Document]) – 要压缩的文档序列。

  • query (str) – 用于压缩文档的查询语句。

  • callbacks (Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]]) – 在压缩过程中运行的回调函数。

返回

压缩文档的序列。

返回类型

Sequence[Document]

classmethod get_available_models(**kwargs: Any) List[Model][source]

获取与NVIDIARerank兼容的可用模型列表。

参数

kwargs (Any) –

返回类型

List[Model]

property available_models: List[Model]

获取与NVIDIARerank兼容的可用模型列表。