Spice makes it easy for developers to build apps that learn and adapt by streamlining the use of machine learning (ML) in software. Combined with time-series data, developers can create applications that continuously improve using ML recommendations.
Spice takes a developer-first approach, and is focused on a fast, iterative, inner development loop, enabling developers to get started with ML in minutes instead of months.
📢 Read the Spice announcement blog post at blog.spiceai.org.
📺 View a getting started walkthrough of Spice in action here.
The Spice runtime is written in Golang and Python and runs as a container or microservice. It’s deployable to any public cloud, on-premises, and edge. It is configured with a simple manifest and accessed by HTTP APIs.
- A lightweight, portable ML runtime accessible by simple HTTP APIs, allowing developers to use their preferred languages and frameworks
- A dashboard to visualize data and learning
- A developer-friendly CLI
- Simple, git-committable, configuration and code
Community-Driven Data Components
Spice also includes a library of community-driven data components for streaming and processing time series data, enabling developers to quickly and easily combine data with learning to create intelligent models.
Modern developers build with the community by leveraging registries such as npm, NuGet, and pip. The Spice platform includes spicerack.org, the registry for ML building blocks.
As the community shares their ML building blocks (aka Spicepods, or pods for short), developers can quickly add them to their Spice.ai applications enabling them to stream data and build learning into their applications quickly and easily. Initially, Spicepods contain simple definitions of how the app should learn, and eventually will enable the sharing and use of fully-trained models.
Spice.ai is for developers who want to build intelligent applications but don’t have the time or resources to learn, build and integrate the required ML to do so.
Imagine you have timestamped measurements of the room temperature and access to air-conditioning controls. If you had a time-series ML engine, your application could optimize when the A/C activates. You could reduce energy usage by not overcooling the room as the temperature drops.
Now imagine learning Python or R, neural networks, deep-learning algorithms and building a system that streams and processes time-series data to do that. With Spice.ai — which includes a time-series ML engine accessible over HTTP APIs, a library of community-driven components for data streaming and processing, and an ecosystem of pre-created ML configurations — you can build upon the experience of the community instead of doing it all yourself. You can focus on business logic and building your application instead of the ML.
⚠️ The vision to make it easy to build intelligent applications that learn is a vast undertaking. We haven’t figured it all out or solved all the problems yet, so we’re inviting you on this journey and are looking for feedback the direction.
Spice.ai and spicerack.org are both pre-release, early, alpha software. Until v1.0, Spice.ai may have gaps, including limited deep learning algorithms, training-at-scale, and simulated environments. Also, Spicepods aren’t searchable or listed on spicerack.org yet.
Our intention with this preview is to work with developers early to define and create the developer experience together. 🚀 See the Roadmap to v1.0-stable for upcoming features.
We greatly appreciate and value your support! You can help Spice.ai in a number of ways:
- ⭐️ Star this repo.
- Build an app with Spice.ai and send us feedback and suggestions at firstname.lastname@example.org or on Discord.
- File an issue if you see something not quite working correctly.
- Follow us on Reddit, Twitter, and LinkedIn.
- Join our team (We’re hiring!)
- Contribute code or documentation to the project (see CONTRIBUTING.md).
We’re also starting a community call series soon!
Thank you for sharing this journey with us. 🙏