Needs a comprehensive round of code check. See list below (not exhaustive):
- Check all imports and remove unused ones. Specifically, we need special handling for importing vllm and its dependencies, because it is only available for [dev] option.
- Check argument passing and improve handling. Currently there are multiple places missing argument types, such as
some_function(api: # Missing argument, should be LLMWrapper or similar, **kwargs).