SurrealML is a new file type for working with PyTorch and SKLearn models in Python. This file format, powered by our Rust runtime, allows machine learning model developers to train models in Python, and save the model and metadata to a portable and open-source file format.
With support for model versioning, machine learning pipelines can be greatly simplified, bringing consistency and reproducibility to data normalisation and model inference, allowing for execution across multiple different Python versions, environments, and platforms.
Using our Rust-based SurrealML runtime, the file header stores the model name, description, version, and data normalisation logic. This means that the processing logic that is required for all data, as it is passed into a model for inference purposes, no longer has to sit separately in a Python deployment.
With embedded metadata and data normalisation logic stored within the SurrealML file, and surrounding the pre-trained internal model, SurrealML files can be ingested into SurrealDB, enabling model inference within the Rust-based SurrealDB runtime. The database runtime understands what arguments and values the model expects, allowing any data within the database to be inferred against the supplied model.
We are taking the flexibility and ecosystem of machine learning in Python, and bringing it alongside the power and performance of Rust and SurrealDB. Whether working with raw data inputs, or simplified model arguments, SurrealDB extends the power of Python machine-learning, without changing the traditional approach to implementing machine-learning workflows in Python.
The query language in SurrealDB looks and works similarly to traditional-SQL, but allows for querying over time-series and connected graph data. SurrealQL is an advanced query language, with programming language functionality, that allows developers or data analysts to work with SurrealDB in the ways they choose.
Live Queries in SurrealDB enable a simple yet seamless way of building modern, responsive applications, whether connecting to SurrealDB as a traditional backend database, or when connecting directly to the database from the frontend.
SurrealDB is designed for building applications of any size - and for that, query performance, and improved data analysis workloads are key. With SurrealDB secondary indexes, you can now index data using traditional indexes, full-text search indexing, and vector-embedding search for artificial intelligence use cases.
Change Feeds enable SurrealDB to play a role within the wider ecosystem of enterprise, cloud, or micro-service based platforms, giving users the ability to retrieve and sync changes from SurrealDB to external systems and platforms.