使用 NVIDIA NIM 部署生成式 AI 的简单指南

news2025/3/15 21:12:44

使用 NVIDIA NIM 部署生成式 AI 的简单指南

无论您是在本地还是在云端工作,NVIDIA NIM 推理微服务都可以为企业开发人员提供来自社区、合作伙伴和 NVIDIA 的易于部署的优化 AI 模型。作为 NVIDIA AI Enterprise 的一部分,NIM 提供了一条安全、简化的前进道路,可快速迭代并为世界一流的生成式 AI 解决方案构建创新。

使用单个优化容器,您可以在 5 分钟内轻松在云端或数据中心的加速 NVIDIA GPU 系统上,或在工作站和 PC 上部署 NIM。或者,如果您想避免部署容器,您可以开始使用 NVIDIA API 目录中的 NIM API 为您的应用程序制作原型。

  • 使用预构建的容器,只需一个命令即可在任何地方的 NVIDIA 加速基础设施上进行部署。
  • 保持数据的安全性和控制力,这是您最宝贵的企业资源。
  • 通过支持使用 LoRA 等技术进行微调的模型来实现最佳准确性。
  • 利用一致的行业标准 API 集成加速 AI 推理端点。
  • 使用最流行的生成式 AI 应用程序框架,如 LangChain、LlamaIndex 和 Haystack。

本文介绍了 NVIDIA NIM 的简单 Docker 部署。您将能够在最流行的生成式 AI 应用程序框架(如 Haystack、LangChain 和 LlamaIndex)中使用 NIM 微服务 API。有关部署 NIM 的完整指南,请参阅 NIM 文档。

如何在 5 分钟内部署 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 与您的应用程序集成

虽然应该先完成之前的设置,但如果您急于测试 NIM 而不自行部署,则可以使用 NVIDIA API 目录中 NVIDIA 托管的 API 端点进行测试。请按照以下步骤操作。

集成 NIM 端点

您可以从遵循 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:

  • 带有自部署 AI 模型和 NVIDIA NIM 的 Haystack RAG 管道
  • 带有 NVIDIA NIM 的 LangChain RAG 代理
  • 带有 NVIDIA NIM 的 LlamaIndex RAG 管道

从 NIM 获得更多

通过使用 NVIDIA NIM 进行快速、可靠和简单的模型部署,您可以专注于构建高性能和创新的生成式 AI 工作流程和应用程序。要从 NIM 获得更多,请了解如何将微服务与使用 LoRA 适配器定制的 LLM 一起使用。

NIM 定期发布和改进。经常访问 API 目录以查看用于视觉、检索、3D、数字生物学等的最新 NVIDIA NIM 微服务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1790089.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Excel 每 N 行拼成一行

F列每四行对应一条记录: ABCDEF1NameAddressCityShort IDCompany 122222 al street3Blue cheese415Company 261111 arm rd7Ranch829Company 3103333 raindrop drive11Peanut123 需要把F列整理成规范表格,按行写入A-D: ABCDEF1NameAddressC…

python中return语句的用法

一、了解函数的标准格式 def 函数名(参数1, 参数2, ...,参数n):函数体第一行代码函数体第二行代码函数体第三行代码...return 语句变量 函数名(参数1,参数2,...,参数n) python遇到return语句时,会结束整个函数调用&a…

VS2017配置OpenCV4.5.1

VS2017配置OpenCV 一、下载OpenCV二、配置OpenCV的电脑环境变量三、配置visual Studio添加路径复制文件到C盘 四、如何使用注意运行时选择Debug x64 五、报错:VSOpencv出现:xxx处有未经处理的异常: Microsoft C 异常: cv::Exception,位于内存…

OBS+nginx+nginx-http-flv-module实现阿里云的推流和拉流

背景:需要将球机视频推送到阿里云nginx,使用网页和移动端进行播放,以前视频格式为RTMP,但是在网页上面播放RTMP格式需要安装flash插件,chrome浏览器不给安装,调研后发现可以使用nginx的模块nginx-http-flv-…

剪画小程序:AI声音克隆,只需10秒完美复制真人音色

Hello,大家好呀!我是分享声音的克隆。 想象一下,如果你能够复制自己的声音,那么您可以给视频配上自己的声 音,那是多么的有趣啊。 ​编辑 工具:小程序剪画 功能简介:支持多种端口&#xff1…

任务3.3 学生喂养三种宠物:猫、狗和鸟

本任务旨在通过Java面向对象编程中的多态性和方法重载概念,实现一个学生喂养三种不同宠物(猫、狗、鸟)的程序。 定义基类和派生类 创建一个Animal基类,包含所有动物共有的属性和方法,如name、age、speak()、move()和ea…

自然语言处理(NLP)—— C-value方法

