I think the way we currently expose models in integration_openai is wrong.
Status quo
We have one TaskProcessing provider per task type for integration open ai. For these providers we add an optional input shape of "model" that allows users to select the model the task should be run with. Additionally, we allow configuring different openAI-compatible service providers for categories of tasks (e.g. text processing, I believe).
My opinion on the status quo
- Users should not be able to change the model in the assistant UI, because it's error-prone (shows models that may not even work for the modality of the task type) and because the admin may not even want to expose all models that the service provider offers.
- The UI for configuring additional service providers is confusing (from a UX perspective), but still not fine-grained enough for some use cases and would get more confusing if we implemented model and/or service provider choice for the admin, per task type.
My preferred solution
I think we should take a look at how llm2 and stt_whisper2 expose models. There should be a one-to-one correspondence between task processing providers and the models that will execute the task. This will allow the admin to use the TaskProcessing provider selection UI to select the model they want per task type. The integration_openai settings would shrink to just entering the credentials of one or multiple service providers, whose models would be automatically exposed to the admin. The optional "model" input shape would be removed.
I think the way we currently expose models in integration_openai is wrong.
Status quo
We have one TaskProcessing provider per task type for integration open ai. For these providers we add an optional input shape of "model" that allows users to select the model the task should be run with. Additionally, we allow configuring different openAI-compatible service providers for categories of tasks (e.g. text processing, I believe).
My opinion on the status quo
My preferred solution
I think we should take a look at how llm2 and stt_whisper2 expose models. There should be a one-to-one correspondence between task processing providers and the models that will execute the task. This will allow the admin to use the TaskProcessing provider selection UI to select the model they want per task type. The integration_openai settings would shrink to just entering the credentials of one or multiple service providers, whose models would be automatically exposed to the admin. The optional "model" input shape would be removed.