text: Title: [Bug] Deepseek chatChatCompletion has an additional bos in end of the assistant
  Body: ### Checklist
  
  - [x] 1. I have searched related issues but cannot get the expected help.
  - [x] 2. The bug has not been fixed in the latest version.
  - [x] 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.
  - [x] 4. If the issue you raised is not a bug but a question, please raise a discussion at https://github.com/sgl-project/sglang/discussions/new/choose Otherwise, it will be closed.
  - [x] 5. Please use English, otherwise it will be closed.
  
  ### Describe the bug
  
  When sglang processes a chat request, if the last role is assistant, it will separate it and do tokenizer.encode separately, and then splice the tokenid. 
  
  But when I tested deepseek R1, I found that tokenizer.encode adds bos at the beginning of the tokenids by default, which will result in an extra bos after assistant in the final tokenid.like
  `<｜begin▁of▁sentence｜><｜User｜>Tell me a common saying<｜Assistant｜><｜begin▁of▁sentence｜>"An apple a day, keeps`
  
  Not sure about the tokenizer behavior of other models. Should we remove the first token of tokenizer.encode?
  
  
  ### Reproduction
  
  
  openai_compatible_messages = [
      {
          "role": "user",
          "content": "Tell me a common saying"
      },
      {
          "role": "assistant",
          "content": "\"An apple a day, keeps"
      }
  ]
  
  
  ### Environment
  
  python3