Skip to content

[FEAT-001] RAG Knowledge Agent — Document-grounded banking assistant #56

@dantelmomsft

Description

@dantelmomsft

FEAT-001 — RAG Knowledge Agent

Overview

Enable the banking assistant to answer retail customer questions about product terms, fees, and policies by grounding responses in an indexed internal knowledge corpus. This feature covers the full end-to-end pipeline: document ingestion from Azure Blob Storage into Azure AI Search, ongoing index maintenance via an event-driven pipeline, and a dedicated RAG specialist agent that retrieves relevant document chunks and always cites the source document in its response.

Problem Statement

Today, the banking assistant agents (account_agent, payment_agent, transaction_agent) have no access to internal knowledge documents such as FAQs, product policies, or terms and conditions. When customers ask policy or product questions, agents either hallucinate answers or fail to respond accurately. This erodes customer trust and increases escalation rates.

Goals

  • Allow retail banking customers to get accurate, document-grounded answers to policy and product questions via the chat widget.
  • Build and maintain an Azure AI Search index from a banking knowledge corpus stored in Azure Blob Storage.
  • Provide an event-driven ingestion pipeline that keeps the index current whenever new documents are uploaded.
  • Integrate a new rag_knowledge_agent into the existing handoff_orchestrator following the same specialist-agent pattern.
  • Always surface the source document reference alongside the answer.
  • Respond gracefully when no relevant content is found.

Non-Goals

  • Admin UI for uploading or managing knowledge documents
  • Per-customer or per-role access control on documents
  • Replacing existing account_agent, payment_agent, or transaction_agent

Target Users

Persona Interaction Surface
Retail Banking Customer Banking web chat widget
Bank Operations Team Azure Portal / Blob Storage

Key Scenarios

  1. "What are the fees for international transfers?"
  2. "What is the interest rate on my savings account?"
  3. "What are the terms and conditions for my credit card?"
  4. "How do I dispute a transaction?"
  5. "What documents do I need to open a new account?"

Functional Requirements

  • FR-001 — Knowledge documents stored in Azure Blob Storage (PDF format)
  • FR-002 — Event-driven ingestion pipeline: chunks PDFs, generates embeddings, populates Azure AI Search index; also supports manual re-indexing
  • FR-003 — Azure AI Search index with semantic/vector search; reflects new uploads within 10 minutes
  • FR-004 — New rag_knowledge_agent specialist: queries index, retrieves top 5 chunks, responds using only retrieved content
  • FR-005 — Every response cites the source document name and section/page
  • FR-006 — When no match found, responds: "I couldn't find information on that in our knowledge base. Please contact our support team for further assistance."
  • FR-007handoff_orchestrator updated to route policy/product questions to rag_knowledge_agent; both azure_chat and foundry_v2 variants supported

Non-Functional Requirements

  • Response within 5 seconds (streaming acceptable)
  • Azure Managed Identity for service-to-service auth
  • All retrieval and ingestion events captured in Application Insights

Acceptance Criteria

  • AC-001: PDF uploaded to Blob Storage → pipeline auto-triggers → document findable in index within 10 minutes
  • AC-002: Manual re-index operation triggers a full index rebuild successfully
  • AC-003: Retail customer receives a grounded response to a policy/product question via chat widget
  • AC-004: Every grounded response includes a source document citation
  • AC-005: No-match response is returned without hallucination when no relevant doc is found
  • AC-006: handoff_orchestrator correctly routes knowledge questions to rag_knowledge_agent
  • AC-007: End-to-end response time ≤ 5 seconds under normal load
  • AC-008: Retrieval and ingestion events observable in Application Insights

Open Questions

  • Q3: What confidence threshold triggers the no-match response?
  • Q5: Should the no-match response offer a handoff to a human agent?
  • A3: Confirm the knowledge corpus will be provided by the business/operations team

Dependencies

Dependency Notes
Azure Blob Storage Needs a dedicated container for knowledge documents
Azure AI Search New service — must be provisioned via Bicep
Azure OpenAI (GPT-4.1) Already provisioned — used for embeddings and generation
Ingestion Pipeline New component — event-driven function
handoff_orchestrator Must be extended
Banking knowledge corpus (PDFs) Must be provided by business/operations team

Full feature spec: generated/banking-assistant/features/rag-knowledge-agent/rag-knowledge-agent.feature.md
Feature ID: FEAT-001 | Priority: Must-Have | Status: Draft

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions