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.
  • YOLO - Real-time object detection using YOLOv8 models with 38ms processing time and optional Rust NIF for performance.

Vector Search & Similarity

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

Generative AI

LLM Tools

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

Agent Frameworks

  • Jido - Framework for building autonomous, distributed agent systems with modular actions, stateful agents, and sensors. AI-framework agnostic.
  • LangChain - Framework for developing applications powered by language models, with support for OpenAI, Anthropic, Google, and Bumblebee models.
  • SwarmEx - Lightweight library for AI agent orchestration with built-in telemetry and tool integration.
  • Synapse - Multi-agent orchestration framework with Postgres persistence.

Development Tools

  • 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.
  • Evals - Tool for evaluating AI language models on Elixir code generation with side-by-side model comparisons and automated testing.
  • 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).
  • 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.

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.

About

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

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 6