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 支援,實現非阻塞推論呼叫。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案