Table of Contents
Docq offers private and secure AI to utilise your organisation's documents for knowledge insight with minimal onboarding and operational effort.
- Self-hosting with your organisation's choice of cloud vendor.
- Plug-n-Play with minimal onboarding and operational effort.
- Multi-modal document format support including text and image.
We offer Docq as a turnkey solution to maximise ROI for your organisation to adopt the latest AI innovations.
- Open-source (AGPLv3) to address your organisation's security and compliance needs.
- Commercial support available via a UK-based entity.
- Re-licensing option also available.
To run this project locally, you will need to install the prerequisites and follow the installation section.
This Project depends on the following projects.
-
Poetry
pip install --user --upgrade poetry
-
Poe the Poet
pip install --user --upgrade poethepoet
-
Clone the repo
git clone https://github.com/docqai/docq cd docq -
Install Poe the Poet and Poetry
pip install --user --upgrade poethepoet poetry
-
Install requirements for development
poe install-dev
-
Run tests
poe test
Some useful examples of how this project can be used:
-
Install requirements
poe install-dev
-
Run tests
poe test -
Run the project
poe run
-
Generate API documentation
poe do -
Build a docker image for tests
poe docker-build --target test --build-tag 3.10-alpine --test true poe docker-run --target test
-
Build a docker image to run the root files only without running any test
- Build image
poe docker-build
- Add a
.envfile with the following
OPENAI_API_KEY # don't add secret values here, only var name. set value in your env with set/export. DOCQ_DATA=./.persisted/ STREAMLIT_SERVER_ADDRESS=0.0.0.0 STREAMLIT_SERVER_PORT=8501 # option 8501 is the default
- set secrets
export OPEN_API_KEY=<your secret token>. Note that the .env file only has the env name not the value for secrets. It's best practice not to add secret to files even if gitignored. - Run container
poe docker-run
For more examples, please refer to the Documentation
- Add tests
- Add code coverage
- Improve documentation
- Include more tests
See the open issues for a full list of proposed features (and known issues).
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Docq.AI - @docqai - support@docq.ai
Project Link: https://github.com/docqai/docq/
The project would not have been possible without the following libraries:
- @jerryjliu Llama Index
- Streamlit and many open-source Streamlit components as well as its Community Cloud
This project was created using cookiecutter and NullHack's python-project-template:
- @NullHack python-project-template
Distributed under the AGPLv3 License. See LICENSE for more information.
