Standardize demo configs and CLI templates to v0.3.0

- Update all demo config files to version v0.3.0
- Rename llm_providers → model_providers across all configs
- Modernize listener format from object to array style
  (e.g. listeners: [{type: model, name:, port:}])
- Replace chatbot_ui with AnythingLLM in 6 docker-compose files
- Remove prometheus/grafana services from llm_gateway and
  preference_based_routing docker-compose files
- Add tracing: random_sampling: 100 to configs that lacked it
- Update 3 CLI init templates (coding_agent_routing,
  preference_aware_routing, conversational_state_v1_responses)
- Fix test_init.py assertion for model_providers key

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Adil Hafeez 2026-02-15 01:43:59 -08:00
parent 78f761ef75
commit 5a4f8cb321
No known key found for this signature in database
GPG key ID: 9B18EF7691369645
23 changed files with 164 additions and 168 deletions

View file

@ -1,13 +1,6 @@
version: v0.1
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
# OpenAI Models
- model: openai/gpt-5-2025-08-07
access_key: $OPENAI_API_KEY
@ -39,5 +32,10 @@ model_aliases:
arch.claude.code.small.fast:
target: claude-haiku-4-5
listeners:
- type: model
name: model_listener
port: 12000
tracing:
random_sampling: 100

View file

@ -1,25 +1,36 @@
version: v0.1
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
port: 12000
message_format: openai
timeout: 30s
llm_providers:
agents:
- id: assistant
url: http://localhost:10510
model_providers:
# OpenAI Models
- model: openai/gpt-5-mini-2025-08-07
access_key: $OPENAI_API_KEY
default: true
# Anthropic Models
# Anthropic Models
- model: anthropic/claude-sonnet-4-20250514
access_key: $ANTHROPIC_API_KEY
listeners:
- type: agent
name: conversation_service
port: 8001
router: plano_orchestrator_v1
agents:
- id: assistant
description: |
A conversational assistant that maintains context across multi-turn
conversations. It can answer follow-up questions, remember previous
context, and provide coherent responses in ongoing dialogues.
# State storage configuration for v1/responses API
# Manages conversation state for multi-turn conversations
state_storage:
# Type: memory | postgres
type: memory
tracing:
random_sampling: 100

View file

@ -1,13 +1,6 @@
version: v0.1.0
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- model: openai/gpt-4o-mini
access_key: $OPENAI_API_KEY
@ -25,5 +18,10 @@ llm_providers:
- name: code generation
description: generating new code snippets, functions, or boilerplate based on user prompts or requirements
listeners:
- type: model
name: model_listener
port: 12000
tracing:
random_sampling: 100

View file

@ -26,7 +26,7 @@ def test_init_template_builtin_writes_config(tmp_path, monkeypatch):
config_path = tmp_path / "config.yaml"
assert config_path.exists()
config_text = config_path.read_text(encoding="utf-8")
assert "llm_providers:" in config_text
assert "model_providers:" in config_text
def test_init_refuses_overwrite_without_force(tmp_path, monkeypatch):

View file

@ -1,13 +1,11 @@
version: v0.1.0
version: v0.3.0
listeners:
ingress_traffic:
address: 0.0.0.0
- type: prompt
name: prompt_listener
port: 10000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- model: openai/gpt-4o-mini
access_key: $OPENAI_API_KEY
default: true

View file

@ -1,16 +1,20 @@
services:
chatbot_ui:
build:
context: ../../shared/chatbot_ui
anythingllm:
image: mintplexlabs/anythingllm
restart: always
ports:
- "18080:8080"
- "3001:3001"
cap_add:
- SYS_ADMIN
environment:
# this is only because we are running the sample app in the same docker container environemtn as archgw
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=generic-openai
- GENERIC_OPEN_AI_BASE_PATH=http://host.docker.internal:10000/v1
- GENERIC_OPEN_AI_MODEL_PREF=gpt-4o-mini
- GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
- GENERIC_OPEN_AI_API_KEY=sk-placeholder
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config.yaml:/app/plano_config.yaml
jaeger:
build:

View file

