pub async fn execute<T: Serialize + DeserializeOwned + Debug + Clone>(
request_with_tools: &ChatCompletionRequestWithTools<T>,
executor_context: &ExecutorContext,
router_span: Span,
stream_cache_context: StreamCacheContext,
basic_cache_context: BasicCacheContext,
llm_model: &ModelMetadata,
) -> Result<ChatCompletionExecutionResult, GatewayApiError>