我有在 FastAPI 上运行并在容器映像上运行的 ML 推理服务。
FastAPI 上的端点只是
/infer
。它将尝试使用不同语言 (PHP) 从另一个身份验证服务验证 JWT。如果有效且经过训练的模型不存在,则它会尝试将经过训练的模型下载到容器的本地存储。如果有效且存在,它将执行预处理、推断、后处理并返回响应。这些步骤取决于 Numpy 等 Python 依赖项。
ML生态系统正在使用
keras
和tensorflow
并将其存储在容器的本地存储中。
是否可以将
/infer
端点迁移到 Rust?
如果是这样,我需要什么框架、库、依赖项来执行此操作?
或者,实际上这是不可能的,因为tensorflow和keras以及另一个深度学习框架专注于Python。因此,不仅 Rust,任何其他语言(例如 Golang)都可能不适合迁移。这意味着我不应该迁移。
我在 Rust 中构建 Web 服务器最常用的框架是 Rocket。
还有一个tensorflow的板条箱(虽然我之前没有使用过它,所以无法评价它的质量)。
如果您需要在 Rust 中解析 JWT 那么我推荐 JWT Crate
如果这些不符合要求,那么我建议查看crates.io,看看是否还有其他更适合的。