This is a minor release to address a bug and improve documentation based on the changes introduced in v0.2.8.
Date: 23rd August 2023
- Fixed a circular import bug (#201)
- Adds API-based examples to the getting started guide (#119)
See all changes here: https://github.com/fuzzylabs/matcha/compare/v0.2.8...v0.2.9
LLMs are all the rage at the moment, with new and improved models being released almost daily. These models are quite large (as implied by the name) and cannot be hosted on standard personal computers, therefore we need to use cloud infrastructure to manage and deploy these models. However, standing up and managing these cloud resources isn't typically the forte of a lot of those interested in LLMs.
This is where Matcha comes in.
With this latest release, we've introduced the notion of stacks
. Specifically, an LLM stack which contains all the infrastructure needed to deploy your own LLM in a couple of commands (or via the API).
These are two stacks available:
default
: containing all the infrastructure that was previously deployed by Matcha.llm
: contains the same infrastructure asdefault
but includes a vector database, giving you everything you need to get started with hosting your own LLM.
You can set the stack either via the CLI:
matcha stack set default
matcha provision
Or API:
from matcha.core import stack_set, provision
stack_set(stack_name = 'default')
provision(location = "ukwest", prefix = "example", password = "password")
- [RPD-287] ZenML version inference for zensever
- [RPD-260] Add an object to handle the
matcha.config.json
file - [RPD-249] Refactor
analytics_service
to simplify tracking decorator - [RPD-236] Improved approach to check ignored folder when uploading and downloading
- [RPD-250] Move
_show_terraform_outputs()
intoprovision
- [RPD-259] Refactor
build_state_from_terraform_output
withinmatcha_state.py
to use objects defined withinmatcha_state.py
- [RPD-290] Update MatchaConfig object to not throw an error when matching property/component is not found
Date: 15th August 2023
See all changes here: https://github.com/fuzzylabs/matcha/compare/v0.2.7...v0.2.8
A fundamental part of Machine Learning is data, without it the learning part cannot happen, and therefore an important part of any MLOps infrastructure stack. Keeping track of that data and being able to version it is important, it enables the reproduction of experiments.
In this release of Matcha, we've added infrastructure to support data version control as part of our default stack.
You can get the information necessary to hook the infrastructure up to your favorite data version control tool by doing the following:
data_version_control = matcha.get('data-version-control')
OR
matcha get data-version-control
We've also been busy fixing a whole bunch of bugs and improvements:
- [RPD-261] [BUG] destroy leads to missing matcha config file error (#165)
- [RPD-276] [BUG] Turning analytics on causes hanging in the analytics service (#168)
- [RPD-271] [BUG] Fix orphaned NetworkWatcherRG resource group (#167)
- [RPD-279] [BUG] Automatically deal with stale states (#170)
- [RPD-274] [BUG] Fix inaccurate provisioning messages (#177)
- [RPD-263] add inference of zenml version from environment (#178)
- [RPD-272] Updates to documentation (#166)
- [RPD-273] Improvements to the provision user experience (#173)
See all changes here: https://github.com/fuzzylabs/matcha/compare/v0.2.6...v0.2.7
We've been quietly working away on Matcha and we've re-engineered the core of Matcha to support programmatically deploying infrastructure to Azure.
While you'll still be able to use your favorite commands on the CLI (matcha get experiment-tracker
), you can now incorporate Matcha into your Python workflows:
experiment_tracker = matcha.get('experiment-tracker')
This means that you can stand-up, link tools to their infrastructure, and tear-down resources in a couple of lines of Python code.
See our new reference documentation to get started!
We're also pleased that as part of this release, we had our first external PR from Alex, a friend of ours over at ZenML #161.
Date: 19th July 2023
See all changes here: https://github.com/fuzzylabs/matcha/compare/v0.2.5...v0.2.6
In this version, we're introducing remote state management. What this means is that more than one user can use and interact with Azure resources provisioned using Matcha.
Our goal is to build a tool that is useful and as usable as possible and to understand this, we're also introducing analytics. These analytics enable us to anonymously understand how the tool is being used. We've provided detailed information about this in our documentation
Date: 6th June 2023
Instead of state being managed locally, meaning that only a single user could use Matcha to provision and interact with resources, state is now managed on Azure. For this to work, we're provisioning an additional bucket on Azure to act as a state oracle.
When a set of resources are provisioned, a matcha.config.json
file will be created - this enables Matcha to communicate with the resources and must be included in your version control to enable resource sharing between users.
How this works under the hood has been described in detail here
We want to make a tool that is both useful and usable. To achieve this, it's important that we understand how the tool is being used by the community.
By collecting fully anonymized usage data, i.e., logging a command being run, it'll enable us to accelerate development and demonstrate value both for us and potential partners.
This version implements that functionality.
We've explained what we're collecting and why in our documentation - see here. Users are automatically opted-in to the collection of the usage data, however, we've implemented functionality to opt-out: matcha analytics opt-out
See all changes here: https://github.com/fuzzylabs/matcha/compare/v0.2.4...v0.2.5
🔥 This version contains a hot fix for matcha get command, so it does not throw an error when run without arguments.
See all changes here: v0.2.3...v0.2.4
🔥 This version contains a quick fix for an import error caused by an old version of urllib3
See all changes here: v0.2.2...v0.2.3
This release includes documentation changes and bug fixes (detailed below) prior to the public announcement.
Date: 16th May 2023
- Provisioning failed when the local machine had never previously ran anything related to Kubernetes - fixed (PR #86)
- When provisioning failed part way through,
destroy
was unable to deprovision the partially provisioned component stack - fixed (PR #88) - Added
pymdown-extensions
as a dependency to solve security issue - PR #99
- The landing page has been overhauled to improve the narrative and provide a better introduction
- The getting started guide has been updated to improve language and structure
- The README has been updated to include badges and a GIF, along with structural and language changes.
- Added attribution to the relevant terraform files
See all changes here: v0.2.1...v0.2.2
In this release, we introduce matcha
to the world - an open source tool for provisioning MLOps environments to the cloud.
With this alpha release of matcha
, you can provision the infrastructure necessary to enable the following capabilities:
- A way to run model training pipelines
- A way to track experiments
- A way to deploy and serve models
This an alpha version of matcha
and we're continually working on improvements and adding new features. If you run into any issues, then please report them as issues - we really appreciate any feedback.
How to get started
To demonstrate practical ways in which you can get started with using matcha
, see our workflow examples. Our documentation also provides more information on how matcha
works, what Azure permissions you need, and much more.
You can install matcha
using pip
:
pip install matcha-ml
We hope you enjoy using matcha
and stay tuned for the next release!