text: Title: [Feature]: Ensure benchmark serving do not import vLLM
  Body: ### 🚀 The feature, motivation and pitch
  
  vLLM's benchmark serving script is expected to be a standalone inference client that only requires minimum dependencies. Currently, it still imports `vllm` conditionally. 
  
  The task is as follows:
  1. Clearly define a requirements txt for benchmark serving client
  ```
  numpy
  pandas
  Pillow
  tqdm
  transformers
  datasets
  ```
  
  2. Add a CI test that create a new uv environment and execute the script. Ensure there is no vLLM present. This can be part of existing tests for benchmark scripts. https://github.com/vllm-project/vllm/blob/main/.buildkite/run-benchmarks.sh
  
  3. Make sure the existing usage of vLLM is moved to inlining whatever utility method is required. 
  
  ### Alternatives
  
  _No response_
  
  ### Additional context
  
  See #14879 for discussion, cc @houseroad @ywang96 
  
  ### Before submitting a new issue...
  
  - [x] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the [documentation page](https://docs.vllm.ai/en/latest/), which can answer lots of frequently asked questions.