QA-Pilot  by reid41

Chat project for rapid code understanding and repo navigation

created 1 year ago
296 stars

Top 90.6% on sourcepulse

GitHubView on GitHub
Project Summary

QA-Pilot is an interactive chat application designed for developers to query and understand GitHub code repositories using local or online Large Language Models (LLMs). It aims to provide rapid code comprehension and navigation through a chat interface, supporting a wide array of LLM providers and offering features like chat history management and code visualization.

How It Works

QA-Pilot integrates with various LLM providers (OpenAI, Ollama, MistralAI, Anthropic, etc.) and uses Langchain for orchestration. It supports local embeddings and retrieval using ChromaDB, with an option for FlashRank for reranking search results. The project has recently refactored its frontend from Streamlit to Svelte for improved performance and added support for Go code graphing via a Go-based parser.

Quick Start & Requirements

  • Install: Clone the repository, create a Conda environment (conda create -n QA-Pilot python=3.10.14), activate it, and install dependencies (pip install -r requirements.txt).
  • LLM Setup: Requires configuration for chosen LLM providers (e.g., Ollama, LocalAI, Llama.cpp) via API keys or local model downloads.
  • Frontend: Requires Node.js; navigate to svelte-app, run npm install, and npm run dev.
  • Backend: Run python qa_pilot_run.py.
  • Database: Requires PostgreSQL setup for chat session storage.
  • CodeGraph: Requires Go environment for compiling the parser.
  • Docs: QA-Pilot CodeGraph

Highlighted Details

  • Supports over 50 LLM models from 10+ providers.
  • Frontend refactored from Streamlit to Svelte for performance.
  • Integrates with CodeGraph for Python and Go code visualization.
  • Uses FlashRank for improved search result reranking.
  • Supports local LLM execution via Ollama and LocalAI.

Maintenance & Community

The project has seen frequent updates in June-July 2024, including new LLM integrations and refactoring. No specific community channels (Discord/Slack) or major contributors are highlighted in the README.

Licensing & Compatibility

The README does not explicitly state a license. Given the nature of the project and its dependencies, users should verify licensing for commercial use and ensure compatibility with any proprietary codebases they analyze.

Limitations & Caveats

The project is explicitly stated as a "test project" and "not production ready." Users are warned against using it for critical, production, customer, or sensitive private code analysis due to potential data privacy and security concerns. Manual removal of local ChromaDB data is required.

Health Check
Last commit

5 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
15 stars in the last 90 days

Explore Similar Projects

Starred by Jared Palmer Jared Palmer(Ex-VP of AI at Vercel; Founder of Turborepo; Author of Formik, TSDX), Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), and
1 more.

promptable by cfortuner

0%
2k
TS/JS library for building full-stack AI apps
created 2 years ago
updated 2 years ago
Feedback? Help us improve.