Skip to main content

rucora_providers/
lib.rs

1//! rucora-providers - LLM Providers for rucora
2
3pub mod anthropic;
4pub mod azure_openai;
5pub mod deepseek;
6pub mod gemini;
7pub mod helpers;
8pub mod http_config;
9pub mod moonshot;
10pub mod ollama;
11pub mod openai;
12pub mod openrouter;
13pub mod resilient;
14
15pub use anthropic::AnthropicProvider;
16pub use azure_openai::AzureOpenAiProvider;
17pub use deepseek::DeepSeekProvider;
18pub use gemini::GeminiProvider;
19pub use moonshot::MoonshotProvider;
20pub use ollama::OllamaProvider;
21pub use openai::OpenAiProvider;
22pub use openrouter::OpenRouterProvider;
23pub use resilient::{CancelHandle, ResilientProvider, RetryConfig};
24
25/// 预览函数
26pub(crate) fn preview(s: &str, max: usize) -> String {
27    if s.len() <= max {
28        s.to_string()
29    } else {
30        let truncated: String = s.char_indices().take(max).map(|(_, c)| c).collect();
31        format!("{}...<truncated:{}>", truncated, s.len())
32    }
33}