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
//! LLM provider implementations.
//!
//! This module contains concrete implementations of the [`BaseLlm`](crate::models::BaseLlm)
//! trait for various LLM providers including Anthropic, `OpenAI`, Gemini, and others.
//!
//! # Available Providers
//!
//! - [`AnthropicLlm`]: Claude models via Anthropic API
//! - [`OpenAILlm`]: GPT models via `OpenAI` API
//! - [`GeminiLlm`]: Gemini models via Google AI API
//! - [`GrokLlm`]: Grok models via XAI API (OpenAI-compatible)
//! - [`DeepSeekLlm`]: `DeepSeek` models via `DeepSeek` API (OpenAI-compatible)
//! - [`OpenRouterLlm`]: `OpenRouter` marketplace models via OpenAI-compatible API
//!
//! # Examples
//!
//! ```ignore
//! use radkit::models::providers::{AnthropicLlm, OpenAILlm, GeminiLlm, OpenRouterLlm};
//! use radkit::models::{BaseLlm, Thread};
//!
//! // Anthropic
//! let llm = AnthropicLlm::from_env("claude-sonnet-4-5-20250929")?;
//!
//! // OpenAI
//! let llm = OpenAILlm::from_env("gpt-4o")?;
//!
//! // OpenRouter
//! let llm = OpenRouterLlm::from_env("anthropic/claude-3.5-sonnet")?;
//!
//! // Gemini
//! let llm = GeminiLlm::from_env("gemini-2.0-flash-exp")?;
//!
//! let thread = Thread::from_user("Hello!");
//! let response = llm.generate_content(thread, None).await?;
//! ```
pub use AnthropicLlm;
pub use DeepSeekLlm;
pub use GeminiLlm;
pub use GrokLlm;
pub use OpenAILlm;
pub use OpenRouterLlm;