NVIDIA NIM推理微服务集成6款新模型

NIM(NVIDIA Inference Microservice)最新模型实例

得益于不断涌现的突破性基础模型,生成式 AI 正在彻底改变各行各业的几乎所有用例。这些模型能够理解背景和原因,从而生成高质量的内容和高精度答案。

NVIDIA 不断优化和发布新的模型。本文将为您介绍最近更新的六个模型, 涵盖了对话, 视觉, 编程和医疗等领域。它们包括:

  • Phi-3 LLMs
  • Phi-3 Vision
  • Granite Code
  • ChangeNet
  • Retail Object Detection:
  • RFdiffusion

接下来, 我将相近为您介绍这些模型, 并给出示例:

1.Phi-3 LLMs

微软的 Phi-3 系列包含小型语言模型 (SLM),目的是实现最佳性能,同时不影响计算效率。其强大的推理能力和逻辑能力使其成为内容生成、摘要、问答和情感分析任务的理想选择。它包括:

  • Phi-3-medium
  • Phi-3-small
  • Phi-3-mini

我们以Phi-3-mini为例, mini版有两种变体 4K 和 128K,这是它可以支持的上下文长度(以标记为单位)。该模型经过了严格的增强过程,结合了监督微调和直接偏好优化,以确保精确遵守指令和强大的安全措施。

您可以通过Python代码来实现调用,下面代码中的$NVAPI_KEY您可以通过下面地址来申请:
https://build.nvidia.com/microsoft/phi-3-mini-4k

import requestsurl = "https://integrate.api.nvidia.com/v1/chat/completions"payload = {"model": "microsoft/phi-3-mini-4k-instruct","messages": [{"content": "I am going to Paris, what should I see?","role": "user"}],"temperature": 0.2,"top_p": 0.7,"max_tokens": 1024,"seed": 42,"stream": False,"stop": ["string"],"bad": ["string"]
}
headers = {"accept": "application/json","content-type": "application/json","authorization": "Bearer $NVAPI_KEY
}response = requests.post(url, json=payload, headers=headers)print(response.json()["choices"][0]['message']['content'])

这是就可以通过NIM的API调用phi-3-mini-4k模型, 并得到输出:

Paris, known as the "City of Light," offers a plethora of attractions that cater to a wide range of interests. Here's a list of must-see places and experiences:1. Eiffel Tower: No visit to Paris is complete without seeing this iconic landmark. You can either climb the tower for a panoramic view of the city or enjoy a romantic dinner at one of the restaurants on the first level.2. Louvre Museum: Home to thousands of works of art, including the Mona Lisa and Venus de Milo, the Louvre is the world's largest art museum.3. Notre-Dame Cathedral: This Gothic masterpiece is a must-see for its stunning architecture and historical significance.4. Montmartre: This charming neighborhood is known for its bohemian atmosphere, the Sacré-Cœur Basilica, and the bustling Place du Tertre, where artists display their work.......Remember to plan your itinerary according to your interests and the time you have available, as some attractions may require advance booking. Bon voyage!

2.Phi-3 Vision

Phi-3 Vision 使用图像和文本输入进行推理。这是一个轻量级、先进的开放式多模态模型,基于合成数据和从网站上筛选的公开数据集构建。重点关注非常高质量、推理密集的文本和视觉数据。该模型属于 Phi-3 模型系列,多模态版本可支持 128K 上下文长度(以 token 为单位)。该模型经过了严格的增强过程,结合了监督微调和直接偏好优化,以确保精确遵循指令和强大的安全措施。

您可以通过Python代码来实现调用,下面代码中的$NVAPI_KEY您可以通过下面地址来申请:
https://build.nvidia.com/microsoft/phi-3-vision-128k-instruct


import requests, base64invoke_url = "https://ai.api.nvidia.com/v1/vlm/microsoft/phi-3-vision-128k-instruct"
stream = Falsewith open("1.png", "rb") as f:image_b64 = base64.b64encode(f.read()).decode()assert len(image_b64) < 180_000, \"To upload larger images, use the assets API (see docs)"headers = {"Authorization": "Bearer $NVAPI_KEY","Accept": "text/event-stream" if stream else "application/json"
}payload = {"messages": [{"role": "user","content": f'Can you convert the table to markdown format? <img src="data:image/png;base64,{image_b64}" />'}],"max_tokens": 512,"temperature": 1.00,"top_p": 0.70,"stream": stream
}response = requests.post(invoke_url, headers=headers, json=payload)if stream:for line in response.iter_lines():if line:print(line.decode("utf-8"))
else:print(response.json()["choices"][0]['message']['content'])

