2023-02-05 19:52:42 +00:00
< h1 align = "center" >
DocsGPT 🦖
< / h1 >
2023-02-05 19:07:42 +00:00
< p align = "center" >
2023-02-05 20:31:27 +00:00
< strong > Open-Source Documentation Assistant< / strong >
2023-02-05 19:07:42 +00:00
< / p >
2023-02-05 19:09:02 +00:00
< p align = "left" >
2023-10-08 11:22:56 +00:00
< strong > < a href = "https://docsgpt.arc53.com/" > DocsGPT< / a > < / strong > is a cutting-edge open-source solution that streamlines the process of finding information in project documentation. With its integration of the powerful < strong > GPT< / strong > models, developers can easily ask questions about a project and receive accurate answers.
2023-02-05 19:09:02 +00:00
2023-10-08 11:22:56 +00:00
Say goodbye to time-consuming manual searches, and let < strong > < a href = "https://docsgpt.arc53.com/" > DocsGPT< / a > < / strong > 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.
2023-02-05 19:09:02 +00:00
< / p >
2023-02-05 19:07:42 +00:00
2023-06-18 07:57:10 +00:00
< div align = "center" >
2023-02-21 16:59:36 +00:00
2023-10-03 08:05:14 +00:00
< a href = "https://github.com/arc53/DocsGPT" > ![example1](https://img.shields.io/github/stars/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 >
2023-02-06 12:54:00 +00:00
< a href = "https://discord.gg/n5BX8dh8rU" > ![example3](https://img.shields.io/discord/1070046503302877216)< / a >
2023-10-05 20:35:11 +00:00
2023-02-05 20:24:06 +00:00
< / div >
2023-02-05 19:27:48 +00:00
2023-10-06 14:29:17 +00:00
### Production Support / Help for companies:
2023-09-14 21:22:28 +00:00
2023-10-05 20:35:11 +00:00
We're eager to provide personalized assistance when deploying your DocsGPT to a live environment.
2023-10-07 08:51:41 +00:00
- [Get Support 👋 ](https://airtable.com/appdeaL0F1qV8Bl2C/shrrJF1Ll7btCJRbP )
2023-10-04 11:33:58 +00:00
- [Send Email ✉️ ](mailto:contact@arc53.com?subject=DocsGPT%20support%2Fsolutions )
2023-09-26 14:14:26 +00:00
### [🎉 Join the Hacktoberfest with DocsGPT and Earn a Free T-shirt! 🎉](https://github.com/arc53/DocsGPT/blob/main/HACKTOBERFEST.md)
2023-03-24 09:32:40 +00:00
![video-example-of-docs-gpt ](https://d3dg1063dc54p9.cloudfront.net/videos/demov3.gif )
2023-09-14 21:22:28 +00:00
2023-08-15 13:27:32 +00:00
## Roadmap
2023-03-24 09:32:40 +00:00
2023-10-05 20:35:11 +00:00
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!
2023-03-24 09:32:40 +00:00
2023-10-05 20:35:11 +00:00
## Our Open-Source models optimized for DocsGPT:
2023-02-21 18:20:47 +00:00
2023-08-15 13:27:32 +00:00
| Name | Base Model | Requirements (or similar) |
|-------------------|------------|----------------------------------------------------------|
| [Docsgpt-7b-falcon ](https://huggingface.co/Arc53/docsgpt-7b-falcon ) | Falcon-7b | 1xA10G gpu |
2023-08-15 13:28:59 +00:00
| [Docsgpt-14b ](https://huggingface.co/Arc53/docsgpt-14b ) | llama-2-14b | 2xA10 gpu's |
2023-08-15 13:54:19 +00:00
| [Docsgpt-40b-falcon ](https://huggingface.co/Arc53/docsgpt-40b-falcon ) | falcon-40b | 8xA10G gpu's |
2023-02-21 16:23:14 +00:00
2023-10-05 20:35:11 +00:00
If you don't have enough resources to run it, you can use bitsnbytes to quantize.
2023-02-05 20:46:33 +00:00
2023-08-15 13:27:32 +00:00
## Features
![Group 9 ](https://user-images.githubusercontent.com/17906039/220427472-2644cff4-7666-46a5-819f-fc4a521f63c7.png )
## Useful links
[Live preview ](https://docsgpt.arc53.com/ )
2023-10-05 20:35:11 +00:00
[Join our Discord ](https://discord.gg/n5BX8dh8rU )
2023-08-15 13:27:32 +00:00
2023-09-07 11:43:59 +00:00
[Guides ](https://docs.docsgpt.co.uk/ )
2023-02-03 21:48:28 +00:00
2023-08-15 13:27:32 +00:00
[Interested in contributing? ](https://github.com/arc53/DocsGPT/blob/main/CONTRIBUTING.md )
2023-02-03 21:52:46 +00:00
2023-09-07 11:43:59 +00:00
[How to use any other documentation ](https://docs.docsgpt.co.uk/Guides/How-to-train-on-other-documentation )
2023-08-15 13:27:32 +00:00
2023-09-07 11:43:59 +00:00
[How to host it locally (so all data will stay on-premises) ](https://docs.docsgpt.co.uk/Guides/How-to-use-different-LLM )
2023-02-06 13:10:17 +00:00
2023-02-03 21:48:28 +00:00
2023-02-03 12:07:33 +00:00
## Project structure
2023-10-05 20:35:11 +00:00
- Application - Flask app (main application).
2023-02-03 14:49:28 +00:00
2023-10-05 20:35:11 +00:00
- Extensions - Chrome extension.
2023-02-03 14:49:28 +00:00
2023-10-05 20:35:11 +00:00
- Scripts - Script that creates similarity search index and stores for other libraries.
2023-02-03 12:07:33 +00:00
2023-10-05 20:35:11 +00:00
- Frontend - Frontend uses Vite and React.
2023-03-23 15:51:12 +00:00
2023-02-03 14:52:22 +00:00
## QuickStart
2023-03-23 15:51:12 +00:00
2023-09-07 19:16:03 +00:00
Note: Make sure you have Docker installed
2023-03-23 15:51:12 +00:00
2023-10-05 20:35:11 +00:00
On Mac OS or Linux, write:
2023-10-01 19:09:15 +00:00
`./setup.sh`
2023-10-05 20:35:11 +00:00
It will install all the dependencies and allow you to download the local model or use OpenAI.
2023-10-01 19:09:15 +00:00
2023-10-05 20:35:11 +00:00
Otherwise, refer to this Guide:
2023-10-01 19:09:15 +00:00
2023-09-07 19:16:03 +00:00
1. Download and open this repository with `git clone https://github.com/arc53/DocsGPT.git`
2023-10-07 09:07:54 +00:00
2. Create a `.env` file in your root directory and set the env variable `OPENAI_API_KEY` with your [OpenAI API key ](https://platform.openai.com/account/api-keys ) and `VITE_API_STREAMING` to true or false, depending on if you want streaming answers or not.
2023-06-29 04:17:59 +00:00
It should look like this inside:
2023-06-13 14:43:42 +00:00
```
2023-10-01 20:44:54 +00:00
API_KEY=Yourkey
2023-06-13 14:43:42 +00:00
VITE_API_STREAMING=true
```
2023-10-07 09:07:54 +00:00
See optional environment variables in the [/.env-template ](https://github.com/arc53/DocsGPT/blob/main/.env-template ) and [/application/.env_sample ](https://github.com/arc53/DocsGPT/blob/main/application/.env_sample ) files.
3. Run [./run-with-docker-compose.sh ](https://github.com/arc53/DocsGPT/blob/main/run-with-docker-compose.sh ).
2023-10-05 20:35:11 +00:00
4. Navigate to http://localhost:5173/.
2023-03-23 15:51:12 +00:00
2023-10-05 20:35:11 +00:00
To stop, just run `Ctrl + C` .
2023-03-23 15:51:12 +00:00
## Development environments
2023-06-15 15:02:52 +00:00
### Spin up mongo and redis
2023-10-07 09:07:54 +00:00
For development, only two containers are used from [docker-compose.yaml ](https://github.com/arc53/DocsGPT/blob/main/docker-compose.yaml ) (by deleting all services except for Redis and Mongo).
2023-06-15 15:02:52 +00:00
See file [docker-compose-dev.yaml ](./docker-compose-dev.yaml ).
Run
```
2023-10-07 09:43:15 +00:00
docker compose -f docker-compose-dev.yaml build
2023-06-15 15:02:52 +00:00
docker compose -f docker-compose-dev.yaml up -d
```
### Run the backend
Make sure you have Python 3.10 or 3.11 installed.
2023-10-05 20:35:11 +00:00
1. Export required environment variables or prepare a `.env` file in the `/application` folder:
2023-10-07 09:07:54 +00:00
- Copy [.env_sample ](https://github.com/arc53/DocsGPT/blob/main/application/.env_sample ) and create `.env` with your OpenAI API token for the `API_KEY` and `EMBEDDINGS_KEY` fields.
2023-10-04 13:01:23 +00:00
2023-10-05 20:35:11 +00:00
(check out [`application/core/settings.py` ](application/core/settings.py ) if you want to see more config options.)
2. (optional) Create a Python virtual environment:
2023-10-07 14:30:17 +00:00
You can follow the [Python official documentation ](https://docs.python.org/3/tutorial/venv.html ) for virtual environments .
2023-10-07 11:16:02 +00:00
2023-10-07 14:39:48 +00:00
a) On Mac OS and Linux
2023-10-07 09:44:04 +00:00
```commandline
2023-06-15 15:02:52 +00:00
python -m venv venv
. venv/bin/activate
```
2023-10-07 14:39:48 +00:00
b) On Windows
```commandline
python -m venv venv
venv/Scripts/activate
```
2023-10-05 20:35:11 +00:00
3. Change to the `application/` subdir and install dependencies for the backend:
2023-10-07 09:41:53 +00:00
```commandline
2023-09-28 15:07:50 +00:00
pip install -r application/requirements.txt
2023-06-15 15:02:52 +00:00
```
2023-10-05 20:35:11 +00:00
4. Run the app using `flask run --host=0.0.0.0 --port=7091` .
5. Start worker with `celery -A application.app.celery worker -l INFO` .
2023-06-15 15:02:52 +00:00
### Start frontend
2023-10-05 20:35:11 +00:00
2023-06-29 04:17:59 +00:00
Make sure you have Node version 16 or higher.
2023-02-05 03:39:29 +00:00
2023-10-07 09:07:54 +00:00
1. Navigate to the [/frontend ](https://github.com/arc53/DocsGPT/tree/main/frontend ) folder.
2023-10-05 20:35:11 +00:00
2. Install dependencies by running `npm install` .
3. Run the app using `npm run dev` .
2023-03-04 11:28:36 +00:00
2023-10-06 12:31:50 +00:00
## Contributing
Please refer to the [CONTRIBUTING.md ](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 ](CODE_OF_CONDUCT.md ) file for more information about contributing.
2023-10-05 20:35:11 +00:00
## Many Thanks To Our Contributors
2023-10-04 12:46:53 +00:00
< a href = "[https://github.com/arc53/DocsGPT/graphs/contributors](https://docsgpt.arc53.com/)" >
< img src = "https://contrib.rocks/image?repo=arc53/DocsGPT" / >
< / a >
2023-02-05 11:37:21 +00:00
2023-10-06 12:31:50 +00:00
## License
2023-10-08 11:32:44 +00:00
The source code license is [MIT ](https://opensource.org/license/mit/ ), as described in the [LICENSE ](LICENSE ) file.
2023-02-15 18:42:56 +00:00
2023-10-07 09:41:53 +00:00
Built with [🦜️🔗 LangChain ](https://github.com/hwchase17/langchain )