这将帮助您开始使用 NVIDIA 模型。有关所有功能的详细文档 ChatNVIDIA 和配置,请前往 API 参考.
概述
该 langchain-nvidia-ai-endpoints 包包含 LangChain 集成,用于在 NVIDIA NIM 推理微服务上使用模型构建应用程序。这些模型由 NVIDIA 优化,以在 NVIDIA 加速基础设施上提供最佳性能,并部署为 NIM,这是一种易于使用的预构建容器,使用单个 命令即可在任何地方部署在 NVIDIA 加速基础设施上。
NVIDIA 托管的 NIM 部署可在 NVIDIA API 目录上进行测试。 测试后,可以使用 NVIDIA AI Enterprise 许可证从 NVIDIA 的 API 目录导出 NIM,并在本地或云端运行, 使企业能够拥有并完全控制其 IP 和 AI 应用程序。
NIM 作为容器镜像按模型打包,通过 NVIDIA NGC 目录作为 NGC 容器镜像分发。 从根本上讲,NIM 提供简单、一致且熟悉的 API 用于运行 AI 模型的推理。
本示例演示如何通过以下方式使用 LangChain 与 NVIDIA 支持进行交互 NVIDIA class.
有关通过此 API 访问 llm 模型的更多信息,请查看 NVIDIA documentation.
集成详情
| Class | Package | Local | Serializable | JS support | Downloads | Version |
|---|---|---|---|---|---|---|
NVIDIA | langchain-nvidia-ai-endpoints | ✅ | beta | ❌ | !PyPI - 下载量 | !PyPI - 版本 |
模型功能
| 图像输入 | 音频输入 | 视频输入 | 令牌级流式处理 | 原生异步 | 令牌使用量 | 对数概率 |
|---|---|---|---|---|---|---|
| ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
设置
入门指南:
- 在以下位置创建免费账户 NVIDIA,托管 NVIDIA AI 基础模型。
- 点击您选择的模型。
- 在
Input下选择Python选项卡,然后点击Get API Key。然后点击Generate Key.
- 复制并保存生成的密钥为
NVIDIA_API_KEY。从那里,您应该可以访问端点。
凭证
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 Endpoints 集成位于 langchain-nvidia-ai-endpoints package:
pip install -qU 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 一样,它们提供 batch 方法来处理并发请求,以及用于 invoke、stream 和 batch 的异步方法。以下是一些示例。
stream = llm.stream_events(prompt, version="v3")
for token in stream.text:
print(token, end="", flush=True)
llm.batch([prompt])
await llm.ainvoke(prompt)
stream = await llm.astream_events(prompt, version="v3")
async for token in stream.text:
print(token, 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()
API 参考
有关所有 ChatNVIDIA 功能和配置的详细文档,请前往 API 参考