0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用OpenVINO GenAI API在C++中構(gòu)建AI應(yīng)用程序

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2024-10-12 09:36 ? 次閱讀

作者:

武卓 英特爾 AI 軟件布道師

介紹

許多桌面應(yīng)用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應(yīng)用程序中可能會很具有挑戰(zhàn)性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復(fù)雜性。C++ 結(jié)合 OpenVINO Runtime 提供了一個更加簡化、輕量且內(nèi)存高效的解決方案,尤其適用于 Windows 環(huán)境。你可以在此找到詳細(xì)的依賴項對比。

OpenVINO GenAI API 提供了一個原生的 C++ 接口,消除了對 Python 依賴的需求,使開發(fā)者可以用更高效的方式創(chuàng)建 AI 應(yīng)用程序。下面是一個基于 Windows 操作系統(tǒng)的分步驟指南,手把手教你如何在 C++ 中構(gòu)建 OpenVINO GenAI 應(yīng)用程序。

第一步:下載并解壓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文件并將內(nèi)容提取到

openvino_genai_windows_2024.3.0.0_x86_64

第二步:構(gòu)建項目

確保你的電腦上已安裝以下軟件組件:

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 環(huán)境初始化后,導(dǎo)航到 samples/cpp/ 文件夾,然后運行 build_samples_msvc.bat。

當(dāng)所有構(gòu)建過程完成后,你可以在構(gòu)建輸出中指示的路徑找到 chat_sample.exe 文件。

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

第三步:下載和轉(zhuǎn)換LLM及分詞器

你有兩種選擇來為AI推理準(zhǔn)備模型:

1. 下載已轉(zhuǎn)換的模型:從 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. 本地轉(zhuǎn)換模型:使用 optimum Intel 在你的設(shè)備上轉(zhuǎn)換模型。請確保根據(jù)此處的詳細(xì)要求安裝所需的依賴項:

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

然后,你可以使用已構(gòu)建的文件和LLM模型的路徑開始對話,例如:

chat_sample TinyLlama-1.1B-Chat-v1.0

第四步:運行模型

現(xiàn)在開始享受與基于LLM的聊天機器人進(jìn)行對話吧!

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

openvino_genai_windows_2024.3.0.0_x86_64samplescppchat_sample.cpp

文件中的以下兩行代碼中將“CPU”替換為“GPU”,就可以輕松切換為在GPU上運行推理,并再次構(gòu)建:

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

結(jié)論:

使用 OpenVINO GenAI API 在 C++ 中構(gòu)建 AI 應(yīng)用程序只需幾個步驟。探索并嘗試這個 API,充分釋放其潛力吧!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 英特爾
    +關(guān)注

    關(guān)注

    60

    文章

    9864

    瀏覽量

    171321
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29846

    瀏覽量

    268147
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2102

    瀏覽量

    73457
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    170

