pub enum ProviderType {
Show 28 variants
Copilot,
Cursor,
Ollama,
Vllm,
Foundry,
LmStudio,
LocalAI,
TextGenWebUI,
Jan,
Gpt4All,
Llamafile,
M365Copilot,
ChatGPT,
OpenAI,
Anthropic,
Perplexity,
DeepSeek,
Qwen,
Gemini,
Mistral,
Cohere,
Grok,
Groq,
Together,
Fireworks,
Replicate,
HuggingFace,
Custom,
}Expand description
Supported LLM provider types
Variants§
Copilot
VS Code GitHub Copilot Chat (default)
Cursor
Cursor IDE chat
Ollama
Ollama local models
Vllm
vLLM server
Foundry
Azure AI Foundry / Foundry Local
LmStudio
LM Studio
LocalAI
LocalAI
TextGenWebUI
Text Generation WebUI (oobabooga)
Jan
Jan.ai
Gpt4All
GPT4All
Llamafile
Llamafile
M365Copilot
Microsoft 365 Copilot (enterprise)
ChatGPT
OpenAI ChatGPT (cloud)
OpenAI
OpenAI API (for local/custom deployments)
Anthropic
Anthropic Claude
Perplexity
Perplexity AI
DeepSeek
DeepSeek
Qwen
Qwen (Alibaba Cloud)
Gemini
Google Gemini
Mistral
Mistral AI
Cohere
Cohere
Grok
xAI Grok
Groq
Groq
Together
Together AI
Fireworks
Fireworks AI
Replicate
Replicate
HuggingFace
HuggingFace Inference API
Custom
Custom OpenAI-compatible endpoint
Implementations§
Source§impl ProviderType
impl ProviderType
Sourcepub fn display_name(&self) -> &'static str
pub fn display_name(&self) -> &'static str
Get the display name for this provider
Sourcepub fn default_endpoint(&self) -> Option<&'static str>
pub fn default_endpoint(&self) -> Option<&'static str>
Get the default API endpoint for this provider
Sourcepub fn uses_file_storage(&self) -> bool
pub fn uses_file_storage(&self) -> bool
Check if this provider uses local file storage for sessions
Sourcepub fn is_cloud_provider(&self) -> bool
pub fn is_cloud_provider(&self) -> bool
Check if this provider is a cloud-based service with conversation history API
Sourcepub fn is_openai_compatible(&self) -> bool
pub fn is_openai_compatible(&self) -> bool
Check if this provider supports the OpenAI API format
Sourcepub fn requires_api_key(&self) -> bool
pub fn requires_api_key(&self) -> bool
Check if this provider requires an API key
Trait Implementations§
Source§impl Clone for ProviderType
impl Clone for ProviderType
Source§fn clone(&self) -> ProviderType
fn clone(&self) -> ProviderType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProviderType
impl Debug for ProviderType
Source§impl<'de> Deserialize<'de> for ProviderType
impl<'de> Deserialize<'de> for ProviderType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for ProviderType
impl Display for ProviderType
Source§impl Hash for ProviderType
impl Hash for ProviderType
Source§impl PartialEq for ProviderType
impl PartialEq for ProviderType
Source§impl Serialize for ProviderType
impl Serialize for ProviderType
impl Copy for ProviderType
impl Eq for ProviderType
impl StructuralPartialEq for ProviderType
Auto Trait Implementations§
impl Freeze for ProviderType
impl RefUnwindSafe for ProviderType
impl Send for ProviderType
impl Sync for ProviderType
impl Unpin for ProviderType
impl UnwindSafe for ProviderType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more