Chat with any Git repo via GPT-3.5 and a vector store
A minimal demo that embeds an entire repository into Deep Lake so you can interrogate it through a Streamlit interface.

What it does
Three Python scripts clone a Git repository, chunk and embed its contents with OpenAI’s embedding model, store the vectors in Activeloop’s Deep Lake, and expose a Streamlit chat interface powered by GPT-3.5-turbo. You run a CLI command to ingest, another to chat. That’s the whole architecture.
The interesting bit
This is essentially a stripped-down reference implementation of the now-ubiquitous “RAG over code” pattern, built before most frameworks had first-class support for it. The value is in the clarity: no hidden abstractions, just explicit LangChain-style plumbing (OpenAIEmbeddings → DeepLake → ConversationalRetrievalChain) that you can trace in under five minutes.
Key highlights
- CLI-driven workflow:
processto ingest,chatto query - Filters by file extension (e.g.,
--include-file-extensions .md .txt) so you can skip noise - Stores embeddings in Deep Lake, which persists them server-side rather than in local memory
- Streamlit frontend runs at
localhost:8501with minimal configuration - MIT licensed, ~1,100 stars, explicitly framed as a “demonstration” rather than a product
Caveats
- Hard dependency on two external API keys (OpenAI + Activeloop) with no fallback for local embeddings or vector stores
- Uses GPT-3.5-turbo specifically; the README doesn’t mention updating to GPT-4 or newer models
- “Demonstration” is the author’s own word—this is glue code, not a framework, and you’ll likely outgrow it quickly
Verdict
Good for developers who want to see a complete but minimal RAG pipeline they can read in one sitting and then rewrite in their own stack. Skip it if you need production-grade code search; use Sourcegraph Cody, GitHub Copilot Chat, or a proper framework like LlamaIndex instead.