NVIDIA
langchain-nvidia-ai-endpoints
包包含了 LangChain 集成,用于使用 NVIDIA NIM 推理微服务上的模型构建应用程序。NIM 支持来自社区以及 NVIDIA 的聊天、嵌入和重排序模型等领域的模型。这些模型经 NVIDIA 优化,可在 NVIDIA 加速的基础设施上提供最佳性能,并作为 NIM 部署,NIM 是一种易于使用的预构建容器,可通过单一命令在 NVIDIA 加速的基础设施上随处部署。
NVIDIA 主机部署的 NIM 可在 NVIDIA API 目录上进行测试。测试后,NIM 可使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录中导出,并在本地或云端运行,从而使企业拥有并完全控制其 IP 和 AI 应用程序。
NIM 以每个模型的容器镜像形式打包,并通过 NVIDIA NGC 目录作为 NGC 容器镜像分发。NIM 的核心是提供简单、一致且熟悉的 API,用于在 AI 模型上运行推理。
以下是关于如何使用文本生成和嵌入模型的一些常见功能的示例。
安装
pip install -U --quiet langchain-nvidia-ai-endpoints
设置
开始使用
-
在 NVIDIA 创建免费账户,该平台托管 NVIDIA AI 基础模型。
-
点击您选择的模型。
-
在“输入”下选择“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 目录 上可用的实时端点,以便从 DGX 托管的云计算环境中快速获取结果。所有模型均可访问源代码,并可使用 NVIDIA NIM(NVIDIA AI Enterprise 的一部分)部署到您自己的计算集群,如下一节 使用 NVIDIA NIM 所示。
使用 NVIDIA NIM
准备部署时,您可以使用 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="https://:8000/v1", model="meta/llama3-8b-instruct")
# connect to an embedding NIM running at localhost:8080
embedder = NVIDIAEmbeddings(base_url="https://:8080/v1")
# connect to a reranking NIM running at localhost:2016
ranker = NVIDIARerank(base_url="https://:2016/v1")
使用 NVIDIA AI Foundation 端点
LangChain 直接支持精选的 NVIDIA AI Foundation 模型,并提供熟悉的 API。
支持的活跃模型可在API 目录中找到。
以下示例可能有助于您入门