此实例是上传一个表格的截图(如下所示), 并要求模型将截图中内容识别, 并转换成Markdown格式:
在这里插入图片描述

通过phi-3-vision-128k模型的处理, 最终输出:

Certainly! Below is the markdown table converted from the image provided:
| Product            | Qtr 1     | Qtr 2     | Grand Total |
|--------------------|-----------|-----------|-------------|
| Chocolade          | $744.60   | $162.56   | $907.16     |
| Gummibarchen       | $5,079.60 | $1,249.20 | $6,328.80   |
| Scottish Longbreads| $1,267.50 | $1,062.50 | $2,330.00   |
| Sir Rodney's Scones| $1,418.00 | $756.00   | $2,174.00   |
| Tarte au sucre     | $4,728.00 | $4,547.92 | $9,275.92   |
| Chocolate Biscuits | $943.89   | $349.60   | $1,293.49   |
| Total              | $14,181.59| $8,127.78 | $22,309.37  |
This table lists various products along with their quarterly sales (Qtr 1 and Qtr 2) and the grand total for each product.

我们可以看到, 此时模型已经将图片中的表格转换成了Markdown格式, 并且给出了它的理解

3.Granite Code

IBM 发布的 Granite Code 模型是开放式编程模型,目的是协助完成各种编码任务。这些模型经过 116 种编程语言的训练,可以生成代码示例、识别和修复错误并提供代码段的解释。

Granite Code模型分为8B和34B两个版本, 我们此处以34B版本为例。

您可以通过Python代码来实现调用,下面代码中的$NVAPI_KEY您可以通过下面地址来申请:
https://build.nvidia.com/ibm/granite-34b-code-instruct


import requestsurl = "https://integrate.api.nvidia.com/v1/chat/completions"payload = {"model": "ibm/granite-34b-code-instruct","max_tokens": 1024,"stream": False,"temperature": 0.5,"top_p": 1,"frequency_penalty": 0,"presence_penalty": 0,"seed": 0,"stop": None,"messages": "Generate a C++ program to implement the quicksort algorithm."
}
headers = {"accept": "application/json","content-type": "application/json","authorization": "Bearer $NVAPI_KEY
}response = requests.post(url, json=payload, headers=headers)print(response.json()["choices"][0]['message']['content'])

此示例给granite-34b-code输入Generate a C++ program to implement the quicksort algorithm, 让该模型帮我们实现一个C++版本的快速排序算法, 大模型的输出如下:

Here is a C++ program that implements the quicksort algorithm:

