freshcrate
Skin:/
Home > Frameworks > multi-agent-orchestration-framework

multi-agent-orchestration-framework

Modular multi-agent orchestration framework powered by LangGraph and FastAPI.

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

Modular multi-agent orchestration framework powered by LangGraph and FastAPI.

README

๐Ÿง  Multi-Agent Orchestration Framework

A declarative LangGraph-based framework for building multi-agent workflows

License: MIT Python 3.12+ StarsFramework FastAPI Version

A plug-and-play multi-agent orchestration framework for developers building domain-specific AI systems with LangGraph โ€” composable, declarative, and production-ready.

๐Ÿท๏ธ Topics

langgraph multi-agent llm ai-framework fastapi python orchestration yaml-config redis azure-openai agent-framework langchain workflow-engine conversational-ai state-management declarative modular production-ready


๐ŸŒ Overview

Multi-Agent Orchestration Framework
is a developer-oriented orchestration framework for building multi-agent, multi-domain AI systems powered by LangGraph.

It provides a structured, extensible runtime for combining:

  • ๐Ÿง  Agents (decision-makers powered by LLMs)
  • ๐Ÿ”— Nodes (graph-executable logic units)
  • ๐Ÿงฐ Tools (external integrations)
  • ๐Ÿ’พ Memory (Redis-based short-term state)
  • โš™๏ธ Providers (Azure OpenAI, etc.)

Together, they form intelligent conversational workflows defined declaratively via YAML โ€”
so developers can rapidly compose and extend domain-specific AI applications without reimplementing orchestration logic.

Build modular, reasoning-driven AI systems โ€” without writing orchestration code.


โœจ Why This Framework?

Feature Description
๐Ÿงฉ Fully Modular Agents, Nodes, Tools, and Providers are decoupled and reusable.
๐Ÿง  Intent + Workflow System Combine intents.yaml and workflow.yaml to define complex multi-domain logic.
๐Ÿ”„ Nodeโ€“Agent Hierarchy Nodes orchestrate, Agents decide โ€” offering fine-grained control and LLM flexibility.
๐Ÿ’พ Stateful Memory Layer Redis backend for short-term conversational memory and context recall.
๐Ÿš€ LangGraph-Powered Runtime Build and execute dynamic computational graphs with full async support.
๐ŸŒ FastAPI Integration Out-of-the-box /chat endpoint ready for serving agents as microservices.
๐Ÿงญ Extensible by Design Plug in your own domains, agents, or tools in minutes.

๐Ÿงฑ Architecture Overview

+-----------------------------------------------------------+
|              ๐Ÿง  Multi-Agent Orchestrator                   |
|-----------------------------------------------------------|
|  AgentRouter  |  LangGraphBuilder  |  StateManager        |
+-----------------------------------------------------------+
|             YAML-defined Domain Workflows                 |
|-----------------------------------------------------------|
|  Nodes โ†’ Agents โ†’ Tools โ†’ Providers โ†’ LLMs                |
|-----------------------------------------------------------|
|  Redis Memory  |  FastAPI API  |  Extensible Providers    |
+-----------------------------------------------------------+

This structure allows you to design your own domain workflows
(e.g., school, finance, support) by simply defining intents and linking nodes/agents in YAML.


๐Ÿงฉ Execution Demo

Demo

Example: The framework orchestrating a full reasoning flow โ€” from intent classification and LangGraph construction to AzureOpenAI inference and Redis state persistence.


โš™๏ธ Installation

git clone https://github.com/yx-fan/agent-flow-framework.git
cd agent-flow-framework
pip install -r requirements.txt
cp .env.example .env

Then edit .env to configure Redis and Azure OpenAI (or your preferred provider if you update related code).


๐Ÿš€ Quick Start

uvicorn main:app --host 0.0.0.0 --port 8001 --reload

Access the API at
๐Ÿ‘‰ http://127.0.0.1:8001/chat

