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>
This commit is contained in:
Adil Hafeez 2026-02-15 01:44:16 -08:00
parent 5a4f8cb321
commit 056ed67a04
No known key found for this signature in database
GPG key ID: 9B18EF7691369645
14 changed files with 25 additions and 64 deletions

View file

@ -45,7 +45,7 @@ Plano pulls rote plumbing out of your framework so you can stay focused on what
Plano handles **orchestration, model management, and observability** as modular building blocks - letting you configure only what you need (edge proxying for agentic orchestration and guardrails, or LLM routing from your services, or both together) to fit cleanly into existing architectures. Below is a simple multi-agent travel agent built with Plano that showcases all three core capabilities
> 📁 **Full working code:** See [`demos/use_cases/travel_agents/`](demos/use_cases/travel_agents/) for complete weather and flight agents you can run locally.
> 📁 **Full working code:** See [`demos/agent_orchestration/travel_agents/`](demos/agent_orchestration/travel_agents/) for complete weather and flight agents you can run locally.
@ -113,7 +113,7 @@ async def chat(request: Request):
days = 7
# Your agent logic: fetch data, call APIs, run tools
# See demos/use_cases/travel_agents/ for the full implementation
# See demos/agent_orchestration/travel_agents/ for the full implementation
weather_data = await get_weather_data(request, messages, days)
# Stream the response back through Plano

View file

@ -8,7 +8,7 @@ services:
- "12000:12000"
- "19901:9901"
volumes:
- ${PLANO_CONFIG_FILE:-../demos/samples_python/weather_forecast/plano_config.yaml}:/app/plano_config.yaml
- ${PLANO_CONFIG_FILE:-../demos/getting_started/weather_forecast/plano_config.yaml}:/app/plano_config.yaml
- /etc/ssl/cert.pem:/etc/ssl/cert.pem
- ./envoy.template.yaml:/app/envoy.template.yaml
- ./plano_config_schema.yaml:/app/plano_config_schema.yaml

View file

@ -37,7 +37,7 @@ Plano acts as a **framework-agnostic proxy and data plane** that:
```bash
# From the demo directory
cd demos/use_cases/multi_agent_with_crewai_langchain
cd demos/agent_orchestration/multi_agent_crewai_langchain
# Build and start all services
docker-compose up -d

View file

@ -7,7 +7,7 @@ This demo shows how you can use Plano gateway to manage keys and route to upstre
```sh
sh run_demo.sh
```
1. Navigate to http://localhost:18080/
1. 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.
@ -32,7 +32,7 @@ $ curl --header 'Content-Type: application/json' \
"messages": {
"role": "assistant",
"tool_calls": null,
"content": "Hello! How can I assist you today? Let's chat about anything you'd like. 😊"
"content": "Hello! How can I assist you today? Let's chat about anything you'd like."
},
"finish_reason": "stop"
}
@ -47,11 +47,7 @@ $ curl --header 'Content-Type: application/json' \
```
# Observability
Plano gateway publishes stats endpoint at http://localhost:19901/stats. In this demo we are using prometheus to pull stats from Plano and we are using grafana to visualize the stats in dashboard. To see grafana dashboard follow instructions below,
1. Navigate to http://localhost:3000/ to open grafana UI (use admin/grafana as credentials)
1. From grafana left nav click on dashboards and select "Intelligent Gateway Overview" to view Plano gateway stats
1. For tracing you can head over to http://localhost:16686/ to view recent traces.
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,

View file

@ -10,50 +10,15 @@ This demo shows how you can use Plano's core function calling capabilities.
3. ```sh
sh run_demo.sh
```
4. Navigate to http://localhost:18080/
4. Navigate to http://localhost:3001/
5. You can type in queries like "how is the weather?"
# Observability
Plano gateway publishes stats endpoint at http://localhost:19901/stats. In this demo we are using prometheus to pull stats from Plano and we are using grafana to visalize the stats in dashboard. To see grafana dashboard follow instructions below,
1. Start grafana and prometheus using following command
```yaml
docker compose --profile monitoring up
```
2. Navigate to http://localhost:3000/ to open grafana UI (use admin/grafana as credentials)
3. From grafana left nav click on dashboards and select "Intelligent Gateway Overview" to view Plano gateway stats
Here is a sample interaction,
<img width="575" alt="image" src="https://github.com/user-attachments/assets/e0929490-3eb2-4130-ae87-a732aea4d059">
## Tracing
To see a tracing dashboard follow instructions below,
1. For Jaeger, you can either use the default run_demo.sh script or run the following command:
```sh
sh run_demo.sh jaeger
```
2. For Logfire, first make sure to add a LOGFIRE_API_KEY to the .env file. You can either use the default run_demo.sh script or run the following command:
```sh
sh run_demo.sh logfire
```
3. For Signoz, you can either use the default run_demo.sh script or run the following command:
```sh
sh run_demo.sh signoz
```
If using Jaeger, navigate to http://localhost:16686/ to open Jaeger UI
If using Signoz, navigate to http://localhost:3301/ to open Signoz UI
If using Logfire, navigate to your logfire dashboard that you got the write key from to view the dashboard
To see a tracing dashboard, navigate to http://localhost:16686/ to open Jaeger UI.
### Stopping Demo

View file

@ -47,7 +47,7 @@ docker --version
```bash
# Clone and navigate to demo
git clone https://github.com/katanemo/arch.git
cd arch/demos/use_cases/claude_code
cd arch/demos/llm_routing/claude_code_router
```
### Step 2: Set API Keys

View file

