rongzhang / QA-Pilot

QA-Pilot is an interactive chat project that leverages online/local LLM for rapid understanding and navigation of GitHub code repository or compressed file resource(e.g. xz, zip).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

qa-pilot

QA-Pilot is an interactive chat project that leverages online/local LLM for rapid understanding and navigation of GitHub code repository or compressed file resource(e.g. xz, zip).

Features

  • Chat with github public repository with git clone way
  • Chat with compressed file(directories, e.g. xz, zip) with upload way
  • Store the chat history
  • Easy to set the configuration
  • Multiple chat sessions
  • Search the source documents
  • Support the different LLM models
    • ollama
    • openai
    • mistralai

Disclaimer

  • This is a test project to validate the feasibility of a fully local solution for question answering using LLMs and Vector embeddings. It is not production ready, and it is not meant to be used in production.
  • Do not use models for analyzing your critical or production data!!
  • Do not use models for analyzing customer data to ensure data privacy and security!!

Image Alt text

To deploy QA-Pilot, you can follow the below steps:

  1. Clone the QA-Pilot repository:
git clone https://github.com/reid41/QA-Pilot.git
  1. Install conda for virtual environment management. Create and activate a new virtual environment.
conda create -n QA-Pilot python=3.10.14
conda activate QA-Pilot
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Install the pytorch with cuda pytorch

  2. Setup ollama website and ollama github to manage the local LLM model. e.g.

ollama pull <model_name>

ollama list
  1. Setup OpenAI or MistralAI, add the key in .env

  2. Set the related parameters in config/config.ini, e.g. model provider, model, variable, Ollama API url

  3. Run the QA-Pilot:

streamlit run qa_pilot.py

Tips

  • Do not use url and upload at the same time.
  • The remove button cannot really remove the local chromadb, need to remove it manually when stop it.
  • Switch to New Source Button to add a new project
  • To return source documents and start with rsd: input

About

QA-Pilot is an interactive chat project that leverages online/local LLM for rapid understanding and navigation of GitHub code repository or compressed file resource(e.g. xz, zip).

License:Apache License 2.0


Languages

Language:Python 98.0%Language:CSS 2.0%