作者:
介紹
許多桌面應用程序是使用 C++ 開發(fā)的,而將生成式AI(GenAI)功能集成到這些應用程序中可能會很具有挑戰(zhàn)性,尤其是因為使用像 Hugging Face 這樣的 Python 庫的復雜性。C++ 結合 OpenVINO Runtime 提供了一個更加簡化、輕量且內存高效的解決方案,尤其適用于 Windows 環(huán)境。你可以在此找到詳細的依賴項對比。
OpenVINO GenAI API 提供了一個原生的 C++ 接口,消除了對 Python 依賴的需求,使開發(fā)者可以用更高效的方式創(chuàng)建 AI 應用程序。下面是一個基于 Windows 操作系統(tǒng)的分步驟指南,手把手教你如何在 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”選擇最新版本。
下載完成后,解壓該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
在同一個命令窗口中,OpenVINO 環(huán)境初始化后,導航到 samples/cpp/ 文件夾,然后運行 build_samples_msvc.bat。
當所有構建過程完成后,你可以在構建輸出中指示的路徑找到 chat_sample.exe 文件。
第三步:下載和轉換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 在你的設備上轉換模型。請確保根據(jù)此處的詳細要求安裝所需的依賴項:
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
第四步:運行模型
現(xiàn)在開始享受與基于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文章
9949瀏覽量
171692 -
AI
+關注
關注
87文章
30728瀏覽量
268880 -
C++
+關注
關注
22文章
2108瀏覽量
73618 -
OpenVINO
+關注
關注
0文章
92瀏覽量
196
原文標題:如何用 C++ 構建 OpenVINO? 生成式 AI 應用|開發(fā)者實戰(zhàn)
文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
在Ubuntu上搭建OpenVINO C++程序開發(fā)環(huán)境
![<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)境](https://file1.elecfans.com/web2/M00/8F/D5/wKgaomTS72iAQYgoAAAdxn6KwdY132.png)
如何使用OpenVINO C++ API部署FastSAM模型
![如何使用<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C++</b> <b class='flag-5'>API</b>部署FastSAM模型](https://file1.elecfans.com/web2/M00/B0/8D/wKgZomVWyHqAW-1yAAALg86hbM0154.png)
使用OpenVINO運行C++ API創(chuàng)建輸入tensor并執(zhí)行推理遇到的問題求解
在Raspberry Pi上從源代碼構建OpenVINO 2021.3收到錯誤怎么解決?
用OpenVINO? C++ API編寫YOLOv8-Seg實例分割模型推理程序
![用<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>](https://file1.elecfans.com/web2/M00/8A/97/wKgZomSX9qOAI3geAAAz_XsLOnc994.png)
基于OpenVINO Python API部署RT-DETR模型
![基于<b class='flag-5'>OpenVINO</b> Python <b class='flag-5'>API</b>部署RT-DETR模型](https://file1.elecfans.com/web2/M00/AB/3A/wKgZomUx8TOAWn0nAAAeLGnrxPA058.png)
基于OpenVINO C# API部署RT-DETR模型
![基于<b class='flag-5'>OpenVINO</b> <b class='flag-5'>C</b># <b class='flag-5'>API</b>部署RT-DETR模型](https://file1.elecfans.com/web2/M00/AD/85/wKgaomVN8U6AJzs_AAAeLGnrxPA246.png)
使用OpenVINO GenAI API的輕量級生成式AI
OpenVINO2024 C++推理使用技巧
使用OpenVINO? ElectronJS中創(chuàng)建桌面應用程序
![使用<b class='flag-5'>OpenVINO</b>? ElectronJS<b class='flag-5'>中</b>創(chuàng)建桌面<b class='flag-5'>應用程序</b>](https://file1.elecfans.com/web2/M00/0C/53/wKgZomdD8diACgTuAAAT4yibHbI490.png)
評論