← all repositories
peterw/Chat-with-Github-Repo

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.

1.1k stars Python RAG · SearchChat Assistants
Chat-with-Github-Repo
Velocity · 7d
+1.0
★ / day
Trend
steady
star history

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: process to ingest, chat to 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:8501 with 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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.