Skip to content

TheMind-AI/fluid-db

Repository files navigation

FluidDB

Self-Organizing Databases


Research repo for experimenting with the concept of a fluid database.

llm-os

What is Fluid Database?

FluidDB (Fluid Database) is a concept for databases that dynamically update its schema based on the ingested data. It's here for you to build truly personalized AI agents by giving them memory.

LLM + FluidDB = Personalized AI

Key features:

  • Adaptive Schema: Automatically adjusts its structure based on the data being ingested.
  • Flexible Querying: Supports both traditional query languages and intuitive natural language queries.
  • Versatile Data Input: Enables data entry in natural language, as well as in semi-structured formats.

Want to see it in action? Check out the MIND Apps.

Roadmap

  • FluidDB Client
  • Databases Engine
  • CLI
  • Router
  • Eval System
  • Hosted Service

FluidDB Example

FluidDB saves unstructured data in a structured form.

# Saving a simple natural language statement into FluidDB
fluiddb.save(uid, "hey adam here and i like thinking about the roman empire")

FluidDB automatically updates its schema to reflect this new data:

{
    "name": "Adam",
    "interests": ["thinking about the Roman Empire"]
}

Further, FluidDB demonstrates its versatility with semi-structured data formats. For instance:

# Storing structured data like an email
email = {
    "from": "[email protected]",
    "to": "[email protected]",
    "subject": "Check this out",
    "content": "Hi Adam, Hope this email finds you well ..."
}
fluiddb.save(uid, email)

FluidDB then incorporates this new information into its schema:

{
    "name": "Adam",
    "interests": ["thinking about the Roman Empire", "blue bottle"],
    "email": [{
        "from": "[email protected]",
        "to": "[email protected]",
        "subject": "Check this out",
        "content": "Hi Adam, Hope this email finds you well ..."
    }]
}

Getting Started

building...