Trait LanguageModel
Source pub trait LanguageModel: Send + Sync {
// Required methods
fn id(&self) -> LanguageModelId;
fn name(&self) -> LanguageModelName;
fn provider_id(&self) -> LanguageModelProviderId;
fn provider_name(&self) -> LanguageModelProviderName;
fn max_token_count(&self) -> u64;
fn stream_completion<'life0, 'async_trait>(
&'life0 self,
request: LanguageModelRequest,
) -> Pin<Box<dyn Future<Output = Result<BoxStream<'_, Result<LanguageModelCompletionEvent, LanguageModelCompletionError>>, LanguageModelCompletionError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn supports_tools(&self) -> bool;
fn supports_burn_mode(&self) -> bool;
// Provided methods
fn max_output_tokens(&self) -> Option<u64> { ... }
fn tool_input_format(&self) -> LanguageModelToolSchemaFormat { ... }
fn max_token_count_in_burn_mode(&self) -> Option<u64> { ... }
}