▲ 0 r/AZURE

Who here has implemented a Unified Inference Service in production?

I recently read an engineering article from NVIDIA describing how they built a Unified Inference Service to provide thousands of engineers with access to more than 100 AI models through a single internal endpoint. It got me thinking that this abstraction layer may become a standard part of enterprise AI architectures, especially as organizations adopt multiple providers and self-hosted models.

Has anyone here implemented a Unified Inference Service in production? I'm interested in practical experience around routing, authentication, observability, failover, cost tracking, and model lifecycle management. At what point did it become worth introducing this layer instead of calling providers directly?

reddit.com
u/jeann1977 — 5 days ago
▲ 1 r/nvidia

Who here has implemented a Unified Inference Service in production?

I recently read an engineering article from NVIDIA describing how they built a Unified Inference Service to provide thousands of engineers with access to more than 100 AI models through a single internal endpoint. It got me thinking that this abstraction layer may become a standard part of enterprise AI architectures, especially as organizations adopt multiple providers and self-hosted models.

Has anyone here implemented a Unified Inference Service in production? I'm interested in practical experience around routing, authentication, observability, failover, cost tracking, and model lifecycle management. At what point did it become worth introducing this layer instead of calling providers directly?

reddit.com
u/jeann1977 — 5 days ago

Anyone running LiteLLM + Microsoft ASSERT together on Azure?

We actually started with Ollama before touching Azure.

It wasn't even about performance. We were still changing prompts constantly, breaking things, trying different models... paying for every little experiment didn't make much sense. So LiteLLM was talking to Ollama locally and we built most of the evaluation flow that way.

ASSERT wasn't part of the original plan.

The reason we looked at it was honestly because our release process had become a mess.

Every release week looked the same. Someone opened a spreadsheet with a long list of prompts. We'd run them one by one, compare answers, fix something, then run everything again because another prompt had changed. It wasn't a terrible process when there were only two of us. Once more people started working on the assistant, though, it stopped scaling pretty fast.

The assistant is for banking support. Mostly cards, accounts and loans. Nothing particularly exciting, but compliance makes everything more complicated. If the model answers an account question without proper authentication or skips a disclaimer, that's not the kind of bug you want to discover after deployment.

Looking back, the funny part is that we already had all the rules. They just lived in documents and people's heads.

One day somebody literally asked, "Why are we still checking all this manually?" That was enough to start turning those checklists into ASSERT policies instead.

The first policies were pretty boring, honestly. Authentication checks. Prompt injection around KYC. Required financial disclaimers. Making sure customer information never leaked into responses. Nothing fancy, just the things that kept showing up during reviews.

A couple of those tests have already caught regressions before they reached production, so they've paid for themselves.

The part I like most is actually LiteLLM.

Since it's already sitting in front of all our models, we don't have to rebuild the evaluation pipeline every time we want to compare providers. Same policies, different model. Sometimes we expect Model A to do better and... it doesn't. At least now we have something more objective than "this response feels better." Having logging and cost tracking in the same place is a nice bonus too.

We're definitely still figuring things out, so I'm not saying this is the perfect setup. It's just a lot less painful than spending half a day clicking through spreadsheets before every release.

I'm curious if anyone else is using LiteLLM together with ASSERT in regulated environments.

If you are, what kinds of policies ended up being the most valuable? Did you start with security and compliance like we did, or did something else cause the biggest headaches?

reddit.com
u/jeann1977 — 6 days ago
▲ 5 r/Vllm

Multi provider LLM Streaming Abstraction What actually breaks in practice?

I'm building a multi-provider AI gateway and trying to understand how far you can realistically abstract streaming across different LLM providers.

On the surface, most APIs look similar: token streaming, async support, and simple iteration over chunks. But in practice there are differences in stream termination, async behavior, error handling, and how incomplete or stalled streams are handled.

One case I'm particularly interested in is when streams stop making progress or start repeating chunks indefinitely. I'm curious how people handle this in production timeouts, repeated-chunk detection, or provider-specific logic?

