pub async fn init_completion_model_instance(
definition: CompletionModelDefinition,
tools: HashMap<String, Box<dyn Tool + 'static>>,
executor_context: &ExecutorContext,
endpoint: Option<&str>,
provider_name: Option<&str>,
router_span: Span,
extra: Option<&Extra>,
initial_messages: Vec<ChatCompletionMessage>,
cached_model: Option<CachedModel>,
cache_state: Option<ResponseCacheState>,
) -> Result<Box<dyn ModelInstance>, ModelError>