210 lines
8.0 KiB
Plaintext
210 lines
8.0 KiB
Plaintext
Metadata-Version: 2.4
|
|
Name: fusionagi
|
|
Version: 0.1.0
|
|
Summary: Modular, agentic AI orchestration framework with reasoning, planning, execution, and memory.
|
|
Author: FusionAGI
|
|
License: MIT
|
|
Project-URL: Repository, https://github.com/fusionagi/fusionagi
|
|
Keywords: agi,agents,orchestration,llm
|
|
Classifier: Development Status :: 3 - Alpha
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python :: 3.13
|
|
Requires-Python: >=3.10
|
|
Description-Content-Type: text/markdown
|
|
Requires-Dist: pydantic<3,>=2.0
|
|
Provides-Extra: openai
|
|
Requires-Dist: openai>=1.12; extra == "openai"
|
|
Provides-Extra: anthropic
|
|
Requires-Dist: anthropic>=0.39; extra == "anthropic"
|
|
Provides-Extra: local
|
|
Requires-Dist: litellm>=1.40; extra == "local"
|
|
Provides-Extra: api
|
|
Requires-Dist: fastapi>=0.115; extra == "api"
|
|
Requires-Dist: uvicorn>=0.32; extra == "api"
|
|
Requires-Dist: httpx>=0.27; extra == "api"
|
|
Provides-Extra: maa
|
|
Provides-Extra: dev
|
|
Requires-Dist: pytest>=7.4; extra == "dev"
|
|
Requires-Dist: mypy>=1.8; extra == "dev"
|
|
Requires-Dist: ruff>=0.4; extra == "dev"
|
|
Provides-Extra: all
|
|
Requires-Dist: fusionagi[anthropic,local,openai]; extra == "all"
|
|
|
|
# FusionAGI
|
|
|
|
The world's most advanced **agentic AGI system**—Artificial General Intelligence, not narrow AI. A modular, composable intelligence framework that supports reasoning, planning, execution, memory, and tool use through coordinated agents, with built-in **self-improvement**, **self-correction**, **auto-recommend/suggest**, and **auto-training**.
|
|
|
|
## Features
|
|
|
|
- **AGI-first:** General intelligence across domains via composable agents, not single-task AI.
|
|
- **Self-improvement:** Learns from outcomes; reflection and heuristic updates improve behavior over time.
|
|
- **Self-correction:** Detects failures, runs critique loops, validates outputs, and retries with feedback.
|
|
- **Auto recommend / suggest:** Produces actionable recommendations (next actions, training targets, tool additions) from lessons and evaluations.
|
|
- **Auto training:** Suggests and applies heuristic updates, prompt refinements, and training targets from execution traces and reflection.
|
|
- **Modularity:** Reasoning, planning, memory, tooling, and governance are independent, replaceable modules.
|
|
- **Agent-oriented:** Agents have roles, goals, and constraints; they communicate via structured messages.
|
|
- **Model-agnostic:** LLMs are abstracted behind adapters (OpenAI, Anthropic, local).
|
|
- **Determinism:** Explicit state transitions, logged decisions, and replayable execution traces.
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
pip install -e .
|
|
# With LLM adapters (optional; MAA and core are built-in):
|
|
pip install -e ".[openai]" # OpenAIAdapter
|
|
pip install -e ".[anthropic]"
|
|
pip install -e ".[local]"
|
|
pip install -e ".[all]" # openai + anthropic + local
|
|
pip install -e ".[dev]" # pytest
|
|
```
|
|
|
|
- **MAA** (Manufacturing Authority Add-On) is built-in; no extra dependency.
|
|
- **Optional extras:** `openai`, `anthropic`, `local` are for LLM providers; `dev` is for tests (`pytest`).
|
|
- **OpenAIAdapter** requires `fusionagi[openai]`; use `from fusionagi.adapters import OpenAIAdapter` (or `from fusionagi.adapters.openai_adapter import OpenAIAdapter` if the optional import is not used).
|
|
- **CachedAdapter** wraps any `LLMAdapter` and caches `complete()` responses; no extra dependency. Use `from fusionagi.adapters import CachedAdapter`.
|
|
|
|
## Project Layout
|
|
|
|
```
|
|
fusionagi/
|
|
├── core/ # Orchestrator, event bus, state manager, persistence
|
|
├── agents/ # Planner, Reasoner, Executor, Critic
|
|
├── reasoning/ # Chain-of-thought and tree-of-thought
|
|
├── planning/ # Plan graph, dependency resolution, strategies
|
|
├── memory/ # Working, episodic, reflective memory
|
|
├── tools/ # Tool registry, safe runner, builtins
|
|
├── governance/ # Guardrails, rate limiting, access control, override hooks
|
|
├── reflection/ # Post-task reflection and heuristic updates
|
|
├── self_improvement/ # Self-correction, auto-recommend/suggest, auto-training, FusionAGILoop
|
|
├── interfaces/ # Admin panel, multi-modal UI, voice, conversation
|
|
├── adapters/ # LLM adapters (OpenAI, stub, cache)
|
|
├── schemas/ # Task, message, plan, recommendation schemas
|
|
├── tests/
|
|
└── docs/
|
|
```
|
|
|
|
## Usage
|
|
|
|
```python
|
|
from fusionagi import Orchestrator, EventBus, StateManager
|
|
from fusionagi.agents import PlannerAgent
|
|
|
|
bus = EventBus()
|
|
state = StateManager()
|
|
orch = Orchestrator(event_bus=bus, state_manager=state)
|
|
planner_agent = PlannerAgent()
|
|
orch.register_agent("planner", planner_agent)
|
|
task_id = orch.submit_task(goal="Summarize the project README")
|
|
```
|
|
|
|
With self-improvement (FusionAGILoop): self-correction, auto-recommend, auto-training:
|
|
|
|
```python
|
|
from fusionagi import Orchestrator, EventBus, StateManager, FusionAGILoop
|
|
from fusionagi.memory import ReflectiveMemory
|
|
from fusionagi.agents import CriticAgent
|
|
|
|
bus = EventBus()
|
|
state = StateManager()
|
|
orch = Orchestrator(event_bus=bus, state_manager=state)
|
|
reflective = ReflectiveMemory()
|
|
critic = CriticAgent(identity="critic")
|
|
orch.register_agent("critic", critic)
|
|
|
|
agi_loop = FusionAGILoop(
|
|
event_bus=bus,
|
|
state_manager=state,
|
|
orchestrator=orch,
|
|
critic_agent=critic,
|
|
reflective_memory=reflective,
|
|
auto_retry_on_failure=False,
|
|
on_recommendations=lambda recs: print("Recommendations:", len(recs)),
|
|
on_training_suggestions=lambda sugs: print("Training suggestions:", len(sugs)),
|
|
)
|
|
# On task_state_changed(FAILED) and reflection_done, AGI loop runs correction, recommend, and training.
|
|
```
|
|
|
|
With an LLM adapter (optional):
|
|
|
|
```python
|
|
from fusionagi.adapters import StubAdapter, CachedAdapter
|
|
# OpenAIAdapter requires: pip install "fusionagi[openai]"
|
|
# from fusionagi.adapters import OpenAIAdapter
|
|
adapter = CachedAdapter(StubAdapter("response"), max_entries=100)
|
|
```
|
|
|
|
With admin control panel and multi-modal UI:
|
|
|
|
```python
|
|
from fusionagi.interfaces import AdminControlPanel, MultiModalUI
|
|
from fusionagi.interfaces import VoiceInterface, VoiceLibrary, ConversationManager
|
|
|
|
# Admin panel for system management
|
|
admin = AdminControlPanel(
|
|
orchestrator=orch,
|
|
event_bus=bus,
|
|
state_manager=state,
|
|
)
|
|
|
|
# Add voice profiles
|
|
from fusionagi.interfaces.voice import VoiceProfile
|
|
voice = VoiceProfile(name="Assistant", language="en-US", style="friendly")
|
|
admin.add_voice_profile(voice)
|
|
|
|
# Multi-modal user interface
|
|
voice_interface = VoiceInterface(stt_provider="whisper", tts_provider="elevenlabs")
|
|
ui = MultiModalUI(
|
|
orchestrator=orch,
|
|
conversation_manager=ConversationManager(),
|
|
voice_interface=voice_interface,
|
|
)
|
|
|
|
# Create user session with text and voice
|
|
from fusionagi.interfaces.base import ModalityType
|
|
session_id = ui.create_session(
|
|
preferred_modalities=[ModalityType.TEXT, ModalityType.VOICE]
|
|
)
|
|
|
|
# Interactive task submission with real-time feedback
|
|
task_id = await ui.submit_task_interactive(session_id, goal="Analyze data")
|
|
```
|
|
|
|
## Interfaces
|
|
|
|
FusionAGI provides comprehensive interface layers:
|
|
|
|
### Admin Control Panel
|
|
- Voice library management (TTS/STT configuration)
|
|
- Conversation style tuning (personality, formality, verbosity)
|
|
- Agent configuration and monitoring
|
|
- System health and performance metrics
|
|
- Governance policies and audit logs
|
|
- Manufacturing authority (MAA) oversight
|
|
|
|
### Multi-Modal User Interface
|
|
Supports multiple sensory modalities:
|
|
- **Text**: Chat, commands, structured input
|
|
- **Voice**: Speech-to-text, text-to-speech
|
|
- **Visual**: Images, video, AR/VR (extensible)
|
|
- **Haptic**: Touch feedback (extensible)
|
|
- **Gesture**: Motion control (extensible)
|
|
- **Biometric**: Emotion detection (extensible)
|
|
|
|
See `docs/interfaces.md` and `examples/` for detailed usage.
|
|
|
|
## Development
|
|
|
|
- See `docs/architecture.md` for high-level components.
|
|
- See `docs/interfaces.md` for UI/UX layer details.
|
|
- Use `.cursor/rules` for coding standards.
|
|
- Run tests: `pytest tests/`
|
|
- Examples: `python examples/admin_panel_example.py`
|
|
|
|
## License
|
|
|
|
MIT
|