This is a monster of a question and I did not scope it fast enough.
Start by clarifying requirements and constraints, then present a layered architecture that separates the two data domains (public docs vs. tenant data) with a router and distinct retrieval pipelines. Emphasize security, privacy, and evaluation as first-class concerns, and discuss trade-offs between latency, accuracy, and cost.
Pro tip: Explicitly call out the need for a permission-aware retrieval layer that enforces row-level security at query time, and mention how you would handle stale or cached tenant data to avoid privacy leaks.
Ask about expected query volume, latency SLOs, data freshness, tenant isolation requirements, and compliance needs (e.g., GDPR, CCPA). Confirm whether the assistant must support multi-turn conversations and which Adobe Experience Platform APIs are available.
Propose a modular system with an intent classifier/router that directs queries to either a documentation QA pipeline (RAG over public docs) or a tenant data QA pipeline (text-to-API/SQL over tenant-specific data). Include components like query understanding, retrieval, generation, and response post-processing.
Describe authentication/authorization (OAuth, IMS), tenant isolation, encryption in transit/at rest, and permission-aware retrieval. Outline guardrails such as PII redaction, output filtering, rate limiting, and audit logging.
Set latency budgets for each pipeline (e.g., p95 < 2s for docs, < 5s for tenant data) and discuss caching, pre-computation, streaming, and model selection (small vs. large LLMs) to meet them.
Propose offline metrics (retrieval precision/recall, answer correctness, faithfulness) and online metrics (user feedback, task success, latency). Include A/B testing, canary deployments, and continuous monitoring for drift and security incidents.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.