You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Alex 95fdedf12e
Merge pull request #361 from Ayush-Prabhu/patch-1
Grammatical corrections
8 months ago
.github/workflows small optimization 9 months ago
application celery syncs 8 months ago
docs Grammatical corrections 8 months ago
extensions updates modal 8 months ago
frontend script + cpu optimisations 8 months ago
scripts Fix spelling 8 months ago
tests ruff fix 8 months ago
.env-template updated deployment and create react widget guide 8 months ago
.gitignore script 8 months ago
.ruff.toml Linting 1 year ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 1 year ago
CONTRIBUTING.md Update CONTRIBUTING.md - information about running unit tests 9 months ago
HACKTOBERFEST.md Hacktoberfest info 8 months ago
LICENSE Initial commit 1 year ago
README.md Update README.md 8 months ago
Readme Logo.png Add files via upload 1 year ago
codecov.yml Create codecov.yml 9 months ago
docker-compose-azure.yaml fix packaging and imports and introduce tests with pytest. 9 months ago
docker-compose-dev.yaml Added dev docker compose file 1 year ago
docker-compose-local.yaml script + cpu optimisations 8 months ago
docker-compose.yaml Support for hf models optimised for docsgpt 9 months ago
run-with-docker-compose.sh Revert "Changed environment variable names OPENAI_API_BASE and OPENAI_API_VERSION to AZURE_OPENAI_API_BASE and AZURE_OPENAI_API_VERSION" 10 months ago
setup.sh celery syncs 8 months ago

README.md

DocsGPT 🦖

Open-Source Documentation Assistant

DocsGPT is a cutting-edge open-source solution that streamlines the process of finding information in 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.

example1 example2 example3 example3

Enterprise Solutions:

When deploying your DocsGPT to a live environment, we're eager to provide personalized assistance. Reach out to us via email here to discuss your project further, and our team will connect with you shortly.

🎉 Join the Hacktoberfest with DocsGPT and Earn a Free T-shirt! 🎉

video-example-of-docs-gpt

Roadmap

You can find our Roadmap here. Please don't hesitate to contribute or create issues, it helps us make DocsGPT better!

Our open source models optimised for DocsGPT:

Name Base Model Requirements (or similar)
Docsgpt-7b-falcon Falcon-7b 1xA10G gpu
Docsgpt-14b llama-2-14b 2xA10 gpu's
Docsgpt-40b-falcon falcon-40b 8xA10G gpu's

If you don't have enough resources to run it you can use bitsnbytes to quantize

Features

Group 9

Live preview

Join Our Discord

Guides

Interested in contributing?

How to use any other documentation

How to host it locally (so all data will stay on-premises)

Project structure

  • Application - Flask app (main application)

  • Extensions - Chrome extension

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

  • Frontend - Frontend uses Vite and React

QuickStart

Note: Make sure you have Docker installed

On Mac OS or Linux just write:

./setup.sh

It will install all the dependencies and give you an option to download 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 OPENAI_API_KEY with your OpenAI API key and VITE_API_STREAMING to true or false, depending on if you want streaming answers or not It should look like this inside:

    OPENAI_API_KEY=Yourkey
    VITE_API_STREAMING=true
    SELF_HOSTED_MODEL=false
    

    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 2 containers are used from docker-compose.yaml (by deleting all services except for Redis and Mongo). See file docker-compose-dev.yaml.

Run

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
export CELERY_BROKER_URL=redis://localhost:6379/0   
export CELERY_RESULT_BACKEND=redis://localhost:6379/1
export MONGO_URI=mongodb://localhost:27017/docsgpt
export FLASK_APP=application/app.py
export FLASK_DEBUG=true
  1. Prepare .env file Copy .env_sample and create .env with your OpenAI API token
  2. (optional) Create a Python virtual environment
python -m venv venv
. venv/bin/activate
  1. Change to application/ subdir and install dependencies for the backend
pip install -r application/requirements.txt
  1. Run the app flask 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 /frontend folder
  2. Install dependencies npm install
  3. Run the app npm run dev

Built with 🦜🔗 LangChain