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

    文章

    9915

    浏览量

    171587
  • AI
    AI
    +关注

    关注

    87

    文章

    30348

    浏览量

    268602
  • C++
    C++
    +关注

    关注

    22

    文章

    2105

    浏览量

    73531
  • OpenVINO
    +关注

    关注

    0

    文章

    90

    浏览量

    184

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

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

收藏 人收藏

    评论

    相关推荐

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

    应用 Anomalib 和 OpenVINO 实现瑕疵检测的过程,经常会在 Ubuntu 下训练并部署 AI 模型。笔者一直 Wind
    发表于 08-09 09:42 992次阅读
    <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 881次阅读
    如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> <b class='flag-5'>API</b>部署FastSAM模型

    使用OpenVINO运行C++ API创建输入tensor并执行推理遇到的问题求解

    使用 OpenVINO™ 运行时 C++ API 创建输入 tensor 并执行推理: ov::Tensor input_tensor = ov::Tensor(input_type
    发表于 08-15 08:22

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

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

    跨平台C++图形用户界面应用程序QT4文教程手册

    跨平台C++图形用户界面应用程序QT4文教程手册
    发表于 08-29 14:22 0次下载

    visual C++编程词典应用程序免费下载

    本文档的主要内容详细介绍的是visual C++编程词典应用程序免费下载。
    发表于 05-17 17:10 27次下载
    visual <b class='flag-5'>C++</b>编程词典<b class='flag-5'>应用程序</b>免费下载

    Dev C++ IDE的应用程序免费下载

    本文档的主要内容详细介绍的是Dev C++ IDE的应用程序免费下载。
    发表于 10-17 08:00 17次下载
    Dev <b class='flag-5'>C++</b> IDE的<b class='flag-5'>应用程序</b>免费下载

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

    本文章将介绍使用 OpenVINO 2023.0 C++ API 开发YOLOv8-Seg 实例分割(Instance Segmentation)模型的 AI 推理
    的头像 发表于 06-25 16:09 1546次阅读
    用<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 733次阅读
    <b class='flag-5'>OpenVINO</b>™  <b class='flag-5'>C</b># <b class='flag-5'>API</b>详解与演示

    基于OpenVINO Python API部署RT-DETR模型

    RT-DETR 是 DETR 模型基础上进行改进的,一种基于 DETR 架构的实时端到端检测器,它通过使用一系列新的技术和算法,实现了更高效的训练和推理,我们将在 Python、C++C# 三个
    的头像 发表于 10-20 11:15 920次阅读
    基于<b class='flag-5'>OpenVINO</b> Python <b class='flag-5'>API</b>部署RT-DETR模型

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

    应用,我们为了与当前软件平台集成更多会采用 C++ 平台,因此本文中,我们将基于 OpenVINO C++
    的头像 发表于 11-03 14:30 796次阅读
    基于<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 723次阅读
    基于<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 537次阅读

    OpenVINO2024 C++推理使用技巧

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

    使用OpenVINO™ ElectronJS创建桌面应用程序

      最近,我完成了一个 demo 演示,展示了 OpenVINO Node.js 框架的强大功能。得益于与 Electron.js 的集成,该演示不仅能够高效地执行神经网络推理,还提供了交互式
    的头像 发表于 11-25 11:35 128次阅读
    使用<b class='flag-5'>OpenVINO</b>™ ElectronJS<b class='flag-5'>中</b>创建桌面<b class='flag-5'>应用程序</b>