MiroFlow is an intelligent body framework designed to simplify the development of complex multi-intelligent body systems. It provides a set of tested tools to reliably accomplish complex tasks that require the use of multiple tools.MiroFlow achieved a pass@1 (three-run average) of 72.2% on the GAIA validation set, a performance that is at the forefront of open source intelligent body frameworks. The framework is highly concurrent and fault-tolerant, allowing for efficient large-scale data collection and handling API access rate limitation and network instability. At the same time, MiroFlow has built-in observability and evaluation features, comes with scripts for benchmarking and a web user interface for visualizing and debugging smartbody trace data. MiroFlow is tightly integrated with the MiroThinker family of open-source intelligent body models, which are specifically built to handle complex multi-instrument tasks and are designed to provide a complete solution from development to deployment.
Function List
- Reproducible performance:: Demonstrated state-of-the-art performance levels on the GAIA validation set when using Claude Sonnet 3.7 as its primary large-scale language model, MiroFlow在三次运行中的平均pass@1得分率为72.2%.
- High Concurrency and Fault Tolerance: The framework is designed to support efficient data collection scaling and to handle issues such as network instability or API limitation.
- Built-in Observability and Assessment: Comes with benchmarking scripts and a web user interface for developers to visualize, analyze, and debug the smart body's operational data.
- Modular Architecture:: A sophisticated modular design that supports multi-round conversations, full tool integration, and a hierarchical sub-intelligence structure.
- Workflow overview:
- Intent Recognition and Query Enhancement: Analyze user input using large-scale language models to determine intent and enrich queries.
- Planning and tasking:: The master intelligences develop an execution plan based on the enhanced query and coordinate the entire workflow.
- Assignment to sub-intelligence:: For complex domain-specific tasks, the master intelligence can delegate tasks to specialized sub-intelligences.
- Access to tools via MCP server: When external functionality is required, intelligences utilize specialized tools by connecting to a Model Context Protocol (MCP) server.
- Result synthesis and output alignment:: Once the task is completed, a specialized summary process synthesizes the results to ensure that the output is of high quality and conforms to user instructions.
- Integration with MiroThinker: Work seamlessly with MiroThinker open-source intelligent body models that are designed to perform complex, multi-tool engagement tasks.
Using Help
Installation and Environment Setup
We recommend the use ofuv
cap (a poem)python>=3.12
Version.
Step 1: Clone the repository and prepare the Python environment
First, clone MiroFlow's GitHub repository locally and go to the appropriate application directory, then use theuv
Synchronize the environment.
## 克隆仓库
git clone https://github.com/MiroMindAI/MiroFlow
cd MiroFlow/apps/run-agent
## 准备python环境
uv sync
Step 2: Setting Environment Variables
You need to set a series of environment variables so that MiroFlow can access the required datasets and API services.
Required environment variables include:
HF_TOKEN
: Used to download datasets from Hugging Face.OPENROUTER_API_KEY
: Use OpenRouter to provide the main intelligentsia model.ANTHROPIC_API_KEY
: For visualization tools.OPENAI_API_KEY
: for audio tools, intent recognition and answer extraction.GEMINI_API_KEY
: Used to handle YouTube-related tasks.SERPER_API_KEY
: For Google search and website content crawling.JINA_API_KEY
: For web content crawling.E2B_API_KEY
: For Linux sandboxed environments.
Optional environment variables:
HTTPS_PROXY
: Sets the web proxy, which is empty by default.DATA_DIR
: The data loading directory, by default../../data
The
You need to store these variables in the.env
file. You can start by making a copy from the template file:
cd MiroFlow/apps/prepare-benchmark
cp .env.template .env
vim .env
cd ../run-agent
cp .env.template .env
vim .env
```如果你希望使用其他大型语言模型作为主要智能体模型,则需要提供相应的API密钥。
**第三步:准备E2B沙盒(可选)**
为了实现可复现的结果,官方推荐配置一个E2B沙盒。这需要你的本地环境装有`npm`和`Docker`。
1. **安装并登录E2B命令行工具:**
```bash
## 安装e2b
npm install -g @e2b/cli
## 检查是否可用
which e2b
```
2. **下载预设的Dockerfile:**
```bash
wget https://github.com/MiroMindAI/MiroFlow/blob/main/docs/e2b.Dockerfile
```
3. **构建模板:**
使用`e2b template build`命令来构建本地的Docker镜像。请将模板命名为`all_pip_apt_pkg`。
```bash
## 在本地使用`docker build`构建模板
E2B_ACCESS_TOKEN=${your-token} e2b template build -c "/root/.jupyter/start-up.sh" -n "all_pip_apt_pkg" -d ./e2b.Dockerfile
## 检查模板是否构建成功
E2B_ACCESS_TOKEN=${your-token} e2b template list
```
更多信息可以参考E2B Docker的官方文档。
### 运行与评估
**运行单个任务**
你可以通过命令行运行一个指定的任务。
```bash
## 使用指令运行一个任务
cd MiroFlow/apps/run-agent
uv run main.py trace --task="你的任务描述" --task_file_name="相关任务文件的路径"
Assessing on a baseline
You can run evaluations on benchmark data using preset intelligences.
- Download data:
## 下载数据 cd MiroFlow/apps/prepare-benchmark uv run main.py get gaia-val
- Run the code:
## 运行代码 cd MiroFlow/apps/run-agent uv run main.py common-benchmark benchmark=gaia-validation
If multiple evaluations need to be performed in parallel, you can use the provided scripts:
cd MiroFlow/apps/run-agent
bash scripts/claude-sonnet-3.7/run_evaluate_multiple_runs_gaia-validation.sh
application scenario
- Complex task automation
MiroFlow can be used to automate complex tasks that require multi-step, multi-tool coordination, such as conducting in-depth research on a topic. Intelligentsia can autonomously plan, perform searches, analyze data and generate reports. - Software Development Assistance
Developers can use MiroFlow to build intelligences that can assist in programming, such as automatically writing code, executing tests, debugging, and fixing bugs. - Data collection and analysis
MiroFlow's highly concurrent nature makes it ideal for large-scale data collection projects, such as crawling information from multiple websites, processing it, and performing structured analysis. - academic research
Researchers can use MiroFlow to replicate and validate the performance of AI intelligences or develop new intelligences models and algorithms based on the framework to advance the AI field.
QA
- Why choose MiroFlow over other intelligent body frameworks?
The core strength of MiroFlow is its stable and reproducible performance. Many open source projects, while listing high benchmark scores in their documentation, often lack explicit test conditions and are difficult to reproduce. MiroFlow provides fully open evaluation scripts and profiles, and has published multiple independent GAIA trace runs on HuggingFace, ensuring transparency and reliability of results. - What large-scale language models does MiroFlow support?
MiroFlow'sLLM Client
Provides a unified interface that supports a wide range of large language modeling providers, including Anthropic, OpenAI, Google, Qwen, DeepSeek, and locally deployed models. - What is MiroThinker and how is it related to MiroFlow?
MiroThinker is a family of open-source intelligent body models from MiroMindAI, specifically designed to handle complex multi-tool tasks. MiroFlow, an intelligent body framework, seamlessly integrates with MiroThinker models to provide an end-to-end solution from model to framework for building high-performance, reproducible AI intelligent bodies.