Right now all LLMRequest converters live in request.py (see #59 where it was introduced).
There is probably a better pattern to do something like:
class LLMRequestConverter(Protocol[RequestType]):
def to_ares_llm_request_format(self, request: RequestType) -> LLMRequest:
...
def from_ares_llm_request_format(self, request: LLMRequest) -> RequestType:
...
And implement one for each of chat completions, responses, and messages formats.