| 1234567891011121314151617181920212223242526 |
- from core_domain import ChatCompletionRequestContract, ChatCompletionResponseContract
- from app.bootstrap.settings import ModelGatewayServiceSettings
- from app.infrastructure.provider import ModelProviderClient
- class ModelGatewayApplicationService:
- def __init__(
- self,
- *,
- provider_client: ModelProviderClient,
- settings: ModelGatewayServiceSettings,
- ) -> None:
- self.provider_client = provider_client
- self.settings = settings
- def create_chat_completion(
- self,
- payload: ChatCompletionRequestContract,
- ) -> ChatCompletionResponseContract:
- resolved_payload = payload.model_copy(
- update={
- "model": payload.model or self.settings.default_model,
- }
- )
- return self.provider_client.create_chat_completion(resolved_payload)
|