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.
- Pythonx - Embeds a Python interpreter directly into Elixir via NIF, running in the same OS process as the BEAM. Enables Elixir apps and Livebooks to call Python ML libraries directly.
- 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.
- Evision - OpenCV bindings for Elixir/Erlang.
- NxImage - Image processing in Nx.
- YOLO - Real-time object detection using YOLOv8 models with 38ms processing time and optional Rust NIF for performance.
- ExFaiss - Elixir front-end to Facebook AI Similarity Search (Faiss) for efficient similarity search and clustering of dense vectors.
- Leidenfold - Elixir bindings for the Leiden community detection algorithm.
- Stephen - ColBERT-style neural retrieval for Elixir.
- Arcana - Embeddable RAG library for Elixir/Phoenix with agentic pipelines and dashboard.
- AshAi - Structured outputs, vectorization and tool calling for your Ash application with LangChain integration and MCP server capabilities.
- ClaudeCode - SDK for embedding Claude as an agentic AI in Elixir apps with tool calling and MCP integration.
- LLM Composer - Multi-provider LLM library with routing, fallback, streaming, and cost tracking for OpenAI, Anthropic, Gemini, and more.
- ReqLLM - A Req-based package to call LLM APIs that standardizes the API calls and responses for LLM providers.
- DSPEx - DSPy port for Elixir with data-driven prompt optimization.
- Gemini.ex - Elixir client for Google Gemini LLM supporting both AI Studio and Vertex AI.
- Handwave - LLM-powered control flow for Elixir: conditional logic, text rewriting, and routing decisions via natural language rather than code.
- Honeycomb - Fast LLM inference service and library built on Elixir, Bumblebee, and EXLA with OpenAI API compatibility.
- Instructor.ex - Structured outputs from LLMs using Ecto schemas. Works with OpenAI, llama.cpp and Bumblebee.
- JsonRemedy - JSON repair library for fixing malformed LLM outputs.
- InstructorLite - Lightweight structured outputs for LLMs using JSON schemas with multi-provider support including OpenAI, Anthropic, and Gemini.
- Mentor - Library for generating validated structured outputs from LLMs with automatic retries and schema validation.
- Mistral - Open-source Elixir client for the Mistral AI API covering chat completions, function calling, embeddings, streaming, OCR, fine-tuning, and batch processing.
- Ollama-ex - Elixir client for Ollama API with support for completions, chat, tools, and function calling.
- OpenAI.ex - OpenAI API client with streaming, file uploads, and Azure OpenAI support.
- Rag - Library for building Retrieval Augmented Generation (RAG) systems with support for vector stores like pgvector and chroma.
- TextChunker - Semantic text chunking library optimized for vector embedding and RAG applications.
- Tribunal - LLM evaluation framework that provides tools for evaluating and testing LLM outputs, detecting hallucinations, and measuring response quality
- Bazaar - Elixir SDK for serving AI agent commerce protocols (UCP and ACP) from a single Phoenix handler. Supports Google Shopping agents (UCP) and OpenAI/Stripe agents (ACP) with automatic request/response translation between protocols.
- Jido - Framework for building autonomous, distributed agent systems with modular actions, stateful agents, and sensors. AI-framework agnostic.
- Jido.AI - LLM integration layer for Jido. Provides actions and reasoning strategies (ReAct, Chain-of-Thought, Tree-of-Thoughts) for building intelligent agents with OpenAI, Anthropic, and other providers.
- LangChain - Framework for developing applications powered by language models, with support for OpenAI, Anthropic, Google, and Bumblebee models.
- Sagents - Framework for interactive AI agents with OTP supervision, middleware composition, human-in-the-loop approvals, sub-agent delegation, and a Phoenix LiveView debugger.
- SwarmEx - Lightweight library for AI agent orchestration with built-in telemetry and tool integration.
- Synapse - Multi-agent orchestration framework with Postgres persistence.
- AgentObs - LLM agent observability with telemetry, token tracking, and OpenTelemetry spans following OpenInference conventions.
- Alike - Semantic similarity testing library using a wave operator (
<~>) for assertions. Tests whether sentences convey the same meaning rather than exact matches, ideal for validating LLM outputs. - Beamlens - AI-powered runtime intelligence for the BEAM. Lives in your supervision tree and uses LLMs to explain metrics, diagnose incidents, detect anomalies, and trace message queue bottlenecks.
- claude-code-elixir - Collection of Claude Code plugins for Elixir development. Includes LSP integration, formatting and compilation hooks, and thinking skills for Elixir, Phoenix, Ecto, and OTP patterns.
- Evals - Tool for evaluating AI language models on Elixir code generation with side-by-side model comparisons and automated testing.
- llm_db - LLM model metadata database with O(1) lookups for provider capabilities, pricing, and context limits. Packaged as a dependency snapshot with no runtime network calls needed.
- LlmGuard - AI firewall with prompt injection detection, PII redaction, and jailbreak prevention for LLM applications.
- HexDocs MCP - Enables semantic search of Elixir package documentation for AI assistants via Model Context Protocol (MCP).
- Anubis MCP - SDK for the Model Context Protocol (MCP) with support for multiple transport options (STDIO, HTTP/SSE, WebSocket).
- ex_mcp - Complete Elixir implementation of the Model Context Protocol (v2025-11-25) with client and server support, multiple transports including native BEAM, and 2600+ tests.
- MCP Proxy - Proxy that connects STDIO-based MCP clients to HTTP-based Server-Sent Events (SSE) MCP servers.
- Tidewave Phoenix - AI-powered development assistant for Phoenix web applications that connects editor AI assistants to web framework runtime via MCP.
- Usage Rules - Tool for synchronizing LLM rules files with dependencies to prevent AI hallucinations and ensure consistent usage patterns.
- 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)
- (2025) Keynote: Elixir's AI Future - Chris McCord
- (2025) Keynote: Designing LLM Native systems - Sean Moriarity
- (2025) Full-Stack AI with Elixir - George Guimarães
- (2025) Keynote: Code Generators are Dead. Long Live Code Generators - Chris McCord
- (2024) Ship it! A Roadmap for Putting Nx into Production - Christopher Grainger
- (2024) Using LLMs and AI Agents to super power your Phoenix apps - Byron Saltysiak
- (2024) Soothsayer: Using NeuralProphet, Nx and Livebook to Forecast Business Data in Elixir - George Guimarães
- (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)
- (2026) Why Elixir is the best language for AI - José Valim makes a data-backed case for Elixir in the AI era: immutability, first-class docs, operational simplicity, and runtime introspection.
- (2026) Your Agent Framework Is Just a Bad Clone of Elixir - George Guimarães argues that Python agent frameworks are independently rediscovering BEAM primitives, and Elixir already solves the hard parts of long-lived agent connections.
- (2025) Embedding Python in Elixir, it's Fine - Jonatan Kłosko introduces Pythonx: embedding Python directly in the BEAM via NIF with automatic virtual env management and same-process memory sharing.
- (2025) Building a MCP Server in Elixir - Hashrocket walks through building a real MCP server using Anubis, letting AI tools like Claude Code and Cursor interact directly with a Phoenix app.
- (2024) Elixir and Machine Learning in 2024 so far - José Valim's mid-year ecosystem update covering Nx's move to MLIR, Apple Silicon support, Explorer's Arrow improvements, and structured outputs via instructor_ex.
- (2024) What I mean when I say ML in Elixir is production-ready - Christopher Grainger makes the case for production ML on the BEAM: Nx.Serving for distributed batching, actor model for model supervision, and native integration with Phoenix, Oban, and Broadway.
- (2024) AI GPU Clusters, From Your Laptop, With Livebook - Chris McCord and José Valim demonstrate scaling to 64 GPU machines simultaneously from a local Livebook using FLAME and Nx's native BEAM clustering.
- (2024) Training LoRA Models with Axon - Sean Moriarity's deep dive on fine-tuning LLMs in pure Elixir using LoRA and Axon's graph rewriting APIs.
- (2024) Implementing Natural Conversational Agents with Elixir - Sean Moriarity builds a voice AI assistant with Whisper, GPT-3.5, and ElevenLabs in Elixir, reducing latency from 4.5s to ~1s with Silero VAD and GPU acceleration.
- (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.
