[Feature] Add return_token_ids, prompt_token_ids, and delete training, raw_request in request body (#2940)

* [feat] add return_token_ids, prompt_token_ids, delete raw_request in request body

* [fix] return_token_ids not working in curl request

* [test] improve some test cases of return_token_ids and prompt_token_ids

* [fix] the server responds ok even if request.messages is an empty list
This commit is contained in:
李泳桦
2025-07-21 19:31:14 +08:00
committed by GitHub
parent 2845bde964
commit 8a619e9db5
8 changed files with 506 additions and 59 deletions

View File

@@ -231,7 +231,7 @@ class DataProcessor(BaseDataProcessor):
if request.prompt_token_ids is None or len(request.prompt_token_ids) == 0:
if request.prompt is not None:
request.prompt_token_ids = self.text2ids(request.prompt, max_model_len, request.raw_request)
request.prompt_token_ids = self.text2ids(request.prompt, max_model_len)
elif request.messages is not None:
if self.tokenizer.chat_template is None:
raise ValueError("This model does not support chat_template.")
@@ -266,7 +266,7 @@ class DataProcessor(BaseDataProcessor):
if not request.get("eos_token_ids"):
request["eos_token_ids"] = self.eos_token_ids
# 处理stop_sequences
# processing stop_sequences
stop_sequences = request.get("stop", [])
if stop_sequences:
stop_seqs, stop_seqs_len = self.update_stop_seq(stop_sequences)
@@ -274,12 +274,11 @@ class DataProcessor(BaseDataProcessor):
request["stop_seqs_len"] = stop_seqs_len
data_processor_logger.info(f"Processing request {request}")
# 处理prompt_token_ids
if not request.get("prompt_token_ids"):
if "prompt" in request:
raw_request = request.get("raw_request", True)
request["prompt_token_ids"] = self.text2ids(request["prompt"], max_model_len, raw_request).tolist()
elif "messages" in request:
# processing prompt_token_ids
if not request.get('prompt_token_ids'):
if 'prompt' in request:
request['prompt_token_ids'] = self.text2ids(request['prompt'], max_model_len).tolist()
elif 'messages' in request:
if self.tokenizer.chat_template is None:
raise ValueError("This model does not support chat_template.")
request["prompt_token_ids"] = self.messages2ids(request)
@@ -416,7 +415,7 @@ class DataProcessor(BaseDataProcessor):
**kwargs,
)
def text2ids(self, text, max_model_len, raw_request=True):
def text2ids(self, text, max_model_len):
"""
text to token ids