0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用OpenVINO GenAI API在C++中构建AI应用程序

英特尔物联网 来源:英特尔物联网 2024-10-12 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:

武卓 英特尔 AI 软件布道师

介绍

许多桌面应用程序是使用 C++ 开发的,而将生成式AI(GenAI)功能集成到这些应用程序中可能会很具有挑战性,尤其是因为使用像 Hugging Face 这样的 Python 库的复杂性。C++ 结合 OpenVINO Runtime 提供了一个更加简化、轻量且内存高效的解决方案,尤其适用于 Windows 环境。你可以在此找到详细的依赖项对比。

OpenVINO GenAI API 提供了一个原生的 C++ 接口,消除了对 Python 依赖的需求,使开发者可以用更高效的方式创建 AI 应用程序。下面是一个基于 Windows 操作系统的分步骤指南,手把手教你如何在 C++ 中构建 OpenVINO GenAI 应用程序。

第一步:下载并解压OpenVINO压缩包

访问 OpenVINO下载页面,

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html?PACKAGE=OPENVINO_BASE&VERSION=v_2024_4_0&OP_SYSTEM=WINDOWS&DISTRIBUTION=PIP

并点击“Download Archives with GenAI”选择最新版本。

40a6eefa-877f-11ef-b8af-92fbcf53809c.png

下载完成后,解压该zip文件并将内容提取到

openvino_genai_windows_2024.3.0.0_x86_64

第二步:构建项目

确保你的电脑上已安装以下软件组件:

CMake 3.23 或更高版本

Microsoft Visual Studio 2019 或更高版本,16.3或更新

Python 3.8 或更高版本

打开命令窗口,并在下载并解压后的 OpenVINO GenAI 文件夹中运行 setupvars.bat 文件:

openvino_genai_windows_2024.3.0.0_x86_64setupvars.bat

40c5375c-877f-11ef-b8af-92fbcf53809c.png

在同一个命令窗口中,OpenVINO 环境初始化后,导航到 samples/cpp/ 文件夹,然后运行 build_samples_msvc.bat。

当所有构建过程完成后,你可以在构建输出中指示的路径找到 chat_sample.exe 文件。

40d2cfa2-877f-11ef-b8af-92fbcf53809c.png40f6a7a6-877f-11ef-b8af-92fbcf53809c.png

第三步:下载和转换LLM及分词器

你有两种选择来为AI推理准备模型:

1. 下载已转换的模型:从 Hugging Face 上的 OpenVINO LLMs 集合中直接下载模型:

pip install huggingface_hubhuggingface-cli download OpenVINO/TinyLlama-1.1B-Chat-v1.0-int4-ov --local-dir TinyLlama-1.1B-Chat-v1

请参阅此处的说明:

https://huggingface.co/OpenVINO/TinyLlama-1.1B-Chat-v1.0-int4-ov

在 Hugging Face 上的 OpenVINO LLMs 集合中还有其他可用模型,欢迎探索更多模型。

2. 本地转换模型:使用 optimum Intel 在你的设备上转换模型。请确保根据此处的详细要求安装所需的依赖项:

optimum-cli export openvino --model "TinyLlama/TinyLlama-1.1B-Chat-v1.0" --trust-remote-code "TinyLlama-1.1B-Chat-v1.0"

然后,你可以使用已构建的文件和LLM模型的路径开始对话,例如:

chat_sample TinyLlama-1.1B-Chat-v1.0

第四步:运行模型

现在开始享受与基于LLM的聊天机器人进行对话吧!

注意,上述展示的是在CPU上运行LLM推理的示例,然而,只需在

openvino_genai_windows_2024.3.0.0_x86_64samplescppchat_sample.cpp

文件中的以下两行代码中将“CPU”替换为“GPU”,就可以轻松切换为在GPU上运行推理,并再次构建:

std::string device = "GPU"; // GPU can be used as wellov::LLMPipeline pipe(model_path, device);

结论:

使用 OpenVINO GenAI API 在 C++ 中构建 AI 应用程序只需几个步骤。探索并尝试这个 API,充分释放其潜力吧!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    61

    文章

    10340

    浏览量

    181313
  • AI
    AI
    +关注

    关注

    91

    文章

    41963

    浏览量

    303027
  • C++
    C++
    +关注

    关注

    22

    文章

    2131

    浏览量

    77475
  • OpenVINO
    +关注

    关注

    0

    文章

    118

    浏览量

    828

