英伟达
这将帮助您开始使用 NVIDIA 模型。有关所有NVIDIA功能和配置可参考 API 参考。
概述
这langchain-nvidia-ai-endpointspackage 包含 LangChain 集成,使用 model 构建应用程序
NVIDIA NIM 推理微服务。这些模型由 NVIDIA 优化,可在 NVIDIA 上提供最佳性能
加速基础设施并部署为 NIM,NIM 是一种易于使用的预构建容器,可使用单个
命令。
NVIDIA 托管的 NIM 部署可在 NVIDIA API 目录中进行测试。测试后, 可以使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录中导出 NIM,并在本地或云中运行。 让企业拥有并完全控制其 IP 和 AI 应用程序。
NIM 按模型打包为容器映像,并通过 NVIDIA NGC 目录作为 NGC 容器映像分发。 NIM 的核心是提供简单、一致且熟悉的 API,用于在 AI 模型上运行推理。
此示例介绍了如何使用 LangChain 与 NVIDIA 交互,通过NVIDIA类。
有关通过此 api 访问 llm 模型的更多信息,请查看 NVIDIA 文档。
集成详细信息
| 类 | 包 | 本地化 | 序列 化 | JS 支持 | 软件包下载 | 最新包装 |
|---|---|---|---|---|---|---|
| NVIDIA | langchain_nvidia_ai_endpoints | ✅ | beta | ❌ |
模型特点
| JSON 模式 | 图像输入 | 音频输入 | 视频输入 | 令牌级流式处理 | 本机异步 | Token 使用情况 | 日志 |
|---|---|---|---|---|---|---|---|
| ❌ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
设置
要开始使用,请执行以下作:
-
在托管 NVIDIA AI Foundation 模型的 NVIDIA 上创建一个免费帐户。
-
单击您选择的型号。
-
下
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 NVIDIA 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))
Stream、Batch 和 Async
这些模型原生支持流式处理,并且与所有 LangChain LLM 一样,它们公开了用于处理并发请求的批处理方法,以及用于 invoke、stream 和 batch 的异步方法。以下是一些示例。
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()
链接
我们可以用 prompt 模板链接我们的模型,如下所示:
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.com/api_reference/nvidia_ai_endpoints/llms/langchain_nvidia_ai_endpoints.llms.NVIDIA.html