rename cli to plano (#647)

This commit is contained in:
Adil Hafeez 2025-12-23 18:37:58 -08:00 committed by GitHub
parent e224cba3e3
commit e7ce00b5a7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
70 changed files with 226 additions and 212 deletions

View file

@ -2,8 +2,9 @@ FROM python:3.11-slim
WORKDIR /app
# Install uv for faster dependency management
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
# Install bash and uv
RUN apt-get update && apt-get install -y bash && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir uv
# Copy dependency files
COPY pyproject.toml README.md ./

View file

@ -60,7 +60,7 @@ In a new terminal:
```bash
cd /path/to/travel_agents
plano up arch_config.yaml
plano up config.yaml
```
The gateway will start on port 8001 and route requests to the appropriate agents.
@ -159,7 +159,7 @@ Both agents run as Docker containers and communicate with Plano via `host.docker
```
travel_agents/
├── arch_config.yaml # Plano configuration
├── config.yaml # Plano configuration
├── docker-compose.yaml # Docker services orchestration
├── Dockerfile # Multi-agent container image
├── start_agents.sh # Quick start script
@ -173,7 +173,7 @@ travel_agents/
## Configuration Files
### arch_config.yaml
### config.yaml
Defines the two agents, their descriptions, and routing configuration. The agent router uses these descriptions to intelligently route requests.
@ -195,7 +195,7 @@ Orchestrates the deployment of:
**Plano won't start**
- Verify Plano is installed: `plano --version`
- Ensure you're in the travel_agents directory
- Check arch_config.yaml is valid
- Check config.yaml is valid
**No response from agents**
- Verify all containers are running: `docker compose ps`

View file

@ -1,15 +1,18 @@
services:
jaeger:
plano:
build:
context: ../../shared/jaeger
container_name: jaeger
restart: always
context: ../../../
dockerfile: arch/Dockerfile
ports:
- "16686:16686" # Jaeger UI
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP HTTP receiver
- "12000:12000"
- "8001:8001"
environment:
- ARCH_CONFIG_PATH=/config/config.yaml
- OPENAI_API_KEY=${OPENAI_API_KEY:?OPENAI_API_KEY environment variable is required but not set}
volumes:
- ./config.yaml:/app/arch_config.yaml
- /etc/ssl/cert.pem:/etc/ssl/cert.pem
weather-agent:
build:
context: .
@ -23,7 +26,6 @@ services:
command: ["uv", "run", "python", "src/travel_agents/weather_agent.py"]
extra_hosts:
- "host.docker.internal:host-gateway"
flight-agent:
build:
context: .
@ -34,11 +36,10 @@ services:
- "10520:10520"
environment:
- LLM_GATEWAY_ENDPOINT=http://host.docker.internal:12000/v1
- AEROAPI_KEY=${AEROAPI_KEY:-ESVFX7TJLxB7OTuayUv0zTQBryA3tOPr}
- AEROAPI_KEY=${AEROAPI_KEY:? AEROAPI_KEY environment variable is required but not set}
command: ["uv", "run", "python", "src/travel_agents/flight_agent.py"]
extra_hosts:
- "host.docker.internal:host-gateway"
open-web-ui:
image: dyrnq/open-webui:main
restart: always
@ -51,3 +52,12 @@ services:
depends_on:
- weather-agent
- flight-agent
jaeger:
build:
context: ../../shared/jaeger
container_name: jaeger
restart: always
ports:
- "16686:16686" # Jaeger UI
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP HTTP receiver

View file

@ -28,7 +28,7 @@ EXTRACTION_MODEL = "openai/gpt-4o-mini"
# FlightAware AeroAPI configuration
AEROAPI_BASE_URL = "https://aeroapi.flightaware.com/aeroapi"
AEROAPI_KEY = os.getenv("AEROAPI_KEY", "ESVFX7TJLxB7OTuayUv0zTQBryA3tOPr")
AEROAPI_KEY = os.getenv("AEROAPI_KEY")
# HTTP client for API calls
http_client = httpx.AsyncClient(timeout=30.0)