mirror of
https://github.com/arc53/DocsGPT
synced 2024-11-17 21:26:26 +00:00
Merge pull request #447 from byt3h3ad/byt3h3ad-patch-1
improved CONTRIBUTING.MD, README.MD, HACKTOBERFEST.MD
This commit is contained in:
commit
5ed25d8bcb
@ -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!🙏
|
||||||
|
@ -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! 🚀
|
||||||
|
62
README.md
62
README.md
@ -19,13 +19,11 @@ Say goodbye to time-consuming manual searches, and let <strong>DocsGPT</strong>
|
|||||||
<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)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user