How addlinejebaprincy/ai-repository-assistent works
AI Repository Assistant indexes Python functions and GitHub issue/PR text, then answers user questions using retrieved repository context. The main flow runs from the React chat through Flask, retrieval, grounded generation, and streamed SSE events back to the UI. A separate ingestion flow clones the configured repositories, extracts code and issue records, embeds them, and stores them in Qdrant. The ingestion orchestration and request path are documented; individual integration details are included where supported by the sampled source.
Main entry points: build_walled_garden.py Ingestion coordinator · generator.py Grounded generator · retriever.py Semantic retrieval · app.py Ask API
Components 18
Chat interface
- Chat UI
frontend/src/App.jsx
Question answering
- Ask API
app.py - Grounded generator
generator.py - Semantic retrieval
retriever.py
Repository ingestion
- Repository clone
repo_downloader.py - Issue fetcher
github_api_fetcher.py - Ingestion coordinator
build_walled_garden.py - Function extractor
core_parser.py - Issue normalizer
issue_parser.py
Vector indexing
- Qdrant collection
- Embedding and upload
vector_db.py
Other components
- Developer
- Hugging Face API
- Ollama model
- Groq model
- Configured repositories
- GitHub REST API
- Sentence Transformers
Connections 24
- Developer → Chat UI: asks
- Chat UI → Ask API: POST query
- Ask API → Grounded generator: streams answer
- Grounded generator → Semantic retrieval: searches
- Semantic retrieval → Hugging Face API: embeds query
- Semantic retrieval → Qdrant collection: searches vectors
- Qdrant collection → Semantic retrieval: returns matches
- Semantic retrieval → Grounded generator: returns context
- Grounded generator → Ollama model: generates locally
- Grounded generator → Groq model: generates hosted
- Grounded generator → Ask API: yields SSE events
- Ask API → Chat UI: streams SSE
- Configured repositories → Repository clone: provides repositories
- Ingestion coordinator → Repository clone: clones
- Ingestion coordinator → Issue fetcher: requests issues
- Issue fetcher → GitHub REST API: fetches issues
- Ingestion coordinator → Issue normalizer: normalizes cached JSON
- Ingestion coordinator → Function extractor: extracts functions
- Repository clone → Ingestion coordinator: returns clone path
- Issue normalizer → Ingestion coordinator: returns issue records
- Function extractor → Ingestion coordinator: returns function records
- Embedding and upload → Ingestion coordinator: processes repositories
- Embedding and upload → Sentence Transformers: embeds records
- Embedding and upload → Qdrant collection: writes vectors and payloads