#include <iostream>using namespace std;// A utility function to swap two elements
void swap(int* a, int* b)
{int t = *a;*a = *b;*b = t;
}/* This function takes last element as pivot, placesthe pivot element at its correct position in sortedarray, and places all smaller (smaller than pivot)to left of pivot and all greater elements to rightof pivot */
int partition (int arr[], int low, int high)
{int pivot = arr[high];    // pivotint i = (low - 1);  // Index of smaller elementfor (int j = low; j <= high- 1; j++){// If current element is smaller than or// equal to pivotif (arr[j] <= pivot){i++;    // increment index of smaller elementswap(&arr[i], &arr[j]);}}swap(&arr[i + 1], &arr[high]);return (i + 1);
}/* The main function that implements QuickSortarr[] --> Array to be sorted,low  --> Starting index,high  --> Ending index */
void quickSort(int arr[], int low, int high)
{if (low < high){/* pi is partitioning index, arr[p] is nowat right place */int pi = partition(arr, low, high);// Separately sort elements before// partition and after partitionquickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}
}/* Function to print an array */
void printArray(int arr[], int size)
{int i;for (i=0; i < size; i++)cout << arr[i] << " ";cout << endl;
}// Driver program to test above functions
int main()
{int arr[] = {10, 7, 8, 9, 1, 5};int n = sizeof(arr)/sizeof(arr[0]);quickSort(arr, 0, n-1);cout << "Sorted array: \n";printArray(arr, n);return 0;
}

This program implements the quicksort algorithm in C++. The swap function is used to swap two elements, and the partition function takes the last element as the pivot and rearranges the array such that all elements smaller than the pivot are on the left and all elements greater than the pivot are on the right. The quickSort function recursively calls itself to sort the subarrays before and after the partition. Finally, the printArray function is used to print the sorted array.

我们可以看到, 模型的输出不仅完成了算法的实现, 还在代码中加入了注释, 方便用户理解代码。

4.ChangeNet

ChangeNet是一种先进的基于 Transformer 的模型,通过分析图像对来检测景观的变化。

您可以通过Python代码来实现调用,下面代码中的$NVAPI_KEY您可以通过下面地址来申请:
https://build.nvidia.com/nvidia/visual-changenet

import os
import sys
import uuid
import zipfileimport requestsnvai_url="https://ai.api.nvidia.com/v1/cv/nvidia/visual-changenet"
header_auth = f"Bearer $NVAPI_KEY"def _upload_asset(input, description):"""Uploads an asset to the NVCF API.:param input: The binary asset to upload:param description: A description of the asset"""authorize = requests.post("https://api.nvcf.nvidia.com/v2/nvcf/assets",headers={"Authorization": header_auth,"Content-Type": "application/json","accept": "application/json",},json={"contentType": "image/jpeg", "description": description},timeout=30,)authorize.raise_for_status()response = requests.put(authorize.json()["uploadUrl"],data=input,headers={"x-amz-meta-nvcf-asset-description": description,"content-type": "image/jpeg",},timeout=300,)response.raise_for_status()return uuid.UUID(authorize.json()["assetId"])if __name__ == "__main__":# Local imagesasset_id1 = _upload_asset(open('2.png', "rb"), "Reference Image")asset_id2 = _upload_asset(open('3.png', "rb"), "Test Image")# Asset IDs returned by the _upload_asset functioninputs = {"reference_image": f"{asset_id1}", "test_image": f"{asset_id2}"}asset_list = f"{asset_id1} , {asset_id2}"headers = {"Content-Type": "application/json","NVCF-INPUT-ASSET-REFERENCES": asset_list,"NVCF-FUNCTION-ASSET-IDS": asset_list,"Authorization": header_auth,}# Send the request to the NIM API.response = requests.post(nvai_url, headers=headers, json=inputs)with open(f"{'result'}.zip", "wb") as out:out.write(response.content)with zipfile.ZipFile(f"{'result'}.zip", "r") as z:z.extractall('result')print(f"Response saved to result")print(os.listdir('result'))

此处我们上传了两张遥感地图的图像:

在这里插入图片描述

在这里插入图片描述

changenet模型将为我分析两张图中的变化, 并得到如下结果, 我们可以在下图中看到标注出的变化.:

在这里插入图片描述

5.Retail Object Detection

Retail Object Detection 将检测图像中的零售商品, 它将对象分类为零售或非零售。

您可以通过Python代码来实现调用,下面代码中的$NVAPI_KEY您可以通过下面地址来申请:
https://build.nvidia.com/nvidia/retail-object-detection

import os
import sys
import uuid
import zipfileimport requestsnvai_url="https://ai.api.nvidia.com/v1/cv/nvidia/retail-object-detection"
header_auth = f"Bearer $NVAPI_KEY"def _upload_asset(input, description):assets_url = "https://api.nvcf.nvidia.com/v2/nvcf/assets"headers = {"Authorization": header_auth,"Content-Type": "application/json","accept": "application/json",}s3_headers = {"x-amz-meta-nvcf-asset-description": description,"content-type": "video/mp4",}payload = {"contentType": "video/mp4", "description": description}response = requests.post(assets_url, headers=headers, json=payload, timeout=30)response.raise_for_status()asset_url = response.json()["uploadUrl"]asset_id = response.json()["assetId"]response = requests.put(asset_url,data=input,headers=s3_headers,timeout=300,)response.raise_for_status()return uuid.UUID(asset_id)if __name__ == "__main__":"""Uploads a video or image of your choosing to the NVCF API and sends arequest to the Retail Object Detection model. The response is saved to alocal directory.Note: You must set up an environment variable, NVIDIA_API_KEY."""if len(sys.argv) != 3:print("Usage: python test.py <input_video> <output_dir>")sys.exit(1)asset_id = _upload_asset(open(sys.argv[1], "rb"), "Input Video")inputs = {"input_video": f"{asset_id}", "threshold": 0.9}asset_list = f"{asset_id}"headers = {"Content-Type": "application/json","NVCF-INPUT-ASSET-REFERENCES": asset_list,"NVCF-FUNCTION-ASSET-IDS": asset_list,"Authorization": header_auth,}response = requests.post(nvai_url, headers=headers, json=inputs)with open(f"{sys.argv[2]}.zip", "wb") as out:out.write(response.content)with zipfile.ZipFile(f"{sys.argv[2]}.zip", "r") as z:z.extractall(sys.argv[2])print(f"Output saved to {sys.argv[2]}")print(os.listdir(sys.argv[2]))

它将帮助您对上传的视频进行检测, 并将检测结果返回, 完成实时的目标检测任务:

在这里插入图片描述

6.RFdiffusion

RFdiffusion是一种由华盛顿大学开发的蛋白质生成模型,可以预测与特定目标结合的蛋白质的氨基酸序列。

您可以访问下面的地址尝试:

https://build.nvidia.com/ipd/rfdiffusion

在这里插入图片描述

总结

以上就是六种最新发布的模型介绍。当然, NIM平台还包括很多热门的模型, 包括:

  • Llama3-70B
  • Llama3-8B
  • Gemma 2B
  • Mixtral 8X22B

您都可以通过访问: https://build.nvidia.com/explore/discover 来尝试将其中的功能部署到您的应用程序中, 借助NVIDIA Inference Microservice来加速您的AI应用

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

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

相关文章

ctfshow-web入门-爆破(web25)及php_mt_seed工具的安装与使用

爆个&#x1f528;&#xff0c;不爆了 hexdec() 函数用于将十六进制字符串转换为十进制数&#xff1b; 注意&#xff1a; 我最开始做这道题时看错了&#xff0c;误以为随机数的种子直接来自于 flag 的前八位&#xff0c;以为就是 ctfshow{ 这八个字符然后 md5 加密再截取&a…

【DSP】【第六篇】开发支持包

1. SYS/BIOS发展历史 2. 下载链接 全目录链接。 2.1 SYS/BIOS DSP/BIOS和SYS/BIOS链接 2.1.1 DSP/BIOS 2.1.2 SYS/BIOS SYS/BIOS下载链接下图红框标记的是CCSv5可以使用的最新的版本。 2.1.2.1 网络驱动与协议栈 SYS/BIOS组件之网络驱动与协议栈 &#xff08;1&#xf…

2024年Google算法更新打击低质量(如AI生成)内容后,英文SEO优化人员该如何调整谷歌SEO优化策略?

3月5日&#xff0c;谷歌发布了2024年的首次算法更新。与以往更新不同&#xff0c;本次更新更加复杂&#xff0c;这次更新旨在提高搜索结果的质量和相关性&#xff0c;可能对外贸网站排名和流量产生显著影响。也将产生更大的网站数据波动。但在担心自己的网站数据受到影响之前&a…

MYSQL三、MYSQL的函数与约束

一、函数 函数&#xff1a;是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数主要分为以下四类&#xff1a; 字符串函数、数值函数、日期函数、流程函数。 1、字符串函数 -- concat : 字符串拼接 select concat(Hello , MySQL); -- 输出&#xff1a; Hello M…

通用代码生成器应用场景六,为完善的应用系统收集需求

通用代码生成器应用场景六&#xff0c;为完善的应用系统收集需求 使用急就章功能可以开发一个简单的应用先凑和着使用。此应用系统也可以成为完善的应用系统的原型和祖先。如果您新规划一个完善的应用系统&#xff0c;您可以先使用通用代码生成器生成一个临时使用的系统&#x…

人脸识别系统之动态人脸识别

二&#xff0e;动态人脸识别 1.摄像头人脸识别 1.1.导入资源包 import dlib import cv2 import face_recognition from PIL import Image, ImageTk import tkinter as tk import os注&#xff1a;这些导入语句允许您在代码中使用这些库和模块提供的功能&#xff0c;例如创建…

Cacti EZ中文版 12.2.27 ISO 下载安装

简介 修改了yum源为中国高校联合镜像源 github改为gitee。 系统增加中文语言包。 修改时区为东八区。 增加了常用的软件包。 PS&#xff1a;CactiEZ是一个自动化安装cacti和插件的ISO镜像&#xff0c;本教程的ISO是基于官方的IOS针对国内网络做了修改。 可按照目前最新的Ca…

Java1.8 vue版家政服务系统成品源码 家政管家系统源码 家政月嫂系统源码 家政保洁系统源码 在线派单,师傅入驻全套商业源码

Java1.8 vue版家政服务系统成品源码 家政管家系统源码 家政月嫂系统源码 家政保洁系统源码 在线派单&#xff0c;师傅入驻全套商业源码 一、系统定义 家政上门服务系统是一种利用互联网技术&#xff0c;将家政服务需求与专业的家政服务人员进行高效匹配的平台。它允许用户通过…

【OceanBase诊断调优】—— obdiag 工具助力OceanBase数据库诊断调优(DBA 从入门到实践第八期)

1. 前言 昨天给大家分享了【DBA从入门到实践】第八期&#xff1a;OceanBase数据库诊断调优、认证体系和用户实践 中obdiag的部分&#xff0c;今天将其中的内容以博客的形式给大家展开一下&#xff0c;方便大家阅读。 2. 正文 在介绍敏捷诊断工具之前&#xff0c;先说说OceanBa…

springboot配置

springboot配置 配置文件分类 springboot提供了多种属性配置方式 application.xml(只有老的spring项目使用)application.propertiesapplication.yml(或yaml) 优先级:properties>yml>yaml 配置文件 pom.xml★ 在Spring Boot项目中&#xff0c;pom.xml文件是Maven项目…

PLM系统与PDM系统、ERP系统、CRM系统有哪些关系?

在当今快速发展的信息技术时代&#xff0c;企业信息化已成为提升管理水平和增强竞争力的关键。其中&#xff0c;产品生命周期管理&#xff08;PLM&#xff09;作为企业信息化的基石&#xff0c;与其他信息系统如产品数据管理&#xff08;PDM&#xff09;、企业资源规划&#xf…

基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;还…

如何自建yum源仓库

文章目录 1&#xff0c;创建可用的yum源文件夹&#xff0c;把你自己的软件包&#xff0c;并放在这个目录文件夹中2&#xff0c;将yum源文件夹目录复制到/var/www/html/中3&#xff0c;客户端修改配置文件4&#xff0c;创建一个 RPM 软件包存储库5&#xff0c;查验是否成功6&…

Dify快速接入微信

一、Dify简介 项目官网&#xff1a;Dify.AI 生成式 AI 应用创新引擎 Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务&#xff08;Backend as Service&#xff09;和 LLMOps 的理念&#xff0c;使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非…

ESP32-C3模组上跑通OTA升级(11)

接前一篇文章&#xff1a;ESP32-C3模组上跑通OTA升级&#xff08;10&#xff09; 本文内容参考&#xff1a; 《ESP3-C3 物联网工程开发实战》 乐鑫科技 特此致谢&#xff01; 上一回说到解决了证书验证的问题&#xff0c;但紧接着又出现了一个新的问题&#xff1a;版本相同无…

QT等比例缩放图片

1、这里使用QLabe控件显示图片&#xff0c;如下&#xff1a; label->setPixmap(QPixmap::fromImage(image_2)); 以上是直接原始大小来显示QImage image_2图片。 label->setAlignment(Qt::AlignCenter); 以上代码&#xff0c;是将显示的图片居中展示&#xff0c;默认…

Vue3-Pinia(大菠萝)附源码

文章目录 Pinia 开源地址Pinia 定义与起源优点与特性Pinia使用准备一个小模块(可参考以下程序)搭建 pinia 环境存储读取数据修改数据(三种方式)storeToRefsgetters$subscribestore组合式写法 更多相关内容可查看 Pinia 开源地址 git地址&#xff1a;https://gitee.com/its-a-l…

干货分享 | 详解TSMaster CAN 与 CANFD 的 CRCE2E 校验方法

面对切换工具链的用户来说&#xff0c;在 TSMaster 上完成总线通讯中的 CRC/E2E 校验处理不是特别熟悉&#xff0c;该文章可以协助客户快速使用 TSMaster 完成 CAN/CAN FD 总线通讯的 CRC/E2E 校验。 本文关键字&#xff1a;TSMaster&#xff0c;CAN/CANFD&#xff0c;CRC 校验…

RK3588平台编译zlog 日志模块

下载zlog之后 解压 进入zlog目录 新建一个build_rk3588.sh脚本 内容如下 make CCaarch64-linux-gcc PREFIX./install_rk3588 将工具链导入环境变量 export PATH/home/QMCY/RK3588/arm64tools/aarch64-buildroot-linux-gnu_sdk-buildroot/bin/:$PATH 编译无问题 产生的…

【wiki知识库】04.SpringBoot后端实现电子书的增删改查以及前端界面的展示

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 目录 一、&#x1f525;今日内容 二、&#x1f30f;前端页面的改造 2.1新增电子书管理页面 2.2新增路由规则 2.3修改the-header代码 三、&#x1f697;SpringBoot后端Ebook模块改造 3.1增加电子书增/改接口 3.1.…