Skip to main content

DataDM is your private data assistant. Slide into your data's DMs

Project description

dataDM 💬📊

PyPI tests Open In Colab

dataDM

DataDM is your private data assistant. A conversational interface for your data where you can load, clean, transform, and visualize without a single line of code. DataDM is open source and can be run entirely locally, keeping your juicy data secrets fully private.

Demo

https://github.com/approximatelabs/datadm/assets/916073/f15e6ab5-8108-40ea-a6de-c69a1389af84

Note: Demo above is GPT-4, which sends the conversation to OpenAI's API. To use in full local mode, be sure to select starchat-alpha-cuda or starchat-beta-cuda as the model. This will use the StarChat model, which is a bit less capable but runs entirely locally.

⚠️ LLMs are known to hallucinate and generate fake results. So, double-check before trusting their results blindly!

Try it now! Hosted public environment is live! (Click Here)

Don't put any sensitive data in the public environment, use the docker image or colab notebook for your private conversations.

Join our discord to join the community and share your thoughts!

Features

  • Persistent Juptyer kernel backend for data manipulation during conversation
  • Run entirely locally, keeping your data private
  • Natural language chat, visualizations/plots, and direct download of data assets
  • Easy to use docker-images for one-line deployment
  • Load multiple tables directly into the chat
  • Search for data and load CSVs directly from github
  • Option to use OpenAI's GPT-3.5 or GPT-4 (requires API key)
  • WIP: GGML based mode (CPU only, no GPU required)
  • WIP: Rollback kernel state when undo using criu (re-execute all cells)
  • TODO: Support for more data sources (e.g. SQL, S3, PySpark etc.)
  • TODO: Export a conversation as a notebook or html

Things you can ask DataDM

  • Load data from a URL
  • Clean data by removing duplicates, nulls, outliers, etc.
  • Join data from multiple tables into a single output table
  • Visualize data with plots and charts
  • Ask whatever you want to your very own private code-interpreter

Quickstart

You can use docker, colab, or install locally.

1. Docker to run locally

docker run -e OPENAI_API_KEY={{YOUR_API_KEY_HERE}} -p 7860:7860 -it ghcr.io/approximatelabs/datadm:latest

For local-mode using StarChat model (requiring a CUDA device with at least 24GB of RAM)

docker run --gpus all -p 7860:7860 -it ghcr.io/approximatelabs/datadm:latest-cuda

2. Colab to run in the cloud

Open In Colab

3. Use as a python package

⚠️ datadm used this way runs LLM generated code in your userspace

For local-data, cloud-model mode (no GPU required) - requires an OpenAI API key

$ pip install datadm
$ datadm

For local-mode using StarChat model (requiring a CUDA device with at least 24GB of RAM)

$ pip install "datadm[cuda]"
$ datadm

Special Thanks

Contributions

Contributions are welcome! Feel free to submit a PR or open an issue.

Community

Join the Discord to chat with the team

Check out our other projects: sketch and approximatelabs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datadm-0.3.4.tar.gz (12.2 MB view details)

Uploaded Source

Built Distribution

datadm-0.3.4-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file datadm-0.3.4.tar.gz.

File metadata

  • Download URL: datadm-0.3.4.tar.gz
  • Upload date:
  • Size: 12.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for datadm-0.3.4.tar.gz
Algorithm Hash digest
SHA256 1b2c1280b45124f938689a318178d85c06b0ddbc3afa92ab33d95042ee755aac
MD5 3cadee07d08c03c7f90dfc8a09018950
BLAKE2b-256 dac1178e7ca4b1249b5955c50b78cc262949edd5bfac23b8e9a34117dc77dc2f

See more details on using hashes here.

File details

Details for the file datadm-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: datadm-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for datadm-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c0113bfaa1a8ff4e4b1d85e31b6e1598bcc0bd60114993ac3e95f6abb43423b9
MD5 4307f5d01f1b83f062e21010782a0e3a
BLAKE2b-256 24b9cb67025324a65bc5e4a2a25d09e1ed1a86acab0ce06fcd0e956ba589f470

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page