Skip to content

Code structure/architectur #579

@gzsombor

Description

@gzsombor

Description

First, thanks for the great project!
I tried to look into the codebase to add Mistral.AI support, but I'm bit confused. It seems that for a lot of provider there are two 'XyzProvider' struct (like two GeminiProvider, OpenAIProvider, etc...). What is the reason behind it? Is it an ongoing refactor to migrate from one setup to another one? Could you share your plan? Currently it's very easy to get lost, what to modify and how.
My other question is that - as I see, Mistral.ai could return a supported list of models, but only if there are an API key, so I could implement fetching the list on demand, so the 'supported' model list shouldn't be fixed at compile time. What do you think? Why this pattern is not used in the other providers?

Sub-issues

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions