Repository: neuralmagic/guidellm (language: python)

Issue:
[bug] Model without system prompt fail
Hello, 

When trying to benchmark [google/gemma-2-9b-it](https://huggingface.co/google/gemma-2-9b-it) i ran into an issue. It seems like `guidellm` uses `[system](https://github.com/neuralmagic/guidellm/blob/f7947110ae1446ce765d6019cc4ab0a31d335923/src/guidellm/backend/openai.py#L109)` message to sent request, which leads to 
```bash
Template error: syntax error: System role not supported (in <string>:1)
```

I tried to change to `user` but this leads to `pydantic` validation errors. Trying to debug this but any pointers or help is appreciated. 


Discussion / hints:

Fix patch:
diff --git a/src/guidellm/backend/openai.py b/src/guidellm/backend/openai.py
index b5cbc12..8a49d5e 100644
--- a/src/guidellm/backend/openai.py
+++ b/src/guidellm/backend/openai.py
@@ -106,7 +106,7 @@ async def make_request(
         stream = await self._async_client.chat.completions.create(
             model=self.model,
             messages=[
-                {"role": "system", "content": request.prompt},
+                {"role": "user", "content": request.prompt},
             ],
             stream=True,
             **request_args,


Test patch:
diff --git a/tests/unit/backend/test_openai_backend.py b/tests/unit/backend/test_openai_backend.py
index 396eb4c..00b7423 100644
--- a/tests/unit/backend/test_openai_backend.py
+++ b/tests/unit/backend/test_openai_backend.py
@@ -171,7 +171,7 @@ async def test_openai_backend_make_request(req, request_args, mock_openai_client
     assert backend._async_client.create_args == ()  # type: ignore
     assert backend._async_client.create_kwargs["model"] == "mock-model"  # type: ignore
     assert backend._async_client.create_kwargs["messages"] == [  # type: ignore
-        {"role": "system", "content": req.prompt}
+        {"role": "user", "content": req.prompt}
     ]
     assert backend._async_client.create_kwargs["stream"]  # type: ignore
     assert backend._async_client.create_kwargs["n"] == 1  # type: ignore