自然语言处理(NLP)和文本挖掘是计算机科学与语言学的交叉领域,旨在通过计算机程序来理解、解析和生成人类语言,以及从大量文本数据中提取有用的信息和知识。这些技术在现代数据驱动的世界中扮演着关键角色,帮助我们从海…

三、Nginx配置文件

目录 一、Nginx的文件内容 二、去除注释之后的文件 三、配置文件详解 1、全局块 (1)user 指令: (2)worker_processes: (3)daemon (4)pid &#xff08…

opencv-python(五)

opencv的颜色通道中顺序是B,G,R。 图像属性 import cv2img cv2.imread(jk.jpg) print(fshape{img.shape}) print(fsize{img.size}) print(fdtype{img.dtype}) shape:图像像素的行,列,通道 size:行数 X …

LWIP_TCP 协议

目录 1 TCP 协议简介 1.1 TCP 协议简介 1.2 TCP 的建立连接 1.3 TCP 终止连接 1.4 TCP 报文结构 1.5 lwIP 的 TCP 报文首部数据结构 1.6 lwIP 的 TCP 连接状态图 1 TCP 协议简介 1.1 TCP 协议简介 TCP(Transmission Control Protocol 传输控制协议&#xff0…

算法导论 总结索引 | 第三部分 第十四章:数据结构的扩张

1、通过存储 额外信息的方法来扩张一 种标准的数据结构,然后对这种数据结构,编写新的操作来支持所需的应用。因为添加的信息 必须要能被该数据结构上的常规操作更新和维护 2、通过扩张红黑树构造出的两种数据结构:14.1介绍 一种支持一般动态…

js 数字精确度

事情的起源: 项目中 填写的赔付金额是小数 传给后端需要 *100 9.87 *100 传给后端后是986.9999999999999 后端直接取整 就变成了9.86了 0.1 0.2 ! 0.3 console.log(0.1 0.2) //0.30000000000000004 console.log(0.1 0.2 0.3) //false1. 数字的存储 浮点数是用…

全新STC12C5A60S2单片机+LCD19264大屏万年历农历生肖节气节日显示+闹钟+温湿度+台灯

资料下载地址:全新STC12C5A60S2单片机LCD19264大屏万年历农历生肖节气节日显示闹钟温湿度台灯 这是旧版 退役拆解了 新版 与电路图所示 共设置4个按键 短按开关台灯 加减键调光 长按进入菜单 1.台灯 加入PCA PWM 调光 STC12C5A60S2的PCA PWM非常好用 设置简单无极…

Java面试题:解决Redis缓存击穿问题

缓存击穿 当一个key过期时,需要对这个key进行数据重建 在重建的时间内如果有大量的并发请求进入,就会绕过缓存进入数据库,会瞬间击垮DB 重建时间可能因为数据是多个表的混合结果需要分头统计而延长,从而更容易出现缓存击穿问题 缓存击穿的解决方案 添加互斥锁 先查询缓存…

实验八、地址解析协议《计算机网络》

水逆退散,学业进步,祝我们都好,不止在夏天。 目录 一、实验目的 二、实验内容 (1)预备知识 (2)实验步骤 三、实验小结 一、实验目的 完成本练习之后,您应该能够确定给定 IP 地…

数仓建模—ChatETL

数仓建模—ChatETL 前面我们介绍过ChatBI ,就是让用户通过自然语言对话的方式可以获取到自己想要的数据,然后通过合适的报表展示出来,其实我们可以将其理解为应用层面的技术创新,但是这个实现的前提就是我们底层已经有加工好的大量的数据模型数据表,并且有完善的元数据建…

python中文件操作详解(1)

在python中我们经常会对文件进行一些常见的操作,比如打开文件,操作文件,关闭文件,此篇文章主要是记录自己在学习过程中的一些总结供大家学习,也欢迎查漏补缺~ 1.文件的打开 方式一:此种方式打开的文件需要…

SQL实验 连接查询和嵌套查询

一、实验目的 1.掌握Management Studio的使用。 2.掌握SQL中连接查询和嵌套查询的使用。 二、实验内容及要求(请同学们尝试每道题使用连接和嵌套两种方式来进行查询,如果可以的话) 1.找出所有任教“数据…

云计算如何助力金融科技企业实现高效运营

一、引言 随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐渐改变着传统金融行业的运营模式。金融科技企业作为金融行业的重要组成部分,面临着日益增长的业务需求和技术挑战。在这一背景下,云计算凭借其弹性扩展、高可用性、低成本等优势,成为金融科技企业实…

7、架构-架构的安全性

即使只限定在“软件架构设计”这个语境下,系统安全仍然是一 个很大的话题。我们谈论的计算机系统安全,不仅仅是指“防御系统 被黑客攻击”这样狭隘的安全,还至少应包括(不限于)以下这些问 题的具体解决方案。 认证&am…