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
Anton Larin 968849e52b code readability, formatting, minor version bump 1 year ago
.github/workflows fix workflow: upgrade "build and push" action version to the latest 1 year ago
application code readability, formatting, minor version bump 1 year ago
extensions Linting 1 year ago
frontend fix for sending sources + azure embeddings issue 1 year ago
scripts Update requirements.txt 1 year ago
.env-template fix for sending sources + azure embeddings issue 1 year ago
.gitignore feat(extension): migrate chrome extension v2 to v3 1 year ago
.ruff.toml Linting 1 year ago
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 1 year ago
CONTRIBUTING.md Create CONTRIBUTING.md 1 year ago
LICENSE Initial commit 1 year ago
README.md Update README.md 1 year ago
Readme Logo.png Add files via upload 1 year ago
docker-compose-dev.yaml Added dev docker compose file 1 year ago
docker-compose.yaml minor fix 1 year ago
setup.sh Update setup.sh 1 year 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

video-example-of-docs-gpt

Our Livestream coming up on 17th of June at 6pm UK time

DocsGPT Live: Gen AI in business and Fine tuning models

Features

Group 9

Roadmap

You can find our Roadmap here, please don't hesitate contributing or creating issues, it helps us make DocsGPT better!

DocsGPT-7B Our finetuned model to help you keep your data private, fine-tuned on top on MPT-7b

Live preview

Join Our Discord

Project structure

  • Application - flask app (main application)

  • Extensions - chrome extension

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

  • frontend - frontend in vite and

QuickStart

Note: Make sure you have docker installed

  1. Open dowload this repository with git clone https://github.com/arc53/DocsGPT.git

  2. Create .env file in your root directory and set your OPENAI_API_KEY with your openai api key and VITE_API_STREAMING to true or false if you dont want streaming answers Should look like this inside

    OPENAI_API_KEY=Yourkey
    VITE_API_STREAMING=true
    
  3. Run docker-compose build && docker-compose up

  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
  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
cd application/ 
pip install -r requirements.txt
  1. Run the app python wsgi.py
  2. Start worker with celery -A app.celery worker -l INFO

Start frontend

Make sure you have Node version 16+

  1. Navigate to /frontend folder
  2. Install dependencies npm install
  3. Run the app npm run dev

How to install the Chrome extension

Guides

Interested in contributing?

How to use any other documentation

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

Built with 🦜🔗 LangChain