原文標(biāo)題:如何用 C++ 構(gòu)建 OpenVINO? 生成式 AI 應(yīng)用|開發(fā)者實戰(zhàn)

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Ubuntu上搭建OpenVINO C++程序開發(fā)環(huán)境

    應(yīng)用 Anomalib 和 OpenVINO 實現(xiàn)瑕疵檢測的過程,經(jīng)常會在 Ubuntu 下訓(xùn)練并部署 AI 模型。筆者一直 Wind
    發(fā)表于 08-09 09:42 ?975次閱讀
    <b class='flag-5'>在</b>Ubuntu上搭建<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b><b class='flag-5'>程序</b>開發(fā)環(huán)境

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

    象的位置和邊界。本文將介紹如何使用 OpenVINO C++ API 部署 FastSAM 模型,以實現(xiàn)快速高效的語義分割。在前文中我們發(fā)表了《基于 OpenVINO Python
    的頭像 發(fā)表于 11-17 09:53 ?840次閱讀
    如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> <b class='flag-5'>API</b>部署FastSAM模型

    使用OpenVINO運行C++ API創(chuàng)建輸入tensor并執(zhí)行推理遇到的問題求解

    使用 OpenVINO? 運行時 C++ API 創(chuàng)建輸入 tensor 并執(zhí)行推理: ov::Tensor input_tensor = ov::Tensor(input_type
    發(fā)表于 08-15 08:22

    Raspberry Pi上從源代碼構(gòu)建OpenVINO 2021.3收到錯誤怎么解決?

    Raspberry Pi 上從源代碼構(gòu)建 OpenVINO?2021.3。 運行OpenVINO?推理,并收到錯誤消息: ModuleNotFoundError:沒有
    發(fā)表于 08-15 08:24

    跨平臺C++圖形用戶界面應(yīng)用程序QT4文教程手冊

    跨平臺C++圖形用戶界面應(yīng)用程序QT4文教程手冊
    發(fā)表于 08-29 14:22 ?0次下載

    visual C++編程詞典應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是visual C++編程詞典應(yīng)用程序免費下載。
    發(fā)表于 05-17 17:10 ?27次下載
    visual <b class='flag-5'>C++</b>編程詞典<b class='flag-5'>應(yīng)用程序</b>免費下載

    Dev C++ IDE的應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Dev C++ IDE的應(yīng)用程序免費下載。
    發(fā)表于 10-17 08:00 ?17次下載
    Dev <b class='flag-5'>C++</b> IDE的<b class='flag-5'>應(yīng)用程序</b>免費下載

    OpenVINO? C++ API編寫YOLOv8-Seg實例分割模型推理程序

    本文章將介紹使用 OpenVINO 2023.0 C++ API 開發(fā)YOLOv8-Seg 實例分割(Instance Segmentation)模型的 AI 推理
    的頭像 發(fā)表于 06-25 16:09 ?1494次閱讀
    用<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>

    OpenVINO? C# API詳解與演示

    OpenVINO C# API 支持 NuGet 程序包安裝方式,這與 OpenVINO C++
    的頭像 發(fā)表于 10-13 16:39 ?711次閱讀
    <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 模型基礎(chǔ)上進(jìn)行改進(jìn)的,一種基于 DETR 架構(gòu)的實時端到端檢測器,它通過使用一系列新的技術(shù)和算法,實現(xiàn)了更高效的訓(xùn)練和推理,我們將在 Python、C++、C# 三個
    的頭像 發(fā)表于 10-20 11:15 ?893次閱讀
    基于<b class='flag-5'>OpenVINO</b> Python <b class='flag-5'>API</b>部署RT-DETR模型

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

    應(yīng)用,我們?yōu)榱伺c當(dāng)前軟件平臺集成更多會采用 C++ 平臺,因此本文中,我們將基于 OpenVINO C++
    的頭像 發(fā)表于 11-03 14:30 ?749次閱讀
    基于<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 模型 | 開發(fā)者實戰(zhàn)》和《基于 OpenVINO C++ API 部署 RT-DETR 模型 | 開發(fā)者實戰(zhàn)》,
    的頭像 發(fā)表于 11-10 16:59 ?698次閱讀
    基于<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C</b># <b class='flag-5'>API</b>部署RT-DETR模型

    如何快速下載OpenVINO NotebooksAI大模型

    OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便開發(fā)者快速學(xué)習(xí)并掌握OpenVINO推理
    的頭像 發(fā)表于 12-12 14:40 ?1058次閱讀
    如何快速下載<b class='flag-5'>OpenVINO</b> Notebooks<b class='flag-5'>中</b>的<b class='flag-5'>AI</b>大模型

    使用OpenVINO GenAI API的輕量級生成式AI

    機器人的進(jìn)步很快、變化不斷,很難預(yù)測接下來會有什么突破,開發(fā)者應(yīng)該關(guān)注什么。我們知道生成式AI將繼續(xù)存在,開發(fā)人員希望看到本地開發(fā)、維護(hù)和部署 AI 應(yīng)用程序的更簡潔明了的方法。
    的頭像 發(fā)表于 07-24 15:08 ?485次閱讀

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優(yōu)化與整理,已經(jīng)是非常貼近開發(fā)的使用習(xí)慣與
    的頭像 發(fā)表于 07-26 09:20 ?721次閱讀