Skip to content

A curated list of Machine Learning libraries and resources for the Elixir programming language.

License

Notifications You must be signed in to change notification settings

georgeguimaraes/awesome-ml-gen-ai-elixir

Repository files navigation

Awesome ML & GenAI in Elixir logo

Awesome ML & GenAI in Elixir

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.


Contents

Core Tools

  • 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.

Machine Learning

Traditional Machine Learning

  • 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.

Deep Learning

  • 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.

Computer Vision

  • Evision - OpenCV bindings for Elixir/Erlang.
  • NxImage - Image processing in Nx.

Generative AI

LLM Tools

  • 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.

Agent Frameworks

  • 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.

Livebooks & Examples

Resources

Books

Videos

Articles

Contributions

Contributions welcome! Read the contribution guidelines first.

License

This project is licensed under the CC0 License. Feel free to use, share, and adapt the content.