作者:Raymond Lo、武卓、Dmitriy Pastushenkov
許多桌上型PC應用程式都是使用C++語言開發的,但因為使用Hugging Face等以Python語言為基礎的程式庫之複雜性,要將生成式AI (GenAI)功能整合到這些應用程式中會頗具挑戰性。以C++搭配OpenVINO Runtime提供了一個更精簡、輕量,而且記憶體效能更佳的解決方案,特別是在Windows環境下。在這裡可以找到詳細的依賴項比較。
OpenVINO GenAI API提供了原生C++介面,免除對Python依賴項的需求,讓開發者能以更節省資源的方法打造AI應用。以下是使用Windows作業系統為範例,逐步構建OpenVINO GenAI應用程式的指南。
步驟1:下載並解壓縮OpenVINO檔案
連結OpenVINO下載頁面,點擊「下載具備GenAI的檔案」(Download Archives with GenAI)選擇最新版本。
下載完成後,將壓縮檔解壓縮至以下路徑:
\openvino_genai_windows_2024.3.0.0_x86_64
步驟2:建置專案
確保你的電腦上已安裝以下軟體元件:
- CMake 3.23 或更高版本
- Microsoft Visual Studio 2019 或更高版本,16.3 或更新版本
- Python 3.8 或更高版本
開啟命令視窗,並從解壓縮後的OpenVINO with GenAI資料夾執行 setupvars.bat檔案。
\openvino_genai_windows_2024.3.0.0_x86_64\setupvars.ba
在同一個命令視窗中,OpenVINO環境初始化後,導航至資料夾 samples/cpp/,然後執行 build_samples_msvc.bat
當所有建置過程完成後,就可以在建置過程輸出中所指定的路徑找到 chat_sample.exe 檔案。
步驟3:下載並轉換LLM和Tokenizers
有兩種準備AI推論模型的選擇:
1. 下載已轉換的模型:直接從Hugging Face上的OpenVINO大型語言模型(LLM)集合中下載。
pip install huggingface_hub
huggingface-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 LLM集合中還有其他可用的模型,歡迎探索。
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
步驟4:執行模型
現在開始享受與LLM聊天機器人的對話吧!
要注意的是,以上顯示的是在CPU上執行LLM推論,然而,只需將以下路徑:
\openvino_genai_windows_2024.3.0.0_x86_64\samples\cpp\chat_sample.cpp
檔案中的以下兩行程式碼裡的「CPU」 替換為「GPU」,然後重新建置,就可輕鬆切換為在GPU上執行推論。
std::string device = “GPU”; // GPU can be used as well
ov::genai::LLMPipeline pipe(model_path, device);
結語
使用OpenVINO GenAI API以C++語言建構AI應用程式只需幾個步驟;一起來探索並嘗試這個API,充分感受它的全部潛力吧!
- 用OpenVINO GenAI解鎖LLM極速推論:推測式解碼讓AI爆發潛能 - 2025/04/23
- 以C++語言構建OpenVINO GenAI應用程式就是這麼簡單! - 2024/10/01
- OpenVINO 2023.2版本發佈:讓生成式AI在實際場景中更易用 - 2023/11/22
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!