fluid-db

fluid-db

Fluid Database

Stars: 113

Visit
 screenshot

FluidDB is a research repository focusing on the concept of a fluid database that dynamically updates its schema based on ingested data. It enables the creation of personalized AI agents with features like adaptive schema, flexible querying, and versatile data input. The tool allows for storing unstructured data in a structured form and supports natural language queries. It aims to revolutionize database management by providing a dynamic and intuitive approach to data storage and retrieval.

README:

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...

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for fluid-db

Similar Open Source Tools

For similar tasks

For similar jobs