基于NVIDIA NIM平台—生成属于自己的DIY食谱

目录

一、介绍NVIDIA NIM平台

二、生成DIY食谱Demo

三、小结

一、介绍NVIDIA NIM平台

NVIDIA NIM(Nvidia Inference Microservices)平台是NVIDIA推出的一个微服务套件,旨在加速生成式AI模型在云端、数据中心和工作站上的部署和使用。以下是NIM平台的一些关键特点和功能:

  1. 多种部署方式

    • Nvidia NIM API:以API形式开放调用,提供安全、简便的途径,助力快速开发和迭代生成式AI解决方案。
    • Nvidia AI Enterprise组件:NIM是Nvidia AI Enterprise平台的重要组成部分,该平台基于VMware和Red Hat的基础软件构建。
    • Nvidia NIM自托管容器:可以在工作站和配备Nvidia GPU的机器上本地部署。
  2. 核心功能

    • 提供行业标准的API,帮助轻松部署AI模型。
    • 支持与OpenAI兼容,可以使用标准HTTP REST客户端或OpenAI客户端库进行调用。
    • 提供多个端点,方便与AI模型交互,包括文本完成、文本嵌入、检索、排序等。
    • 与LLM编排工具集成,如LangChain和LlamaIndex,支持构建聊天机器人、AI助手等高级应用。
  3. 技术基础

    • 基于强大的推理引擎,如Triton Inference Server、TensorRT、TensorRT-LLM和PyTorch。
    • 支持大规模AI推理,使用最先进的基础模型和微调模型,而无需操心基础设施问题。
  4. 应用领域

    • NIM正迅速成为开发者首选的生成式AI模型平台,例如Google在推出Gemma 2 2B时,就同时在NIM、Hugging Face和Kaggle上进行发布。
  5. Nvidia AI Enterprise中的应用

    • Nvidia AI Enterprise是一个全面的云原生软件平台,旨在加速数据科学流程,并简化生产级Copilots和其他生成式AI应用的开发与部署。
    • NIM在这个平台中提供了一套易用的推理微服务,方便开发者在任何云或数据中心安全地部署基础模型。
  6. 自托管容器

    • 对于无法使用Nvidia AI Enterprise的开发者,NIM还提供了自托管容器镜像,支持通过Docker或Kubernetes进行部署。
    • NIM抽象了模型推理的内部细节,确保高效运行。
  7. 优势

    • 提供强大的工具和灵活的部署选项,让生成式AI模型的开发和应用变得更加高效和便捷。
    • 支持企业级的安全性、支持和稳定性,并优化了模型性能。

NVIDIA NIM平台通过提供灵活的微服务套件、与Nvidia AI Enterprise的集成以及自托管容器镜像,为开发者提供了一个强大、可扩展且安全的AI推理平台。

本文我们利用NVIDIA NIM平台提供的大模型完成一个生成DIY食谱的demo供大家学习。

二、生成DIY食谱Demo

1)环境准备:首先,我们需要安装python环境(自行搜索python安装教程)
2)导入依赖:新建一个python项目,可以起名为“nim_test.py”,再右键打开终端导入以下依赖包,供我们后续使用

pip install langchain_nvidia_ai_endpoints langchain-community langchain-text-splitters faiss-cpu gradio==3.50.0 setuptools beautifulsoup4

3)获取NVIDIA API的Key
我们需要登录NVIDIA NIM的官方网站 Try NVIDIA NIM APIs,申请我们需要用到的API,获取对应的Key,加入到我们的代码里进行调用,本例获取API的网址为:
phi-3-mini-4k | NVIDIA NIM

3)编写demo测试

# 食谱生成
from openai import OpenAI# 创建 OpenAI 客户端
client = OpenAI(base_url="https://integrate.api.nvidia.com/v1",api_key="换成自己的API KEY"
)# 获取用户输入
character_name = input("请输入食材:")# 创建聊天请求1
completion = client.chat.completions.create(model="microsoft/phi-3-mini-4k-instruct",messages=[{"role":"user","content": f"请根据这些{character_name}生成食谱,至少3道菜,包含具体做法,300字以内"}],temperature=0.2,top_p=0.7,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="")