@ -8,7 +8,7 @@ Make sure your machine is up to date with [latest version of plano]([url](https:
1. start anythingllm
```bash
(venv) $ cd demos/use_cases/preference_based_routing
(venv) $ cd demos/llm_routing/preference_based_routing
(venv) $ docker compose up -d
```
2. start plano in the foreground
@ -16,7 +16,7 @@ Make sure your machine is up to date with [latest version of plano]([url](https:
(venv) $ planoai up --service plano --foreground
# Or if installed with uv: uvx planoai up --service plano --foreground
2025-05-30 18:00:09,953 - planoai.main - INFO - Starting plano cli version: 0.4.6
2025-05-30 18:00:09,953 - planoai.main - INFO - Validating /Users/adilhafeez/src/intelligent-prompt-gateway/demos/use_cases/preference_based_routing/config.yaml
2025-05-30 18:00:09,953 - planoai.main - INFO - Validating /Users/adilhafeez/src/intelligent-prompt-gateway/demos/llm_routing/preference_based_routing/config.yaml
2025-05-30 18:00:10,422 - cli.core - INFO - Starting plano gateway, image name: plano, tag: katanemo/plano:0.4.6
2025-05-30 18:00:10,662 - cli.core - INFO - plano status: running, health status: starting
2025-05-30 18:00:11,712 - cli.core - INFO - plano status: running, health status: starting

View file

@ -23,8 +23,8 @@ do
echo "starting plano"
planoai up config.yaml
echo "starting docker containers"
# only execute docker compose if demo is use_cases/preference_based_routing
if [ "$demo" == "use_cases/preference_based_routing" ]; then
# only execute docker compose if demo is llm_routing/preference_based_routing
if [ "$demo" == "llm_routing/preference_based_routing" ]; then
echo "starting docker compose for $demo"
docker compose -f docker-compose.yaml up -d 2>&1 > /dev/null
else

View file

@ -172,7 +172,7 @@ Once the prompt targets are configured as above, handle parameters across multi-
Demo App
--------
For your convenience, we've built a `demo app <https://github.com/katanemo/plano/tree/main/demos/samples_python/multi_turn_rag_agent>`_
For your convenience, we've built a `demo app <https://github.com/katanemo/plano/tree/main/demos/advanced/multi_turn_rag>`_
that you can test and modify locally for multi-turn RAG scenarios.
.. figure:: ../build_with_plano/includes/multi_turn/mutli-turn-example.png

View file

@ -342,7 +342,7 @@ Next Steps
* Explore :ref:`filter chains <filter_chain>` for adding guardrails and context enrichment
* See :ref:`observability <observability>` for monitoring multi-agent workflows
* Review the :ref:`LLM Providers <llm_providers>` guide for model routing within agents
* Check out the complete `Travel Booking demo <https://github.com/katanemo/plano/tree/main/demos/use_cases/travel_booking>`_ on GitHub
* Check out the complete `Travel Booking demo <https://github.com/katanemo/plano/tree/main/demos/agent_orchestration/travel_agents>`_ on GitHub
.. note::
To observe traffic to and from agents, please read more about :ref:`observability <observability>` in Plano.

View file

@ -8,7 +8,7 @@ services:
- "12000:12000"
- "19901:9901"
volumes:
- ../../demos/samples_python/weather_forecast/plano_config.yaml:/app/plano_config.yaml
- ../../demos/getting_started/weather_forecast/plano_config.yaml:/app/plano_config.yaml
- /etc/ssl/cert.pem:/etc/ssl/cert.pem
extra_hosts:
- "host.docker.internal:host-gateway"

View file

@ -23,7 +23,7 @@ log starting > ../build.log
log building and running function_calling demo
log ===========================================
cd ../../demos/samples_python/weather_forecast/
cd ../../demos/getting_started/weather_forecast/
docker compose up weather_forecast_service --build -d
cd -
@ -46,7 +46,7 @@ uv sync
log startup plano gateway with function calling demo
cd ../../
planoai down
planoai up demos/samples_python/weather_forecast/config.yaml
planoai up demos/getting_started/weather_forecast/config.yaml
cd -
log running e2e tests for prompt gateway
@ -59,7 +59,7 @@ planoai down
log startup plano gateway with model alias routing demo
cd ../../
planoai up demos/use_cases/model_alias_routing/config_with_aliases.yaml
planoai up demos/llm_routing/model_alias_routing/config_with_aliases.yaml
cd -
log running e2e tests for model alias routing
@ -80,6 +80,6 @@ uv run pytest test_openai_responses_api_client_with_state.py
log shutting down the weather_forecast demo
log =======================================
cd ../../demos/samples_python/weather_forecast
cd ../../demos/getting_started/weather_forecast
docker compose down
cd -

View file

@ -37,7 +37,7 @@ uv sync
log "startup plano gateway with model alias routing demo"
cd ../../
planoai down || true
planoai up demos/use_cases/model_alias_routing/config_with_aliases.yaml
planoai up demos/llm_routing/model_alias_routing/config_with_aliases.yaml
cd -
# Run both test suites that share this config in a single pytest invocation

View file

@ -34,7 +34,7 @@ uv sync
# Start weather_forecast service (needed for prompt_gateway tests)
log "building and running weather_forecast service"
cd ../../demos/samples_python/weather_forecast/
cd ../../demos/getting_started/weather_forecast/
docker compose up weather_forecast_service --build -d
cd -
@ -42,7 +42,7 @@ cd -
log "startup plano gateway with function calling demo"
cd ../../
planoai down || true
planoai up demos/samples_python/weather_forecast/config.yaml
planoai up demos/getting_started/weather_forecast/config.yaml
cd -
# Run tests
@ -52,6 +52,6 @@ uv run pytest test_prompt_gateway.py
# Cleanup
log "shutting down"
planoai down || true
cd ../../demos/samples_python/weather_forecast
cd ../../demos/getting_started/weather_forecast
docker compose down
cd -