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 支持,实现非阻塞推理调用。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目