DocsGPT/README.md

157 lines
5.7 KiB
Markdown
Raw Normal View History

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-02-05 20:31:27 +00:00
<strong>DocsGPT</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-02-05 19:10:39 +00:00
Say goodbye to time-consuming manual searches, and let <strong>DocsGPT</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-02-06 12:54:00 +00:00
<a href="https://discord.gg/n5BX8dh8rU">![example1](https://img.shields.io/github/stars/arc53/docsgpt?style=social)</a>
<a href="https://discord.gg/n5BX8dh8rU">![example2](https://img.shields.io/github/forks/arc53/docsgpt?style=social)</a>
<a href="https://discord.gg/n5BX8dh8rU">![example3](https://img.shields.io/github/license/arc53/docsgpt)</a>
<a href="https://discord.gg/n5BX8dh8rU">![example3](https://img.shields.io/discord/1070046503302877216)</a>
2023-08-21 21:19:47 +00:00
2023-08-21 21:16:50 +00:00
2023-02-21 16:59:36 +00:00
2023-02-05 20:24:06 +00:00
</div>
2023-02-05 19:27:48 +00:00
2023-09-14 21:22:28 +00:00
### Enterprise Solutions:
When deploying your DocsGPT to a live environment, we're eager to provide personalized assistance. Reach out to us via email [here]( mailto:contact@arc53.com?subject=DocsGPT%20Enterprise&body=Hi%20we%20are%20%3CCompany%20name%3E%20and%20we%20want%20to%20build%20%3CSolution%3E%20with%20DocsGPT) to discuss your project further, and our team will connect with you shortly.
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-09-07 19:16:03 +00:00
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!
2023-03-24 09:32:40 +00:00
2023-08-15 13:27:32 +00:00
## Our open source models optimised 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-08-15 13:27:32 +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/)
[Join Our Discord](https://discord.gg/n5BX8dh8rU)
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
- Application - Flask app (main application)
2023-02-03 14:49:28 +00:00
- Extensions - Chrome extension
2023-02-03 14:49:28 +00:00
- Scripts - Script that creates similarity search index and store for other libraries.
2023-02-03 12:07:33 +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-01 19:09:15 +00:00
On Mac OS or Linux just write:
`./setup.sh`
2023-10-01 19:10:41 +00:00
It will install all the dependencies and give you an option to download local model or use OpenAI
2023-10-01 19:09:15 +00:00
Otherwise refer to this Guide:
2023-09-07 19:16:03 +00:00
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
It should look like this inside:
2023-06-13 14:43:42 +00:00
```
OPENAI_API_KEY=Yourkey
VITE_API_STREAMING=true
2023-09-07 19:16:03 +00:00
SELF_HOSTED_MODEL=false
2023-06-13 14:43:42 +00:00
```
2023-09-07 19:16:03 +00:00
See optional environment variables in the `/.env-template` and `/application/.env_sample` files.
3. Run `./run-with-docker-compose.sh`
2023-04-04 13:12:35 +00:00
4. Navigate to http://localhost:5173/
2023-03-23 15:51:12 +00:00
To stop just run Ctrl + C
## Development environments
### Spin up mongo and redis
2023-09-07 19:16:03 +00:00
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](./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
```commandline
export CELERY_BROKER_URL=redis://localhost:6379/0
export CELERY_RESULT_BACKEND=redis://localhost:6379/1
export MONGO_URI=mongodb://localhost:27017/docsgpt
2023-09-28 15:07:50 +00:00
export FLASK_APP=application/app.py
2023-09-28 14:22:56 +00:00
export FLASK_DEBUG=true
```
2. Prepare .env file
Copy `.env_sample` and create `.env` with your OpenAI API token
2023-09-07 19:16:03 +00:00
3. (optional) Create a Python virtual environment
```commandline
python -m venv venv
. venv/bin/activate
```
4. Change to `application/` subdir and install dependencies for the backend
```commandline
2023-09-28 15:07:50 +00:00
pip install -r application/requirements.txt
```
2023-09-28 14:22:56 +00:00
5. Run the app `flask run --host=0.0.0.0 --port=7091`
2023-09-28 15:07:50 +00:00
6. Start worker with `celery -A application.app.celery worker -l INFO`
### Start frontend
Make sure you have Node version 16 or higher.
2023-03-04 11:28:36 +00:00
1. Navigate to `/frontend` folder
2. Install dependencies
`npm install`
3. Run the app
`npm run dev`
2023-03-04 11:28:36 +00:00
2023-02-05 11:37:21 +00:00
2023-02-15 18:42:56 +00:00
2023-02-03 14:49:02 +00:00
Built with [🦜️🔗 LangChain](https://github.com/hwchase17/langchain)
2023-02-03 21:50:52 +00:00