production_rag/
├── app/
│ ├── __init__.py
│ ├── main.py # FastAPI application entry point
│ ├── config.py # Configuration management
│ ├── models.py # Pydantic models
│ ├── agent/
│ │ ├── __init__.py
│ │ ├── orchestrator.py # LangGraph agent orchestration
│ │ ├── tools.py # Tool definitions
│ │ └── prompts.py # Prompt templates
│ ├── guardrails/
│ │ ├── __init__.py
│ │ ├── pii_redactor.py # PII detection and redaction
│ │ ├── topic_classifier.py # Topic classification
│ │ └── injection_detector.py # Prompt injection detection
│ ├── retrieval/
│ │ ├── __init__.py
│ │ ├── embeddings.py # Embedding service
│ │ ├── vector_store.py # Weaviate integration
│ │ └── template_retriever.py # Template retrieval tool
│ ├── evaluation/
│ │ ├── __init__.py
│ │ ├── llm_judge.py # LLM-as-a-Judge evaluation
│ │ └── metrics.py # Evaluation metrics
│ └── observability/
│ ├── __init__.py
│ └── tracing.py # Arize/observability integration
├── tests/
│ ├── __init__.py
│ ├── test_guardrails.py
│ ├── test_retrieval.py
│ └── test_agent.py
├── docker/
│ ├── Dockerfile
│ └── docker-compose.yml
├── requirements.txt
├── .env.example
└── README.md