1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! DeepSeek provider implementation for ADK.
//!
//! This module provides support for DeepSeek models including:
//! - `deepseek-chat` - General-purpose chat model
//! - `deepseek-reasoner` - Reasoning model with thinking mode (chain-of-thought)
//!
//! # Features
//!
//! - **Thinking Mode**: Enable chain-of-thought reasoning with `reasoning_content`
//! - **Tool Calling**: Full function/tool calling support
//! - **Streaming**: Real-time streaming responses
//! - **Prefix Caching**: Automatic KV cache optimization
//!
//! # Example
//!
//! ```rust,ignore
//! use adk_model::deepseek::{DeepSeekClient, DeepSeekConfig};
//!
//! // Basic chat model
//! let chat = DeepSeekClient::new(DeepSeekConfig::chat(
//! std::env::var("DEEPSEEK_API_KEY").unwrap()
//! ))?;
//!
//! // Reasoner model with thinking enabled
//! let reasoner = DeepSeekClient::new(DeepSeekConfig::reasoner(
//! std::env::var("DEEPSEEK_API_KEY").unwrap()
//! ))?;
//!
//! // Custom configuration
//! let custom = DeepSeekClient::new(
//! DeepSeekConfig::new("api-key", "deepseek-chat")
//! .with_thinking(true)
//! .with_max_tokens(8192)
//! )?;
//! ```
//!
//! # Supported Models
//!
//! | Model | Description |
//! |-------|-------------|
//! | `deepseek-chat` | Fast, capable chat model |
//! | `deepseek-reasoner` | Reasoning model with thinking mode |
//!
//! # Thinking Mode
//!
//! When using `deepseek-reasoner` or enabling thinking mode, the model outputs
//! its chain-of-thought reasoning before providing the final answer. The reasoning
//! is returned in `reasoning_content` and automatically formatted with `<thinking>` tags.
pub use DeepSeekClient;
pub use ;