ceylon_llm/lib.rs
1//! # Ceylon LLM
2//!
3//! LLM (Large Language Model) integration layer for the Ceylon agent framework.
4//!
5//! This crate provides a unified interface for interacting with various LLM providers
6//! including OpenAI, Anthropic, Ollama, Google, and many others.
7//!
8//! ## Supported Providers
9//!
10//! - OpenAI (GPT-4, GPT-4o, GPT-3.5)
11//! - Anthropic (Claude 3, Claude 3.5)
12//! - Ollama (local models: Llama, Mistral, Gemma, etc.)
13//! - Google (Gemini models)
14//! - DeepSeek
15//! - xAI (Grok)
16//! - Groq
17//! - Mistral
18//! - Cohere
19//! - Phind
20//! - OpenRouter
21//!
22//! ## Quick Start
23//!
24//! ```rust,no_run
25//! use ceylon_llm::{UniversalLLMClient, LLMConfig};
26//!
27//! # fn example() -> Result<(), String> {
28//! // Create client with model name (API key from environment)
29//! let client = UniversalLLMClient::new("openai::gpt-4o", None)?;
30//!
31//! // Or with explicit configuration
32//! let config = LLMConfig::new("anthropic::claude-3-sonnet-20240229")
33//! .with_temperature(0.7)
34//! .with_max_tokens(1000);
35//!
36//! let client = UniversalLLMClient::new_with_config(config)?;
37//! # Ok(())
38//! # }
39//! ```
40
41pub mod client;
42pub mod llm_agent;
43pub mod react;
44pub mod types;
45
46pub use client::{LLMConfig, LLMResponse, LLMResponseTrait, ToolCall, UniversalLLMClient};
47pub use llm_agent::{LlmAgent, LlmAgentBuilder};