Merge branch 'main' into New-prompt-

This commit is contained in:
Alex
2023-10-22 11:16:03 -04:00
committed by GitHub
41 changed files with 983 additions and 426 deletions

View File

@@ -17,8 +17,7 @@ When using code examples, use the following format:
(code)
{summaries}
Thank you
```

View File

@@ -5,18 +5,18 @@ This AI can use any documentation, but first it needs to be prepared for similar
Start by going to `/scripts/` folder.
If you open this file you will see that it uses RST files from the folder to create a `index.faiss` and `index.pkl`.
If you open this file, you will see that it uses RST files from the folder to create a `index.faiss` and `index.pkl`.
It currently uses OPEN_AI to create vector store, so make sure your documentation is not too big. Pandas cost me around 3-4$.
It currently uses OPEN_AI to create the vector store, so make sure your documentation is not too big. Pandas cost me around $3-$4.
You can usually find documentation on github in `docs/` folder for most open-source projects.
You can usually find documentation on Github in `docs/` folder for most open-source projects.
### 1. Find documentation in .rst/.md and create a folder with it in your scripts directory
Name it `inputs/`
Put all your .rst/.md files in there
The search is recursive, so you don't need to flatten them
- Name it `inputs/`
- Put all your .rst/.md files in there
- The search is recursive, so you don't need to flatten them
If there are no .rst/.md files just convert whatever you find to txt and feed it. (don't forget to change the extension in script)
If there are no .rst/.md files just convert whatever you find to .txt and feed it. (don't forget to change the extension in script)
### 2. Create .env file in `scripts/` folder
And write your OpenAI API key inside
@@ -32,7 +32,7 @@ It will tell you how much it will cost
### 5. Run web app
Once you run it will use new context that is relevant to your documentation
Once you run it will use new context that is relevant to your documentation
Make sure you select default in the dropdown in the UI
## Customization
@@ -41,7 +41,7 @@ You can learn more about options while running ingest.py by running:
`python ingest.py --help`
| Options | |
|:--------------------------------:|:------------------------------------------------------------------------------------------------------------------------------:|
| **ingest** | Runs 'ingest' function converting documentation to Faiss plus Index format |
| **ingest** | Runs 'ingest' function, converting documentation to Faiss plus Index format |
| --dir TEXT | List of paths to directory for index creation. E.g. --dir inputs --dir inputs2 [default: inputs] |
| --file TEXT | File paths to use (Optional; overrides directory) E.g. --files inputs/1.md --files inputs/2.md |
| --recursive / --no-recursive | Whether to recursively search in subdirectories [default: recursive] |
@@ -56,4 +56,4 @@ You can learn more about options while running ingest.py by running:
| | |
| **convert** | Creates documentation in .md format from source code |
| --dir TEXT | Path to a directory with source code. E.g. --dir inputs [default: inputs] |
| --formats TEXT | Source code language from which to create documentation. Supports py, js and java. E.g. --formats py [default: py] |
| --formats TEXT | Source code language from which to create documentation. Supports py, js and java. E.g. --formats py [default: py] |

View File

@@ -1,4 +1,4 @@
Fortunately there are many providers for LLM's and some of them can even be ran locally
Fortunately, there are many providers for LLM's and some of them can even be run locally
There are two models used in the app:
1. Embeddings.
@@ -21,12 +21,16 @@ By default, we use OpenAI's models but if you want to change it or even run it l
You don't need to provide keys if you are happy with users providing theirs, so make sure you set `LLM_NAME` and `EMBEDDINGS_NAME`.
Options:
LLM_NAME (openai, manifest, cohere, Arc53/docsgpt-14b, Arc53/docsgpt-7b-falcon)
LLM_NAME (openai, manifest, cohere, Arc53/docsgpt-14b, Arc53/docsgpt-7b-falcon, llama.cpp)
EMBEDDINGS_NAME (openai_text-embedding-ada-002, huggingface_sentence-transformers/all-mpnet-base-v2, huggingface_hkunlp/instructor-large, cohere_medium)
If using Llama, set the `EMBEDDINGS_NAME` to `huggingface_sentence-transformers/all-mpnet-base-v2` and be sure to download [this model](https://d3dg1063dc54p9.cloudfront.net/models/docsgpt-7b-f16.gguf) into the `models/` folder: `https://d3dg1063dc54p9.cloudfront.net/models/docsgpt-7b-f16.gguf`.
Alternatively, if you wish to run Llama locally, you can run `setup.sh` and choose option 1 when prompted. You do not need to manually add the DocsGPT model mentioned above to your `models/` folder if you use `setup.sh`, as the script will manage that step for you.
That's it!
### Hosting everything locally and privately (for using our optimised open-source models)
If you are working with important data and don't want anything to leave your premises.
Make sure you set `SELF_HOSTED_MODEL` as true in you `.env` variable and for your `LLM_NAME` you can use anything that's on Hugging Face.
Make sure you set `SELF_HOSTED_MODEL` as true in your `.env` variable and for your `LLM_NAME` you can use anything that's on Hugging Face.

View File

@@ -1,10 +1,10 @@
If your AI uses external knowledge and is not explicit enough it is ok, because we try to make docsgpt friendly.
If your AI uses external knowledge and is not explicit enough, it is ok, because we try to make DocsGPT friendly.
But if you want to adjust it, here is a simple way.
But if you want to adjust it, here is a simple way:-
Got to `application/prompts/chat_combine_prompt.txt`
- Got to `application/prompts/chat_combine_prompt.txt`
And change it to
- And change it to
```