๐Ÿ“š Interactive API Documentation:

Example:

curl -X POST "http://127.0.0.1:8001/chat"     
-H "Content-Type: application/json"
-d '{"query": "hello. what is llm?"}'

In the body, you can also specify a domain and additional session_id if needed:

-d '{"query": "hello. what is llm?", "domain": "hello", "session_id": 20ffa3c6-4af9-4412-adc6-ed16ca1f71a7"}'

Response:

{
    "session_id": "20ffa3c6-4af9-4412-adc6-ed16ca1f71a7",
    "query": "hello",
    "domain": "hello",
    "result": {
        "domain": "hello",
        "intent": "greet",
        "result": {
            "query": "hello. what is llm?",
            "domain": "hello",
            "greeting": "Hello there ๐Ÿ‘‹! Let me think about that for you...",
            "agent_reply": "๐Ÿ‘‹ Hello! You said: 'hello. what is llm?'.\nLLM says: Hi there! ๐Ÿ˜Š LLM stands for \"Large Language Model.\" It's a type of advanced AI designed to understand and generate human-like text. Think of it as a virtual assistant or brainy language buddy that can help with everything from answering questions to creating stories! Did you want to know more about it? ๐Ÿ˜„",
            "timestamp": "2025-11-09T20:41:57.600949",
            "llm_used": true
        }
    }
}

โœ… The framework dynamically loads the hello domain workflow โ†’
executes GreetingNode โ†’ calls HelloAgent โ†’ routes through AzureOpenAIProvider.


๐Ÿงฉ Domain Workflow Example

data/hello/intents.yaml

intents:
  greet:
    description: Simple greetings and small talk.
    keywords: ["hello", "hi", "hey", "morning"]

data/hello/workflows/hello_workflow.yaml

greet:
  nodes:
    - name: Greeting
      type: node
      class: GreetingNode
      agent: HelloAgent
  edges: []

This modular structure lets you add new domains
by simply creating a folder like data/school/ or data/finance/
and defining custom intents.yaml + workflow.yaml files.


๐Ÿ“‚ Project Structure

agent-flow-framework/ โ”œโ”€โ”€ core/ # Base abstractions & registry โ”œโ”€โ”€ orchestrator/ # LangGraph builder & orchestration logic โ”œโ”€โ”€ nodes/ # Domain-specific nodes โ”œโ”€โ”€ agents/ # Domain-specific agents โ”œโ”€โ”€ tools/ # External API / DB / function tools โ”œโ”€โ”€ data/ # Domain intents & workflows (YAML) โ”œโ”€โ”€ providers/ # LLM providers (AzureOpenAI, etc.) โ”œโ”€โ”€ memory/ # Memory interface & Redis implementation โ”œโ”€โ”€ api/ # FastAPI endpoints โ”œโ”€โ”€ main.py # FastAPI entrypoint โ””โ”€โ”€ requirements.txt


๐Ÿง  Core Concepts

Multi-Agent Orchestration Framework consists of three layers โ€” from low-level abstraction to runtime orchestration โ€” each clearly separated and independently extensible.

Layer Role Key Components Purpose
๐Ÿงฉ Execution Layer Executes business and cognitive logic directly Node, Agent, Tool Executes domain rules and workflows, performs LLM reasoning, and interacts with external systems.
โš™๏ธ Core Layer Provides foundational abstractions and common capabilities BaseAgent, BaseNode, BaseTool, Config, Logger, MemoryInterface, Registry, Exceptions Ensures unified lifecycle, structured logging, configuration management, memory abstraction, dynamic registration, and error modeling.
๐Ÿ•น๏ธ Orchestration Layer Runtime orchestration and multi-domain routing LangGraphBuilder, AgentRouter, StateManager, OrchestratorImpl, ReflectionNode, FeedbackManager Builds LangGraph workflows from YAML, routes by domain or intent, manages session state and memory, and coordinates multi-agent execution.

โš™๏ธ Core Layer

Base Abstractions:
base_agent.py, base_node.py, base_tool.py
Define a consistent lifecycle (pre_* โ†’ execute โ†’ post_*) and encapsulate error handling across all components.

Configuration & Logging:
config.py loads environment variables and system settings;
logger.py provides structured, contextual logging with traceable IDs.

Registry:
registry.py enables dynamic registration and runtime discovery of nodes, agents, and tools โ€” supporting modular plug-and-play extensibility.

Memory Interface:
memory_interface.py unifies short-term (e.g., Redis) and long-term (e.g., vector store) memory operations through a consistent interface.

Exception Model:
exceptions.py defines standardized errors (AgentError, NodeError, โ€ฆ) to ensure predictable error propagation and graceful recovery.


๐Ÿ•น๏ธ Orchestration Layer

Responsibilities:
Drives runtime orchestration, workflow construction, and multi-domain coordination.

  • LangGraphBuilder: Parses YAML definitions and constructs executable LangGraph workflows.
  • AgentRouter: Selects the appropriate agent based on intent recognition or contextual routing.
  • StateManager: Manages conversation state, context persistence, and execution cache.
  • OrchestratorImpl: The central execution engine โ€” handles unified entrypoints, async execution, exception flow, and callback control.
  • ReflectionNode / FeedbackManager: Support reflective reasoning, evaluation, and multi-agent feedback loops.

๐Ÿงฉ Execution Layer

Node:
Encapsulates deterministic logic or structured data transformation steps.

Agent:
Handles reasoning and decision-making using LLMs, capable of invoking nodes and tools dynamically.

Tool:
Bridges the system to the external world (APIs, databases, file systems), designed to be declarative, stateless, and reusable.


๐Ÿ”ง Extending the Framework

You can easily extend the framework by adding:

  • a new domain (e.g., data/finance/)
  • a new agent that inherits from BaseAgent
  • or a new tool that implements BaseTool.

Then just register it in your YAML workflow โ€” no orchestration code changes required.


๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!
Feel free to open a Pull Request or start a discussion.

Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.


โญ Support

If you find this framework useful, please give it a โญ๏ธ star โ€” it helps others discover the project and keeps development active!


๐Ÿ“œ License

MIT License ยฉ 2025 Yuxin Fan

Release History

VersionChangesUrgencyDate
v0.1.0๐ŸŽ‰ First public release of MCP Framework - Modular architecture: Core, Execution, and Orchestration layers - LangGraph-based workflow orchestration - FastAPI integration and Redis memory - Example domain: "hello" with intent-based routing - Documentation and architecture diagram included Low11/9/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

ai-project-templateStarter app for building AI SaaS (RAG, Agentic workflow) applicationsmaster@2026-05-01
agenticaAgentica: Lightweight async-first Python framework for AI agents. ่ฝป้‡็บงๅผ‚ๆญฅไผ˜ๅ…ˆ็š„AI Agentๆก†ๆžถ๏ผŒๆ”ฏๆŒๅทฅๅ…ท่ฐƒ็”จใ€RAGใ€ๅคšๆ™บ่ƒฝไฝ“ๅ’ŒMCPใ€‚v1.4.6
SurfSenseAn open source, privacy focused alternative to NotebookLM for teams with no data limit's. Join our Discord: https://discord.gg/ejRNvftDp9v0.0.26
agentroveYour own Claude Code UI, sandbox, in-browser VS Code, terminal, multi-provider support (Anthropic, OpenAI, GitHub Copilot, OpenRouter), custom skills, and MCP servers.v0.1.38
OllamaRAG๐Ÿค– Build a smart AI assistant that learns from any website using a Retrieval-Augmented Generation framework with local models powered by Ollama.main@2026-06-06

More in Frameworks

deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.
ctranslate2Fast inference engine for Transformer models
schemathesisProperty-based testing framework for Open API and GraphQL based apps