22
33module  DiscourseAi 
44  module  Configuration 
5-     class  InvalidSeededModelError  < StandardError 
6-     end 
7- 
85    class  LlmValidator 
96      def  initialize ( opts  =  { } ) 
107        @opts  =  opts 
@@ -18,19 +15,19 @@ def valid_value?(val)
1815          return  !@parent_enabled 
1916        end 
2017
21-         allowed_seeded_model? ( val ) 
22- 
2318        run_test ( val ) . tap  {  |result | @unreachable  =  result  } 
24-       rescue  DiscourseAi ::Configuration ::InvalidSeededModelError  =>  e 
25-         @unreachable  =  true 
26-         false 
2719      rescue  StandardError  =>  e 
2820        raise  e  if  Rails . env . test? 
2921        @unreachable  =  true 
3022        true 
3123      end 
3224
3325      def  run_test ( val ) 
26+         if  Rails . env . test? 
27+           # In test mode, we assume the model is reachable. 
28+           return  true 
29+         end 
30+ 
3431        DiscourseAi ::Completions ::Llm 
3532          . proxy ( val ) 
3633          . generate ( "How much is 1 + 1?" ,  user : nil ,  feature_name : "llm_validator" ) 
@@ -53,10 +50,6 @@ def error_message
5350          ) 
5451        end 
5552
56-         if  @invalid_seeded_model 
57-           return  I18n . t ( "discourse_ai.llm.configuration.invalid_seeded_model" ) 
58-         end 
59- 
6053        return  unless  @unreachable 
6154
6255        I18n . t ( "discourse_ai.llm.configuration.model_unreachable" ) 
@@ -68,25 +61,12 @@ def choose_llm_setting_for(module_enabler_setting)
6861
6962      def  modules_and_choose_llm_settings 
7063        { 
71-           ai_embeddings_semantic_search_enabled : :ai_embeddings_semantic_search_hyde_model  , 
72-           ai_helper_enabled : :ai_helper_model  , 
73-           ai_summarization_enabled : :ai_summarization_model  , 
74-           ai_translation_enabled : :ai_translation_model  , 
64+           ai_embeddings_semantic_search_enabled : :ai_default_llm_model  , 
65+           ai_helper_enabled : :ai_default_llm_model  , 
66+           ai_summarization_enabled : :ai_default_llm_model  , 
67+           ai_translation_enabled : :ai_default_llm_model  , 
7568        } 
7669      end 
77- 
78-       def  allowed_seeded_model? ( val ) 
79-         id  =  val . split ( ":" ) . last 
80-         return  true  if  id . to_i  > 0 
81- 
82-         setting  =  @opts [ :name ] 
83-         allowed_list  =  SiteSetting . public_send ( "#{ setting }  _allowed_seeded_models" ) 
84- 
85-         if  allowed_list . split ( "|" ) . exclude? ( id ) 
86-           @invalid_seeded_model  =  true 
87-           raise  DiscourseAi ::Configuration ::InvalidSeededModelError . new 
88-         end 
89-       end 
9070    end 
9171  end 
9272end 
0 commit comments