A Rust library and web server for deploying FlexServ on Tapis Pods or HPC systems via Tapis Jobs, with various backends (Transformers, vLLM, SGLang, TRT-LLM).
- Backend enum: Supports Transformers, vLLM, SGLang, and TRT-LLM
- BackendParameters: Flexible configuration for backend-specific settings
- Parameter Builders: Type-safe builders for each backend:
TransformersParametersBuilderVLlmParametersBuilderSGLangParametersBuilderTrtLlmParametersBuilder
- FlexServInstance: Server instance configuration with tenant URL, user, model info, and backend
- FlexServDeployment trait: Common interface for deployment operations
- FlexServPodDeployment: Pod-based deployment implementation
- FlexServHPCDeployment: HPC-based deployment implementation
- DeploymentResult & DeploymentError: Result types for deployment operations
A web server built with Actix-web that exposes REST APIs:
- Runs on
127.0.0.1:8080
cargo build --libcargo build --bin flexserv-deployer-servercargo buildcargo run --bin flexserv-deployer-serverThe server will start on http://127.0.0.1:8080
cargo testcargo test --libcargo test --test integration_testcargo test -- --nocaptureAdd to your Cargo.toml:
[dependencies]
flexserv-deployer = { path = "../FlexServ-deployer" }Then import:
use flexserv_deployer::{model, deployment};- actix-web: Web framework
- tokio: Async runtime
- serde: Serialization/deserialization
- reqwest: HTTP client
- tapis-sdk: Tapis API integration
- hf-hub: HuggingFace Hub integration