O MiroFlow é uma estrutura de corpo inteligente projetada para simplificar o desenvolvimento de sistemas corporais complexos e multiinteligentes. Ele fornece um conjunto de ferramentas testadas que podem concluir de forma confiável tarefas complexas que exigem o uso de várias ferramentas. O MiroFlow obteve uma aprovação@1 (média de três execuções) de 72,2% no conjunto de validação GAIA, um desempenho que está na vanguarda das estruturas de corpos inteligentes de código aberto. A estrutura é altamente simultânea e tolerante a falhas, permitindo a coleta eficiente de dados em grande escala e lidando com a limitação da taxa de acesso à API e a instabilidade da rede. Ao mesmo tempo, o MiroFlow tem recursos integrados de observabilidade e avaliação, vem com scripts para benchmarking e uma interface de usuário da Web para visualizar e depurar dados de rastreamento de corpos inteligentes. O MiroFlow é totalmente integrado à família MiroThinker de modelos de corpos inteligentes de código aberto, criados especificamente para lidar com tarefas complexas de vários instrumentos e projetados para fornecer uma solução completa, desde o desenvolvimento até a implantação.
Lista de funções
- Desempenho reproduzível: demonstrou níveis de desempenho de última geração no conjunto de validação GAIA ao usar o Claude Sonnet 3.7 como seu principal modelo de linguagem em larga escala, MiroFlow在三次运行中的平均pass@1得分率为72.2%.
- Alta simultaneidade e tolerância a falhasEstrutura: A estrutura foi projetada para oferecer suporte ao dimensionamento eficiente da coleta de dados e para lidar com problemas como instabilidade da rede ou limitação da API.
- Observabilidade e avaliação incorporadasÉ fornecido com scripts de benchmarking e uma interface de usuário da Web para que os desenvolvedores visualizem, analisem e depurem os dados operacionais do corpo inteligente.
- Arquitetura modularDesign modular sofisticado que oferece suporte ao diálogo em várias rodadas, integração total de ferramentas e uma estrutura hierárquica de subinteligência.
- Visão geral do fluxo de trabalho:
- Reconhecimento de intenções e aprimoramento de consultas:: análise da entrada do usuário usando modelos de linguagem em grande escala para determinar a intenção e enriquecer as consultas.
- Planejamento e atribuição de tarefas:: as inteligências mestres desenvolvem um plano de execução com base na consulta aprimorada e coordenam todo o fluxo de trabalho.
- Atribuição à subinteligência:: Para tarefas complexas de domínio específico, a inteligência principal pode delegar tarefas a subinteligências especializadas.
- Acesso a ferramentas por meio do servidor MCPQuando a funcionalidade externa é necessária, as inteligências utilizam ferramentas especializadas conectando-se a um servidor MCP (Model Context Protocol).
- Síntese de resultados e alinhamento de resultados: Depois que a tarefa é concluída, um processo de resumo dedicado sintetiza os resultados para garantir que a saída seja de alta qualidade e esteja em conformidade com as instruções do usuário.
- Integração com o MiroThinker:: Trabalhe perfeitamente com modelos corporais inteligentes de código aberto do MiroThinker, projetados para executar tarefas complexas de engajamento com várias ferramentas.
Usando a Ajuda
Configurações de instalação e ambiente
Recomendamos o uso deuv
responder cantandopython>=3.12
Versão.
Etapa 1: clonar o repositório e preparar o ambiente Python
Primeiro, clone o repositório do GitHub do MiroFlow localmente e vá para o diretório apropriado do aplicativo e, em seguida, use o comandouv
Sincronização do ambiente.
## 克隆仓库
git clone https://github.com/MiroMindAI/MiroFlow
cd MiroFlow/apps/run-agent
## 准备python环境
uv sync
Etapa 2: Definição de variáveis de ambiente
É necessário definir uma série de variáveis de ambiente para que o MiroFlow possa acessar os conjuntos de dados e os serviços de API necessários.
As variáveis de ambiente necessárias incluem:
HF_TOKEN
Usado para baixar conjuntos de dados do Hugging Face.OPENROUTER_API_KEY
Use o OpenRouter para fornecer o modelo principal da intelligentsia.ANTHROPIC_API_KEY
:: Para ferramentas visuais.OPENAI_API_KEY
para ferramentas de áudio, reconhecimento de intenção e extração de respostas.GEMINI_API_KEY
Usado para lidar com tarefas relacionadas ao YouTube.SERPER_API_KEY
Para pesquisa do Google e rastreamento do conteúdo do site.JINA_API_KEY
Usado para rastreamento do conteúdo do site.E2B_API_KEY
Para ambientes de área restrita do Linux.
Variáveis de ambiente opcionais:
HTTPS_PROXY
Proxy da Web: define o proxy da Web, o padrão é vazio.DATA_DIR
Diretório de carregamento de dados: o diretório de carregamento de dados, por padrão../../data
.
Você precisa armazenar essas variáveis na variável.env
arquivo. Você pode começar fazendo uma cópia do arquivo de modelo:
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="相关任务文件的路径"
Avaliação na linha de base
Você pode executar avaliações em dados de benchmark usando inteligências predefinidas.
- Dados para download:
## 下载数据 cd MiroFlow/apps/prepare-benchmark uv run main.py get gaia-val
- Execute o código:
## 运行代码 cd MiroFlow/apps/run-agent uv run main.py common-benchmark benchmark=gaia-validation
Se várias avaliações precisarem ser realizadas em paralelo, os scripts fornecidos poderão ser usados:
cd MiroFlow/apps/run-agent
bash scripts/claude-sonnet-3.7/run_evaluate_multiple_runs_gaia-validation.sh
cenário do aplicativo
- Automação de tarefas complexas
O MiroFlow pode ser usado para automatizar tarefas complexas que exigem coordenação de várias etapas e várias ferramentas, como a realização de pesquisas aprofundadas sobre o assunto. O Intelligentsia pode planejar, realizar pesquisas, analisar dados e gerar relatórios de forma autônoma. - Assistência ao desenvolvimento de software
Os desenvolvedores podem usar o MiroFlow para criar inteligências que podem ajudar na programação, como escrever código automaticamente, executar testes, depurar e corrigir bugs. - Coleta e análise de dados
A natureza altamente concorrente do MiroFlow o torna ideal para projetos de coleta de dados em larga escala, como o rastreamento de informações de vários sites, o processamento e a realização de análises estruturadas. - pesquisa acadêmica
Os pesquisadores podem usar o MiroFlow para replicar e validar o desempenho das inteligências de IA ou desenvolver novos modelos de corpos inteligentes e algoritmos com base na estrutura para avançar no campo da IA.
QA
- Por que escolher o MiroFlow em vez de outros frameworks de corpos inteligentes?
O principal ponto forte do MiroFlow é seu desempenho estável e reproduzível. Muitos projetos de código aberto, embora listem altas pontuações de benchmark em sua documentação, geralmente não apresentam condições de teste explícitas e são difíceis de reproduzir. O MiroFlow fornece scripts e perfis de avaliação totalmente abertos e publicou várias execuções de rastreamento GAIA independentes no HuggingFace, garantindo a transparência e a confiabilidade dos resultados. - Quais modelos de linguagem em larga escala são compatíveis com o MiroFlow?
OLLM Client
Uma interface unificada é fornecida para dar suporte a uma ampla gama de grandes provedores de modelos de linguagem, incluindo Anthropic, OpenAI, Google, Qwen, DeepSeek, bem como modelos implantados localmente. - O que é o MiroThinker e como ele se relaciona com o MiroFlow?
O MiroThinker é uma família de modelos de corpos inteligentes de código aberto da MiroMindAI, projetados especificamente para lidar com tarefas complexas de várias ferramentas. O MiroFlow, uma estrutura de corpo inteligente, integra-se perfeitamente aos modelos MiroThinker para fornecer uma solução completa, do modelo à estrutura, para a criação de corpos inteligentes de IA reproduzíveis e de alto desempenho.