šŸ™ Oktopus

šŸŖ§ Description

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.

šŸš€ Quick Start

šŸ‹ Using Docker

Use Docker (šŸ‹šŸ’™) to launch the app:

docker run --rm -p 8080:8080 matesanz/oktopus:latest

šŸ‘‰ Then go to http://localhost:80

šŸ Using Pip

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

šŸš€ Basic Usage

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

šŸ“š Documentation

To launch documentation:

mkdocs serve

šŸ‘‰ Then go to http://localhost:8000

šŸ“¦ Installation

After cloning the repo, you can install the package using pip or poetry:

šŸ Using Pip

pip install .

šŸŒ¹ Using Poetry

poetry install

šŸ—ļø Development

šŸ‹ Devcontainer Environment

It is possible to have a development environment up an ready using Docker and vscode:

  1. Install remote containers in VSCode.

    1. Press Ctrl+P
    2. Paste ext install ms-vscode-remote.remote-containers
    3. Press Enter
  2. 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...

šŸ§‘ā€āš–ļø Pre-Commit

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.

šŸ™‹ Author

šŸ™‹ Name: Move38

šŸ“© Email: matesanz.cuadrado@gmail.com

Top categories

svelte logo

Want a Svelte site built?

Hire a Svelte developer
Loading Svelte Themes