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