@@ -44,7 +44,9 @@ export const HuggingFace = ({ apiConfiguration, setApiConfigurationField }: Hugg
4444 const { t } = useAppTranslation ( )
4545 const [ models , setModels ] = useState < HuggingFaceModel [ ] > ( [ ] )
4646 const [ loading , setLoading ] = useState ( false )
47- const [ selectedProvider , setSelectedProvider ] = useState < string > ( "" )
47+ const [ selectedProvider , setSelectedProvider ] = useState < string > (
48+ apiConfiguration ?. huggingFaceInferenceProvider || "auto" ,
49+ )
4850
4951 const handleInputChange = useCallback (
5052 < K extends keyof ProviderSettings , E > (
@@ -87,23 +89,39 @@ export const HuggingFace = ({ apiConfiguration, setApiConfigurationField }: Hugg
8789 // Set default provider when model changes
8890 useEffect ( ( ) => {
8991 if ( currentModel && availableProviders . length > 0 ) {
90- const currentProvider = availableProviders . find ( ( p ) => p . provider === selectedProvider )
91- if ( ! currentProvider ) {
92- // Set to first available provider or "auto"
93- setSelectedProvider ( "auto" )
92+ const savedProvider = apiConfiguration ?. huggingFaceInferenceProvider
93+ if ( savedProvider ) {
94+ // Use saved provider if it exists
95+ setSelectedProvider ( savedProvider )
96+ } else {
97+ const currentProvider = availableProviders . find ( ( p ) => p . provider === selectedProvider )
98+ if ( ! currentProvider ) {
99+ // Set to "auto" as default
100+ const defaultProvider = "auto"
101+ setSelectedProvider ( defaultProvider )
102+ setApiConfigurationField ( "huggingFaceInferenceProvider" , defaultProvider )
103+ }
94104 }
95105 }
96- } , [ currentModel , availableProviders , selectedProvider ] )
106+ } , [
107+ currentModel ,
108+ availableProviders ,
109+ selectedProvider ,
110+ apiConfiguration ?. huggingFaceInferenceProvider ,
111+ setApiConfigurationField ,
112+ ] )
97113
98114 const handleModelSelect = ( modelId : string ) => {
99115 setApiConfigurationField ( "huggingFaceModelId" , modelId )
100116 // Reset provider selection when model changes
101- setSelectedProvider ( "auto" )
117+ const defaultProvider = "auto"
118+ setSelectedProvider ( defaultProvider )
119+ setApiConfigurationField ( "huggingFaceInferenceProvider" , defaultProvider )
102120 }
103121
104122 const handleProviderSelect = ( provider : string ) => {
105123 setSelectedProvider ( provider )
106- // You could store this in a separate field if needed
124+ setApiConfigurationField ( "huggingFaceInferenceProvider" , provider )
107125 }
108126
109127 // Format provider name for display
0 commit comments