Skip to main content

codei_llm/provider/
mod.rs

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