Store information and retrieve it quickly thanks to NLP techniques (open and light Transformers models, not OpenAI api key required π€) while visualizing your data source in a graph.
Our platform empowers you to find insight hidden at first sight by leveraging all your raw data as well as other text-based information sources. We use extremely lightweight models to reduce the environmental footprint of all your analysis operations. No need for huge resource-hungry LLMs that take forever on super expensive hardware to run, process documents in just a few milliseconds!
- π We used Python Backend (FastAPI). Powered by Sentence Transformers and Qdrant Vector Database.
- π Svelte Front-End (Bulma components and Svelvet for points graph)
- π³ CI/CD Github workflows that deploys on Dockerhub and Digital Ocean when branches are merged with main on GitHub.
Use Docker (ππ) to launch the app:
docker run --rm -p 8080:8080 matesanz/oktopus:latest
π Then go to http://localhost:80
Use Pip (ππ) to launch the app:
git clone https://github.com/Matesanz/oktopus.git
cd oktopus
pip install .
uvicorn oktopus.main:app --reload
π Then go to http://localhost:80
Oktopus is a python package that can be easyly installed with pip:
pip install git+https://github.com/Matesanz/oktopus.git
Then is as simple as:
import oktopus
To launch documentation:
mkdocs serve
π Then go to http://localhost:8000
After cloning the repo, you can install the package using pip or poetry:
pip install .
poetry install
It is possible to have a development environment up an ready using Docker and vscode:
-
Install remote containers in VSCode.
- Press
Ctrl+P
- Paste
ext install ms-vscode-remote.remote-containers
- Press
Enter
- Press
-
Run the docker in development in VSCode (wait, first time takes some time to run) :
F1 > Open Folder in Container Select the desired folder (backend, frontend...)
It automatically searches for de .devcontainer/devcontainer.json
file in the root folder.
To apply changes made to the dockerfile or the devcontainer.json:
F1 > Rebuild Container
π It will install automatically oktopus
in development mode and all the pre-commit hooks along all the tools needed for a correct development: black, isort, pylint, mypy, pytest...
In order to keep code and commits quality we enforce the use of pre-commit by doing:
pre-commit install
This will install a bunch of hooks that will check staged files (only the *.py
staged files) to check that they stick to black, autopep8, isort and some other standards.
π Name: Move38
π© Email: matesanz.cuadrado@gmail.com