How azure/agent-app-ingestion works
This is a Python document-ingestion service that prepares grounding content for Azure AI Search—not a conversational-agent runtime. The main workflow accepts documents through ingestion APIs or source jobs, chunks and embeds them, then indexes content; operators can monitor jobs, schedules, files, configuration, and curation in a dashboard. The README documents Blob, SharePoint, NL2SQL, maintenance, and hosted retrieval capabilities. Some implementation details are unsampled, so connections for those capabilities are shown only where README or indexed references support them.
Main entry points: main.py Service routes · aisearch.py Search indexing · blob_storage_indexer.py Blob indexer · sharepoint_indexer.py SharePoint indexer
Components 23
Service and APIs
- Service routes
main.py - Chunking API
main.py - Embedding API
main.py - Hosted retrieval
api/retrieval.py - Operator dashboard
frontend/src/App.tsx - Operator APIs
api/panel_operator.py - Ingestion APIs
api/admin.py
Document processing
- Chunker factory
chunking/chunker_factory.py - Format chunkers
chunking/chunkers - Chunk primitives
chunking/chunkers/base_chunker.py
Ingestion and operations
- Blob indexer
jobs/blob_storage_indexer.py - SharePoint indexer
jobs/sharepoint_indexer.py - Graph client
jobs/sharepoint_graph_client.py - NL2SQL jobs
jobs - Maintenance jobs
jobs
Search and governance
- Search indexing
tools/aisearch.py - Blob storage
tools/blob.py - Curation store
tools/corpus_curation_store.py - Audit events
telemetry/audit.py - Config and auth
dependencies.py
Other components
- Ingestion caller
- Operator
- Azure services
Connections 30
- Ingestion caller → Service routes: submits documents
README.md - Service routes → Chunking API: routes requests
main.py - Service routes → Embedding API: routes requests
main.py - Service routes → Ingestion APIs: registers APIs
main.py - Service routes → Blob indexer: starts jobs
main.py - Service routes → SharePoint indexer: starts jobs
main.py - Service routes → NL2SQL jobs: starts jobs
main.py - Service routes → Maintenance jobs: starts jobs
main.py - Blob indexer → Chunker factory: selects chunker
jobs/blob_storage_indexer.py - Chunker factory → Format chunkers: dispatches by format
chunking/chunker_factory.py - Format chunkers → Chunk primitives: reuse primitives
chunking/chunkers/doc_analysis_chunker.py - Blob indexer → Search indexing: indexes content
jobs/blob_storage_indexer.py - SharePoint indexer → Graph client: fetches source files
jobs/sharepoint_indexer.py - SharePoint indexer → Chunker factory: chunks documents
jobs/sharepoint_indexer.py - SharePoint indexer → Search indexing: indexes content
jobs/sharepoint_indexer.py - Hosted retrieval → Search indexing: queries index
api/retrieval.py - Search indexing → Azure services: reads and writes
tools/aisearch.py - Graph client → Azure services: calls Graph API
jobs/sharepoint_graph_client.py - Blob indexer → Blob storage: uses storage
- Operator → Operator dashboard: monitors ingestion
README.md - Operator dashboard → Operator APIs: requests operations
- Operator dashboard → Ingestion APIs: requests status
- Operator APIs → Curation store: manages curation
api/panel_operator.py - Operator APIs → Config and auth: uses authentication
api/panel_operator.py - Ingestion APIs → Config and auth: uses dependencies
api/admin.py - Search indexing → Audit events: records results
tools/aisearch.py - Blob indexer → Audit events: records ingestion
jobs/blob_storage_indexer.py - SharePoint indexer → Audit events: records ingestion
jobs/sharepoint_indexer.py - NL2SQL jobs → Search indexing: indexes content
jobs/blob_storage_indexer.py - Maintenance jobs → Search indexing: purges indexed content
jobs/blob_storage_indexer.py