Yeah, I agree configuring embeddings today is complicated, even when documented, I tried configuring this @Falco / @Roman_Rizzi and got:
NoMethodError (undefined method `instance' for class DiscourseAi::Inference::GeminiEmbeddings)
lib/site_settings/type_supervisor.rb:287:in `validate_value'
lib/site_settings/type_supervisor.rb:168:in `to_db_value'
lib/site_setting_extension.rb:433:in `add_override!'
lib/site_setting_extension.rb:678:in `block in setup_methods'
lib/site_setting_extension.rb:500:in `public_send'
lib/site_setting_extension.rb:500:in `set'
lib/site_setting_extension.rb:513:in `set_and_log'
app/services/site_setting/update.rb:65:in `save'
lib/service/base.rb:148:in `instance_exec'
lib/service/base.rb:148:in `call'
lib/service/base.rb:443:in `block in run!'
lib/service/base.rb:443:in `each'
lib/service/base.rb:443:in `run!'
lib/service/base.rb:436:in `run'
lib/service/base.rb:295:in `call'
lib/service/runner.rb:146:in `result'
lib/service/runner.rb:131:in `call'
lib/service/runner.rb:126:in `call'
lib/service/base.rb:296:in `call'
The good news though is that we are working on a revamp of all our embedding config, moving this to a bug report.