plano/demos/getting_started/llm_gateway
Adil Hafeez 056ed67a04
Update documentation and test references for new demo paths
- Update README.md demo path references to agent_orchestration/
- Update docs/source paths for multi_turn_rag and travel_agents
- Update e2e test scripts for weather_forecast and model_alias_routing
- Update docker-compose.dev.yaml and e2e docker-compose.yaml paths
- Update demo READMEs with correct cross-references and remove
  references to deleted observability stacks
- Update test runner script for preference_based_routing path

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:44:16 -08:00
..
config.yaml Clean up dead demos and restructure directory layout 2026-02-15 01:43:31 -08:00
docker-compose.yaml Standardize demo configs and CLI templates to v0.3.0 2026-02-15 01:43:59 -08:00
jaeger_tracing_llm_routing.png Clean up dead demos and restructure directory layout 2026-02-15 01:43:31 -08:00
llm_routing_demo.png Clean up dead demos and restructure directory layout 2026-02-15 01:43:31 -08:00
README.md Update documentation and test references for new demo paths 2026-02-15 01:44:16 -08:00
run_demo.sh Clean up dead demos and restructure directory layout 2026-02-15 01:43:31 -08:00

LLM Routing

This demo shows how you can use Plano gateway to manage keys and route to upstream LLM.

Starting the demo

  1. Please make sure the pre-requisites are installed correctly
  2. Start Plano
    sh run_demo.sh
    
  3. Navigate to http://localhost:3001/

Following screen shows an example of interaction with Plano gateway showing dynamic routing. You can select between different LLMs using "override model" option in the chat UI.

LLM Routing Demo

You can also pass in a header to override model when sending prompt. Following example shows how you can use x-arch-llm-provider-hint header to override model selection,


$ curl --header 'Content-Type: application/json' \
  --header 'x-arch-llm-provider-hint: mistral/ministral-3b' \
  --data '{"messages": [{"role": "user","content": "hello"}], "model": "gpt-4o"}' \
  http://localhost:12000/v1/chat/completions 2> /dev/null | jq .
{
  "id": "xxx",
  "object": "chat.completion",
  "created": 1737760394,
  "model": "ministral-3b-latest",
  "choices": [
    {
      "index": 0,
      "messages": {
        "role": "assistant",
        "tool_calls": null,
        "content": "Hello! How can I assist you today? Let's chat about anything you'd like."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 4,
    "total_tokens": 25,
    "completion_tokens": 21
  }
}

Observability

For tracing you can head over to http://localhost:16686/ to view recent traces.

Following is a screenshot of tracing UI showing call received by Plano gateway and making upstream call to LLM,

Jaeger Tracing