4)运行效果:

三、小结

此实例为简单的NVIDIA NIM平台的API的调用,大家也可以根据自己的需求在NVIDIA NIM平台上查找自己所需的API大模型,根据上述方法进行调用即可。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么区分主谓宾I love you与主系表I am fine? 去掉宾语看句子完整性 主系表结构则侧重于描述主语的状态、特征或性质

主谓宾与主系表是英语句子结构中的两种基本类型,它们在关注点、动词分类以及句子完整性方面有所区别。具体分析如下: 关注点 主谓宾I love you:主谓宾结构主要关注动作和影响对象之间的关系[1]。这种结构强调的是动态和行为,通常描…

4K双模显示器7款评测报告

4K双模显示器7款评测报告 HKC G27H7Pro 4K双模显示器 ROG华硕 XG27UCG 4K双模显示器 雷神 ZU27F160L 4K双模显示器 泰坦军团 P275MV PLUS 4K双模显示器 外星人(Alienware)AW2725QF 4K双模显示器 SANC盛色 D73uPro 4K双模显示器 ANTGAMER蚂蚁电竞 …

MySql中表的约束

​ 本篇中将会介绍关于 MySql 数据库中的表的约束,关于表的约束其实约束的是表中的数据类型,因为有的数据类型很单一,需要我们添加一些额外的约束,才能更好的保证数据的合法性,从业务逻辑角度保证数据的正确性&#xf…

Notepad++通过自定义语言实现日志按照不同级别高亮

借助Notepad的自定义语言可以实现日志的按照不同级别的高亮&#xff1b; 参考&#xff1a; https://blog.csdn.net/commshare/article/details/131208656 在此基础上做了一点修改效果如下&#xff1a; xml文件&#xff1a; <NotepadPlus><UserLang name"Ansibl…

leetCode算法题爬楼梯递归写法

题目&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2输出&#xff1a;2解释&#xff1a;有两种方法可以爬到楼顶。1. 1 阶 1 阶2. 2 阶 …

GPIO输入和输出

参考视频&#xff1a;2.1 [GPIO]4种输出模式_哔哩哔哩_bilibili 输出&#xff1a;通过写0或者写1&#xff0c;控制引脚输出低电压或高电压。 输入&#xff1a;通过读取引脚是0还是1&#xff0c;判断引脚输入的是高电压还是低电压。 输出 推挽开漏通用通用输出推挽通用输出开漏…

Asp.net Core MVC 动态路由

动态路由 asp.net core 3.0 就支持了 // 映射关系public class TranslationDatabase{private static Dictionary<string, Dictionary<string, string>> Translations new Dictionary<string, Dictionary<string, string>>{{"en", new Dictio…

yolo自动化项目实例解析(八)自建UI-键鼠录制回放

项目中关于键鼠的操作&#xff0c;不像我们之前自动化那样一步一步去定义的&#xff0c;而是用C写了一个记录键鼠的操作&#xff0c;通过回放的方法来实现的 一、通讯系统 1、创建websocket服务器 首先通过事件循环asyncio 和websockets&#xff0c;创建一个持久化的服务端进程…

通过页面添加国际化数据,实现vue的国际化

element ui 写在前面1. 原有的vue的国际化处理1.1 语言文件1.2 lang的index.js1.3 入口文件导入1.3 应用 2. 通过页面添加国际化数据2.1 做法2.2 lang的index.js文件修改2.3 需要注意的点 总结写在最后 写在前面 需求&#xff1a;在系统的国际化管理页面添加国际化数据&#x…

我想电脑批量管理 30 台苹果手机,怎么操作更简单方便呢?

在如今的数字化时代&#xff0c;手机已经成为了我们日常生活中不可或缺的一部分。无论是工作还是娱乐&#xff0c;我们都需要使用各种各样的应用软件来满足自己的需求。 而对于那些需要管理大量苹果手机设备的企业来说&#xff0c;如何高效地完成这些任务就成了一个重要问题。…

