作者:
介紹
許多桌面應(yīng)用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應(yīng)用程序中可能會(huì)很具有挑戰(zhàn)性,尤其是因?yàn)槭褂孟?Hugging Face 這樣的 Python 庫(kù)的復(fù)雜性。C++ 結(jié)合 OpenVINO Runtime 提供了一個(gè)更加簡(jiǎn)化、輕量且內(nèi)存高效的解決方案,尤其適用于 Windows 環(huán)境。你可以在此找到詳細(xì)的依賴項(xiàng)對(duì)比。
OpenVINO GenAI API 提供了一個(gè)原生的 C++ 接口,消除了對(duì) Python 依賴的需求,使開發(fā)者可以用更高效的方式創(chuàng)建 AI 應(yīng)用程序。下面是一個(gè)基于 Windows 操作系統(tǒng)的分步驟指南,手把手教你如何在 C++ 中構(gòu)建 OpenVINO GenAI 應(yīng)用程序。
第一步:下載并解壓OpenVINO壓縮包
訪問 OpenVINO下載頁(yè)面,
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
并點(diǎn)擊“Download Archives with GenAI”選擇最新版本。
下載完成后,解壓該zip文件并將內(nèi)容提取到
openvino_genai_windows_2024.3.0.0_x86_64
第二步:構(gòu)建項(xiàng)目
確保你的電腦上已安裝以下軟件組件:
CMake 3.23 或更高版本
Microsoft Visual Studio 2019 或更高版本,16.3或更新
Python 3.8 或更高版本
打開命令窗口,并在下載并解壓后的 OpenVINO GenAI 文件夾中運(yùn)行 setupvars.bat 文件:
openvino_genai_windows_2024.3.0.0_x86_64setupvars.bat
在同一個(gè)命令窗口中,OpenVINO 環(huán)境初始化后,導(dǎo)航到 samples/cpp/ 文件夾,然后運(yùn)行 build_samples_msvc.bat。
當(dāng)所有構(gòu)建過(guò)程完成后,你可以在構(gòu)建輸出中指示的路徑找到 chat_sample.exe 文件。
第三步:下載和轉(zhuǎn)換LLM及分詞器
你有兩種選擇來(lái)為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
請(qǐng)參閱此處的說(shuō)明:
https://huggingface.co/OpenVINO/TinyLlama-1.1B-Chat-v1.0-int4-ov
在 Hugging Face 上的 OpenVINO LLMs 集合中還有其他可用模型,歡迎探索更多模型。
2. 本地轉(zhuǎn)換模型:使用 optimum Intel 在你的設(shè)備上轉(zhuǎn)換模型。請(qǐng)確保根據(jù)此處的詳細(xì)要求安裝所需的依賴項(xiàng):
optimum-cli export openvino --model "TinyLlama/TinyLlama-1.1B-Chat-v1.0" --trust-remote-code "TinyLlama-1.1B-Chat-v1.0"
然后,你可以使用已構(gòu)建的文件和LLM模型的路徑開始對(duì)話,例如:
chat_sample TinyLlama-1.1B-Chat-v1.0
第四步:運(yùn)行模型
現(xiàn)在開始享受與基于LLM的聊天機(jī)器人進(jìn)行對(duì)話吧!
注意,上述展示的是在CPU上運(yùn)行LLM推理的示例,然而,只需在
openvino_genai_windows_2024.3.0.0_x86_64samplescppchat_sample.cpp
文件中的以下兩行代碼中將“CPU”替換為“GPU”,就可以輕松切換為在GPU上運(yùn)行推理,并再次構(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)用程序只需幾個(gè)步驟。探索并嘗試這個(gè) API,充分釋放其潛力吧!
-
英特爾
+關(guān)注
關(guān)注
61文章
10141瀏覽量
173566 -
AI
+關(guān)注
關(guān)注
87文章
33554瀏覽量
274193 -
C++
+關(guān)注
關(guān)注
22文章
2116瀏覽量
74567 -
OpenVINO
+關(guān)注
關(guān)注
0文章
112瀏覽量
379
原文標(biāo)題:如何用 C++ 構(gòu)建 OpenVINO? 生成式 AI 應(yīng)用|開發(fā)者實(shí)戰(zhàn)
文章出處:【微信號(hào):英特爾物聯(lián)網(wǎng),微信公眾號(hào):英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
C#集成OpenVINO?:簡(jiǎn)化AI模型部署

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

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

在OpenVINO?中運(yùn)行應(yīng)用程序失敗怎么解決?
如何部署OpenVINO?工具套件應(yīng)用程序?
使用OpenVINO運(yùn)行C++ API創(chuàng)建輸入tensor并執(zhí)行推理遇到的問題求解
在Raspberry Pi上從源代碼構(gòu)建OpenVINO 2021.3收到錯(cuò)誤怎么解決?
跨平臺(tái)C++圖形用戶界面應(yīng)用程序QT4中文教程手冊(cè)
用OpenVINO? C++ API編寫YOLOv8-Seg實(shí)例分割模型推理程序

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

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

使用OpenVINO GenAI API的輕量級(jí)生成式AI
OpenVINO2024 C++推理使用技巧
C#中使用OpenVINO?:輕松集成AI模型!

評(píng)論