Repolode
reid41

reid41/QA-Pilot

A Svelte and FastAPI chat app that lets you ask questions about a GitHub repository or uploaded source folder, using online or local LLMs.

Stars
329
Forks
44
Open issues
7
Last commit
2 months ago

What is it?

QA-Pilot is a chat interface for understanding code repositories. You give it a public GitHub URL, which it clones, or upload a local folder of source files, and it indexes the code so you can ask questions about it in a chat session. Chat history is stored in PostgreSQL, and multiple sessions can be kept and searched.

The project supports a wide range of model providers, including Ollama, OpenAI, Anthropic, Mistral, ZhipuAI, Tongyi, Moonshot, NVIDIA, LocalAI and llama.cpp, so it can run fully local or against hosted APIs. A built-in CodeGraph view shows Python and Go files in a visual structure, and a search option can rerank results with FlashRank.

The backend moved from Flask to FastAPI and the frontend from Streamlit to Svelte. The project describes itself as a test project for fully local question answering, not for production or for analyzing sensitive or private code.

Key features

  • 01Chat with a public GitHub repository by cloning it, or upload a local source folder for indexing.
  • 02Stores chat history in PostgreSQL with multiple sessions and search.
  • 03Connects to many LLM providers, both local (Ollama, LocalAI, llama.cpp) and hosted.
  • 04Includes a CodeGraph view for Python and Go files.
  • 05Supports reranking search results with FlashRank via the rr: prefix.

Use cases

  • Getting oriented in an unfamiliar open-source codebase by asking questions about it.
  • Trying out question answering over code with a fully local model via Ollama.
  • Comparing how different LLM providers answer questions about the same repository.

Quick start

  1. 1

    Clone the QA-Pilot repository

    git clone https://github.com/reid41/QA-Pilot.git
  2. 2

    Install the Python dependencies

    pip install -r requirements.txt
  3. 3

    Install the frontend dependencies from the svelte-app directory

    npm install
  4. 4

    Start the backend server

    python qa_pilot_run.py

Things to know

  • Needs a PostgreSQL database set up and configured before it runs.
  • Requires an API key for hosted LLMs or a local model runner such as Ollama.
  • The README says it is a test project and not production ready.
  • Its documentation warns against using it with private, sensitive, or customer code.

In collections

Topics

FAQ

What is QA-Pilot?
A Svelte and FastAPI chat app that lets you ask questions about a GitHub repository or uploaded source folder, using online or local LLMs. QA-Pilot is a chat interface for understanding code repositories. You give it a public GitHub URL, which it clones, or upload a local folder of source files, and it indexes the code so you can ask questions about it in a chat session. Chat history is stored in PostgreSQL, and multiple sessions can be kept and searched.
Is QA-Pilot free to use? What license does it have?
QA-Pilot is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is QA-Pilot still maintained?
Updated within 6 months. The last commit to QA-Pilot was on Sep 14, 2026.
What can I use QA-Pilot for?
Getting oriented in an unfamiliar open-source codebase by asking questions about it. Trying out question answering over code with a fully local model via Ollama. Comparing how different LLM providers answer questions about the same repository.
How do I install QA-Pilot?
Clone the QA-Pilot repository: git clone https://github.com/reid41/QA-Pilot.git Install the Python dependencies: pip install -r requirements.txt Install the frontend dependencies from the svelte-app directory: npm install Start the backend server: python qa_pilot_run.py
Where can I get QA-Pilot?
The source code and installation instructions are on GitHub: https://github.com/reid41/QA-Pilot

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects