DEV Community

Daniel Dong
Daniel Dong

Posted on

Locked Into One LLM Provider? The Fix Is One Line.

You picked a model. You built on it. It worked great — until it didn't.

Maybe the provider's reasoning model disappointed you on a hard task. Maybe their pricing quietly changed. Maybe they had a three-hour outage and your users noticed before you did. Whatever the trigger, you now face the same migration every LLM dev dreads: new SDK, new auth, new billing, new edge cases.

Here's the thing: it didn't have to be this way.

The mistake: building on a provider, not an interface

When you call a vendor directly, your model choice is welded into your codebase. DeepSeek's SDK here, Moonshot's quirks there, a hardcoded model="gpt-4o" in seventeen places. Switching vendors isn't a config change — it's a migration project.

The alternative is boring on purpose: build against one OpenAI-compatible endpoint and treat the model as a parameter you can change in one string.

from openai import OpenAI

client = OpenAI(
    base_url="https://aibridge-api.com/v1",
    api_key="mb-your-key",
)

# Budget model today...
client.chat.completions.create(model="deepseek-chat", messages=[...])

# ...reasoning model tomorrow. Same code, one string changed.
client.chat.completions.create(model="kimi-k3", messages=[...])

Enter fullscreen mode Exit fullscreen mode

That's it. The OpenAI SDK you already use, pointed at a gateway in front of 15+ models. DeepSeek, Kimi K3, GLM-4-Plus, Qwen — all behind the same key, the same streaming behavior, the same embeddings endpoint.

What "no lock-in" actually gets you

You can benchmark instead of guessing. When switching costs one string, you actually run your real prompts against three models and pick the winner — instead of reading a leaderboard and hoping.

You can route by cost. Cheap model for the easy 95% of traffic, flagship model for the hard 5%. We wrote about the numbers [here] — short version: you stop paying $15/M output for "summarize this email."

You can de-risk outages. One provider degrades, you flip a string. No deployment, no waiting on their status page.

And the boring parts are handled

  • Free tier: 500K tokens/month, resets automatically, no card required
  • Top-ups: 1M tokens for $2.99, raw 1:1, no expiry, no multiplier games
  • Playground: compare models in the browser before writing code
  • Usage dashboard: see per-model spend so you know what to reroute

The principle

Vendor lock-in isn't something providers do to you. It's something you build for yourself, one hardcoded model string at a time.

Decouple the interface from the model, and every future "this model got better" or "this provider got worse" becomes a one-line decision instead of a migration.

aibridge-api.com

15+ models, one OpenAI-compatible endpoint. Change models without changing your code. 🚀

1

2

3

4

5

Top comments (0)