NVIDIA
The langchain-nvidia-ai-endpoints 包含 LangChain 组件,用于在 NVIDIA NIM 推断微服务上构建基于模型的应用程序。NIM 支持来自社区以及 NVIDIA 的各个领域(如聊天、嵌入和重排序)的模型。这些模型由 NVIDIA 优化以在 NVIDIA 加速基础设施上提供最佳性能,并部署为一个 NIM,这是一种易于使用的预构建容器,可以在 NVIDIA 加速基础设施上通过单个命令部署到任何位置。
NVIDIA hosted deployments of NIMs are available to test on the NVIDIA API catalog. After testing, NIMs can be exported from NVIDIA’s API catalog using the NVIDIA AI Enterprise license and run on-premises or in the cloud, giving enterprises ownership and full control of their IP and AI application.
NIMs是以单个模型为基础打包为容器镜像,并通过NVIDIA NGC目录分发为NGC容器镜像。 在核心层面,NIMs提供了运行AI模型推理的简单、一致且熟悉的API接口。
以下是一个如何使用一些常见功能来围绕文本生成和嵌入模型的示例。
安装
pip install -U --quiet langchain-nvidia-ai-endpoints
设置
要开始使用:
-
创建一个免费账户,使用托管NVIDIA AI基础模型的NVIDIA。
-
点击您喜欢的模型。
-
在输入中选择Python标签页,然后点击
Get API Key。接着点击Generate Key。 -
复制并保存生成的密钥作为NVIDIA_API_KEY。从那里,您应该可以访问端点。
import getpass
import os
if not os.environ.get("NVIDIA_API_KEY", "").startswith("nvapi-"):
nvidia_api_key = getpass.getpass("Enter your NVIDIA API key: ")
assert nvidia_api_key.startswith("nvapi-"), f"{nvidia_api_key[:5]}... is not a valid key"
os.environ["NVIDIA_API_KEY"] = nvidia_api_key
使用NVIDIA API目录
from langchain_nvidia_ai_endpoints import ChatNVIDIA
llm = ChatNVIDIA(model="mistralai/mixtral-8x22b-instruct-v0.1")
result = llm.invoke("Write a ballad about LangChain.")
print(result.content)
使用 API,您可以通过查询 NVIDIA API Catalog 中提供的实时端点来从 DGX 主机的云计算环境获取快速结果。所有模型都可以通过 NVIDIA NIM 部署到您自己的计算集群中,NVIDIA NIM 是 NVIDIA AI Enterprise 的一部分,在下一节 使用 NVIDIA NIM 中将进行展示。
工作于NVIDIA NIMs
当准备部署时,您可以使用NVIDIA NIM自行托管模型——这包括在NVIDIA AI Enterprise软件许可中,并可以在任何地方运行它们,从而拥有您自定义的内容并完全控制您的知识产权(IP)和AI应用程序。
from langchain_nvidia_ai_endpoints import ChatNVIDIA, NVIDIAEmbeddings, NVIDIARerank
# connect to a chat NIM running at localhost:8000, specifying a model
llm = ChatNVIDIA(base_url="http://localhost:8000/v1", model="meta/llama3-8b-instruct")
# connect to an embedding NIM running at localhost:8080
embedder = NVIDIAEmbeddings(base_url="http://localhost:8080/v1")
# connect to a reranking NIM running at localhost:2016
ranker = NVIDIARerank(base_url="http://localhost:2016/v1")
使用NVIDIA AI基础架构端点
NVIDIA AI Foundation模型中的部分模型可以直接在LangChain中使用,并且可以使用熟悉的API。
The active models which are supported can be found 在API目录中.
The following may be useful examples to help you get started: