pub struct DeepSeekProvider { /* private fields */ }Implementations§
Trait Implementations§
Source§impl CloudAiProvider for DeepSeekProvider
impl CloudAiProvider for DeepSeekProvider
fn name(&self) -> &str
Source§fn env_var(&self) -> &str
fn env_var(&self) -> &str
Convention-based environment variable name for this provider’s API key.
Source§fn default_models(&self) -> &[&str]
fn default_models(&self) -> &[&str]
Default models suggested in the UI dropdown. Users can also type any
model name the provider accepts.
Source§fn model_capabilities(&self) -> Vec<ModelCapabilityInfo>
fn model_capabilities(&self) -> Vec<ModelCapabilityInfo>
Per-model capability tags advertised to the UI, using the same
vocabulary as the Hub catalog (
code | tool_use | reasoning | vision | embedding). The node inspector gates capability-specific fields (image
input, thinking, tool binding) on these the same way it does for local
models resolved from the Hub. Cloud providers override this; the default
advertises nothing, so the inspector falls back to showing every field.fn invoke<'life0, 'life1, 'async_trait>(
&'life0 self,
req: &'life1 CloudAiRequest,
) -> Pin<Box<dyn Future<Output = Result<CloudAiResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn invoke_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: &'life1 CloudAiRequest,
sink: &'life2 dyn LlmStreamSink,
) -> Pin<Box<dyn Future<Output = Result<CloudAiResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn invoke_stream<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
req: &'life1 CloudAiRequest,
sink: &'life2 dyn LlmStreamSink,
) -> Pin<Box<dyn Future<Output = Result<CloudAiResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Streaming variant of
invoke. Providers that support real
streaming override this to push tokens through sink as they
arrive; the default impl wraps invoke and emits a single
done = true event so non-streaming providers are still
observable on the chip without per-call branching at the call
site. Read moreSource§fn invoke_tools<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
req: &'life1 CloudAiRequest,
tools: &'life2 [ToolSpec],
dispatcher: &'life3 dyn ToolDispatcher,
max_iters: usize,
) -> Pin<Box<dyn Future<Output = Result<CloudAiResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn invoke_tools<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
req: &'life1 CloudAiRequest,
tools: &'life2 [ToolSpec],
dispatcher: &'life3 dyn ToolDispatcher,
max_iters: usize,
) -> Pin<Box<dyn Future<Output = Result<CloudAiResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Tool-use / function-calling loop. Providers that support tools override
this: they expose
tools to the model, run each requested call through
dispatcher, feed the results back, and repeat until the model stops
asking (or max_iters is hit). The default ignores tools and does a
single invoke, so providers without tool support degrade gracefully.Source§fn category(&self) -> ProviderCategory
fn category(&self) -> ProviderCategory
Local vs cloud. Defaults to
Cloud so existing providers need no
change; the local OpenAI-compatible provider overrides it.Source§fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
_req: &'life1 CloudAiRequest,
) -> Pin<Box<dyn Future<Output = Result<EmbeddingResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn embed<'life0, 'life1, 'async_trait>(
&'life0 self,
_req: &'life1 CloudAiRequest,
) -> Pin<Box<dyn Future<Output = Result<EmbeddingResponse, CloudAiError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Embeddings call for
task: "embedding". Providers with an embeddings
endpoint override this; the default reports the capability unsupported
(e.g. Anthropic exposes no embeddings API).Auto Trait Implementations§
impl Freeze for DeepSeekProvider
impl !RefUnwindSafe for DeepSeekProvider
impl Send for DeepSeekProvider
impl Sync for DeepSeekProvider
impl Unpin for DeepSeekProvider
impl UnsafeUnpin for DeepSeekProvider
impl !UnwindSafe for DeepSeekProvider
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
Mutably borrows from an owned value. Read more