# MAF-A2A-NVIDIA-NemoAgents Environment Configuration # ============================================================================== # LLM Provider Configuration - Choose ONE # ============================================================================== # Option A: NVIDIA API (NIM - NVIDIA Inference Microservice) NVIDIA_API_KEY=your-nvidia-api-key-here # Option B: Azure OpenAI # Classic Azure OpenAI: https://your-resource.openai.azure.com/ # Foundry models (OpenAI v1 surface): https://your-resource.services.ai.azure.com/ # (the /openai/v1 suffix is appended automatically when omitted) AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/ AZURE_OPENAI_DEPLOYMENT_NAME=your-deployment-name AZURE_OPENAI_API_KEY=your-api-key-here AZURE_OPENAI_API_VERSION=2025-04-01-preview # Optional. Leave unset for reasoning models (e.g. gpt-5-mini) that only allow the # default temperature. Set to 0 for deterministic output on classic chat models. # AZURE_OPENAI_TEMPERATURE=0 # ============================================================================== # NeMo Agent Configuration # ============================================================================== NEMO_HOST=127.0.0.1 NEMO_PORT=8088 NEMO_LOG_LEVEL=INFO NEMO_WORKFLOW_PROFILE=fast NEMO_FAST_MODEL_NAME=meta/llama-3.2-3b-instruct # ============================================================================== # MAF Agent Configuration # ============================================================================== MAF_HOST=127.0.0.1 MAF_PORT=5055 MAF_LOG_LEVEL=Information # --- Grounded action agent (RAG + optional MCP) --- # The MAF Action Agent grounds its decisions in a local runbook/policy knowledge base # (src/MafActionAgent/knowledge/*.md) using LOCAL ONNX embeddings (ElBruno.LocalEmbeddings). # No cloud embedding deployment is required. The chat model uses Azure OpenAI (above). # Local sentence-transformers model used for embeddings (384-dim MiniLM by default). EMBEDDINGS_MODEL=sentence-transformers/all-MiniLM-L6-v2 # Optional Model Context Protocol retrieval. Disabled by default; when true the agent also # loads tools from MCP_SERVER_ENDPOINT (default: Microsoft Learn). Failures degrade to local RAG. ENABLE_MCP_RETRIEVAL=false MCP_SERVER_ENDPOINT=https://learn.microsoft.com/api/mcp # --- Pitch image agent (MEAI IImageGenerator via GPT-Image-2 / Azure OpenAI) --- # Additive, isolated from the grounded-action path. Always enabled; it activates automatically # whenever the endpoint + API key below are set (leave them blank to keep it a no-op). When active it # pre-renders one "incident hero" image in the background at startup (cached to disk, idempotent) # served at GET /api/pitch/hero-image. Uses GPT-Image-2 (Azure OpenAI) via ElBruno.Text2Image.Foundry. # GPT-Image-2 can take several minutes, so generation runs in the background and never blocks startup. # Note: a bare *.services.ai.azure.com endpoint is auto-normalized to the /openai/v1 path. FOUNDRY_IMAGE_ENDPOINT=https://your-resource.services.ai.azure.com/openai/v1 FOUNDRY_IMAGE_API_KEY=your-gpt-image-api-key FOUNDRY_IMAGE_DEPLOYMENT=gpt-image-2 FOUNDRY_IMAGE_MODEL_NAME=GPT-Image-2 # Optional request timeout (seconds) for image generation; defaults to 300. # FOUNDRY_IMAGE_TIMEOUT_SECONDS=300 # ============================================================================== # Web UI Configuration # ============================================================================== WEB_UI_HOST=127.0.0.1 WEB_UI_PORT=5000 WEB_UI_LOG_LEVEL=Information AGENT_HTTP_TIMEOUT_SECONDS=120 NEMO_CHAT_TIMEOUT_SECONDS=120 NEMO_WARMUP_ENABLED=true NEMO_WARMUP_DELAY_SECONDS=0 NEMO_WARMUP_TIMEOUT_SECONDS=120 NEMO_WARMUP_RETRY_DELAY_SECONDS=5 NEMO_WARMUP_MAX_ATTEMPTS=3 NEMO_WARMUP_REQUEST_MAX_WAIT_SECONDS=0 NEMO_WARMUP_MESSAGE=Analyze quarterly revenue values [100, 110, 120, 130] for Q1-Q4 2024 and reply with READY only. CHAT_ANALYSIS_CONTEXT_TTL_MINUTES=30 CHAT_ANALYSIS_CONTEXT_MAX_LENGTH=1600 # ============================================================================== # Service URLs (used for internal communication) # ============================================================================== NEMO_A2A_ENDPOINT=http://127.0.0.1:8088 NEMO_PUBLIC_BASE_URL=http://127.0.0.1:8088 MAF_AGENT_ENDPOINT=http://127.0.0.1:5055 WEB_UI_ENDPOINT=http://127.0.0.1:5000 # ============================================================================== # Aspire Configuration # ============================================================================== ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL=http://localhost:4319 ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL=http://localhost:4317 ASPIRE_RESOURCE_SERVICE_BINDING_OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 # ============================================================================== # Logging Configuration # ============================================================================== LOG_LEVEL=Information ENABLE_OTEL_TRACING=true OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 # ============================================================================== # Feature Flags # ============================================================================== ENABLE_DEMO_MODE=true ENABLE_HEALTH_CHECKS=true ENABLE_OTEL_TRACING=true # ============================================================================== # Notes # ============================================================================== # 1. Copy this file to .env in the repository root # 2. Fill in the values for your environment # 3. For local development, you can use the defaults provided # 4. For Azure OpenAI, ensure you have a deployed model # 5. For NVIDIA API, get your API key from https://build.nvidia.com