* Fix the parallel ingestion mode, and make it available through conf
Also updated the documentation to show how to configure the ingest mode.
* PR feedback: redirect to documentation
* added max_new_tokens as a configuration option to the llm block in settings
* Update fern/docs/pages/manual/settings.mdx
Co-authored-by: lopagela <lpglm@orange.fr>
* Update private_gpt/settings/settings.py
Add default value for max_new_tokens = 256
Co-authored-by: lopagela <lpglm@orange.fr>
* Addressed location of docs comment
* reformatting from running 'make check'
* remove default config value from settings.yaml
---------
Co-authored-by: lopagela <lpglm@orange.fr>
* Update llama_index to 0.9.3
Had to change some imports because of breaking change durin the llama_index update to 0.9.0
* Update poetry.lock after update of llama_index
* Refactor documentation architecture
Split into several `tab` and sections
* Fix Fern's docs.yml after PR review
Thank you Danny!
Co-authored-by: dannysheridan <danny@buildwithfern.com>
* Re-add quickstart in the overview tab
It went missing after a refactoring of the doc architecture
* Documentation writing
* Adapt Makefile to fern documentation
* Do not create overlapping page names in fern documentation
This is causing 500. Thank you to @dsinghvi for the troubleshooting and the help!
* Add a readme to help to understand how fern documentation work and how to add new pages
* Rework the welcome view
Redirects directly users to installation guide with links for people that are not familiar with documentation browsing.
* Simplify the quickstart guide
* PR feedback on installation guide
A ton of refactoring can still be made there
* PR feedback on ingestion
* PR feedback on ingestion splitting
* Rename section on LLM
* Fix missing word in list of LLMs
---------
Co-authored-by: dannysheridan <danny@buildwithfern.com>
* added `wipe` make command
* Apply suggestions from code review
Thanks for your suggestions, I like to apply them.
Co-authored-by: lopagela <lpglm@orange.fr>
* added `wipe` command to the documentation
* rebased to generate valid openapi.json
---------
Co-authored-by: lopagela <lpglm@orange.fr>
* Add simple Basic auth
To enable the basic authentication, one must set `server.auth.enabled`
to true.
The static string defined in `server.auth.secret` must be set in the
header `Authorization`.
The health check endpoint will always be accessible, no matter the API
auth configuration.
* Fix linting and type check
* Fighting with mypy being too restrictive
Had to disable mypy in the `auth` as we are not using the same signature
for the authenticated method.
mypy was complaining that the signatures of `authenticated` must be
identical, no matter in which logical branch we are.
Given that fastapi is accomodating itself of method signatures (it will
inject the dependencies in the method call), this warning of mypy is
actually preventing us to do something legit.
mypy doc: https://mypy.readthedocs.io/en/stable/common_issues.html
* Write tests to verify that the simple auth is working
* Added logs at generation of the UI, and generate the UI in an object
* Make ingest script more verbose in case of an error at ingestion time
* Removed the explicit state in the UI containing ingested files
* Make script of ingestion a bit more verbose by displaying stack traces
* Change the browser tab title of privateGPT ui to `My Private GPT`
Patch the default list of llama_index to support JSON files.
This injection of JSON documents should improve the comprehension in
JSON files, as there is a parsing of JSON files.
A file that is ingested will be transformed into several documents (that
are organized into nodes).
This endpoint is deleting documents (bits of a file). These bits can be
retrieved thanks to the endpoint to list all the documents.
* Disable Gradio Analytics
Gradio analytics can be disabled by either using the kwargs `enable_analytics` on `gr.Blocks`, or by setting the env variable `GRADIO_ANALYTICS_ENABLED` to something different from `True`.
Since that Gradio does not seem to respect their code contract (around `enable_analytics`), and that they are performing other operations only based on the value of `GRADIO_ANALYTICS_ENABLED` (c.f. `gradio.strings` https://github.com/gradio-app/gradio/blob/main/gradio/strings.py#L39), we are disabling gradio analytics by setting the required env variable to `False`.
Note: Setting an environment variables using `os.environ['foo'] = 'bar'` on system that are not based on unix might not work.
c.f. https://docs.python.org/3/library/os.html#os.environ for details on how `os.environ` works and all its caveats
* Update private_gpt/__init__.py