@ -1,13 +1,11 @@
version: v0.1.0
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- model: openai/gpt-4o-mini
access_key: $OPENAI_API_KEY
default: true
@ -20,3 +18,6 @@ model_aliases:
target: gpt-4o-mini
arch.reason.v1:
target: o3
tracing:
random_sampling: 100

View file

@ -1,18 +1,16 @@
version: v0.1.0
version: v0.3.0
listeners:
ingress_traffic:
address: 0.0.0.0
- type: prompt
name: prompt_listener
port: 10000
message_format: openai
timeout: 30s
endpoints:
rag_energy_source_agent:
endpoint: host.docker.internal:18083
connect_timeout: 0.005s
llm_providers:
model_providers:
- access_key: $OPENAI_API_KEY
model: openai/gpt-4o-mini
default: true

View file

@ -10,15 +10,19 @@ services:
interval: 5s
retries: 20
chatbot_ui:
build:
context: ../../shared/chatbot_ui
dockerfile: Dockerfile
anythingllm:
image: mintplexlabs/anythingllm
restart: always
ports:
- "18080:8080"
- "3001:3001"
cap_add:
- SYS_ADMIN
environment:
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=generic-openai
- GENERIC_OPEN_AI_BASE_PATH=http://host.docker.internal:10000/v1
- GENERIC_OPEN_AI_MODEL_PREF=gpt-4o-mini
- GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
- GENERIC_OPEN_AI_API_KEY=sk-placeholder
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config.yaml:/app/plano_config.yaml

View file

@ -1,13 +1,11 @@
version: v0.1.0
version: v0.3.0
listeners:
ingress_traffic:
address: 0.0.0.0
- type: prompt
name: prompt_listener
port: 10000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- access_key: $OPENAI_API_KEY
model: openai/gpt-4o

View file

@ -1,16 +1,20 @@
services:
chatbot_ui:
build:
context: ../../shared/chatbot_ui
anythingllm:
image: mintplexlabs/anythingllm
restart: always
ports:
- "18080:8080"
- "3001:3001"
cap_add:
- SYS_ADMIN
environment:
# this is only because we are running the sample app in the same docker container environment as archgw
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=generic-openai
- GENERIC_OPEN_AI_BASE_PATH=http://host.docker.internal:10000/v1
- GENERIC_OPEN_AI_MODEL_PREF=gpt-4o-mini
- GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
- GENERIC_OPEN_AI_API_KEY=sk-placeholder
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config.yaml:/app/plano_config.yaml
jaeger:
build:

View file

@ -37,13 +37,3 @@ services:
- "16686:16686"
- "4317:4317"
- "4318:4318"
prometheus:
build:
context: ../../shared/prometheus
grafana:
build:
context: ../../shared/grafana
ports:
- "3000:3000"

View file

@ -1,17 +1,13 @@
version: v0.1.0
version: v0.3.0
listeners:
ingress_traffic:
address: 0.0.0.0
- type: prompt
name: prompt_listener
port: 10000
message_format: openai
timeout: 30s
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
endpoints:
weather_forecast_service:
@ -22,7 +18,7 @@ overrides:
# confidence threshold for prompt target intent matching
prompt_target_intent_matching_threshold: 0.6
llm_providers:
model_providers:
- access_key: $GROQ_API_KEY
model: groq/llama-3.2-3b-preview

View file

@ -9,15 +9,19 @@ services:
ports:
- "18083:80"
chatbot_ui:
build:
context: ../../shared/chatbot_ui
anythingllm:
image: mintplexlabs/anythingllm
restart: always
ports:
- "18080:8080"
- "3001:3001"
cap_add:
- SYS_ADMIN
environment:
# this is only because we are running the sample app in the same docker container environemtn as archgw
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=generic-openai
- GENERIC_OPEN_AI_BASE_PATH=http://host.docker.internal:10000/v1
- GENERIC_OPEN_AI_MODEL_PREF=gpt-4o-mini
- GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
- GENERIC_OPEN_AI_API_KEY=sk-placeholder
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config.yaml:/app/plano_config.yaml

View file

@ -1,13 +1,11 @@
version: v0.1.0
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- model: my_llm_provider/llama3.2
provider_interface: openai

