mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-18 22:54:24 +01:00
Allow putting GOOSE_PLANNER_MODEL and GOOSE_PLANNER_PROVIDER to config.yaml (#2525)
This commit is contained in:
committed by
GitHub
parent
e63300887f
commit
f74a1c9c9a
@@ -1078,29 +1078,30 @@ fn get_reasoner() -> Result<Arc<dyn Provider>, anyhow::Error> {
|
|||||||
use goose::model::ModelConfig;
|
use goose::model::ModelConfig;
|
||||||
use goose::providers::create;
|
use goose::providers::create;
|
||||||
|
|
||||||
let (reasoner_provider, reasoner_model) = match (
|
let config = Config::global();
|
||||||
std::env::var("GOOSE_PLANNER_PROVIDER"),
|
|
||||||
std::env::var("GOOSE_PLANNER_MODEL"),
|
// Try planner-specific provider first, fallback to default provider
|
||||||
) {
|
let provider = if let Ok(provider) = config.get_param::<String>("GOOSE_PLANNER_PROVIDER") {
|
||||||
(Ok(provider), Ok(model)) => (provider, model),
|
provider
|
||||||
_ => {
|
} else {
|
||||||
println!(
|
println!("WARNING: GOOSE_PLANNER_PROVIDER not found. Using default provider...");
|
||||||
"WARNING: GOOSE_PLANNER_PROVIDER or GOOSE_PLANNER_MODEL is not set. \
|
config
|
||||||
Using default model from config..."
|
.get_param::<String>("GOOSE_PROVIDER")
|
||||||
);
|
.expect("No provider configured. Run 'goose configure' first")
|
||||||
let config = Config::global();
|
|
||||||
let provider = config
|
|
||||||
.get_param("GOOSE_PROVIDER")
|
|
||||||
.expect("No provider configured. Run 'goose configure' first");
|
|
||||||
let model = config
|
|
||||||
.get_param("GOOSE_MODEL")
|
|
||||||
.expect("No model configured. Run 'goose configure' first");
|
|
||||||
(provider, model)
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let model_config = ModelConfig::new(reasoner_model);
|
// Try planner-specific model first, fallback to default model
|
||||||
let reasoner = create(&reasoner_provider, model_config)?;
|
let model = if let Ok(model) = config.get_param::<String>("GOOSE_PLANNER_MODEL") {
|
||||||
|
model
|
||||||
|
} else {
|
||||||
|
println!("WARNING: GOOSE_PLANNER_MODEL not found. Using default model...");
|
||||||
|
config
|
||||||
|
.get_param::<String>("GOOSE_MODEL")
|
||||||
|
.expect("No model configured. Run 'goose configure' first")
|
||||||
|
};
|
||||||
|
|
||||||
|
let model_config = ModelConfig::new(model);
|
||||||
|
let reasoner = create(&provider, model_config)?;
|
||||||
|
|
||||||
Ok(reasoner)
|
Ok(reasoner)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user