...
Nilesh Trivedi 2023-10-26 06:46:42
Elixir has a good ecosystem for building ML + Web apps including agents all in a single language.
We are currently a team of Python and Typescript developers, but were discussing Elixir this week and liked what we saw so far.
- Has concurrency and fault-tolerance built-in (WhatsApp backend uses the same VM)
- Built-in support for async processes simplifies the stack. Don't need separate process (like Celery) for queues or background jobs or recurring jobs.
- Already has an Agent construct which is a wrapper around state.
- Numerical Elixir lets it invoke models directly (using GPUs while supporting batching, partitioning and streaming)
- Phoenix LiveView (which uses Websockets to stream HTML down to the client) simplifies creation of dynamic webapps while keeping all state management on the server. Phoenix is the web application framework.
- Ecto provides data validation and persistence
- Livebook is an interactive notebook
- Bumblebee
- provides easy access to pre-trained models
A couple of demos to showcase the capabilities of this stack:
- LiveView with Phoenix to create a single-page app without writing Javascript: youtu.be/MZvmYaFkNJI
- NX, Livebook and Bumblebee to use ML models: youtu.be/g3oyh3g1AtQ
π Agent
Website for Elixir
π Phoenix Framework
Phoenix is a web framework for the Elixir programming language that gives you peace of mind from development to production