For those who've built this at scale, what parts of the streaming abstraction actually worked cleanly, and where did you end up needing provider-specific handling?

reddit.com
u/jeann1977 — 6 days ago
▲ 4 r/rust

Rust vs Python: Where do you actually draw the architectural boundary?

I've spent years working with Python for backend services, automation, data processing, and AI tooling, while more recently I've been evaluating Rust for systems programming and performance-critical services. The more I work with both, the less I see them as competitors and the more I see them occupying different layers of the same architecture.

Python's biggest advantage is development velocity. The language minimizes friction, has an enormous ecosystem, and makes experimentation inexpensive. For workloads where developer productivity dominates infrastructure costs, Python is difficult to beat. This becomes even more apparent in machine learning, scripting, orchestration, and internal tooling.

Rust optimizes for a completely different set of constraints. Memory safety without garbage collection, deterministic performance, predictable latency, and compile time correctness fundamentally change the engineering tradeoffs. Ownership and borrowing increase the initial complexity, but they also eliminate entire classes of production bugs that would otherwise require runtime testing or defensive programming.

One difference I've noticed is how the languages influence software architecture.

In Python, it's common to rely on runtime validation, extensive testing, and defensive checks because many errors cannot be detected until execution.

In Rust, the compiler effectively becomes another engineering team member. Invalid state transitions, concurrency issues, lifetime mistakes, and ownership violations are frequently discovered before the application ever runs. The compiler often forces API designs that are more explicit and harder to misuse.

The tradeoff, of course, is development speed. Building a prototype in Python is usually significantly faster than reaching the same point in Rust. However, as systems become larger, highly concurrent, or latency-sensitive, Rust's stronger guarantees can reduce long term maintenance costs.

What I find particularly interesting is that many modern architectures no longer require choosing one language exclusively. Python can remain responsible for orchestration, business logic, AI workflows, or data pipelines, while Rust handles the performance critical components through FFI, microservices, or native extensions.

For engineers who have worked extensively with both languages in production, where do you currently draw that boundary?

Do you reserve Rust only for infrastructure and high-performance services, or have you started replacing Python components that traditionally wouldn't have been considered performance bottlenecks?

reddit.com
u/jeann1977 — 6 days ago
▲ 0 r/devops

LiteLLM is becoming much more than just an LLM gateway. Has anyone actually deployed its Datadog integration in production?

I've been evaluating LiteLLM's Datadog integration in a test environment, and it looks much more comprehensive than I expected. Beyond basic logging, it includes distributed tracing, custom metrics, LLM observability, cost management, prompt redaction, and latency breakdowns between the gateway and the underlying model provider. On paper, it seems like a solid foundation for operating LLM workloads at scale.

One feature that caught my attention is the ability to distinguish infrastructure latency from provider latency. That level of visibility can make troubleshooting significantly easier, especially when multiple services sit between the client and the model. Combined with built-in cost aggregation and LLM-specific telemetry, LiteLLM appears to be moving toward an operational platform rather than just an API gateway.

I haven't promoted this configuration to production yet, so I'm interested in hearing from engineers who have. Has anyone been running LiteLLM with the native Datadog integration in production? How stable has it been, what limitations have you encountered, and would you choose it over an OpenTelemetry based observability pipeline?

reddit.com
u/jeann1977 — 7 days ago

Has anyone integrated LiteLLM with OpenTelemetry in production?

I've been running LiteLLM in production for a while and recently started testing its OpenTelemetry integration to get end-to-end traces across the gateway, provider calls, and the rest of our services.

The documentation looks solid, especially around the newer tracing model and the GenAI semantic conventions, but I'm curious about real-world experience rather than the happy path.

I'm particularly interested in things like trace propagation across services, span hierarchy, sampling strategies, exporter choice, and whether you keep the default span structure or enable the dedicated litellm_request span. I'm also wondering how people are handling prompt/response logging versus privacy requirements and whether anyone is exporting to collectors before sending data to platforms like Langfuse, Phoenix, Jaeger, or Datadog.

For those already using this in production, what has worked well, what didn't, and are there any pitfalls or configuration choices you wish you had made differently?

reddit.com
u/jeann1977 — 7 days ago

I've been running a production chatbot with LiteLLM and Langfuse, and the combination has been working really well.

LiteLLM gives me a single gateway to work with multiple LLM providers, making it easy to switch models, add fallbacks, and keep the application provider-agnostic. Langfuse gives me visibility into every request, including prompts, responses, latency, token usage, and traces, which has made debugging much easier.

For anyone using this stack in production, what's been your experience? Have you run into any limitations or found better alternatives as your system scaled?

reddit.com
u/jeann1977 — 7 days ago
▲ 0 r/rust

Why migrate an AI gateway from Python to Rust instead of just optimizing Python?

I've been reading about LiteLLM's planned migration from Python to Rust, and what caught my attention wasn't the benchmark numbers themselves, but the architectural decision behind them.

They're reporting gateway overhead dropping from 7.5 ms to 0.05 ms, throughput increasing from 453 to 6,782 req/s, and peak memory dropping from 359 MB to 32 MB. Those numbers are impressive, but what I find more interesting is that they're replacing the hot path with Rust while keeping the same API, config, database, and client interface.

For those with experience building high-performance services in Rust, where do you think most of those gains actually come from? Is it mainly memory layout, allocation patterns, async runtime efficiency, eliminating Python's runtime overhead, or simply having a compiled binary for the request path?

I'm also curious whether you've seen similar migrations in production. At what scale does replacing a Python service with Rust become an engineering decision that's actually worth the complexity?

reddit.com
u/jeann1977 — 8 days ago
▲ 3 r/AiChatGPT+1 crossposts

I'm trying to understand how people handle code execution when using the OpenAI Responses API with code_interpreter.

If you're already running an AI gateway like LiteLLM, do you let OpenAI handle the execution, or do you intercept the tool call and run the generated code in your own sandbox instead?

I'm mostly interested in the architectural tradeoffs around security, data residency, operational complexity, and whether keeping the execution layer under your own control has been worth it in production.

reddit.com
u/jeann1977 — 8 days ago
▲ 1 r/ClaudeCowork+1 crossposts

Is LiteLLM Moving Beyond Model Abstraction?

LiteLLM started by abstracting model providers. Now they're trying to abstract agent harnesses.

What I find interesting is that Lite-Harness doesn't try to normalize agent behavior. Claude Code, Codex, and Pi AI each keep their own planning loops, tool-calling semantics, prompting strategies, and execution model.

Lite-Harness only standardizes how applications invoke them.

That feels like a much cleaner abstraction boundary than trying to build a "universal agent" that forces every runtime into the same execution model.

If this approach gains adoption, switching between agent runtimes could become significantly easier or similar to how LiteLLM simplified switching between model providers.

Do you think harness portability is the next major abstraction layer for AI infrastructure, or are agent runtimes simply too opinionated for a common interface to work?

reddit.com
u/jeann1977 — 8 days ago
▲ 21 r/MCPservers+1 crossposts

Where do you draw the line with LiteLLM's MCP Gateway?

We've been experimenting with LiteLLM's MCP Gateway, and one thing I've been going back and forth on is how much responsibility should actually live there.

We started with the gateway as a pretty thin layer: transport normalization, authentication, and exposing MCP servers. But as the platform grew, it became tempting to move more logic into it. Routing decisions, tool filtering, policy enforcement, retries, provider-specific behavior, usage controls... it all feels convenient to centralize.

The problem is that after a while the gateway starts looking less like infrastructure and more like the orchestration layer itself. At that point it's no longer obvious where the boundary should be.

For teams running LiteLLM's MCP Gateway in production, where did you end up drawing that line? Does the gateway only expose and secure MCP servers while your orchestrator owns all execution decisions, or has the gateway gradually become the place where routing and policy live?

Looking back, was keeping the gateway "dumb" the better long-term decision, or did consolidating more logic there make operating the system easier?

reddit.com
u/jeann1977 — 8 days ago

