Type something to search...
Docs GPT

Docs GPT

Docs GPT

14.2k 1.4k
04 May, 2024
  Python

What is DocsGPT ?

DocsGPT is a cutting-edge open-source solution that streamlines the process of finding information in the project documentation. With its integration of the powerful GPT models, developers can easily ask questions about a project and receive accurate answers.

Say goodbye to time-consuming manual searches, and let DocsGPT help you quickly find the information you need. Try it out and see how it revolutionizes your project documentation experience. Contribute to its development and be a part of the future of AI-powered assistance.


Open-Source Models Optimized for DocsGPT:

NameBase ModelRequirements (or similar)
Docsgpt-7b-falconFalcon-7b1xA10G gpu
Docsgpt-14bllama-2-14b2xA10 gpu’s
Docsgpt-40b-falconfalcon-40b8xA10G gpu’s

If you don’t have enough resources to run it, you can use bitsnbytes to quantize.


DocsGPT Features

Main features of DocsGPT showcasing six main features


Project Structure

  • Application - Flask app (main application).

  • Extensions - Chrome extension.

  • Scripts - Script that creates similarity search index for other libraries.

  • Frontend - Frontend uses Vite and React.


QuickStart

Make sure you have Docker installed

On Mac OS or Linux, write:

./setup.sh

It will install all the dependencies and allow you to download the local model or use OpenAI.

Otherwise, refer to this Guide:

  1. Download and open this repository with git clone https://github.com/arc53/DocsGPT.git

  2. Create a .env file in your root directory and set the env variable API_KEY with your OpenAI API key and VITE_API_STREAMING to true or false, depending on whether you want streaming answers or not.

    It should look like this inside:

    Terminal window
    API_KEY=Yourkey
    VITE_API_STREAMING=true

    See optional environment variables in the /.env-template and /application/.env_sample files.

  3. Run ./run-with-docker-compose.sh.

  4. Navigate to http://localhost:5173/.

To stop, just run Ctrl + C .


Development Environments

Spin up Mongo and Redis

For development, only two containers are used from docker-compose.yaml (by deleting all services except for Redis and Mongo).

See file docker-compose-dev.yaml.

Run

Terminal window
docker compose -f docker-compose-dev.yaml build
docker compose -f docker-compose-dev.yaml up -d

Run the Backend

Make sure you have Python 3.10 or 3.11 installed.

  1. Export required environment variables or prepare a .env file in the /application folder:
  • Copy .env_sample and create .env with your OpenAI API token for the API_KEY and EMBEDDINGS_KEY fields.

(check out application/core/settings.py if you want to see more config options.)

  1. (optional) Create a Python virtual environment:

    You can follow the Python official documentation for virtual environments.

a) On Mac OS and Linux

Terminal window
python -m venv venv
. venv/bin/activate

b) On Windows

Terminal window
python -m venv venv
venv/Scripts/activate
  1. Change to the application/ subdir by the command cd application/ and install dependencies for the backend:
Terminal window
pip install -r application/requirements.txt
  1. Run the app using flask --app application/app.py run --host=0.0.0.0 --port=7091.

  2. Start worker with celery -A application.app.celery worker -l INFO.

Start Frontend

Make sure you have Node version 16 or higher.

  1. Navigate to the /frontend folder.

  2. Install the required packages husky and vite (ignore if already installed).

Terminal window
npm install husky -g
npm install vite -g
  1. Install dependencies by running npm install --include=dev.

  2. Run the app using npm run dev.