A small demo that routes user questions to the best-fitting agent, retrieves supporting context, and composes an answer using Azure OpenAI. It includes:
- Ingestion: Embeds agent definitions (names, descriptions, sample utterances) and reference docs into a vector store.
- Selection:
Supervisorloads the agent index and picks top candidates for a question. - Retrieval: Fetches relevant document chunks to ground the response.
- Serving: CLI (
main.py qna) and a simple HTTP server underserving/for interactive queries.
- Install deps:
pip install -r requirements.txt - Ingest data (build indexes):
python main.py ingest - Ask a question:
python main.py qna --question "How do I reset my password?"
agents/: Agent definitions as JSON (name, description, utterances).data/: Reference documents to ground answers.orchestrator/: Core logic for embeddings, vector store, registry, and supervisor.serving/: Lightweight HTTP endpoint for queries.tests/: Basic checks (chunking, etc.).
- Requires Azure OpenAI credentials (
AZURE_OPENAI_KEY,AZURE_OPENAI_ENDPOINT,AZURE_OPENAI_API_VERSION,AZURE_OPENAI_GPT_DEPLOYMENT). - Vector store artifacts are written to
vectorstore/.