nrrso

nrrso

SwarmEx - a lightweight, Elixir-based library designed for orchestrating AI agents

Hi everyone! :honeybee:

I’m excited to introduce SwarmEx — a lightweight, Elixir-based library designed for orchestrating AI agents with control, flexibility, and ease. Inspired by OpenAI’s Swarm Python library, SwarmEx provides core tools to help developers create, coordinate, and manage AI agent networks.

Why SwarmEx?

SwarmEx was built to make agent orchestration in Elixir not just effective but enjoyable. Whether you’re managing complex workflows, handling specialized agents, or developing autonomous systems, SwarmEx gives you a straightforward framework with:

  • Seamless tool integration for custom tasks
  • Observability through built-in telemetry (WIP)
  • Robust error handling for dependable fault tolerance (WIP)
  • A streamlined developer experience

SwarmEx isn’t a one-to-one implementation of the OpenAI Swarm library but is inspired by its core ideas.

Getting Started

Installing SwarmEx is as easy as adding it to your mix.exs dependencies:

def deps do
  [
    {:swarm_ex, "~> 0.1.0"}
  ]
end

For a practical introduction, check out the following Livebook, where you can explore how to set up and interact with agents in real time:

Run in Livebook

Documentation & Feedback

Full documentation is available on Hexdocs. I would love to hear your feedback, ideas, or use cases! Feel free to open issues, submit PRs, or simply reach out.

Please keep in mind: SwarmEx is in alpha and rough around the edges but already usable.

Thanks, and looking forward to your feedback and ideas,
Norris

https://github.com/nrrso/swarm_ex

Most Liked

nrrso

nrrso

Thanks! I think that elixir lends itself very well for certain ML use-cases, like in the case of LLM agents. Sadly because of lacking tooling in the ecosystem we have a chicken and egg problem right now. And as always in the elixir community, beginner friendly material that is up to date is rare as well.

I am planning to add additional livebook’s with some more complex examples that mirror some examples of the openai/swarm repo. Sadly a day has only 24 hours :slight_smile:

Yeah, second post is not from me. Just flagged it as Spam / Off-Topic.

nulltree

nulltree

Nice, thanks for a cool contribution to the ecosystem - hope I find the time to check it out soon!

Btw I assume the second message is not you again, but a AI generated summary of your post of a newly registered user/bot? :smile:

Where Next?

Popular in Announcing Top

dominicletz
Hi, I thought I had posted my library before but seems I hadn’t. The project is still in early stages but it’s growing and so I think it...
New
josevalim
EDIT: since Ecto 3.0 final version is out, this post was amended to use the final versions in the instructions below. Hi everyone, We a...
New
riverrun
I’ve just released version 3 of Comeonin, a password hashing library. The following small changes have been made: changes to the NIF c...
New
Eiji
ExApi is a library that I’m developing now and hope release soon This library will allow to: list all apis list all api implementation...
New
kelvinst
Hey everyone! Well, we made this lib a while ago and now we decided to finally go out and public with it! It’s a tool for creating and m...
New
aditya7iyengar
Rummage.Ecto and Rummage.Phoenix provide ways to perform Searching, Sorting and Pagination over Ecto queries and Phoenix collections. Fo...
New
michalmuskala
Another small library today. PersistentEts Hex: persistent_ets | Hex GitHub: GitHub - michalmuskala/persistent_ets · GitHub Ets table ...
New
Hal9000
Here is my first stab at this. README pasted below. https://github.com/Hal9000/elixir_random Comments and critiques are welcome. Thank...
New
woylie
I released Doggo, a collection of unstyled Phoenix components. https://github.com/woylie/doggo Features Unstyled Phoenix components....
New
New

Other popular topics Top

AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement