Merge pull request #447 from byt3h3ad/byt3h3ad-patch-1

improved CONTRIBUTING.MD, README.MD, HACKTOBERFEST.MD
This commit is contained in:
Alex 2023-10-06 12:03:27 +01:00 committed by GitHub
commit 5ed25d8bcb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 64 additions and 62 deletions

View File

@ -1,6 +1,6 @@
# Welcome to DocsGPT Contributing guideline # Welcome to DocsGPT Contributing Guidelines
Thank you for choosing this project to contribute to, we are all very grateful! Thank you for choosing this project to contribute to. We are all very grateful!
### [🎉 Join the Hacktoberfest with DocsGPT and Earn a Free T-shirt! 🎉](https://github.com/arc53/DocsGPT/blob/main/HACKTOBERFEST.md) ### [🎉 Join the Hacktoberfest with DocsGPT and Earn a Free T-shirt! 🎉](https://github.com/arc53/DocsGPT/blob/main/HACKTOBERFEST.md)
@ -17,30 +17,36 @@ Thank you for choosing this project to contribute to, we are all very grateful!
## 🐞 Issues and Pull requests ## 🐞 Issues and Pull requests
We value contributions to our issues in the form of discussion or suggestion, we recommend that you check out existing issues and our [Roadmap](https://github.com/orgs/arc53/projects/2) We value contributions to our issues in the form of discussion or suggestions. We recommend that you check out existing issues and our [roadmap](https://github.com/orgs/arc53/projects/2).
If you want to contribute by writing code there are a few things that you should know before doing it: If you want to contribute by writing code, there are a few things that you should know before doing it:
We have frontend (React, Vite) and Backend (python)
We have a frontend in React (Vite) and backend in Python.
### If you are looking to contribute to frontend (⚛React, Vite):
- The current frontend is being migrated from `/application` to `/frontend` with a new design, so please contribute to the new one.
- Check out this [milestone](https://github.com/arc53/DocsGPT/milestone/1) and its issues.
- The Figma design can be found [here](https://www.figma.com/file/OXLtrl1EAy885to6S69554/DocsGPT?node-id=0%3A1&t=hjWVuxRg9yi5YkJ9-1).
### If you are looking to contribute to Frontend (⚛React, Vite):
The current frontend is being migrated from /application to /frontend with a new design, so please contribute to the new one. Check out this [Milestone](https://github.com/arc53/DocsGPT/milestone/1) and its issues also [Figma](https://www.figma.com/file/OXLtrl1EAy885to6S69554/DocsGPT?node-id=0%3A1&t=hjWVuxRg9yi5YkJ9-1)
Please try to follow the guidelines. Please try to follow the guidelines.
### If you are looking to contribute to Backend (🐍Python): ### If you are looking to contribute to Backend (🐍 Python):
* Check out our issues, and contribute to /application or /scripts (ignore old ingest_rst.py ingest_rst_sphinx.py files, they will be deprecated soon) - Check out our issues and contribute to `/application` or `/scripts` (ignore old `ingest_rst.py` `ingest_rst_sphinx.py` files; they will be deprecated soon).
* All new code should be covered with unit tests ([pytest](https://github.com/pytest-dev/pytest)). Please find tests under [/tests](https://github.com/arc53/DocsGPT/tree/main/tests) folder. - All new code should be covered with unit tests ([pytest](https://github.com/pytest-dev/pytest)). Please find tests under [`/tests`](https://github.com/arc53/DocsGPT/tree/main/tests) folder.
* Before submitting your PR make sure that after you ingested some test data it is queryable. - Before submitting your PR, ensure it is queryable after ingesting some test data.
### Testing ### Testing
To run unit tests, from the root of the repository execute:
To run unit tests from the root of the repository, execute:
``` ```
python -m pytest python -m pytest
``` ```
### Workflow: ### Workflow:
Create a fork, make changes on your forked repository, and submit changes in the form of a pull request. Create a fork, make changes on your forked repository, and submit changes as a pull request.
## Questions/collaboration ## Questions/collaboration
Please join our [Discord](https://discord.gg/n5BX8dh8rU) don't hesitate, we are very friendly and welcoming to new contributors. Please join our [Discord](https://discord.gg/n5BX8dh8rU). Don't hesitate; we are very friendly and welcoming to new contributors.
# Thank you so much for considering contributing to DocsGPT!🙏 # Thank you so much for considering contributing to DocsGPT!🙏

View File

@ -2,13 +2,13 @@
Welcome, contributors! We're excited to announce that DocsGPT is participating in Hacktoberfest. Get involved by submitting a **meaningful** pull request, and earn a free shirt in return! Welcome, contributors! We're excited to announce that DocsGPT is participating in Hacktoberfest. Get involved by submitting a **meaningful** pull request, and earn a free shirt in return!
All contributors with accepted PR's will receive a cool holopin! 🤩 (Watchout for a reply in your PR to collect it) All contributors with accepted PRs will receive a cool Holopin! 🤩 (Watch out for a reply in your PR to collect it).
📜 Here's How to Contribute: 📜 Here's How to Contribute:
🛠️ Code: This is the golden ticket! Make meaningful contributions through PRs. 🛠️ Code: This is the golden ticket! Make meaningful contributions through PRs.
📚 Wiki: Improve our documentation, Create a guide or change existing documentation. 📚 Wiki: Improve our documentation, Create a guide or change existing documentation.
🖥️ Design: Improve the UI/UX, or design a new feature. 🖥️ Design: Improve the UI/UX or design a new feature.
📝 Guidelines for Pull Requests: 📝 Guidelines for Pull Requests:
@ -16,20 +16,20 @@ Familiarize yourself with the current contributions and our [Roadmap](https://gi
Deciding to contribute with code? Here are some insights based on the area of your interest: Deciding to contribute with code? Here are some insights based on the area of your interest:
Frontend (⚛React, Vite): - Frontend (⚛React, Vite):
Most of the code is located in /frontend folder. You can also check out our React extension in /extensions/react-widget. - Most of the code is located in `/frontend` folder. You can also check out our React extension in /extensions/react-widget.
For design references, here's the [Figma](https://www.figma.com/file/OXLtrl1EAy885to6S69554/DocsGPT?node-id=0%3A1&t=hjWVuxRg9yi5YkJ9-1). - For design references, here's the [Figma](https://www.figma.com/file/OXLtrl1EAy885to6S69554/DocsGPT?node-id=0%3A1&t=hjWVuxRg9yi5YkJ9-1).
Ensure you adhere to the established guidelines. - Ensure you adhere to the established guidelines.
Backend (🐍Python): - Backend (🐍Python):
Focus on /application or /scripts. However, avoid the files ingest_rst.py and ingest_rst_sphinx.py as they are soon to be deprecated. - Focus on `/application` or `/scripts`. However, avoid the files ingest_rst.py and ingest_rst_sphinx.py, as they will soon be deprecated.
Newly added code should come with relevant unit tests (pytest). - Newly added code should come with relevant unit tests (pytest).
Refer to the /tests folder for test suites. - Refer to the `/tests` folder for test suites.
Check out [Contributing Guidelines](https://github.com/arc53/DocsGPT/blob/main/CONTRIBUTING.md) Check out our [Contributing Guidelines](https://github.com/arc53/DocsGPT/blob/main/CONTRIBUTING.md)
Once you have Created your PR and it was merged, please fill in this [form](https://airtable.com/appfkqFVjB0RpYCJh/shrXXM98xgRsbjO7s) Once you have created your PR and our maintainers have merged it, please fill in this [form](https://airtable.com/appfkqFVjB0RpYCJh/shrXXM98xgRsbjO7s).
Don't be shy! Hop into our [Discord](https://discord.gg/n5BX8dh8rU) Server. We're a friendly bunch and eager to assist newcomers. Feel free to join our Discord server. We're here to help newcomers, so don't hesitate to jump in! [Join us here](https://discord.gg/n5BX8dh8rU).
Big thanks for considering contributing to DocsGPT during Hacktoberfest! 🙏 Your effort can earn you a swanky new t-shirt. 🎁 Let's code together! 🚀 Thank you very much for considering contributing to DocsGPT during Hacktoberfest! 🙏 Your contributions could earn you a stylish new t-shirt as a token of our appreciation. 🎁 Join us, and let's code together! 🚀

View File

@ -18,14 +18,12 @@ Say goodbye to time-consuming manual searches, and let <strong>DocsGPT</strong>
<a href="https://github.com/arc53/DocsGPT">![example2](https://img.shields.io/github/forks/arc53/docsgpt?style=social)</a> <a href="https://github.com/arc53/DocsGPT">![example2](https://img.shields.io/github/forks/arc53/docsgpt?style=social)</a>
<a href="https://github.com/arc53/DocsGPT/blob/main/LICENSE">![example3](https://img.shields.io/github/license/arc53/docsgpt)</a> <a href="https://github.com/arc53/DocsGPT/blob/main/LICENSE">![example3](https://img.shields.io/github/license/arc53/docsgpt)</a>
<a href="https://discord.gg/n5BX8dh8rU">![example3](https://img.shields.io/discord/1070046503302877216)</a> <a href="https://discord.gg/n5BX8dh8rU">![example3](https://img.shields.io/discord/1070046503302877216)</a>
</div> </div>
### Production Support/ Help for companies: ### Production Support/ Help for companies:
When deploying your DocsGPT to a live environment, we're eager to provide personalized assistance. We're eager to provide personalized assistance when deploying your DocsGPT to a live environment.
- [Schedule Demo 👋](https://cal.com/arc53/docsgpt-demo-b2b?date=2023-10-04&month=2023-10) - [Schedule Demo 👋](https://cal.com/arc53/docsgpt-demo-b2b?date=2023-10-04&month=2023-10)
- [Send Email ✉️](mailto:contact@arc53.com?subject=DocsGPT%20support%2Fsolutions) - [Send Email ✉️](mailto:contact@arc53.com?subject=DocsGPT%20support%2Fsolutions)
@ -36,7 +34,7 @@ When deploying your DocsGPT to a live environment, we're eager to provide person
## Roadmap ## Roadmap
You can find our [Roadmap](https://github.com/orgs/arc53/projects/2) here. Please don't hesitate to contribute or create issues, it helps us make DocsGPT better! You can find our roadmap [here](https://github.com/orgs/arc53/projects/2). Please don't hesitate to contribute or create issues, it helps us improve DocsGPT!
## Our Open-Source models optimized for DocsGPT: ## Our Open-Source models optimized for DocsGPT:
@ -47,7 +45,7 @@ You can find our [Roadmap](https://github.com/orgs/arc53/projects/2) here. Pleas
| [Docsgpt-40b-falcon](https://huggingface.co/Arc53/docsgpt-40b-falcon) | falcon-40b | 8xA10G gpu's | | [Docsgpt-40b-falcon](https://huggingface.co/Arc53/docsgpt-40b-falcon) | falcon-40b | 8xA10G gpu's |
If you don't have enough resources to run it you can use [bitsandbytes](https://github.com/TimDettmers/bitsandbytes) to quantize. If you don't have enough resources to run it, you can use bitsnbytes to quantize.
## Features ## Features
@ -58,7 +56,7 @@ If you don't have enough resources to run it you can use [bitsandbytes](https://
## Useful links ## Useful links
[Live preview](https://docsgpt.arc53.com/) [Live preview](https://docsgpt.arc53.com/)
[Join Our Discord](https://discord.gg/n5BX8dh8rU) [Join our Discord](https://discord.gg/n5BX8dh8rU)
[Guides](https://docs.docsgpt.co.uk/) [Guides](https://docs.docsgpt.co.uk/)
@ -70,28 +68,28 @@ If you don't have enough resources to run it you can use [bitsandbytes](https://
## Project structure ## Project structure
- Application - Flask app (main application) - Application - Flask app (main application).
- Extensions - Chrome extension - Extensions - Chrome extension.
- Scripts - Script that creates similarity search index and store for other libraries. - Scripts - Script that creates similarity search index and stores for other libraries.
- Frontend - Frontend uses Vite and React - Frontend - Frontend uses Vite and React.
## QuickStart ## QuickStart
Note: Make sure you have Docker installed Note: Make sure you have Docker installed
On Mac OS or Linux just write: On Mac OS or Linux, write:
`./setup.sh` `./setup.sh`
It will install all the dependencies and give you an option to download local model or use OpenAI It will install all the dependencies and allow you to download the local model or use OpenAI.
Otherwise refer to this Guide: Otherwise, refer to this Guide:
1. Download and open this repository with `git clone https://github.com/arc53/DocsGPT.git` 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 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: It should look like this inside:
``` ```
@ -99,15 +97,15 @@ Otherwise refer to this Guide:
VITE_API_STREAMING=true VITE_API_STREAMING=true
``` ```
See optional environment variables in the `/.env-template` and `/application/.env_sample` files. See optional environment variables in the `/.env-template` and `/application/.env_sample` files.
3. Run `./run-with-docker-compose.sh` 3. Run `./run-with-docker-compose.sh`.
4. Navigate to http://localhost:5173/ 4. Navigate to http://localhost:5173/.
To stop just run Ctrl + C To stop, just run `Ctrl + C`.
## Development environments ## Development environments
### Spin up mongo and redis ### 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). 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](./docker-compose-dev.yaml). See file [docker-compose-dev.yaml](./docker-compose-dev.yaml).
Run Run
@ -120,33 +118,32 @@ docker compose -f docker-compose-dev.yaml up -d
Make sure you have Python 3.10 or 3.11 installed. Make sure you have Python 3.10 or 3.11 installed.
1. Export required environment variables or prep .env file in application folder 1. Export required environment variables or prepare a `.env` file in the `/application` folder:
Prepare .env file - Copy `.env_sample` and create `.env` with your OpenAI API token for the `API_KEY` and `EMBEDDINGS_KEY` fields.
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) (check out [`application/core/settings.py`](application/core/settings.py) if you want to see more config options.)
3. (optional) Create a Python virtual environment
2. (optional) Create a Python virtual environment:
```commandline ```commandline
python -m venv venv python -m venv venv
. venv/bin/activate . venv/bin/activate
``` ```
4. Change to `application/` subdir and install dependencies for the backend 3. Change to the `application/` subdir and install dependencies for the backend:
```commandline ```commandline
pip install -r application/requirements.txt pip install -r application/requirements.txt
``` ```
5. Run the app `flask run --host=0.0.0.0 --port=7091` 4. Run the app using `flask run --host=0.0.0.0 --port=7091`.
6. Start worker with `celery -A application.app.celery worker -l INFO` 5. Start worker with `celery -A application.app.celery worker -l INFO`.
### Start frontend ### Start frontend
Make sure you have Node version 16 or higher. Make sure you have Node version 16 or higher.
1. Navigate to `/frontend` folder 1. Navigate to the `/frontend` folder.
2. Install dependencies 2. Install dependencies by running `npm install`.
`npm install` 3. Run the app using `npm run dev`.
3. Run the app
`npm run dev`
## All Thanks To Our Contributors ## Many Thanks To Our Contributors
<a href="[https://github.com/arc53/DocsGPT/graphs/contributors](https://docsgpt.arc53.com/)"> <a href="[https://github.com/arc53/DocsGPT/graphs/contributors](https://docsgpt.arc53.com/)">
<img src="https://contrib.rocks/image?repo=arc53/DocsGPT" /> <img src="https://contrib.rocks/image?repo=arc53/DocsGPT" />
@ -154,4 +151,3 @@ Make sure you have Node version 16 or higher.
Built with [🦜️🔗 LangChain](https://github.com/hwchase17/langchain) Built with [🦜️🔗 LangChain](https://github.com/hwchase17/langchain)