from lmos_openai_types import CreateCompletionRequest
from .genericHttpxClient import get_client


async def completions(request: CreateCompletionRequest, api_key: str = None) -> dict:
    """performs a completion using the inference server"""
    client = get_client(api_key)
    response = await client.post(
        "/completions",
        json=request.model_dump(
            exclude_defaults=True, exclude_none=True, exclude_unset=True
        ),
    )
    return response.json()
