triton-inference-server/client
Triton Python, C++ and Java client libraries, and GRPC-generated client examples for go, java and scala.
解決的問題
簡化與 Triton Inference Server 之間的通訊流程。無需手動建構原始網路請求,開發者可使用這些標準化的客戶端程式庫來執行模型推論、檢查伺服器健康狀態與狀態、取得統計資料與指標,並管理模型儲存庫。
工作原理
本專案為多種程式語言提供一組 API,封裝了 Triton 使用的通訊協定。支援兩種主要傳輸協定:
- HTTP/REST:一種標準的基於 Web 的請求傳送方式。
- gRPC:一種高效率的遠端程序呼叫框架。
為實現高效率資料傳輸,這些程式庫支援使用系統共享記憶體與 CUDA 共享記憶體來傳遞輸入並接收輸出,從而減少客戶端與伺服器之間資料複製的開銷。
適用對象
需要使用 C++、Python 或 Java 將資料傳送至 Triton Inference Server 進行 AI 模型預測的應用開發者。
主要特色
- 多語言支援:提供 C++、Python 與 Java 的官方程式庫,透過
protoc編譯器亦可為多種其他語言產生 gRPC 存根。 - 高效率資料傳輸:支援 CUDA 與系統共享記憶體,以最小化延遲。
- 安全通訊:HTTP 與 gRPC 協定均內建 SSL/TLS 支援。
- 線上壓縮:可壓縮請求與回應,節省頻寬。
- 可擴充性:提供 Python Client Plugin API,允許使用者新增自訂請求標頭(例如透過閘道器進行驗證/授權)。
- 非同步支援:提供 Python AsyncIO 的 Beta 支援,實現非阻塞推論呼叫。
相關
- 專案
- 專案
- 專案
- 專案
- 專案