NVIDIARerank#
- class langchain_nvidia_ai_endpoints.reranking.NVIDIARerank[source]#
-
使用NVIDIA NeMo Retriever Reranking API的LangChain文档压缩器。
创建一个新的NVIDIARerank文档压缩器。
该类提供了访问NVIDIA NIM进行重新排序的功能。默认情况下,它连接到托管的NIM,但可以通过base_url参数配置为连接到本地NIM。连接到托管的NIM需要API密钥。
- Args:
model (str): 用于重新排序的模型。 nvidia_api_key (str): 用于连接到托管NIM的API密钥。 api_key (str): nvidia_api_key的替代方案。 base_url (str): 要连接的NIM的基础URL。 truncate (str): “NONE”, “END”, 如果输入文本超过限制则截断
模型的上下文长度。默认值取决于模型,如果输入过长,可能会引发错误。
API密钥: - 推荐的方式是通过NVIDIA_API_KEY提供API密钥
环境变量。
基础URL: - 使用base_url参数连接到自托管的NVIDIA NIM模型
链接到本地主机 localhost:8000: ranker = NVIDIARerank(base_url=”http://localhost:8000/v1”)
示例: >>> from langchain_nvidia_ai_endpoints import NVIDIARerank >>> from langchain_core.documents import Document
>>> query = "What is the GPU memory bandwidth of H100 SXM?" >>> passages = [ "The Hopper GPU is paired with the Grace CPU using NVIDIA's ultra-fast chip-to-chip interconnect, delivering 900GB/s of bandwidth, 7X faster than PCIe Gen5. This innovative design will deliver up to 30X higher aggregate system memory bandwidth to the GPU compared to today's fastest servers and up to 10X higher performance for applications running terabytes of data.",
“A100 提供比上一代高达 20 倍的性能,并且可以划分为七个 GPU 实例,以动态调整以适应不断变化的需求。A100 80GB 首次亮相,拥有世界上最快的内存带宽,超过每秒 2 太字节(TB/s),以运行最大的模型和数据集。”,
“配备H100的加速服务器提供了强大的计算能力——每个GPU每秒3太字节(TB/s)的内存带宽,并通过NVLink和NVSwitch™实现可扩展性。”,
]
>>> client = NVIDIARerank( model="nvidia/nv-rerankqa-mistral-4b-v3", api_key="$API_KEY_REQUIRED_IF_EXECUTING_OUTSIDE_NGC" )
>>> response = client.compress_documents( query=query, documents=[Document(page_content=passage) for passage in passages] )
>>> print(f"Most relevant: {response[0].page_content}
- “
f”最不相关的内容: {response[-1].page_content}”
)
最相关:配备H100的加速服务器提供了计算能力——每GPU具有3TB/s的内存带宽,并通过NVLink和NVSwitch™实现可扩展性。 最不相关:A100提供了比上一代高达20倍的性能提升,并且可以划分为七个GPU实例,以动态调整以适应变化的需求。A100 80GB首次亮相,拥有超过2TB/s的全球最快内存带宽,以运行最大的模型和数据集。
- param base_url: str | None = None#
模型列表和调用的基础URL
- param max_batch_size: int = 32#
最大批量大小。
- Constraints:
ge = 1
- param model: str | None = None#
用于重新排序的模型。
- param top_n: int = 5#
返回的文档数量。
- Constraints:
ge = 0
- param truncate: Literal['NONE', 'END'] | None = None#
如果输入文本超过模型的最大标记长度,则截断输入文本。默认值取决于模型,如果输入过长,可能会引发错误。
- async acompress_documents(documents: Sequence[Document], query: str, callbacks: list[BaseCallbackHandler] | BaseCallbackManager | None = None) Sequence[Document] #
根据查询上下文异步压缩检索到的文档。
- Parameters:
documents (Sequence[Document]) – 检索到的文档。
query (str) – 查询上下文。
callbacks (list[BaseCallbackHandler] | BaseCallbackManager | None) – 在压缩过程中运行的可选回调函数。
- Returns:
压缩的文档。
- Return type:
序列[文档]
- compress_documents(documents: Sequence[Document], query: str, callbacks: list[BaseCallbackHandler] | BaseCallbackManager | None = None) Sequence[Document] [source]#
使用NVIDIA NeMo Retriever Reranking微服务API压缩文档。
- Parameters:
documents (Sequence[Document]) – 要压缩的文档序列。
query (str) – 用于压缩文档的查询。
callbacks (list[BaseCallbackHandler] | BaseCallbackManager | None) – 在压缩过程中运行的回调函数。
- Returns:
一系列压缩文档。
- Return type:
序列[文档]
- classmethod get_available_models(**kwargs: Any) List[Model] [source]#
获取可与NVIDIARerank一起使用的可用模型列表。
- Parameters:
kwargs (任意)
- Return type:
列表[模型]
- property available_models: List[Model]#
获取可与NVIDIARerank一起使用的可用模型列表。