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 65547bad87
Merge pull request #1288 from AkashJana18/tab-redesign
🚀 Feature: Tabs in settings redesign
10 hours ago
.github feat(CI): Build docker images 2 days ago
.vscode feat(Docker): Configure debugging with vscode and chrome 2 weeks ago
Assets Update DocsGPT tee-back.jpeg 12 months ago
application fix: file check 3 days ago
docs Merge pull request #1249 from shatanikmahanty/patch-1 2 days ago
extensions chore(deps): bump micromatch in /extensions/react-widget 3 weeks ago
frontend Merge pull request #1288 from AkashJana18/tab-redesign 10 hours ago
k8s chore: Remove unused VECTOR_STORE variable in docsgpt-secrets.yaml 5 months ago
mock-backend fix(deps): downgrade json-server to v0.17.4 3 weeks ago
scripts Update migrate_to_v1_vectorstore.py 1 week ago
tests fix(test): better test + cov 3 weeks ago
.env-template Update LLM_NAME and EMBEDDINGS_NAME 9 months ago
.gitignore exclude the models only in root 3 months ago
.ruff.toml Linting 1 year ago
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 12 months ago
CONTRIBUTING.md Update CONTRIBUTING.md 2 days ago
HACKTOBERFEST.md Update HACKTOBERFEST.md 2 days ago
LICENSE Initial commit 2 years ago
README.md Update README.md 1 week ago
Readme Logo.png Add files via upload 2 years ago
SECURITY.md Create SECURITY.md 6 months ago
codecov.yml Fixed wrong closing parenthesis in codecov.yml 12 months ago
docker-compose-azure.yaml feat Milvus integration 1 month ago
docker-compose-dev.yaml feat Milvus integration 1 month ago
docker-compose-local.yaml fix(Docker): Integrate a bind mount in the local docker compose file 3 weeks ago
docker-compose-mock.yaml feat Milvus integration 1 month ago
docker-compose.yaml feat(Docker): Configure debugging with vscode and chrome 2 weeks ago
lexeu-competition.md Update lexeu-competition.md 2 days ago
package-lock.json chore(deps-dev): bump braces from 3.0.2 to 3.0.3 4 months ago
package.json prompts and docs 11 months ago
run-with-docker-compose.sh fix: updated docker execution script from `docker-compose` to `docker compose` so it works on latest versions of docker used across contributors machine 2 weeks ago
setup.sh choice text 9 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 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.

link to main GitHub showing Stars number link to main GitHub showing Forks number link to license file link to discord X (formerly Twitter) URL

🎃 Hacktoberfest Prizes, Rules & Q&A 🎃

Production Support / Help for Companies:

We're eager to provide personalized assistance when deploying your DocsGPT to a live environment.

Let's chat

Send Email 📧

video-example-of-docs-gpt

Roadmap

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

Our Open-Source Models Optimized for DocsGPT:

Name Base Model Requirements (or similar)
Docsgpt-7b-mistral Mistral-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.

End to End AI Framework for Information Retrieval

Architecture chart

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

[!Note] 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, use OpenAI or use our LLM API.

Otherwise, refer to this Guide for Windows:

  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 variables and VITE_API_STREAMING to true or false, depending on whether you want streaming answers or not. It should look like this inside:

    LLM_NAME=[docsgpt or openai or others] 
    VITE_API_STREAMING=true
    API_KEY=[if LLM_NAME is openai]
    

    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

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

Run the Backend

[!Note] Make sure you have Python 3.10 or 3.11 installed.

  1. Export required environment variables or prepare a .env file in the project folder:

(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

python -m venv venv
. venv/bin/activate

b) On Windows

python -m venv venv
 venv/Scripts/activate
  1. Download embedding model and save it in the model/ folder: You can use the script below, or download it manually from here, unzip it and save it in the model/ folder.
wget https://d3dg1063dc54p9.cloudfront.net/models/embeddings/mpnet-base-v2.zip
unzip mpnet-base-v2.zip -d model
rm mpnet-base-v2.zip
  1. Install dependencies for the backend:
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

[!Note] 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).
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.

Contributing

Please refer to the CONTRIBUTING.md file for information about how to get involved. We welcome issues, questions, and pull requests.

Code Of Conduct

We as members, contributors, and leaders, pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. Please refer to the CODE_OF_CONDUCT.md file for more information about contributing.

Many Thanks To Our Contributors

Contributors

License

The source code license is MIT, as described in the LICENSE file.

Built with 🐦 🔗 LangChain