67 lines
2.2 KiB
Rust
67 lines
2.2 KiB
Rust
//! # Full-Stack: Agent with LLM Routing
|
|
//!
|
|
//! Demonstrates agent execution with intelligent LLM provider selection.
|
|
//!
|
|
//! ## What This Example Shows
|
|
//! - Registering an agent
|
|
//! - Routing LLM requests to optimal providers
|
|
//! - Cost tracking during execution
|
|
//! - Handling budget limits
|
|
//!
|
|
//! ## Run
|
|
//! ```bash
|
|
//! cargo run --example 01-agent-with-routing
|
|
//! ```
|
|
|
|
fn main() {
|
|
println!("=== Full-Stack: Agent with LLM Routing ===\n");
|
|
|
|
// Step 1: Initialize agent
|
|
println!("Step 1: Initialize Agent");
|
|
println!(" ID: developer-001");
|
|
println!(" Role: developer");
|
|
println!(" Provider: auto-select\n");
|
|
|
|
// Step 2: Define routing rules
|
|
println!("Step 2: LLM Provider Selection");
|
|
println!(" Task type: code_generation");
|
|
println!(" Primary: Claude Opus ($3/1M tokens)");
|
|
println!(" Fallback: GPT-4 ($10/1M tokens)");
|
|
println!(" Cheap: Ollama (free)\n");
|
|
|
|
// Step 3: Submit task
|
|
println!("Step 3: Submit Task");
|
|
println!(" Task: Implement authentication module");
|
|
println!(" Input tokens: 1,500");
|
|
println!(" Output tokens: 800");
|
|
println!(" Total tokens: 2,300\n");
|
|
|
|
// Step 4: Route and execute
|
|
println!("Step 4: Provider Selection");
|
|
println!(" Budget remaining: $250/month");
|
|
println!(" Selected provider: Claude (best quality)");
|
|
println!(" Estimated cost: $0.18\n");
|
|
|
|
// Step 5: Track costs
|
|
println!("Step 5: Execution & Cost Tracking");
|
|
println!(" Provider: Claude");
|
|
println!(" Input cost: $0.045 (1,500 * $3 / 1M)");
|
|
println!(" Output cost: $0.024 (800 * $3 / 1M)");
|
|
println!(" Total cost: $0.069");
|
|
println!(" Remaining budget: $249.93\n");
|
|
|
|
// Step 6: Task completion
|
|
println!("Step 6: Task Completion");
|
|
println!(" Status: ✓ Success");
|
|
println!(" Duration: 2.5s");
|
|
println!(" Quality: Excellent");
|
|
println!(" Cost efficiency: 0.72 tokens/$\n");
|
|
|
|
// Step 7: Summary
|
|
println!("=== Summary ===");
|
|
println!("✓ Task completed successfully");
|
|
println!("✓ Budget optimized with provider selection");
|
|
println!("✓ Cost tracking enabled for reporting");
|
|
println!("✓ Agent learning updated");
|
|
}
|