Back to projects

Ask-the-Docs — Software Documentation Chatbot

Point it at a GitHub repo, a Markdown docs folder or an SRS PDF and ask detailed questions about it. RAG with structure-aware chunking, hybrid retrieval and voice answers.

  • Python
  • FastAPI
  • LangChain
  • RAG
  • React
  • Gemini

Overview

CodeDocs AI

CodeDocs AI is a retrieval-augmented chatbot that answers questions about software documentation and source code. Simply provide a GitHub repository, documentation folder, or requirements specification, and the system automatically indexes the content to deliver accurate, source-cited answers.

🚀 Key Features

📄 Structure-Aware Document Ingestion

Instead of using fixed-size chunks for every document, the platform adapts chunking to each document type, ensuring retrieval happens at the most meaningful level.

Technical Documentation
  • Markdown, MDX, reStructuredText, AsciiDoc
    • Split according to the heading hierarchy.
    • Code blocks and tables remain intact.
Requirements & Design Documents
  • SRS, SDD, BRD (PDF, DOCX)
    • One chunk per numbered clause or requirement.
    • Requirements are tagged with identifiers such as FR-12 or REQ-004 for precise retrieval.
API Specifications
  • OpenAPI, JSON, YAML
    • One chunk per API endpoint or structured record.
Source Code
  • One chunk per function or class.
  • Every chunk is tagged with its corresponding symbol name for accurate code-level retrieval.
General Documents
  • HTML
  • Jupyter Notebooks
  • Plain Text

Automatically falls back to intelligent prose chunking when no structured format is detected.

🔍 Automatic Repository Discovery

Providing a GitHub repository URL automatically discovers and indexes relevant project documentation, including:

  • README files
  • docs/ directories
  • User guides
  • Technical specifications
  • Architecture documents

Relevant files are scored and indexed without requiring manual selection.

🧠 Hybrid Retrieval Pipeline

  • Dense semantic search using multilingual MiniLM embeddings (384 dimensions).
  • BM25 keyword retrieval for lexical matching.
  • Cross-encoder re-ranking to improve final retrieval accuracy.
  • FAISS vector indexing for low-latency search.
  • Per-tenant collections keep document indexes isolated between projects.

🎙 Voice & Multilingual Support

  • Voice-based question input.
  • Answers stream sentence-by-sentence for real-time text-to-speech.
  • Barge-in detection automatically stops speaking when the user interrupts.
  • Question language and response language can be configured independently.

🛠 Technology Stack

LayerTechnologies
FrontendReact, Vite
BackendPython 3.11, FastAPI, LangChain
LLMsGemini, Groq
Vector SearchFAISS, MiniLM Embeddings, BM25, Cross-Encoder Re-ranking
DeploymentGoogle Cloud Run (CPU Always-On), Vercel
TestingPytest

Gallery

Interested in something similar?

I'm open to new projects and collaborations — let's build something great together.

Get in touch