NVIDIA
这将帮助您开始使用英伟达的模型。有关所有 NVIDIA
功能和配置的详细文档,请查阅API 参考。
概述
langchain-nvidia-ai-endpoints
包包含 LangChain 集成,用于在 NVIDIA NIM 推理微服务上构建使用模型的应用程序。这些模型由英伟达优化,可在英伟达加速基础设施上提供最佳性能,并以 NIM 的形式部署,NIM 是易于使用的预构建容器,可在英伟达加速基础设施上使用单个命令部署到任何位置。
NIM 的英伟达托管部署可在英伟达 API 目录中进行测试。测试后,NIM 可以使用 NVIDIA AI Enterprise 许可从英伟达的 API 目录中导出,并在本地或云端运行,从而使企业能够拥有并完全控制其 IP 和 AI 应用程序。
NIM 以每个模型的容器镜像形式打包,并通过 NVIDIA NGC 目录作为 NGC 容器镜像分发。NIM 的核心是提供简单、一致且熟悉的 API,用于在 AI 模型上运行推理。
本示例介绍了如何使用 LangChain 通过 NVIDIA
类与英伟达支持进行交互。
有关通过此 API 访问 LLM 模型的更多信息,请查阅英伟达文档。
集成详情
类别 | 包 | 本地 | 可序列化 | JS 支持 | 包下载量 | 最新包版本 |
---|---|---|---|---|---|---|
NVIDIA | langchain_nvidia_ai_endpoints | ✅ | 测试版 | ❌ |
模型特性
JSON 模式 | 图片输入 | 音频输入 | 视频输入 | 逐令牌流式传输 | 原生异步 | 令牌使用量 | 对数概率 |
---|---|---|---|---|---|---|---|
❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
设置
开始使用
-
在 NVIDIA 创建免费账户,该平台托管 NVIDIA AI 基础模型。
-
点击您选择的模型。
-
在
Input
下选择Python
选项卡,然后点击Get API Key
。接着点击Generate Key
。 -
复制生成的密钥并将其保存为
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 英伟达 AI 端点集成位于 langchain_nvidia_ai_endpoints
包中
%pip install --upgrade --quiet langchain-nvidia-ai-endpoints
实例化
有关完整功能,请参阅LLM。
from langchain_nvidia_ai_endpoints import 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 参考
有关所有 NVIDIA
功能和配置的详细文档,请查阅 API 参考: https://python.langchain.ac.cn/api_reference/nvidia_ai_endpoints/llms/langchain_nvidia_ai_endpoints.llms.NVIDIA.html