forked from Karylab-cklius/vllm
[EC Connector] Add EC Transfer Params (#42433)
Signed-off-by: omerpaz95 <omerpaz95@gmail.com> Co-authored-by: Or Ozeri <oro@il.ibm.com>
This commit is contained in:
@@ -44,6 +44,9 @@ pub struct Finished {
|
||||
pub finish_reason: FinishReason,
|
||||
/// Connector-specific KV transfer parameters for disaggregated serving.
|
||||
pub kv_transfer_params: Option<serde_json::Value>,
|
||||
/// Connector-specific encoder cache transfer parameters for disaggregated
|
||||
/// serving.
|
||||
pub ec_transfer_params: Option<serde_json::Value>,
|
||||
}
|
||||
|
||||
/// Internal decoded-text event emitted before higher-level assistant
|
||||
@@ -151,6 +154,7 @@ pub async fn decoded_text_event_stream(
|
||||
let decoder = decoder.as_mut().unwrap();
|
||||
|
||||
let kv_transfer_params = output.kv_transfer_params;
|
||||
let ec_transfer_params = output.ec_transfer_params;
|
||||
let mut finish_reason = output.finish_reason;
|
||||
let mut stop_str_matched = false;
|
||||
let suppress_terminal_stop_token = finish_reason.as_ref().is_some_and(|r| r.is_stop())
|
||||
@@ -275,6 +279,7 @@ pub async fn decoded_text_event_stream(
|
||||
},
|
||||
finish_reason: reason,
|
||||
kv_transfer_params,
|
||||
ec_transfer_params,
|
||||
}),
|
||||
})
|
||||
.await;
|
||||
|
||||
@@ -26,6 +26,9 @@ pub struct CollectedTextOutput {
|
||||
pub usage: vllm_llm::TokenUsage,
|
||||
/// Connector-specific KV transfer parameters for disaggregated serving.
|
||||
pub kv_transfer_params: Option<serde_json::Value>,
|
||||
/// Connector-specific encoder cache transfer parameters for disaggregated
|
||||
/// serving.
|
||||
pub ec_transfer_params: Option<serde_json::Value>,
|
||||
}
|
||||
|
||||
#[allow(clippy::manual_async_fn, reason = "specify `Send` bound")]
|
||||
@@ -77,6 +80,7 @@ impl<T: TextOutputStream> T {
|
||||
finish_reason: FinishReason::Error,
|
||||
usage: vllm_llm::TokenUsage::default(),
|
||||
kv_transfer_params: None,
|
||||
ec_transfer_params: None,
|
||||
})
|
||||
};
|
||||
|
||||
@@ -85,6 +89,7 @@ impl<T: TextOutputStream> T {
|
||||
collected.finish_reason = finished.finish_reason;
|
||||
collected.usage = finished.usage;
|
||||
collected.kv_transfer_params = finished.kv_transfer_params;
|
||||
collected.ec_transfer_params = finished.ec_transfer_params;
|
||||
return Ok(collected);
|
||||
}
|
||||
}
|
||||
@@ -156,6 +161,7 @@ mod tests {
|
||||
},
|
||||
finish_reason: FinishReason::stop_eos(),
|
||||
kv_transfer_params: None,
|
||||
ec_transfer_params: None,
|
||||
}),
|
||||
}),
|
||||
]);
|
||||
@@ -273,6 +279,7 @@ mod tests {
|
||||
},
|
||||
finish_reason: FinishReason::stop_eos(),
|
||||
kv_transfer_params: None,
|
||||
ec_transfer_params: None,
|
||||
}),
|
||||
}),
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user