原文标题:如何用 C++ 构建 OpenVINO™ 生成式 AI 应用|开发者实战

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C#集成OpenVINO™:简化AI模型部署

    开源测控、机器视觉、数采与分析三大领域中,如何快速将AI模型集成到应用程序, 实现AI赋能和应用增值? 最容易的方式是:
    的头像 发表于 02-17 10:03 3082次阅读
    <b class='flag-5'>C</b>#集成<b class='flag-5'>OpenVINO</b>™:简化<b class='flag-5'>AI</b>模型部署

    Ubuntu上搭建OpenVINO C++程序开发环境

    应用 Anomalib 和 OpenVINO 实现瑕疵检测的过程,经常会在 Ubuntu 下训练并部署 AI 模型。笔者一直 Wind
    发表于 08-09 09:42 2039次阅读
    <b class='flag-5'>在</b>Ubuntu上搭建<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b><b class='flag-5'>程序</b>开发环境

    如何使用OpenVINO C++ API部署FastSAM模型

    象的位置和边界。本文将介绍如何使用 OpenVINO C++ API 部署 FastSAM 模型,以实现快速高效的语义分割。在前文中我们发表了《基于 OpenVINO Python
    的头像 发表于 11-17 09:53 2013次阅读
    如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> <b class='flag-5'>API</b>部署FastSAM模型

    OpenVINO运行应用程序失败怎么解决?

    尝试 OpenVINO运行我的推理应用程序失败,并出现以下错误: RuntimeError: Check \'false\' failed at src/core/src/ru
    发表于 03-05 10:29

    请问是否可以通用Windows平台中构建OpenVINOGenAI C++ 应用程序

    无法通用 Windows 平台中构建OpenVINOGenAI C++ 应用程序
    发表于 06-24 07:35

    使用英特尔® NPU 插件C++运行应用程序时出现错误:“std::Runtime_error at memory location”怎么解决?

    使用OpenVINO™工具套件版本 2024.4.0 构建C++应用程序 使用英特尔® NPU 插件运行了 C++
    发表于 06-25 08:01

    无法运行Whisper Asr GenAI OpenVINO™ Notebook怎么解决?

    冉小 声说-asr-genai OpenVINO™笔记本。 遇到的错误: Port for tensor name cache_position was not found.
    发表于 06-25 07:41

    Raspberry Pi上从源代码构建OpenVINO 2021.3收到错误怎么解决?

    Raspberry Pi 上从源代码构建 OpenVINO™2021.3。 运行OpenVINO™推理,并收到错误消息: ModuleNotFoundError:没有
    发表于 08-15 08:24

    OpenVINOC++ API编写YOLOv8-Seg实例分割模型推理程序

    本文章将介绍使用 OpenVINO 2023.0 C++ API 开发YOLOv8-Seg 实例分割(Instance Segmentation)模型的 AI 推理
    的头像 发表于 06-25 16:09 3340次阅读
    用<b class='flag-5'>OpenVINO</b>™ <b class='flag-5'>C++</b> <b class='flag-5'>API</b>编写YOLOv8-Seg实例分割模型推理<b class='flag-5'>程序</b>

    OpenVINOC# API详解与演示

    OpenVINO C# API 支持 NuGet 程序包安装方式,这与 OpenVINO C++
    的头像 发表于 10-13 16:39 2036次阅读
    <b class='flag-5'>OpenVINO</b>™  <b class='flag-5'>C</b># <b class='flag-5'>API</b>详解与演示

    基于OpenVINO C++ API部署RT-DETR模型

    应用,我们为了与当前软件平台集成更多会采用 C++ 平台,因此本文中,我们将基于 OpenVINO C++
    的头像 发表于 11-03 14:30 2488次阅读
    基于<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> <b class='flag-5'>API</b>部署RT-DETR模型

    基于OpenVINO C# API部署RT-DETR模型

    Python API 部署 RT-DETR 模型 | 开发者实战》和《基于 OpenVINO C++ API 部署 RT-DETR 模型 | 开发者实战》,
    的头像 发表于 11-10 16:59 2071次阅读
    基于<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C</b># <b class='flag-5'>API</b>部署RT-DETR模型

    使用OpenVINO GenAI API的轻量级生成式AI

    机器人的进步很快、变化不断,很难预测接下来会有什么突破,开发者应该关注什么。我们知道生成式AI将继续存在,开发人员希望看到本地开发、维护和部署 AI 应用程序的更简洁明了的方法。
    的头像 发表于 07-24 15:08 2w次阅读

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都觉得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的优化与整理,已经是非常贴近开发的使用习惯与
    的头像 发表于 07-26 09:20 2404次阅读

    C#中使用OpenVINO™:轻松集成AI模型!

    与分析三大领域中,如何快速将AI模型集成到应用程序,实现AI赋能和应用增值?最容易的方式是:C
    的头像 发表于 02-07 14:05 2144次阅读
    <b class='flag-5'>C</b>#中使用<b class='flag-5'>OpenVINO</b>™:轻松集成<b class='flag-5'>AI</b>模型!