Research repo for experimenting with the concept of a 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.
- FluidDB Client
- Databases Engine
- CLI
- Router
- Eval System
- Hosted Service
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 ..."
}]
}
building...