From 91fa932168f241a3e072251a84105483ff20e0bf Mon Sep 17 00:00:00 2001 From: Ankita Sikdar <115947852+AnkitaSikdar005@users.noreply.github.com> Date: Tue, 10 Oct 2023 02:06:52 +0530 Subject: [PATCH 01/13] Update CONTRIBUTING.md --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8be36122..d864e73f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,11 +17,11 @@ Thank you for choosing to contribute to DocsGPT! We are all very grateful! ## 🐞 Issues and Pull requests -We value contributions in the form of discussions or suggestions. We recommend taking a look at existing issues and our [roadmap](https://github.com/orgs/arc53/projects/2). +- We value contributions in the form of discussions or suggestions. We recommend taking a look at existing issues and our [roadmap](https://github.com/orgs/arc53/projects/2). -If you're interested in contributing code, here are some important things to know: +- If you're interested in contributing code, here are some important things to know: -We have a frontend built with React (Vite) and a backend in Python. +- We have a frontend built on React (Vite) and a backend in Python. ### If you are looking to contribute to frontend (βš›οΈReact, Vite): From 55921b262f1a41364d45f4eedf0c1f5503d1e2d4 Mon Sep 17 00:00:00 2001 From: KRISH SONI <67964054+krishvsoni@users.noreply.github.com> Date: Wed, 18 Oct 2023 21:54:28 +0530 Subject: [PATCH 02/13] docker docs --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index edeb7b66..109728ed 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ If you don't have enough resources to run it, you can use bitsnbytes to quantize ## QuickStart -Note: Make sure you have Docker installed +Note: Make sure you have [Docker](https://www.docker.com/) installed On Mac OS or Linux, write: @@ -124,10 +124,19 @@ Make sure you have Python 3.10 or 3.11 installed. (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: +You can follow the [Python official documentation](https://docs.python.org/3/tutorial/venv.html) for virtual environments . + +a) On Mac OS and Linux ```commandline python -m venv venv . venv/bin/activate ``` +b) On Windows +```commandline +python -m venv venv + venv/Scripts/activate +``` + 3. Change to the `application/` subdir and install dependencies for the backend: ```commandline pip install -r application/requirements.txt From 960365a0633067af0c4daf0796fff56e6a735903 Mon Sep 17 00:00:00 2001 From: neha3423 Date: Sun, 22 Oct 2023 10:54:02 +0530 Subject: [PATCH 03/13] neha3423 --- CONTRIBUTING.md | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3407fdc9..a14e4bf7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,42 +57,55 @@ Here's a step-by-step guide on how to contribute to DocsGPT: 1. **Fork the Repository:** - Click the "Fork" button at the top-right of this repository to create your fork. -2. **Create and Switch to a New Branch:** +2. **Clone the Forked Repository:** + - Clone the repository using: + ''' shell + git clone https://github.com//DocsGPT.git + ''' + +3. **Keep your in Sync:** + - Before you make any changes, make sure that your fork is in sync to avoid merge conflicts. + '''shell + git remote add upstream https://github.com/arc53/DocsGPT.git + git pull upstream master + ''' + +4. **Create and Switch to a New Branch:** - Create a new branch for your contribution using: ```shell git checkout -b your-branch-name ``` -3. **Make Changes:** +5. **Make Changes:** - Make the required changes in your branch. -4. **Add Changes to the Staging Area:** +6. **Add Changes to the Staging Area:** - Add your changes to the staging area using: ```shell git add . ``` -5. **Commit Your Changes:** +7. **Commit Your Changes:** - Commit your changes with a descriptive commit message using: ```shell git commit -m "Your descriptive commit message" ``` -6. **Push Your Changes to the Remote Repository:** +8. **Push Your Changes to the Remote Repository:** - Push your branch with changes to your fork on GitHub using: ```shell git push origin your-branch-name ``` -7. **Submit a Pull Request (PR):** +9. **Submit a Pull Request (PR):** - Create a Pull Request from your branch to the main repository. Make sure to include a detailed description of your changes and reference any related issues. -8. **Collaborate:** +10. **Collaborate:** - Be responsive to comments and feedback on your PR. - Make necessary updates as suggested. - Once your PR is approved, it will be merged into the main repository. -9. **Testing:** +11. **Testing:** - Before submitting a Pull Request, ensure your code passes all unit tests. - To run unit tests from the root of the repository, execute: ```shell @@ -101,7 +114,7 @@ Here's a step-by-step guide on how to contribute to DocsGPT: *Note: You should run the unit test only after making the changes to the backend code.* -10. **Questions and Collaboration:** +12. **Questions and Collaboration:** - Feel free to join our Discord. We're very friendly and welcoming to new contributors, so don't hesitate to reach out. Thank you for considering contributing to DocsGPT! πŸ™ From 6cbe4f2ea72fd1a10d2c0ee6ce4762d3acc3a016 Mon Sep 17 00:00:00 2001 From: neha3423 Date: Sun, 22 Oct 2023 11:38:23 +0530 Subject: [PATCH 04/13] neha3423 --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a14e4bf7..ff5aab35 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,13 +63,13 @@ Here's a step-by-step guide on how to contribute to DocsGPT: git clone https://github.com//DocsGPT.git ''' -3. **Keep your in Sync:** - - Before you make any changes, make sure that your fork is in sync to avoid merge conflicts. +3. **Keep your Fork in Sync:** + - Before you make any changes, make sure that your fork is in sync to avoid merge conflicts using: '''shell git remote add upstream https://github.com/arc53/DocsGPT.git git pull upstream master ''' - + 4. **Create and Switch to a New Branch:** - Create a new branch for your contribution using: ```shell From a6677b2e458ede4c32cb576ac5c4b655bd714662 Mon Sep 17 00:00:00 2001 From: iamakhileshmishra Date: Mon, 23 Oct 2023 14:44:37 +0530 Subject: [PATCH 05/13] Railway Deployment Guide Added --- docs/package-lock.json | 1 + docs/pages/Deploying/Railway-Deploying.md | 254 ++++++++++++++++++++++ docs/pages/Deploying/image.png | Bin 0 -> 11181 bytes 3 files changed, 255 insertions(+) create mode 100644 docs/pages/Deploying/Railway-Deploying.md create mode 100644 docs/pages/Deploying/image.png diff --git a/docs/package-lock.json b/docs/package-lock.json index b0255929..20f65d80 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -4,6 +4,7 @@ "requires": true, "packages": { "": { + "license": "MIT", "dependencies": { "@vercel/analytics": "^1.0.2", "docsgpt": "^0.2.4", diff --git a/docs/pages/Deploying/Railway-Deploying.md b/docs/pages/Deploying/Railway-Deploying.md new file mode 100644 index 00000000..15e2f60a --- /dev/null +++ b/docs/pages/Deploying/Railway-Deploying.md @@ -0,0 +1,254 @@ + +# Self-hosting DocsGPT on Railway + + + +Here's a step-by-step guide on how to host DocsGPT on Railway App. + + + +At first Clone and setup the project locally to run , test and Modify. + + + +### 1. Clone and GitHub SetUp + +a. Open Terminal (Windows Shell or Git bash(recommended)). + + + +b. Type `git clone https://github.com/arc53/DocsGPT.git` + + + +#### Download the package information + + + +Once it has finished cloning the repository, it is time to download the package information from all sources. To do so, simply enter the following command: + + + +`sudo apt update` + + + +#### Install Docker and Docker Compose + + + +DocsGPT backend and worker use Python, Frontend is written on React and the whole application is containerized using Docker. To install Docker and Docker Compose, enter the following commands: + + + +`sudo apt install docker.io` + + + +And now install docker-compose: + + + +`sudo apt install docker-compose` + + + +#### Access the DocsGPT Folder + + + +Enter the following command to access the folder in which the DocsGPT docker-compose file is present. + + + +`cd DocsGPT/` + + + +#### Prepare the Environment + + + +Inside the DocsGPT folder create a `.env` file and copy the contents of `.env_sample` into it. + + + +`nano .env` + + + +Make sure your `.env` file looks like this: + + + +``` + +OPENAI_API_KEY=(Your OpenAI API key) + +VITE_API_STREAMING=true + +SELF_HOSTED_MODEL=false + +``` + + + +To save the file, press CTRL+X, then Y, and then ENTER. + + + +Next, set the correct IP for the Backend by opening the docker-compose.yml file: + + + +`nano docker-compose.yml` + + + +And Change line 7 to: `VITE_API_HOST=http://localhost:7091` + +to this `VITE_API_HOST=http://:7091` + + + +This will allow the frontend to connect to the backend. + + + +#### Running the Application + + + +You're almost there! Now that all the necessary bits and pieces have been installed, it is time to run the application. To do so, use the following command: + + + +`sudo docker-compose up -d` + + + +Launching it for the first time will take a few minutes to download all the necessary dependencies and build. + + + +Once this is done you can go ahead and close the terminal window. + + + +### 2. Pushing it to your own Repository + + + +a. Create a Repository on your GitHub. + + + +b. Open Terminal in the same directory of the Cloned project. + + + +c. Type `git init` + + + +d. `git add .` + + + +e. `git commit -m "first-commit"` + + + +f. `git remote add origin ` + + + +g. `git push git push --set-upstream origin master` + +Your local files will now be pushed to your GitHub Account. :) + + +### 3. Create an Railway Account: + + + +If you haven't already, create or log in to your railway account do it by visiting [Railway](https://railway.app/) + + + +Signup via **GitHub** [Recommended]. + + + +### 4. Start New Project: + + + +a. Open Railway app and Click on "Start New Project." + + + +b. Choose any from the list of options available (Recommended "**Deploy from GitHub Repo**") + + + +c. Choose the required Repository from your Github. + + + +d. Configure and allow access to modify your GitHub content from the pop-up window. + + + +e. Agree to all the terms and conditions. + + + +PS: It may take a few minutes for the account setup to complete. + + + +#### You will get A free trail of $5 (use it for trail and then purchase if satisfied and needed) + + + +### 5. Connecting to Your newly Railway app with GitHub + + + +a. Choose DocsGPT repo from the list of your GitHub repository that you want to deploy now. + + + +b. Click on Deploy now . + + + +![Three Tabs will be there](image.png) + + + +c. Select Variables Tab. + + + +d. Upload the env file here that you used for local setup. + + + +e. Go to Settings Tab now. + + + +f. Go to "Networking" and click on Generate Domain Name, to get the URL of your hosted project. + + + +g. You can update the Root directory, build command, installation command as per need. + +*[However recommended not the disturb these options and leave them as default if not that needed.]* + + + + +Your own DocsGPT is now available at the Generated domain URl. :) \ No newline at end of file diff --git a/docs/pages/Deploying/image.png b/docs/pages/Deploying/image.png new file mode 100644 index 0000000000000000000000000000000000000000..2100e5b4d20e24108e52dff4de8e9c486ee4ff17 GIT binary patch literal 11181 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�rTbqHcM)Dm^zooSSlESN?^`cco%OTu)s$`b1C8E6qiIFpDT5 zUI>jaa{kU?w)s01ky4+1jh$~b+z1MaN@aSG7I(W(0X-Rx<)x0LMkx(bF$!Y-jmv4V zA`P2sF_+>R*0+Ogk6G1>Q4T35yWZj{@(+3*sI)HFU>e4rEVLf`MR*^p^XC>ito6ss zoj7o2f+lCSPgwc$EST#6s+Pj@J3Mc~}f%*65+YCj)WZ%4|uLs?T3c+ol3t%psi&+Ae0=>_?H z${gp|H?1L-X9JVL8`hv!^N1uz8OIzU^E|ZX)cvp+m8t?-8PPNZZoEb#7g-u9=N*lm~ABk-!)??W)_|wj_qGsvtxIz`LJR~S_ zXY$gu+*k)So+MJ_Lce5tt7kpOG^gz+Rv-M(R~kqz|55%<$}GJbbhshdZIb-Go?ps~ z_d7B2DtLOIEd;Y5uTRd;Ak2X*-{Cn_h9O9oWmRo`0~2&k_^m_laf+kW+7zIRnfm_u z`Pw}8Swq5i=h!fVG+}Fjk=ikP09D}XWYnvMkJtu-z3anxf64)(<`Hov@k%Z;IiP;> zPz8Ty5w!L#vz1Pz`<+uUxVxu#+tjNy{`jugA}GxfYXB`_!KK^AXav)xecp#4U&Uo` zHeBA$iO<|ryjp0{-Yo6c$J}4b92#pm#KDJPv*XI2YPq&$m|4l?`Rljm&P{h1*XRFO zPK1FnBhd6E8JS6$0WggL=xEba51Eh}pDHjs_+vnJZA-_S<3L}Xd{VKt54T!-KN{Ac zb}&k!FW_|BEOqNBLls%fFu8IUp|Do0`W{WErb!wKo0-S=Tfv52s`^B;mzdWsi78D{9{ZUs>24E+P?BWqy z7G!Cb7YC9RX+m#dj4Jam*_#EvZVjP%G~cGmlHP1kM`q69U&o)$pMwR$`hEnx3;!nu zx*Ck*MBH%3|jlVMc48fA79S- zUcpU=5cc>n-%BR;J8vAkxWd;ZC;tS1JQG>R*JhtoRO;)vD58h(G2J z!5FGfGa%5f#YeWww)PL6BVQ7><&{R)@D5Cj!mnPSqY^Ku&uJ9?ZuJ5<)3mJWo_6;t z&s2V8Zu8aj>|s7O*V#>`cC}`U%}P@=sqGC2Zw_X|pPJIMJ*|3sHZcKoZiq*M)s(fj_B*T1hLb>J~ z`ZMP++s~JmGOKY_sjQ9N2Yjba1>EsT7R2(DOV?A9$Jt?O4qlvMem3ZEm9(m_wx8L> z{^4Z>6>AC%kN)K%7;>$OQ^eY;_>&ALN$@F?0@tBHy$@*iENzN#;(%SoE7xdK?)5+z ziu~fEWe?6KFx!5atr%rtvc6)cV!Cfiu?;gl&ToWP60_}_hgG#5hS6^xU*2Z2^}L_wdg&e{l7GBZw(*m*g;?@lP3<{6EPa`#;I$Yq_@;FWPCS*Ew*&^>1IESOo~K z9x}O$ZkO*=9;3T*&MIo^B0Gk8|Ks+T*t`ElJXHO^i;eh~;L5t)e`8hpOWq9lZ^?zIgjT E0GIWpBLDyZ literal 0 HcmV?d00001 From 9b044815de92951f9c80844b1b27c8e578d2ecc8 Mon Sep 17 00:00:00 2001 From: Ankita Sikdar <115947852+AnkitaSikdar005@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:07:25 +0530 Subject: [PATCH 06/13] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 512b6c23..3daec1f5 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -2,8 +2,8 @@ ## Our Pledge -We as members, contributors, and leaders, pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body +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 @@ -72,20 +72,18 @@ Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: ### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed +- **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community space. -**Consequence**: A private, written warning from community leaders, providing +- **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. ### 2. Warning - -**Community Impact**: A violation through a single incident or series +- **Community Impact**: A violation through a single incident or series of actions. -**Consequence**: A warning with consequences for continued behavior. No +- **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels @@ -93,23 +91,21 @@ like social media. Violating these terms may lead to a temporary or permanent ban. ### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including +- **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. -**Consequence**: A temporary ban from any sort of interaction or public +- **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. ### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community +- **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression towards or disparagement of classes of individuals. -**Consequence**: A permanent ban from any sort of public interaction within +- **Consequence**: A permanent ban from any sort of public interaction within the community. ## Attribution From 9e632aa0bdfbf80d78b03c4fe9f12a3add28e9ee Mon Sep 17 00:00:00 2001 From: KRISH SONI <67964054+krishvsoni@users.noreply.github.com> Date: Mon, 23 Oct 2023 22:01:07 +0530 Subject: [PATCH 07/13] Update README.md --- README.md | 110 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 72 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index b570dfc7..3a6448dd 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,9 @@

