本文介紹了PolarDB for AI的子功能Row-oriented AI的概念、適用情境、使用限制以及使用方法等內容。
簡介
Row-oriented AI,即AI模型推理以及通過Loadable Function作為Hook來調用LLM(大語言模型)的能力,是PolarDB for AI的一個重要子功能。該功能支援使用者將建立模型好的AI模型註冊到PolarDB內部進行推理,並提供Native SQL能力給使用者,對於內建模型效能有明顯優勢,同時支援使用Hook函數來串連大語言模型。
使用者可以像使用Database內建函數一樣簡單操作AI模型和大語言模型。該功能的初衷是將AI能力整合到PolarDB內部,並給使用者提供Native SQL能力來操作AI模型,以最小化資料移動來保證資料的一致性並提升推理效能。
Row-oriented AI功能支援使用匯入模型和內建平台模型兩種模型,這兩種模型的註冊方式不同,但使用方式完全一致,都是通過原生SQL進行後續查詢。

匯入模型
匯入模型,即使用者建立模型好的模型或遠端大模型。具體包括以下3類:
使用者自訂模型:使用者將自訂建立好的模型通過SQL語句註冊到PolarDB中,再建立函數進行推理。Row-oriented AI將在AI節點上部署推理服務,然後通過自動產生的UDF(
.so檔案)來調用AI節點的推理服務進行計算,資料無需匯出資料庫。第三方預建立模型:第三方庫模型(Pre-Trained Models),使用方法和使用者自訂模型一致,需要先將模型註冊到PolarDB後,再建立函數進行推理。
大語言模型:由使用者提供遠端大模型相關元資訊(如推理服務地址、API_KEY等),Row-oriented AI會自動產生對應的UDF(
.so檔案),並作為Hook來調用模型推理服務。
內建平台模型
內建平台模型,即PolarDB for AI提供的自研平台類模型,會整合到PolarDB中發布,如通義千問、診斷諮詢機器人、聊天機器人、菜鳥決策樹模型和異常檢測模型等。使用者只需要在資料庫中部署模型和建立函數即可進行模型推理。目前提供的可使用的內建函數和對應的
.so檔案如下:函數名稱
模型名稱
.so檔案
傳回型別
描述
polarchat
builtin_polarchat
#ailib#_builtin_polarchat.so
STRING
基於大語言模型的互動式問答函數。
polarzixun
builtin_polarzixun
#ailib#_builtin_polarzixun.so
STRING
基於Retrieval+大語言模型的諮詢函數。
qwen
builtin_qwen
#ailib#_builtin_qwen.so
STRING
基於通義千問的大模型函數。
適用情境
資料庫表中每一行資料對應一個模型推理輸出結果的情境。
AI模型依賴於資料更新,無法頻繁將資料匯出資料庫進行推理的情境。
AI模型推理使用的SQL語句能夠結合複雜查詢功能(如Group By、Subquery、Join等)。
利用資料庫中的表資料進行大語言模型推理的情境。
匯入模型目前僅支援TensorFlow模型(輸入為一維數組或句子),支援的輸出類型為INTEGER、REAL或STRING。
使用限制
僅支援在PolarDB MySQL版8.0.2版本的企業版叢集中使用該功能。
費用
使用說明
具體的使用詳情請參見匯入模型使用說明和內建平台模型使用說明。