-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_config_simple.rs
More file actions
61 lines (54 loc) · 1.94 KB
/
test_config_simple.rs
File metadata and controls
61 lines (54 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
use std::fs;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub enum ModelProvider {
Ollama,
OpenAI,
Anthropic,
Groq,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModelConfig {
pub provider: ModelProvider,
pub url: String,
pub model: String,
pub temperature: f32,
pub top_p: f32,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ExperimentalConfig {
pub native_function_calling: bool,
pub fallback_to_xml: bool,
pub proactive_validation: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AppConfig {
pub fast_model: ModelConfig,
pub heavy_model: ModelConfig,
pub heavy_timeout_secs: u64,
pub max_concurrent_heavy: usize,
pub use_router_orchestrator: bool,
pub language: Option<String>,
pub debug: bool,
pub experimental: ExperimentalConfig,
pub min_ollama_version: Option<String>,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Leer el archivo config.json
let content = fs::read_to_string("config.json")?;
println!("Contenido del archivo config.json:");
println!("{}", content);
println!("\n--- Intentando deserializar ---\n");
// Intentar deserializar
let config: AppConfig = serde_json::from_str(&content)?;
println!("✅ Deserialización exitosa!");
println!("Configuración cargada:");
println!("- Fast model: {} ({})", config.fast_model.model, config.fast_model.provider);
println!("- Heavy model: {} ({})", config.heavy_model.model, config.heavy_model.provider);
println!("- Experimental features:");
println!(" - Native function calling: {}", config.experimental.native_function_calling);
println!(" - Fallback to XML: {}", config.experimental.fallback_to_xml);
println!(" - Proactive validation: {}", config.experimental.proactive_validation);
println!("- Min Ollama version: {:?}", config.min_ollama_version);
Ok(())
}