pub struct ModelClient { /* private fields */ }Expand description
Application-facing client for provider-neutral model requests.
Provider request execution remains private so every request passes through
ModelClient::complete, which owns telemetry and structured-output
validation.
Implementations§
Source§impl ModelClient
impl ModelClient
Sourcepub fn kimi(config: KimiConfig) -> Result<Self, ModelMetadataError>
pub fn kimi(config: KimiConfig) -> Result<Self, ModelMetadataError>
Creates a client backed by Moonshot AI’s Kimi API.
§Errors
Returns ModelMetadataError when the configured model identifier is
empty or contains only whitespace.
Sourcepub fn muse(config: MuseConfig) -> Result<Self, ModelMetadataError>
pub fn muse(config: MuseConfig) -> Result<Self, ModelMetadataError>
Creates a client backed by Meta’s Model API for Muse models.
§Errors
Returns ModelMetadataError when the configured model identifier is
empty or contains only whitespace.
Sourcepub fn qwen(config: QwenConfig) -> Result<Self, ModelMetadataError>
pub fn qwen(config: QwenConfig) -> Result<Self, ModelMetadataError>
Creates a client backed by Alibaba Cloud Model Studio’s Qwen API.
§Errors
Returns ModelMetadataError when the configured model identifier is
empty or contains only whitespace.
Sourcepub fn metadata(&self) -> &ModelMetadata
pub fn metadata(&self) -> &ModelMetadata
Returns the validated provider and model identity retained by the client.
Sourcepub async fn complete(
&self,
request: ModelRequest,
) -> Result<ModelResponse, ModelError>
pub async fn complete( &self, request: ModelRequest, ) -> Result<ModelResponse, ModelError>
Completes one model request through the shared telemetry and structured-output lifecycle.
§Errors
Returns ModelError when the provider request fails or its response
cannot be converted to the provider-neutral response.