What surprised you the most after running LiteLLM in production?

We're evaluating LiteLLM as the inference gateway for a multi-provider setup, and on paper most of the value proposition is straightforward: unified API, provider abstraction, routing, retries, fallbacks, budgets, virtual keys, load balancing, etc. Getting the gateway running wasn't particularly difficult. The harder part seems to be everything that happens once real production traffic starts flowing through it.

I'm more interested in the operational side than the initial setup.

For example, did your routing strategy stay simple, or did it eventually evolve into something much more dynamic? Are you still using mostly rule-based routing, or are you classifying requests based on complexity, latency requirements, context size, or expected reasoning depth before selecting a model?

How are you handling retries and fallbacks in practice? Do you fail over only on provider errors, or do you also retry based on latency, quality degradation, rate limits, or cost thresholds?

I'm also curious whether features like virtual keys, budgets, and centralized usage tracking ended up being as valuable as they initially sounded, or if they became secondary compared to observability, custom routing logic, and operational visibility.

Another thing I'm wondering about is where people draw the line between LiteLLM and their own orchestration layer. Is LiteLLM making the routing decisions directly, or is it mostly acting as an execution layer while another service decides which model should receive the request?

Looking back after a few months in production, what architectural decision would you change if you were deploying LiteLLM again from scratch? I'm less interested in benchmark numbers and more interested in the kinds of problems that only become obvious after you've been operating it at scale. Those are usually the lessons that never make it into the documentation.

reddit.com
u/jeann1977 — 8 days ago

Why LiteLLM’s Rust Migration Improved My System More Than I Expected — It’s Not About Latency

I’ve been running LiteLLM as a centralized gateway for multiple internal LLM workloads, and like most people, I initially assumed the Rust migration would mainly deliver latency improvements.

After testing it in a real deployment environment, I realized that framing misses the most important part.

In production systems, latency is rarely the main constraint. At least in my case, the real bottleneck has consistently been memory pressure and everything that cascades from it: pod density limits, autoscaling frequency, and instability during traffic spikes.

What changed after moving to the Rust version was not just performance it was the operational profile of the entire system.

Memory usage dropped dramatically in my setup, from roughly 350MB per instance down to the 30MB range. That single change has a direct compounding effect: you can fit many more replicas per node, which immediately reduces how often you hit scaling boundaries or memory-related evictions.

This also changed how the system behaves under load. Previously, burst traffic across multiple teams would occasionally push the gateway into memory pressure situations, sometimes leading to restarts or degraded stability. After the migration, those scenarios essentially disappeared in practice.

Throughput also improved significantly in benchmarks (hundreds of requests per second to several thousand), but in real-world terms that’s not what I care about most. Once you’re above a certain threshold, raw throughput is rarely the limiting factor for a gateway layer.

What stood out to me is that this migration didn’t just make the system faster it changed the economics of running it. You’re no longer designing around memory constraints in the same way, which directly impacts infrastructure cost and scaling strategy.

I think most discussions around Rust migrations tend to focus heavily on latency, but in infrastructure-heavy LLM systems, memory footprint is often the dominant variable for both cost and reliability.

In my experience, that’s where the real win is.

reddit.com
u/jeann1977 — 9 days ago
▲ 2 r/AZURE

Anyone running LiteLLM + Microsoft ASSERT together on Azure?

I actually started testing everything locally first with Ollama before touching the cloud. I wanted to iterate fast without burning API credits every time I changed prompts or policies, so I wired LiteLLM to Ollama and built most of the evaluation workflow there.

Next, we started using ASSERT alongside LiteLLM a few weeks back, mostly out of desperation tbh. Before every release we were manually clicking through dozens of prompts trying to catch edge cases, and that just doesn't scale once more than 2-3 people are touching the bot.

Quick context: it's a banking support assistant, cards/accounts/loans, the usual stuff. Compliance is obviously a big deal here so "ship it and see" isn't really an option. We'd been keeping these massive checklists for every release (don't ask) until someone finally said screw it, let's turn this into actual policies instead of tribal knowledge in someone's head.

