1pub mod traits;
2pub mod openai;
3pub mod anthropic;
4pub mod qwen;
5pub mod deepseek;
6pub mod ollama;
7pub mod tokens;
8pub mod error;
9
10
11use serde::{Serialize, Deserialize};
12use serde_json::Value as JsonValue;
13use tokens::TokenUsage;
14
15#[derive(Debug, Serialize, Deserialize, Clone, Default)]
17pub struct GenerateResult {
18 pub tokens: TokenUsage,
19 pub generation: String,
20 #[serde(default)]
24 pub call_tools: Vec<CallInfo>,
25}
26
27#[derive(Debug, Serialize, Deserialize, Clone)]
29pub struct CallInfo {
30 pub name: String,
31 #[serde(default)]
32 pub args: JsonValue,
33}
34
35pub type LLMResult<T> = std::result::Result<T, error::LLMError>;