- DocsGPT is a cutting-edge open-source solution that streamlines the process of finding information in project documentation. With its integration of the powerful GPT models, developers can easily ask questions about a project and receive accurate answers. + 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. +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.

@@ -21,64 +21,62 @@ Say goodbye to time-consuming manual searches, and let DocsGPT
-### Production Support / Help for companies: +### Production Support / Help for companies: 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) + +- [Book Demo πŸ‘‹](https://airtable.com/appdeaL0F1qV8Bl2C/shrrJF1Ll7btCJRbP) - [Send Email βœ‰οΈ](mailto:contact@arc53.com?subject=DocsGPT%20support%2Fsolutions) - + ### [πŸŽ‰ Join the Hacktoberfest with DocsGPT and Earn a Free T-shirt! πŸŽ‰](https://github.com/arc53/DocsGPT/blob/main/HACKTOBERFEST.md) ![video-example-of-docs-gpt](https://d3dg1063dc54p9.cloudfront.net/videos/demov3.gif) - ## Roadmap 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: -| Name | Base Model | Requirements (or similar) | -|-------------------|------------|----------------------------------------------------------| -| [Docsgpt-7b-falcon](https://huggingface.co/Arc53/docsgpt-7b-falcon) | Falcon-7b | 1xA10G gpu | -| [Docsgpt-14b](https://huggingface.co/Arc53/docsgpt-14b) | llama-2-14b | 2xA10 gpu's | -| [Docsgpt-40b-falcon](https://huggingface.co/Arc53/docsgpt-40b-falcon) | falcon-40b | 8xA10G gpu's | - +| Name | Base Model | Requirements (or similar) | +| --------------------------------------------------------------------- | ----------- | ------------------------- | +| [Docsgpt-7b-falcon](https://huggingface.co/Arc53/docsgpt-7b-falcon) | Falcon-7b | 1xA10G gpu | +| [Docsgpt-14b](https://huggingface.co/Arc53/docsgpt-14b) | llama-2-14b | 2xA10 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 bitsnbytes to quantize. - ## 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) - - [Guides](https://docs.docsgpt.co.uk/) - [Interested in contributing?](https://github.com/arc53/DocsGPT/blob/main/CONTRIBUTING.md) +- πŸ”πŸ”₯ [Live preview](https://docsgpt.arc53.com/) - [How to use any other documentation](https://docs.docsgpt.co.uk/Guides/How-to-train-on-other-documentation) +- πŸ’¬πŸŽ‰[Join our Discord](https://discord.gg/n5BX8dh8rU) - [How to host it locally (so all data will stay on-premises)](https://docs.docsgpt.co.uk/Guides/How-to-use-different-LLM) +- πŸ“šπŸ˜Ž [Guides](https://docs.docsgpt.co.uk/) +- πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» [Interested in contributing?](https://github.com/arc53/DocsGPT/blob/main/CONTRIBUTING.md) + +- πŸ—‚οΈπŸš€ [How to use any other documentation](https://docs.docsgpt.co.uk/Guides/How-to-train-on-other-documentation) + +- πŸ πŸ” [How to host it locally (so all data will stay on-premises)](https://docs.docsgpt.co.uk/Guides/How-to-use-different-LLM) ## Project structure + - Application - Flask app (main application). - Extensions - Chrome extension. -- Scripts - Script that creates similarity search index and stores for other libraries. +- Scripts - Script that creates similarity search index for other libraries. - Frontend - Frontend uses Vite and React. ## QuickStart -Note: Make sure you have [Docker](https://www.docker.com/) installed +Note: Make sure you have [Docker](https://docs.docker.com/) installed On Mac OS or Linux, write: @@ -89,15 +87,17 @@ It will install all the dependencies and allow you to download the local model o Otherwise, refer to this Guide: 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](https://platform.openai.com/account/api-keys) and `VITE_API_STREAMING` to true or false, depending on whether you want streaming answers or not. It should look like this inside: - + ``` API_KEY=Yourkey VITE_API_STREAMING=true ``` - See optional environment variables in the `/.env-template` and `/application/.env_sample` files. -3. Run `./run-with-docker-compose.sh`. + + 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). 4. Navigate to http://localhost:5173/. To stop, just run `Ctrl + C`. @@ -105,10 +105,12 @@ 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). + +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). 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 @@ -119,35 +121,67 @@ docker compose -f docker-compose-dev.yaml up -d Make sure you have Python 3.10 or 3.11 installed. 1. Export required environment variables or prepare a `.env` file in the `/application` folder: - - Copy `.env_sample` and create `.env` with your OpenAI API token for the `API_KEY` and `EMBEDDINGS_KEY` fields. + - 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. (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: + You can follow the [Python official documentation](https://docs.python.org/3/tutorial/venv.html) for virtual environments. + +a) On Mac OS and Linux + ```commandline python -m venv venv . venv/bin/activate ``` -3. Change to the `application/` subdir and install dependencies for the backend: + +b) On Windows + ```commandline -pip install -r application/requirements.txt +python -m venv venv + venv/Scripts/activate ``` + +3. Change to the `application/` subdir by the command `cd application/` and install dependencies for the backend: + +```commandline +pip install -r requirements.txt +``` + 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`. -### Start frontend +### Start frontend Make sure you have Node version 16 or higher. -1. Navigate to the `/frontend` folder. -2. Install dependencies by running `npm install`. -3. Run the app using `npm run dev`. +1. Navigate to the [/frontend](https://github.com/arc53/DocsGPT/tree/main/frontend) folder. +2. Install the required packages `husky` and `vite` (ignore if already installed). + +```commandline +npm install husky -g +npm install vite -g +``` + +3. Install dependencies by running `npm install --include=dev`. +4. Run the app using `npm run dev`. + +## 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. ## Many Thanks To Our Contributors - - + + Contributors +## License + +The source code license is [MIT](https://opensource.org/license/mit/), as described in the [LICENSE](LICENSE) file. Built with [πŸ¦œοΈπŸ”— LangChain](https://github.com/hwchase17/langchain) From 130a6b67bd6113513c964437de841f33037db14d Mon Sep 17 00:00:00 2001 From: KRISH SONI <67964054+krishvsoni@users.noreply.github.com> Date: Mon, 23 Oct 2023 22:16:19 +0530 Subject: [PATCH 08/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3a6448dd..9aaad49a 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ If you don't have enough resources to run it, you can use bitsnbytes to quantize ## QuickStart -Note: Make sure you have [Docker](https://docs.docker.com/) installed +Note: Make sure you have [Docker](https://docs.docker.com/engine/install/) installed On Mac OS or Linux, write: From 8934b9ab5c26a5e51c51cfd94925fbac41171942 Mon Sep 17 00:00:00 2001 From: Gourav2609 Date: Mon, 23 Oct 2023 23:15:07 +0530 Subject: [PATCH 09/13] Fixed overflow --- frontend/src/Navigation.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/Navigation.tsx b/frontend/src/Navigation.tsx index c6c35af8..aed0965e 100644 --- a/frontend/src/Navigation.tsx +++ b/frontend/src/Navigation.tsx @@ -172,7 +172,7 @@ export default function Navigation({ navOpen, setNavOpen }: NavigationProps) { <> {!navOpen && (