MiroFlow ist ein Framework für intelligente Körper, das die Entwicklung komplexer multi-intelligenter Körpersysteme vereinfachen soll. MiroFlow erreichte bei der GAIA-Validierung einen Durchschnitt von 72,2% bei drei Durchläufen, eine Leistung, die an der Spitze der Open-Source-Frameworks für intelligente Körper liegt. Das Framework ist hochgradig konkurrierend und fehlertolerant, was eine effiziente Datenerfassung in großem Maßstab und den Umgang mit begrenzter API-Zugriffsrate und Netzwerkinstabilität ermöglicht. Gleichzeitig verfügt MiroFlow über eingebaute Beobachtungs- und Auswertungsfunktionen, Skripte für das Benchmarking und eine Web-Benutzeroberfläche zur Visualisierung und Fehlersuche von Smartbody-Trace-Daten. MiroFlow ist eng mit der MiroThinker-Familie quelloffener intelligenter Körpermodelle integriert, die speziell für die Bewältigung komplexer, instrumentenübergreifender Aufgaben entwickelt wurden und eine Komplettlösung von der Entwicklung bis zum Einsatz bieten sollen.
Funktionsliste
- Reproduzierbare Leistung:: Demonstrierte Spitzenleistungen auf dem GAIA-Validierungsset unter Verwendung von Claude Sonnet 3.7 als primäres, groß angelegtes Sprachmodell, MiroFlow在三次运行中的平均pass@1得分率为72.2%.
- Hohe Gleichzeitigkeit und FehlertoleranzDas Framework ist so konzipiert, dass es eine effiziente Skalierung der Datenerfassung unterstützt und Probleme wie Netzinstabilität oder API-Beschränkungen bewältigt.
- Integrierte Beobachtbarkeit und BewertungBenchmarking-Skripte und eine Web-Benutzeroberfläche für Entwickler zur Visualisierung, Analyse und Fehlerbehebung der Betriebsdaten des intelligenten Körpers sind im Lieferumfang enthalten.
- Modulare Architektur:: Ein ausgeklügeltes, modulares Design, das den Dialog über mehrere Runden, die vollständige Integration von Werkzeugen und eine hierarchische Sub-Intelligenzstruktur unterstützt.
- Workflow-Übersicht:
- Absichtserkennung und Verbesserung der Abfrage:: Analyse von Benutzereingaben mit Hilfe von groß angelegten Sprachmodellen zur Bestimmung der Absicht und zur Anreicherung von Suchanfragen.
- Planung und Aufgabenstellung:: Die Master-Intelligenzen entwickeln einen Ausführungsplan auf der Grundlage der erweiterten Anfrage und koordinieren den gesamten Arbeitsablauf.
- Zuordnung zu einer Sub-Intelligenz:: Für komplexe bereichsspezifische Aufgaben kann die Hauptintelligenz Aufgaben an spezialisierte Unterintelligenzen delegieren.
- Zugang zu Tools über MCP-ServerWenn externe Funktionen erforderlich sind, verwenden die intelligenten Systeme spezielle Tools, indem sie sich mit einem MCP-Server (Model Context Protocol) verbinden.
- Ergebnissynthese und Ergebnisabgleich:: Nach Abschluss der Aufgabe werden die Ergebnisse in einem speziellen Zusammenfassungsprozess zusammengefasst, um sicherzustellen, dass die Ausgabe von hoher Qualität ist und den Benutzeranweisungen entspricht.
- Integration mit MiroThinkerMiroThinker: Arbeitet nahtlos mit den intelligenten Open-Source-Körpermodellen von MiroThinker, die für komplexe, werkzeugübergreifende Aufgaben konzipiert sind.
Hilfe verwenden
Installation und Umgebungseinstellungen
Wir empfehlen die Verwendung vonuv
im Gesang antwortenpython>=3.12
Version.
Schritt 1: Klonen des Repositorys und Vorbereiten der Python-Umgebung
Klonen Sie zunächst lokal das GitHub-Repository von MiroFlow und wechseln Sie in das entsprechende Anwendungsverzeichnis, dann verwenden Sie dieuv
Synchronisierung der Umwelt.
## 克隆仓库
git clone https://github.com/MiroMindAI/MiroFlow
cd MiroFlow/apps/run-agent
## 准备python环境
uv sync
Schritt 2: Einstellen von Umgebungsvariablen
Sie müssen eine Reihe von Umgebungsvariablen setzen, damit MiroFlow auf die erforderlichen Datensätze und API-Dienste zugreifen kann.
Folgende Umgebungsvariablen sind erforderlich:
HF_TOKEN
: Dient zum Herunterladen von Datensätzen aus Hugging Face.OPENROUTER_API_KEY
OpenRouter verwenden, um das wichtigste Intelligenzmodell bereitzustellen.ANTHROPIC_API_KEY
:: Für visuelle Werkzeuge.OPENAI_API_KEY
: für Audiotools, Absichtserkennung und Antwortextraktion.GEMINI_API_KEY
: Dient der Abwicklung von YouTube-bezogenen Aufgaben.SERPER_API_KEY
Für die Google-Suche und das Crawling von Website-Inhalten.JINA_API_KEY
:: Wird für das Crawlen von Website-Inhalten verwendet.E2B_API_KEY
Für Sandbox-Umgebungen unter Linux.
Optionale Umgebungsvariablen:
HTTPS_PROXY
Web-Proxy: Legen Sie den Web-Proxy fest, die Voreinstellung ist leer.DATA_DIR
Das Verzeichnis zum Laden der Daten, standardmäßig../../data
.
Sie müssen diese Variablen in der Datei.env
Datei. Sie können damit beginnen, eine Kopie der Vorlagendatei zu erstellen:
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="相关任务文件的路径"
Bewertung zum Zeitpunkt der Baseline
Sie können Auswertungen auf Basis von Benchmark-Daten unter Verwendung voreingestellter Intelligenzen durchführen.
- Daten herunterladen:
## 下载数据 cd MiroFlow/apps/prepare-benchmark uv run main.py get gaia-val
- Führen Sie den Code aus:
## 运行代码 cd MiroFlow/apps/run-agent uv run main.py common-benchmark benchmark=gaia-validation
Wenn mehrere Auswertungen parallel durchgeführt werden müssen, können die mitgelieferten Skripte verwendet werden:
cd MiroFlow/apps/run-agent
bash scripts/claude-sonnet-3.7/run_evaluate_multiple_runs_gaia-validation.sh
Anwendungsszenario
- Automatisierung komplexer Aufgaben
MiroFlow kann zur Automatisierung komplexer Aufgaben eingesetzt werden, die eine mehrstufige Koordination mit mehreren Werkzeugen erfordern, wie z. B. die Durchführung eingehender Recherchen zu einem Thema. Intelligentsia kann eigenständig planen, Recherchen durchführen, Daten analysieren und Berichte erstellen. - Unterstützung bei der Softwareentwicklung
Entwickler können mit MiroFlow Intelligenzen aufbauen, die sie bei der Programmierung unterstützen, z. B. beim automatischen Schreiben von Code, Ausführen von Tests, Debuggen und Beheben von Fehlern. - Datenerhebung und -analyse
Die hochgradige Gleichzeitigkeit von MiroFlow macht es ideal für groß angelegte Datenerfassungsprojekte, wie z. B. das Crawlen von Informationen von mehreren Websites, deren Verarbeitung und die Durchführung strukturierter Analysen. - akademische Forschung
Forscher können MiroFlow nutzen, um die Leistung von KI-Intelligenzen zu replizieren und zu validieren oder neue intelligente Körpermodelle und Algorithmen auf der Grundlage des Frameworks zu entwickeln, um den Bereich der KI voranzubringen.
QA
- Warum sollte MiroFlow anderen intelligenten Körper-Frameworks vorgezogen werden?
Die zentrale Stärke von MiroFlow ist seine stabile und reproduzierbare Leistung. Viele Open-Source-Projekte führen zwar hohe Benchmark-Ergebnisse in ihrer Dokumentation auf, aber oft fehlen explizite Testbedingungen und sind schwer zu reproduzieren. MiroFlow stellt vollständig offene Evaluierungsskripte und -profile zur Verfügung und hat mehrere unabhängige GAIA-Trace-Läufe auf HuggingFace veröffentlicht, was Transparenz und Zuverlässigkeit der Ergebnisse gewährleistet. - Welche groß angelegten Sprachmodelle unterstützt MiroFlow?
MiroFlow'sLLM Client
Eine einheitliche Schnittstelle unterstützt eine Vielzahl von großen Sprachmodellanbietern, darunter Anthropic, OpenAI, Google, Qwen, DeepSeek, sowie lokal eingesetzte Modelle. - Was ist MiroThinker und wie hängt es mit MiroFlow zusammen?
MiroThinker ist eine Familie von quelloffenen intelligenten Körpermodellen von MiroMindAI, die speziell für die Bearbeitung komplexer Multi-Tool-Aufgaben entwickelt wurden. MiroFlow, ein Framework für intelligente Körper, lässt sich nahtlos in die MiroThinker-Modelle integrieren und bietet eine durchgängige Lösung vom Modell bis zum Framework für den Aufbau leistungsstarker, reproduzierbarer intelligenter Körper.