So far it's catching stuff like: requests for account info that skip auth, people trying to inject prompts to get around KYC, financial advice responses missing the disclaimer (this happened more than I'd like to admit), and customer data leaking into the output where it shouldn't.

What's actually useful is that since we're already on LiteLLM as our gateway, we can run the same ASSERT checks against different models without rewriting anything. Makes it way easier to see which model is actually behaving vs which one is just... not, and we get logging/cost tracking in the same place, which is nice.

Still early days, only a few weeks in, but it's already more consistent than whatever we were doing before (which was basically vibes plus an intern).

Anyone else running ASSERT + LiteLLM in something regulated? Curious what policies you've built, especially if your domain is messier than cards/loans.

reddit.com
u/jeann1977 — 9 days ago
▲ 0 r/mcp

Anyone running Claude Fable 5 through LiteLLM yet?

LiteLLM added Day 0 support for Claude Fable 5, including Anthropic, Azure, Vertex AI, and Bedrock behind the same OpenAI-compatible endpoint.

I'm curious how people are handling some of Fable 5's model-specific behavior in production.

It only supports adaptive reasoning, ignores parameters like temperature and top_p, exposes provider-specific effort levels, and even behaves slightly differently depending on the cloud provider.

Has LiteLLM been enough to hide those differences, or does your application still need provider-specific logic?

I'm interested in real production experience, not benchmarks. Has anyone deployed it yet?

reddit.com
u/jeann1977 — 10 days ago
▲ 0 r/mcp

How are you routing traffic across multiple LLM deployments in production?

I'm curious what production architectures actually look like once you have multiple deployments or providers.

Are you mostly doing simple weighted routing, or are you routing based on things like latency, rate limits, current load, or cost?

How do you handle retries, failover, and deployments that start returning errors or getting rate limited?

Interested in hearing what has actually worked in production rather than theoretical designs.

reddit.com
u/jeann1977 — 10 days ago
▲ 1 r/mcp

Know liteLLM with MCP Gateway?

I'm currently working with LiteLLM and experimenting with its MCP Gateway feature, specifically the pattern where MCP-style tool servers are not consumed directly, but instead are aggregated behind a central proxy layer.

What I'm trying to understand is how this pattern holds up in real-world systems beyond the documentation examples.

Specifically:

  1. how do people handle auth across multiple MCP backends in production (OAuth, API keys, static headers, AWS SigV4, etc.)?
  2. do you centralize tool discovery through the gateway, or let each client resolve MCP tools independently?
  3. how do you prevent tool namespace collisions when aggregating multiple MCP servers under one interface?
  4. and how do you deal with mixed transports like HTTP, SSE, and stdio in a single unified execution layer?

The MCP gateway model in LiteLLM basically turns it into a unified tool control plane, but I'm curious if this approach is actually stable at scale or if it introduces too much indirection and operational complexity.

Would be interested to hear from anyone running something similar in production or stress-testing this architecture.

reddit.com
u/jeann1977 — 10 days ago
▲ 4 r/GoogleGeminiAI+1 crossposts

Anyone stress-tested a LLM proxy layer?

Has anyone stress-tested a LLM proxy layer as a realtime WebSocket gateway for voice streaming at scale?

reddit.com
u/jeann1977 — 10 days ago

Easiest way to try Gemini embeddings with OpenAI-compatible API?

I’ve got an app already using the OpenAI /v1/embeddings API.

Now I want to test Gemini embeddings, but without changing my integration layer or adding provider-specific code.

Ideally I want:

  • keep OpenAI API format unchanged
  • swap backend (OpenAI → Gemini/Vertex/etc.)
  • maybe try multimodal embeddings later
  • avoid locking into a single vendor

What’s the cleanest way you’ve seen this done in practice?

Are people using:

  • an AI gateway / proxy layer?
  • direct Gemini API wrappers?
  • some unified abstraction for embeddings?

Looking for something that actually works in production, not just a quick hack.

reddit.com
u/jeann1977 — 10 days ago