Skip to main content

codei_llm/provider/
mod.rs

1mod anthropic;
2mod openai;
3
4pub use anthropic::AnthropicProvider;
5pub use openai::OpenAiProvider;
6
7use async_trait::async_trait;
8
9use crate::{ChatRequest, ChatStream, LlmError};
10
11#[async_trait]
12pub trait LlmProvider: Send + Sync {
13    fn id(&self) -> &str;
14
15    fn supports_tools(&self) -> bool {
16        true
17    }
18
19    async fn chat(&self, request: ChatRequest) -> Result<ChatStream, LlmError>;
20}