pub struct DeepSeekClient { /* private fields */ }Available on crate feature
models only.Expand description
DeepSeek client for V4 and legacy models.
§V4 Models
ⓘ
use adk_model::deepseek::{DeepSeekClient, DeepSeekConfig, ReasoningEffort};
// V4 Pro with max reasoning
let pro = DeepSeekClient::new(
DeepSeekConfig::v4_pro("api-key")
.with_reasoning_effort(ReasoningEffort::Max)
)?;
// V4 Flash (fast, no thinking by default)
let flash = DeepSeekClient::v4_flash("api-key")?;§Legacy Models
ⓘ
// Still works — backward compatible
let chat = DeepSeekClient::chat("api-key")?;
let reasoner = DeepSeekClient::reasoner("api-key")?;Implementations§
Source§impl DeepSeekClient
impl DeepSeekClient
Sourcepub fn new(config: DeepSeekConfig) -> Result<DeepSeekClient, AdkError>
Available on crate feature deepseek only.
pub fn new(config: DeepSeekConfig) -> Result<DeepSeekClient, AdkError>
deepseek only.Create a new DeepSeek client.
Sourcepub fn v4_pro(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
Available on crate feature deepseek only.
pub fn v4_pro(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
deepseek only.Create a client for deepseek-v4-pro (strongest reasoning, thinking enabled).
Sourcepub fn v4_flash(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
Available on crate feature deepseek only.
pub fn v4_flash(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
deepseek only.Create a client for deepseek-v4-flash (fast, cost-efficient).
Sourcepub fn chat(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
Available on crate feature deepseek only.
pub fn chat(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
deepseek only.Create a client for deepseek-chat model (legacy).
Sourcepub fn reasoner(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
Available on crate feature deepseek only.
pub fn reasoner(api_key: impl Into<String>) -> Result<DeepSeekClient, AdkError>
deepseek only.Create a client for deepseek-reasoner model with thinking enabled (legacy).
Sourcepub fn with_retry_config(self, retry_config: RetryConfig) -> DeepSeekClient
Available on crate feature deepseek only.
pub fn with_retry_config(self, retry_config: RetryConfig) -> DeepSeekClient
deepseek only.Set retry configuration.
Sourcepub fn set_retry_config(&mut self, retry_config: RetryConfig)
Available on crate feature deepseek only.
pub fn set_retry_config(&mut self, retry_config: RetryConfig)
deepseek only.Set retry configuration (mutable).
Sourcepub fn retry_config(&self) -> &RetryConfig
Available on crate feature deepseek only.
pub fn retry_config(&self) -> &RetryConfig
deepseek only.Get the current retry configuration.
Trait Implementations§
Source§impl Llm for DeepSeekClient
impl Llm for DeepSeekClient
fn name(&self) -> &str
fn generate_content<'life0, 'async_trait>(
&'life0 self,
request: LlmRequest,
stream: bool,
) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = Result<LlmResponse, AdkError>> + Send>>, AdkError>> + Send + 'async_trait>>where
'life0: 'async_trait,
DeepSeekClient: 'async_trait,
Auto Trait Implementations§
impl Freeze for DeepSeekClient
impl !RefUnwindSafe for DeepSeekClient
impl Send for DeepSeekClient
impl Sync for DeepSeekClient
impl Unpin for DeepSeekClient
impl UnsafeUnpin for DeepSeekClient
impl !UnwindSafe for DeepSeekClient
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.