NVIDIA
langchain-nvidia-ai-endpoints
包包含 LangChain 集成,用于在 NVIDIA NIM 推理微服务上构建应用程序。NIM 支持跨领域的模型,如聊天、嵌入和重新排序模型,这些模型来自社区以及 NVIDIA。这些模型由 NVIDIA 优化,以在 NVIDIA 加速基础设施上提供最佳性能,并作为 NIM 部署,NIM 是一个易于使用的预构建容器,可以在 NVIDIA 加速基础设施上使用单个命令进行部署。
NVIDIA 托管的 NIM 部署可以在 NVIDIA API 目录 上进行测试。测试完成后,可以使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录中导出 NIM,并在本地或云端运行,使企业拥有并完全控制其知识产权和 AI 应用程序。
NIMs 以每个模型为基础打包为容器镜像,并通过 NVIDIA NGC 目录作为 NGC 容器镜像分发。 NIMs 的核心是提供简单、一致且熟悉的 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 AI Enterprise的一部分NVIDIA NIM部署在您自己的计算集群上,如下一节使用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基础端点
LangChain 直接支持一系列 NVIDIA AI Foundation 模型,并提供熟悉的 API。
支持的活跃模型可以在API目录中找到。
以下可能是有用的示例,帮助您入门: