explaingit

caudena/beam_weaver

Analysis updated 2026-05-18

20ElixirAudience · developerComplexity · 4/5Setup · moderate

TLDR

An Elixir library for building AI agents and multi-step LLM workflows on top of Elixir's reliable OTP runtime.

Mindmap

mindmap
  root((beam_weaver))
    What it does
      Builds AI agents
      Graph based workflows
      Tool calling and memory
    Tech stack
      Elixir
      OTP
      OpenAI
      Anthropic
    Use cases
      Production AI services
      Retrieval augmented search
      Observability tracing
    Audience
      Elixir developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build AI agents that call tools, keep conversation memory, and pause for human input

USE CASE 2

Define graph-based workflows with checkpoints that resume after a failure

USE CASE 3

Load documents, create embeddings, and run search-augmented agent responses

USE CASE 4

Trace token usage and tool calls locally or through an external tracing service

What is it built with?

ElixirOTPOpenAIAnthropicGemini

How does it compare?

caudena/beam_weavercarterperez-dev/exs-cyberjob-scraperelixir-vibe/vibe_kit
Stars202116
LanguageElixirElixirElixir
Setup difficultymoderateeasyeasy
Complexity4/52/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires API keys for whichever AI providers you use, still early at version 0.1.x.

In plain English

BeamWeaver is an Elixir library for building AI agents and multi-step workflows that use language models. It brings together ideas from Python tools like LangChain and LangGraph, but is written from scratch in Elixir and designed to work naturally with Elixir's OTP runtime, which is known for building reliable, concurrent systems. It is not a wrapper around any Python library. The library gives developers the building blocks to wire language models into real applications. Agents can call tools, maintain conversation memory, produce structured output, and pause to wait for human input before continuing. Graph-based workflows let you define a series of steps with branching logic, checkpoints that save progress, and the ability to resume from a saved point if something fails or if a long task is interrupted. A deeper agent mode adds planning, virtual file systems, subagents that run concurrently, and summarization for long-running tasks. BeamWeaver connects to AI providers including OpenAI, Anthropic, Google Gemini, xAI, and Moonshot. It includes built-in profiles for specific model versions from each provider, which carry the token limits, cost rates, and capability flags for that model. Retrieval features let you load documents, split them into chunks, create embeddings, and store them in a vector database for use in search-augmented agent responses. Observability tools let you trace what the agent did, how many tokens were used, and what each tool call returned, either locally or through an external tracing service called WeaveScope. The library is added to an Elixir project through the standard package manager. Configuration is minimal: you provide API keys for whichever providers you use, and the library handles the rest. Agents can be defined using a module-based format that keeps model choice, system prompt, tools, and middleware in one place, or built dynamically from configuration maps at runtime. BeamWeaver is early in development, at version 0.1.x. It targets Elixir developers building production services that need to incorporate AI model calls alongside existing OTP supervision, database access, and telemetry.

Copy-paste prompts

Prompt 1
Explain how BeamWeaver's graph-based workflows compare to LangGraph's approach
Prompt 2
Help me set up a BeamWeaver agent that calls tools and maintains conversation memory in Elixir
Prompt 3
Show me how to configure BeamWeaver to fall back between OpenAI and Anthropic models
Prompt 4
Walk me through adding retrieval-augmented search to a BeamWeaver agent using embeddings

Frequently asked questions

What is beam_weaver?

An Elixir library for building AI agents and multi-step LLM workflows on top of Elixir's reliable OTP runtime.

What language is beam_weaver written in?

Mainly Elixir. The stack also includes Elixir, OTP, OpenAI.

How hard is beam_weaver to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is beam_weaver for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.