跳到主要内容

NVIDIA

这将帮助您开始使用 NVIDIA 模型。有关所有 NVIDIA 功能和配置的详细文档,请访问 API 参考

概述

langchain-nvidia-ai-endpoints 包包含 LangChain 集成,用于使用 NVIDIA NIM 推理微服务上的模型构建应用程序。这些模型经过 NVIDIA 优化,可在 NVIDIA 加速基础设施上提供最佳性能,并部署为 NIM,这是一种易于使用、预构建的容器,可通过 NVIDIA 加速基础设施上的单个命令在任何地方进行部署。

NIM 的 NVIDIA 托管部署可在 NVIDIA API 目录上进行测试。测试后,可以使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录中导出 NIM,并在本地或云端运行,从而使企业拥有其 IP 和 AI 应用程序的所有权和完全控制权。

NIM 以每个模型为基础打包为容器镜像,并通过 NVIDIA NGC 目录作为 NGC 容器镜像分发。NIM 的核心是为在 AI 模型上运行推理提供简单、一致且熟悉的 API。

此示例介绍了如何使用 LangChain 通过 NVIDIA 类与 NVIDIA 支持进行交互。

有关通过此 API 访问 llm 模型的更多信息,请查看 NVIDIA 文档。

集成详细信息

本地可序列化JS 支持包下载包最新
NVIDIAlangchain_nvidia_ai_endpointsbetaPyPI - DownloadsPyPI - Version

模型功能

JSON 模式图像输入音频输入视频输入令牌级流式传输原生异步令牌使用对数概率

设置

开始

  1. NVIDIA创建一个免费帐户,该帐户托管 NVIDIA AI 基础模型。

  2. 点击您选择的模型。

  3. Input 下,选择 Python 选项卡,然后点击 Get API Key。接着点击 Generate Key

  4. 复制并保存生成的密钥为 NVIDIA_API_KEY。之后,您应该可以访问这些端点了。

凭证

import getpass
import os

if not os.getenv("NVIDIA_API_KEY"):
# Note: the API key should start with "nvapi-"
os.environ["NVIDIA_API_KEY"] = getpass.getpass("Enter your NVIDIA API key: ")

安装

LangChain NVIDIA AI 端点集成位于 langchain_nvidia_ai_endpoints 包中

%pip install --upgrade --quiet langchain-nvidia-ai-endpoints

实例化

有关完整功能,请参阅LLM

from langchain_nvidia_ai_endpoints import NVIDIA
API 参考:NVIDIA
llm = NVIDIA().bind(max_tokens=256)
llm

调用

prompt = "# Function that does quicksort written in Rust without comments:"
print(llm.invoke(prompt))

流式、批量和异步

这些模型原生支持流式传输,并且与所有 LangChain LLM 一样,它们公开了一个批量方法来处理并发请求,以及用于调用、流式传输和批量的异步方法。以下是一些示例。

for chunk in llm.stream(prompt):
print(chunk, end="", flush=True)
llm.batch([prompt])
await llm.ainvoke(prompt)
async for chunk in llm.astream(prompt):
print(chunk, end="", flush=True)
await llm.abatch([prompt])
async for chunk in llm.astream_log(prompt):
print(chunk)
response = llm.invoke(
"X_train, y_train, X_test, y_test = train_test_split(X, y, test_size=0.1) #Train a logistic regression model, predict the labels on the test set and compute the accuracy score"
)
print(response)

支持的模型

查询 available_models 仍然会为您提供 API 凭证提供的所有其他模型。

NVIDIA.get_available_models()
# llm.get_available_models()

链式调用

我们可以像这样使用提示模板链接我们的模型

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)

chain = prompt | llm
chain.invoke(
{
"input_language": "English",
"output_language": "German",
"input": "I love programming.",
}
)
API 参考:ChatPromptTemplate

API 参考

有关所有 NVIDIA 功能和配置的详细文档,请访问 API 参考:https://python.langchain.ac.cn/api_reference/nvidia_ai_endpoints/llms/langchain_nvidia_ai_endpoints.llms.NVIDIA.html


此页面是否对您有帮助?