无论您是在本地还是在云端工作,NVIDIA NIM 推理微服务都可以为企业开发人员提供来自社区、合作伙伴和 NVIDIA 的易于部署的优化 AI 模型。作为 NVIDIA AI Enterprise 的一部分,NIM 提供了一条安全、简化的前进道路,可快速迭代并为世界一流的生成式 AI 解决方案构建创新。
使用单个优化容器,您可以在 5 分钟内轻松在云端或数据中心的加速 NVIDIA GPU 系统上,或在工作站和 PC 上部署 NIM。或者,如果您想避免部署容器,您可以开始使用 NVIDIA API 目录中的 NIM API 为您的应用程序制作原型。
本文介绍了 NVIDIA NIM 的简单 Docker 部署。您将能够在最流行的生成式 AI 应用程序框架(如 Haystack、LangChain 和 LlamaIndex)中使用 NIM 微服务 API。有关部署 NIM 的完整指南,请参阅 NIM 文档。
在开始之前,请确保您已满足所有先决条件。遵循 NIM 文档中的要求。请注意,下载和使用 NIM 需要 NVIDIA AI Enterprise 许可证。
设置好一切后,运行以下脚本:
# Choose a container name for bookkeeping
export CONTAINER_NAME=meta-llama3-8b-instruct
# Choose a LLM NIM Image from NGC
export IMG_NAME="nvcr.io/nim/meta/llama3-8b-instruct:24.05"
# Choose a path on your system to cache the downloaded models
export LOCAL_NIM_CACHE="~/.cache/nim"
mkdir -p "$LOCAL_NIM_CACHE"
# Start the LLM NIM
docker run -it --rm --name=$CONTAINER_NAME \
--runtime=nvidia \
--gpus all \
-e NGC_API_KEY \
-v "$LOCAL_NIM_CACHE:/opt/nim/.cache" \
-u $(id -u) \
-p 8000:8000 \
$IMG_NAME
接下来测试一个推理请求:
curl -X 'POST' \
'http://0.0.0.0:8000/v1/completions' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "meta-llama3-8b-instruct",
"prompt": "Once upon a time",
"max_tokens": 64
}'
现在,您拥有一个受控、优化的生产部署,可以安全地构建生成式 AI 应用程序。
NVIDIA API 目录中还提供了 NVIDIA 托管的 NIM 示例部署。
虽然应该先完成之前的设置,但如果您急于测试 NIM 而不自行部署,则可以使用 NVIDIA API 目录中 NVIDIA 托管的 API 端点进行测试。请按照以下步骤操作。
您可以从遵循 OpenAI 规范的完成 curl 请求开始。请注意,要流式传输输出,您应该将 stream 设置为 True。
要在带有 OpenAI 库的 Python 代码中使用 NIM:
如果您使用的是 NIM,则无需提供 API 密钥。
确保将 base_url 更新为 NIM 的运行位置。
from openai import OpenAI
client = OpenAI(
base_url = "http://nim-address:8000/v1,
)
completion = client.chat.completions.create(
model="meta/llama3-70b-instruct",
messages=[{"role":"user","content":""}],
temperature=0.5,
top_p=1,
max_tokens=1024,
stream=True
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
NIM 还集成到 Haystack、LangChain 和 LlamaIndex 等应用程序框架中,为已经使用这些流行工具构建出色的生成式 AI 应用程序的开发人员带来安全、可靠、加速的模型推理。
查看每个框架的笔记本以了解如何使用 NIM:
通过使用 NVIDIA NIM 进行快速、可靠和简单的模型部署,您可以专注于构建高性能和创新的生成式 AI 工作流程和应用程序。要从 NIM 获得更多,请了解如何将微服务与使用 LoRA 适配器定制的 LLM 一起使用。
NIM 定期发布和改进。经常访问 API 目录以查看用于视觉、检索、3D、数字生物学等的最新 NVIDIA NIM 微服务。