genxai-framework 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- genxai_framework-0.1.0/ARCHITECTURE.md +442 -0
- genxai_framework-0.1.0/CONTRIBUTING.md +287 -0
- genxai_framework-0.1.0/GETTING_STARTED.md +278 -0
- genxai_framework-0.1.0/IMPLEMENTATION_PLAN.md +647 -0
- genxai_framework-0.1.0/LICENSE +21 -0
- genxai_framework-0.1.0/MANIFEST.in +15 -0
- genxai_framework-0.1.0/PKG-INFO +495 -0
- genxai_framework-0.1.0/README.md +414 -0
- genxai_framework-0.1.0/REQUIREMENTS.md +498 -0
- genxai_framework-0.1.0/TOOLS_DESIGN.md +907 -0
- genxai_framework-0.1.0/cli/__init__.py +3 -0
- genxai_framework-0.1.0/cli/commands/__init__.py +6 -0
- genxai_framework-0.1.0/cli/commands/approval.py +85 -0
- genxai_framework-0.1.0/cli/commands/audit.py +127 -0
- genxai_framework-0.1.0/cli/commands/metrics.py +25 -0
- genxai_framework-0.1.0/cli/commands/tool.py +389 -0
- genxai_framework-0.1.0/cli/main.py +32 -0
- genxai_framework-0.1.0/docs/AGENT_TOOL_INTEGRATION.md +197 -0
- genxai_framework-0.1.0/docs/API_REFERENCE.md +382 -0
- genxai_framework-0.1.0/docs/AUDIT_LOGGING.md +55 -0
- genxai_framework-0.1.0/docs/BENCHMARKING.md +79 -0
- genxai_framework-0.1.0/docs/CLI_USAGE.md +363 -0
- genxai_framework-0.1.0/docs/COLLABORATION_PROTOCOLS.md +25 -0
- genxai_framework-0.1.0/docs/COMPETITIVE_MATRIX.md +249 -0
- genxai_framework-0.1.0/docs/CONNECTOR_SDK.md +46 -0
- genxai_framework-0.1.0/docs/DOCS_INDEX.md +175 -0
- genxai_framework-0.1.0/docs/ENTERPRISE_ROADMAP_BACKLOG.md +90 -0
- genxai_framework-0.1.0/docs/GOVERNANCE_POLICY.md +67 -0
- genxai_framework-0.1.0/docs/GRAPH_VISUALIZATION.md +372 -0
- genxai_framework-0.1.0/docs/LAUNCH_PLAN.md +165 -0
- genxai_framework-0.1.0/docs/LLM_INTEGRATION.md +938 -0
- genxai_framework-0.1.0/docs/MCP_SETUP.md +315 -0
- genxai_framework-0.1.0/docs/PUBLISHING.md +289 -0
- genxai_framework-0.1.0/docs/QUICK_START_TUTORIAL.md +467 -0
- genxai_framework-0.1.0/docs/RELEASE_CHECKLIST.md +29 -0
- genxai_framework-0.1.0/docs/SECURITY_CHECKLIST.md +40 -0
- genxai_framework-0.1.0/docs/WORKER_QUEUE_ENGINE.md +44 -0
- genxai_framework-0.1.0/docs/WORKFLOW_BEST_PRACTICES.md +998 -0
- genxai_framework-0.1.0/examples/code/agent_registry_example.py +28 -0
- genxai_framework-0.1.0/examples/code/agent_with_memory_tools_example.py +41 -0
- genxai_framework-0.1.0/examples/code/agent_with_tools_example.py +56 -0
- genxai_framework-0.1.0/examples/code/end_to_end_example.py +285 -0
- genxai_framework-0.1.0/examples/code/function_calling_tools_example.py +30 -0
- genxai_framework-0.1.0/examples/code/graph_visualization_example.py +25 -0
- genxai_framework-0.1.0/examples/code/llm_agent_example.py +200 -0
- genxai_framework-0.1.0/examples/code/memory_system_example.py +52 -0
- genxai_framework-0.1.0/examples/code/routed_llm_provider_example.py +18 -0
- genxai_framework-0.1.0/examples/code/simple_workflow.py +89 -0
- genxai_framework-0.1.0/examples/code/testable_workflow.py +486 -0
- genxai_framework-0.1.0/examples/code/tool_execution_example.py +20 -0
- genxai_framework-0.1.0/examples/code/tool_registry_example.py +18 -0
- genxai_framework-0.1.0/examples/code/workflow_engine_example.py +27 -0
- genxai_framework-0.1.0/examples/graph_visualization_demo.py +260 -0
- genxai_framework-0.1.0/examples/patterns/01_sequential_pattern.py +194 -0
- genxai_framework-0.1.0/examples/patterns/02_conditional_branching.py +278 -0
- genxai_framework-0.1.0/examples/patterns/03_parallel_execution.py +352 -0
- genxai_framework-0.1.0/examples/patterns/04_coordinator_delegator_worker.py +436 -0
- genxai_framework-0.1.0/examples/patterns/05_cyclic_iterative.py +352 -0
- genxai_framework-0.1.0/examples/patterns/06_peer_to_peer.py +559 -0
- genxai_framework-0.1.0/genxai/__init__.py +81 -0
- genxai_framework-0.1.0/genxai/api/__init__.py +5 -0
- genxai_framework-0.1.0/genxai/api/app.py +21 -0
- genxai_framework-0.1.0/genxai/config/__init__.py +5 -0
- genxai_framework-0.1.0/genxai/config/settings.py +37 -0
- genxai_framework-0.1.0/genxai/connectors/__init__.py +19 -0
- genxai_framework-0.1.0/genxai/connectors/base.py +122 -0
- genxai_framework-0.1.0/genxai/connectors/kafka.py +92 -0
- genxai_framework-0.1.0/genxai/connectors/postgres_cdc.py +95 -0
- genxai_framework-0.1.0/genxai/connectors/registry.py +44 -0
- genxai_framework-0.1.0/genxai/connectors/sqs.py +94 -0
- genxai_framework-0.1.0/genxai/connectors/webhook.py +73 -0
- genxai_framework-0.1.0/genxai/core/__init__.py +37 -0
- genxai_framework-0.1.0/genxai/core/agent/__init__.py +32 -0
- genxai_framework-0.1.0/genxai/core/agent/base.py +206 -0
- genxai_framework-0.1.0/genxai/core/agent/config_io.py +59 -0
- genxai_framework-0.1.0/genxai/core/agent/registry.py +98 -0
- genxai_framework-0.1.0/genxai/core/agent/runtime.py +970 -0
- genxai_framework-0.1.0/genxai/core/communication/__init__.py +6 -0
- genxai_framework-0.1.0/genxai/core/communication/collaboration.py +44 -0
- genxai_framework-0.1.0/genxai/core/communication/message_bus.py +192 -0
- genxai_framework-0.1.0/genxai/core/communication/protocols.py +35 -0
- genxai_framework-0.1.0/genxai/core/execution/__init__.py +22 -0
- genxai_framework-0.1.0/genxai/core/execution/metadata.py +181 -0
- genxai_framework-0.1.0/genxai/core/execution/queue.py +201 -0
- genxai_framework-0.1.0/genxai/core/graph/__init__.py +30 -0
- genxai_framework-0.1.0/genxai/core/graph/checkpoints.py +77 -0
- genxai_framework-0.1.0/genxai/core/graph/edges.py +131 -0
- genxai_framework-0.1.0/genxai/core/graph/engine.py +813 -0
- genxai_framework-0.1.0/genxai/core/graph/executor.py +516 -0
- genxai_framework-0.1.0/genxai/core/graph/nodes.py +161 -0
- genxai_framework-0.1.0/genxai/core/graph/trigger_runner.py +40 -0
- genxai_framework-0.1.0/genxai/core/memory/__init__.py +19 -0
- genxai_framework-0.1.0/genxai/core/memory/base.py +72 -0
- genxai_framework-0.1.0/genxai/core/memory/embedding.py +327 -0
- genxai_framework-0.1.0/genxai/core/memory/episodic.py +448 -0
- genxai_framework-0.1.0/genxai/core/memory/long_term.py +467 -0
- genxai_framework-0.1.0/genxai/core/memory/manager.py +543 -0
- genxai_framework-0.1.0/genxai/core/memory/persistence.py +297 -0
- genxai_framework-0.1.0/genxai/core/memory/procedural.py +461 -0
- genxai_framework-0.1.0/genxai/core/memory/semantic.py +526 -0
- genxai_framework-0.1.0/genxai/core/memory/shared.py +62 -0
- genxai_framework-0.1.0/genxai/core/memory/short_term.py +303 -0
- genxai_framework-0.1.0/genxai/core/memory/vector_store.py +508 -0
- genxai_framework-0.1.0/genxai/core/memory/working.py +211 -0
- genxai_framework-0.1.0/genxai/core/state/__init__.py +6 -0
- genxai_framework-0.1.0/genxai/core/state/manager.py +293 -0
- genxai_framework-0.1.0/genxai/core/state/schema.py +115 -0
- genxai_framework-0.1.0/genxai/llm/__init__.py +14 -0
- genxai_framework-0.1.0/genxai/llm/base.py +150 -0
- genxai_framework-0.1.0/genxai/llm/factory.py +329 -0
- genxai_framework-0.1.0/genxai/llm/providers/__init__.py +1 -0
- genxai_framework-0.1.0/genxai/llm/providers/anthropic.py +249 -0
- genxai_framework-0.1.0/genxai/llm/providers/cohere.py +274 -0
- genxai_framework-0.1.0/genxai/llm/providers/google.py +334 -0
- genxai_framework-0.1.0/genxai/llm/providers/ollama.py +147 -0
- genxai_framework-0.1.0/genxai/llm/providers/openai.py +257 -0
- genxai_framework-0.1.0/genxai/llm/routing.py +83 -0
- genxai_framework-0.1.0/genxai/observability/__init__.py +6 -0
- genxai_framework-0.1.0/genxai/observability/logging.py +327 -0
- genxai_framework-0.1.0/genxai/observability/metrics.py +494 -0
- genxai_framework-0.1.0/genxai/observability/tracing.py +372 -0
- genxai_framework-0.1.0/genxai/performance/__init__.py +39 -0
- genxai_framework-0.1.0/genxai/performance/cache.py +256 -0
- genxai_framework-0.1.0/genxai/performance/pooling.py +289 -0
- genxai_framework-0.1.0/genxai/security/audit.py +304 -0
- genxai_framework-0.1.0/genxai/security/auth.py +315 -0
- genxai_framework-0.1.0/genxai/security/cost_control.py +528 -0
- genxai_framework-0.1.0/genxai/security/default_policies.py +44 -0
- genxai_framework-0.1.0/genxai/security/jwt.py +142 -0
- genxai_framework-0.1.0/genxai/security/oauth.py +226 -0
- genxai_framework-0.1.0/genxai/security/pii.py +366 -0
- genxai_framework-0.1.0/genxai/security/policy_engine.py +82 -0
- genxai_framework-0.1.0/genxai/security/rate_limit.py +341 -0
- genxai_framework-0.1.0/genxai/security/rbac.py +247 -0
- genxai_framework-0.1.0/genxai/security/validation.py +218 -0
- genxai_framework-0.1.0/genxai/tools/__init__.py +21 -0
- genxai_framework-0.1.0/genxai/tools/base.py +383 -0
- genxai_framework-0.1.0/genxai/tools/builtin/__init__.py +131 -0
- genxai_framework-0.1.0/genxai/tools/builtin/communication/__init__.py +15 -0
- genxai_framework-0.1.0/genxai/tools/builtin/communication/email_sender.py +159 -0
- genxai_framework-0.1.0/genxai/tools/builtin/communication/notification_manager.py +167 -0
- genxai_framework-0.1.0/genxai/tools/builtin/communication/slack_notifier.py +118 -0
- genxai_framework-0.1.0/genxai/tools/builtin/communication/sms_sender.py +118 -0
- genxai_framework-0.1.0/genxai/tools/builtin/communication/webhook_caller.py +136 -0
- genxai_framework-0.1.0/genxai/tools/builtin/computation/__init__.py +15 -0
- genxai_framework-0.1.0/genxai/tools/builtin/computation/calculator.py +101 -0
- genxai_framework-0.1.0/genxai/tools/builtin/computation/code_executor.py +183 -0
- genxai_framework-0.1.0/genxai/tools/builtin/computation/data_validator.py +259 -0
- genxai_framework-0.1.0/genxai/tools/builtin/computation/hash_generator.py +129 -0
- genxai_framework-0.1.0/genxai/tools/builtin/computation/regex_matcher.py +201 -0
- genxai_framework-0.1.0/genxai/tools/builtin/data/__init__.py +15 -0
- genxai_framework-0.1.0/genxai/tools/builtin/data/csv_processor.py +213 -0
- genxai_framework-0.1.0/genxai/tools/builtin/data/data_transformer.py +299 -0
- genxai_framework-0.1.0/genxai/tools/builtin/data/json_processor.py +233 -0
- genxai_framework-0.1.0/genxai/tools/builtin/data/text_analyzer.py +288 -0
- genxai_framework-0.1.0/genxai/tools/builtin/data/xml_processor.py +175 -0
- genxai_framework-0.1.0/genxai/tools/builtin/database/__init__.py +15 -0
- genxai_framework-0.1.0/genxai/tools/builtin/database/database_inspector.py +157 -0
- genxai_framework-0.1.0/genxai/tools/builtin/database/mongodb_query.py +196 -0
- genxai_framework-0.1.0/genxai/tools/builtin/database/redis_cache.py +167 -0
- genxai_framework-0.1.0/genxai/tools/builtin/database/sql_query.py +145 -0
- genxai_framework-0.1.0/genxai/tools/builtin/database/vector_search.py +163 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/__init__.py +17 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/directory_scanner.py +214 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/file_compressor.py +237 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/file_reader.py +102 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/file_writer.py +122 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/image_processor.py +186 -0
- genxai_framework-0.1.0/genxai/tools/builtin/file/pdf_parser.py +144 -0
- genxai_framework-0.1.0/genxai/tools/builtin/test/__init__.py +15 -0
- genxai_framework-0.1.0/genxai/tools/builtin/test/async_simulator.py +62 -0
- genxai_framework-0.1.0/genxai/tools/builtin/test/data_transformer.py +99 -0
- genxai_framework-0.1.0/genxai/tools/builtin/test/error_generator.py +82 -0
- genxai_framework-0.1.0/genxai/tools/builtin/test/simple_math.py +94 -0
- genxai_framework-0.1.0/genxai/tools/builtin/test/string_processor.py +72 -0
- genxai_framework-0.1.0/genxai/tools/builtin/web/__init__.py +15 -0
- genxai_framework-0.1.0/genxai/tools/builtin/web/api_caller.py +161 -0
- genxai_framework-0.1.0/genxai/tools/builtin/web/html_parser.py +330 -0
- genxai_framework-0.1.0/genxai/tools/builtin/web/http_client.py +187 -0
- genxai_framework-0.1.0/genxai/tools/builtin/web/url_validator.py +162 -0
- genxai_framework-0.1.0/genxai/tools/builtin/web/web_scraper.py +170 -0
- genxai_framework-0.1.0/genxai/tools/custom/my_test_tool_2.py +9 -0
- genxai_framework-0.1.0/genxai/tools/dynamic.py +105 -0
- genxai_framework-0.1.0/genxai/tools/mcp_server.py +167 -0
- genxai_framework-0.1.0/genxai/tools/persistence/__init__.py +6 -0
- genxai_framework-0.1.0/genxai/tools/persistence/models.py +55 -0
- genxai_framework-0.1.0/genxai/tools/persistence/service.py +322 -0
- genxai_framework-0.1.0/genxai/tools/registry.py +227 -0
- genxai_framework-0.1.0/genxai/tools/security/__init__.py +11 -0
- genxai_framework-0.1.0/genxai/tools/security/limits.py +214 -0
- genxai_framework-0.1.0/genxai/tools/security/policy.py +20 -0
- genxai_framework-0.1.0/genxai/tools/security/sandbox.py +248 -0
- genxai_framework-0.1.0/genxai/tools/templates.py +435 -0
- genxai_framework-0.1.0/genxai/triggers/__init__.py +19 -0
- genxai_framework-0.1.0/genxai/triggers/base.py +104 -0
- genxai_framework-0.1.0/genxai/triggers/file_watcher.py +75 -0
- genxai_framework-0.1.0/genxai/triggers/queue.py +68 -0
- genxai_framework-0.1.0/genxai/triggers/registry.py +82 -0
- genxai_framework-0.1.0/genxai/triggers/schedule.py +66 -0
- genxai_framework-0.1.0/genxai/triggers/webhook.py +68 -0
- genxai_framework-0.1.0/genxai/utils/__init__.py +1 -0
- genxai_framework-0.1.0/genxai/utils/tokens.py +295 -0
- genxai_framework-0.1.0/genxai_framework.egg-info/PKG-INFO +495 -0
- genxai_framework-0.1.0/genxai_framework.egg-info/SOURCES.txt +208 -0
- genxai_framework-0.1.0/genxai_framework.egg-info/dependency_links.txt +1 -0
- genxai_framework-0.1.0/genxai_framework.egg-info/entry_points.txt +2 -0
- genxai_framework-0.1.0/genxai_framework.egg-info/requires.txt +64 -0
- genxai_framework-0.1.0/genxai_framework.egg-info/top_level.txt +2 -0
- genxai_framework-0.1.0/pyproject.toml +204 -0
- genxai_framework-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
# GenXAI Framework - Architecture Documentation
|
|
2
|
+
|
|
3
|
+
**Version:** 1.0.0
|
|
4
|
+
**Last Updated:** January 28, 2026
|
|
5
|
+
**Status:** Design Phase
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
1. [Overview](#overview)
|
|
12
|
+
2. [Core Architecture Principles](#core-architecture-principles)
|
|
13
|
+
3. [Layered Architecture](#layered-architecture)
|
|
14
|
+
4. [Core Components](#core-components)
|
|
15
|
+
5. [Technology Stack](#technology-stack)
|
|
16
|
+
6. [Key Differentiators](#key-differentiators)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Overview
|
|
21
|
+
|
|
22
|
+
GenXAI is an advanced agentic AI framework designed to surpass existing solutions (CrewAI, AutoGen, BeeAI) while incorporating graph-based agent orchestration similar to LangGraph. The framework is built with extensibility in mind, supporting both code-based and no-code interfaces.
|
|
23
|
+
|
|
24
|
+
### Design Goals
|
|
25
|
+
|
|
26
|
+
- **Superior Capabilities**: More features than existing frameworks
|
|
27
|
+
- **Graph-Based Orchestration**: Complex agent relationships and workflows
|
|
28
|
+
- **No-Code Support**: Visual studio for non-technical users
|
|
29
|
+
- **Enterprise-Ready**: Scalable, observable, and secure
|
|
30
|
+
- **Extensible**: Plugin architecture for easy customization
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Core Architecture Principles
|
|
35
|
+
|
|
36
|
+
Following Google's design philosophy:
|
|
37
|
+
|
|
38
|
+
1. **Separation of Concerns**: Clear boundaries between layers
|
|
39
|
+
2. **Interface-Driven Design**: Well-defined interfaces for all components
|
|
40
|
+
3. **Plugin Architecture**: Extensible without core modifications
|
|
41
|
+
4. **Configuration as Code**: YAML/JSON for no-code, Python/TypeScript for code
|
|
42
|
+
5. **Event-Driven**: Asynchronous, scalable, and reactive
|
|
43
|
+
6. **Cloud-Native**: Containerized, distributed, and observable
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Layered Architecture
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
51
|
+
│ PRESENTATION LAYER │
|
|
52
|
+
│ ┌──────────────────┐ ┌──────────────────┐ │
|
|
53
|
+
│ │ No-Code Studio │ │ CLI/SDK/API │ │
|
|
54
|
+
│ │ (Visual Editor) │ │ (Code Interface)│ │
|
|
55
|
+
│ └──────────────────┘ └──────────────────┘ │
|
|
56
|
+
└─────────────────────────────────────────────────────────────┘
|
|
57
|
+
↓
|
|
58
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
59
|
+
│ ORCHESTRATION LAYER │
|
|
60
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
61
|
+
│ │ Graph Engine │ │ Flow Control │ │ State Manager│ │
|
|
62
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
63
|
+
└─────────────────────────────────────────────────────────────┘
|
|
64
|
+
↓
|
|
65
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
66
|
+
│ AGENT LAYER │
|
|
67
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
68
|
+
│ │ Agent Runtime│ │ Memory System│ │ Tool Registry│ │
|
|
69
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
70
|
+
└─────────────────────────────────────────────────────────────┘
|
|
71
|
+
↓
|
|
72
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
73
|
+
│ COMMUNICATION LAYER │
|
|
74
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
75
|
+
│ │ Message Bus │ │ Event Stream │ │ Pub/Sub │ │
|
|
76
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
77
|
+
└─────────────────────────────────────────────────────────────┘
|
|
78
|
+
↓
|
|
79
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
80
|
+
│ INFRASTRUCTURE LAYER │
|
|
81
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
82
|
+
│ │ LLM Providers│ │ Vector DBs │ │ Observability│ │
|
|
83
|
+
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
84
|
+
└─────────────────────────────────────────────────────────────┘
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Layer Descriptions
|
|
88
|
+
|
|
89
|
+
#### 1. Presentation Layer
|
|
90
|
+
- **No-Code Studio**: Visual drag-and-drop interface for building workflows
|
|
91
|
+
- **CLI/SDK/API**: Programmatic interfaces for developers
|
|
92
|
+
|
|
93
|
+
#### 2. Orchestration Layer
|
|
94
|
+
- **Graph Engine**: Executes agent workflows as directed graphs
|
|
95
|
+
- **Flow Control**: Manages execution flow, conditions, and loops
|
|
96
|
+
- **State Manager**: Maintains workflow state across executions
|
|
97
|
+
|
|
98
|
+
#### 3. Agent Layer
|
|
99
|
+
- **Agent Runtime**: Executes individual agents
|
|
100
|
+
- **Memory System**: Multi-layered memory (short-term, long-term, episodic, etc.)
|
|
101
|
+
- **Tool Registry**: Manages available tools and capabilities
|
|
102
|
+
|
|
103
|
+
#### 4. Communication Layer
|
|
104
|
+
- **Message Bus**: Agent-to-agent communication
|
|
105
|
+
- **Event Stream**: Event-driven notifications
|
|
106
|
+
- **Pub/Sub**: Broadcast messaging patterns
|
|
107
|
+
|
|
108
|
+
#### 5. Infrastructure Layer
|
|
109
|
+
- **LLM Providers**: Integration with OpenAI, Anthropic, Google, etc.
|
|
110
|
+
- **Vector DBs**: Pinecone, Weaviate, Chroma for embeddings
|
|
111
|
+
- **Observability**: Logging, metrics, tracing
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Core Components
|
|
116
|
+
|
|
117
|
+
### 1. Graph Engine
|
|
118
|
+
|
|
119
|
+
The heart of GenXAI, enabling complex agent orchestration.
|
|
120
|
+
|
|
121
|
+
**Key Features:**
|
|
122
|
+
- Directed graph execution
|
|
123
|
+
- Conditional edges and routing
|
|
124
|
+
- Parallel and sequential execution
|
|
125
|
+
- Cycle detection and handling
|
|
126
|
+
- Dynamic graph modification at runtime
|
|
127
|
+
- Graph versioning and rollback
|
|
128
|
+
- Subgraphs as nodes (composition)
|
|
129
|
+
- A/B testing support
|
|
130
|
+
|
|
131
|
+
**Core Abstractions:**
|
|
132
|
+
```python
|
|
133
|
+
class Node(Protocol):
|
|
134
|
+
id: str
|
|
135
|
+
type: NodeType # Agent, Tool, Condition, Subgraph, Human
|
|
136
|
+
config: Dict[str, Any]
|
|
137
|
+
|
|
138
|
+
class Edge(Protocol):
|
|
139
|
+
source: str
|
|
140
|
+
target: str
|
|
141
|
+
condition: Optional[Callable]
|
|
142
|
+
metadata: Dict[str, Any]
|
|
143
|
+
|
|
144
|
+
class Graph:
|
|
145
|
+
nodes: Dict[str, Node]
|
|
146
|
+
edges: List[Edge]
|
|
147
|
+
state_schema: StateSchema
|
|
148
|
+
|
|
149
|
+
def compile() -> CompiledGraph
|
|
150
|
+
def validate() -> ValidationResult
|
|
151
|
+
def visualize() -> GraphVisualization
|
|
152
|
+
def to_yaml() -> str
|
|
153
|
+
def from_yaml(yaml: str) -> Graph
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### 2. Agent System
|
|
157
|
+
|
|
158
|
+
Advanced agents with learning capabilities.
|
|
159
|
+
|
|
160
|
+
**Core Properties:**
|
|
161
|
+
- Role, goal, backstory
|
|
162
|
+
- LLM provider configuration
|
|
163
|
+
- Tool access
|
|
164
|
+
- Memory system
|
|
165
|
+
- Guardrails and constraints
|
|
166
|
+
|
|
167
|
+
**Advanced Capabilities:**
|
|
168
|
+
- Self-improvement through feedback
|
|
169
|
+
- Meta-cognition (reasoning about reasoning)
|
|
170
|
+
- Dynamic tool creation
|
|
171
|
+
- Personality profiles
|
|
172
|
+
- Skill trees
|
|
173
|
+
|
|
174
|
+
**Agent Types:**
|
|
175
|
+
- **Reactive Agents**: Respond to immediate inputs
|
|
176
|
+
- **Deliberative Agents**: Plan before acting
|
|
177
|
+
- **Learning Agents**: Improve over time
|
|
178
|
+
- **Collaborative Agents**: Work in teams
|
|
179
|
+
- **Autonomous Agents**: Self-directed goals
|
|
180
|
+
|
|
181
|
+
### 3. Memory System
|
|
182
|
+
|
|
183
|
+
Multi-layered memory architecture inspired by human cognition.
|
|
184
|
+
|
|
185
|
+
**Memory Types:**
|
|
186
|
+
|
|
187
|
+
1. **Short-Term Memory**
|
|
188
|
+
- Recent conversation context
|
|
189
|
+
- Limited capacity (configurable)
|
|
190
|
+
- Automatic eviction based on importance
|
|
191
|
+
|
|
192
|
+
2. **Long-Term Memory**
|
|
193
|
+
- Persistent knowledge storage
|
|
194
|
+
- Vector-based semantic search
|
|
195
|
+
- Importance-based retention
|
|
196
|
+
|
|
197
|
+
3. **Episodic Memory**
|
|
198
|
+
- Past experiences and interactions
|
|
199
|
+
- Graph-based storage for relationships
|
|
200
|
+
- Learning from past episodes
|
|
201
|
+
|
|
202
|
+
4. **Semantic Memory**
|
|
203
|
+
- Factual knowledge base
|
|
204
|
+
- Entity and relationship extraction
|
|
205
|
+
- Knowledge graph integration
|
|
206
|
+
|
|
207
|
+
5. **Procedural Memory**
|
|
208
|
+
- Learned procedures and skills
|
|
209
|
+
- Step-by-step execution
|
|
210
|
+
- Success rate tracking
|
|
211
|
+
|
|
212
|
+
6. **Working Memory**
|
|
213
|
+
- Active processing space
|
|
214
|
+
- Temporary computations
|
|
215
|
+
- Context assembly
|
|
216
|
+
|
|
217
|
+
**Memory Consolidation:**
|
|
218
|
+
- Periodic optimization (like sleep)
|
|
219
|
+
- Move important memories to long-term
|
|
220
|
+
- Forget low-importance memories
|
|
221
|
+
- Extract patterns and insights
|
|
222
|
+
|
|
223
|
+
### 4. Tool System
|
|
224
|
+
|
|
225
|
+
Extensible tool architecture with 50+ built-in tools.
|
|
226
|
+
|
|
227
|
+
**Tool Categories:**
|
|
228
|
+
- Web (search, scraping, API calls)
|
|
229
|
+
- Database (SQL, vector, graph queries)
|
|
230
|
+
- File (read, write, parse)
|
|
231
|
+
- Computation (calculator, code execution, data analysis)
|
|
232
|
+
- Communication (email, Slack, SMS)
|
|
233
|
+
- Custom (user-defined tools)
|
|
234
|
+
|
|
235
|
+
**Advanced Features:**
|
|
236
|
+
- Tool composition and chaining
|
|
237
|
+
- Dynamic tool creation
|
|
238
|
+
- Tool marketplace
|
|
239
|
+
- OpenAPI integration
|
|
240
|
+
- Automatic tool selection
|
|
241
|
+
|
|
242
|
+
### 5. Communication Layer
|
|
243
|
+
|
|
244
|
+
Multiple communication patterns for agent interaction.
|
|
245
|
+
|
|
246
|
+
**Patterns:**
|
|
247
|
+
- Point-to-point messaging
|
|
248
|
+
- Broadcast to groups
|
|
249
|
+
- Request-reply
|
|
250
|
+
- Negotiation protocols
|
|
251
|
+
- Voting mechanisms
|
|
252
|
+
- Auction-based task allocation
|
|
253
|
+
|
|
254
|
+
### 6. State Management
|
|
255
|
+
|
|
256
|
+
Robust state handling across workflow executions.
|
|
257
|
+
|
|
258
|
+
**Features:**
|
|
259
|
+
- Schema-based state validation
|
|
260
|
+
- State persistence and recovery
|
|
261
|
+
- Checkpointing for long-running workflows
|
|
262
|
+
- State versioning
|
|
263
|
+
- Rollback capabilities
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Technology Stack
|
|
268
|
+
|
|
269
|
+
### Core Framework
|
|
270
|
+
- **Language**: Python 3.11+ (type hints, async/await)
|
|
271
|
+
- **Validation**: Pydantic v2
|
|
272
|
+
- **Concurrency**: AsyncIO
|
|
273
|
+
- **Testing**: Pytest, pytest-asyncio
|
|
274
|
+
|
|
275
|
+
### Storage
|
|
276
|
+
- **Metadata**: PostgreSQL
|
|
277
|
+
- **Caching**: Redis
|
|
278
|
+
- **Vector DB**: Pinecone, Weaviate, Chroma
|
|
279
|
+
- **Graph DB**: Neo4j
|
|
280
|
+
- **Object Storage**: S3-compatible
|
|
281
|
+
|
|
282
|
+
### LLM Providers
|
|
283
|
+
- OpenAI (GPT-4, GPT-3.5)
|
|
284
|
+
- Anthropic (Claude 3)
|
|
285
|
+
- Google (Gemini)
|
|
286
|
+
- Cohere
|
|
287
|
+
- Local models (Ollama, LM Studio)
|
|
288
|
+
|
|
289
|
+
### Observability
|
|
290
|
+
- **Tracing**: OpenTelemetry
|
|
291
|
+
- **Metrics**: Prometheus
|
|
292
|
+
- **Visualization**: Grafana
|
|
293
|
+
- **Logging**: Structured logging with context
|
|
294
|
+
|
|
295
|
+
### No-Code Studio
|
|
296
|
+
- **Frontend**: React + TypeScript
|
|
297
|
+
- **Graph Visualization**: ReactFlow / D3.js
|
|
298
|
+
- **Styling**: TailwindCSS
|
|
299
|
+
- **State Management**: Zustand / Redux
|
|
300
|
+
- **Backend**: FastAPI
|
|
301
|
+
- **Real-time**: WebSockets
|
|
302
|
+
|
|
303
|
+
### DevOps
|
|
304
|
+
- **Containerization**: Docker
|
|
305
|
+
- **Orchestration**: Kubernetes
|
|
306
|
+
- **CI/CD**: GitHub Actions
|
|
307
|
+
- **Infrastructure**: Terraform
|
|
308
|
+
- **Monitoring**: Datadog / New Relic
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## Key Differentiators
|
|
313
|
+
|
|
314
|
+
### vs CrewAI
|
|
315
|
+
- ✅ Graph-based workflows (not just sequential)
|
|
316
|
+
- ✅ Advanced memory system
|
|
317
|
+
- ✅ No-code interface
|
|
318
|
+
- ✅ Learning agents
|
|
319
|
+
- ✅ Enterprise features
|
|
320
|
+
|
|
321
|
+
### vs AutoGen
|
|
322
|
+
- ✅ Simpler configuration
|
|
323
|
+
- ✅ Rich built-in tools
|
|
324
|
+
- ✅ Visual workflow builder
|
|
325
|
+
- ✅ Better state management
|
|
326
|
+
- ✅ Multi-modal support
|
|
327
|
+
|
|
328
|
+
### vs BeeAI
|
|
329
|
+
- ✅ More sophisticated agents
|
|
330
|
+
- ✅ Complex orchestration
|
|
331
|
+
- ✅ Advanced memory
|
|
332
|
+
- ✅ Enterprise scalability
|
|
333
|
+
- ✅ Comprehensive tooling
|
|
334
|
+
|
|
335
|
+
### vs LangGraph
|
|
336
|
+
- ✅ All graph features PLUS:
|
|
337
|
+
- ✅ No-code interface
|
|
338
|
+
- ✅ Advanced agent capabilities
|
|
339
|
+
- ✅ Multi-layered memory
|
|
340
|
+
- ✅ Tool marketplace
|
|
341
|
+
- ✅ Learning and adaptation
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Design Patterns
|
|
346
|
+
|
|
347
|
+
### 1. Plugin Pattern
|
|
348
|
+
All major components (tools, memory stores, LLM providers) use plugin architecture for extensibility.
|
|
349
|
+
|
|
350
|
+
### 2. Factory Pattern
|
|
351
|
+
Agents, tools, and graphs are created through factories for consistency.
|
|
352
|
+
|
|
353
|
+
### 3. Observer Pattern
|
|
354
|
+
Event-driven communication using pub/sub for loose coupling.
|
|
355
|
+
|
|
356
|
+
### 4. Strategy Pattern
|
|
357
|
+
Interchangeable algorithms for tool selection, memory retrieval, etc.
|
|
358
|
+
|
|
359
|
+
### 5. Decorator Pattern
|
|
360
|
+
Guardrails, logging, and monitoring wrap core functionality.
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## Scalability Considerations
|
|
365
|
+
|
|
366
|
+
### Horizontal Scaling
|
|
367
|
+
- Stateless agent execution
|
|
368
|
+
- Distributed task queue
|
|
369
|
+
- Load balancing across instances
|
|
370
|
+
|
|
371
|
+
### Vertical Scaling
|
|
372
|
+
- Efficient memory management
|
|
373
|
+
- Lazy loading of resources
|
|
374
|
+
- Connection pooling
|
|
375
|
+
|
|
376
|
+
### Performance Optimization
|
|
377
|
+
- Caching strategies
|
|
378
|
+
- Batch processing
|
|
379
|
+
- Async I/O throughout
|
|
380
|
+
- Database query optimization
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
## Security Architecture
|
|
385
|
+
|
|
386
|
+
### Authentication & Authorization
|
|
387
|
+
- API key management
|
|
388
|
+
- Role-based access control (RBAC)
|
|
389
|
+
- OAuth 2.0 integration
|
|
390
|
+
|
|
391
|
+
### Data Protection
|
|
392
|
+
- Encryption at rest and in transit
|
|
393
|
+
- PII detection and masking
|
|
394
|
+
- GDPR compliance (right to forget)
|
|
395
|
+
|
|
396
|
+
### Guardrails
|
|
397
|
+
- Input validation
|
|
398
|
+
- Output filtering
|
|
399
|
+
- Rate limiting
|
|
400
|
+
- Cost controls
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## Extensibility Points
|
|
405
|
+
|
|
406
|
+
1. **Custom Agents**: Extend base agent class
|
|
407
|
+
2. **Custom Tools**: Implement tool interface
|
|
408
|
+
3. **Custom Memory Stores**: Implement memory interface
|
|
409
|
+
4. **Custom LLM Providers**: Implement provider interface
|
|
410
|
+
5. **Custom Node Types**: Extend graph node types
|
|
411
|
+
6. **Custom Communication Patterns**: Extend message bus
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
## Future Enhancements
|
|
416
|
+
|
|
417
|
+
### Phase 2 Features
|
|
418
|
+
- Multi-agent reinforcement learning
|
|
419
|
+
- Federated learning across agents
|
|
420
|
+
- Agent marketplace
|
|
421
|
+
- Workflow templates marketplace
|
|
422
|
+
- Mobile app for monitoring
|
|
423
|
+
|
|
424
|
+
### Phase 3 Features
|
|
425
|
+
- Voice interface for agents
|
|
426
|
+
- AR/VR visualization
|
|
427
|
+
- Blockchain integration for trust
|
|
428
|
+
- Quantum computing readiness
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## References
|
|
433
|
+
|
|
434
|
+
- [LangGraph Documentation](https://langchain-ai.github.io/langgraph/)
|
|
435
|
+
- [CrewAI Documentation](https://docs.crewai.com/)
|
|
436
|
+
- [AutoGen Documentation](https://microsoft.github.io/autogen/)
|
|
437
|
+
- [Google SRE Book](https://sre.google/books/)
|
|
438
|
+
- [Designing Data-Intensive Applications](https://dataintensive.net/)
|
|
439
|
+
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
**Document Status**: Living document, updated as architecture evolves.
|