Let reward model take text inputs instead of message lists (#1907)

Co-authored-by: Kyle Corbitt <kyle@corbt.com>
This commit is contained in:
Lianmin Zheng
2024-11-03 13:27:12 -08:00
committed by GitHub
parent 793b79dbe9
commit 2ce32db6fb
12 changed files with 43 additions and 58 deletions

View File

@@ -254,7 +254,7 @@ app.put("/encode")(encode_request)
async def judge_request(obj: EmbeddingReqInput, request: Request):
"""Handle a reward model request."""
"""Handle a reward model request. Now the arguments and return values are the same as embedding models."""
try:
ret = await tokenizer_manager.generate_request(obj, request).__anext__()
return ret
@@ -696,24 +696,8 @@ class Runtime:
self,
prompt: Union[str, List[str], List[Dict], List[List[Dict]]],
):
if isinstance(prompt, str) or isinstance(prompt[0], str):
# embedding
json_data = {
"text": prompt,
}
response = requests.post(
self.url + "/encode",
json=json_data,
)
else:
# reward
json_data = {
"conv": prompt,
}
response = requests.post(
self.url + "/judge",
json=json_data,
)
json_data = {"text": prompt}
response = requests.post(self.url + "/encode", json=json_data)
return json.dumps(response.json())
def __del__(self):