This is awesome work, thanks for sharing!
How do you plan on keeping up with upstream changes from the API providers? I have implemented something similar, and the biggest issue I have faced with go is that providers don’t usually have sdk’s (compared to javascript and python), and there is work involved in staying up to date at each release.
First, GoModel is designed to be flexible. If you add an extra field, it tries to pass it through in the appropriate place (Postel's law)
Therefore there's a good chance that if they make a minor API-level change, GoModel will handle it without any code changes.
Also, changes to providers' API formats might be less and less frequent. Keeping up typically means adding a few lines of code per month. I'm usually aware of those changes because I use LLMs daily and follow the news in a few places.
As a fallback, GoModel includes a passthrough API that forwards your request to the provider in its original format. That might be useful when an AI provider changes their contract significantly and we haven't caught up yet.
Also, official SDKs aren't bug-free either. Skipping that extra layer and hitting the API directly might actually be beneficial for GoModel.
Most APIs provide some sort of documentation. If it’s swagger you can just update the application from that.
Almost impossible without backing from some VC like litellm
ridiculous statement. most people dont need long tail.
I might be wrong, but if you go after 200 integrations keeping them on is substantial work for solo founder
real people just need like 20 at most.
if that's the case and doesn't need crazy number of integrations, I agree with you 100%
Yes, the number of meaningful providers might be around 20-30.