View file

@ -1,16 +1,20 @@
services:
chatbot_ui:
build:
context: ../../shared/chatbot_ui
anythingllm:
image: mintplexlabs/anythingllm
restart: always
ports:
- "18080:8080"
- "3001:3001"
cap_add:
- SYS_ADMIN
environment:
# this is only because we are running the sample app in the same docker container environemtn as archgw
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:12000/v1
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=generic-openai
- GENERIC_OPEN_AI_BASE_PATH=http://host.docker.internal:12000/v1
- GENERIC_OPEN_AI_MODEL_PREF=gpt-4o-mini
- GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
- GENERIC_OPEN_AI_API_KEY=sk-placeholder
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config.yaml:/app/plano_config.yaml
jaeger:
build:

View file

@ -1,11 +1,9 @@
version: v0.1.0
version: v0.3.0
listeners:
ingress_traffic:
address: 0.0.0.0
- type: prompt
name: prompt_listener
port: 10000
message_format: openai
timeout: 30s
overrides:
optimize_context_window: true
@ -84,14 +82,14 @@ system_prompt: |
Make sure your output is valid Markdown. And don't say "formatted in Markdown". Thanks!
llm_providers:
model_providers:
- access_key: $OPENAI_API_KEY
model: openai/gpt-4o
default: true
prompt_targets:
- name: get_new_releases
description: Get a list of new album releases featured in Spotify (shown, for example, on a Spotify players “Browse” tab).
description: Get a list of new album releases featured in Spotify (shown, for example, on a Spotify player's "Browse" tab).
parameters:
- name: country
description: the country where the album is released
@ -121,3 +119,6 @@ prompt_targets:
path: /v1/artists/{artist_id}/top-tracks
http_headers:
Authorization: "Bearer $SPOTIFY_CLIENT_KEY"
tracing:
random_sampling: 100

View file

@ -1,16 +1,20 @@
services:
chatbot_ui:
build:
context: ../../shared/chatbot_ui
anythingllm:
image: mintplexlabs/anythingllm
restart: always
ports:
- "18080:8080"
- "3001:3001"
cap_add:
- SYS_ADMIN
environment:
# this is only because we are running the sample app in the same docker container environemtn as archgw
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
- STORAGE_DIR=/app/server/storage
- LLM_PROVIDER=generic-openai
- GENERIC_OPEN_AI_BASE_PATH=http://host.docker.internal:10000/v1
- GENERIC_OPEN_AI_MODEL_PREF=gpt-4o-mini
- GENERIC_OPEN_AI_MODEL_TOKEN_LIMIT=128000
- GENERIC_OPEN_AI_API_KEY=sk-placeholder
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./config.yaml:/app/plano_config.yaml
jaeger:
build:

View file

@ -1,13 +1,11 @@
version: v0.1
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
# OpenAI Models
- model: openai/gpt-5-2025-08-07
access_key: $OPENAI_API_KEY

View file

@ -1,13 +1,11 @@
version: v0.1
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
# OpenAI Models
- model: openai/gpt-5-mini-2025-08-07
@ -95,3 +93,6 @@ model_aliases:
# Alias for grok testing
arch.grok.v1:
target: grok-4-0709
tracing:
random_sampling: 100

View file

@ -1,13 +1,11 @@
version: v0.1.0
version: v0.3.0
listeners:
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- model: openai/gpt-4o-mini
access_key: $OPENAI_API_KEY

View file

@ -40,13 +40,3 @@ services:
- "16686:16686"
- "4317:4317"
- "4318:4318"
# prometheus:
# build:
# context: ../../shared/prometheus
# grafana:
# build:
# context: ../../shared/grafana
# ports:
# - "3000:3000"

View file

@ -1,17 +1,15 @@
version: v0.1.0
version: v0.3.0
routing:
model: Arch-Router
llm_provider: arch-router
listeners:
egress_traffic:
address: 0.0.0.0
- type: model
name: model_listener
port: 12000
message_format: openai
timeout: 30s
llm_providers:
model_providers:
- name: arch-router
model: arch/hf.co/katanemo/Arch-Router-1.5B.gguf:Q4_K_M