三款计算服务器配置→如何选择科学计算服务器?

科学计算在众多领域都扮演着关键角色&#xff0c;无论是基础科学研究还是实际工程应用&#xff0c;强大的计算能力都是不可或缺的。而选择一台合适的科学计算服务器&#xff0c;对于确保科研和工作的顺利进行至关重要。 首先&#xff0c;明确自身需求是重中之重。要仔细考虑计算…

六个方向比较分析:ChatGPT-o1-preview与 ChatGPT-4o在论文写作辅助上的差异

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在学术研究和论文撰写的领域&#xff0c;人工智能助手正变得越来越重要。随着技术的不断进步&#xff0c;ChatGPT-o1-preview和ChatGPT-4o作为两个先进的语言模型&#xff0c;在辅助论文…

文件上传漏洞及安全

文件上传 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题&#xff0c;对于如何确保这类安全问题&#xff0c;一般会从原生态功能中的文件内容&#xff0c;文件后缀&#xff0c;文件类型等方面判断&#xff0c;但是漏洞可能不仅在本身的代码…

C++学习路线(二十二)

构造函数 构造函数作用 在创建一个新的对象时&#xff0c;自动调用的函数&#xff0c;用来进行“初始化”工作:对这个对象内部的数据成员进行初始化。 构造函数特点 1.自动调用(在创建新对象时&#xff0c;自动调用) 2.构造函数的函数名&#xff0c;和类名相同 3.构造函数…

Pytorch学习--如何下载及使用Pytorch中自带数据集,如何把数据集和transforms联合在一起使用

一、标准数据集使用 pytorch官网–标准数据集 这里以CIFAR10数据集为例&#xff1a;CIFAR10 下载数据集 代码&#xff1a; import torchvision train_datatorchvision.datasets.CIFAR10(root"datasets",trainTrue,downloadTrue) test_datatorchvision.datasets.…

盘古信息制造数字化优才计划 | 解决人才困境 赋能智能制造

在中国制造2025的大背景下&#xff0c;制造业正以前所未有的速度向数字化、智能化转型。在这场深刻的变革中&#xff0c;人才作为核心驱动力&#xff0c;其重要性日益凸显。作为全球领先的制造运营管理工业软件供应商&#xff0c;盘古信息深知构建制造人才生态的重要性&#xf…

EasyExcel_动态表头的导入导出

文章目录 前言一、EasyExcel二、使用步骤1.引入jar包2.数据准备2.1 数据库 3.方法实例3.1 无实体的导入3.1.1 Controller3.1.2 Service3.1.3 Listener3.1.4 Utils3.1.5 无实体导入数据返回说明 3.2 无实体的导出3.2.1 无实体导出数据(这里只贴出关键代码,Service代码处理)3.2.2…

Kafka Tool(Offset Explorer)在windows下配置访问kerberos认证Kafka

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言准备配置文件配置软件参数及启动 前言 Offset Explorer&#xff08;以前称为Kafka Tool&#xff09;是一个用于管理和使用Apache Kafka集群的图形用户界面&#xff08;GUI&#xff09;应用程序。…

登录时用户名密码加密传输(包含前后端代码)

页面输入用户名密码登录过程中&#xff0c;如果没有对用户名密码进行加密处理&#xff0c;可能会导致传输过程中数据被窃取&#xff0c;就算使用https协议&#xff0c;在浏览器控制台的Request Payload中也是能直接看到传输的明文&#xff0c;安全感是否还是不足。 大致流程&a…

FreeRTOS代码规范(3)

数据类型 portmacro.h : 在里面定义了Free RTOS 用到的相关数据类型 在 CM-3 内核中 short类型是16位&#xff0c;long 类型是32位 在 portmacro.h 中有两个最基本的数据类型 &#xff1a; Base type_t Tick type_t 这两个数据类型的存在是基于执行效率考虑的&#xff0c;…