INPUT_SCORE_BATCH="""{"custom_id": "request-1", "method": "POST", "url": "/v1/score", "body": {"model": "BAAI/bge-reranker-v2-m3", "text_1": "What is the capital of France?", "text_2": ["The capital of Brazil is Brasilia.", "The capital of France is Paris."]}}
{"custom_id": "request-2", "method": "POST", "url": "/v1/score", "body": {"model": "BAAI/bge-reranker-v2-m3", "text_1": "What is the capital of France?", "text_2": ["The capital of Brazil is Brasilia.", "The capital of France is Paris."]}}"""
deftest_empty_file():
withtempfile.NamedTemporaryFile(
...
...
@@ -120,3 +124,36 @@ def test_embeddings():
# Ensure that the output format conforms to the openai api.
# Validation should throw if the schema is wrong.
BatchRequestOutput.model_validate_json(line)
deftest_score():
withtempfile.NamedTemporaryFile(
"w")asinput_file,tempfile.NamedTemporaryFile(
"r")asoutput_file:
input_file.write(INPUT_SCORE_BATCH)
input_file.flush()
proc=subprocess.Popen([
sys.executable,
"-m",
"vllm.entrypoints.openai.run_batch",
"-i",
input_file.name,
"-o",
output_file.name,
"--model",
"BAAI/bge-reranker-v2-m3",
],)
proc.communicate()
proc.wait()
assertproc.returncode==0,f"{proc=}"
contents=output_file.read()
forlineincontents.strip().split("\n"):
# Ensure that the output format conforms to the openai api.