diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 4193655805..9c7cc758f2 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -5947,7 +5947,7 @@ dependencies = [ [[package]] name = "vllm-proto" -version = "0.5.0" +version = "0.6.0" dependencies = [ "prost", "prost-types", diff --git a/rust/proto/Cargo.toml b/rust/proto/Cargo.toml index c2e32d43a7..11babde435 100644 --- a/rust/proto/Cargo.toml +++ b/rust/proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vllm-proto" -version = "0.5.0" +version = "0.6.0" edition.workspace = true license.workspace = true description = "Protobuf messages and gRPC bindings for the vLLM Rust frontend" diff --git a/rust/proto/README.md b/rust/proto/README.md index 3a60c05dfd..d77c301a0a 100644 --- a/rust/proto/README.md +++ b/rust/proto/README.md @@ -16,7 +16,7 @@ the schemas on pull requests, including on forks. ```toml [dependencies] -vllm-proto = "0.5" +vllm-proto = "0.6" ``` For example, import `vllm_proto::inference_client::InferenceClient` or diff --git a/rust/proto/control.proto b/rust/proto/control.proto index e42f958582..52188ae0df 100644 --- a/rust/proto/control.proto +++ b/rust/proto/control.proto @@ -54,6 +54,7 @@ message ServerInfo { uint64 max_batched_tokens = 9; uint32 max_loras = 10; RlCapabilities rl_capabilities = 11; + string proto_version = 12; // Full-attention block size in tokens after initialization; absent if unavailable. optional uint64 effective_attention_block_size = 14; } diff --git a/rust/proto/src/lib.rs b/rust/proto/src/lib.rs index d4d44ea099..d1a90ee7a7 100644 --- a/rust/proto/src/lib.rs +++ b/rust/proto/src/lib.rs @@ -4,3 +4,6 @@ //! Protobuf messages and gRPC clients and servers for vLLM's Inference and Control APIs. tonic::include_proto!("vllm"); + +/// Schema version of this crate, reported by servers as `ServerInfo.proto_version`. +pub const VERSION: &str = env!("CARGO_PKG_VERSION"); diff --git a/rust/src/server/src/grpc/control.rs b/rust/src/server/src/grpc/control.rs index d1b5ac4fe0..72e52e5a8f 100644 --- a/rust/src/server/src/grpc/control.rs +++ b/rust/src/server/src/grpc/control.rs @@ -216,6 +216,7 @@ impl pb::control_server::Control for ControlServiceImpl { max_batched_tokens: ready.max_num_batched_tokens, max_loras: ready.max_loras, rl_capabilities: Some(self.rl_capabilities()), + proto_version: pb::VERSION.to_string(), effective_attention_block_size: self.client().effective_attention_block_size(), })) } diff --git a/rust/src/server/src/grpc/tests.rs b/rust/src/server/src/grpc/tests.rs index f46c658b01..fa041bdf33 100644 --- a/rust/src/server/src/grpc/tests.rs +++ b/rust/src/server/src/grpc/tests.rs @@ -2013,6 +2013,7 @@ async fn control_reports_server_and_model_info() { assert_eq!(server.engine_version, "test-vllm-version"); assert_eq!(server.effective_attention_block_size, Some(64)); assert_eq!(server.api_version, "vllm"); + assert_eq!(server.proto_version, pb::VERSION); assert_eq!(server.instance_id, "test-instance"); assert_eq!(server.max_model_len, DEFAULT_MOCK_MAX_MODEL_LEN as u32); assert_eq!(server.kv_block_size, DEFAULT_MOCK_BLOCK_SIZE as u32);