alith_interface/
lib.rs

1#[allow(unused_imports)]
2pub(crate) use anyhow::{Error, Result, anyhow, bail};
3#[allow(unused_imports)]
4pub(crate) use tracing::{Level, debug, error, info, span, trace, warn};
5
6pub mod llms;
7pub mod requests;
8
9use llms::api::anthropic::builder::AnthropicBackendBuilder;
10use llms::api::openai::builder::OpenAIBackendBuilder;
11use llms::api::perplexity::builder::PerplexityBackendBuilder;
12
13pub struct LLMInterface;
14
15// These are examples and bare minimum implementations. For full featured implementation see the alith-client crate.
16impl LLMInterface {
17    #[inline]
18    pub fn openai() -> OpenAIBackendBuilder {
19        OpenAIBackendBuilder::default()
20    }
21
22    #[inline]
23    pub fn anthropic() -> AnthropicBackendBuilder {
24        AnthropicBackendBuilder::default()
25    }
26
27    #[inline]
28    pub fn perplexity() -> PerplexityBackendBuilder {
29        PerplexityBackendBuilder::default()
30    }
31}