feat(providers): add retry for model fetching (#6347)
Signed-off-by: rabi <ramishra@redhat.com>
This commit is contained in:
@@ -20,7 +20,7 @@ use goose::config::{
|
||||
use goose::conversation::message::Message;
|
||||
use goose::model::ModelConfig;
|
||||
use goose::providers::provider_test::test_provider_configuration;
|
||||
use goose::providers::{create, providers};
|
||||
use goose::providers::{create, providers, retry_operation, RetryConfig};
|
||||
use goose::session::{SessionManager, SessionType};
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
@@ -576,13 +576,15 @@ pub async fn configure_provider_dialog() -> anyhow::Result<bool> {
|
||||
}
|
||||
}
|
||||
|
||||
// Attempt to fetch supported models for this provider
|
||||
let spin = spinner();
|
||||
spin.start("Attempting to fetch supported models...");
|
||||
let models_res = {
|
||||
let temp_model_config = ModelConfig::new(&provider_meta.default_model)?;
|
||||
let temp_provider = create(provider_name, temp_model_config).await?;
|
||||
temp_provider.fetch_recommended_models().await
|
||||
retry_operation(&RetryConfig::default(), || async {
|
||||
temp_provider.fetch_recommended_models().await
|
||||
})
|
||||
.await
|
||||
};
|
||||
spin.stop(style("Model fetch complete").green());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user