selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
QA-Pilot logo

Self-host QA-Pilot

v2.15.6

Interactive chat for GitHub code repos with local LLMs

BetaOpen SourceApache-2.0
Updatedlast year
LanguageSvelte
Setup difficultyAdvanced
Stars
330
Port
5000 (FastAPI backend and Svelte frontend)
Requires
Go, Node.js, PostgreSQL
Install with Build from Source
QA-Pilot chat interfaceCodeGraph visualization for Python/Go files

What is QA-Pilot?

QA-Pilot is an interactive chat application designed to help developers rapidly understand and navigate GitHub code repositories using large language models. It supports both local LLMs (via Ollama, llama.cpp, LocalAI, llmman) and cloud providers (OpenAI, Anthropic, Mistral, ZhipuAI, NVIDIA, Tongyi, Moonshot). The application features a Svelte frontend served by FastAPI, stores chat history in PostgreSQL, and uses ChromaDB for vector embeddings. It can index local source directories or clone public GitHub repositories, supporting file types like Python, JavaScript, TypeScript, Go, Java, and Svelte. Code graph visualization is available for Python and Go files. The project is not production-ready per its disclaimer and retains an unauthenticated, single-user design.

Should you self-host QA-Pilot?

QA-Pilot scores 40/100 on selfhost.directory (how scoring works) and ranks #55 of 69 in AI Chat. It has 330 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is Apache-2.0-licensed and written mostly in Svelte.

Its closest alternative on selfhost.directory is LibreChat (85/100, 46 421 stars). It scores higher overall, so compare the two before you pick. See QA-Pilot vs LibreChat side by side.

Features

  • Chat history storage
  • Chat with code repositories
  • Cloud LLM support
  • Code graph visualization
  • FlashRank rerankingOptional, requires separate installation
  • Local LLM Support
  • Local source directory upload
  • Multiple chat sessions
  • Prompt templates
  • Svelte frontend with FastAPI backend
  • Vector embeddings with ChromaDB

QA-Pilot README

How to install QA-Pilot

Install QA-Pilot with Build from Source

Environment variables
OPENAI_API_KEY, MISTRAL_API_KEY, ZHIPUAI_API_KEY, ANTHROPIC_API_KEY, NVIDIA_API_KEY, DASHSCOPE_API_KEY, MOONSHOT_API_KEY

git clone https://github.com/reid41/QA-Pilot.git cd QA-Pilot conda create -n QA-Pilot python=3.10.14 conda activate QA-Pilot pip install -r requirements.txt

Install pytorch with CUDA

Setup Ollama or other LLM providers

cp config/config.ini config/config.local.ini

Edit config.local.ini with database and model settings

Create PostgreSQL database

python check_postgresql_connection.py cd svelte-app npm install npm run dev

In another terminal:

python qa_pilot_run.py

Requires Python 3.10+, Node.js, Go, PostgreSQL, and an LLM provider

How to configure QA-Pilot

  • ANTHROPIC_API_KEYAnthropic API key

    Anthropic API key

  • base_urlhttp://localhost:11434Ollama API base URL

    Ollama API base URL

  • chunk_overlap200Text chunk overlap for embeddings

    Text chunk overlap for embeddings

  • chunk_size3000Text chunk size for embeddings

    Text chunk size for embeddings

  • DASHSCOPE_API_KEYTongyi/DashScope API key

    Tongyi/DashScope API key

  • db_hostlocalhostPostgreSQL database host

    PostgreSQL database host

  • db_nameqa_pilot_chatsession_dbPostgreSQL database name

    PostgreSQL database name

  • db_passwordqa_pilot_pPostgreSQL database password

    PostgreSQL database password

  • db_port5432PostgreSQL database port

    PostgreSQL database port

  • db_userqa_pilot_userPostgreSQL database user

    PostgreSQL database user

  • max_dir_depth5Maximum directory depth for indexing

    Maximum directory depth for indexing

  • MISTRAL_API_KEYMistralAI API key

    MistralAI API key

  • MOONSHOT_API_KEYMoonshot API key

    Moonshot API key

  • NVIDIA_API_KEYNVIDIA API key

    NVIDIA API key

  • OPENAI_API_KEYOpenAI API key

    OpenAI API key

  • provider_listopenai, ollama, mistralai, localai, zhipuai, anthropic, llamacpp, nvidia, tongyi, moonshot, llmmanAvailable LLM providers

    Available LLM providers

  • selected_providerollamaSelected LLM provider

    Selected LLM provider

  • versionv2.15.6Application version

    Application version

  • ZHIPUAI_API_KEYZhipuAI API key

    ZhipuAI API key

More in Code Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…