Matesanz / oktopus

Ask your own data with small and efficient llm models and visualize results with Graphs!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸ™ Oktopus

image

πŸͺ§ 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:

devcontainer_gif

  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

About

Ask your own data with small and efficient llm models and visualize results with Graphs!


Languages

Language:Python 36.1%Language:Svelte 28.4%Language:JavaScript 7.5%Language:Dockerfile 6.8%Language:Shell 6.3%Language:SCSS 6.3%Language:TypeScript 6.0%Language:HTML 2.1%Language:CSS 0.5%