A curated list of Machine Learning (ML) and Generative AI (GenAI) packages and resources for the Elixir programming language.
Besides giving an overview for experienced Elixir developers, this list can be useful for ML and AI practitioners looking for other ecosystems.
- Nx - Tensors for Elixir with compilation to CPU/GPU. It is the base for a lot of other libraries.
- Explorer - Series and dataframes for data exploration in Elixir.
- Livebook - Write interactive and collaborative notebooks, with integrations to databases, messaging, visualization and more.
- Kino - Render rich and interactive output. Used in Livebook.
- Scholar - Traditional machine learning tools built on top of Nx. Implements algorithms for:
- Classification
- Regression
- Clustering
- Dimensionality reduction
- Metrics and preprocessing
- EXGBoost - Decision Trees implemented using the XGBoost C API.
- Mockinjay - Implementation of Microsoft's Hummingbird library for converting trained Decision Tree models into Nx tensor computations.
- Soothsayer - Time series forecasting library inspired by Facebook's Prophet and NeuralProphet.
- Ulam - Elixir interface to Stan, a probabilist programming language.
- Axon - Neural Networks for Elixir. Built with Nx.
- Bumblebee - Pre-trained neural network models on top of Axon. Provides integration with Hugging Face.
- Ortex - Wrapper around ONNX. Enables you to run ONNX models using Nx.
- Honeycomb - Fast LLM inference built on Elixir, Bumblebee, and EXLA.
- Instructor.ex - Structured outputs from LLMs using Ecto schemas. Works with OpenAI, llama.cpp and Bumblebee.
- Jido - Framework for building autonomous, distributed agent systems using traditional AI and ML approaches.
- LangChain - Framework for developing applications powered by language models, with support for OpenAI, Anthropic, Google, and Bumblebee models.
- José Valim's Livebooks - Livebooks that José used for talks and Advent of Code.
- Programming Machine Learning - Livebook notebooks with code examples for the Programming Machine Learning book by Paolo Perrotta
- Machine Learning in Elixir - Livebooks following along with the book Machine Learning in Elixir by Sean Moriarity
- Asynchronous Processing in Elixir - Interactive guide using Livebook to asynchronous data processing in Elixir.
- Machine Learning in Elixir - Learning to Learn with Nx and Axon (by Sean Moriarity)
- Genetic Algorithms in Elixir - Solve Problems Using Evolution (by Sean Moriarity)
- (2023) A year in production with Machine Learning on the BEAM (Explorer, Scholar, Bumblebee, Livebook)
- (2023) Nx-powered decision trees (Nx, EXGBoost)
- (2023) Building AI apps with Elixir
- (2023) MLOps in Elixir: Simplifying traditional MLOps with Elixir (Nx, Bumbleblee)
- (2023) Fine-tuning language models with Axon (Axon)
- (2023) Data wrangling with Livebook and Explorer (Livebook, Explorer)
- (2022) The Future AI Stack by Chris Grainer (Explorer, Axon)
- (2022) Announcing Bumblebee: pre-trained machine learning models for GPT2, StableDiffusion, and more (Livebook, Bumblebee)
- (2022) Axon: functional programming for deep learning (Axon)
- (2023) From Python to Elixir Machine Learning - Nice wrapup on what you gain from the Elixir ecosystem for Machine Learning.
Contributions welcome! Read the contribution guidelines first.
This project is licensed under the CC0 License. Feel free to use, share, and adapt the content.